/*
Theme Name: Walraven.com
Description: WordPress theme for www.walraven.com
Author: Uprise <arjan@uprise.nl>
Author URI: http://www.uprise.nl
Version: 1.0
*/
@import "//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css";
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

/*
 * Vertical Rhythmn in Sass with helpful mixins and helpers
 * Author:  Gaya Kessler
 * Version: 0.0.1
 * Date:    2014-05-18
 */
/*
----------------------------------------------------------------

readyclass.css
Gravity Forms Ready Class Pre-Set Helper Styles
http://www.gravityforms.com
updated: July 12, 2016 10:11 PM GMT-5

Gravity Forms is a Rocketgenius project
copyright 2008-2016 Rocketgenius Inc.
http: //www.rocketgenius.com
this may not be redistributed without the
express written permission of the author.

NOTE: DO NOT EDIT THIS FILE! MAKE ANY MODIFICATIONS IN YOUR
THEME STYLESHEET. THIS FILE IS REPLACED DURING AUTO-UPDATES
AND ANY CHANGES MADE HERE WILL BE OVERWRITTEN.

If you need to make extensive customizations,
copy the contents of this file to your theme
style sheet for editing. Then, go to the form
settings page & set the 'output CSS' option
to no.

----------------------------------------------------------------
*/
@media only screen and (min-width: 641px) {
  .gform_wrapper .top_label li.gfield.gf_inline {
    vertical-align: top;
    width: auto !important;
    margin: 0;
    padding-right: 16px;
    float: none !important;
    display: -moz-inline-stack;
    display: inline-block; }
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=url].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=number].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=password].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=url].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=number].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=password].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=url].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=number].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=password].small {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].datepicker.medium {
    width: 96px !important; }
  .gform_wrapper .top_label li.gfield.gf_inline select {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline textarea {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_hour input[type=text],
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_minute input[type=text] {
    width: 70% !important; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_hour,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_minute,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_month,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_day,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_year {
    width: 50px; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_ampm {
    width: auto; }
  .gform_wrapper li.gf_inline div.ginput_container {
    white-space: nowrap !important; }
  .gform_wrapper li.gf_inline div.ginput_container.ginput_container_date label {
    display: block !important; }
  .gform_wrapper .top_label li.gfield.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    width: 50%; }
  .gform_wrapper .top_label li.gfield.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half {
    padding-right: 16px;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(ul.gfield_radio li input):not(ul.gfield_checkbox li input):not(.datepicker),
  .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker) {
    width: 100% !important;
    margin: 8px 0 0 0;
    padding-left: 0;
    padding-right: 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half:before {
    content: "";
    display: block;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_right_half:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_right_half {
    width: calc(50% - 8px); }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half {
    margin-right: 16px; }
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.large,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.large {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_left_half textarea,
  .gform_wrapper .top_label li.gfield.gf_right_half textarea {
    width: 98%; }
  .gform_wrapper .top_label li.gfield.gf_left_half input.small,
  .gform_wrapper .top_label li.gfield.gf_right_half input.small {
    width: 35%; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gsection,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gsection {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield.gsection.gf_right_half,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield.gsection.gf_right_half,
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_right_half {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half {
    padding: 0 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_left_half + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_right_half + .gform_footer {
    clear: both; }
  /* 3 columns */
  .gform_wrapper .top_label li.gfield.gf_left_third,
  .gform_wrapper .top_label li.gfield.gf_middle_third,
  .gform_wrapper .top_label li.gfield.gf_right_third {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_left_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_middle_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 33.3%; }
  .gform_wrapper .top_label li.gfield.gf_right_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 33.4%; }
  .gform_wrapper .top_label li.gfield.gf_left_third,
  .gform_wrapper .top_label li.gfield.gf_middle_third,
  .gform_wrapper .top_label li.gfield.gf_right_third {
    margin-bottom: 8px; }
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select.large,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select.large,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select.large {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']):not(.ginput_quantity),
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']):not(.ginput_quantity),
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']):not(.ginput_quantity),
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select {
    width: 100% !important; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_third,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_middle_third {
    width: calc(33.3% - 16px) !important;
    margin-right: 16px; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_right_third {
    width: 33.4%; }
  .gform_wrapper .top_label li.gfield.gf_right_third:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_left_third + li.gsection,
  .gform_wrapper .top_label li.gfield.gf_right_third + li.gsection {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_left_third + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_middle_third + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_right_third + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_left_third + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_middle_third + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_right_third + .gform_footer {
    clear: both; }
  /* 4 columns - quarters */
  .gform_wrapper .top_label li.gfield.gf_first_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_second_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_third_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 25%;
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter,
  .gform_wrapper .top_label li.gfield.gf_second_quarter,
  .gform_wrapper .top_label li.gfield.gf_third_quarter,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter {
    margin-bottom: 8px; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) select {
    width: 100% !important; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_first_quarter,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_second_quarter,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_third_quarter,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_fourth_quarter {
    width: 24.5%; }
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_first_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_first_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_first_quarter select.large,
  .gform_wrapper .top_label li.gfield.gf_second_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_second_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_second_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_second_quarter select.large,
  .gform_wrapper .top_label li.gfield.gf_third_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_third_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_third_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_third_quarter select.large,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter select.large {
    width: 97.5%; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter + li.gsection,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter + li.gsection {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_second_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_third_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_first_quarter + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_second_quarter + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_third_quarter + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter + .gform_footer {
    clear: both; }
  /* horizontal list columns - displayed inline */
  .gform_wrapper .top_label li ul.gfield_checkbox,
  .gform_wrapper .top_label li ul.gfield_radio {
    width: calc(100% + 16px); }
  .gform_wrapper ul.gform_fields:not(.top_label) li ul.gfield_checkbox,
  .gform_wrapper ul.gform_fields:not(.top_label)li ul.gfield_radio {
    width: calc(70% + 16px); }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li {
    width: 50%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li {
    width: 33.3%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0 0 2px 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li label,
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li label,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li label,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li label,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li label,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li label {
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle; }
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li {
    width: 25%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_radio li {
    width: 20%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio,
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_radio {
    overflow: hidden; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_2col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_3col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_4col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_5col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_inline label.gfield_label {
    margin: 0 0 10px 0; }
  /* vertical list columns - using CSS columns */
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox {
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label {
    margin: 0 0 10px 0; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 16px);
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2; }
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3; }
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4; }
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 5;
    -moz-column-count: 5;
    column-count: 5; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_radio ul.gfield_radio li label,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_radio ul.gfield_radio li label,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_radio ul.gfield_radio li label,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_radio ul.gfield_radio li label {
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .gform_wrapper li.gfield.gf_list_height_25 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_25 ul.gfield_radio li {
    height: 25px; }
  .gform_wrapper li.gfield.gf_list_height_50 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_50 ul.gfield_radio li {
    height: 50px; }
  .gform_wrapper li.gfield.gf_list_height_75 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_75 ul.gfield_radio li {
    height: 75px; }
  .gform_wrapper li.gfield.gf_list_height_100 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_100 ul.gfield_radio li {
    height: 100px; }
  .gform_wrapper li.gfield.gf_list_height_125 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_125 ul.gfield_radio li {
    height: 125px; }
  .gform_wrapper li.gfield.gf_list_height_150 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_150 ul.gfield_radio li {
    height: 150px; }
  .gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
  .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    width: auto !important;
    float: none !important;
    margin: 0 8px 10px 0;
    display: -moz-inline-stack;
    display: inline-block; }
  html:not[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
  html:not[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    padding-right: 16px !important; }
  html[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
  html[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    padding-left: 16px !important; }
  .gform_wrapper li.gf_hide_ampm div.gfield_time_ampm {
    display: none !important; }
  .gform_wrapper li.gsection.gf_scroll_text {
    height: 240px;
    width: calc(100% - 16px);
    padding: 16px;
    background-color: #fff;
    overflow-y: scroll;
    overflow-x: hidden;
    border: 1px solid #CCC;
    border-bottom: 1px solid #CCC !important; }
  .gform_wrapper .top_label li.gsection.gf_scroll_text h2.gsection_title {
    margin: 10px 10px 0 8px !important; }
  .gform_wrapper.gf_browser_gecko .top_label li.gsection.gf_scroll_text h2.gsection_title,
  .gform_wrapper.gf_browser_chrome .top_label li.gsection.gf_scroll_text h2.gsection_title {
    margin: 0 10px 0 8px !important; }
  .gform_wrapper .top_label li.gsection.gf_scroll_text .gsection_description {
    margin: 10px;
    font-size: 12px; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul li,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul li {
    list-style-type: disc !important;
    margin: 0 0 8px;
    overflow: visible;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul {
    list-style-type: disc !important;
    margin: 16px 0 16px 18px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li {
    list-style-type: decimal !important;
    overflow: visible;
    margin: 0 0 8px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol {
    list-style-type: decimal !important;
    margin: 16px 0 18px 32px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul li {
    list-style-type: disc !important;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul {
    margin: 16px 0 16px 18px; }
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul li {
    margin: 0 0 8px; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl {
    margin: 0 0 18px 0;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl dt {
    font-weight: 700; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl dd {
    margin: 0 0 16px 18px; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_green,
  .gform_wrapper li.gfield.gfield_html.gf_alert_red,
  .gform_wrapper li.gfield.gfield_html.gf_alert_yellow,
  .gform_wrapper li.gfield.gfield_html.gf_alert_gray,
  .gform_wrapper li.gfield.gfield_html.gf_alert_blue {
    border-radius: 3px;
    margin: 20px 0 !important;
    padding: 20px !important; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_green {
    border: 1px solid #97B48A;
    background-color: #CBECA0;
    text-shadow: #DFB 1px 1px;
    color: #030; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_red {
    border: 1px solid #CFADB3;
    background-color: #FAF2F5;
    text-shadow: #FFF 1px 1px;
    color: #832525; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_yellow {
    border: 1px solid #E6DB55;
    background-color: #FFFBCC;
    text-shadow: #FCFAEA 1px 1px;
    color: #222; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_gray {
    border: 1px solid #CCC;
    background-color: #EEE;
    text-shadow: #FFF 1px 1px;
    color: #424242; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_blue {
    border: 1px solid #a7c2e7;
    background-color: #D1E4F3;
    text-shadow: #E0F1FF 1px 1px;
    color: #314475; }
  div.gform_confirmation_wrapper.gf_confirmation_simple_yellow {
    margin: 30px 0;
    max-width: 99%;
    border-top: 1px solid #E6DB55;
    border-bottom: 1px solid #E6DB55;
    padding: 32px;
    background-color: #FFFBCC;
    color: #424242;
    font-size: 25px; }
  div.gform_confirmation_wrapper.gf_confirmation_simple_gray {
    margin: 30px 0;
    max-width: 99%;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 32px;
    background-color: #EAEAEA;
    color: #424242;
    font-size: 25px; }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient {
    position: relative;
    background-color: #FFFBD2;
    margin: 30px 0;
    border: 1px solid #E6DB55;
    -webkit-box-shadow: 0px 0px 5px rgba(221, 215, 131, 0.75);
    box-shadow: 0px 0px 5px rgba(221, 215, 131, 0.75); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient div.gforms_confirmation_message {
    margin: 0;
    padding: 40px;
    max-width: 99%;
    font-size: 28px;
    border-top: 2px solid #FFF;
    border-bottom: 1px solid #E6DB55;
    background-color: #FFFBCC;
    color: #424242;
    background: #fffce5;
    background: -webkit-gradient(linear, left top, left bottom, from(#fffce5), to(#fff9bf));
    background: linear-gradient(to bottom, #fffce5 0%, #fff9bf 100%); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient {
    position: relative;
    background-color: #f1fcdf;
    margin: 30px 0;
    border: 1px solid #a7c37c;
    -webkit-box-shadow: 0px 0px 5px rgba(86, 122, 86, 0.4);
    box-shadow: 0px 0px 5px rgba(86, 122, 86, 0.4); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient div.gforms_confirmation_message {
    margin: 0;
    padding: 40px;
    max-width: 99%;
    font-size: 28px;
    border-top: 2px solid #effade;
    border-bottom: 1px solid #a7c37c;
    background-color: #FFFBCC;
    text-shadow: #DFB 1px 1px;
    color: #030;
    background: #dbf2b7;
    background: -webkit-gradient(linear, left top, left bottom, from(#dbf2b7), to(#b4d088));
    background: linear-gradient(to bottom, #dbf2b7 0%, #b4d088 100%); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:before,
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:after,
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:before,
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:after {
    z-index: -1;
    position: absolute;
    content: "";
    bottom: 15px;
    left: 10px;
    width: 50%;
    top: 80%;
    max-width: 40%;
    background: rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2);
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:after,
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:after {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
    right: 10px;
    left: auto; }
  /* simple horizontal form ready class - very simple implementation for up to 5 fields and a button */
  .gform_wrapper form.gf_simple_horizontal {
    width: calc(100% -16px);
    margin: 0 auto; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body,
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    position: relative; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body {
    width: auto;
    max-width: 75%; }
  .gform_wrapper form.gf_simple_horizontal div.ginput_container,
  .gform_wrapper form.gf_simple_horizontal ul li.gfield {
    margin-top: 0 !important; }
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    width: auto;
    max-width: 25%;
    padding: 0;
    margin: 0; }
  body:not(rtl) .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    text-align: left; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield {
    display: -moz-inline-stack;
    display: inline-block;
    padding-right: 16px;
    height: auto; }
  .gform_wrapper form.gf_simple_horizontal label.gfield_label,
  .gform_wrapper form.gf_simple_horizontal .ginput_complex label,
  .gform_wrapper form.gf_simple_horizontal .gfield_description:not(.validation_message) {
    display: block;
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: -9000px; }
  /* simple horizontal form - set a width for one field */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(1) {
    width: 100%; }
  /* simple horizontal form - set a width for two fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(1) {
    width: 50%; }
  /* simple horizontal form - set a width for three fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(1) {
    width: 33.3333%; }
  /* simple horizontal form - set a width for four fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(4),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(4):nth-last-child(1) {
    width: 25%; }
  /* simple horizontal form - simple horizontal form - set a width for five fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(5),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(4),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(4):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(5):nth-last-child(1) {
    width: 20%; }
  /* simple horizontal form - set a width for six fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(6),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(5),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(4),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(4):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(5):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(6):nth-last-child(1) {
    width: 16.6%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label.form_sublabel_below li.gfield {
    vertical-align: middle; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label.form_sublabel_above li.gfield {
    vertical-align: middle; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.small,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.medium,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.large {
    width: 100%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.small,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.medium,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.large {
    width: 100%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type="submit"],
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type="button"],
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type="image"] {
    height: auto; }
  .gform_wrapper form.gf_simple_horizontal .top_label .gfield_error {
    margin-bottom: 0; }
  /* end media query */ }

header, section, footer, aside, nav, article, figure {
  display: block;
  margin: 0px;
  padding: 0px; }

html {
  color: #000; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
  font-style: inherit;
  font-weight: inherit; }

del, ins {
  text-decoration: none; }

li {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: baseline; }

sub {
  vertical-align: baseline; }

legend {
  color: #000; }

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit; }

input, button, textarea, select {
  *font-size: 100%; }

html {
  font-size: 62.5%;
  /* Sets up the Base 10 stuff */ }

html body, html input, html textarea, html button {
  font-size: 1.6rem;
  line-height: 2.4rem; }

button,
.button, .button--yellow, input[type=submit], .gform_footer .gform_button, .header__sub__mobile__button, .dealer-form__submit, .doormat-question__content__button, .footer-newsletter__form__submit,
.footer-newsletter__form .gform_button,
.footer-newsletter form__submit,
.footer-newsletter form .gform_button, .filter-items__label__button, .slideshow__slide__button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24px;
  line-height: 2.4rem; }

h1, .doormat-question__content__heading, .content__main-heading {
  font-size: 35px;
  font-size: 3.5rem;
  line-height: 52.5px;
  line-height: 5.25rem; }

h2 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 36px;
  line-height: 3.6rem; }

h3 {
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 28.5px;
  line-height: 2.85rem; }

h4 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24px;
  line-height: 2.4rem; }

h5 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem; }

h6 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem; }

body, .content h2, .specs-table th.heading .desc,
.specs-table th.table-header .desc,
.specs-table .label .desc, .contact-section__heading {
  font-family: 'proxima-nova', Arial, sans-serif;
  font-weight: 400; }

.doormat-dealer__content__heading, .searchform__submit, .list-categories__item__count, .list-categories__item__text__heading, .list-persons__item__heading, .list-products__item__label, .see-also__item, .show-more-filters {
  font-family: 'proxima-nova', Arial, sans-serif;
  font-weight: 600; }

a.bigger-link, strong, button,
.button, .button--yellow, input[type=submit], .gform_body .gfield label,
.mktoForm .gfield label, .gform_footer .gform_button, .mktoForm label, .header__sub__mobile__button, .doormat-dealer__content__subheading, .dealer-form__submit, .doormat-question__content__button, .footer-navigation .column h4, .footer-newsletter__form__submit,
.footer-newsletter__form .gform_button,
.footer-newsletter form__submit,
.footer-newsletter form .gform_button, .content__section__intro, .content h3, .content h4, .filter__section__heading, .filter-items__label__button, .free-support__heading, .list-green-text__item__content__heading, .list-image__item__heading, .list-image-top__item__heading, .list-persons__item__location, .list-products__item__heading, .main-image__heading, .slideshow__slide__heading, .slideshow__slide__button, .specs-table th.heading,
.specs-table th.table-header,
.specs-table .label, .specs-table-wrapper__show-more, .specs-list__heading, .product-installation__heading, .product-complementary__heading,
.product-alternative__heading {
  font-family: 'proxima-nova', Arial, sans-serif;
  font-weight: 700; }

body {
  color: #000; }

body,
img {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }

p {
  margin: 0 0 2.4rem; }

a {
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  color: #006950;
  cursor: pointer;
  outline: none;
  text-decoration: none; }
  a:hover {
    color: #004535; }
  a.bigger-link {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem; }
  a.underline {
    border-bottom: 1px solid #006950; }

h1,
h2,
h3 {
  margin-bottom: 2.4rem; }

h1 {
  color: #006950; }

h2 {
  color: #006950; }

h4 {
  margin-bottom: 0; }

h5 {
  margin-bottom: 0; }

h6 {
  margin-bottom: 0; }

em {
  font-style: italic; }

del {
  text-decoration: line-through; }

abbr {
  border-bottom: 1px solid #a3bdb5;
  color: #006950;
  cursor: help; }

sup,
superscript {
  vertical-align: sup; }

sub,
subscript {
  vertical-align: sub; }

.highlight {
  color: #ffed00; }

html,
body {
  background: #fff;
  -webkit-font-smoothing: antialiased;
  height: 100%;
  margin: 0;
  padding: 0; }
  html.no-scrolling,
  body.no-scrolling {
    overflow-y: hidden; }

body {
  padding-top: 189px; }
  @media screen and (max-width: 960px) {
    body {
      padding-top: 144px; } }
  @media screen and (max-width: 768px) {
    body {
      padding-top: 196px; } }

.wrapper {
  max-width: 1220px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  position: relative; }
  .wrapper::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1220px) {
    .wrapper {
      max-width: 100%; } }
  .wrapper--archive {
    margin-bottom: 4.8rem; }

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.alignleft {
  float: left;
  margin: 0 15px 1.2rem; }

.alignright {
  float: right;
  margin: 0 0 1.2rem 15px; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.center {
  text-align: center; }

.clear {
  clear: both; }

.more-link {
  -webkit-transition: background-position 0.2s ease-in-out;
  transition: background-position 0.2s ease-in-out;
  display: inline-block;
  padding: 0.6rem 0 0.6rem 45px;
  position: relative; }
  @media screen and (max-width: 460px) {
    .post-type-archive-product .category-overview .more-link,
    .tax-product-category .category-overview .more-link {
      padding-left: 0; } }
  .more-link:before {
    background: #006950;
    content: '';
    height: 32px;
    left: 0;
    position: absolute;
    top: 1px;
    -webkit-transition: background-color .2s ease-in-out;
    transition: background-color .2s ease-in-out;
    width: 32px; }
    @media screen and (max-width: 460px) {
      .post-type-archive-product .category-overview .more-link:before,
      .tax-product-category .category-overview .more-link:before {
        display: none; } }
  .more-link:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    height: 7px;
    left: 11px;
    position: absolute;
    top: 13px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    width: 7px; }
    @media screen and (max-width: 460px) {
      .post-type-archive-product .category-overview .more-link:after,
      .tax-product-category .category-overview .more-link:after {
        display: none; } }
  .more-link--inverse:after {
    left: 13px;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg); }
  .more-link:hover {
    text-decoration: underline; }
    .more-link:hover:before {
      background: #004535; }

.hidden {
  display: none; }

@media screen and (max-width: 320px) {
  figure.alignleft, figure.alignright {
    float: none;
    margin: 1.2rem 0; } }

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

figure.alignleft {
  float: left;
  margin: 0 5px 0 0; }

figure.alignright {
  float: right;
  margin: 0 0 0 5px; }

.hide-for-desktop {
  display: none; }
  @media screen and (max-width: 768px) {
    .hide-for-desktop {
      display: inline-block; } }

#map_canvas {
  height: 250px;
  width: 100%; }

.home-section-list-images {
  display: none; }
  .home-section-list-images .wrapper {
    padding-top: 1.2rem; }

#to-top {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  background: #006950;
  border-radius: 3px;
  bottom: 7.2rem;
  color: #fff;
  display: none;
  padding: 25px 15px 0 15px;
  opacity: 0.8;
  position: fixed;
  right: 7.2rem;
  text-transform: lowercase;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  z-index: 88; }
  @media screen and (max-width: 640px) {
    #to-top {
      right: 20px; } }
  #to-top:hover {
    opacity: 1; }
  #to-top:before {
    color: #fff;
    content: '\f106';
    font-family: "Font Awesome 5 Free", FontAwesome, sans-serif;
    font-weight: 900;
    font-size: 30px;
    position: absolute;
    left: 50%;
    margin-left: -10px;
    top: 0; }

.youtube-video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: 2.4rem; }
  .youtube-video-container iframe,
  .youtube-video-container object,
  .youtube-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

button,
.button {
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  display: inline-block;
  width: auto;
  padding: 1.2rem 20px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border: 0;
  background: #006950;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  button:hover,
  .button:hover {
    background-color: #004535;
    color: #fff; }
  button:active,
  .button:active {
    background-color: #003428;
    color: #fff; }
  button.disabled,
  .button.disabled {
    cursor: default; }
  @media screen and (max-width: 640px) {
    button,
    .button {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }
  button--more:after,
  .button--more:after {
    -webkit-transition: margin 0.2s ease-in-out;
    transition: margin 0.2s ease-in-out;
    background-image: url("../images/icon-arrow-right-white.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px 8px;
    content: '';
    display: inline-block;
    height: 8px;
    margin-left: 5px;
    margin-right: 2px;
    width: 9px; }
  button--more:hover:after,
  .button--more:hover:after {
    margin-left: 7px;
    margin-right: 0; }

.button--yellow {
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  display: inline-block;
  width: auto;
  padding: 1.2rem 20px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border: 0;
  background: #ffed00;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #000; }
  .button--yellow:hover {
    background-color: #004535;
    color: #fff; }
  .button--yellow:active {
    background-color: #003428;
    color: #fff; }
  .button--yellow.disabled {
    cursor: default; }
  @media screen and (max-width: 640px) {
    .button--yellow {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }
  .button--yellow:hover {
    background-color: #fff466;
    color: #000; }

select, .gform_body .gfield select,
.mktoForm .gfield select, .mktoForm select, input,
textarea {
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-color: #e8ecea;
  border-radius: 0;
  border-style: solid;
  border-width: 1px;
  color: #000;
  outline: none;
  padding: 1.2rem 10px; }
  select:focus, .gform_body .gfield select:focus, input:focus,
  textarea:focus {
    border-color: #999999; }
  select:-ms-input-placeholder, .gform_body .gfield select:-ms-input-placeholder, input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: #a9a9a9; }

select, .gform_body .gfield select,
.mktoForm .gfield select, .mktoForm select {
  -webkit-transition: background-position 0.2s ease-in-out;
  transition: background-position 0.2s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("../images/select-arrow.svg");
  background-position: right 10px top 21px;
  background-size: 8px 7px;
  background-repeat: no-repeat;
  border: 1px solid #e8ecea;
  border-radius: 0;
  cursor: pointer;
  line-height: 2.4rem;
  margin: 0;
  padding-right: 34px;
  text-indent: .01px;
  text-overflow: '';
  width: auto; }
  select::-ms-expand, .gform_body .gfield select::-ms-expand,
  .mktoForm .gfield select::-ms-expand, .mktoForm select::-ms-expand {
    display: none; }
  select + label, .gform_body .gfield select + label, .mktoForm .gfield select + label, .mktoForm select + label {
    display: none; }

input[type=checkbox] {
  -webkit-appearance: checkbox;
     -moz-appearance: checkbox;
          appearance: checkbox; }

input[type=radio] {
  -webkit-appearance: radio;
     -moz-appearance: radio;
          appearance: radio; }

input[type=submit],
label {
  cursor: pointer; }

input[type=submit] {
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  display: inline-block;
  width: auto;
  padding: 1.2rem 20px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border: 0;
  background: #006950;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  input[type=submit]:hover {
    background-color: #004535;
    color: #fff; }
  input[type=submit]:active {
    background-color: #003428;
    color: #fff; }
  input[type=submit].disabled {
    cursor: default; }
  @media screen and (max-width: 640px) {
    input[type=submit] {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }

input[type=hidden] {
  display: none !important; }

input.disabled {
  background-color: #d3dbd7;
  color: #e8ecea; }

.gform_wrapper {
  margin-bottom: 2.4rem; }
  .gform_wrapper .gf_progressbar {
    display: none; }

.gform_body,
.mktoForm {
  margin-bottom: 2.4rem; }
  .gform_body::after,
  .mktoForm::after {
    clear: both;
    content: "";
    display: block; }
  .gform_body .gform_fields,
  .mktoForm .gform_fields {
    margin-left: 0; }
  .gform_body .gfield,
  .mktoForm .gfield {
    background: none;
    list-style: none;
    margin-bottom: 1.2rem;
    padding-left: 0; }
    .gform_body .gfield::after,
    .mktoForm .gfield::after {
      clear: both;
      content: "";
      display: block; }
    .gform_body .gfield:before,
    .mktoForm .gfield:before {
      content: '';
      display: none; }
    .gform_body .gfield.gform_hidden,
    .mktoForm .gfield.gform_hidden {
      clear: both;
      display: none; }
    .gform_body .gfield label,
    .mktoForm .gfield label {
      display: block;
      float: none;
      padding: 0.6rem 0;
      width: auto; }
    .gform_body .gfield.hidden_label label,
    .mktoForm .gfield.hidden_label label {
      display: none; }
    .gform_body .gfield input, .gform_body .gfield select, .gform_body .gfield textarea,
    .mktoForm .gfield input,
    .mktoForm .gfield select,
    .mktoForm .gfield textarea {
      width: 100%; }
    .gform_body .gfield .textarea.small,
    .mktoForm .gfield .textarea.small {
      height: 9.6rem; }
    .gform_body .gfield .textarea.medium,
    .mktoForm .gfield .textarea.medium {
      height: 19.2rem; }
    .gform_body .gfield .textarea.large,
    .mktoForm .gfield .textarea.large {
      height: 28.8rem; }
    .gform_body .gfield .gfield_checkbox,
    .gform_body .gfield .gfield_radio,
    .mktoForm .gfield .gfield_checkbox,
    .mktoForm .gfield .gfield_radio {
      margin: 0; }
      .gform_body .gfield .gfield_checkbox li,
      .gform_body .gfield .gfield_radio li,
      .mktoForm .gfield .gfield_checkbox li,
      .mktoForm .gfield .gfield_radio li {
        background: none !important;
        list-style: none;
        padding-left: 0; }
        .gform_body .gfield .gfield_checkbox li:before,
        .gform_body .gfield .gfield_radio li:before,
        .mktoForm .gfield .gfield_checkbox li:before,
        .mktoForm .gfield .gfield_radio li:before {
          content: '';
          display: none; }
      .gform_body .gfield .gfield_checkbox input,
      .gform_body .gfield .gfield_radio input,
      .mktoForm .gfield .gfield_checkbox input,
      .mktoForm .gfield .gfield_radio input {
        background: none;
        border: 0;
        -webkit-box-shadow: none;
                box-shadow: none;
        display: inline;
        margin: 0 10px 0 0;
        padding: 0;
        width: auto; }
      .gform_body .gfield .gfield_checkbox label,
      .gform_body .gfield .gfield_radio label,
      .mktoForm .gfield .gfield_checkbox label,
      .mktoForm .gfield .gfield_radio label {
        display: inline;
        font-weight: normal;
        padding: 0;
        vertical-align: baseline;
        width: auto; }
    .gform_body .gfield.gfield_error,
    .mktoForm .gfield.gfield_error {
      color: #da291c; }
      .gform_body .gfield.gfield_error input[type="text"],
      .mktoForm .gfield.gfield_error input[type="text"] {
        border: 1px solid #da291c; }
    .gform_body .gfield .gfield_required,
    .mktoForm .gfield .gfield_required {
      margin-left: 5px; }
    .gform_body .gfield .gfield_radio li,
    .mktoForm .gfield .gfield_radio li {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-right: 20px; }
    .gform_body .gfield .disabled,
    .mktoForm .gfield .disabled {
      background-color: #d3dbd7;
      color: #e8ecea; }
    .gform_body .gfield .gfield_description,
    .gform_body .gfield .ginput_counter,
    .mktoForm .gfield .gfield_description,
    .mktoForm .gfield .ginput_counter {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 24px;
      line-height: 2.4rem;
      line-height: 1.5em; }

.gform_footer {
  clear: both; }
  .gform_footer::after {
    clear: both;
    content: "";
    display: block; }
  .gform_footer .gform_button {
    -webkit-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
    display: inline-block;
    width: auto;
    padding: 1.2rem 20px;
    color: #fff;
    text-align: center;
    text-decoration: none !important;
    border: 0;
    background: #006950;
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding-left: 50px;
    padding-right: 50px; }
    .gform_footer .gform_button:hover {
      background-color: #004535;
      color: #fff; }
    .gform_footer .gform_button:active {
      background-color: #003428;
      color: #fff; }
    .gform_footer .gform_button.disabled {
      cursor: default; }
    @media screen and (max-width: 640px) {
      .gform_footer .gform_button {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 24px;
        line-height: 2.4rem;
        padding-bottom: 0.6rem;
        padding-top: 0.6rem; } }

.validation_error {
  display: none; }

.mktoForm fieldset {
  margin-bottom: 2.4rem; }

.mktoForm legend {
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 28.5px;
  line-height: 2.85rem;
  font-weight: bold; }

.mktoForm .mktoAsterix {
  display: inline-block; }

.mktoForm label {
  display: block;
  float: none;
  padding: 0.6rem 0;
  width: auto; }

.mktoForm .mktoCheckboxList input {
  display: inline-block;
  float: none;
  margin-right: 5px;
  width: auto; }

.mktoForm .mktoCheckboxList label {
  display: inline-block;
  font-weight: normal; }

.mktoForm input, .mktoForm select, .mktoForm textarea {
  width: 100%; }

.mktoForm .textarea.small {
  height: 9.6rem; }

.mktoForm .textarea.medium {
  height: 19.2rem; }

.mktoForm .textarea.large {
  height: 28.8rem; }

.mktoForm .mktoErrorMsg {
  color: red; }

.checkbox [type="checkbox"]:not(:checked), .checkbox [type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }
  .checkbox [type="checkbox"]:not(:checked) + label, .checkbox [type="checkbox"]:checked + label {
    cursor: pointer;
    display: inline-block;
    padding-left: 2em;
    position: relative; }
    .checkbox [type="checkbox"]:not(:checked) + label:before, .checkbox [type="checkbox"]:checked + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 1.25em;
      width: 1.25em;
      background: #e5e5e5;
      -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
              box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
    .checkbox [type="checkbox"]:not(:checked) + label:after, .checkbox [type="checkbox"]:checked + label:after {
      background-image: url("../images/icon-checkbox-tick.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 14px 14px;
      content: '';
      font-family: Arial, sans-serif;
      height: 14px;
      left: 3px;
      position: absolute;
      top: 3px;
      -webkit-transition: all .2s;
      transition: all .2s;
      width: 14px; }

.checkbox [type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0); }

.checkbox [type="checkbox"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1); }

.checkbox--white [type="checkbox"]:not(:checked), .checkbox--white [type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }
  .checkbox--white [type="checkbox"]:not(:checked) + label, .checkbox--white [type="checkbox"]:checked + label {
    cursor: pointer;
    display: inline-block;
    padding-left: 2em;
    position: relative; }
    .checkbox--white [type="checkbox"]:not(:checked) + label:before, .checkbox--white [type="checkbox"]:checked + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 1.25em;
      width: 1.25em;
      background: #fff;
      -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
              box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
    .checkbox--white [type="checkbox"]:not(:checked) + label:after, .checkbox--white [type="checkbox"]:checked + label:after {
      background-image: url("../images/icon-checkbox-tick.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 14px 14px;
      content: '';
      font-family: Arial, sans-serif;
      height: 14px;
      left: 3px;
      position: absolute;
      top: 3px;
      -webkit-transition: all .2s;
      transition: all .2s;
      width: 14px; }

.checkbox--white [type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0); }

.checkbox--white [type="checkbox"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1); }

.content__section__content .gform_wrapper .gfield_radio li input[type=radio] {
  vertical-align: inherit; }

.content__section__content .gform_wrapper li.gfield ul.gfield_radio li input[type=radio] + input[type=text] {
  font-size: 0.875em !important;
  padding: 0 !important; }

@media screen and (max-width: 600px) {
  .onFormSubmittedFeedback {
    width: 100% !important; } }

div[data-cached-form-url] .formLoader {
  border-top-color: #006950 !important; }

.marketingForm > div {
  max-width: 100% !important; }

.marketingForm p {
  text-align: left !important; }

.marketingForm .notification-container {
  margin: 10px 0;
  border-collapse: collapse;
  width: 600px;
  display: block; }

.marketingForm .notification-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 38px;
  border: 1.44737px solid #CCCCCC;
  border-radius: 0;
  margin-bottom: 10px;
  margin-top: 10px; }

.marketingForm .notification-message-hide {
  display: none; }

.marketingForm table.outer {
  margin-left: 0 !important;
  margin-right: 0 !important; }

.marketingForm .inner [data-editorblocktype] {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.marketingForm .textFormFieldBlock,
.marketingForm .dateTimeFormFieldBlock,
.marketingForm .twoOptionFormFieldBlock,
.marketingForm .optionSetFormFieldBlock,
.marketingForm .multiOptionSetFormFieldBlock,
.marketingForm .lookupFormFieldBlock {
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px; }

.marketingForm label > p {
  margin: 0; }

.marketingForm .textFormFieldBlock label,
.marketingForm .dateTimeFormFieldBlock label,
.marketingForm .lookupFormFieldBlock label,
.marketingForm .twoOptionFormFieldBlock label.block-label,
.marketingForm .optionSetFormFieldBlock label.block-label,
.marketingForm .multiOptionSetFormFieldBlock label.block-label,
.marketingForm div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"],
.marketingForm .textFormFieldBlock label *,
.marketingForm .dateTimeFormFieldBlock label *,
.marketingForm .lookupFormFieldBlock label *,
.marketingForm .twoOptionFormFieldBlock label.block-label *,
.marketingForm .optionSetFormFieldBlock label.block-label *,
.marketingForm .multiOptionSetFormFieldBlock label.block-label *,
.marketingForm .consentBlock label > p {
  font-weight: 600; }

.marketingForm .twoOptionFormFieldBlock div.twooption_checkbox div label,
.marketingForm .twoOptionFormFieldBlock div.twooption_checkbox div label div,
.marketingForm .consentBlock div label p {
  font-weight: 400; }

.marketingForm table.multi .textFormFieldBlock,
.marketingForm table.multi .dateTimeFormFieldBlock,
.marketingForm table.multi .twoOptionFormFieldBlock,
.marketingForm table.multi .optionSetFormFieldBlock,
.marketingForm table.multi .multiOptionSetFormFieldBlock,
.marketingForm table.multi .lookupFormFieldBlock {
  padding: 12px 20px; }

.marketingForm .phoneFormFieldBlock {
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px; }
  .marketingForm .phoneFormFieldBlock label,
  .marketingForm .phoneFormFieldBlock label * {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #323130; }
  .marketingForm .phoneFormFieldBlock label {
    display: inline-block;
    margin-top: 4px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%; }
    .marketingForm .phoneFormFieldBlock label:after {
      width: 22px;
      display: inline-block;
      line-height: 22px;
      text-align: center;
      color: #c33400;
      content: "*"; }
    .marketingForm .phoneFormFieldBlock label > * {
      display: inline-block; }

.marketingForm table.multi .phoneFormFieldBlock {
  padding: 12px 20px; }

.marketingForm .consentBlock {
  padding: 4px 30px; }

.marketingForm .columnContainer {
  width: 100% !important;
  max-width: 600px !important;
  display: table; }
  @media screen and (max-width: 600px) {
    .marketingForm .columnContainer {
      -webkit-box-flex: 0 !important;
          -ms-flex: 0 1 100% !important;
              flex: 0 1 100% !important; } }
  .marketingForm .columnContainer div[data-editorblocktype="Text"] {
    margin: 0 0 2.4rem 0 !important; }
  .marketingForm .columnContainer .textFormFieldBlock,
  .marketingForm .columnContainer .twoOptionFormFieldBlock,
  .marketingForm .columnContainer .phoneFormFieldBlock,
  .marketingForm .columnContainer .optionSetFormFieldBlock,
  .marketingForm .columnContainer .lookupFormFieldBlock,
  .marketingForm .columnContainer .consentBlock,
  .marketingForm .columnContainer .submitButtonWrapper {
    padding: 0 !important;
    margin: 10px 0 1.2rem 0 !important;
    gap: 5px !important; }
    .marketingForm .columnContainer .textFormFieldBlock label,
    .marketingForm .columnContainer .twoOptionFormFieldBlock label,
    .marketingForm .columnContainer .phoneFormFieldBlock label,
    .marketingForm .columnContainer .optionSetFormFieldBlock label,
    .marketingForm .columnContainer .lookupFormFieldBlock label,
    .marketingForm .columnContainer .consentBlock label,
    .marketingForm .columnContainer .submitButtonWrapper label {
      font-family: 'proxima-nova', Arial, sans-serif !important;
      margin-left: 1px; }
  .marketingForm .columnContainer .textFormFieldBlock label::after,
  .marketingForm .columnContainer .twooption_checkbox label::after,
  .marketingForm .columnContainer .dateTimeFormFieldBlock label::after,
  .marketingForm .columnContainer .lookupFormFieldBlock label::after,
  .marketingForm .columnContainer .twoOptionFormFieldBlock label.block-label::after,
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.twooption_checkbox label::after,
  .marketingForm .columnContainer .optionSetFormFieldBlock label.block-label::after,
  .marketingForm .columnContainer .multiOptionSetFormFieldBlock label.block-label::after,
  .marketingForm .columnContainer .eventSession label::after,
  .marketingForm .columnContainer div[data-editorblocktype="Sessions"] h2::after,
  .marketingForm .columnContainer div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"]::after {
    width: 22px;
    display: inline-block;
    line-height: 22px;
    text-align: center;
    color: #c33400;
    content: "*"; }
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.radiobuttons div input,
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.twooption_checkbox div input,
  .marketingForm .columnContainer .optionSetFormFieldBlock div.radiobuttons div input,
  .marketingForm .columnContainer .multiOptionSetFormFieldBlock fieldset > div > input[type="checkbox"],
  .marketingForm .columnContainer .eventSession > div > input[type=radio],
  .marketingForm .columnContainer .eventSession > div > input[type="checkbox"],
  .marketingForm .columnContainer .eventSession > div > input[type="radio"],
  .marketingForm .columnContainer .consentBlock div input {
    margin: 0px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #323130;
    border-radius: 2px;
    accent-color: #006950;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .marketingForm .columnContainer .phoneFormFieldBlock input {
    display: block;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2; }
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.radiobuttons > div,
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.twooption_checkbox > div,
  .marketingForm .columnContainer .optionSetFormFieldBlock div.radiobuttons > div,
  .marketingForm .columnContainer .multiOptionSetFormFieldBlock fieldset > div,
  .marketingForm .columnContainer .consentBlock > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0px;
    gap: 8px; }
  .marketingForm .columnContainer .lookupFormFieldBlock input {
    background-image: url("../images/icon-search-flipped.png") !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: right 5px center !important; }
  .marketingForm .columnContainer .lookupFormFieldBlock ul li {
    list-style: none !important;
    padding-left: 3px; }
    .marketingForm .columnContainer .lookupFormFieldBlock ul li.ui-state-active {
      background: #006950 !important;
      border-color: #006950 !important; }
    .marketingForm .columnContainer .lookupFormFieldBlock ul li:before {
      display: none; }
  .marketingForm .columnContainer .submitButton {
    padding: 1.2rem 50px; }
  .marketingForm .columnContainer select,
  .marketingForm .columnContainer input,
  .marketingForm .columnContainer textarea {
    font-size: 16px !important;
    background: #fff !important;
    font-family: 'proxima-nova', Arial, sans-serif !important; }
  .marketingForm .columnContainer input[type="checkbox"] {
    accent-color: #006950 !important; }

@media print {
  #header-pusher,
  .hide-for-print,
  .header__notify,
  .header__service,
  .header__sub,
  .breadcrumbs,
  .more-link,
  .product-info__content__contact,
  .anchor-nav,
  .specs-table-wrapper__show-more,
  .specs-drawings__links,
  .list-videos,
  .product-installation__tips,
  .product-downloads__contact .button,
  .list-products__item__specs,
  .list-product__more,
  .doormat-dealer,
  .doormat-question,
  .doormat-case-studies,
  .get-in-touch,
  .footer,
  .material-list-mini,
  .navigation,
  .radish-cookie-bar {
    display: none !important; }
  .page-title {
    background: none !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important; }
  .section-products {
    padding-bottom: 0.6rem !important;
    padding-top: 0.6rem !important; }
  .copyright {
    display: block !important;
    margin: 0; }
  .keep-together,
  .specs-drawings,
  .specs-list,
  .product-installation__usage,
  .list-products {
    page-break-inside: avoid; }
  .specs-list {
    page-break-before: always;
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .header {
    -webkit-print-color-adjust: exact;
    height: auto !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important;
    position: static !important; }
    .header .wrapper {
      padding-left: 20px !important;
      padding-right: 20px !important; }
    .header__top {
      padding: 1.2rem 0 !important; }
    .header__contact {
      float: right !important;
      width: auto !important; }
  .specs-table-wrapper {
    max-height: 100% !important; }
    .specs-table-wrapper:after {
      display: none !important; }
    .specs-table-wrapper .specs-table {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem; }
      .specs-table-wrapper .specs-table td {
        padding: 0.6rem 10px; }
      .specs-table-wrapper .specs-table tr:nth-child(even) {
        -webkit-print-color-adjust: exact; }
  .list-pdfs li {
    background: none !important;
    padding: 0 0 0.6rem 0 !important; }
    .list-pdfs li:first-letter {
      text-transform: uppercase; }
  .list-products__item {
    display: block !important; }
  .page-template-tpl-material-list .material-actions,
  .page-template-tpl-material-list .action-bar {
    display: none !important; }
  .page-template-tpl-material-list .material-list tbody tr td {
    border: 0 !important; }
  .page-template-tpl-material-list .material-list tbody tr .cell-details .specs-list {
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .page-template-tpl-material-list .material-list .cell-check {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-details {
    width: 40%; }
    .page-template-tpl-material-list .material-list .cell-details li {
      list-style: square; }
  .page-template-tpl-material-list .material-list .cell-remove {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-amount input {
    border: 0;
    background: none; } }

.show-on-print {
  display: none; }
  @media print {
    .show-on-print {
      display: inline-block !important; } }

table {
  width: 100%;
  margin-bottom: 2.4rem; }

.tablepress thead th,
.tablepress tfoot th,
.tablepress > :where(thead, tfoot) > tr > * {
  background: #006950;
  color: #fff; }

.tablepress thead .dt-orderable-asc:hover,
.tablepress thead .dt-orderable-desc:hover,
.tablepress thead .dt-ordering-asc,
.tablepress thead .dt-ordering-desc {
  background: #006950 !important;
  color: #fff !important; }

.tablepress tbody td,
.tablepress tfoot th {
  background: #e8ecea; }

.tablepress thead .dt-orderable-asc .dt-column-order,
.tablepress thead .dt-orderable-desc .dt-column-order {
  color: #fff !important; }

.dt-search .dt-input {
  width: 300px; }

.dt-input {
  border: 1px solid #a9a9a9;
  display: inline-block; }

select.dt-input {
  display: inline-block !important;
  padding-right: 24px !important;
  background-position: right 10px top 14px !important; }

.paging_simple .paginate_button.previous:before, .paging_simple .paginate_button.next:after {
  color: #000;
  content: '\f104';
  font-family: FontAwesome, sans-serif;
  text-shadow: none; }

.paging_simple .paginate_button.next:after {
  content: '\f105'; }

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  margin-bottom: 1.2rem; }
  .dataTables_wrapper .dataTables_filter select,
  .dataTables_wrapper .dataTables_length select,
  .dataTables_wrapper .dataTables_info select,
  .dataTables_wrapper .dataTables_paginate select {
    background-position: right 4px top 12px;
    padding: 4px 20px 4px 10px; }
  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length input,
  .dataTables_wrapper .dataTables_info input,
  .dataTables_wrapper .dataTables_paginate input {
    margin-left: 5px;
    padding: 4px 5px; }

/*! jQuery UI - v1.12.1 - 2018-08-08
* http://jqueryui.com
* Includes: core.css, tooltip.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none; }

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

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

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

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

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

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

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

/* Icons
----------------------------------*/
.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat; }

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block; }

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

.ui-tooltip {
  position: absolute;
  z-index: 9999;
  max-width: 300px; }

body .ui-tooltip {
  border-width: 2px; }

@media print {
  #header-pusher,
  .hide-for-print,
  .header__notify,
  .header__service,
  .header__sub,
  .breadcrumbs,
  .more-link,
  .product-info__content__contact,
  .anchor-nav,
  .specs-table-wrapper__show-more,
  .specs-drawings__links,
  .list-videos,
  .product-installation__tips,
  .product-downloads__contact .button,
  .list-products__item__specs,
  .list-product__more,
  .doormat-dealer,
  .doormat-question,
  .doormat-case-studies,
  .get-in-touch,
  .footer,
  .material-list-mini,
  .navigation,
  .radish-cookie-bar {
    display: none !important; }
  .page-title {
    background: none !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important; }
  .section-products {
    padding-bottom: 0.6rem !important;
    padding-top: 0.6rem !important; }
  .copyright {
    display: block !important;
    margin: 0; }
  .keep-together,
  .specs-drawings,
  .specs-list,
  .product-installation__usage,
  .list-products {
    page-break-inside: avoid; }
  .specs-list {
    page-break-before: always;
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .header {
    -webkit-print-color-adjust: exact;
    height: auto !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important;
    position: static !important; }
    .header .wrapper {
      padding-left: 20px !important;
      padding-right: 20px !important; }
    .header__top {
      padding: 1.2rem 0 !important; }
    .header__contact {
      float: right !important;
      width: auto !important; }
  .specs-table-wrapper {
    max-height: 100% !important; }
    .specs-table-wrapper:after {
      display: none !important; }
    .specs-table-wrapper .specs-table {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem; }
      .specs-table-wrapper .specs-table td {
        padding: 0.6rem 10px; }
      .specs-table-wrapper .specs-table tr:nth-child(even) {
        -webkit-print-color-adjust: exact; }
  .list-pdfs li {
    background: none !important;
    padding: 0 0 0.6rem 0 !important; }
    .list-pdfs li:first-letter {
      text-transform: uppercase; }
  .list-products__item {
    display: block !important; }
  .page-template-tpl-material-list .material-actions,
  .page-template-tpl-material-list .action-bar {
    display: none !important; }
  .page-template-tpl-material-list .material-list tbody tr td {
    border: 0 !important; }
  .page-template-tpl-material-list .material-list tbody tr .cell-details .specs-list {
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .page-template-tpl-material-list .material-list .cell-check {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-details {
    width: 40%; }
    .page-template-tpl-material-list .material-list .cell-details li {
      list-style: square; }
  .page-template-tpl-material-list .material-list .cell-remove {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-amount input {
    border: 0;
    background: none; } }

.show-on-print {
  display: none; }
  @media print {
    .show-on-print {
      display: inline-block !important; } }

.header {
  -webkit-transition: height 0.2s linear;
  transition: height 0.2s linear;
  background: #e8ecea;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 90; }
  .header::after {
    clear: both;
    content: "";
    display: block; }
  body.admin-bar .header {
    top: 32px; }
  @media screen and (max-width: 640px) {
    .header {
      padding: 0; } }
  .header__top {
    -webkit-transition: padding 0.2s linear;
    transition: padding 0.2s linear;
    background: #006950;
    padding: 2.4rem 0 2.4rem 0; }
    @media screen and (max-width: 460px) {
      .header__top {
        height: auto; } }
    body.site-1 .header__top {
      padding-top: 1.2rem; }
    .header__top .wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      @media screen and (max-width: 640px) {
        .header__top .wrapper {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
    .header__top__right {
      margin-left: auto;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (max-width: 960px) {
        .header__top__right {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          margin: 0;
          -webkit-box-flex: 0;
              -ms-flex: 0 100%;
                  flex: 0 100%;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      @media screen and (max-width: 640px) {
        .header__top__right {
          margin-top: 20px; } }
      @media screen and (max-width: 640px) {
        .header--hidden .header__top__right {
          margin-top: 0; } }
  .header__logo {
    margin-right: 34px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 300px;
            flex: 0 0 300px;
    -webkit-transition: -webkit-box-flex 0.2s;
    transition: -webkit-box-flex 0.2s;
    transition: flex 0.2s;
    transition: flex 0.2s, -webkit-box-flex 0.2s, -ms-flex 0.2s; }
    @media screen and (max-width: 1024px) {
      .header__logo {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 230px;
                flex: 0 0 230px; } }
    @media screen and (max-width: 640px) {
      .header__logo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-right: 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; } }
    .header--hidden .header__logo {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 200px;
              flex: 0 0 200px; }
      @media screen and (max-width: 640px) {
        .header--hidden .header__logo {
          -webkit-box-flex: 0;
              -ms-flex: 0 1 100%;
                  flex: 0 1 100%; } }
    .header__logo h1 {
      display: inline-block;
      margin: 0;
      font-size: 1em;
      line-height: 1em; }
    .header__logo a {
      display: inline-block; }
      @media screen and (max-width: 640px) {
        .header__logo a {
          -webkit-box-flex: 0;
              -ms-flex: 0 1 180px;
                  flex: 0 1 180px; } }
    .header__logo img {
      max-width: 100%;
      height: auto;
      width: 100%; }
  .header__service {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    max-height: 100px; }
    @media screen and (max-width: 960px) {
      .header__service {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%;
        margin-right: 40px; } }
    @media screen and (max-width: 640px) {
      .header__service {
        margin-right: 0; } }
    @media screen and (max-width: 460px) {
      .header__service {
        clear: both;
        display: block;
        float: none;
        width: 100%; } }
    @media screen and (max-width: 320px) {
      .header__service {
        margin-top: 0; } }
    .header--hidden .header__service {
      -webkit-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out;
      margin: 0;
      max-height: 0;
      padding: 0;
      overflow-y: hidden; }
    .header__service__navigation {
      clear: both;
      margin-left: auto; }
      @media screen and (max-width: 960px) {
        .header__service__navigation {
          display: none;
          left: 0;
          position: absolute;
          top: calc(100% + 2.4rem);
          background: #006950;
          width: 100%;
          margin: 0;
          padding: 0 20px; } }
      .header__service__navigation .header__sub__menu {
        background: #e8ecea;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-bottom: 2.4rem;
        padding: 2.4rem; }
  .header__contact {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    color: #fff;
    text-align: right; }
    .header__contact:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .header__contact {
        clear: both;
        display: block;
        float: none;
        width: 100%;
        text-align: left; } }
    @media screen and (max-width: 640px) {
      .header__contact {
        display: none; } }
    .header__contact__item {
      display: block; }
      @media screen and (max-width: 768px) {
        .header__contact__item {
          display: inline-block;
          margin-right: 20px; } }
      .header__contact__item a {
        color: #fff; }
      .header__contact__item__phone {
        background-image: url("../images/icon-telephone-white.svg");
        background-position: left center;
        background-size: 16px 16px;
        background-repeat: no-repeat;
        padding-left: 24px; }
      .header__contact__item__email {
        background-image: url("../images/icon-mail-white.svg");
        background-position: left center;
        background-size: 14px 10px;
        background-repeat: no-repeat;
        padding-left: 24px; }
  .header__sub {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background: #e8ecea;
    max-height: 200px;
    padding: 1.2rem 0; }
    @media screen and (max-width: 640px) {
      .header__sub {
        background: #e5e5e5; } }
    .header__sub .wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .header__sub .wrapper::after {
        display: none; }
    body.site-1 .header__sub {
      display: none; }
    .header--scrolling .header__sub,
    .header--hidden .header__sub {
      -webkit-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out;
      margin: 0;
      max-height: 0;
      padding: 0;
      overflow-y: hidden; }
    .header__sub__language-switcherchoose-country-link {
      margin-right: 10px; }
    @media screen and (max-width: 640px) {
      .header__sub__desktop {
        display: none; } }
    .header__sub__mobile {
      display: none; }
      @media screen and (max-width: 640px) {
        .header__sub__mobile {
          display: block; } }
      .header__sub__mobile__button {
        -webkit-transition: background 0.3s ease-in-out;
        transition: background 0.3s ease-in-out;
        display: inline-block;
        width: auto;
        padding: 1.2rem 20px;
        color: #fff;
        text-align: center;
        text-decoration: none !important;
        border: 0;
        background: #006950;
        cursor: pointer;
        outline: none;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 24px;
        line-height: 2.4rem;
        display: block; }
        .header__sub__mobile__button:hover {
          background-color: #004535;
          color: #fff; }
        .header__sub__mobile__button:active {
          background-color: #003428;
          color: #fff; }
        .header__sub__mobile__button.disabled {
          cursor: default; }
        @media screen and (max-width: 640px) {
          .header__sub__mobile__button {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 24px;
            line-height: 2.4rem;
            padding-bottom: 0.6rem;
            padding-top: 0.6rem; } }
        .header__sub__mobile__button img {
          display: inline-block;
          margin: 0 15px -2px 0; }
    .header__sub__menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      @media screen and (max-width: 960px) {
        .header__sub__menu {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
      @media screen and (max-width: 460px) {
        .header__sub__menu:not(.inline) {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
      @media screen and (max-width: 460px) {
        .header__sub__menu:not(.inline) .header__sub__menu__item {
          -webkit-box-flex: 1;
              -ms-flex: 1 0 100%;
                  flex: 1 0 100%; } }
      @media screen and (max-width: 460px) {
        .header__sub__menu:not(.inline) .header__sub__menu__item a {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding: 0; } }
      .header__sub__menu__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; }
        .header__sub__menu__item img {
          height: 16px;
          width: 16px;
          margin-right: 4px;
          margin-top: 3px; }
        .header__sub__menu__item--custom img {
          height: auto;
          max-height: 24px;
          width: auto;
          margin-right: 0; }
        .header__sub__menu__item a {
          padding: 0 20px;
          color: #000;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          @media screen and (max-width: 640px) {
            .header__sub__menu__item a {
              padding: 0 10px; } }
          .header__sub__menu__item a:before {
            content: '';
            background-repeat: no-repeat;
            display: inline-block;
            height: 16px;
            width: 16px;
            margin-top: 3px;
            margin-right: 4px;
            min-width: 16px; }
          .header__sub__menu__item a:hover {
            text-decoration: underline; }
          .header__sub__menu__item a.downloads:before {
            background-image: url("../images/icon-downloads.svg"); }
          .header__sub__menu__item a.materiallist:before {
            background-image: url("../images/icon-materiallist.svg"); }
          .header__sub__menu__item a.login:before {
            background-image: url("../images/icon-login.svg"); }
          @media screen and (max-width: 768px) {
            .header__sub__menu__item a.language {
              padding: 0; } }
          .header__sub__menu__item a.language:before {
            display: none; }
          .header__sub__menu__item a.language figure {
            display: block; }
            .header__sub__menu__item a.language figure img {
              display: block;
              -o-object-fit: cover;
                 object-fit: cover;
              border-radius: 50%;
              height: 20px;
              width: 20px; }
              @media screen and (max-width: 768px) {
                .header__sub__menu__item a.language figure img {
                  height: 40px;
                  width: 40px;
                  min-width: 40px; } }
        .header__sub__menu__item--custom a {
          padding-left: 0; }
          .header__sub__menu__item--custom a:before {
            display: none; }
  .header__notify {
    background: #ffed00;
    text-align: center; }
    .header__notify__section {
      padding: 1.2rem 0; }
      @media screen and (max-width: 460px) {
        .header__notify__section__action {
          display: block;
          margin-top: 1.2rem; } }
    .header__notify__content {
      margin-right: 40px; }
    .header__notify__choose-link {
      margin-left: 20px; }
    .header__notify a {
      text-decoration: underline; }

#header-pusher {
  height: 18rem; }
  body.site-1 #header-pusher {
    height: 12rem; }
  body.header-hidden #header-pusher {
    height: 14.4rem; }

.doormat-dealer {
  background-image: url("../images/bg-doormat-dealer.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  min-height: 260px;
  position: relative; }
  .doormat-dealer::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 640px) {
    .doormat-dealer {
      min-height: 0; } }
  .doormat-dealer a {
    color: #fff; }
  .doormat-dealer fieldset {
    margin-bottom: 1.2rem; }
  .doormat-dealer__content {
    padding: 4.8rem 0;
    text-align: center; }
    @media screen and (max-width: 640px) {
      .doormat-dealer__content {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .doormat-dealer__content:last-child {
          margin-right: 0; } }
    .doormat-dealer__content__heading {
      color: #fff;
      margin-bottom: 1.2rem; }
    .doormat-dealer__content__subheading {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      margin-bottom: 2.4rem; }
  .doormat-dealer__image {
    background-image: url("../images/_dummy/footer-truck.jpg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 50%; }
    @media screen and (max-width: 640px) {
      .doormat-dealer__image {
        display: none; } }

.dealer-form {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 24px;
  line-height: 2.4rem;
  margin: 0 auto;
  width: 60%; }
  .dealer-form:after {
    clear: both;
    content: ''; }
  .dealer-form__text {
    border: 0;
    margin-right: 2%;
    width: calc( 98% - 185px); }
    @media screen and (max-width: 640px) {
      .dealer-form__text {
        margin-bottom: 1.2rem;
        width: 100%; } }
  .dealer-form__submit {
    -webkit-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
    display: inline-block;
    width: auto;
    padding: 1.2rem 20px;
    color: #fff;
    text-align: center;
    text-decoration: none !important;
    border: 0;
    background: #ffed00;
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    color: #000;
    width: 175px; }
    .dealer-form__submit:hover {
      background-color: #004535;
      color: #fff; }
    .dealer-form__submit:active {
      background-color: #003428;
      color: #fff; }
    .dealer-form__submit.disabled {
      cursor: default; }
    @media screen and (max-width: 640px) {
      .dealer-form__submit {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 24px;
        line-height: 2.4rem;
        padding-bottom: 0.6rem;
        padding-top: 0.6rem; } }
    .dealer-form__submit:hover {
      background-color: #fff466;
      color: #000; }
    @media screen and (max-width: 640px) {
      .dealer-form__submit {
        width: 100%; } }
    .dealer-form__submit:hover {
      background-color: #d0e5da;
      color: #006950; }
    .dealer-form__submit:active {
      background-color: #bad3c6;
      color: #006950; }
    .dealer-form__submit .fa-search {
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1);
      -webkit-filter: FlipH;
              filter: FlipH; }
  .dealer-form .location-detection {
    background-image: url("../images/icon-location.svg");
    background-position: left center;
    background-size: 11px 11px;
    background-repeat: no-repeat;
    padding-left: 15px;
    text-decoration: underline; }

.doormat-question {
  background: #e5e5e5; }
  .doormat-question::after {
    clear: both;
    content: "";
    display: block; }
  .doormat-question__content {
    background-image: url("../images/icon-builder.svg");
    background-position: left 16% top 45%;
    background-size: 101px 122px;
    background-repeat: no-repeat;
    padding: 4.8rem 0;
    text-align: center; }
    @media screen and (max-width: 640px) {
      .doormat-question__content {
        background: none; } }
    .doormat-question__content__heading {
      color: #006950; }
    .doormat-question__content__button {
      -webkit-transition: background 0.3s ease-in-out;
      transition: background 0.3s ease-in-out;
      display: inline-block;
      width: auto;
      padding: 1.2rem 20px;
      color: #fff;
      text-align: center;
      text-decoration: none !important;
      border: 0;
      background: #006950;
      cursor: pointer;
      outline: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      margin-bottom: 2.4rem;
      padding-left: 50px;
      padding-right: 50px; }
      .doormat-question__content__button:hover {
        background-color: #004535;
        color: #fff; }
      .doormat-question__content__button:active {
        background-color: #003428;
        color: #fff; }
      .doormat-question__content__button.disabled {
        cursor: default; }
      @media screen and (max-width: 640px) {
        .doormat-question__content__button {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; } }
      .doormat-question__content__button--mobile {
        display: none; }
      @media screen and (max-width: 640px) {
        .doormat-question__content__button {
          display: inline-block;
          width: 90%; }
          .doormat-question__content__button img {
            margin: 0 15px -2px 0; } }

.doormat-case-studies {
  padding: 3.6rem 0; }
  .doormat-case-studies__heading {
    margin-bottom: 4.8rem;
    text-align: center; }

.get-in-touch {
  background-color: #ededed;
  background-image: url("../images/bg-quick-links.svg");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 7.2rem 0; }
  .get-in-touch__header {
    margin-bottom: 4.8rem; }
    .get-in-touch__header__title {
      font-size: 55px;
      font-size: 5.5rem;
      line-height: 82.5px;
      line-height: 8.25rem;
      text-align: center;
      color: #000;
      font-weight: 300;
      margin-bottom: 0; }
  .get-in-touch__entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 1280px) {
      .get-in-touch__entries {
        margin: 0 auto;
        max-width: 600px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .get-in-touch__entries__entry {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc( 100% / 4 - 40px);
          flex-basis: calc( 100% / 4 - 40px); }
      @media screen and (max-width: 1280px) {
        .get-in-touch__entries__entry {
          -ms-flex-preferred-size: calc( 100% / 2 - 40px);
              flex-basis: calc( 100% / 2 - 40px);
          max-width: 300px;
          margin-bottom: 2.4rem; } }
      @media screen and (max-width: 640px) {
        .get-in-touch__entries__entry {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%; } }
      .get-in-touch__entries__entry__link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
      .get-in-touch__entries__entry__icon {
        margin-bottom: 2.4rem;
        max-width: 150px;
        width: 60%; }
        @media screen and (max-width: 640px) {
          .get-in-touch__entries__entry__icon {
            max-width: 50%;
            width: 50%; } }
      .get-in-touch__entries__entry__label {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 36px;
        line-height: 3.6rem;
        font-weight: 600;
        color: #000;
        width: 100%;
        text-align: center;
        display: block; }
        @media screen and (max-width: 1280px) {
          .get-in-touch__entries__entry__label {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 27px;
            line-height: 2.7rem; } }
        @media screen and (max-width: 640px) {
          .get-in-touch__entries__entry__label {
            font-size: 24px;
            font-size: 2.4rem;
            line-height: 36px;
            line-height: 3.6rem; } }

.footer {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 27px;
  line-height: 2.7rem;
  line-height: 30px;
  background: #006950;
  color: #fff;
  padding: 50px 0 0; }
  .site-1 .footer {
    padding: 0; }
  .footer a {
    color: #fff;
    text-decoration: underline; }
    .footer a:hover {
      color: #e8ecea; }
    .footer a.button {
      color: #000; }

.footer-widgets {
  padding: 50px 0; }
  .footer-widgets .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .footer-widgets__sidebar {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1; }
    .footer-widgets__sidebar__menu {
      -ms-flex-preferred-size: calc( 100% / 12 * 3 - 40px);
          flex-basis: calc( 100% / 12 * 3 - 40px); }
      @media screen and (max-width: 640px) {
        .footer-widgets__sidebar__menu {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          margin-bottom: 2.4rem; } }
      .footer-widgets__sidebar__menu__logo {
        max-width: 180px;
        display: block; }
        .footer-widgets__sidebar__menu__logo img {
          max-width: 100%;
          height: auto; }
      .footer-widgets__sidebar__menu__navigation li {
        line-height: 30px;
        padding-left: 20px;
        position: relative; }
        .footer-widgets__sidebar__menu__navigation li:before {
          content: '';
          height: 7px;
          width: 7px;
          background-color: #fff;
          display: inline-block;
          margin-right: 4px;
          position: absolute;
          top: 12px;
          left: 0; }
    .footer-widgets__sidebar__text, .footer-widgets__sidebar__newsletter {
      -ms-flex-preferred-size: calc( 100% / 12 * 4 - 40px);
          flex-basis: calc( 100% / 12 * 4 - 40px); }
      @media screen and (max-width: 640px) {
        .footer-widgets__sidebar__text, .footer-widgets__sidebar__newsletter {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          margin-bottom: 2.4rem; } }
    .footer-widgets__sidebar__text__tagline {
      font-size: 36px;
      font-size: 3.6rem;
      line-height: 54px;
      line-height: 5.4rem;
      font-weight: 400;
      color: #ffed00; }
    .footer-widgets__sidebar__newsletter .widget-title {
      font-weight: 600; }
    .footer-widgets__sidebar__newsletter form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    .footer-widgets__sidebar__newsletter .gform_body {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .footer-widgets__sidebar__newsletter input[type="submit"] {
      color: #000;
      width: 50px;
      height: 50px;
      padding: 0;
      border-radius: 0;
      position: relative;
      background-color: #ffed00; }
      .footer-widgets__sidebar__newsletter input[type="submit"]:hover {
        background-color: #ffed00; }
    .footer-widgets__sidebar__newsletter__form-header {
      color: #ffed00; }

.footer-navigation {
  border-bottom: 1px solid #e8ecea;
  padding: 4.8rem 0 2.4rem 0; }
  .footer-navigation::after {
    clear: both;
    content: "";
    display: block; }
  .footer-navigation .column {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    margin-bottom: 2.4rem; }
    .footer-navigation .column:last-child {
      margin-right: 0; }
    .footer-navigation .column:nth-child(4n) {
      margin-right: 0; }
    .footer-navigation .column:nth-child(4n+1) {
      clear: left; }
    @media screen and (max-width: 768px) {
      .footer-navigation .column {
        float: left;
        display: block;
        margin-right: 3.52941%;
        width: 48.23529%; }
        .footer-navigation .column:nth-child(4n) {
          margin-right: 3.52941%; }
        .footer-navigation .column:nth-child(4n+1) {
          clear: none; }
        .footer-navigation .column:last-child {
          margin-right: 0; }
        .footer-navigation .column:nth-child(2n) {
          margin-right: 0; }
        .footer-navigation .column:nth-child(2n+1) {
          clear: left; } }
    @media screen and (max-width: 640px) {
      .footer-navigation .column {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .footer-navigation .column:nth-child(2n) {
          margin-right: 7.31707%; }
        .footer-navigation .column:nth-child(2n+1) {
          clear: none; }
        .footer-navigation .column:last-child {
          margin-right: 0; } }
    .footer-navigation .column h4 {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 24px;
      line-height: 2.4rem;
      margin-bottom: 0.6rem; }
    .footer-navigation .column ul {
      margin-left: 17px; }
      .footer-navigation .column ul li {
        list-style: square;
        margin-bottom: 0.6rem; }
        .footer-navigation .column ul li.last {
          margin-top: 3.6rem; }
    .footer-navigation .column--contact h4 {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      margin-bottom: 2.4rem; }
    .footer-navigation .column--contact ul {
      list-style: none;
      margin-left: 0; }
      .footer-navigation .column--contact ul li {
        list-style: none;
        margin-bottom: 1.2rem; }
    .footer-navigation .column--contact__item {
      background-position: left center;
      background-repeat: no-repeat;
      padding-left: 25px; }
      .footer-navigation .column--contact__item--phone {
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 31.5px;
        line-height: 3.15rem;
        background-image: url("../images/icon-telephone-white.svg");
        background-size: 16px 16px; }
      .footer-navigation .column--contact__item--mail {
        background-image: url("../images/icon-mail-white.svg");
        background-size: 14px 10px; }
      .footer-navigation .column--contact__item--contact {
        background-image: url("../images/icon-contact-white.svg");
        background-size: 13px 14px; }

.footer-newsletter {
  padding: 4.8rem 0; }
  @media screen and (max-width: 768px) {
    .footer-newsletter {
      padding-bottom: 0; } }
  .footer-newsletter__form,
  .footer-newsletter form {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 65.89147%;
    overflow: hidden; }
    .footer-newsletter__form:last-child,
    .footer-newsletter form:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .footer-newsletter__form,
      .footer-newsletter form {
        clear: both;
        display: block;
        float: none;
        width: 100%;
        margin-bottom: 2.4rem; } }
    .footer-newsletter__form .gfield_label,
    .footer-newsletter form .gfield_label {
      display: none; }
    .footer-newsletter__form__text,
    .footer-newsletter__form .gform_body,
    .footer-newsletter form__text,
    .footer-newsletter form .gform_body {
      margin-right: 10px;
      width: 60%; }
      @media screen and (max-width: 768px) {
        .footer-newsletter__form__text,
        .footer-newsletter__form .gform_body,
        .footer-newsletter form__text,
        .footer-newsletter form .gform_body {
          width: 50%; } }
      @media screen and (max-width: 640px) {
        .footer-newsletter__form__text,
        .footer-newsletter__form .gform_body,
        .footer-newsletter form__text,
        .footer-newsletter form .gform_body {
          display: block;
          margin-bottom: 10px;
          width: 100%; } }
    .footer-newsletter__form .gform_body,
    .footer-newsletter__form .gform_footer,
    .footer-newsletter form .gform_body,
    .footer-newsletter form .gform_footer {
      clear: none;
      float: left; }
    .footer-newsletter__form__submit,
    .footer-newsletter__form .gform_button,
    .footer-newsletter form__submit,
    .footer-newsletter form .gform_button {
      -webkit-transition: background 0.3s ease-in-out;
      transition: background 0.3s ease-in-out;
      display: inline-block;
      width: auto;
      padding: 1.2rem 20px;
      color: #fff;
      text-align: center;
      text-decoration: none !important;
      border: 0;
      background: #ffed00;
      cursor: pointer;
      outline: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      color: #000; }
      .footer-newsletter__form__submit:hover,
      .footer-newsletter__form .gform_button:hover,
      .footer-newsletter form__submit:hover,
      .footer-newsletter form .gform_button:hover {
        background-color: #004535;
        color: #fff; }
      .footer-newsletter__form__submit:active,
      .footer-newsletter__form .gform_button:active,
      .footer-newsletter form__submit:active,
      .footer-newsletter form .gform_button:active {
        background-color: #003428;
        color: #fff; }
      .footer-newsletter__form__submit.disabled,
      .footer-newsletter__form .gform_button.disabled,
      .footer-newsletter form__submit.disabled,
      .footer-newsletter form .gform_button.disabled {
        cursor: default; }
      @media screen and (max-width: 640px) {
        .footer-newsletter__form__submit,
        .footer-newsletter__form .gform_button,
        .footer-newsletter form__submit,
        .footer-newsletter form .gform_button {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; } }
      .footer-newsletter__form__submit:hover,
      .footer-newsletter__form .gform_button:hover,
      .footer-newsletter form__submit:hover,
      .footer-newsletter form .gform_button:hover {
        background-color: #fff466;
        color: #000; }
      @media screen and (max-width: 640px) {
        .footer-newsletter__form__submit,
        .footer-newsletter__form .gform_button,
        .footer-newsletter form__submit,
        .footer-newsletter form .gform_button {
          display: block;
          width: 100%; } }
  .footer-newsletter__social {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    float: right;
    text-align: right; }
    .footer-newsletter__social:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .footer-newsletter__social {
        clear: both;
        display: block;
        float: none;
        width: 100%; } }
    @media screen and (max-width: 640px) {
      .footer-newsletter__social {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%;
        text-align: left; }
        .footer-newsletter__social:last-child {
          margin-right: 0; } }
  .footer-newsletter .social-links li {
    display: inline-block; }
  .footer-newsletter .social-links__item {
    -webkit-transition: color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out;
    font-size: 35px;
    font-size: 3.5rem;
    line-height: 52.5px;
    line-height: 5.25rem;
    margin-left: 20px; }
    .footer-newsletter .social-links__item:hover {
      color: #e8ecea; }

.footer-bottom {
  background: #fff;
  color: #000;
  padding: 4.8rem 0; }
  @media screen and (max-width: 768px) {
    .footer-bottom {
      padding-bottom: 7.2rem; } }
  .footer-bottom .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .footer-bottom .wrapper:after {
      display: none; }
  .footer-bottom a {
    color: #000;
    text-decoration: underline; }
  .footer-bottom__links {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 60%;
            flex: 0 1 60%; }
    @media screen and (max-width: 768px) {
      .footer-bottom__links {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .footer-bottom__social {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 40%;
            flex: 0 1 40%; }
    @media screen and (max-width: 768px) {
      .footer-bottom__social {
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; } }
    .footer-bottom__social .social-links {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .footer-bottom__social .social-links li {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        margin: 0 20px 0 0; }
        .footer-bottom__social .social-links li a svg {
          display: inline-block;
          height: 30px;
          width: auto;
          fill: #006950; }
        .footer-bottom__social .social-links li a:hover svg {
          fill: #e8ecea; }
    .footer-bottom__social a {
      color: #006950; }

.copyright {
  display: none; }

.disable-cookies {
  display: none; }
  @media screen and (max-width: 768px) {
    .disable-cookies {
      display: inline; } }

.search-block {
  position: relative; }
  .search-block ul {
    margin-bottom: 0 !important; }
  .search-block .pagination {
    margin: 0;
    padding: 1.2rem 30px; }
    .search-block .pagination::after {
      clear: both;
      content: "";
      display: block; }
    .search-block .pagination .prev {
      float: left; }
    .search-block .pagination .next {
      float: right; }

#walraven_ajax_loader {
  position: absolute;
  top: calc( 50% - 50px);
  left: 50%;
  margin: -27px 0 0 -27px;
  width: 54px;
  height: 55px; }

.searchform {
  -webkit-transition: margin-top 0.2s ease-in-out;
  transition: margin-top 0.2s ease-in-out;
  background: #fff;
  position: relative; }
  .searchform::after {
    clear: both;
    content: "";
    display: block; }
  .searchform--content {
    margin-bottom: 4.8rem; }
    .searchform--content fieldset {
      border: 1px solid #e8ecea;
      margin-bottom: 1.2rem;
      position: relative; }
  .searchform__select {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    line-height: 2.4rem;
    background-color: #d3dbd7;
    background-position: right 10px top 19px;
    border: 0;
    color: #000;
    float: left;
    height: 4.8rem;
    padding-bottom: 12px;
    padding-right: 10px;
    padding-top: 10px;
    width: 20%; }
    @media screen and (max-width: 880px) {
      .searchform__select {
        display: none; } }
    .searchform__select:hover {
      background-position: right 10px top 21px; }
  .searchform .twitter-typeahead {
    float: left;
    margin: 0;
    width: 100%;
    background: #fff; }
  .searchform__text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    line-height: 2.4rem;
    background: none;
    border: 0;
    display: block;
    padding: 4px 30px 4px 15px;
    width: 100%;
    min-height: 32px; }
    body.no-search .searchform__text {
      float: left;
      margin: 0;
      width: 79%; }
  .searchform__submit {
    border: 0;
    border-radius: 0;
    color: #000;
    padding: 0 10px;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 4.8rem;
    background: #fff;
    border-left: 1px solid #cce1dc; }
    @media screen and (max-width: 640px) {
      .searchform__submit {
        background-position: right 10px top 50%;
        text-indent: 0;
        padding-right: 15px;
        width: auto; } }
    .searchform__submit .fa-search {
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1);
      -webkit-filter: FlipH;
              filter: FlipH; }
    .searchform__submit__text {
      display: none; }
  .searchform .search-suggestion {
    font-style: italic; }

.navigation {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  margin-top: 20px;
  -webkit-transition: margin-top 0.2s;
  transition: margin-top 0.2s; }
  @media screen and (max-width: 960px) {
    .navigation {
      display: none;
      position: absolute;
      top: 68px;
      margin-top: 0;
      padding-bottom: 20px;
      overflow-y: scroll;
      overflow-x: hidden; } }
  @media screen and (max-width: 640px) {
    .navigation {
      top: 119px; } }
  .header--hidden .navigation {
    margin-top: 0; }
    @media screen and (max-width: 960px) {
      .header--hidden .navigation {
        padding: 0 20px;
        position: fixed;
        top: 90px;
        height: calc(100% - 110px); } }
  .navigation__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    /**
         * General menu item styling
         */
    /**
         * Styling sub menu.
         * Since there are more than one sub menu's, this styling only applies to the first 'layer'
         *
         * Use focus-within for accessibility, this makes the menu keyboard friendly.
         */ }
    @media screen and (max-width: 960px) {
      .navigation__list {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        display: block; } }
    .navigation__list a[href="#"], .navigation__list a[href=""], .navigation__list a:not([href]) {
      cursor: default; }
    .navigation__list .menu-item > a {
      line-height: 3rem;
      padding-bottom: 10px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .navigation__list .menu-item a {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      color: #fff; }
    .navigation__list > .menu-item {
      border-bottom: 1px solid transparent;
      /**
             * This has to be a separate selector because of... what else IE and Edge.
             * IE and Edge don't recognize :focus-within, therefore it has to be a separate selector.
             */ }
      .navigation__list > .menu-item-has-children {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item-has-children {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
        .navigation__list > .menu-item-has-children:hover:after, .navigation__list > .menu-item-has-children:focus-within:after {
          border-top-color: #fff; }
        .navigation__list > .menu-item-has-children:after {
          content: "";
          border: 5px solid transparent;
          border-top-color: #dfeeff;
          border-top-color: rgba(255, 255, 255, 0.5);
          margin-left: 20px; }
          @media screen and (max-width: 960px) {
            .navigation__list > .menu-item-has-children:after {
              display: none; } }
        .navigation__list > .menu-item-has-children > a {
          font-size: 20px;
          font-size: 2rem;
          line-height: 30px;
          line-height: 3rem; }
          @media screen and (max-width: 960px) {
            .navigation__list > .menu-item-has-children > a {
              -webkit-box-flex: 1;
                  -ms-flex: 1 0 100%;
                      flex: 1 0 100%;
              border-bottom: 1px solid transparent;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-pack: justify;
                  -ms-flex-pack: justify;
                      justify-content: space-between;
              -webkit-box-align: center;
                  -ms-flex-align: center;
                      align-items: center; } }
          .navigation__list > .menu-item-has-children > a:after {
            display: none; }
            @media screen and (max-width: 960px) {
              .navigation__list > .menu-item-has-children > a:after {
                content: "";
                border: 5px solid transparent;
                border-top-color: #dfeeff;
                border-top-color: rgba(255, 255, 255, 0.5);
                margin-left: 20px;
                display: block; } }
      .navigation__list > .menu-item:hover, .navigation__list > .menu-item.focus-within {
        border-bottom-color: #fff; }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item:hover, .navigation__list > .menu-item.focus-within {
            border-bottom-color: transparent; } }
        .navigation__list > .menu-item:hover > .sub-menu,
        .navigation__list > .menu-item:hover > .sub-menu:before, .navigation__list > .menu-item.focus-within > .sub-menu,
        .navigation__list > .menu-item.focus-within > .sub-menu:before {
          opacity: 1;
          visibility: visible;
          overflow: visible; }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item:hover > a, .navigation__list > .menu-item.focus-within > a {
            border-bottom-color: #fff; } }
      .navigation__list > .menu-item:focus-within > .sub-menu,
      .navigation__list > .menu-item:focus-within > .sub-menu:before {
        opacity: 1;
        visibility: visible;
        overflow: visible; }
      .navigation__list > .menu-item > .sub-menu {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        top: 30px;
        right: 0;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s ease .15s;
        transition: all .3s ease .15s;
        padding-top: 20px;
        /**
                 * Apply the green full width background.
                 */
        /**
                 * Make the first sub menu link bold.
                 */ }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item > .sub-menu {
            position: static;
            display: none;
            visibility: visible;
            opacity: 1;
            padding: 0 20px 10px;
            -webkit-transition: none;
            transition: none; } }
        .navigation__list > .menu-item > .sub-menu:before {
          height: 100%;
          content: "";
          background: #006950;
          width: 200vw;
          position: absolute;
          left: -100vw;
          z-index: -1;
          visibility: hidden;
          -webkit-transition: all .3s ease .15s;
          transition: all .3s ease .15s; }
        .navigation__list > .menu-item > .sub-menu > .menu-item {
          margin-top: 20px; }
          .navigation__list > .menu-item > .sub-menu > .menu-item:not(:last-of-type) {
            margin-right: 4.8rem; }
          .navigation__list > .menu-item > .sub-menu > .menu-item > a {
            font-weight: 600; }
      @media screen and (max-width: 960px) {
        .navigation__list > .menu-item .sub-menu .sub-menu {
          padding-left: 20px; } }
      .navigation__list > .menu-item .sub-menu .sub-menu a {
        color: #d3dbd7; }
        .navigation__list > .menu-item .sub-menu .sub-menu a:hover {
          color: #fff; }

.navigation-label {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: none; }
  @media screen and (max-width: 960px) {
    .navigation-label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding-top: 4px;
      text-align: right;
      margin-left: auto; } }
  @media screen and (max-width: 640px) {
    .navigation-label {
      text-align: center;
      margin-top: 0;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 70px;
              flex: 0 1 70px; } }
  @media screen and (max-width: 320px) {
    .navigation-label {
      padding: 0; } }
  .navigation-label__button {
    display: inline-block;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: auto;
    min-width: 78px; }
    .navigation-label__button::after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 640px) {
      .navigation-label__button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        min-width: auto; } }
    @media screen and (max-width: 320px) {
      .navigation-label__button {
        min-width: auto; } }
    .navigation-label__button__label {
      color: #fff;
      float: left;
      padding-top: 6px; }
      @media screen and (max-width: 640px) {
        .navigation-label__button__label {
          float: none;
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1;
          width: 100%;
          text-align: right; } }
    .navigation-label__button__bars {
      background: #fff;
      float: right;
      height: 2px;
      margin-left: 10px;
      margin-top: 17px;
      position: relative;
      width: 20px;
      -webkit-transition: 0.5s;
      transition: 0.5s; }
      @media screen and (max-width: 640px) {
        .navigation-label__button__bars {
          float: none;
          margin-left: 0;
          margin-top: 0;
          top: -13px; } }
      @media screen and (max-width: 320px) {
        .navigation-label__button__bars {
          margin: 0;
          top: -14px; } }
      .navigation-label__button__bars:before, .navigation-label__button__bars:after {
        background: #fff;
        content: '';
        display: block;
        height: 2px;
        width: 20px;
        opacity: .99;
        position: absolute;
        -webkit-transition: 0.25s;
        transition: 0.25s;
        z-index: 1; }
      .navigation-label__button__bars:before {
        top: 7px; }
      .navigation-label__button__bars:after {
        top: -7px; }
  .navigation-label.active .menu-bars {
    background: transparent; }
    .navigation-label.active .menu-bars:before {
      top: 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .navigation-label.active .menu-bars:after {
      top: 0;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }

.breadcrumbs {
  -webkit-transition: padding 0.2s linear;
  transition: padding 0.2s linear;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  padding-bottom: 20px;
  padding-top: 20px;
  color: #d3dbd7;
  border-bottom: 1px solid #c0c1c2;
  margin-bottom: 2.4rem; }
  .breadcrumbs a {
    color: #c0c1c2; }
    .breadcrumbs a:hover {
      border-color: #004535; }
  .breadcrumbs .breadcrumb_last {
    color: #000; }

.tt-dropdown-menu {
  background: #fff;
  padding: 10px 0;
  width: 400px;
  z-index: 9999;
  border: 1px solid #e8ecea;
  margin-top: -2px;
  border-radius: 0 0 4px 4px; }
  .searchform-content .tt-dropdown-menu {
    width: 100%; }
  .tt-dropdown-menu .tt-dataset-autocomplete {
    border-top: 1px solid #d3dbd7;
    padding-top: 10px; }
    .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion {
      clear: both;
      overflow: hidden;
      padding-left: 80px; }
      .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion img {
        float: left;
        margin-left: -70px; }
      .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion .text {
        padding-top: 5px; }
        .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion .text--no-image {
          margin-left: -70px; }
      .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion .overview {
        border: 0;
        margin-bottom: 0; }
  .tt-dropdown-menu .tt-suggestion {
    cursor: pointer;
    padding: 0.6rem 10px; }
    .tt-dropdown-menu .tt-suggestion p {
      padding: 0;
      margin: 0; }
  .tt-dropdown-menu .tt-cursor {
    background: #d3dbd7; }

.searchform-content .twitter-typeahead {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 82.94574%; }
  .searchform-content .twitter-typeahead:last-child {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .searchform-content .twitter-typeahead {
      float: left;
      display: block;
      margin-right: 3.52941%;
      width: 100%; }
      .searchform-content .twitter-typeahead:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 320px) {
    .searchform-content .twitter-typeahead {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%;
      margin-bottom: 1.2rem; }
      .searchform-content .twitter-typeahead:last-child {
        margin-right: 0; } }

.tt-hint {
  display: none !important; }

.anchor-nav {
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 640px) {
    .anchor-nav {
      display: none; } }
  .anchor-nav .wrapper {
    background: #006950;
    padding: 20px 20px calc( 20px - 0.6rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .anchor-nav__label {
    font-size: 20px;
    font-size: 2rem;
    line-height: 30px;
    line-height: 3rem;
    font-weight: 600;
    color: #fff;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
        flex-basis: calc( 100% / 12 * 4 - 20px);
    min-width: 250px;
    padding-right: 20px;
    display: none; }
  .anchor-nav .anchor-nav__items {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    margin: 0; }
    .anchor-nav .anchor-nav__items li {
      display: inline-block; }
      .anchor-nav .anchor-nav__items li:before {
        display: none; }
  .anchor-nav--sticky {
    width: 100% !important;
    left: 0;
    z-index: 10;
    margin-bottom: 0;
    margin-top: 88px;
    -webkit-transition: margin-top 0.2s;
    transition: margin-top 0.2s; }
    body.header-hidden .anchor-nav--sticky {
      margin-top: 0; }
    .anchor-nav--sticky .anchor-nav__label {
      display: block; }
    .anchor-nav--sticky .anchor-nav__items {
      max-width: 1220px;
      margin: 0 auto;
      border-radius: 10px; }
  .anchor-nav__item {
    display: inline-block;
    margin-right: 20px;
    color: #fff; }
    .anchor-nav__item--current, .anchor-nav__item:hover {
      color: #ffed00; }
  .anchor-nav__productgroup-code {
    color: #fff; }

.pagination {
  clear: both;
  margin: 2.4rem 0;
  text-align: center; }
  .page-template-tpl-downloads .pagination {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .pagination .page-numbers {
    border: 1px solid #d3dbd7;
    display: inline-block;
    margin: 0 4px;
    padding: 2px 10px; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      background: #e5e5e5; }
  .pagination .current {
    background: #006950;
    border-color: #006950;
    color: #fff; }
    .pagination .current__label {
      display: inline-block;
      margin-right: 10px; }
    .pagination .current__select {
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; }

.page-title {
  margin-bottom: 2.4rem; }
  .page-title h1 {
    color: #006950;
    margin: 0; }

.content {
  margin-top: 2.4rem; }
  .content__main-heading {
    color: #000;
    margin-bottom: 0; }
    body.site-1 .content__main-heading {
      margin-top: 2.4rem; }
  .content__section {
    margin-bottom: 2.4rem; }
    .content__section::after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 640px) {
      .content__section {
        margin-bottom: 0; } }
    .content__section--lightgrey {
      background: #e8ecea;
      padding-bottom: 2.4rem;
      padding-top: 2.4rem;
      margin-bottom: 0; }
    .content__section--white {
      padding-top: 2.4rem; }
    .content__section__meta {
      font-style: italic;
      margin-top: -1.2rem; }
      body.single .content__section__meta {
        border-bottom: 1px solid #e8ecea;
        margin-bottom: 2.4rem;
        padding-bottom: 1.2rem; }
    .content__section__content-wrapper {
      display: grid;
      grid-template-columns: 780px 1fr;
      grid-column-gap: 40px; }
      @media screen and (max-width: 768px) {
        .content__section__content-wrapper {
          display: block; } }
    .content__section__content {
      border-bottom: 1px solid #e8ecea;
      margin-bottom: 2.4rem; }
      .content__section__content::after {
        clear: both;
        content: "";
        display: block; }
      @media screen and (max-width: 960px) {
        .content__section__content {
          padding-right: 0; } }
      .content__section__content:after {
        clear: both;
        content: ''; }
      .content__section__content--has-image::after {
        clear: both;
        content: "";
        display: block; }
      .content__section__content--has-image .content__section__content__image {
        float: left;
        display: block;
        margin-right: 2.32558%;
        width: 23.25581%; }
        .content__section__content--has-image .content__section__content__image:last-child {
          margin-right: 0; }
      .content__section__content--has-image .content__section__content__text {
        float: left;
        display: block;
        margin-right: 2.32558%;
        width: 74.4186%; }
        .content__section__content--has-image .content__section__content__text:last-child {
          margin-right: 0; }
      .content__section__content--has-image .content__section__meta {
        margin-top: 0; }
      .content__section__content .search-term {
        background: #fdecc0;
        padding: 3px; }
      .content__section__content a {
        text-decoration: underline; }
        .blog .content__section__content a {
          text-decoration: none; }
  .content h2 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 36px;
    line-height: 3.6rem;
    color: #006950;
    margin-bottom: 2.4rem; }
  .content h3 {
    font-size: 19px;
    font-size: 1.9rem;
    line-height: 28.5px;
    line-height: 2.85rem;
    color: #006950;
    margin-bottom: 2.4rem; }
  .content h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem;
    color: #000;
    margin-bottom: 0; }
  .content img {
    max-width: 100%;
    height: auto; }
  .content ul,
  .content ol {
    margin: 0 0 2.4rem 30px; }
    .content ul ul,
    .content ul ol,
    .content ol ul,
    .content ol ol {
      margin-bottom: 1.2rem; }
  .content ol {
    margin-left: 25px; }
  .content ul li,
  .content ol ul li {
    background: none;
    list-style: none;
    margin-bottom: 0.6rem;
    padding-left: 20px;
    position: relative; }
    .content ul li:before,
    .content ol ul li:before {
      background: #006950;
      content: '';
      height: 7px;
      left: 0;
      position: absolute;
      top: 8px;
      width: 7px; }
  .content ol ul li:before,
  .content ul ul li:before {
    background: #7f7f7f; }
  .content ol li,
  .content ul ol li {
    background: none;
    list-style-type: decimal;
    margin-bottom: 1.2rem;
    padding-left: 0; }
  .content hr {
    background: #e8ecea;
    border: 0;
    height: 1px; }
  .content .gallery {
    margin-bottom: 2.4rem; }
    .content .gallery::after {
      clear: both;
      content: "";
      display: block; }
    .content .gallery .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 31.78295%;
      margin-bottom: 2.4rem; }
      .content .gallery .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery .gallery-item:nth-child(3n) {
        margin-right: 0; }
      .content .gallery .gallery-item:nth-child(3n+1) {
        clear: left; }
    .content .gallery-columns-2 .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 48.83721%; }
      .content .gallery-columns-2 .gallery-item:nth-child(3n) {
        margin-right: 2.32558%; }
      .content .gallery-columns-2 .gallery-item:nth-child(3n+1) {
        clear: none; }
      .content .gallery-columns-2 .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery-columns-2 .gallery-item:nth-child(2n) {
        margin-right: 0; }
      .content .gallery-columns-2 .gallery-item:nth-child(2n+1) {
        clear: left; }
    .content .gallery-columns-4 .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 23.25581%; }
      .content .gallery-columns-4 .gallery-item:nth-child(3n) {
        margin-right: 2.32558%; }
      .content .gallery-columns-4 .gallery-item:nth-child(3n+1) {
        clear: none; }
      .content .gallery-columns-4 .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery-columns-4 .gallery-item:nth-child(4n) {
        margin-right: 0; }
      .content .gallery-columns-4 .gallery-item:nth-child(4n+1) {
        clear: left; }
    .content .gallery-columns-5 .gallery-item, .content .gallery-columns-6 .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 14.72868%; }
      .content .gallery-columns-5 .gallery-item:nth-child(3n), .content .gallery-columns-6 .gallery-item:nth-child(3n) {
        margin-right: 2.32558%; }
      .content .gallery-columns-5 .gallery-item:nth-child(3n+1), .content .gallery-columns-6 .gallery-item:nth-child(3n+1) {
        clear: none; }
      .content .gallery-columns-5 .gallery-item:last-child, .content .gallery-columns-6 .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery-columns-5 .gallery-item:nth-child(6n), .content .gallery-columns-6 .gallery-item:nth-child(6n) {
        margin-right: 0; }
      .content .gallery-columns-5 .gallery-item:nth-child(6n+1), .content .gallery-columns-6 .gallery-item:nth-child(6n+1) {
        clear: left; }
    @media screen and (max-width: 640px) {
      .content .gallery .gallery-item {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 46.34146%; }
        .content .gallery .gallery-item:nth-child(2n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(2n+1) {
          clear: none; }
        .content .gallery .gallery-item:nth-child(3n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(3n+1) {
          clear: none; }
        .content .gallery .gallery-item:nth-child(4n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(4n+1) {
          clear: none; }
        .content .gallery .gallery-item:nth-child(6n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(6n+1) {
          clear: none; }
        .content .gallery .gallery-item:last-child {
          margin-right: 0; }
        .content .gallery .gallery-item:nth-child(2n) {
          margin-right: 0; }
        .content .gallery .gallery-item:nth-child(2n+1) {
          clear: left; } }

.job-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 960px) {
    .job-buttons {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (max-width: 960px) {
    .job-buttons a {
      margin: 0 10px 1.2rem 10px; } }
  @media screen and (max-width: 460px) {
    .job-buttons a {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; } }

p a {
  text-decoration: underline; }
  .blog p a {
    text-decoration: none; }

.country-overview {
  text-align: left; }
  .country-overview::after {
    clear: both;
    content: "";
    display: block; }
  body:not(.site-1) .country-overview {
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
  .country-overview:last-of-type {
    margin-bottom: 2.4rem; }
  .country-overview--top, .country-overview--bottom {
    background: #fff;
    display: none;
    padding: 2.4rem 20px;
    position: absolute;
    width: 100%;
    z-index: 300; }
  .country-overview--top {
    border-bottom: 1px solid #e8ecea;
    -webkit-box-shadow: 0 6px 23px -7px rgba(0, 0, 0, 0.4);
            box-shadow: 0 6px 23px -7px rgba(0, 0, 0, 0.4); }
  .country-overview--bottom {
    position: absolute;
    top: 0; }
  .country-overview__close {
    float: right; }
    .country-overview__close:hover {
      text-decoration: underline; }
  .country-overview__continent {
    border-bottom: 1px solid #e8ecea;
    padding: 1.2rem 0; }
  .country-overview__international {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 33px;
    line-height: 3.3rem;
    margin-top: 10px; }
    .country-overview__international img {
      margin-right: 15px; }

.filter {
  border-left: 2px solid #006950;
  margin-bottom: 4.8rem;
  position: relative; }
  .filter.is-mobile {
    background: none;
    border-left: 2px solid #e5e5e5;
    border-right: 2px solid #e5e5e5;
    margin-top: -4.8rem;
    padding: 4.8rem 20px 1.2rem 20px; }
    .filter.is-mobile .filter__heading {
      display: none; }
  .filter__heading {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 36px;
    line-height: 3.6rem;
    background: #e5e5e5;
    color: #000;
    font-weight: normal;
    padding: 1.2rem 10px 1.2rem 20px; }
  .filter__section {
    margin-bottom: 2.4rem;
    padding: 0 20px 2.4rem 20px; }
    .filter__section__heading {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      border-bottom: 1px solid #e5e5e5;
      color: #006950;
      cursor: pointer;
      margin-bottom: 1.2rem;
      padding-bottom: 0.6rem; }
    .filter__section__content {
      max-height: 300px;
      overflow-y: auto; }
    .filter__section--collapsable .filter__section__heading {
      padding-right: 20px;
      position: relative; }
      .filter__section--collapsable .filter__section__heading:after {
        -webkit-transition: right 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
        transition: right 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
        transition: right 0.2s ease-in-out, transform 0.2s ease-in-out;
        transition: right 0.2s ease-in-out, transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
        background-image: url("../images/icon-arrow-right-black.svg");
        background-position: right 2px top 50%;
        background-repeat: no-repeat;
        background-size: 9px 8px;
        content: '';
        height: 8px;
        position: absolute;
        right: 10px;
        top: 11px;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        width: 10px; }
      .filter__section--collapsable .filter__section__heading:hover:after {
        right: 5px; }
    .filter__section--collapsed {
      padding-bottom: 1.2rem; }
      .filter__section--collapsed .filter__section__heading {
        position: relative; }
        .filter__section--collapsed .filter__section__heading:after {
          -webkit-transform: rotate(0deg);
                  transform: rotate(0deg); }
      .filter__section--collapsed .filter__section__content {
        display: none; }
    .filter__section__form__input {
      display: inline-block;
      margin-right: 10px;
      width: calc( 100% - 60px); }
    .filter__section__form__submit {
      width: 50px; }
  .filter__list__item {
    color: #c0c1c2;
    margin-bottom: 0.6rem; }
    .filter__list__item [type="checkbox"]:not(:checked), .filter__list__item [type="checkbox"]:checked {
      position: absolute;
      left: -9999px; }
      .filter__list__item [type="checkbox"]:not(:checked) + label, .filter__list__item [type="checkbox"]:checked + label {
        cursor: pointer;
        display: inline-block;
        padding-left: 2em;
        position: relative; }
        .filter__list__item [type="checkbox"]:not(:checked) + label:before, .filter__list__item [type="checkbox"]:checked + label:before {
          content: '';
          position: absolute;
          left: 0;
          top: 0;
          height: 1.25em;
          width: 1.25em;
          background: #e5e5e5;
          -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
                  box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
        .filter__list__item [type="checkbox"]:not(:checked) + label:after, .filter__list__item [type="checkbox"]:checked + label:after {
          background-image: url("../images/icon-checkbox-tick.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: 14px 14px;
          content: '';
          font-family: Arial, sans-serif;
          height: 14px;
          left: 3px;
          position: absolute;
          top: 3px;
          -webkit-transition: all .2s;
          transition: all .2s;
          width: 14px; }
    .filter__list__item [type="checkbox"]:not(:checked) + label:after {
      opacity: 0;
      -webkit-transform: scale(0);
              transform: scale(0); }
    .filter__list__item [type="checkbox"]:checked + label:after {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1); }
    .page-template-tpl-downloads .filter__list__item {
      color: #000; }
    .filter__list__item--hidden {
      display: none; }
    .filter__list__item a,
    .filter__list__item .span-link {
      color: #000; }
  .filter__close {
    display: none;
    text-transform: lowercase; }
    @media screen and (max-width: 768px) {
      .filter__close {
        display: inline-block;
        position: absolute;
        right: 10px;
        top: 1.2rem; }
        .filter__close:after {
          background-image: url("../images/icon-cross.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: 10px 10px;
          content: '';
          display: inline-block;
          margin-left: 10px;
          width: 10px;
          height: 10px; } }

.filter-items {
  background: #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  min-height: 60px;
  margin-bottom: 4.8rem;
  padding: 1.44rem 20px 0 20px; }
  .filter-items::after {
    clear: both;
    content: "";
    display: block; }
  .filter-items__label {
    display: inline-block;
    margin: 3px 15px 0 0;
    white-space: nowrap; }
    @media screen and (max-width: 768px) {
      .filter-items__label {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin: 0 0 1.2rem 0; } }
    .filter-items__label__button {
      display: none; }
      @media screen and (max-width: 768px) {
        .filter-items__label__button {
          -webkit-transition: background 0.3s ease-in-out;
          transition: background 0.3s ease-in-out;
          display: inline-block;
          width: auto;
          padding: 1.2rem 20px;
          color: #fff;
          text-align: center;
          text-decoration: none !important;
          border: 0;
          background: #006950;
          cursor: pointer;
          outline: none;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          -webkit-appearance: none;
             -moz-appearance: none;
                  appearance: none;
          display: inline-block;
          margin-left: 25px;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; }
          .filter-items__label__button:hover {
            background-color: #004535;
            color: #fff; }
          .filter-items__label__button:active {
            background-color: #003428;
            color: #fff; }
          .filter-items__label__button.disabled {
            cursor: default; } }
  @media screen and (max-width: 768px) and (max-width: 640px) {
    .filter-items__label__button {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }
  .filter-items__links {
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .filter-items__links {
        clear: both;
        display: block;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .filter-items__links__item {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 25.5px;
      line-height: 2.55rem;
      -webkit-transition: none;
      transition: none;
      background: #999999;
      color: #fff;
      cursor: pointer;
      display: inline-block;
      margin: 0 10px 1.2rem 0;
      padding: 3px 30px 3px 10px;
      position: relative;
      -webkit-transition: background-color .2s ease-in-out;
      transition: background-color .2s ease-in-out; }
      .filter-items__links__item:after, .filter-items__links__item:before {
        background: #fff;
        content: '';
        height: 3px;
        margin-top: -1px;
        position: absolute;
        right: 10px;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        top: 50%;
        width: 10px; }
      .filter-items__links__item:after {
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg); }
      .filter-items__links__item:hover {
        background: #006950;
        color: #fff; }
    .filter-items__links__clear {
      cursor: pointer;
      display: inline-block;
      margin-top: 3px; }
      .filter-items__links__clear:hover {
        text-decoration: underline; }

.action-bar {
  margin-bottom: 2.4rem; }
  .action-bar__button {
    position: relative; }
    @media screen and (max-width: 768px) {
      .action-bar__button {
        margin-bottom: 1.2rem; } }
    @media screen and (max-width: 768px) {
      .page-template-tpl-downloads .action-bar__button {
        display: none; } }
    .action-bar__button.disabled {
      background: #e5e5e5;
      color: #bfbfbf;
      cursor: default; }
      .action-bar__button.disabled:before, .action-bar__button.disabled:after {
        background: #bfbfbf; }
      .action-bar__button.disabled .count {
        color: #bfbfbf; }
    .action-bar__button .count {
      background: #fff;
      border-radius: 50px;
      color: #000;
      display: inline-block;
      margin-left: 10px;
      min-width: 24px;
      padding: 0 7px;
      text-align: center; }
    .action-bar__button--remove {
      padding-left: 40px; }
      .action-bar__button--remove:before, .action-bar__button--remove:after {
        background: #fff;
        border-radius: 2px;
        content: '';
        left: 18px;
        height: 3px;
        margin-right: 5px;
        position: absolute;
        top: 50%;
        width: 13px;
        -webkit-transform: rotate(45deg) translateY(-50%);
                transform: rotate(45deg) translateY(-50%); }
      .action-bar__button--remove:after {
        left: 20px;
        -webkit-transform: rotate(-45deg) translateY(-50%);
                transform: rotate(-45deg) translateY(-50%); }
  .action-bar__results__select {
    padding-bottom: 0.6rem;
    padding-top: 0.6rem; }

#wpseo-storelocator-form {
  background: #e5e5e5;
  border: 1px solid #c0c1c2;
  margin-bottom: 4.8rem;
  padding: 20px 2.4rem; }
  #wpseo-storelocator-form fieldset {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #wpseo-storelocator-form fieldset p {
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      margin: 0 20px 0 0; }
      @media screen and (max-width: 768px) {
        #wpseo-storelocator-form fieldset p {
          -webkit-box-flex: 0;
              -ms-flex: 0 1 100%;
                  flex: 0 1 100%;
          margin-bottom: 1.2rem; } }

#wpseo-storelocator-results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #wpseo-storelocator-results .wpseo-map-canvas {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    margin-bottom: 4.8rem; }
  #wpseo-storelocator-results #wpseo-directions-wrapper,
  #wpseo-storelocator-results > h2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%; }
  #wpseo-storelocator-results .wpseo-result {
    border: 1px solid #006950;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(50% - 20px);
            flex: 0 1 calc(50% - 20px);
    margin-bottom: 2.4rem;
    padding-bottom: 2.4rem; }
    @media screen and (max-width: 768px) {
      #wpseo-storelocator-results .wpseo-result {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    #wpseo-storelocator-results .wpseo-result .wpseo-location {
      margin-bottom: 2.4rem; }
      #wpseo-storelocator-results .wpseo-result .wpseo-location h3 {
        background: #006950;
        padding: 5px 20px; }
        #wpseo-storelocator-results .wpseo-result .wpseo-location h3 a {
          color: #fff;
          text-decoration: none; }
          #wpseo-storelocator-results .wpseo-result .wpseo-location h3 a:hover {
            color: #d3dbd7;
            text-decoration: none; }
      #wpseo-storelocator-results .wpseo-result .wpseo-location > div,
      #wpseo-storelocator-results .wpseo-result .wpseo-location > span {
        padding: 0 20px; }
    #wpseo-storelocator-results .wpseo-result .wpseo-sl-route {
      padding: 0 20px; }

.column--2 {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 48.83721%; }
  .column--2:last-child {
    margin-right: 0; }
  .column--2:nth-child(2n) {
    margin-right: 0; }
  .column--2:nth-child(2n+1) {
    clear: left; }
  .column--2--33 {
    margin-right: 1.9937%;
    width: 32.0042%; }
  .column--2--67 {
    margin-right: 1.9937%;
    width: 66.0021%; }

.column--3 {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%; }
  .column--3:last-child {
    margin-right: 0; }
  .column--3:nth-child(3n) {
    margin-right: 0; }
  .column--3:nth-child(3n+1) {
    clear: left; }

@media screen and (max-width: 640px) {
  .column--2, .column--2--33, .column--2--67, .column--3 {
    float: left;
    display: block;
    margin-right: 7.31707%;
    width: 100%;
    margin: 0 0 2.4rem 0; }
    .column--2:last-child, .column--2--33:last-child, .column--2--67:last-child, .column--3:last-child {
      margin-right: 0; }
    .column--2:nth-child(2n), .column--2--33:nth-child(2n), .column--2--67:nth-child(2n), .column--3:nth-child(2n) {
      margin-right: 7.31707%; }
    .column--2:nth-child(2n+1), .column--2--33:nth-child(2n+1), .column--2--67:nth-child(2n+1), .column--3:nth-child(2n+1) {
      clear: none; }
    .column--2:nth-child(3n), .column--2--33:nth-child(3n), .column--2--67:nth-child(3n), .column--3:nth-child(3n) {
      margin-right: 7.31707%; }
    .column--2:nth-child(3n+1), .column--2--33:nth-child(3n+1), .column--2--67:nth-child(3n+1), .column--3:nth-child(3n+1) {
      clear: none; }
    .column--2:nth-child(1n), .column--2--33:nth-child(1n), .column--2--67:nth-child(1n), .column--3:nth-child(1n) {
      margin-right: 0; }
    .column--2:nth-child(1n+1), .column--2--33:nth-child(1n+1), .column--2--67:nth-child(1n+1), .column--3:nth-child(1n+1) {
      clear: left; } }

.module-content a:not([class]) {
  text-decoration: underline; }

.free-support__heading {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 27px;
  line-height: 2.7rem;
  margin-bottom: 1.2rem; }

.free-support .list-checks {
  margin-bottom: 2.4rem; }

.interactive-image {
  height: auto;
  max-width: 100%;
  position: relative;
  width: 100%; }
  .interactive-image__image {
    max-width: 100%;
    height: auto;
    width: 100%; }
  .interactive-image__link {
    background: #fff;
    border: 4px solid #006950;
    position: absolute;
    width: 24px;
    height: 24px;
    z-index: 5; }
    @media screen and (max-width: 768px) {
      .interactive-image__link {
        display: none; } }
    .interactive-image__link:before {
      background: #006950;
      content: '';
      position: absolute;
      left: 50%;
      margin: -3px 0 0 -3px;
      height: 6px;
      top: 50%;
      width: 6px; }
    .interactive-image__link__inner {
      background: rgba(2, 108, 79, 0.8);
      color: #fff;
      display: block;
      margin-left: -100px;
      margin-top: -15px;
      padding: 10px;
      text-align: center;
      width: 200px;
      z-index: 2; }
      .interactive-image__link__inner__label {
        display: block;
        font-weight: bold; }
      .interactive-image__link__inner__readmore {
        color: #fff;
        display: block;
        font-size: .9em; }
        .interactive-image__link__inner__readmore:hover {
          color: #fff;
          text-decoration: underline; }
  .interactive-image__tooltip {
    position: absolute;
    width: 200px;
    z-index: 20; }

.category-overview {
  overflow: hidden; }
  .category-overview__categories {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    float: right;
    margin-right: 0;
    position: relative; }
    .category-overview__categories:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .category-overview__categories {
        display: block;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }
  .category-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    border-right: 1px solid #c0c1c2;
    border-bottom: 1px solid #c0c1c2;
    float: left;
    margin-right: 1.9937%; }
    .category-overview__sidebar .filter__close {
      top: 20px; }
    @media screen and (max-width: 768px) {
      .category-overview__sidebar .filter__heading {
        display: none; } }
    .category-overview__sidebar .filter-items {
      display: none;
      margin-bottom: 0;
      min-height: 0; }
      .category-overview__sidebar .filter-items.active {
        margin-bottom: 2.4rem; }
      @media screen and (max-width: 768px) {
        .category-overview__sidebar .filter-items {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
      .category-overview__sidebar .filter-items__label__button {
        margin-bottom: 1.2rem;
        margin-left: 0; }
    .category-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .category-overview__sidebar {
        float: none;
        margin-bottom: 4.8rem;
        margin-top: 0;
        width: 100%; } }

.list-categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4.8rem;
  margin-left: 0 !important; }
  .list-categories:after {
    content: '';
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    display: block; }
  .list-categories__item {
    border: 1px solid #d3dbd7;
    cursor: pointer;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc(100% / 4 - 20px);
        flex-basis: calc(100% / 4 - 20px);
    max-width: calc(100% / 4 - 20px);
    margin-bottom: 2.4rem;
    margin-right: 20px;
    padding-top: 2.4rem;
    position: relative;
    -webkit-transition: border-color .2s ease-in-out;
    transition: border-color .2s ease-in-out; }
    .list-categories__item .tax-product-category {
      -ms-flex-preferred-size: calc(33.33% - 20px);
          flex-basis: calc(33.33% - 20px);
      max-width: calc(33.33% - 20px); }
    .category-overview .list-categories__item .tax-product-category {
      -ms-flex-preferred-size: calc(100% / 4 - 20px);
          flex-basis: calc(100% / 4 - 20px);
      max-width: calc(100% / 4 - 20px); }
    @media screen and (max-width: 1140px) {
      .list-categories__item {
        -ms-flex-preferred-size: calc(100% / 3 - 20px);
            flex-basis: calc(100% / 3 - 20px);
        max-width: calc(100% / 3 - 20px); } }
    @media screen and (max-width: 960px) {
      .list-categories__item {
        -ms-flex-preferred-size: calc(100% / 2 - 20px);
            flex-basis: calc(100% / 2 - 20px);
        max-width: calc(100% / 2 - 20px); } }
    @media screen and (max-width: 640px) {
      .list-categories__item {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        max-width: 100%; } }
    .list-categories__item:hover {
      border-color: #999999; }
    .list-categories__item__count {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem;
      background: #e5e5e5;
      padding: 2px 10px;
      position: absolute;
      right: 15px;
      top: 15px; }
    .list-categories__item__image {
      padding: 20px 30px;
      text-align: center; }
      .list-categories__item__image img {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .list-categories__item__text {
      padding: 0.6rem 20px; }
      .list-categories__item__text__heading {
        margin: 0;
        word-wrap: anywhere; }
      .list-categories__item__text__description {
        margin: 0; }

.list-category-filter {
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 768px) {
    .list-category-filter {
      display: none; } }
  .list-category-filter__item {
    padding: 0 10px 5px 10px; }
    .list-category-filter__item button {
      background: none;
      border: 1px solid #c0c1c2;
      color: #006950;
      font-weight: normal;
      display: block;
      text-align: left;
      width: 100%;
      -webkit-transition: background-color .2s ease-in-out;
      transition: background-color .2s ease-in-out; }
      .list-category-filter__item button:hover, .list-category-filter__item button.active {
        background: #ededed; }

.list-checks__item {
  background-image: url("../images/icon-check.svg");
  background-position: left 6px;
  background-size: 12px 9px;
  background-repeat: no-repeat;
  list-style: none;
  margin-bottom: 1.2rem;
  padding-left: 20px; }

.list-countries::after {
  clear: both;
  content: "";
  display: block; }

.list-countries__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 23.25581%;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 28.5px;
  line-height: 2.85rem;
  padding-left: 0 !important;
  margin-bottom: 1.2rem; }
  .list-countries__item:last-child {
    margin-right: 0; }
  .list-countries__item:nth-child(4n) {
    margin-right: 0; }
  .list-countries__item:nth-child(4n+1) {
    clear: left; }
  @media screen and (max-width: 768px) {
    .list-countries__item {
      float: left;
      display: block;
      margin-right: 3.52941%;
      width: 100%; }
      .list-countries__item:last-child {
        margin-right: 0; }
      .list-countries__item:nth-child(4n) {
        margin-right: 3.52941%; }
      .list-countries__item:nth-child(4n+1) {
        clear: none; }
      .list-countries__item:nth-child(2n) {
        margin-right: 0; }
      .list-countries__item:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 460px) {
    .list-countries__item {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 46.34146%;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem; }
      .list-countries__item:last-child {
        margin-right: 0; }
      .list-countries__item:nth-child(3n) {
        margin-right: 7.31707%; }
      .list-countries__item:nth-child(3n+1) {
        clear: none; }
      .list-countries__item:nth-child(4n) {
        margin-right: 7.31707%; }
      .list-countries__item:nth-child(4n+1) {
        clear: none; }
      .list-countries__item:nth-child(2n) {
        margin-right: 0; }
      .list-countries__item:nth-child(2n+1) {
        clear: left; } }
  .list-countries__item:before {
    display: none !important; }
  .list-countries__item__image {
    border-radius: 2px;
    float: left;
    height: auto;
    margin-right: 15px;
    max-width: 100%;
    width: 30px; }
  .list-countries__item__link:hover {
    text-decoration: underline; }
  @media screen and (max-width: 768px) {
    .list-countries__item__name {
      display: none; } }

.list-green-text {
  margin-bottom: 2.4rem; }
  .list-green-text::after {
    clear: both;
    content: "";
    display: block; }
  .list-green-text__item {
    cursor: pointer;
    position: relative; }
    .list-green-text__item__content {
      -webkit-transition: padding 0.2s ease-in-out;
      transition: padding 0.2s ease-in-out;
      background: rgba(0, 108, 79, 0.9);
      color: #fff;
      padding: 1.2rem 10px;
      position: absolute;
      bottom: 0;
      width: 100%; }
      .list-green-text__item:hover .list-green-text__item__content {
        padding-top: 2.4rem; }
      .list-green-text__item__content__heading {
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 28.5px;
        line-height: 2.85rem;
        margin: 0; }
        .list-green-text__item__content__heading a {
          color: #fff; }
          .list-green-text__item__content__heading a:hover {
            color: #e8ecea; }
      .list-green-text__item__content p {
        margin: 0; }

.list-image {
  margin: 0 0 2.4rem 0 !important; }
  .list-image::after {
    clear: both;
    content: "";
    display: block; }
  .list-image__item {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    background: none !important;
    cursor: pointer;
    margin-bottom: 2.4rem;
    padding: 0 !important;
    position: relative; }
    .list-image__item:last-child {
      margin-right: 0; }
    .list-image__item:nth-child(3n) {
      margin-right: 0; }
    .list-image__item:nth-child(3n+1) {
      clear: left; }
    @media screen and (max-width: 640px) {
      .list-image__item {
        display: block;
        float: none;
        width: 100%; } }
    .list-image__item__image {
      width: 100%;
      height: 100%; }
      .list-image__item__image img {
        width: 100%;
        height: 100%; }
      .list-image__item__image:after {
        -webkit-transition: opacity 0.3s ease-in-out;
        transition: opacity 0.3s ease-in-out;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.65)), color-stop(42%, rgba(0, 105, 80, 0.38)), color-stop(66%, rgba(0, 105, 80, 0.22)), to(rgba(0, 0, 0, 0)));
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 105, 80, 0.38) 42%, rgba(0, 105, 80, 0.22) 66%, rgba(0, 0, 0, 0) 100%);
        content: '';
        opacity: .8;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0; }
        .list-image__item:hover .list-image__item__image:after {
          opacity: 1; }
    .list-image__item__heading {
      -webkit-transition: bottom 0.2s ease-in-out;
      transition: bottom 0.2s ease-in-out;
      color: #fff !important;
      padding: 0 20px;
      position: absolute;
      top: 1.2rem;
      width: 100%;
      font-size: 25px !important;
      font-size: 2.5rem !important;
      line-height: 30px !important;
      line-height: 3rem !important; }
      @media screen and (max-width: 768px) {
        .list-image__item__heading {
          font-size: 20px !important;
          font-size: 2rem !important;
          line-height: 25px !important;
          line-height: 2.5rem !important; } }
      .list-image__item:hover .list-image__item__heading {
        bottom: 1.8rem; }
      .list-image__item__heading a {
        color: #fff !important; }

.list-image-top {
  margin-bottom: 2.4rem; }
  .list-image-top::after {
    clear: both;
    content: "";
    display: block; }
  .list-image-top__item {
    -webkit-transition: border-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out;
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    border: 1px solid #e8ecea;
    margin-bottom: 2.4rem; }
    .list-image-top__item:last-child {
      margin-right: 0; }
    .list-image-top__item:nth-child(3n) {
      margin-right: 0; }
    .list-image-top__item:nth-child(3n+1) {
      clear: left; }
    @media screen and (max-width: 640px) {
      .list-image-top__item {
        display: block;
        float: none;
        width: 100%; }
        .list-image-top__item:nth-child(3n) {
          margin-right: 7.31707%; }
        .list-image-top__item:nth-child(3n+1) {
          clear: none; } }
    .list-image-top__item:hover {
      border-color: #c0c1c2;
      cursor: pointer; }
    .list-image-top__item--no-border {
      border: 0; }
    .list-image-top__item__image {
      margin: 0;
      text-align: center; }
      .list-image-top__item__image img {
        width: 100%;
        height: auto; }
    .list-image-top__item__content {
      border-top: 1px solid #e8ecea;
      padding: 2.4rem 20px 1.2rem 20px; }
      .list-image-top__item--no-border .list-image-top__item__content {
        border: 0;
        padding-left: 0;
        padding-right: 0; }
    .list-image-top__item__heading {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem; }

.product-downloads__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .product-downloads__list:after {
    content: '';
    display: block;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc( 100% / 3 - 20px); }
    @media screen and (max-width: 960px) {
      .product-downloads__list:after {
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px);
        max-width: calc( 100% / 2 - 20px); } }
    @media screen and (max-width: 640px) {
      .product-downloads__list:after {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
  .product-downloads__list__item {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc( 100% / 3 - 20px);
    border: 1px solid #c0c1c2;
    padding: 20px;
    margin-bottom: 20px; }
    @media screen and (max-width: 960px) {
      .product-downloads__list__item {
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px);
        max-width: calc( 100% / 2 - 20px); } }
    @media screen and (max-width: 640px) {
      .product-downloads__list__item {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .product-downloads__list__item a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%; }
    .product-downloads__list__item__button {
      -ms-flex-item-align: start;
          align-self: flex-start;
      display: block;
      margin-right: 10px;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 32px;
              flex: 0 0 32px;
      background: none;
      position: relative;
      height: 32px; }
      @media screen and (max-width: 640px) {
        .product-downloads__list__item__button {
          display: none; } }
      .product-downloads__list__item__button:before {
        background: #006950;
        content: '';
        height: 32px;
        left: 0;
        position: absolute;
        top: 1px;
        -webkit-transition: background-color .2s ease-in-out;
        transition: background-color .2s ease-in-out;
        width: 32px; }
      .product-downloads__list__item__button:after {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        content: '';
        height: 7px;
        left: 11px;
        position: absolute;
        top: 13px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 7px; }
      .product-downloads__list__item__button:hover {
        background: none; }
      .product-downloads__list__item__button__text {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
    .product-downloads__list__item__label {
      font-weight: 600; }
    .product-downloads__list__item__content {
      margin-right: 20px; }
    .product-downloads__list__item__meta {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem;
      color: #c0c1c2;
      line-height: 1; }
      .product-downloads__list__item__meta .separator {
        margin: 0 0.48rem; }
    .product-downloads__list__item a {
      color: #000; }
    .product-downloads__list__item__file-icon {
      display: block;
      margin-left: auto;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 32px;
              flex: 0 0 32px; }
      @media screen and (max-width: 640px) {
        .product-downloads__list__item__file-icon {
          display: none; } }
      .product-downloads__list__item__file-icon img {
        height: 32px;
        width: 28px; }

.list-persons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .list-persons:after {
    content: '';
    display: block;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc(100% / 3 - 20px); }
  .list-persons__item {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc(100% / 3 - 20px);
    border-bottom: 1px solid #e8ecea;
    margin-bottom: 4.8rem;
    background-color: #fff;
    border-top: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    border-left: 2px solid #006950;
    padding: 18px; }
    @media screen and (max-width: 1024px) {
      .list-persons__item {
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px);
        max-width: calc( 100% / 2 - 20px); } }
    @media screen and (max-width: 768px) {
      .list-persons__item {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-right: 0;
        max-width: none; } }
    .list-persons__item__image {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 19.5122%; }
      .list-persons__item__image:last-child {
        margin-right: 0; }
    .list-persons__item__content {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 73.17073%;
      word-break: break-word; }
      .list-persons__item__content:last-child {
        margin-right: 0; }
    .list-persons__item__heading {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 25.5px;
      line-height: 2.55rem;
      color: #006950;
      border-bottom: 1px solid #e5e5e5;
      padding-bottom: 14px; }
    .list-persons__item__function {
      margin-top: 20px;
      margin-bottom: 0; }
    .list-persons__item__location {
      margin-bottom: 0; }
    .list-persons__item a {
      color: #000; }
      .list-persons__item a[href^="mailto"] {
        text-decoration: underline; }
    .list-persons__item p:last-of-type {
      margin-bottom: 0; }

.list-products {
  margin-bottom: 4.8rem;
  margin-left: 0 !important; }
  .list-products::after {
    clear: both;
    content: "";
    display: block; }
  .list-products__item {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    -webkit-transition: border-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out;
    border: 1px solid #d3dbd7;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 2.4rem;
    padding: 10px;
    position: relative; }
    .list-products__item:last-child {
      margin-right: 0; }
    .list-products__item:nth-child(3n) {
      margin-right: 0; }
    .list-products__item:nth-child(3n+1) {
      clear: left; }
    .list-products__item:before {
      display: none; }
    .list-products__item--4 {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 23.25581%; }
      .list-products__item--4:last-child {
        margin-right: 0; }
      .list-products__item--4:nth-child(3n) {
        margin-right: 2.32558%; }
      .list-products__item--4:nth-child(3n+1) {
        clear: none; }
      .list-products__item--4:nth-child(4n) {
        margin-right: 0; }
      .list-products__item--4:nth-child(4n+1) {
        clear: left; }
      @media screen and (max-width: 768px) {
        .list-products__item--4 {
          float: left;
          display: block;
          margin-right: 3.52941%;
          width: 48.23529%; }
          .list-products__item--4:last-child {
            margin-right: 0; }
          .list-products__item--4:nth-child(4n) {
            margin-right: 3.52941%; }
          .list-products__item--4:nth-child(4n+1) {
            clear: none; }
          .list-products__item--4:nth-child(2n) {
            margin-right: 0; }
          .list-products__item--4:nth-child(2n+1) {
            clear: left; } }
      @media screen and (max-width: 460px) {
        .list-products__item--4 {
          float: left;
          display: block;
          margin-right: 7.31707%;
          width: 100%; }
          .list-products__item--4:last-child {
            margin-right: 0; }
          .list-products__item--4:nth-child(2n) {
            margin-right: 7.31707%; }
          .list-products__item--4:nth-child(2n+1) {
            clear: none; }
          .list-products__item--4:nth-child(1n) {
            margin-right: 0; }
          .list-products__item--4:nth-child(1n+1) {
            clear: left; } }
    .list-products__item.hidden {
      display: none; }
    @media screen and (max-width: 768px) {
      .list-products__item {
        float: left;
        display: block;
        margin-right: 3.52941%;
        width: 48.23529%; }
        .list-products__item:last-child {
          margin-right: 0; }
        .list-products__item:nth-child(3n) {
          margin-right: 3.52941%; }
        .list-products__item:nth-child(3n+1) {
          clear: none; }
        .list-products__item:nth-child(2n) {
          margin-right: 0; }
        .list-products__item:nth-child(2n+1) {
          clear: left; } }
    @media screen and (max-width: 460px) {
      .list-products__item {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .list-products__item:last-child {
          margin-right: 0; }
        .list-products__item:nth-child(2n) {
          margin-right: 7.31707%; }
        .list-products__item:nth-child(2n+1) {
          clear: none; }
        .list-products__item:nth-child(1n) {
          margin-right: 0; }
        .list-products__item:nth-child(1n+1) {
          clear: left; } }
    .list-products__item:hover {
      border-color: #999999; }
    .list-products__item__label {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem;
      background: #e5e5e5;
      padding: 2px 10px;
      position: absolute;
      right: 15px;
      top: 15px; }
    .list-products__item__image {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-bottom: 2.4rem;
      padding: 20px 30px; }
    .list-products__item__text {
      margin-top: auto; }
    .list-products__item__heading {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      margin-bottom: 1.2rem; }
    .list-products__item__specs {
      margin: 0 0 2.4rem 20px; }
      .list-products__item__specs li {
        background: none !important;
        list-style-type: none !important;
        margin: 0 0 0 10px !important;
        position: relative;
        padding-left: 20px; }
        .list-products__item__specs li:before {
          background: #006950;
          content: '';
          height: 7px;
          left: 0;
          position: absolute;
          top: 8px;
          width: 7px; }
    .list-products__item p {
      margin: 0; }
      .list-products__item p .button {
        display: block;
        padding-left: 5px;
        padding-right: 5px; }

.list-references {
  margin-bottom: 4.8rem;
  margin-left: 0 !important; }
  .list-references::after {
    clear: both;
    content: "";
    display: block; }
  .list-references__item {
    border: 1px solid #e5e5e5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 2.4rem;
    padding: 2.4rem 10px;
    -webkit-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out; }
    @media screen and (max-width: 768px) {
      .list-references__item {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    .list-references__item:hover {
      border-color: #999999; }
    .list-references__item__images {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 33%;
              flex: 0 1 33%;
      padding: 0 20px 4.8rem 10px;
      position: relative; }
      @media screen and (max-width: 768px) {
        .list-references__item__images {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          padding: 0; } }
      .list-references__item__images__more {
        bottom: 0;
        height: auto;
        left: 10px;
        margin: 0;
        position: absolute;
        width: 100%; }
      .list-references__item__images__show-more {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 24px;
        line-height: 2.4rem;
        background: none;
        color: #006950;
        text-align: right;
        padding: 0;
        float: right; }
        .list-references__item__images__show-more:hover {
          background: none;
          color: #006950; }
    .list-references__item__text {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 65%;
              flex: 0 1 65%; }
      @media screen and (max-width: 768px) {
        .list-references__item__text {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          padding: 0; } }
    .list-references__item__excerpt {
      margin-bottom: 2.4rem; }
    .list-references__item__specs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .list-references__item__specs dt {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        font-weight: bold;
        margin-bottom: 0.6rem;
        margin-right: 2%; }
      .list-references__item__specs dd {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 73%;
                flex: 0 1 73%;
        margin-bottom: 0.6rem; }
        .list-references__item__specs dd a,
        .list-references__item__specs dd span {
          display: block; }
        .list-references__item__specs dd ul li {
          padding-left: 20px;
          position: relative; }
          .list-references__item__specs dd ul li:before {
            background: #006950;
            content: '';
            height: 7px;
            left: 2px;
            position: absolute;
            top: 8px;
            width: 7px; }

.list-videos::after {
  clear: both;
  content: "";
  display: block; }

.list-videos__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 48.83721%;
  margin-bottom: 4.8rem; }
  .list-videos__item:last-child {
    margin-right: 0; }
  .list-videos__item:nth-child(2n) {
    margin-right: 0; }
  .list-videos__item:nth-child(2n+1) {
    clear: left; }
  @media screen and (max-width: 640px) {
    .list-videos__item {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%; }
      .list-videos__item:last-child {
        margin-right: 0; }
      .list-videos__item:nth-child(2n) {
        margin-right: 7.31707%; }
      .list-videos__item:nth-child(2n+1) {
        clear: none; } }

.main-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  @media screen and (min-width: 768px) {
    .main-image--has-video {
      background: #fff !important;
      height: 400px;
      position: relative; } }
  .main-image .wrapper {
    padding: 9.6rem 0; }
    @media screen and (max-width: 768px) {
      .main-image .wrapper {
        padding: 4.8rem 0; } }
    @media screen and (max-width: 320px) {
      .main-image .wrapper {
        padding: 2.4rem 0; } }
  .main-image--has-video .wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 400px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0; }
  .main-image__video-wrapper {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: absolute; }
    @media screen and (max-width: 768px) {
      .main-image__video-wrapper {
        display: none; } }
  .main-image__video {
    position: absolute;
    width: 100%;
    z-index: 0; }
  .main-image__heading {
    font-size: 65px;
    font-size: 6.5rem;
    line-height: 97.5px;
    line-height: 9.75rem;
    font-size: 35px;
    font-size: 3.5rem;
    line-height: 52.5px;
    line-height: 5.25rem;
    color: #fff;
    display: block;
    max-width: 60%;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 768px) {
      .main-image__heading {
        font-size: 50px;
        font-size: 5rem;
        line-height: 75px;
        line-height: 7.5rem; } }
    @media screen and (max-width: 320px) {
      .main-image__heading {
        font-size: 30px;
        font-size: 3rem;
        line-height: 45px;
        line-height: 4.5rem; } }

.module-products .list-products {
  margin: 0 0 2.4rem 0 !important; }
  .module-products .list-products__item {
    background: none !important; }

.quote__content {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 37.5px;
  line-height: 3.75rem;
  color: #006950;
  font-style: italic;
  margin-bottom: 1.2rem; }

.slideshow {
  margin-bottom: 4.8rem;
  position: relative;
  /* pager */ }
  @media screen and (max-width: 640px) {
    .slideshow {
      margin-bottom: 2.4rem; }
      .slideshow__slides, .slideshow__pager {
        display: none; } }
  .slideshow__slide {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: none;
    height: 400px;
    padding: 4.8rem 0;
    width: 100%; }
    .slideshow__slide:first-child {
      display: block; }
    .slideshow__slide__heading {
      font-size: 35px;
      font-size: 3.5rem;
      line-height: 52.5px;
      line-height: 5.25rem;
      color: #fff;
      display: block;
      width: 50%; }
      @media screen and (max-width: 640px) {
        .slideshow__slide__heading {
          font-size: 24px;
          font-size: 2.4rem;
          line-height: 36px;
          line-height: 3.6rem; } }
    .slideshow__slide__button {
      -webkit-transition: background 0.3s ease-in-out;
      transition: background 0.3s ease-in-out;
      display: inline-block;
      width: auto;
      padding: 1.2rem 20px;
      color: #fff;
      text-align: center;
      text-decoration: none !important;
      border: 0;
      background: #ffed00;
      cursor: pointer;
      outline: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      color: #000;
      clear: both; }
      .slideshow__slide__button:hover {
        background-color: #004535;
        color: #fff; }
      .slideshow__slide__button:active {
        background-color: #003428;
        color: #fff; }
      .slideshow__slide__button.disabled {
        cursor: default; }
      @media screen and (max-width: 640px) {
        .slideshow__slide__button {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; } }
      .slideshow__slide__button:hover {
        background-color: #fff466;
        color: #000; }
  .slideshow__pager {
    text-align: center;
    width: 100%;
    z-index: 50;
    position: absolute;
    bottom: 1.2rem;
    overflow: hidden; }
    .slideshow__pager span {
      font-family: Arial, sans-serif;
      font-size: 50px;
      width: 16px;
      height: 16px;
      display: inline-block;
      color: #e8ecea;
      cursor: pointer;
      margin: 0 5px; }
      .slideshow__pager span.cycle-pager-active {
        color: #ffed00; }
    .slideshow__pager > * {
      cursor: pointer; }

.slider__container {
  max-width: 1200px;
  margin: 0 auto !important;
  width: 100%;
  position: relative;
  overflow: hidden; }

.slider--small {
  max-width: 1200px; }
  @media screen and (max-width: 1220px) {
    .slider--small {
      margin-left: 0 !important; } }

.slider__controls {
  max-width: 1200px;
  width: 100%;
  position: absolute;
  top: calc(50% - 40px);
  height: 80px; }
  .slider__controls button {
    cursor: pointer;
    height: 100%;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    background: none;
    z-index: 2;
    padding: 0; }
    @media screen and (max-width: 1220px) {
      .slider__controls button {
        width: auto;
        background: none; } }
    @media screen and (max-width: 960px) {
      .slider__controls button {
        -ms-flex-line-pack: end;
            align-content: flex-end; } }
    @media screen and (max-width: 640px) {
      .slider__controls button {
        height: 60px;
        width: 60px; } }
    .slider__controls button img {
      height: 80px;
      width: 80px;
      opacity: 0.75; }
      .slider__controls button img:hover {
        opacity: 1; }
      @media screen and (max-width: 1220px) {
        .slider__controls button img {
          width: 40px;
          height: 40px;
          opacity: 1; } }
      @media screen and (max-width: 960px) {
        .slider__controls button img {
          opacity: 0.5; } }
      @media screen and (max-width: 640px) {
        .slider__controls button img {
          height: 60px;
          width: 60px; } }
    .slider__controls button[data-controls="prev"] {
      left: 0; }
      @media screen and (max-width: 1220px) {
        .slider__controls button[data-controls="prev"] {
          background: none; } }
    .slider__controls button[data-controls="next"] {
      right: 0;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (max-width: 1220px) {
        .slider__controls button[data-controls="next"] {
          background: none; } }

.slider__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: visible; }
  @media screen and (max-width: 768px) {
    .slider__items {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; } }
  .slider__items__item {
    background-color: #fff;
    background-repeat: no-repeat;
    border-left: 2px solid #006950;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    cursor: pointer;
    position: relative;
    margin-right: 20px; }
    .single-product .slider__items__item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-line-pack: start;
          align-content: flex-start; }
    @media screen and (max-width: 768px) {
      .slider__items__item {
        margin-right: 0; } }
    @media (max-width: 769px) and (orientation: portrait) {
      .slider__items__item {
        height: auto; } }
    .slider__items__item__image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 100%;
      max-width: 100%; }
      .slider__items__item__image img {
        margin: 0 auto; }
    .slider__items__item__content {
      padding: 20px 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-line-pack: start;
          align-content: flex-start; }
      .slider__items__item__content__text {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; }
    .lt-ie11 .slider__items__item:not(.featured) .slider__items__item__content strong, .lt-ie11 .slider__items__item:not(.featured) .slider__items__item__content p {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .slider__items__item__read-more {
      color: #000;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-top: auto;
      margin-bottom: 0.6rem; }
      .slider__items__item__read-more:before {
        content: '';
        display: block;
        height: 30px;
        width: 30px;
        margin-right: 10px;
        background-image: url("../images/icon-link.svg");
        background-size: 30px;
        background-repeat: no-repeat; }
    .slider__items__item__product-data {
      padding: 20px; }
    .slider__items__item__readmore {
      margin-top: auto;
      padding-bottom: 20px;
      padding-left: 20px; }

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

.radish-cookie-bar {
  background-color: rgba(0, 0, 0, 0.59) !important;
  height: 100vh;
  width: 100vw;
  font-family: 'Open sans', sans-serif; }
  .radish-cookie-bar .wrap {
    background: #c9c9c9;
    color: #000;
    margin: 50px auto 0;
    max-width: 550px;
    display: block;
    max-height: 100vh;
    height: auto;
    overflow-y: auto;
    padding: 24px 36px !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc( 100% - 20px); }
  .radish-cookie-bar .cookie-bar-header {
    text-align: center;
    margin-bottom: 24px; }
    .radish-cookie-bar .cookie-bar-header .cookie-bar-title {
      padding: 0;
      font-size: 20px; }
  .radish-cookie-bar .cookie-bar-content p {
    font-size: 14px;
    margin-bottom: 20px; }
  .radish-cookie-bar .cookie-bar-buttons {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .radish-cookie-bar .cookie-bar-buttons li {
      margin: 0 !important;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; }
  .radish-cookie-bar .button {
    display: block !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important; }
    .radish-cookie-bar .button:hover {
      opacity: 1 !important; }
  .radish-cookie-bar li .button {
    margin-bottom: 10px !important; }
  .radish-cookie-bar li:last-child .button {
    margin-bottom: 0 !important; }
  .radish-cookie-bar .button-primary {
    border: 1px solid #000 !important;
    background-color: #fff !important;
    color: #006950 !important; }
  .radish-cookie-bar .button-secondary {
    border: 1px solid #000 !important;
    background-color: transparent !important; }
  .radish-cookie-bar .cookie-bar-options > li {
    position: relative;
    display: block;
    padding-left: 46px;
    cursor: pointer;
    margin-bottom: 20px; }
    .radish-cookie-bar .cookie-bar-options > li label {
      margin-left: 0 !important;
      margin-bottom: 4px;
      font-size: 18px;
      line-height: 25px;
      font-weight: 500; }
      .radish-cookie-bar .cookie-bar-options > li label:before {
        display: block;
        background-color: #fff;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 0;
        height: 30px;
        width: 30px; }
    .radish-cookie-bar .cookie-bar-options > li .cookie-description {
      font-size: 14px; }
      .radish-cookie-bar .cookie-bar-options > li .cookie-description li {
        list-style-type: square;
        display: list-item;
        margin-left: 46px;
        padding: 0; }
      .radish-cookie-bar .cookie-bar-options > li .cookie-description p {
        font-size: 14px;
        display: block; }
  .radish-cookie-bar .rcc-allow-cookie-type {
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2; }
    .radish-cookie-bar .rcc-allow-cookie-type ~ label:before {
      content: '';
      background-color: #fff;
      background-size: 50%;
      position: absolute;
      left: 0;
      top: 0;
      border: 1px solid #000; }
    .radish-cookie-bar .rcc-allow-cookie-type:disabled ~ label:before {
      background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA4IiBoZWlnaHQ9IjI3MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjczLjMyMiA3Ljg3NkwxMDAuNzY3IDIyMC4zOTJsLTY2LjI1Mi04MS4xODFjLTYuNTMtOC4zOTItMTguNjQzLTkuOTE0LTI3LjA1NS0zLjQtOC40MTMgNi41MTQtOS45MzkgMTguNTk3LTMuNDA5IDI2Ljk5bDgxLjgwNCAxMDAuMDk0QTE5LjE5IDE5LjE5IDAgMDAxMDAuNzY3IDI3MGExOS4xOSAxOS4xOSAwIDAwMTQuOTEyLTcuMTA1TDMwMi4yOTQgMzIuNzRhMTkuMDk0IDE5LjA5NCAwIDAwNC43OTQtMTkuNDRBMTkuMTU5IDE5LjE1OSAwIDAwMjkxLjg3NS4yNDRhMTkuMTk0IDE5LjE5NCAwIDAwLTE4LjU1MyA3LjYzMnoiIGZpbGw9IiM1NTUiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==");
      background-color: transparent;
      border: 1px solid #555; }
    .radish-cookie-bar .rcc-allow-cookie-type:disabled ~ label,
    .radish-cookie-bar .rcc-allow-cookie-type:disabled ~ .cookie-description {
      color: #555; }
    .radish-cookie-bar .rcc-allow-cookie-type:checked:not(:disabled):not([readonly]) ~ label:before {
      background-color: #000;
      background-image: url("../images/icon-checkmark.svg"); }
  .radish-cookie-bar .cookie-bar-settings .cookie-bar-buttons li:first-of-type {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .radish-cookie-bar .cookie-bar-settings .cookie-bar-buttons li:last-of-type {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }

div.radish-cookie-settings-toggle {
  display: none !important; }

.product-filter__question {
  margin-bottom: 2rem; }

.product-filter select {
  width: 100%; }

.home:not(.site-1) .first-section,
.home:not(.site-1) .bg-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 550px;
  overflow: hidden;
  width: 100%; }
  .home:not(.site-1) .first-section__title, .home:not(.site-1) .first-section__subtitle,
  .home:not(.site-1) .bg-image__title,
  .home:not(.site-1) .bg-image__subtitle {
    font-size: 45px;
    font-size: 4.5rem;
    line-height: 67.5px;
    line-height: 6.75rem;
    line-height: 1.2em; }
    @media screen and (max-width: 640px) {
      .home:not(.site-1) .first-section__title, .home:not(.site-1) .first-section__subtitle,
      .home:not(.site-1) .bg-image__title,
      .home:not(.site-1) .bg-image__subtitle {
        font-size: 35px;
        font-size: 3.5rem;
        line-height: 52.5px;
        line-height: 5.25rem; } }
    @media screen and (max-width: 460px) {
      .home:not(.site-1) .first-section__title, .home:not(.site-1) .first-section__subtitle,
      .home:not(.site-1) .bg-image__title,
      .home:not(.site-1) .bg-image__subtitle {
        font-size: 30px;
        font-size: 3rem;
        line-height: 45px;
        line-height: 4.5rem; } }
  .home:not(.site-1) .first-section__title,
  .home:not(.site-1) .bg-image__title {
    color: #fff;
    font-weight: 400;
    max-width: 50%;
    margin: 0 0 4.8rem; }
    @media screen and (max-width: 640px) {
      .home:not(.site-1) .first-section__title,
      .home:not(.site-1) .bg-image__title {
        max-width: none;
        margin: 0 0 2.4rem; } }
  .home:not(.site-1) .first-section__subtitle,
  .home:not(.site-1) .bg-image__subtitle {
    color: #ffed00;
    font-weight: 600;
    margin: 0 0 4.8rem; }
  .home:not(.site-1) .first-section__cta,
  .home:not(.site-1) .bg-image__cta {
    display: inline-block; }
  .home:not(.site-1) .first-section .wrapper,
  .home:not(.site-1) .bg-image .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.home:not(.site-1) .cycle-pager {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 20px;
  z-index: 999; }
  .home:not(.site-1) .cycle-pager span {
    cursor: pointer;
    color: #006950;
    font-size: 50px; }
    .home:not(.site-1) .cycle-pager span:hover, .home:not(.site-1) .cycle-pager span.cycle-pager-active {
      color: #004535; }

#homepage-slider .swiper-button-prev,
#homepage-slider .swiper-button-next {
  width: 50px;
  height: 50px;
  background-image: url("../images/icon-slide-right.svg");
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .75;
  -webkit-transition: opacity .2s ease-in-out;
  transition: opacity .2s ease-in-out; }
  #homepage-slider .swiper-button-prev:after,
  #homepage-slider .swiper-button-next:after {
    display: none !important; }
  #homepage-slider .swiper-button-prev:hover,
  #homepage-slider .swiper-button-next:hover {
    opacity: 1; }

#homepage-slider .swiper-button-prev {
  background-image: url("../images/icon-slide-left.svg"); }

#homepage-slider .swiper-pagination .swiper-pagination-bullet {
  background: #fff; }

#homepage-slider .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffed00; }

#homepage-slider .button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

.quick-links {
  background-color: #ededed;
  background-image: url("../images/bg-quick-links.svg");
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 100px;
  padding-top: 30px; }
  .quick-links__section {
    background: #fff;
    border-left: 2px solid #006950;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc(100% / 3 - 20px);
        flex-basis: calc(100% / 3 - 20px);
    padding-bottom: 20px;
    max-width: calc(100% / 3 - 20px); }
    @media screen and (max-width: 960px) {
      .quick-links__section {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-top: 20px;
        max-width: none; } }
    .quick-links__section__title {
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 39px;
      line-height: 3.9rem;
      background: #006950;
      color: #fff;
      margin-bottom: 0;
      padding: 1.8rem 40px; }
    .quick-links__section__subsection {
      border-bottom: 1px solid #dcdcdc;
      padding: 2.4rem 40px; }
      .quick-links__section__subsection:last-child {
        border: 0; }
      .quick-links__section__subsection__title {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 27px;
        line-height: 2.7rem;
        font-weight: 700; }
      .quick-links__section__subsection__item {
        line-height: 30px;
        padding-left: 20px;
        position: relative; }
        .quick-links__section__subsection__item:before {
          content: '';
          height: 7px;
          width: 7px;
          background-color: #006950;
          display: inline-block;
          margin-right: 4px;
          position: absolute;
          top: 12px;
          left: 0; }
        .quick-links__section__subsection__item--has-desc {
          font-weight: 700; }
          .quick-links__section__subsection__item--has-desc a:after {
            content: ':'; }
      .quick-links__section__subsection__link {
        color: #000;
        text-decoration: underline; }
      .quick-links__section__subsection__description {
        font-weight: 400; }
  .quick-links .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .quick-links .wrapper:after {
      display: none; }

.target-groups {
  margin-bottom: 4.8rem; }
  .target-groups__header__title {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 39px;
    line-height: 3.9rem;
    color: #006950;
    margin-bottom: 0;
    padding: 1.8rem 40px;
    text-align: center; }
  .target-groups__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .target-groups__list__item {
      border: 1px solid #006950;
      margin-left: 10px;
      margin-right: 10px;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 calc(25% - 20px);
              flex: 0 1 calc(25% - 20px); }
      .target-groups--3 .target-groups__list__item {
        -ms-flex-preferred-size: calc(100%/3 - 20px);
            flex-basis: calc(100%/3 - 20px); }
      @media screen and (max-width: 640px) {
        .target-groups__list__item {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          margin-bottom: 2.4rem; }
          .target-groups--3 .target-groups__list__item {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%; } }
      .target-groups__list__item__title {
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 28.5px;
        line-height: 2.85rem;
        background: #006950;
        color: #fff;
        padding: 1.2rem 10px;
        text-align: center; }
      .target-groups__list__item__image img {
        width: 100%; }
      .target-groups__list__item__read-more {
        border-top: 0;
        padding: 1.2rem 10px; }
        .target-groups__list__item__read-more a {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
          .target-groups__list__item__read-more a:before {
            content: '';
            display: block;
            height: 30px;
            width: 30px;
            margin-right: 10px;
            background-image: url("../images/icon-link.svg");
            background-size: 30px;
            background-repeat: no-repeat; }

.easy-job {
  background: #006950;
  padding-top: 100px;
  padding-bottom: 100px; }
  .easy-job__header {
    margin-bottom: 50px; }
    .easy-job__header__title {
      font-size: 40px;
      font-size: 4rem;
      line-height: 60px;
      line-height: 6rem;
      line-height: 1.3em;
      text-align: center;
      color: #fff;
      font-weight: 300;
      margin-bottom: 0; }
  .easy-job__entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .easy-job__entries__entry {
      background: #fff;
      padding: 20px;
      position: relative;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc(100% / 2 - 20px);
          flex-basis: calc(100% / 2 - 20px);
      max-width: calc(100% / 2 - 20px);
      margin-bottom: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border: none;
      color: #000;
      text-align: left;
      font-weight: 400; }
      @media screen and (max-width: 768px) {
        .easy-job__entries__entry {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          max-width: none; } }
      .easy-job__entries__entry:hover {
        background: #fff;
        color: #000; }
      .easy-job__entries__entry__icon {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100px;
                flex: 0 0 100px;
        width: 100px;
        height: 100px;
        margin-right: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 640px) {
          .easy-job__entries__entry__icon {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 75px;
                    flex: 0 0 75px;
            width: 75px;
            height: 75px;
            margin-right: 20px; } }
        .easy-job__entries__entry__icon img {
          width: 100px;
          height: 100px; }
      .easy-job__entries__entry__content {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 33px;
        line-height: 3.3rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 100%;
        margin-right: 40px; }
        @media screen and (max-width: 640px) {
          .easy-job__entries__entry__content {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 27px;
            line-height: 2.7rem;
            margin-right: 20px; } }
        .easy-job__entries__entry__content p:last-of-type {
          margin-bottom: 0; }
      .easy-job__entries__entry__popup {
        position: relative;
        background: #FFF;
        padding: 40px;
        width: auto;
        max-width: 500px;
        margin: 20px auto; }
        .easy-job__entries__entry__popup p:last-of-type {
          margin-bottom: 0; }
      .easy-job__entries__entry__info-icon {
        position: absolute;
        top: 10px;
        right: 10px;
        height: 20px;
        width: 20px; }
        .easy-job__entries__entry__info-icon img {
          height: 100%;
          width: 100%; }

.new-from-walraven {
  padding-top: 100px;
  padding-bottom: 100px; }
  .new-from-walraven__header {
    margin-bottom: 50px; }
    .new-from-walraven__header__title {
      font-size: 40px;
      font-size: 4rem;
      line-height: 60px;
      line-height: 6rem;
      line-height: 1.3em;
      text-align: center;
      color: #000;
      font-weight: 300;
      margin-bottom: 0; }

.featured.slider__items__item .slider__items__item__image {
  width: 100%;
  height: 100%; }
  .featured.slider__items__item .slider__items__item__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.featured .slider__items__item__content {
  padding: 10px;
  background-color: #006950;
  color: #fff;
  margin: auto auto 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .featured .slider__items__item__content a {
    color: #fff; }

.references {
  padding: 100px 0; }
  .references__header {
    margin-bottom: 50px;
    max-width: 800px; }
    .references__header__title {
      font-size: 40px;
      font-size: 4rem;
      line-height: 60px;
      line-height: 6rem;
      line-height: 1.3em;
      text-align: center;
      color: #000;
      font-weight: 300;
      margin-bottom: 0; }
  .references__entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .references__entries:after {
      display: none; }
    .references__entries__entry {
      background-size: cover;
      background-position: center;
      margin-bottom: 20px;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
          flex-basis: calc( 100% / 12 * 4 - 20px); }
      @media screen and (max-width: 960px) {
        .references__entries__entry {
          -ms-flex-preferred-size: calc( 100% / 2 - 20px);
              flex-basis: calc( 100% / 2 - 20px); } }
      @media screen and (max-width: 768px) {
        .references__entries__entry {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%; } }
      .references__entries__entry:nth-of-type(4n+1), .references__entries__entry:nth-of-type(4n+2) {
        height: 700px; }
      .references__entries__entry:nth-of-type(4n+3), .references__entries__entry:nth-of-type(4n+4) {
        height: 540px; }
      .references__entries__entry:nth-of-type(4n+2), .references__entries__entry:nth-of-type(4n+3) {
        -ms-flex-preferred-size: calc( 100% / 12 * 8 - 20px);
            flex-basis: calc( 100% / 12 * 8 - 20px); }
        @media screen and (max-width: 960px) {
          .references__entries__entry:nth-of-type(4n+2), .references__entries__entry:nth-of-type(4n+3) {
            -ms-flex-preferred-size: calc( 100% / 2 - 20px);
                flex-basis: calc( 100% / 2 - 20px); } }
        @media screen and (max-width: 768px) {
          .references__entries__entry:nth-of-type(4n+2), .references__entries__entry:nth-of-type(4n+3) {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%; } }
        .references__entries__entry:nth-of-type(4n+2) .references__entries__entry__title, .references__entries__entry:nth-of-type(4n+3) .references__entries__entry__title {
          margin-right: 0;
          margin-left: 40px; }
      .references__entries__entry__link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        height: 100%;
        width: 100%; }
      .references__entries__entry__title {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 27px;
        line-height: 2.7rem;
        font-weight: 600;
        background: #006950;
        margin-top: auto;
        margin-right: auto;
        margin-bottom: 40px;
        margin-left: auto;
        color: #fff;
        max-width: 80%;
        padding: 10px;
        width: 100%; }
        @media screen and (max-width: 960px) {
          .references__entries__entry__title {
            margin: auto 0 40px 40px; } }
  .references__footer {
    text-align: center; }
    .references__footer a {
      background: #006950;
      padding: 20px 50px;
      display: inline-block;
      color: #fff; }

.devider img {
  width: 100%;
  height: auto; }

.section-products {
  padding-bottom: 4.8rem;
  padding-top: 4.8rem; }
  .section-products--grey {
    background: #e8ecea; }
  .section-products--border {
    border-top: 1px solid #e8ecea; }
  @media screen and (max-width: 640px) {
    .section-products {
      border-bottom: 1px solid #e8ecea;
      padding-bottom: 1.2rem;
      padding-top: 1.2rem; }
      .section-products:last-child {
        border-bottom-color: #d3dbd7;
        margin-bottom: 4.8rem; }
      .section-products--grey {
        background: none; }
      .section-products__heading {
        -webkit-transition: color 0.2s ease-in-out;
        transition: color 0.2s ease-in-out;
        cursor: pointer;
        margin: 0; }
        .section-products__heading:hover {
          color: #004535; }
        .section-products__heading:active {
          color: #003428; }
        .section-products.active .section-products__heading {
          margin-bottom: 2.4rem; }
      .section-products__content {
        display: none; } }
  .section-products__header {
    margin: 0 auto;
    max-width: 1200px; }
  .section-products-specifications__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .section-products-specifications__header {
        display: block; } }
    @media screen and (max-width: 320px) {
      .section-products-specifications__header p {
        margin-top: 2.4rem; } }

.gallery__big-image {
  background: #fff;
  margin-bottom: 2.4rem;
  padding: 20px;
  text-align: center; }
  @media screen and (max-width: 640px) {
    .gallery__big-image {
      padding: 10px; } }
  .list-references__item .gallery__big-image {
    border-color: #e5e5e5;
    padding: 0; }
  .gallery__big-image img {
    display: block; }

.gallery__thumbs::after {
  clear: both;
  content: "";
  display: block; }

.gallery__thumbs__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%;
  background: #fff;
  border: 1px solid #d3dbd7;
  margin-bottom: 1.2rem;
  padding: 10px;
  text-align: center; }
  .gallery__thumbs__item:last-child {
    margin-right: 0; }
  .gallery__thumbs__item:nth-child(3n) {
    margin-right: 0; }
  .gallery__thumbs__item:nth-child(3n+1) {
    clear: left; }
  @media screen and (max-width: 640px) {
    .gallery__thumbs__item {
      padding: 5px; } }
  .list-references__item .gallery__thumbs__item {
    border-color: #e5e5e5;
    padding: 0; }
  .gallery__thumbs__item img {
    display: block;
    height: auto;
    max-width: 100%; }
  .gallery__thumbs__item--hidden {
    display: none; }

.product-info {
  border-bottom: 1px solid #c0c1c2;
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .product-info__subtitle {
    color: #000 !important; }
  .product-info__title__container {
    margin-bottom: 2.4rem; }
    .product-info__title__container strong {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem; }
  .product-info__images {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
        flex-basis: calc( 100% / 12 * 4 - 20px); }
    @media screen and (max-width: 640px) {
      .product-info__images {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-bottom: 2.4rem; } }
  .product-info__content {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 8 - 20px);
        flex-basis: calc( 100% / 12 * 8 - 20px);
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    line-height: 2.4rem;
    margin-top: 0; }
    @media screen and (max-width: 640px) {
      .product-info__content {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .product-info__content__properties {
      margin-left: 0 !important; }
      .product-info__content__properties ul li {
        list-style: none !important; }
    .product-info__content__entry {
      margin-bottom: 2.4rem; }
      @media screen and (max-width: 640px) {
        .product-info__content__entry__wrapper {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
    .product-info__content__aside .list-quality-marks {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      list-style: none;
      margin: 0;
      padding: 0; }
      .product-info__content__aside .list-quality-marks li {
        list-style: none;
        margin: 0 15px 1.2rem 0;
        padding: 0; }
        .product-info__content__aside .list-quality-marks li:before {
          display: none; }
        .product-info__content__aside .list-quality-marks li img {
          max-height: 60px; }
    .product-info__content__contact {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .product-info__content__contact__item {
        display: inline-block; }
        @media screen and (max-width: 640px) {
          .product-info__content__contact__item {
            display: block;
            margin-bottom: 1.2rem;
            text-align: center; } }
      .product-info__content__contact .button {
        margin-right: 20px; }
      .product-info__content__contact a {
        text-decoration: underline; }
  .product-info__print {
    float: right; }

@media screen and (max-width: 768px) {
  .specs-table {
    table-layout: fixed; } }

.specs-table thead {
  background: #fff;
  position: -webkit-sticky;
  position: sticky; }

.specs-table th.heading,
.specs-table th.table-header,
.specs-table .label {
  color: #333; }
  @media screen and (max-width: 768px) {
    .specs-table th.heading,
    .specs-table th.table-header,
    .specs-table .label {
      display: none; } }
  .specs-table th.heading strong,
  .specs-table th.table-header strong,
  .specs-table .label strong {
    display: block; }
  .specs-table th.heading span,
  .specs-table th.table-header span,
  .specs-table .label span {
    display: block;
    margin-left: 5px;
    font-weight: normal;
    font-style: italic;
    font-size: .9em; }
  .specs-table th.heading a,
  .specs-table th.table-header a,
  .specs-table .label a {
    border-bottom: 1px dotted #a3bdb5;
    color: #006950; }
    .specs-table th.heading a:hover,
    .specs-table th.table-header a:hover,
    .specs-table .label a:hover {
      color: #004535;
      border-color: #004535; }
  .specs-table th.heading .desc,
  .specs-table th.table-header .desc,
  .specs-table .label .desc {
    color: #333;
    display: block;
    margin-top: 0.6rem; }

.specs-table .specs-table__header--label th,
.specs-table .specs-table__header--abbreviation th {
  font-style: italic;
  text-align: center; }
  .specs-table .specs-table__header--label th:first-child,
  .specs-table .specs-table__header--abbreviation th:first-child {
    text-align: right; }

.specs-table .specs-table__header--label th {
  border-bottom: 1px solid #c0c1c2; }

.specs-table .specs-table__header--abbreviation th {
  border-bottom: 2px solid #006950; }

.specs-table .specs-table__header--heading th {
  border-bottom: 1px solid #c0c1c2;
  cursor: pointer;
  font-weight: bold;
  padding: 1.2rem 10px;
  position: relative;
  text-align: center;
  vertical-align: top; }
  .specs-table .specs-table__header--heading th--down:after, .specs-table .specs-table__header--heading th--up:after {
    background-image: url("../images/icon-arrow-down.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 8px 9px;
    content: '';
    height: 9px;
    position: absolute;
    right: 7px;
    top: 19px;
    width: 8px; }
  .specs-table .specs-table__header--heading th--up:after {
    background-image: url("../images/icon-arrow-up.svg"); }

.specs-table .label {
  display: none; }

.specs-table tbody tr:nth-child(even) {
  background: #e8ecea; }

.specs-table tbody tr.highlighted {
  -webkit-transition: background-color 0.4s linear;
  transition: background-color 0.4s linear;
  background-color: #fffbcb; }

@media screen and (max-width: 768px) {
  .specs-table tbody tr {
    background: none;
    border-bottom: 2px solid #2f7f6b;
    display: block; }
    .specs-table tbody tr:nth-child(even) {
      background: none; }
    .specs-table tbody tr:first-child {
      border-top: 2px solid #2f7f6b; }
    .specs-table tbody tr.active td {
      display: block; }
      .specs-table tbody tr.active td:first-child:after {
        background-image: url("../images/select-arrow-right.svg");
        background-repeat: no-repeat;
        background-size: 4px 7px;
        height: 7px;
        width: 4px;
        margin-top: -3px; } }

.specs-table tbody td {
  border-right: 2px solid #fff;
  padding: 2.4rem 10px;
  text-align: center; }
  .specs-table tbody td:first-child {
    text-align: left; }
  .specs-table tbody td:last-child {
    border: 0; }
    .specs-table tbody td:last-child img {
      height: 30px; }
  @media screen and (max-width: 768px) {
    .specs-table tbody td {
      border-bottom: 1px solid #a2a2a2;
      border-right: 0;
      clear: both;
      display: none;
      padding-left: 50%;
      position: relative;
      text-align: left;
      width: 100%; }
      .specs-table tbody td:before {
        content: attr(data-label);
        float: left; }
      .specs-table tbody td:first-child {
        background: #e8ecea;
        cursor: pointer;
        display: block;
        text-align: left; }
        .specs-table tbody td:first-child:after {
          background-image: url("../images/select-arrow.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: 7px 4px;
          content: '';
          position: absolute;
          right: 10px;
          top: 50%;
          margin-top: -2px;
          width: 7px;
          height: 4px; }
        .specs-table tbody td:first-child:hover:after {
          background-image: url("../images/select-arrow-right.svg");
          background-repeat: no-repeat;
          background-size: 4px 7px;
          height: 7px;
          width: 4px;
          margin-top: -3px; }
      .specs-table tbody td .label {
        display: block;
        float: left;
        margin-left: -100%; }
        .specs-table tbody td .label .desc {
          border: 0;
          display: inline; } }

.specs-table__clone {
  position: fixed;
  max-width: 1180px;
  width: auto;
  background: #fff;
  opacity: 0;
  -webkit-box-shadow: 0 10px 10px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 10px 10px rgba(0, 0, 0, 0.2);
  margin-bottom: 0;
  margin-top: 41px;
  -webkit-transition: margin 0.2s, opacity 0.2s;
  transition: margin 0.2s, opacity 0.2s; }
  body.header-hidden .specs-table__clone {
    margin-top: 39px; }
  @media screen and (max-width: 768px) {
    .specs-table__clone {
      display: none; } }

.specs-table-wrapper {
  height: auto;
  margin-bottom: 4.8rem;
  max-height: 575px;
  overflow: hidden;
  position: relative;
  -webkit-transition: height .5s ease-in-out;
  transition: height .5s ease-in-out; }
  .specs-table-wrapper.show-more-link:after {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(40%, white), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, white 40%, rgba(255, 255, 255, 0) 100%);
    bottom: 0;
    content: '';
    position: absolute;
    height: 180px;
    width: 100%;
    z-index: 5; }
  .specs-table-wrapper.full {
    max-height: 100%;
    padding-bottom: 80px; }
    .specs-table-wrapper.full:after {
      background: none; }
  @media screen and (max-width: 768px) {
    .specs-table-wrapper {
      max-height: 100%; }
      .specs-table-wrapper:after {
        display: none; } }
  .specs-table-wrapper__show-more {
    background: #fff;
    border: 2px solid #000;
    padding: 1.2rem 10px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    text-align: center;
    width: 300px;
    margin-left: -150px;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      .specs-table-wrapper__show-more {
        display: none; } }
    .specs-table-wrapper__show-more img {
      margin-left: 5px; }
  .specs-table-wrapper__footer {
    margin-left: 30px; }
    .specs-table-wrapper__footer li {
      list-style: none;
      padding-left: 20px;
      position: relative; }
      .specs-table-wrapper__footer li:before {
        background: #006950;
        content: '';
        height: 7px;
        left: 0;
        position: absolute;
        top: 8px;
        width: 7px; }

.specs-drawings {
  margin-bottom: 4.8rem; }
  .specs-drawings::after {
    clear: both;
    content: "";
    display: block; }
  .specs-drawings__links {
    float: left;
    width: 30%; }
    @media screen and (max-width: 640px) {
      .specs-drawings__links {
        display: block;
        float: none;
        margin: 0 0 2.4rem 0;
        width: 100%; } }
    .specs-drawings__links__item {
      margin-bottom: 2.4rem; }
      .specs-drawings__links__item__link:after {
        background-image: url("../images/icon-arrow-right.svg");
        background-repeat: no-repeat;
        background-size: 7px 5px;
        content: '';
        display: inline-block;
        margin-left: 5px; }

.specs-list {
  margin-bottom: 4.8rem; }
  .specs-list::after {
    clear: both;
    content: "";
    display: block; }
  .specs-list__heading {
    font-size: 20px;
    font-size: 2rem;
    line-height: 30px;
    line-height: 3rem;
    color: #006950;
    margin-bottom: 1.2rem; }
  .specs-list > ul::after {
    clear: both;
    content: "";
    display: block; }
  .specs-list ul li {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid-column;
    list-style: square;
    margin-bottom: 1.2rem;
    margin-left: 20px; }
    .specs-list ul li ul {
      margin-left: 20px;
      margin-top: 1.2rem; }
    .specs-list ul li li {
      list-style: circle;
      margin-right: 0; }
      .specs-list ul li li ul {
        margin-left: 0; }
      .specs-list ul li li li {
        list-style: none; }
        .specs-list ul li li li:before {
          content: '-';
          margin-right: 10px; }
  .specs-list__list {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px; }
    @media screen and (max-width: 640px) {
      .specs-list__list {
        -webkit-columns: auto;
           -moz-columns: auto;
                columns: auto; } }

.product-installation__usage {
  margin-bottom: 2.4rem; }

.product-installation__video {
  margin-bottom: 2.4rem; }
  @media screen and (max-width: 640px) {
    .product-installation__video__item {
      margin-bottom: 2.4rem; } }

.product-installation__heading {
  font-size: 20px;
  font-size: 2rem;
  line-height: 30px;
  line-height: 3rem;
  color: #006950;
  margin-bottom: 1.2rem; }

.product-installation__tips > li {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%; }
  .product-installation__tips > li:last-child {
    margin-right: 0; }
  @media screen and (max-width: 640px) {
    .product-installation__tips > li {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%;
      margin-bottom: 2.4rem; }
      .product-installation__tips > li:last-child {
        margin-right: 0; } }
  .product-installation__tips > li .check-list {
    margin-bottom: 2.4rem; }

.product-usage::after {
  clear: both;
  content: "";
  display: block; }

.product-usage__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%;
  border-bottom: 1px solid #dee0df;
  margin-bottom: 2.4rem; }
  .product-usage__item:last-child {
    margin-right: 0; }
  .product-usage__item:nth-child(3n) {
    margin-right: 0; }
  .product-usage__item:nth-child(3n+1) {
    clear: left; }
  @media screen and (max-width: 640px) {
    .product-usage__item {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%; }
      .product-usage__item:last-child {
        margin-right: 0; }
      .product-usage__item:nth-child(3n) {
        margin-right: 7.31707%; }
      .product-usage__item:nth-child(3n+1) {
        clear: none; } }
  .product-usage__item__image {
    margin-bottom: 2.4rem; }

.product-downloads {
  border-right: 1px solid #aaacab; }
  .product-downloads::after {
    clear: both;
    content: "";
    display: block; }
  .product-downloads__links {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 48.83721%; }
    .product-downloads__links:last-child {
      margin-right: 0; }
    @media screen and (max-width: 640px) {
      .product-downloads__links {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid #c0c1c2;
        margin-bottom: 2.4rem; }
        .product-downloads__links:last-child {
          margin-right: 0; } }
  .product-downloads__contact {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 48.83721%; }
    .product-downloads__contact:last-child {
      margin-right: 0; }
    @media screen and (max-width: 640px) {
      .product-downloads__contact {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .product-downloads__contact:last-child {
          margin-right: 0; } }

@media screen and (max-width: 640px) {
  .product-complementary,
  .product-alternative {
    padding-left: 20px;
    padding-right: 20px; } }

.product-complementary__heading,
.product-alternative__heading {
  font-size: 20px;
  font-size: 2rem;
  line-height: 30px;
  line-height: 3rem;
  color: #000;
  margin-bottom: 1.2rem; }

.category-intro {
  margin-bottom: 2.4rem; }
  .category-intro::after {
    clear: both;
    content: "";
    display: block; }
  .category-intro__image {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    text-align: center; }
    .category-intro__image:last-child {
      margin-right: 0; }
    @media screen and (max-width: 460px) {
      .category-intro__image {
        display: none; } }
    .category-intro__image img {
      display: inline-block;
      height: auto;
      max-width: 100%; }
  .category-intro__content {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .category-intro__content:last-child {
      margin-right: 0; }
    @media screen and (max-width: 460px) {
      .category-intro__content {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .category-intro__content:last-child {
          margin-right: 0; } }
    .category-intro__content h1 {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin-bottom: 1.2rem; }
    .category-intro__content .content {
      margin-top: 0; }
    .category-intro__content__see-also {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }

.see-also {
  border: 1px solid #e5e5e5; }
  .see-also__label {
    background: #006950;
    color: #fff;
    display: inline-block;
    margin-right: 20px;
    padding: 1.2rem 20px; }
  .see-also__item {
    color: #006950;
    display: inline-block;
    padding: 1.2rem 0;
    text-decoration: underline;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out; }
    .see-also__item:hover {
      color: #004535; }

.products-overview {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 74.4186%;
  float: right;
  margin-right: 0;
  position: relative; }
  .products-overview:last-child {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .products-overview {
      display: block;
      float: none;
      margin-bottom: 4.8rem;
      width: 100%; } }
  .products-overview__products__intro {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 25.5px;
    line-height: 2.55rem;
    border-bottom: 2px solid #d7d7d7;
    margin-bottom: 2.4rem; }
  .products-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    border-right: 1px solid #c0c1c2;
    border-bottom: 1px solid #c0c1c2;
    float: left;
    margin-right: 1.9937%; }
    .products-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .products-overview__sidebar {
        display: none;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }

.references-overview {
  position: relative; }
  .references-overview::after {
    clear: both;
    content: "";
    display: block; }
  .references-overview__references {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    float: right;
    margin-right: 0; }
    .references-overview__references:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .references-overview__references {
        display: block;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }
    .references-overview__references__intro {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 25.5px;
      line-height: 2.55rem;
      border-bottom: 2px solid #d7d7d7;
      margin-bottom: 2.4rem; }
  .references-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    float: left;
    margin-right: 1.9937%; }
    .references-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .references-overview__sidebar {
        display: none;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }

.contact-section {
  padding: 4.8rem 0 2.4rem; }
  .contact-section::after {
    clear: both;
    content: "";
    display: block; }

.employees:nth-of-type(2n+1) {
  background: #e5e5e5; }

.contact-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .contact-top:after {
    display: none; }
  .contact-top__details {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 8 - 20px);
        flex-basis: calc( 100% / 12 * 8 - 20px); }
    @media screen and (max-width: 640px) {
      .contact-top__details {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .contact-top__details__addresses {
      background: #e5e5e5;
      padding: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (max-width: 640px) {
        .contact-top__details__addresses {
          margin-bottom: 2.4rem; } }
      .contact-top__details__addresses__address {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px); }
        @media screen and (max-width: 640px) {
          .contact-top__details__addresses__address {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%;
            -webkit-box-ordinal-group: 1;
                -ms-flex-order: 0;
                    order: 0;
            margin-bottom: 2.4rem; } }
        .contact-top__details__addresses__address p {
          margin-bottom: 0; }
        .contact-top__details__addresses__address address {
          margin-bottom: 2.4rem; }
  .contact-top__map {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
        flex-basis: calc( 100% / 12 * 4 - 20px); }
    @media screen and (max-width: 640px) {
      .contact-top__map {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        height: 400px; } }
    .contact-top__map iframe {
      max-width: 100%;
      height: 100%; }
  .contact-top__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    margin-top: 2.4rem; }
    .contact-top__buttons__button {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
      .contact-top__buttons__button:not(:last-of-type) {
        margin-right: 20px; }

.contact-details__address {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 40.31008%; }
  .contact-details__address:last-child {
    margin-right: 0; }
  @media screen and (max-width: 640px) {
    .contact-details__address {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%;
      margin-bottom: 2.4rem; }
      .contact-details__address:last-child {
        margin-right: 0; } }

.support-section {
  margin-bottom: 4.8rem; }
  .support-section::after {
    clear: both;
    content: "";
    display: block; }
  .support-section__top {
    border-bottom: 1px solid #e8ecea;
    margin-bottom: 2.4rem;
    padding-bottom: 2.4rem; }

.downloads-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4.8rem; }
  .downloads-form__column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 31.333%;
            flex: 0 1 31.333%;
    margin-right: 2%;
    margin-bottom: 2.4rem; }
    .downloads-form__column h2 {
      border-bottom: 1px solid #e5e5e5;
      padding-bottom: 0.6rem;
      margin-bottom: 2.4rem; }
      .downloads-form__column h2 .sub {
        font-size: 14px;
        font-style: italic; }
    .downloads-form__column ul {
      margin-bottom: 1.2rem; }
  .downloads-form__footer {
    border-top: 1px solid #e5e5e5;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding-top: 2.4rem;
    text-align: right; }

.downloads-search {
  position: relative; }
  .downloads-search__input {
    display: block;
    width: 100%; }
  .downloads-search__submit {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: none;
    border: 0;
    line-height: 1;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .downloads-search__submit:hover {
      background: none;
      border: 0; }

.downloads-overview {
  position: relative; }
  .downloads-overview::after {
    clear: both;
    content: "";
    display: block; }
  .downloads-overview > form {
    display: block; }
  .downloads-overview__content {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    float: right;
    margin-right: 0; }
    .downloads-overview__content:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .downloads-overview__content {
        display: block;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }
  .downloads-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    margin-right: 1.9937%; }
    .downloads-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .downloads-overview__sidebar {
        display: none;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }

.show-more-filters {
  display: inline-block;
  margin-left: 35px;
  padding-left: 15px;
  position: relative; }
  .show-more-filters:before {
    border-top: 2px solid #006950;
    border-right: 2px solid #006950;
    content: '';
    left: 0;
    height: 7px;
    position: absolute;
    top: 7px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    width: 7px; }
  .show-more-filters.less:before {
    top: 10px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }

.downloads-results__header {
  background: #999999;
  color: #fff; }
  .downloads-results__header th {
    padding: 1.2rem 10px;
    border-right: 1px solid #fff; }
    @media screen and (max-width: 768px) {
      .downloads-results__header th:first-child {
        display: none; } }
    .downloads-results__header th:last-child {
      border: 0; }

.downloads-results__row td {
  border-right: 1px solid #e5e5e5;
  padding: 1.2rem 10px; }
  @media screen and (max-width: 768px) {
    .downloads-results__row td:first-child {
      display: none; } }

.downloads-results__row:nth-child(even) {
  background: #e5e5e5; }
  .downloads-results__row:nth-child(even) td {
    border-color: #fff; }

.downloads-results__checkbox {
  text-align: center;
  width: 50px; }
  .downloads-results__checkbox [type="checkbox"]:not(:checked), .downloads-results__checkbox [type="checkbox"]:checked {
    position: absolute;
    left: -9999px; }
    .downloads-results__checkbox [type="checkbox"]:not(:checked) + label, .downloads-results__checkbox [type="checkbox"]:checked + label {
      cursor: pointer;
      display: inline-block;
      padding-left: 2em;
      position: relative; }
      .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:before, .downloads-results__checkbox [type="checkbox"]:checked + label:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        height: 1.25em;
        width: 1.25em;
        background: #e5e5e5;
        -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
                box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
      .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:after, .downloads-results__checkbox [type="checkbox"]:checked + label:after {
        background-image: url("../images/icon-checkbox-tick.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 14px 14px;
        content: '';
        font-family: Arial, sans-serif;
        height: 14px;
        left: 3px;
        position: absolute;
        top: 3px;
        -webkit-transition: all .2s;
        transition: all .2s;
        width: 14px; }
  .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }
  .downloads-results__checkbox [type="checkbox"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  .downloads-results__checkbox [type="checkbox"]:not(:checked) + label {
    padding-left: 2em; }
    .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:before {
      background: #fff; }

.downloads-results__label__title {
  color: #000;
  display: inline-block;
  text-decoration: underline; }
  .downloads-results__label__title:after {
    clear: both;
    content: ''; }
  .downloads-results__label__title:hover {
    color: #006950; }

.downloads-results__label span {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 24px;
  line-height: 2.4rem;
  font-style: italic; }

.downloads-results__label__meta {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  display: block; }

.downloads-results__download {
  text-align: center;
  width: 50px; }
  .downloads-results__download img {
    width: 22px; }

.material-list {
  border-left: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5; }
  .material-list thead tr {
    background: #999999;
    color: #fff; }
    .material-list thead tr th {
      border-right: 1px solid #fff;
      padding: 1.2rem 15px; }
  .material-list tbody tr td {
    border-right: 1px solid #e5e5e5;
    padding: 1.2rem 15px; }
  .material-list tbody tr:nth-child(even) {
    background-color: #e5e5e5; }
    .material-list tbody tr:nth-child(even) td {
      border-right: 1px solid #fff; }
  .material-list tbody .text {
    display: none; }
  .material-list .cell-check {
    text-align: center;
    width: 50px; }
    .material-list .cell-check label {
      padding-left: 1em !important; }
  .material-list .cell-product a, .material-list .cell-details a {
    text-decoration: underline; }
  .material-list .cell-details {
    width: 50%; }
    .material-list .cell-details .specs-list {
      -webkit-columns: 3;
         -moz-columns: 3;
              columns: 3;
      -webkit-column-rule: 1px solid #d3dbd7;
         -moz-column-rule: 1px solid #d3dbd7;
              column-rule: 1px solid #d3dbd7;
      font-size: .9em;
      margin: 0; }
      .material-list .cell-details .specs-list .label {
        display: inline-block;
        font-weight: bold;
        width: 80px; }
  .material-list .cell-amount {
    width: 100px; }
    .material-list .cell-amount input {
      max-width: 80px;
      padding: 0.6rem 5px; }
  .material-list .cell-remove {
    text-align: center;
    width: 50px; }
    .material-list .cell-remove a {
      position: relative;
      text-indent: -999em;
      overflow: hidden; }
      .material-list .cell-remove a:before, .material-list .cell-remove a:after {
        background: #999999;
        border-radius: 2px;
        content: '';
        display: block;
        height: 4px;
        left: -8px;
        position: absolute;
        top: 50%;
        -webkit-transform: rotate(45deg) translateY(-50%);
                transform: rotate(45deg) translateY(-50%);
        -webkit-transition: background-color .2s ease-in-out;
        transition: background-color .2s ease-in-out;
        width: 20px; }
      .material-list .cell-remove a:after {
        left: -5px;
        -webkit-transform: rotate(-45deg) translateY(-50%);
                transform: rotate(-45deg) translateY(-50%); }
    .material-list .cell-remove svg {
      height: auto;
      width: 14px; }
      .material-list .cell-remove svg g {
        fill: #006950; }

.material-list-mini {
  background: #006950;
  border-radius: 4px;
  -webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3);
  bottom: 10px;
  color: #fff;
  display: none;
  right: 20px;
  position: fixed;
  width: auto;
  min-width: 300px;
  z-index: 89; }
  @media screen and (max-width: 300px) {
    .material-list-mini {
      width: 100%; } }
  .material-list-mini a {
    color: #fff; }
    .material-list-mini a:hover {
      text-decoration: underline; }
  .material-list-mini__heading {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 1.2rem 10px;
    position: relative;
    text-align: center; }
    .material-list-mini__heading .count {
      background: #e5e5e5;
      border-radius: 50%;
      display: inline-block;
      color: #006950;
      margin-left: 5px;
      width: 24px; }
    .material-list-mini__heading img {
      height: 30px;
      width: 30px;
      margin-right: 20px; }
      .material-list-mini__heading img g {
        fill: #fff; }
    .material-list-mini__heading:after {
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      border-radius: 2px;
      content: '';
      display: inline-block;
      height: 12px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      width: 12px;
      margin-left: 20px;
      margin-right: 15px;
      margin-top: 5px; }
    .material-list-mini__heading.active:after {
      top: 13px;
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg); }
  .material-list-mini__list {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 1.2rem;
    max-height: 350px;
    position: relative;
    overflow-y: auto; }
    .material-list-mini__list__item {
      border-bottom: 1px solid #fff;
      padding: 0.6rem 30px 0.6rem 0;
      position: relative; }
      .material-list-mini__list__item strong {
        display: block; }
      .material-list-mini__list__item .close {
        position: absolute;
        right: 0;
        top: 1.8rem;
        height: 16px;
        width: 16px; }
        .material-list-mini__list__item .close:before, .material-list-mini__list__item .close:after {
          background: #fff;
          border-radius: 2px;
          content: '';
          display: block;
          height: 4px;
          position: absolute;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          -webkit-transition: background-color .2s ease-in-out;
          transition: background-color .2s ease-in-out;
          width: 100%; }
        .material-list-mini__list__item .close:after {
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .material-list-mini__list__item .close:hover:before, .material-list-mini__list__item .close:hover:after {
          background: #e5e5e5; }
  .material-list-mini__shade {
    background: -webkit-gradient(linear, left bottom, left top, from(#006950), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, #006950 0%, rgba(255, 255, 255, 0) 100%);
    content: '';
    display: block;
    height: 20px;
    position: relative;
    width: 100%;
    margin-top: -32px; }
  .material-list-mini__footer {
    display: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 15px 0.6rem 15px; }
  .material-list-mini__action {
    font-size: .9em;
    text-decoration: underline; }

.material-actions {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2.4rem;
  padding: 1.8rem 20px; }
  @media screen and (max-width: 640px) {
    .material-actions {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (max-width: 640px) {
    .material-actions__label {
      display: none; } }
  .material-actions__buttons {
    margin-left: auto; }
    @media screen and (max-width: 640px) {
      .material-actions__buttons {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .material-actions__buttons__button {
      background: #006950;
      color: #fff;
      display: inline-block;
      padding: 0.6rem 10px;
      -webkit-transition: background-color .2s ease-in-out;
      transition: background-color .2s ease-in-out; }
      @media screen and (max-width: 640px) {
        .material-actions__buttons__button {
          display: block;
          margin-bottom: 5px;
          text-align: center; }
          .material-actions__buttons__button:last-child {
            margin-bottom: 0; } }
      .material-actions__buttons__button:hover {
        background: #004535;
        color: #fff; }
      .material-actions__buttons__button--email {
        position: relative; }
      @media screen and (max-width: 640px) {
        .material-actions__buttons__button--print, .material-actions__buttons__button--excel {
          display: none; } }
      .material-actions__buttons__button.disabled {
        background: #999999;
        color: #e5e5e5;
        cursor: default; }
    .material-actions__buttons .email-form {
      background: #e5e5e5;
      -webkit-box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, 0.3);
              box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, 0.3);
      display: block;
      justify-items: flex-start;
      left: -20px;
      padding: 1.2rem 20px;
      position: absolute;
      top: calc(100% + 14px);
      width: auto;
      opacity: 0;
      visibility: hidden;
      overflow: hidden;
      -webkit-transition: all .3s ease .15s;
      transition: all .3s ease .15s; }
      .material-actions__buttons .email-form--visible {
        opacity: 1;
        visibility: visible;
        overflow: visible; }
      .material-actions__buttons .email-form__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .material-actions__buttons .email-form input[type="email"] {
        display: inline-block;
        margin-right: 10px; }

.project-info {
  margin-bottom: 2.4rem; }
  .project-info__item {
    display: inline-block;
    margin-right: 20px; }
    @media screen and (max-width: 768px) {
      .project-info__item {
        margin-bottom: 1.2rem; } }

.page-template-tpl-comparison .page-title {
  margin-bottom: 1.2rem; }

.comparison-head {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 2.4rem; }
  .comparison-head p {
    margin-bottom: 1.2rem; }

.comparison-table-wrapper {
  overflow-x: auto;
  margin-left: 200px;
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 768px) {
    .comparison-table-wrapper {
      margin-left: 110px; } }

.comparison-table {
  margin: 0; }
  .comparison-table__heading {
    min-width: 200px;
    padding: 1.2rem 20px;
    position: absolute;
    width: 200px;
    left: 0;
    top: auto;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .comparison-table__heading {
        min-width: 125px;
        width: 125px; } }
    .comparison-table__heading:after {
      bottom: 0;
      content: '';
      border-bottom: 1px solid #e5e5e5;
      display: block;
      left: 10px;
      position: absolute;
      width: calc(100% - 20px); }
  .comparison-table__cell {
    border-left: 2px solid #000;
    min-width: 240px;
    padding: 1.2rem 20px;
    position: relative;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .comparison-table__cell {
        min-width: 175px; } }
    .comparison-table__cell:after {
      border-top: 1px solid #e5e5e5;
      bottom: 0;
      content: '';
      left: 10px;
      display: block;
      position: absolute;
      width: calc(100% - 20px); }
    .comparison-table__cell--image {
      padding: 0; }
      .comparison-table__cell--image figure {
        text-align: center; }
      .comparison-table__cell--image img {
        border: 1px solid #e5e5e5;
        display: inline-block;
        height: auto;
        max-width: 100%; }
      .comparison-table__cell--image:after {
        display: none; }
    .comparison-table__cell--title {
      padding-left: 25px;
      position: relative; }
      .comparison-table__cell--title:after {
        display: none; }
      .comparison-table__cell--title .comparison-remove {
        height: 30px;
        overflow: hidden;
        position: absolute;
        left: 0;
        text-indent: -999em;
        top: 8px;
        width: 30px; }
        .comparison-table__cell--title .comparison-remove:before, .comparison-table__cell--title .comparison-remove:after {
          background: #da291c;
          border-radius: 2px;
          content: '';
          display: block;
          height: 3px;
          left: 0;
          position: absolute;
          top: 50%;
          -webkit-transform: rotate(45deg) translateY(-50%);
                  transform: rotate(45deg) translateY(-50%);
          -webkit-transition: background-color .2s ease-in-out;
          transition: background-color .2s ease-in-out;
          width: 12px; }
        .comparison-table__cell--title .comparison-remove:after {
          left: 2px;
          -webkit-transform: rotate(-45deg) translateY(-50%);
                  transform: rotate(-45deg) translateY(-50%); }
        .comparison-table__cell--title .comparison-remove:hover:before, .comparison-table__cell--title .comparison-remove:hover:after {
          color: #961c13; }
  .comparison-table__row:first-child td {
    border: 0; }
  .comparison-table__row:nth-child(-n+1) th:after {
    content: '';
    width: 90%;
    border: 0;
    padding: 0; }
  .comparison-table .text {
    display: none; }

#comparison-table-loading {
  display: none; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
          box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before, .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  background: #fff;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
  min-height: 75vh; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
             * Remove all paddings around the image on small screen
             */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJzdHlsZS5jc3MiLCJnbG9iYWxzL19mb250cy5zY3NzIiwibGliL25lYXQvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwibGliL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsImxpYi9fZ3Jhdml0eS5zY3NzIiwiZ2xvYmFscy9fcmVzZXQuc2NzcyIsImdsb2JhbHMvX3R5cGUuc2NzcyIsImdsb2JhbHMvX3NldHRpbmdzLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJzaGFyZWQvX2xheW91dC1oZWxwZXJzLnNjc3MiLCJsaWIvbmVhdC9ncmlkL19tZWRpYS5zY3NzIiwibGliL25lYXQvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJsaWIvbmVhdC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJzaGFyZWQvX2J1dHRvbnMuc2NzcyIsInNoYXJlZC9fZm9ybXMuc2NzcyIsInNoYXJlZC9fZm9ybXMtY3JtLnNjc3MiLCJzaGFyZWQvX3ByaW50LnNjc3MiLCJzaGFyZWQvX3RhYmxlcy5zY3NzIiwic2hhcmVkL190b29sdGlwLnNjc3MiLCJzZWN0aW9ucy9faGVhZGVyLnNjc3MiLCJnbG9iYWxzL19taXhpbnMuc2NzcyIsImxpYi9uZWF0L2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwibGliL25lYXQvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwic2VjdGlvbnMvX2Rvb3JtYXQtZGVhbGVyLnNjc3MiLCJzZWN0aW9ucy9fZG9vcm1hdC1xdWVzdGlvbi5zY3NzIiwic2VjdGlvbnMvX2Rvb3JtYXQtY2FzZS1zdHVkaWVzLnNjc3MiLCJzZWN0aW9ucy9fZG9vcm1hdC1nZXQtaW4tdG91Y2guc2NzcyIsInNlY3Rpb25zL19mb290ZXIuc2NzcyIsImxpYi9uZWF0L2dyaWQvX29tZWdhLnNjc3MiLCJsaWIvbmVhdC9mdW5jdGlvbnMvX3ByaXZhdGUuc2NzcyIsInNlY3Rpb25zL19zZWFyY2guc2NzcyIsInNlY3Rpb25zL19zZWFyY2hmb3JtLnNjc3MiLCJzZWN0aW9ucy9fbmF2aWdhdGlvbi5zY3NzIiwic2VjdGlvbnMvX2JyZWFkY3J1bWJzLnNjc3MiLCJzZWN0aW9ucy9fYXV0b2NvbXBsZXRlLnNjc3MiLCJzZWN0aW9ucy9fYW5jaG9yLW5hdi5zY3NzIiwic2VjdGlvbnMvX3BhZ2luYXRpb24uc2NzcyIsInNlY3Rpb25zL19wYWdlLXRpdGxlLnNjc3MiLCJzZWN0aW9ucy9fY29udGVudC5zY3NzIiwic2VjdGlvbnMvX2NvdW50cnktb3ZlcnZpZXcuc2NzcyIsInNlY3Rpb25zL19maWx0ZXIuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsInNlY3Rpb25zL19maWx0ZXItbGlua3Muc2NzcyIsInNlY3Rpb25zL19hY3Rpb24tYmFyLnNjc3MiLCJzZWN0aW9ucy9fc3RvcmUtbG9jYXRvci5zY3NzIiwibW9kdWxlcy9fY29sdW1ucy5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fZnJlZS1zdXBwb3J0LnNjc3MiLCJtb2R1bGVzL19pbnRlcmFjdGl2ZS1pbWFnZS5zY3NzIiwibW9kdWxlcy9fbGlzdC1jYXRlZ29yaWVzLnNjc3MiLCJtb2R1bGVzL19saXN0LWNoZWNrcy5zY3NzIiwibW9kdWxlcy9fbGlzdC1jb3VudHJpZXMuc2NzcyIsIm1vZHVsZXMvX2xpc3QtZ3JlZW4tdGV4dC5zY3NzIiwibW9kdWxlcy9fbGlzdC1pbWFnZS5zY3NzIiwibW9kdWxlcy9fbGlzdC1pbWFnZS10b3Auc2NzcyIsIm1vZHVsZXMvX2xpc3QtcGRmcy5zY3NzIiwibW9kdWxlcy9fbGlzdC1wZXJzb25zLnNjc3MiLCJtb2R1bGVzL19saXN0LXByb2R1Y3RzLnNjc3MiLCJtb2R1bGVzL19saXN0LXJlZmVyZW5jZXMuc2NzcyIsIm1vZHVsZXMvX2xpc3QtdmlkZW9zLnNjc3MiLCJtb2R1bGVzL19tYWluLWltYWdlLnNjc3MiLCJtb2R1bGVzL19wcm9kdWN0cy5zY3NzIiwibW9kdWxlcy9fcXVvdGUuc2NzcyIsIm1vZHVsZXMvX3NsaWRlci5zY3NzIiwibW9kdWxlcy9fY29va2llLWNvbnNlbnQuc2NzcyIsIm1vZHVsZXMvX3Byb2R1Y3QtZmlsdGVyLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX3NpbmdsZS1wcm9kdWN0LnNjc3MiLCJwYWdlcy9zaW5nbGUtcHJvZHVjdC9fZ2FsbGVyeS5zY3NzIiwicGFnZXMvc2luZ2xlLXByb2R1Y3QvX3Byb2R1Y3QtaW5mby5zY3NzIiwicGFnZXMvc2luZ2xlLXByb2R1Y3QvX3NwZWNzLXRhYmxlLnNjc3MiLCJwYWdlcy9zaW5nbGUtcHJvZHVjdC9fc3BlY3MtZHJhd2luZ3Muc2NzcyIsInBhZ2VzL3NpbmdsZS1wcm9kdWN0L19zcGVjcy1saXN0LnNjc3MiLCJwYWdlcy9zaW5nbGUtcHJvZHVjdC9fcHJvZHVjdC1pbnN0YWxsYXRpb24uc2NzcyIsInBhZ2VzL3NpbmdsZS1wcm9kdWN0L19wcm9kdWN0LWRvd25sb2Fkcy5zY3NzIiwicGFnZXMvc2luZ2xlLXByb2R1Y3QvX2NvbXBsZW1hbnRhcnkuc2NzcyIsInBhZ2VzL19hcmNoaXZlLXByb2R1Y3Quc2NzcyIsInBhZ2VzL19hcmNoaXZlLXJlZmVyZW5jZS5zY3NzIiwicGFnZXMvX2NvbnRhY3Quc2NzcyIsInBhZ2VzL190ZWNobmljYWwtc3VwcG9ydC5zY3NzIiwicGFnZXMvX2Rvd25sb2Fkcy5zY3NzIiwicGFnZXMvX21hdGVyaWFsLWxpc3Quc2NzcyIsInBhZ2VzL19jb21wYXJpc29uLnNjc3MiLCJ2ZW5kb3IvbWFnbmlmaWMvX21hZ25pZmljLnNjc3MiLCJ2ZW5kb3IvbWFnbmlmaWMvX3NldHRpbmdzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztDQ01DO0FDTkQsK0VBQU87QUNHTDtFQUNFLDhCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTs7QUFHeEI7RUFJSSwyQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FDWHpCOzs7OztFSG1CRTtBSW5CRjs7Ozs7Ozs7Ozs7Ozs7Ozs7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O0lBQ1IsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsVUFBVSxFQUFBLEVBQ2I7O0FBU2pCO0VBcFBJO0lBc1BJLDhCQUE4QjtJQUM5QixzQkFBc0IsRUFBQTtFQXpNMUI7SUE0TUksMkJBQTJCO0lBQzNCLG1CQUFtQixFQUFBO0VBak12QjtJQW9NSSw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUE5ZDlCO0lBaWVRLGlCQ2poQmlDO0lEa2hCakMsa0JDbGhCaUMsRUFBQSxFRG1oQnBDIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5UaGVtZSBOYW1lOiBXYWxyYXZlbi5jb21cbkRlc2NyaXB0aW9uOiBXb3JkUHJlc3MgdGhlbWUgZm9yIHd3dy53YWxyYXZlbi5jb21cbkF1dGhvcjogVXByaXNlIDxhcmphbkB1cHJpc2Uubmw+XG5BdXRob3IgVVJJOiBodHRwOi8vd3d3LnVwcmlzZS5ubFxuVmVyc2lvbjogMS4wXG4qL1xuQGltcG9ydCAnbGliL2JvdXJib24vYm91cmJvbic7XG5AaW1wb3J0ICdsaWIvbmVhdC9uZWF0JztcbkBpbXBvcnQgJ2xpYi92ZXJ0aWNhbC1yaHl0aG0nO1xuQGltcG9ydCAnbGliL2dyYXZpdHknO1xuXG5AaW1wb3J0ICdnbG9iYWxzL3NldHRpbmdzJztcbkBpbXBvcnQgJ2dsb2JhbHMvcmVzZXQnO1xuQGltcG9ydCAnZ2xvYmFscy9taXhpbnMnO1xuQGltcG9ydCAnZ2xvYmFscy9mb250cyc7XG5AaW1wb3J0ICdnbG9iYWxzL3R5cGUnO1xuXG5AaW1wb3J0ICdzaGFyZWQvbGF5b3V0LWhlbHBlcnMnO1xuQGltcG9ydCAnc2hhcmVkL2J1dHRvbnMnO1xuQGltcG9ydCAnc2hhcmVkL2Zvcm1zJztcbkBpbXBvcnQgJ3NoYXJlZC9mb3Jtcy1jcm0nO1xuQGltcG9ydCAnc2hhcmVkL3ByaW50JztcbkBpbXBvcnQgJ3NoYXJlZC90YWJsZXMnO1xuQGltcG9ydCAnc2hhcmVkL3Rvb2x0aXAnO1xuQGltcG9ydCAnc2hhcmVkL3ByaW50JztcblxuQGltcG9ydCAnc2VjdGlvbnMvY29va2llJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2hlYWRlcic7XG5AaW1wb3J0ICdzZWN0aW9ucy9kb29ybWF0LWRlYWxlcic7XG5AaW1wb3J0ICdzZWN0aW9ucy9kb29ybWF0LXF1ZXN0aW9uJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2Rvb3JtYXQtY2FzZS1zdHVkaWVzJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2Rvb3JtYXQtZ2V0LWluLXRvdWNoJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2Zvb3Rlcic7XG5AaW1wb3J0ICdzZWN0aW9ucy9zZWFyY2gnO1xuQGltcG9ydCAnc2VjdGlvbnMvc2VhcmNoZm9ybSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9uYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2F1dG9jb21wbGV0ZSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9hbmNob3ItbmF2JztcbkBpbXBvcnQgJ3NlY3Rpb25zL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnc2VjdGlvbnMvcGFnZS10aXRsZSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jb250ZW50JztcbkBpbXBvcnQgJ3NlY3Rpb25zL2NvdW50cnktb3ZlcnZpZXcnO1xuQGltcG9ydCAnc2VjdGlvbnMvZmlsdGVyJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2ZpbHRlci1saW5rcyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9hY3Rpb24tYmFyJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3N0b3JlLWxvY2F0b3InO1xuXG5AaW1wb3J0ICdtb2R1bGVzL2NvbHVtbnMnO1xuQGltcG9ydCAnbW9kdWxlcy9jb250ZW50JztcbkBpbXBvcnQgJ21vZHVsZXMvZnJlZS1zdXBwb3J0JztcbkBpbXBvcnQgJ21vZHVsZXMvaW50ZXJhY3RpdmUtaW1hZ2UnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0LWNhdGVnb3JpZXMnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0LWNoZWNrcyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtY291bnRyaWVzJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1ncmVlbi10ZXh0JztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1pbWFnZSc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtaW1hZ2UtdG9wJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1wZGZzJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1wZXJzb25zJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1wcm9kdWN0cyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtcmVmZXJlbmNlcyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtdmlkZW9zJztcbkBpbXBvcnQgJ21vZHVsZXMvbWFpbi1pbWFnZSc7XG5AaW1wb3J0ICdtb2R1bGVzL3Byb2R1Y3RzJztcbkBpbXBvcnQgJ21vZHVsZXMvcXVvdGUnO1xuQGltcG9ydCAnbW9kdWxlcy9zbGlkZXInO1xuQGltcG9ydCAnbW9kdWxlcy9jb29raWUtY29uc2VudCc7XG5AaW1wb3J0ICdtb2R1bGVzL3Byb2R1Y3QtZmlsdGVyJztcblxuQGltcG9ydCAncGFnZXMvaG9tZSc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdCc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9nYWxsZXJ5JztcbkBpbXBvcnQgJ3BhZ2VzL3NpbmdsZS1wcm9kdWN0L3Byb2R1Y3QtaW5mbyc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9zcGVjcy10YWJsZSc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9zcGVjcy1kcmF3aW5ncyc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9zcGVjcy1saXN0JztcbkBpbXBvcnQgJ3BhZ2VzL3NpbmdsZS1wcm9kdWN0L3Byb2R1Y3QtaW5zdGFsbGF0aW9uJztcbkBpbXBvcnQgJ3BhZ2VzL3NpbmdsZS1wcm9kdWN0L3Byb2R1Y3QtZG93bmxvYWRzJztcbkBpbXBvcnQgJ3BhZ2VzL3NpbmdsZS1wcm9kdWN0L2NvbXBsZW1hbnRhcnknO1xuQGltcG9ydCAncGFnZXMvYXJjaGl2ZS1wcm9kdWN0JztcbkBpbXBvcnQgJ3BhZ2VzL2FyY2hpdmUtcmVmZXJlbmNlJztcbkBpbXBvcnQgJ3BhZ2VzL2NvbnRhY3QnO1xuQGltcG9ydCAncGFnZXMvdGVjaG5pY2FsLXN1cHBvcnQnO1xuQGltcG9ydCAncGFnZXMvZG93bmxvYWRzJztcbkBpbXBvcnQgJ3BhZ2VzL21hdGVyaWFsLWxpc3QnO1xuQGltcG9ydCAncGFnZXMvY29tcGFyaXNvbic7XG5AaW1wb3J0ICd2ZW5kb3IvbWFnbmlmaWMvbWFnbmlmaWMnO1xuIiwiLypcblRoZW1lIE5hbWU6IFdhbHJhdmVuLmNvbVxuRGVzY3JpcHRpb246IFdvcmRQcmVzcyB0aGVtZSBmb3Igd3d3LndhbHJhdmVuLmNvbVxuQXV0aG9yOiBVcHJpc2UgPGFyamFuQHVwcmlzZS5ubD5cbkF1dGhvciBVUkk6IGh0dHA6Ly93d3cudXByaXNlLm5sXG5WZXJzaW9uOiAxLjBcbiovXG5AaW1wb3J0IFwiLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC4yLjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzXCI7XG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOjphZnRlciwgKjo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4vKlxuICogVmVydGljYWwgUmh5dGhtbiBpbiBTYXNzIHdpdGggaGVscGZ1bCBtaXhpbnMgYW5kIGhlbHBlcnNcbiAqIEF1dGhvcjogIEdheWEgS2Vzc2xlclxuICogVmVyc2lvbjogMC4wLjFcbiAqIERhdGU6ICAgIDIwMTQtMDUtMThcbiAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucmVhZHljbGFzcy5jc3NcbkdyYXZpdHkgRm9ybXMgUmVhZHkgQ2xhc3MgUHJlLVNldCBIZWxwZXIgU3R5bGVzXG5odHRwOi8vd3d3LmdyYXZpdHlmb3Jtcy5jb21cbnVwZGF0ZWQ6IEp1bHkgMTIsIDIwMTYgMTA6MTEgUE0gR01ULTVcblxuR3Jhdml0eSBGb3JtcyBpcyBhIFJvY2tldGdlbml1cyBwcm9qZWN0XG5jb3B5cmlnaHQgMjAwOC0yMDE2IFJvY2tldGdlbml1cyBJbmMuXG5odHRwOiAvL3d3dy5yb2NrZXRnZW5pdXMuY29tXG50aGlzIG1heSBub3QgYmUgcmVkaXN0cmlidXRlZCB3aXRob3V0IHRoZVxuZXhwcmVzcyB3cml0dGVuIHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci5cblxuTk9URTogRE8gTk9UIEVESVQgVEhJUyBGSUxFISBNQUtFIEFOWSBNT0RJRklDQVRJT05TIElOIFlPVVJcblRIRU1FIFNUWUxFU0hFRVQuIFRISVMgRklMRSBJUyBSRVBMQUNFRCBEVVJJTkcgQVVUTy1VUERBVEVTXG5BTkQgQU5ZIENIQU5HRVMgTUFERSBIRVJFIFdJTEwgQkUgT1ZFUldSSVRURU4uXG5cbklmIHlvdSBuZWVkIHRvIG1ha2UgZXh0ZW5zaXZlIGN1c3RvbWl6YXRpb25zLFxuY29weSB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHRvIHlvdXIgdGhlbWVcbnN0eWxlIHNoZWV0IGZvciBlZGl0aW5nLiBUaGVuLCBnbyB0byB0aGUgZm9ybVxuc2V0dGluZ3MgcGFnZSAmIHNldCB0aGUgJ291dHB1dCBDU1MnIG9wdGlvblxudG8gbm8uXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT11cmxdLmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1lbWFpbF0ubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRlbF0ubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPW51bWJlcl0ubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXBhc3N3b3JkXS5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0ubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT11cmxdLm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGVsXS5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPW51bWJlcl0ubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0ubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5zbWFsbCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dXJsXS5zbWFsbCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLnNtYWxsLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLnNtYWxsLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1udW1iZXJdLnNtYWxsLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0uc21hbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLmRhdGVwaWNrZXIubWVkaXVtIHtcbiAgICB3aWR0aDogOTZweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfdGltZV9ob3VyIGlucHV0W3R5cGU9dGV4dF0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfbWludXRlIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiA3MCUgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX2hvdXIsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfbWludXRlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF9kYXRlX21vbnRoLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF9kYXRlX2RheSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfZGF0ZV95ZWFyIHtcbiAgICB3aWR0aDogNTBweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX2FtcG0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2lubGluZSBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2lubGluZSBkaXYuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2RhdGUgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCh1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXQpOm5vdCh1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQpOm5vdCguZGF0ZXBpY2tlciksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCguZGF0ZXBpY2tlcikge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA4cHggMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9sZWZ0X2hhbGYsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF9oYWxmIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9sZWZ0X2hhbGYge1xuICAgIG1hcmdpbi1yaWdodDogMTZweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiB0ZXh0YXJlYSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDk4JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgaW5wdXQuc21hbGwsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgaW5wdXQuc21hbGwge1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmICsgbGkuZ3NlY3Rpb24sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgKyBsaS5nc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTZweCAwIDhweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgIHBhZGRpbmc6IDAgMCA4cHggMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZiB7XG4gICAgcGFkZGluZzogMTZweCAwIDhweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiArIGxpLmdmaWVsZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmICsgLmdmb3JtX2Zvb3RlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiArIC5nZm9ybV9mb290ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIDMgY29sdW1ucyAqL1xuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pIHtcbiAgICB3aWR0aDogMzMuMyU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgd2lkdGg6IDMzLjQlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCguZ2lucHV0X3F1YW50aXR5KSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCguZ2lucHV0X3F1YW50aXR5KSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9J3JhZGlvJ10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSk6bm90KC5naW5wdXRfcXVhbnRpdHkpLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9sZWZ0X3RoaXJkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbWlkZGxlX3RoaXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zJSAtIDE2cHgpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF90aGlyZCB7XG4gICAgd2lkdGg6IDMzLjQlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgKyBsaS5nc2VjdGlvbixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgKyBsaS5nc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTZweCAwIDhweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCArIGxpLmdmaWVsZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgKyAuZ2Zvcm1fZm9vdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgKyAuZ2Zvcm1fZm9vdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCArIC5nZm9ybV9mb290ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIDQgY29sdW1ucyAtIHF1YXJ0ZXJzICovXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9J3JhZGlvJ10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9maXJzdF9xdWFydGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2Zfc2Vjb25kX3F1YXJ0ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl90aGlyZF9xdWFydGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfZm91cnRoX3F1YXJ0ZXIge1xuICAgIHdpZHRoOiAyNC41JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIHNlbGVjdC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgc2VsZWN0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIHNlbGVjdC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgc2VsZWN0LmxhcmdlIHtcbiAgICB3aWR0aDogOTcuNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciArIGxpLmdzZWN0aW9uLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciArIGxpLmdzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciArIGxpLmdmaWVsZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyICsgbGkuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyICsgLmdmb3JtX2Zvb3RlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgKyAuZ2Zvcm1fZm9vdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyICsgLmdmb3JtX2Zvb3RlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgKyAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBob3Jpem9udGFsIGxpc3QgY29sdW1ucyAtIGRpc3BsYXllZCBpbmxpbmUgKi9cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTZweCk7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaSB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbClsaSB1bC5nZmllbGRfcmFkaW8ge1xuICAgIHdpZHRoOiBjYWxjKDcwJSArIDE2cHgpOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgd2lkdGg6IDMzLjMlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAycHggMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDkwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDkwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDkwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8sXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfcmFkaW8ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF9pbmxpbmUgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cbiAgLyogdmVydGljYWwgbGlzdCBjb2x1bW5zIC0gdXNpbmcgQ1NTIGNvbHVtbnMgKi9cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAxNnB4O1xuICAgIC1tb3otY29sdW1uLWdhcDogMTZweDtcbiAgICBjb2x1bW4tZ2FwOiAxNnB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWNvdW50OiAzOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgIGNvbHVtbi1jb3VudDogNDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNTtcbiAgICBjb2x1bW4tY291bnQ6IDU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8yNSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8yNSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGhlaWdodDogMjVweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNTAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNTAgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0Xzc1IHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0Xzc1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgaGVpZ2h0OiA3NXB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMDAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTAwIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgaGVpZ2h0OiAxMDBweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzEyNSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzE1MCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xNTAgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBoZWlnaHQ6IDE1MHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDhweCAxMHB4IDA7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIGh0bWw6bm90W2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIGh0bWw6bm90W2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDsgfVxuICBodG1sW2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIGh0bWxbZGlyPVwicnRsXCJdIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfaGlkZV9hbXBtIGRpdi5nZmllbGRfdGltZV9hbXBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQge1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0MgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGgyLmdzZWN0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW46IDEwcHggMTBweCAwIDhweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gLnRvcF9sYWJlbCBsaS5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBoMi5nc2VjdGlvbl90aXRsZSxcbiAgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLnRvcF9sYWJlbCBsaS5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBoMi5nc2VjdGlvbl90aXRsZSB7XG4gICAgbWFyZ2luOiAwIDEwcHggMCA4cHggIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMThweCAzMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIHtcbiAgICBtYXJnaW46IDE2cHggMCAxNnB4IDE4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIHtcbiAgICBtYXJnaW46IDAgMCAxOHB4IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIGR0IHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIGRkIHtcbiAgICBtYXJnaW46IDAgMCAxNnB4IDE4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2dyZWVuLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfeWVsbG93LFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JheSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2JsdWUge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBtYXJnaW46IDIwcHggMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JlZW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5N0I0OEE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NCRUNBMDtcbiAgICB0ZXh0LXNoYWRvdzogI0RGQiAxcHggMXB4O1xuICAgIGNvbG9yOiAjMDMwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9yZWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRkFEQjM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRjJGNTtcbiAgICB0ZXh0LXNoYWRvdzogI0ZGRiAxcHggMXB4O1xuICAgIGNvbG9yOiAjODMyNTI1OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF95ZWxsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICB0ZXh0LXNoYWRvdzogI0ZDRkFFQSAxcHggMXB4O1xuICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmF5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICBjb2xvcjogIzQyNDI0MjsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfYmx1ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2E3YzJlNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDFFNEYzO1xuICAgIHRleHQtc2hhZG93OiAjRTBGMUZGIDFweCAxcHg7XG4gICAgY29sb3I6ICMzMTQ0NzU7IH1cbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9zaW1wbGVfeWVsbG93IHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0U2REI1NTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2REI1NTtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fc2ltcGxlX2dyYXkge1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIG1heC13aWR0aDogOTklO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUFFQTtcbiAgICBjb2xvcjogIzQyNDI0MjtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkQyO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDIyMSwgMjE1LCAxMzEsIDAuNzUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDIyMSwgMjE1LCAxMzEsIDAuNzUpOyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50IGRpdi5nZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIG1heC13aWR0aDogOTklO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0ZGRjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2REI1NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkNDO1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIGJhY2tncm91bmQ6ICNmZmZjZTU7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmY2U1IDAlLCAjZmZmOWJmIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNmZmZjZTUpLCBjb2xvci1zdG9wKDEwMCUsICNmZmY5YmYpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZjZTUgMCUsICNmZmY5YmYgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmNlNSAwJSwgI2ZmZjliZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmNlNSAwJSwgI2ZmZjliZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmY2U1IDAlLCAjZmZmOWJmIDEwMCUpOyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmY2RmO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhN2MzN2M7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDg2LCAxMjIsIDg2LCAwLjQpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDg2LCAxMjIsIDg2LCAwLjQpOyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQgZGl2Lmdmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWZmYWRlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTdjMzdjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgdGV4dC1zaGFkb3c6ICNERkIgMXB4IDFweDtcbiAgICBjb2xvcjogIzAzMDtcbiAgICBiYWNrZ3JvdW5kOiAjZGJmMmI3O1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2RiZjJiNyAwJSwgI2I0ZDA4OCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjZGJmMmI3KSwgY29sb3Itc3RvcCgxMDAlLCAjYjRkMDg4KSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZGJmMmI3IDAlLCAjYjRkMDg4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNkYmYyYjcgMCUsICNiNGQwODggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNkYmYyYjcgMCUsICNiNGQwODggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2RiZjJiNyAwJSwgI2I0ZDA4OCAxMDAlKTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDpiZWZvcmUsXG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50OmFmdGVyLFxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50OmJlZm9yZSxcbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDphZnRlciB7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0b3A6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDphZnRlcixcbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICByaWdodDogMTBweDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gcmVhZHkgY2xhc3MgLSB2ZXJ5IHNpbXBsZSBpbXBsZW1lbnRhdGlvbiBmb3IgdXAgdG8gNSBmaWVsZHMgYW5kIGEgYnV0dG9uICovXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLTE2cHgpO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5naW5wdXRfY29udGFpbmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIHVsIGxpLmdmaWVsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIGJvZHk6bm90KHJ0bCkgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAuZ2lucHV0X2NvbXBsZXggbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgLmdmaWVsZF9kZXNjcmlwdGlvbjpub3QoLnZhbGlkYXRpb25fbWVzc2FnZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC05MDAwcHg7IH1cbiAgLyogc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciBvbmUgZmllbGQgKi9cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciB0d28gZmllbGRzICovXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoMiksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciB0aHJlZSBmaWVsZHMgKi9cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCgzKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3IgZm91ciBmaWVsZHMgKi9cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCg0KSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCgzKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg0KTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciBmaXZlIGZpZWxkcyAqL1xuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDUpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDMpOm50aC1sYXN0LWNoaWxkKDMpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDQpOm50aC1sYXN0LWNoaWxkKDIpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDUpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3Igc2l4IGZpZWxkcyAqL1xuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDYpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDUpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDMpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDQpOm50aC1sYXN0LWNoaWxkKDMpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDUpOm50aC1sYXN0LWNoaWxkKDIpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDYpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICB3aWR0aDogMTYuNiU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwuZm9ybV9zdWJsYWJlbF9iZWxvdyBsaS5nZmllbGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwuZm9ybV9zdWJsYWJlbF9hYm92ZSBsaS5nZmllbGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LnNtYWxsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgaW5wdXQubGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3Quc21hbGwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0LmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIC50b3BfbGFiZWwgLmdmaWVsZF9lcnJvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBlbmQgbWVkaWEgcXVlcnkgKi8gfVxuXG5oZWFkZXIsIHNlY3Rpb24sIGZvb3RlciwgYXNpZGUsIG5hdiwgYXJ0aWNsZSwgZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7IH1cblxuaHRtbCB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbmJvZHksIGRpdiwgZGwsIGR0LCBkZCwgdWwsIG9sLCBsaSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcHJlLCBjb2RlLCBmb3JtLCBmaWVsZHNldCwgbGVnZW5kLCBpbnB1dCwgYnV0dG9uLCB0ZXh0YXJlYSwgcCwgYmxvY2txdW90ZSwgdGgsIHRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuZmllbGRzZXQsIGltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG5hZGRyZXNzLCBjYXB0aW9uLCBjaXRlLCBjb2RlLCBkZm4sIGVtLCBzdHJvbmcsIHRoLCB2YXIsIG9wdGdyb3VwIHtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuZGVsLCBpbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxubGkge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmNhcHRpb24sIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogJyc7IH1cblxuYWJiciwgYWNyb255bSB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7IH1cblxuc3VwIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5sZWdlbmQge1xuICBjb2xvcjogIzAwMDsgfVxuXG5pbnB1dCwgYnV0dG9uLCB0ZXh0YXJlYSwgc2VsZWN0LCBvcHRncm91cCwgb3B0aW9uIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuaW5wdXQsIGJ1dHRvbiwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICpmb250LXNpemU6IDEwMCU7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIFNldHMgdXAgdGhlIEJhc2UgMTAgc3R1ZmYgKi8gfVxuXG5odG1sIGJvZHksIGh0bWwgaW5wdXQsIGh0bWwgdGV4dGFyZWEsIGh0bWwgYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cblxuYnV0dG9uLFxuLmJ1dHRvbiwgLmJ1dHRvbi0teWVsbG93LCBpbnB1dFt0eXBlPXN1Ym1pdF0sIC5nZm9ybV9mb290ZXIgLmdmb3JtX2J1dHRvbiwgLmhlYWRlcl9fc3ViX19tb2JpbGVfX2J1dHRvbiwgLmRlYWxlci1mb3JtX19zdWJtaXQsIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24sIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0LFxuLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b24sXG4uZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0LFxuLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbiwgLmZpbHRlci1pdGVtc19fbGFiZWxfX2J1dHRvbiwgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG5cbmgxLCAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9faGVhZGluZywgLmNvbnRlbnRfX21haW4taGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1zaXplOiAzLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiA1Mi41cHg7XG4gIGxpbmUtaGVpZ2h0OiA1LjI1cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzLjZyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDE5cHg7XG4gIGZvbnQtc2l6ZTogMS45cmVtO1xuICBsaW5lLWhlaWdodDogMjguNXB4O1xuICBsaW5lLWhlaWdodDogMi44NXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuXG5ib2R5LCAuY29udGVudCBoMiwgLnNwZWNzLXRhYmxlIHRoLmhlYWRpbmcgLmRlc2MsXG4uc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIC5kZXNjLFxuLnNwZWNzLXRhYmxlIC5sYWJlbCAuZGVzYywgLmNvbnRhY3Qtc2VjdGlvbl9faGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYS1ub3ZhJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmRvb3JtYXQtZGVhbGVyX19jb250ZW50X19oZWFkaW5nLCAuc2VhcmNoZm9ybV9fc3VibWl0LCAubGlzdC1jYXRlZ29yaWVzX19pdGVtX19jb3VudCwgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dF9faGVhZGluZywgLmxpc3QtcGVyc29uc19faXRlbV9faGVhZGluZywgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX2xhYmVsLCAuc2VlLWFsc29fX2l0ZW0sIC5zaG93LW1vcmUtZmlsdGVycyB7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYS1ub3ZhJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuYS5iaWdnZXItbGluaywgc3Ryb25nLCBidXR0b24sXG4uYnV0dG9uLCAuYnV0dG9uLS15ZWxsb3csIGlucHV0W3R5cGU9c3VibWl0XSwgLmdmb3JtX2JvZHkgLmdmaWVsZCBsYWJlbCxcbi5ta3RvRm9ybSAuZ2ZpZWxkIGxhYmVsLCAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b24sIC5ta3RvRm9ybSBsYWJlbCwgLmhlYWRlcl9fc3ViX19tb2JpbGVfX2J1dHRvbiwgLmRvb3JtYXQtZGVhbGVyX19jb250ZW50X19zdWJoZWFkaW5nLCAuZGVhbGVyLWZvcm1fX3N1Ym1pdCwgLmRvb3JtYXQtcXVlc3Rpb25fX2NvbnRlbnRfX2J1dHRvbiwgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4gaDQsIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0LFxuLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b24sXG4uZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0LFxuLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbiwgLmNvbnRlbnRfX3NlY3Rpb25fX2ludHJvLCAuY29udGVudCBoMywgLmNvbnRlbnQgaDQsIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmcsIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24sIC5mcmVlLXN1cHBvcnRfX2hlYWRpbmcsIC5saXN0LWdyZWVuLXRleHRfX2l0ZW1fX2NvbnRlbnRfX2hlYWRpbmcsIC5saXN0LWltYWdlX19pdGVtX19oZWFkaW5nLCAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2hlYWRpbmcsIC5saXN0LXBlcnNvbnNfX2l0ZW1fX2xvY2F0aW9uLCAubGlzdC1wcm9kdWN0c19faXRlbV9faGVhZGluZywgLm1haW4taW1hZ2VfX2hlYWRpbmcsIC5zbGlkZXNob3dfX3NsaWRlX19oZWFkaW5nLCAuc2xpZGVzaG93X19zbGlkZV9fYnV0dG9uLCAuc3BlY3MtdGFibGUgdGguaGVhZGluZyxcbi5zcGVjcy10YWJsZSB0aC50YWJsZS1oZWFkZXIsXG4uc3BlY3MtdGFibGUgLmxhYmVsLCAuc3BlY3MtdGFibGUtd3JhcHBlcl9fc2hvdy1tb3JlLCAuc3BlY3MtbGlzdF9faGVhZGluZywgLnByb2R1Y3QtaW5zdGFsbGF0aW9uX19oZWFkaW5nLCAucHJvZHVjdC1jb21wbGVtZW50YXJ5X19oZWFkaW5nLFxuLnByb2R1Y3QtYWx0ZXJuYXRpdmVfX2hlYWRpbmcge1xuICBmb250LWZhbWlseTogJ3Byb3hpbWEtbm92YScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJvZHkge1xuICBjb2xvcjogIzAwMDsgfVxuXG5ib2R5LFxuaW1nIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cblxucCB7XG4gIG1hcmdpbjogMCAwIDIuNHJlbTsgfVxuXG5hIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiAjMDA2OTUwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNDUzNTsgfVxuICBhLmJpZ2dlci1saW5rIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICBhLnVuZGVybGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDY5NTA7IH1cblxuaDEsXG5oMixcbmgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG5cbmgxIHtcbiAgY29sb3I6ICMwMDY5NTA7IH1cblxuaDIge1xuICBjb2xvcjogIzAwNjk1MDsgfVxuXG5oNCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5kZWwge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuXG5hYmJyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhM2JkYjU7XG4gIGNvbG9yOiAjMDA2OTUwO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuc3VwLFxuc3VwZXJzY3JpcHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwOyB9XG5cbnN1YixcbnN1YnNjcmlwdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdWI7IH1cblxuLmhpZ2hsaWdodCB7XG4gIGNvbG9yOiAjZmZlZDAwOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIGh0bWwubm8tc2Nyb2xsaW5nLFxuICBib2R5Lm5vLXNjcm9sbGluZyB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbmJvZHkge1xuICBwYWRkaW5nLXRvcDogMTg5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTk2cHg7IH0gfVxuXG4ud3JhcHBlciB7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAud3JhcHBlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLndyYXBwZXItLWFyY2hpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuXG4udmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgLyogMTY6OSAqL1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgaGVpZ2h0OiAwOyB9XG4gIC52aWRlby13cmFwcGVyIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxNXB4IDEuMnJlbTsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMS4ycmVtIDE1cHg7IH1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ubW9yZS1saW5rIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC42cmVtIDAgMC42cmVtIDQ1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgIC5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC5jYXRlZ29yeS1vdmVydmlldyAubW9yZS1saW5rLFxuICAgIC50YXgtcHJvZHVjdC1jYXRlZ29yeSAuY2F0ZWdvcnktb3ZlcnZpZXcgLm1vcmUtbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAubW9yZS1saW5rOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDMycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgLmNhdGVnb3J5LW92ZXJ2aWV3IC5tb3JlLWxpbms6YmVmb3JlLFxuICAgICAgLnRheC1wcm9kdWN0LWNhdGVnb3J5IC5jYXRlZ29yeS1vdmVydmlldyAubW9yZS1saW5rOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9yZS1saW5rOmFmdGVyIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmZmO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogN3B4O1xuICAgIGxlZnQ6IDExcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTNweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgd2lkdGg6IDdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgICAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuY2F0ZWdvcnktb3ZlcnZpZXcgLm1vcmUtbGluazphZnRlcixcbiAgICAgIC50YXgtcHJvZHVjdC1jYXRlZ29yeSAuY2F0ZWdvcnktb3ZlcnZpZXcgLm1vcmUtbGluazphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9yZS1saW5rLS1pbnZlcnNlOmFmdGVyIHtcbiAgICBsZWZ0OiAxM3B4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpOyB9XG4gIC5tb3JlLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm1vcmUtbGluazpob3ZlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNDUzNTsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICBmaWd1cmUuYWxpZ25sZWZ0LCBmaWd1cmUuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAxLjJyZW0gMDsgfSB9XG5cbmZpZ3VyZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuZmlndXJlLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgNXB4IDAgMDsgfVxuXG5maWd1cmUuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMCA1cHg7IH1cblxuLmhpZGUtZm9yLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmhpZGUtZm9yLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuI21hcF9jYW52YXMge1xuICBoZWlnaHQ6IDI1MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZS1zZWN0aW9uLWxpc3QtaW1hZ2VzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaG9tZS1zZWN0aW9uLWxpc3QtaW1hZ2VzIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMS4ycmVtOyB9XG5cbiN0by10b3Age1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3R0b206IDcuMnJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDI1cHggMTVweCAwIDE1cHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogNy4ycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDg4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgI3RvLXRvcCB7XG4gICAgICByaWdodDogMjBweDsgfSB9XG4gICN0by10b3A6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgI3RvLXRvcDpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGNvbnRlbnQ6ICdcXGYxMDYnO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIiwgRm9udEF3ZXNvbWUsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgdG9wOiAwOyB9XG5cbi55b3V0dWJlLXZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIC55b3V0dWJlLXZpZGVvLWNvbnRhaW5lciBpZnJhbWUsXG4gIC55b3V0dWJlLXZpZGVvLWNvbnRhaW5lciBvYmplY3QsXG4gIC55b3V0dWJlLXZpZGVvLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG5idXR0b24sXG4uYnV0dG9uIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIGJ1dHRvbjpob3ZlcixcbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDUzNTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBidXR0b246YWN0aXZlLFxuICAuYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBidXR0b24uZGlzYWJsZWQsXG4gIC5idXR0b24uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIGJ1dHRvbixcbiAgICAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuICBidXR0b24tLW1vcmU6YWZ0ZXIsXG4gIC5idXR0b24tLW1vcmU6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1hcnJvdy1yaWdodC13aGl0ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggOHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIHdpZHRoOiA5cHg7IH1cbiAgYnV0dG9uLS1tb3JlOmhvdmVyOmFmdGVyLFxuICAuYnV0dG9uLS1tb3JlOmhvdmVyOmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYnV0dG9uLS15ZWxsb3cge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMS4ycmVtIDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tLXllbGxvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDUzNTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLS15ZWxsb3c6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tLXllbGxvdy5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmJ1dHRvbi0teWVsbG93IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuICAuYnV0dG9uLS15ZWxsb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0NjY7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuc2VsZWN0LCAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIHNlbGVjdCxcbi5ta3RvRm9ybSAuZ2ZpZWxkIHNlbGVjdCwgLm1rdG9Gb3JtIHNlbGVjdCwgaW5wdXQsXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG4gIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItY29sb3I6ICNlOGVjZWE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBjb2xvcjogIzAwMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMS4ycmVtIDEwcHg7IH1cbiAgc2VsZWN0OmZvY3VzLCAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIHNlbGVjdDpmb2N1cywgaW5wdXQ6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7IH1cbiAgc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3Q6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhOWE5YTk7IH1cblxuc2VsZWN0LCAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIHNlbGVjdCxcbi5ta3RvRm9ybSAuZ2ZpZWxkIHNlbGVjdCwgLm1rdG9Gb3JtIHNlbGVjdCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjJzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VsZWN0LWFycm93LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMjFweDtcbiAgYmFja2dyb3VuZC1zaXplOiA4cHggN3B4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZThlY2VhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1yaWdodDogMzRweDtcbiAgdGV4dC1pbmRlbnQ6IC4wMXB4O1xuICB0ZXh0LW92ZXJmbG93OiAnJztcbiAgd2lkdGg6IGF1dG87IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kLCAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIHNlbGVjdDo6LW1zLWV4cGFuZCxcbiAgLm1rdG9Gb3JtIC5nZmllbGQgc2VsZWN0OjotbXMtZXhwYW5kLCAubWt0b0Zvcm0gc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdCArIGxhYmVsLCAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIHNlbGVjdCArIGxhYmVsLCAubWt0b0Zvcm0gLmdmaWVsZCBzZWxlY3QgKyBsYWJlbCwgLm1rdG9Gb3JtIHNlbGVjdCArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgYXBwZWFyYW5jZTogY2hlY2tib3g7IH1cblxuaW5wdXRbdHlwZT1yYWRpb10ge1xuICBhcHBlYXJhbmNlOiByYWRpbzsgfVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMS4ycmVtIDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIGlucHV0W3R5cGU9c3VibWl0XTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM0Mjg7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgaW5wdXRbdHlwZT1zdWJtaXRdLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG5cbmlucHV0W3R5cGU9aGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5pbnB1dC5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2RiZDc7XG4gIGNvbG9yOiAjZThlY2VhOyB9XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2JhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZ2Zvcm1fYm9keSxcbi5ta3RvRm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuZ2Zvcm1fYm9keTo6YWZ0ZXIsXG4gIC5ta3RvRm9ybTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyxcbiAgLm1rdG9Gb3JtIC5nZm9ybV9maWVsZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5nZm9ybV9ib2R5IC5nZmllbGQsXG4gIC5ta3RvRm9ybSAuZ2ZpZWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQ6OmFmdGVyLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQ6YmVmb3JlLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkLmdmb3JtX2hpZGRlbixcbiAgICAubWt0b0Zvcm0gLmdmaWVsZC5nZm9ybV9oaWRkZW4ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCBsYWJlbCxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMC42cmVtIDA7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQuaGlkZGVuX2xhYmVsIGxhYmVsLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkLmhpZGRlbl9sYWJlbCBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCBpbnB1dCwgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3QsIC5nZm9ybV9ib2R5IC5nZmllbGQgdGV4dGFyZWEsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgaW5wdXQsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgc2VsZWN0LFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAudGV4dGFyZWEuc21hbGwsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLnRleHRhcmVhLnNtYWxsIHtcbiAgICAgIGhlaWdodDogOS42cmVtOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAudGV4dGFyZWEubWVkaXVtLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC50ZXh0YXJlYS5tZWRpdW0ge1xuICAgICAgaGVpZ2h0OiAxOS4ycmVtOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAudGV4dGFyZWEubGFyZ2UsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLnRleHRhcmVhLmxhcmdlIHtcbiAgICAgIGhlaWdodDogMjguOHJlbTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8sXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGxpLFxuICAgICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3ggbGk6YmVmb3JlLFxuICAgICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8gbGk6YmVmb3JlLFxuICAgICAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX2NoZWNrYm94IGxpOmJlZm9yZSxcbiAgICAgICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9yYWRpbyBsaTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCBpbnB1dCxcbiAgICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9yYWRpbyBpbnB1dCxcbiAgICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3ggaW5wdXQsXG4gICAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCBsYWJlbCxcbiAgICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9yYWRpbyBsYWJlbCxcbiAgICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3ggbGFiZWwsXG4gICAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZC5nZmllbGRfZXJyb3IsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgIGNvbG9yOiAjZGEyOTFjOyB9XG4gICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgIC5ta3RvRm9ybSAuZ2ZpZWxkLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYTI5MWM7IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfcmVxdWlyZWQsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGxpLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5kaXNhYmxlZCxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZGJkNztcbiAgICAgIGNvbG9yOiAjZThlY2VhOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdpbnB1dF9jb3VudGVyLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfZGVzY3JpcHRpb24sXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdpbnB1dF9jb3VudGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG5cbi5nZm9ybV9mb290ZXIge1xuICBjbGVhcjogYm90aDsgfVxuICAuZ2Zvcm1fZm9vdGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMS4ycmVtIDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgICAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDUzNTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b24uZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5nZm9ybV9mb290ZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC42cmVtOyB9IH1cblxuLnZhbGlkYXRpb25fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ta3RvRm9ybSBmaWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuXG4ubWt0b0Zvcm0gbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXNpemU6IDEuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4LjVweDtcbiAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5ta3RvRm9ybSAubWt0b0FzdGVyaXgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1rdG9Gb3JtIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwLjZyZW0gMDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLm1rdG9Gb3JtIC5ta3RvQ2hlY2tib3hMaXN0IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ta3RvRm9ybSAubWt0b0NoZWNrYm94TGlzdCBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ubWt0b0Zvcm0gaW5wdXQsIC5ta3RvRm9ybSBzZWxlY3QsIC5ta3RvRm9ybSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ta3RvRm9ybSAudGV4dGFyZWEuc21hbGwge1xuICBoZWlnaHQ6IDkuNnJlbTsgfVxuXG4ubWt0b0Zvcm0gLnRleHRhcmVhLm1lZGl1bSB7XG4gIGhlaWdodDogMTkuMnJlbTsgfVxuXG4ubWt0b0Zvcm0gLnRleHRhcmVhLmxhcmdlIHtcbiAgaGVpZ2h0OiAyOC44cmVtOyB9XG5cbi5ta3RvRm9ybSAubWt0b0Vycm9yTXNnIHtcbiAgY29sb3I6IHJlZDsgfVxuXG4uY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLCAuY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG4gIC5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCwgLmNoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsIC5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjM5KTsgfVxuICAgIC5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciwgLmNoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWNoZWNrYm94LXRpY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxNHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICB3aWR0aDogMTRweDsgfVxuXG4uY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG5cbi5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLmNoZWNrYm94LS13aGl0ZSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksIC5jaGVja2JveC0td2hpdGUgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG4gIC5jaGVja2JveC0td2hpdGUgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsIC5jaGVja2JveC0td2hpdGUgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNoZWNrYm94LS13aGl0ZSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsIC5jaGVja2JveC0td2hpdGUgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4zOSk7IH1cbiAgICAuY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLCAuY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWNoZWNrYm94LXRpY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxNHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICB3aWR0aDogMTRweDsgfVxuXG4uY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuXG4uY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uY29udGVudF9fc2VjdGlvbl9fY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IH1cblxuLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPXJhZGlvXSArIGlucHV0W3R5cGU9dGV4dF0ge1xuICBmb250LXNpemU6IDAuODc1ZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFjayB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbmRpdltkYXRhLWNhY2hlZC1mb3JtLXVybF0gLmZvcm1Mb2FkZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDA2OTUwICFpbXBvcnRhbnQ7IH1cblxuLm1hcmtldGluZ0Zvcm0gPiBkaXYge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWFya2V0aW5nRm9ybSBwIHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5tYXJrZXRpbmdGb3JtIC5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiA2MDBweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1hcmtldGluZ0Zvcm0gLm5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDM4cHg7XG4gIGJvcmRlcjogMS40NDczN3B4IHNvbGlkICNDQ0NDQ0M7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLm1hcmtldGluZ0Zvcm0gLm5vdGlmaWNhdGlvbi1tZXNzYWdlLWhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tYXJrZXRpbmdGb3JtIHRhYmxlLm91dGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLm1hcmtldGluZ0Zvcm0gLmlubmVyIFtkYXRhLWVkaXRvcmJsb2NrdHlwZV0ge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5tYXJrZXRpbmdGb3JtIC50ZXh0Rm9ybUZpZWxkQmxvY2ssXG4ubWFya2V0aW5nRm9ybSAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayxcbi5tYXJrZXRpbmdGb3JtIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayxcbi5tYXJrZXRpbmdGb3JtIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayxcbi5tYXJrZXRpbmdGb3JtIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7IH1cblxuLm1hcmtldGluZ0Zvcm0gbGFiZWwgPiBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tYXJrZXRpbmdGb3JtIC50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4ubWFya2V0aW5nRm9ybSAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBsYWJlbCxcbi5tYXJrZXRpbmdGb3JtIC5sb29rdXBGb3JtRmllbGRCbG9jayBsYWJlbCxcbi5tYXJrZXRpbmdGb3JtIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCxcbi5tYXJrZXRpbmdGb3JtIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCxcbi5tYXJrZXRpbmdGb3JtIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsLFxuLm1hcmtldGluZ0Zvcm0gZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBsYWJlbFtpZF49XCJ3bHNwaXNwSGlwSW5zdHJ1Y3Rpb25Db250YWluZXJcIl0sXG4ubWFya2V0aW5nRm9ybSAudGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsICosXG4ubWFya2V0aW5nRm9ybSAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBsYWJlbCAqLFxuLm1hcmtldGluZ0Zvcm0gLmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsICosXG4ubWFya2V0aW5nRm9ybSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWwgKixcbi5tYXJrZXRpbmdGb3JtIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCAqLFxuLm1hcmtldGluZ0Zvcm0gLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWwgKixcbi5tYXJrZXRpbmdGb3JtIC5jb25zZW50QmxvY2sgbGFiZWwgPiBwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubWFya2V0aW5nRm9ybSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgZGl2LnR3b29wdGlvbl9jaGVja2JveCBkaXYgbGFiZWwsXG4ubWFya2V0aW5nRm9ybSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgZGl2LnR3b29wdGlvbl9jaGVja2JveCBkaXYgbGFiZWwgZGl2LFxuLm1hcmtldGluZ0Zvcm0gLmNvbnNlbnRCbG9jayBkaXYgbGFiZWwgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm1hcmtldGluZ0Zvcm0gdGFibGUubXVsdGkgLnRleHRGb3JtRmllbGRCbG9jayxcbi5tYXJrZXRpbmdGb3JtIHRhYmxlLm11bHRpIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gdGFibGUubXVsdGkgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gdGFibGUubXVsdGkgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gdGFibGUubXVsdGkgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG4ubWFya2V0aW5nRm9ybSB0YWJsZS5tdWx0aSAubG9va3VwRm9ybUZpZWxkQmxvY2sge1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7IH1cblxuLm1hcmtldGluZ0Zvcm0gLnBob25lRm9ybUZpZWxkQmxvY2sge1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDsgfVxuICAubWFya2V0aW5nRm9ybSAucGhvbmVGb3JtRmllbGRCbG9jayBsYWJlbCxcbiAgLm1hcmtldGluZ0Zvcm0gLnBob25lRm9ybUZpZWxkQmxvY2sgbGFiZWwgKiB7XG4gICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMzMjMxMzA7IH1cbiAgLm1hcmtldGluZ0Zvcm0gLnBob25lRm9ybUZpZWxkQmxvY2sgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWFya2V0aW5nRm9ybSAucGhvbmVGb3JtRmllbGRCbG9jayBsYWJlbDphZnRlciB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICNjMzM0MDA7XG4gICAgICBjb250ZW50OiBcIipcIjsgfVxuICAgIC5tYXJrZXRpbmdGb3JtIC5waG9uZUZvcm1GaWVsZEJsb2NrIGxhYmVsID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1hcmtldGluZ0Zvcm0gdGFibGUubXVsdGkgLnBob25lRm9ybUZpZWxkQmxvY2sge1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7IH1cblxuLm1hcmtldGluZ0Zvcm0gLmNvbnNlbnRCbG9jayB7XG4gIHBhZGRpbmc6IDRweCAzMHB4OyB9XG5cbi5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAwIDEgMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJUZXh0XCJdIHtcbiAgICBtYXJnaW46IDAgMCAyLjRyZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnRleHRGb3JtRmllbGRCbG9jayxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnBob25lRm9ybUZpZWxkQmxvY2ssXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuY29uc2VudEJsb2NrLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5zdWJtaXRCdXR0b25XcmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxMHB4IDAgMS4ycmVtIDAgIWltcG9ydGFudDtcbiAgICBnYXA6IDVweCAhaW1wb3J0YW50OyB9XG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAudGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuICAgIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuICAgIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnBob25lRm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuY29uc2VudEJsb2NrIGxhYmVsLFxuICAgIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnN1Ym1pdEJ1dHRvbldyYXBwZXIgbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDFweDsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlcixcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5ldmVudFNlc3Npb24gbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIlNlc3Npb25zXCJdIGgyOjphZnRlcixcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJDYXB0Y2hhXCJdIGxhYmVsW2lkXj1cIndsc3Bpc3BIaXBJbnN0cnVjdGlvbkNvbnRhaW5lclwiXTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNjMzM0MDA7XG4gICAgY29udGVudDogXCIqXCI7IH1cbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgZGl2LnJhZGlvYnV0dG9ucyBkaXYgaW5wdXQsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggZGl2IGlucHV0LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zIGRpdiBpbnB1dCxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayBmaWVsZHNldCA+IGRpdiA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuZXZlbnRTZXNzaW9uID4gZGl2ID4gaW5wdXRbdHlwZT1yYWRpb10sXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLmV2ZW50U2Vzc2lvbiA+IGRpdiA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuZXZlbnRTZXNzaW9uID4gZGl2ID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5jb25zZW50QmxvY2sgZGl2IGlucHV0IHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzIzMTMwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBhY2NlbnQtY29sb3I6ICMwMDY5NTA7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAucGhvbmVGb3JtRmllbGRCbG9jayBpbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMjsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94ID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGZpZWxkc2V0ID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5jb25zZW50QmxvY2sgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBnYXA6IDhweDsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayBpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VhcmNoLWZsaXBwZWQucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNXB4IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7IH1cbiAgICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayB1bCBsaS51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjk1MCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA2OTUwICFpbXBvcnRhbnQ7IH1cbiAgICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayB1bCBsaTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5zdWJtaXRCdXR0b24ge1xuICAgIHBhZGRpbmc6IDEuMnJlbSA1MHB4OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgc2VsZWN0LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIGlucHV0LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIHRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBhY2NlbnQtY29sb3I6ICMwMDY5NTAgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaGVhZGVyLXB1c2hlcixcbiAgLmhpZGUtZm9yLXByaW50LFxuICAuaGVhZGVyX19ub3RpZnksXG4gIC5oZWFkZXJfX3NlcnZpY2UsXG4gIC5oZWFkZXJfX3N1YixcbiAgLmJyZWFkY3J1bWJzLFxuICAubW9yZS1saW5rLFxuICAucHJvZHVjdC1pbmZvX19jb250ZW50X19jb250YWN0LFxuICAuYW5jaG9yLW5hdixcbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSxcbiAgLnNwZWNzLWRyYXdpbmdzX19saW5rcyxcbiAgLmxpc3QtdmlkZW9zLFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMsXG4gIC5wcm9kdWN0LWRvd25sb2Fkc19fY29udGFjdCAuYnV0dG9uLFxuICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MsXG4gIC5saXN0LXByb2R1Y3RfX21vcmUsXG4gIC5kb29ybWF0LWRlYWxlcixcbiAgLmRvb3JtYXQtcXVlc3Rpb24sXG4gIC5kb29ybWF0LWNhc2Utc3R1ZGllcyxcbiAgLmdldC1pbi10b3VjaCxcbiAgLmZvb3RlcixcbiAgLm1hdGVyaWFsLWxpc3QtbWluaSxcbiAgLm5hdmlnYXRpb24sXG4gIC5yYWRpc2gtY29va2llLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAuNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5rZWVwLXRvZ2V0aGVyLFxuICAuc3BlY3MtZHJhd2luZ3MsXG4gIC5zcGVjcy1saXN0LFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3VzYWdlLFxuICAubGlzdC1wcm9kdWN0cyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5zcGVjcy1saXN0IHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIGNvbHVtbnM6IGF1dG87IH1cbiAgLmhlYWRlciB7XG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgLmhlYWRlcl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgICAuc3BlY3MtdGFibGUtd3JhcHBlciAuc3BlY3MtdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMTBweDsgfVxuICAgICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgfVxuICAubGlzdC1wZGZzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwIDAuNnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAubGlzdC1wZGZzIGxpOmZpcnN0LWxldHRlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1hY3Rpb25zLFxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAuYWN0aW9uLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCB0Ym9keSB0ciAuY2VsbC1kZXRhaWxzIC5zcGVjcy1saXN0IHtcbiAgICBjb2x1bW5zOiBhdXRvOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWRldGFpbHMge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdHBsLW1hdGVyaWFsLWxpc3QgLm1hdGVyaWFsLWxpc3QgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5zaG93LW9uLXByaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5zaG93LW9uLXByaW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG5cbi50YWJsZXByZXNzIHRoZWFkIHRoLFxuLnRhYmxlcHJlc3MgdGZvb3QgdGgsXG4udGFibGVwcmVzcyA+IDp3aGVyZSh0aGVhZCwgdGZvb3QpID4gdHIgPiAqIHtcbiAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnRhYmxlcHJlc3MgdGhlYWQgLmR0LW9yZGVyYWJsZS1hc2M6aG92ZXIsXG4udGFibGVwcmVzcyB0aGVhZCAuZHQtb3JkZXJhYmxlLWRlc2M6aG92ZXIsXG4udGFibGVwcmVzcyB0aGVhZCAuZHQtb3JkZXJpbmctYXNjLFxuLnRhYmxlcHJlc3MgdGhlYWQgLmR0LW9yZGVyaW5nLWRlc2Mge1xuICBiYWNrZ3JvdW5kOiAjMDA2OTUwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLnRhYmxlcHJlc3MgdGJvZHkgdGQsXG4udGFibGVwcmVzcyB0Zm9vdCB0aCB7XG4gIGJhY2tncm91bmQ6ICNlOGVjZWE7IH1cblxuLnRhYmxlcHJlc3MgdGhlYWQgLmR0LW9yZGVyYWJsZS1hc2MgLmR0LWNvbHVtbi1vcmRlcixcbi50YWJsZXByZXNzIHRoZWFkIC5kdC1vcmRlcmFibGUtZGVzYyAuZHQtY29sdW1uLW9yZGVyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4uZHQtc2VhcmNoIC5kdC1pbnB1dCB7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4uZHQtaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTlhOWE5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuc2VsZWN0LmR0LWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMTRweCAhaW1wb3J0YW50OyB9XG5cbi5wYWdpbmdfc2ltcGxlIC5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6YmVmb3JlLCAucGFnaW5nX3NpbXBsZSAucGFnaW5hdGVfYnV0dG9uLm5leHQ6YWZ0ZXIge1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogJ1xcZjEwNCc7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZSwgc2Fucy1zZXJpZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLnBhZ2luZ19zaW1wbGUgLnBhZ2luYXRlX2J1dHRvbi5uZXh0OmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjEwNSc7IH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIsXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIHNlbGVjdCxcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGggc2VsZWN0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2luZm8gc2VsZWN0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNHB4IHRvcCAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCAyMHB4IDRweCAxMHB4OyB9XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCBpbnB1dCxcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19pbmZvIGlucHV0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIGlucHV0IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHBhZGRpbmc6IDRweCA1cHg7IH1cblxuLyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE4LTA4LTA4XG4qIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiogSW5jbHVkZXM6IGNvcmUuY3NzLCB0b29sdGlwLmNzc1xuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi51aS1oZWxwZXItcmVzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi51aS1oZWxwZXItemZpeCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqLyB9XG5cbi51aS1mcm9udCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXRvcDogLS4yNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4udWktd2lkZ2V0LWljb24tYmxvY2sge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi51aS10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXgtd2lkdGg6IDMwMHB4OyB9XG5cbmJvZHkgLnVpLXRvb2x0aXAge1xuICBib3JkZXItd2lkdGg6IDJweDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaGVhZGVyLXB1c2hlcixcbiAgLmhpZGUtZm9yLXByaW50LFxuICAuaGVhZGVyX19ub3RpZnksXG4gIC5oZWFkZXJfX3NlcnZpY2UsXG4gIC5oZWFkZXJfX3N1YixcbiAgLmJyZWFkY3J1bWJzLFxuICAubW9yZS1saW5rLFxuICAucHJvZHVjdC1pbmZvX19jb250ZW50X19jb250YWN0LFxuICAuYW5jaG9yLW5hdixcbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSxcbiAgLnNwZWNzLWRyYXdpbmdzX19saW5rcyxcbiAgLmxpc3QtdmlkZW9zLFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMsXG4gIC5wcm9kdWN0LWRvd25sb2Fkc19fY29udGFjdCAuYnV0dG9uLFxuICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MsXG4gIC5saXN0LXByb2R1Y3RfX21vcmUsXG4gIC5kb29ybWF0LWRlYWxlcixcbiAgLmRvb3JtYXQtcXVlc3Rpb24sXG4gIC5kb29ybWF0LWNhc2Utc3R1ZGllcyxcbiAgLmdldC1pbi10b3VjaCxcbiAgLmZvb3RlcixcbiAgLm1hdGVyaWFsLWxpc3QtbWluaSxcbiAgLm5hdmlnYXRpb24sXG4gIC5yYWRpc2gtY29va2llLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAuNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5rZWVwLXRvZ2V0aGVyLFxuICAuc3BlY3MtZHJhd2luZ3MsXG4gIC5zcGVjcy1saXN0LFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3VzYWdlLFxuICAubGlzdC1wcm9kdWN0cyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5zcGVjcy1saXN0IHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIGNvbHVtbnM6IGF1dG87IH1cbiAgLmhlYWRlciB7XG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgLmhlYWRlcl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgICAuc3BlY3MtdGFibGUtd3JhcHBlciAuc3BlY3MtdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMTBweDsgfVxuICAgICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgfVxuICAubGlzdC1wZGZzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwIDAuNnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAubGlzdC1wZGZzIGxpOmZpcnN0LWxldHRlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1hY3Rpb25zLFxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAuYWN0aW9uLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCB0Ym9keSB0ciAuY2VsbC1kZXRhaWxzIC5zcGVjcy1saXN0IHtcbiAgICBjb2x1bW5zOiBhdXRvOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWRldGFpbHMge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdHBsLW1hdGVyaWFsLWxpc3QgLm1hdGVyaWFsLWxpc3QgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5zaG93LW9uLXByaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5zaG93LW9uLXByaW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmhlYWRlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiAjZThlY2VhO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDkwOyB9XG4gIC5oZWFkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHkuYWRtaW4tYmFyIC5oZWFkZXIge1xuICAgIHRvcDogMzJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5oZWFkZXJfX3RvcCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgcGFkZGluZzogMi40cmVtIDAgMi40cmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmhlYWRlcl9fdG9wIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBib2R5LnNpdGUtMSAuaGVhZGVyX190b3Age1xuICAgICAgcGFkZGluZy10b3A6IDEuMnJlbTsgfVxuICAgIC5oZWFkZXJfX3RvcCAud3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fdG9wIC53cmFwcGVyIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAgIC5oZWFkZXJfX3RvcF9fcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuaGVhZGVyX190b3BfX3JpZ2h0IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmbGV4OiAwIDEwMCU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVhZGVyX190b3BfX3JpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5oZWFkZXItLWhpZGRlbiAuaGVhZGVyX190b3BfX3JpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmhlYWRlcl9fbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuICAgIGZsZXg6IDAgMCAzMDBweDtcbiAgICB0cmFuc2l0aW9uOiBmbGV4IDAuMnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZWFkZXJfX2xvZ28ge1xuICAgICAgICBmbGV4OiAwIDAgMjMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlOyB9IH1cbiAgICAuaGVhZGVyLS1oaWRkZW4gLmhlYWRlcl9fbG9nbyB7XG4gICAgICBmbGV4OiAwIDAgMjAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5oZWFkZXItLWhpZGRlbiAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgICBmbGV4OiAwIDEgMTAwJTsgfSB9XG4gICAgLmhlYWRlcl9fbG9nbyBoMSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICAuaGVhZGVyX19sb2dvIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVhZGVyX19sb2dvIGEge1xuICAgICAgICAgIGZsZXg6IDAgMSAxODBweDsgfSB9XG4gICAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19zZXJ2aWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5oZWFkZXItLWhpZGRlbiAuaGVhZGVyX19zZXJ2aWNlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAgIC5oZWFkZXJfX3NlcnZpY2VfX25hdmlnYXRpb24ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fc2VydmljZV9fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDIuNHJlbSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgICAgIC5oZWFkZXJfX3NlcnZpY2VfX25hdmlnYXRpb24gLmhlYWRlcl9fc3ViX19tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW07IH1cbiAgLmhlYWRlcl9fY29udGFjdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogMjMuMjU1ODElO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmhlYWRlcl9fY29udGFjdDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhlYWRlcl9fY29udGFjdF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmhlYWRlcl9fY29udGFjdF9faXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgICAuaGVhZGVyX19jb250YWN0X19pdGVtIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmhlYWRlcl9fY29udGFjdF9faXRlbV9fcGhvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi10ZWxlcGhvbmUtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuICAgICAgLmhlYWRlcl9fY29udGFjdF9faXRlbV9fZW1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1tYWlsLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cbiAgLmhlYWRlcl9fc3ViIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19zdWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9IH1cbiAgICAuaGVhZGVyX19zdWIgLndyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmhlYWRlcl9fc3ViIC53cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5LnNpdGUtMSAuaGVhZGVyX19zdWIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXItLXNjcm9sbGluZyAuaGVhZGVyX19zdWIsXG4gICAgLmhlYWRlci0taGlkZGVuIC5oZWFkZXJfX3N1YiB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgICAuaGVhZGVyX19zdWJfX2xhbmd1YWdlLXN3aXRjaGVyY2hvb3NlLWNvdW50cnktbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhlYWRlcl9fc3ViX19kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhlYWRlcl9fc3ViX19tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fc3ViX19tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24ge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuaGVhZGVyX19zdWJfX21vYmlsZV9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b246YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24uZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24gaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDE1cHggLTJweCAwOyB9XG4gICAgLmhlYWRlcl9fc3ViX19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuaGVhZGVyX19zdWJfX21lbnUge1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51Om5vdCguaW5saW5lKSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudTpub3QoLmlubGluZSkgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIHtcbiAgICAgICAgICBmbGV4OiAxIDAgMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICAuaGVhZGVyX19zdWJfX21lbnU6bm90KC5pbmxpbmUpIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtLS1jdXN0b20gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogMjRweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTZweDsgfVxuICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEuZG93bmxvYWRzOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1kb3dubG9hZHMuc3ZnXCIpOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEubWF0ZXJpYWxsaXN0OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1tYXRlcmlhbGxpc3Quc3ZnXCIpOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEubG9naW46YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWxvZ2luLnN2Z1wiKTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYS5sYW5ndWFnZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhLmxhbmd1YWdlOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEubGFuZ3VhZ2UgZmlndXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYS5sYW5ndWFnZSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYS5sYW5ndWFnZSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0MHB4OyB9IH1cbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtLS1jdXN0b20gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtLS1jdXN0b20gYTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyX19ub3RpZnkge1xuICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlcl9fbm90aWZ5X19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICAuaGVhZGVyX19ub3RpZnlfX3NlY3Rpb25fX2FjdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9IH1cbiAgICAuaGVhZGVyX19ub3RpZnlfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgLmhlYWRlcl9fbm90aWZ5X19jaG9vc2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgIC5oZWFkZXJfX25vdGlmeSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNoZWFkZXItcHVzaGVyIHtcbiAgaGVpZ2h0OiAxOHJlbTsgfVxuICBib2R5LnNpdGUtMSAjaGVhZGVyLXB1c2hlciB7XG4gICAgaGVpZ2h0OiAxMnJlbTsgfVxuICBib2R5LmhlYWRlci1oaWRkZW4gI2hlYWRlci1wdXNoZXIge1xuICAgIGhlaWdodDogMTQuNHJlbTsgfVxuXG4uZG9vcm1hdC1kZWFsZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmctZG9vcm1hdC1kZWFsZXIuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtaW4taGVpZ2h0OiAyNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb29ybWF0LWRlYWxlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZG9vcm1hdC1kZWFsZXIge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5kb29ybWF0LWRlYWxlciBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZG9vcm1hdC1kZWFsZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAuZG9vcm1hdC1kZWFsZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDQuOHJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZG9vcm1hdC1kZWFsZXJfX2NvbnRlbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5kb29ybWF0LWRlYWxlcl9fY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5kb29ybWF0LWRlYWxlcl9fY29udGVudF9faGVhZGluZyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAgIC5kb29ybWF0LWRlYWxlcl9fY29udGVudF9fc3ViaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuZG9vcm1hdC1kZWFsZXJfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvX2R1bW15L2Zvb3Rlci10cnVjay5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kb29ybWF0LWRlYWxlcl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmRlYWxlci1mb3JtIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNjAlOyB9XG4gIC5kZWFsZXItZm9ybTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmRlYWxlci1mb3JtX190ZXh0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogY2FsYyggOTglIC0gMTg1cHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kZWFsZXItZm9ybV9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZGVhbGVyLWZvcm1fX3N1Ym1pdCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB3aWR0aDogMTc1cHg7IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmRlYWxlci1mb3JtX19zdWJtaXQuZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kZWFsZXItZm9ybV9fc3VibWl0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuICAgIC5kZWFsZXItZm9ybV9fc3VibWl0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0NjY7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlNWRhO1xuICAgICAgY29sb3I6ICMwMDY5NTA7IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JhZDNjNjtcbiAgICAgIGNvbG9yOiAjMDA2OTUwOyB9XG4gICAgLmRlYWxlci1mb3JtX19zdWJtaXQgLmZhLXNlYXJjaCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICBmaWx0ZXI6IEZsaXBIOyB9XG4gIC5kZWFsZXItZm9ybSAubG9jYXRpb24tZGV0ZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1sb2NhdGlvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IDExcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmRvb3JtYXQtcXVlc3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9XG4gIC5kb29ybWF0LXF1ZXN0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYnVpbGRlci5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxNiUgdG9wIDQ1JTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMXB4IDEyMnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZzogNC44cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gICAgLmRvb3JtYXQtcXVlc3Rpb25fX2NvbnRlbnRfX2hlYWRpbmcge1xuICAgICAgY29sb3I6ICMwMDY5NTA7IH1cbiAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDUzNTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24uZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG4gICAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDkwJTsgfVxuICAgICAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IC0ycHggMDsgfSB9XG5cbi5kb29ybWF0LWNhc2Utc3R1ZGllcyB7XG4gIHBhZGRpbmc6IDMuNnJlbSAwOyB9XG4gIC5kb29ybWF0LWNhc2Utc3R1ZGllc19faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZ2V0LWluLXRvdWNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLXF1aWNrLWxpbmtzLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZzogNy4ycmVtIDA7IH1cbiAgLmdldC1pbi10b3VjaF9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07IH1cbiAgICAuZ2V0LWluLXRvdWNoX19oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgIGZvbnQtc2l6ZTogNS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDgyLjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4LjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZ2V0LWluLXRvdWNoX19lbnRyaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXMge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDQgLSA0MHB4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDQwcHgpO1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5X19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmdldC1pbi10b3VjaF9fZW50cmllc19fZW50cnlfX2ljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuZ2V0LWluLXRvdWNoX19lbnRyaWVzX19lbnRyeV9faWNvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgLmdldC1pbi10b3VjaF9fZW50cmllc19fZW50cnlfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgICAuZ2V0LWluLXRvdWNoX19lbnRyaWVzX19lbnRyeV9fbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5X19sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNnJlbTsgfSB9XG5cbi5mb290ZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA1MHB4IDAgMDsgfVxuICAuc2l0ZS0xIC5mb290ZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZvb3RlciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5mb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2U4ZWNlYTsgfVxuICAgIC5mb290ZXIgYS5idXR0b24ge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci13aWRnZXRzIHtcbiAgcGFkZGluZzogNTBweCAwOyB9XG4gIC5mb290ZXItd2lkZ2V0cyAud3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhciB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxOyB9XG4gICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19tZW51IHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDMgLSA0MHB4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19tZW51IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG4gICAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX21lbnVfX2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX21lbnVfX2xvZ28gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX21lbnVfX25hdmlnYXRpb24gbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19tZW51X19uYXZpZ2F0aW9uIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX3RleHQsIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gNDBweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fdGV4dCwgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19uZXdzbGV0dGVyIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG4gICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX190ZXh0X190YWdsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmZlZDAwOyB9XG4gICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19uZXdzbGV0dGVyIC53aWRnZXQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX25ld3NsZXR0ZXIgLmdmb3JtX2JvZHkge1xuICAgICAgZmxleDogMTsgfVxuICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7IH1cbiAgICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDsgfVxuICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlcl9fZm9ybS1oZWFkZXIge1xuICAgICAgY29sb3I6ICNmZmVkMDA7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVjZWE7XG4gIHBhZGRpbmc6IDQuOHJlbSAwIDIuNHJlbSAwOyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDIzLjI1NTgxJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOm50aC1jaGlsZCg0bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElO1xuICAgICAgICB3aWR0aDogNDguMjM1MjklOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMy41Mjk0MSU7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4gaDQge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTdweDsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4gdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbiB1bCBsaS5sYXN0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjZyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbi0tY29udGFjdCBoNCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uLS1jb250YWN0IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4tLWNvbnRhY3QgdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbi0tY29udGFjdF9faXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uLS1jb250YWN0X19pdGVtLS1waG9uZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMS41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjE1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi10ZWxlcGhvbmUtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4tLWNvbnRhY3RfX2l0ZW0tLW1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1tYWlsLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDEwcHg7IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uLS1jb250YWN0X19pdGVtLS1jb250YWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY29udGFjdC13aGl0ZS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTNweCAxNHB4OyB9XG5cbi5mb290ZXItbmV3c2xldHRlciB7XG4gIHBhZGRpbmc6IDQuOHJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtLFxuICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogNjUuODkxNDclO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm06bGFzdC1jaGlsZCxcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0sXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2ZpZWxkX2xhYmVsLFxuICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZmllbGRfbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fdGV4dCxcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2JvZHksXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3RleHQsXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2JvZHkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDYwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX190ZXh0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2JvZHksXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtX190ZXh0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm1fX3RleHQsXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2Zvcm1fYm9keSxcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3RleHQsXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2JvZHksXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9mb290ZXIsXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2JvZHksXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX19zdWJtaXQsXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b24sXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3N1Ym1pdCxcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0OmhvdmVyLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0OmhvdmVyLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm1fX3N1Ym1pdDphY3RpdmUsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2J1dHRvbjphY3RpdmUsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0OmFjdGl2ZSxcbiAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZm9ybV9idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0LmRpc2FibGVkLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b24uZGlzYWJsZWQsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0LmRpc2FibGVkLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX19zdWJtaXQsXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2Zvcm1fYnV0dG9uLFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX19zdWJtaXQ6aG92ZXIsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtX19zdWJtaXQ6aG92ZXIsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjQ2NjtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2J1dHRvbixcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3N1Ym1pdCxcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3NvY2lhbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogMzEuNzgyOTUlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5mb290ZXItbmV3c2xldHRlcl9fc29jaWFsOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fc29jaWFsIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3NvY2lhbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19zb2NpYWw6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyIC5zb2NpYWwtbGlua3MgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXIgLnNvY2lhbC1saW5rc19faXRlbSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTIuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIC5zb2NpYWwtbGlua3NfX2l0ZW06aG92ZXIge1xuICAgICAgY29sb3I6ICNlOGVjZWE7IH1cblxuLmZvb3Rlci1ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNC44cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZm9vdGVyLWJvdHRvbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNy4ycmVtOyB9IH1cbiAgLmZvb3Rlci1ib3R0b20gLndyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZvb3Rlci1ib3R0b20gLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9vdGVyLWJvdHRvbSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZm9vdGVyLWJvdHRvbV9fbGlua3Mge1xuICAgIGZsZXg6IDAgMSA2MCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZvb3Rlci1ib3R0b21fX2xpbmtzIHtcbiAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLmZvb3Rlci1ib3R0b21fX3NvY2lhbCB7XG4gICAgZmxleDogMCAxIDQwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZm9vdGVyLWJvdHRvbV9fc29jaWFsIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlOyB9IH1cbiAgICAuZm9vdGVyLWJvdHRvbV9fc29jaWFsIC5zb2NpYWwtbGlua3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmZvb3Rlci1ib3R0b21fX3NvY2lhbCAuc29jaWFsLWxpbmtzIGxpIHtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAgIC5mb290ZXItYm90dG9tX19zb2NpYWwgLnNvY2lhbC1saW5rcyBsaSBhIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmaWxsOiAjMDA2OTUwOyB9XG4gICAgICAgIC5mb290ZXItYm90dG9tX19zb2NpYWwgLnNvY2lhbC1saW5rcyBsaSBhOmhvdmVyIHN2ZyB7XG4gICAgICAgICAgZmlsbDogI2U4ZWNlYTsgfVxuICAgIC5mb290ZXItYm90dG9tX19zb2NpYWwgYSB7XG4gICAgICBjb2xvcjogIzAwNjk1MDsgfVxuXG4uY29weXJpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGlzYWJsZS1jb29raWVzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5kaXNhYmxlLWNvb2tpZXMge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLnNlYXJjaC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLWJsb2NrIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnNlYXJjaC1ibG9jayAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAzMHB4OyB9XG4gICAgLnNlYXJjaC1ibG9jayAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2VhcmNoLWJsb2NrIC5wYWdpbmF0aW9uIC5wcmV2IHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNlYXJjaC1ibG9jayAucGFnaW5hdGlvbiAubmV4dCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cblxuI3dhbHJhdmVuX2FqYXhfbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoIDUwJSAtIDUwcHgpO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTI3cHggMCAwIC0yN3B4O1xuICB3aWR0aDogNTRweDtcbiAgaGVpZ2h0OiA1NXB4OyB9XG5cbi5zZWFyY2hmb3JtIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoZm9ybTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlYXJjaGZvcm0tLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAgIC5zZWFyY2hmb3JtLS1jb250ZW50IGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaGZvcm1fX3NlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZGJkNztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCAxOXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4ODBweCkge1xuICAgICAgLnNlYXJjaGZvcm1fX3NlbGVjdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5zZWFyY2hmb3JtX19zZWxlY3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMjFweDsgfVxuICAuc2VhcmNoZm9ybSAudHdpdHRlci10eXBlYWhlYWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5zZWFyY2hmb3JtX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA0cHggMzBweCA0cHggMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMnB4OyB9XG4gICAgYm9keS5uby1zZWFyY2ggLnNlYXJjaGZvcm1fX3RleHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogNzklOyB9XG4gIC5zZWFyY2hmb3JtX19zdWJtaXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNC44cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NlMWRjOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5zZWFyY2hmb3JtX19zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCA1MCU7XG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnNlYXJjaGZvcm1fX3N1Ym1pdCAuZmEtc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIGZpbHRlcjogRmxpcEg7IH1cbiAgICAuc2VhcmNoZm9ybV9fc3VibWl0X190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlYXJjaGZvcm0gLnNlYXJjaC1zdWdnZXN0aW9uIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLm5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2OHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICB0b3A6IDExOXB4OyB9IH1cbiAgLmhlYWRlci0taGlkZGVuIC5uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5oZWFkZXItLWhpZGRlbiAubmF2aWdhdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDkwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTEwcHgpOyB9IH1cbiAgLm5hdmlnYXRpb25fX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC8qKlxuICAgICAgICAgKiBHZW5lcmFsIG1lbnUgaXRlbSBzdHlsaW5nXG4gICAgICAgICAqL1xuICAgIC8qKlxuICAgICAgICAgKiBTdHlsaW5nIHN1YiBtZW51LlxuICAgICAgICAgKiBTaW5jZSB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBzdWIgbWVudSdzLCB0aGlzIHN0eWxpbmcgb25seSBhcHBsaWVzIHRvIHRoZSBmaXJzdCAnbGF5ZXInXG4gICAgICAgICAqXG4gICAgICAgICAqIFVzZSBmb2N1cy13aXRoaW4gZm9yIGFjY2Vzc2liaWxpdHksIHRoaXMgbWFrZXMgdGhlIG1lbnUga2V5Ym9hcmQgZnJpZW5kbHkuXG4gICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLm5hdmlnYXRpb25fX2xpc3QgYVtocmVmPVwiI1wiXSwgLm5hdmlnYXRpb25fX2xpc3QgYVtocmVmPVwiXCJdLCAubmF2aWdhdGlvbl9fbGlzdCBhOm5vdChbaHJlZl0pIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5uYXZpZ2F0aW9uX19saXN0IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5uYXZpZ2F0aW9uX19saXN0IC5tZW51LWl0ZW0gYSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhpcyBoYXMgdG8gYmUgYSBzZXBhcmF0ZSBzZWxlY3RvciBiZWNhdXNlIG9mLi4uIHdoYXQgZWxzZSBJRSBhbmQgRWRnZS5cbiAgICAgICAgICAgICAqIElFIGFuZCBFZGdlIGRvbid0IHJlY29nbml6ZSA6Zm9jdXMtd2l0aGluLCB0aGVyZWZvcmUgaXQgaGFzIHRvIGJlIGEgc2VwYXJhdGUgc2VsZWN0b3IuXG4gICAgICAgICAgICAgKi8gfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI6YWZ0ZXIsIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMtd2l0aGluOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2RmZWVmZjtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2RmZWVmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtOmhvdmVyLCAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0uZm9jdXMtd2l0aGluIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpob3ZlciwgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpob3ZlciA+IC5zdWItbWVudSxcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtOmhvdmVyID4gLnN1Yi1tZW51OmJlZm9yZSwgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLmZvY3VzLXdpdGhpbiA+IC5zdWItbWVudSxcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLmZvY3VzLXdpdGhpbiA+IC5zdWItbWVudTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpob3ZlciA+IGEsIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS5mb2N1cy13aXRoaW4gPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH0gfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtOmZvY3VzLXdpdGhpbiA+IC5zdWItbWVudSxcbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpmb2N1cy13aXRoaW4gPiAuc3ViLW1lbnU6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UgLjE1cztcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEFwcGx5IHRoZSBncmVlbiBmdWxsIHdpZHRoIGJhY2tncm91bmQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIE1ha2UgdGhlIGZpcnN0IHN1YiBtZW51IGxpbmsgYm9sZC5cbiAgICAgICAgICAgICAgICAgKi8gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICB3aWR0aDogMjAwdnc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC0xMDB2dztcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlIC4xNXM7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSA+IC5tZW51LWl0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNC44cmVtOyB9XG4gICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0gLnN1Yi1tZW51IC5zdWItbWVudSBhIHtcbiAgICAgICAgY29sb3I6ICNkM2RiZDc7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtIC5zdWItbWVudSAuc3ViLW1lbnUgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cblxuLm5hdmlnYXRpb24tbGFiZWwge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5uYXZpZ2F0aW9uLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5uYXZpZ2F0aW9uLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmbGV4OiAwIDEgNzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgLm5hdmlnYXRpb24tbGFiZWwge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiA3OHB4OyB9XG4gICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87IH0gfVxuICAgIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b25fX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogNnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19sYWJlbCB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b25fX2JhcnMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19iYXJzIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHRvcDogLTEzcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbl9fYmFycyB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRvcDogLTE0cHg7IH0gfVxuICAgICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbl9fYmFyczpiZWZvcmUsIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b25fX2JhcnM6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgb3BhY2l0eTogLjk5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19iYXJzOmJlZm9yZSB7XG4gICAgICAgIHRvcDogN3B4OyB9XG4gICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19iYXJzOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtN3B4OyB9XG4gIC5uYXZpZ2F0aW9uLWxhYmVsLmFjdGl2ZSAubWVudS1iYXJzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uYXZpZ2F0aW9uLWxhYmVsLmFjdGl2ZSAubWVudS1iYXJzOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAubmF2aWdhdGlvbi1sYWJlbC5hY3RpdmUgLm1lbnUtYmFyczphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBjb2xvcjogI2QzZGJkNztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMxYzI7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICNjMGMxYzI7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDQ1MzU7IH1cbiAgLmJyZWFkY3J1bWJzIC5icmVhZGNydW1iX2xhc3Qge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi50dC1kcm9wZG93bi1tZW51IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB3aWR0aDogNDAwcHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOGVjZWE7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4OyB9XG4gIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR0LWRyb3Bkb3duLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50dC1kcm9wZG93bi1tZW51IC50dC1kYXRhc2V0LWF1dG9jb21wbGV0ZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2RiZDc7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAudHQtZHJvcGRvd24tbWVudSAudHQtZGF0YXNldC1hdXRvY29tcGxldGUgLnR0LXN1Z2dlc3Rpb24ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gICAgICAudHQtZHJvcGRvd24tbWVudSAudHQtZGF0YXNldC1hdXRvY29tcGxldGUgLnR0LXN1Z2dlc3Rpb24gaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNzBweDsgfVxuICAgICAgLnR0LWRyb3Bkb3duLW1lbnUgLnR0LWRhdGFzZXQtYXV0b2NvbXBsZXRlIC50dC1zdWdnZXN0aW9uIC50ZXh0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAgICAgICAudHQtZHJvcGRvd24tbWVudSAudHQtZGF0YXNldC1hdXRvY29tcGxldGUgLnR0LXN1Z2dlc3Rpb24gLnRleHQtLW5vLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTcwcHg7IH1cbiAgICAgIC50dC1kcm9wZG93bi1tZW51IC50dC1kYXRhc2V0LWF1dG9jb21wbGV0ZSAudHQtc3VnZ2VzdGlvbiAub3ZlcnZpZXcge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnR0LWRyb3Bkb3duLW1lbnUgLnR0LXN1Z2dlc3Rpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMTBweDsgfVxuICAgIC50dC1kcm9wZG93bi1tZW51IC50dC1zdWdnZXN0aW9uIHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAudHQtZHJvcGRvd24tbWVudSAudHQtY3Vyc29yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDNkYmQ3OyB9XG5cbi5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogODIuOTQ1NzQlOyB9XG4gIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4udHQtaGludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uYW5jaG9yLW5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5hbmNob3ItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYW5jaG9yLW5hdiAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggY2FsYyggMjBweCAtIDAuNnJlbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYW5jaG9yLW5hdl9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogNCAtIDIwcHgpO1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hbmNob3ItbmF2IC5hbmNob3ItbmF2X19pdGVtcyB7XG4gICAgZmxleDogYXV0bztcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYW5jaG9yLW5hdiAuYW5jaG9yLW5hdl9faXRlbXMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuYW5jaG9yLW5hdiAuYW5jaG9yLW5hdl9faXRlbXMgbGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuYW5jaG9yLW5hdi0tc3RpY2t5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiA4OHB4O1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC4yczsgfVxuICAgIGJvZHkuaGVhZGVyLWhpZGRlbiAuYW5jaG9yLW5hdi0tc3RpY2t5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuYW5jaG9yLW5hdi0tc3RpY2t5IC5hbmNob3ItbmF2X19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5hbmNob3ItbmF2LS1zdGlja3kgLmFuY2hvci1uYXZfX2l0ZW1zIHtcbiAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5hbmNob3ItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmFuY2hvci1uYXZfX2l0ZW0tLWN1cnJlbnQsIC5hbmNob3ItbmF2X19pdGVtOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZlZDAwOyB9XG4gIC5hbmNob3ItbmF2X19wcm9kdWN0Z3JvdXAtY29kZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnBhZ2luYXRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAyLjRyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1kb3dubG9hZHMgLnBhZ2luYXRpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNHB4O1xuICAgIHBhZGRpbmc6IDJweCAxMHB4OyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2LCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQge1xuICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBib3JkZXItY29sb3I6ICMwMDY5NTA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAucGFnaW5hdGlvbiAuY3VycmVudF9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLnBhZ2luYXRpb24gLmN1cnJlbnRfX3NlbGVjdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfVxuXG4ucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAucGFnZS10aXRsZSBoMSB7XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMi40cmVtOyB9XG4gIC5jb250ZW50X19tYWluLWhlYWRpbmcge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBib2R5LnNpdGUtMSAuY29udGVudF9fbWFpbi1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTsgfVxuICAuY29udGVudF9fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgLmNvbnRlbnRfX3NlY3Rpb246OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250ZW50X19zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbnRlbnRfX3NlY3Rpb24tLWxpZ2h0Z3JleSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlY2VhO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNHJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNvbnRlbnRfX3NlY3Rpb24tLXdoaXRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjRyZW07IH1cbiAgICAuY29udGVudF9fc2VjdGlvbl9fbWV0YSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4ycmVtOyB9XG4gICAgICBib2R5LnNpbmdsZSAuY29udGVudF9fc2VjdGlvbl9fbWV0YSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDc4MHB4IDFmcjtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudDo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudC0taGFzLWltYWdlOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtLWhhcy1pbWFnZSAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9faW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgICAgIHdpZHRoOiAyMy4yNTU4MSU7IH1cbiAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtLWhhcy1pbWFnZSAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9faW1hZ2U6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudC0taGFzLWltYWdlIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgICB3aWR0aDogNzQuNDE4NiU7IH1cbiAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtLWhhcy1pbWFnZSAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9fdGV4dDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50LS1oYXMtaW1hZ2UgLmNvbnRlbnRfX3NlY3Rpb25fX21ldGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudCAuc2VhcmNoLXRlcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmRlY2MwO1xuICAgICAgICBwYWRkaW5nOiAzcHg7IH1cbiAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuYmxvZyAuY29udGVudF9fc2VjdGlvbl9fY29udGVudCBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuICAgIGNvbG9yOiAjMDA2OTUwO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyOC41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIC5jb250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb250ZW50IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuY29udGVudCB1bCxcbiAgLmNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMCAwIDIuNHJlbSAzMHB4OyB9XG4gICAgLmNvbnRlbnQgdWwgdWwsXG4gICAgLmNvbnRlbnQgdWwgb2wsXG4gICAgLmNvbnRlbnQgb2wgdWwsXG4gICAgLmNvbnRlbnQgb2wgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5jb250ZW50IG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAuY29udGVudCB1bCBsaSxcbiAgLmNvbnRlbnQgb2wgdWwgbGkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb250ZW50IHVsIGxpOmJlZm9yZSxcbiAgICAuY29udGVudCBvbCB1bCBsaTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB3aWR0aDogN3B4OyB9XG4gIC5jb250ZW50IG9sIHVsIGxpOmJlZm9yZSxcbiAgLmNvbnRlbnQgdWwgdWwgbGk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2Y3ZjdmOyB9XG4gIC5jb250ZW50IG9sIGxpLFxuICAuY29udGVudCB1bCBvbCBsaSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY29udGVudCBociB7XG4gICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxcHg7IH1cbiAgLmNvbnRlbnQgLmdhbGxlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgICB3aWR0aDogMzEuNzgyOTUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgd2lkdGg6IDQ4LjgzNzIxJTsgfVxuICAgICAgLmNvbnRlbnQgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgd2lkdGg6IDIzLjI1NTgxJTsgfVxuICAgICAgLmNvbnRlbnQgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtLCAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICAgIHdpZHRoOiAxNC43Mjg2OCU7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbiksIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSksIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkLCAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pLCAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4rMSksIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgIHdpZHRoOiA0Ni4zNDE0NiU7IH1cbiAgICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclOyB9XG4gICAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclOyB9XG4gICAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuXG4uam9iLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLmpvYi1idXR0b25zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuam9iLWJ1dHRvbnMgYSB7XG4gICAgICBtYXJnaW46IDAgMTBweCAxLjJyZW0gMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgLmpvYi1idXR0b25zIGEge1xuICAgICAgZmxleDogMCAxIDEwMCU7IH0gfVxuXG5wIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYmxvZyBwIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY291bnRyeS1vdmVydmlldyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNvdW50cnktb3ZlcnZpZXc6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHk6bm90KC5zaXRlLTEpIC5jb3VudHJ5LW92ZXJ2aWV3IHtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLmNvdW50cnktb3ZlcnZpZXc6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmNvdW50cnktb3ZlcnZpZXctLXRvcCwgLmNvdW50cnktb3ZlcnZpZXctLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzMDA7IH1cbiAgLmNvdW50cnktb3ZlcnZpZXctLXRvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjNweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAuY291bnRyeS1vdmVydmlldy0tYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG4gIC5jb3VudHJ5LW92ZXJ2aWV3X19jbG9zZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNvdW50cnktb3ZlcnZpZXdfX2Nsb3NlOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jb3VudHJ5LW92ZXJ2aWV3X19jb250aW5lbnQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAwOyB9XG4gIC5jb3VudHJ5LW92ZXJ2aWV3X19pbnRlcm5hdGlvbmFsIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMuM3JlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmNvdW50cnktb3ZlcnZpZXdfX2ludGVybmF0aW9uYWwgaW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uZmlsdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMDA2OTUwO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmlsdGVyLmlzLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNlNWU1ZTU7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2U1ZTVlNTtcbiAgICBtYXJnaW4tdG9wOiAtNC44cmVtO1xuICAgIHBhZGRpbmc6IDQuOHJlbSAyMHB4IDEuMnJlbSAyMHB4OyB9XG4gICAgLmZpbHRlci5pcy1tb2JpbGUgLmZpbHRlcl9faGVhZGluZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMTBweCAxLjJyZW0gMjBweDsgfVxuICAuZmlsdGVyX19zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgcGFkZGluZzogMCAyMHB4IDIuNHJlbSAyMHB4OyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbl9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgY29sb3I6ICMwMDY5NTA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtOyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbl9fY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAuZmlsdGVyX19zZWN0aW9uLS1jb2xsYXBzYWJsZSAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNhYmxlIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmc6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHJpZ2h0IDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogcmlnaHQgMC4ycyBlYXNlLWluLW91dCwgLW1vei10cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LWJsYWNrLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMnB4IHRvcCA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDhweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNhYmxlIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmc6aG92ZXI6YWZ0ZXIge1xuICAgICAgICByaWdodDogNXB4OyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbi0tY29sbGFwc2VkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNlZCAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNlZCAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgLmZpbHRlcl9fc2VjdGlvbi0tY29sbGFwc2VkIC5maWx0ZXJfX3NlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbl9fZm9ybV9faW5wdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSA2MHB4KTsgfVxuICAgIC5maWx0ZXJfX3NlY3Rpb25fX2Zvcm1fX3N1Ym1pdCB7XG4gICAgICB3aWR0aDogNTBweDsgfVxuICAuZmlsdGVyX19saXN0X19pdGVtIHtcbiAgICBjb2xvcjogI2MwYzFjMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiAgICAuZmlsdGVyX19saXN0X19pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSwgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTk5OTlweDsgfVxuICAgICAgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCwgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5maWx0ZXJfX2xpc3RfX2l0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLCAuZmlsdGVyX19saXN0X19pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4zOSk7IH1cbiAgICAgICAgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciwgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY2hlY2tib3gtdGljay5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDE0cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgICAuZmlsdGVyX19saXN0X19pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gICAgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1kb3dubG9hZHMgLmZpbHRlcl9fbGlzdF9faXRlbSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5maWx0ZXJfX2xpc3RfX2l0ZW0tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpbHRlcl9fbGlzdF9faXRlbSBhLFxuICAgIC5maWx0ZXJfX2xpc3RfX2l0ZW0gLnNwYW4tbGluayB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuZmlsdGVyX19jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5maWx0ZXJfX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDEuMnJlbTsgfVxuICAgICAgICAuZmlsdGVyX19jbG9zZTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY3Jvc3Muc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7IH0gfVxuXG4uZmlsdGVyLWl0ZW1zIHtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIHBhZGRpbmc6IDEuNDRyZW0gMjBweCAwIDIwcHg7IH1cbiAgLmZpbHRlci1pdGVtczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZpbHRlci1pdGVtc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDNweCAxNXB4IDAgMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjJyZW0gMDsgfSB9XG4gICAgLmZpbHRlci1pdGVtc19fbGFiZWxfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZmlsdGVyLWl0ZW1zX19sYWJlbF9fYnV0dG9uIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH1cbiAgICAgICAgICAuZmlsdGVyLWl0ZW1zX19sYWJlbF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM0Mjg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24uZGlzYWJsZWQge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG4gIC5maWx0ZXItaXRlbXNfX2xpbmtzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZpbHRlci1pdGVtc19fbGlua3Mge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU1cmVtO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICM5OTk5OTk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxMHB4IDEuMnJlbSAwO1xuICAgICAgcGFkZGluZzogM3B4IDMwcHggM3B4IDEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgLmZpbHRlci1pdGVtc19fbGlua3NfX2l0ZW06YWZ0ZXIsIC5maWx0ZXItaXRlbXNfX2xpbmtzX19pdGVtOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19pdGVtOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgLmZpbHRlci1pdGVtc19fbGlua3NfX2l0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19jbGVhciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19jbGVhcjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5hY3Rpb24tYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIC5hY3Rpb24tYmFyX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYWN0aW9uLWJhcl9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLWRvd25sb2FkcyAuYWN0aW9uLWJhcl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmFjdGlvbi1iYXJfX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgICAgY29sb3I6ICNiZmJmYmY7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5hY3Rpb24tYmFyX19idXR0b24uZGlzYWJsZWQ6YmVmb3JlLCAuYWN0aW9uLWJhcl9fYnV0dG9uLmRpc2FibGVkOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2JmYmZiZjsgfVxuICAgICAgLmFjdGlvbi1iYXJfX2J1dHRvbi5kaXNhYmxlZCAuY291bnQge1xuICAgICAgICBjb2xvcjogI2JmYmZiZjsgfVxuICAgIC5hY3Rpb24tYmFyX19idXR0b24gLmNvdW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmFjdGlvbi1iYXJfX2J1dHRvbi0tcmVtb3ZlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmFjdGlvbi1iYXJfX2J1dHRvbi0tcmVtb3ZlOmJlZm9yZSwgLmFjdGlvbi1iYXJfX2J1dHRvbi0tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5hY3Rpb24tYmFyX19idXR0b24tLXJlbW92ZTphZnRlciB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuYWN0aW9uLWJhcl9fcmVzdWx0c19fc2VsZWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH1cblxuI3dwc2VvLXN0b3JlbG9jYXRvci1mb3JtIHtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzFjMjtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICBwYWRkaW5nOiAyMHB4IDIuNHJlbTsgfVxuICAjd3BzZW8tc3RvcmVsb2NhdG9yLWZvcm0gZmllbGRzZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgI3dwc2VvLXN0b3JlbG9jYXRvci1mb3JtIGZpZWxkc2V0IHAge1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3dwc2VvLXN0b3JlbG9jYXRvci1mb3JtIGZpZWxkc2V0IHAge1xuICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfSB9XG5cbiN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAud3BzZW8tbWFwLWNhbnZhcyB7XG4gICAgZmxleDogMCAxIDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAjd3BzZW8tZGlyZWN0aW9ucy13cmFwcGVyLFxuICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgPiBoMiB7XG4gICAgZmxleDogMCAxIDEwMCU7IH1cbiAgI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIC53cHNlby1yZXN1bHQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5NTA7XG4gICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMjBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjRyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIC53cHNlby1yZXN1bHQge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tbG9jYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tbG9jYXRpb24gaDMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjBweDsgfVxuICAgICAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tbG9jYXRpb24gaDMgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIC53cHNlby1yZXN1bHQgLndwc2VvLWxvY2F0aW9uIGgzIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNkM2RiZDc7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAud3BzZW8tcmVzdWx0IC53cHNlby1sb2NhdGlvbiA+IGRpdixcbiAgICAgICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAud3BzZW8tcmVzdWx0IC53cHNlby1sb2NhdGlvbiA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tc2wtcm91dGUge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5jb2x1bW4tLTIge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiA0OC44MzcyMSU7IH1cbiAgLmNvbHVtbi0tMjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMjpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMjpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC5jb2x1bW4tLTItLTMzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG4gICAgd2lkdGg6IDMyLjAwNDIlOyB9XG4gIC5jb2x1bW4tLTItLTY3IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG4gICAgd2lkdGg6IDY2LjAwMjElOyB9XG5cbi5jb2x1bW4tLTMge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiAzMS43ODI5NSU7IH1cbiAgLmNvbHVtbi0tMzpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMzpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMzpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jb2x1bW4tLTIsIC5jb2x1bW4tLTItLTMzLCAuY29sdW1uLS0yLS02NywgLmNvbHVtbi0tMyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAyLjRyZW0gMDsgfVxuICAgIC5jb2x1bW4tLTI6bGFzdC1jaGlsZCwgLmNvbHVtbi0tMi0tMzM6bGFzdC1jaGlsZCwgLmNvbHVtbi0tMi0tNjc6bGFzdC1jaGlsZCwgLmNvbHVtbi0tMzpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jb2x1bW4tLTI6bnRoLWNoaWxkKDJuKSwgLmNvbHVtbi0tMi0tMzM6bnRoLWNoaWxkKDJuKSwgLmNvbHVtbi0tMi0tNjc6bnRoLWNoaWxkKDJuKSwgLmNvbHVtbi0tMzpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAuY29sdW1uLS0yOm50aC1jaGlsZCgybisxKSwgLmNvbHVtbi0tMi0tMzM6bnRoLWNoaWxkKDJuKzEpLCAuY29sdW1uLS0yLS02NzpudGgtY2hpbGQoMm4rMSksIC5jb2x1bW4tLTM6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmNvbHVtbi0tMjpudGgtY2hpbGQoM24pLCAuY29sdW1uLS0yLS0zMzpudGgtY2hpbGQoM24pLCAuY29sdW1uLS0yLS02NzpudGgtY2hpbGQoM24pLCAuY29sdW1uLS0zOm50aC1jaGlsZCgzbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgIC5jb2x1bW4tLTI6bnRoLWNoaWxkKDNuKzEpLCAuY29sdW1uLS0yLS0zMzpudGgtY2hpbGQoM24rMSksIC5jb2x1bW4tLTItLTY3Om50aC1jaGlsZCgzbisxKSwgLmNvbHVtbi0tMzpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY29sdW1uLS0yOm50aC1jaGlsZCgxbiksIC5jb2x1bW4tLTItLTMzOm50aC1jaGlsZCgxbiksIC5jb2x1bW4tLTItLTY3Om50aC1jaGlsZCgxbiksIC5jb2x1bW4tLTM6bnRoLWNoaWxkKDFuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29sdW1uLS0yOm50aC1jaGlsZCgxbisxKSwgLmNvbHVtbi0tMi0tMzM6bnRoLWNoaWxkKDFuKzEpLCAuY29sdW1uLS0yLS02NzpudGgtY2hpbGQoMW4rMSksIC5jb2x1bW4tLTM6bnRoLWNoaWxkKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuLm1vZHVsZS1jb250ZW50IGE6bm90KFtjbGFzc10pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmZyZWUtc3VwcG9ydF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBsaW5lLWhlaWdodDogMi43cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmZyZWUtc3VwcG9ydCAubGlzdC1jaGVja3Mge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cblxuLmludGVyYWN0aXZlLWltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmludGVyYWN0aXZlLWltYWdlX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaW50ZXJhY3RpdmUtaW1hZ2VfX2xpbmsge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzAwNjk1MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmludGVyYWN0aXZlLWltYWdlX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmludGVyYWN0aXZlLWltYWdlX19saW5rOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW46IC0zcHggMCAwIC0zcHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDZweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1pbWFnZV9fbGlua19faW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyLCAxMDgsIDc5LCAwLjgpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuaW50ZXJhY3RpdmUtaW1hZ2VfX2xpbmtfX2lubmVyX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmludGVyYWN0aXZlLWltYWdlX19saW5rX19pbm5lcl9fcmVhZG1vcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAgICAgICAuaW50ZXJhY3RpdmUtaW1hZ2VfX2xpbmtfX2lubmVyX19yZWFkbW9yZTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmludGVyYWN0aXZlLWltYWdlX190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHotaW5kZXg6IDIwOyB9XG5cbi5jYXRlZ29yeS1vdmVydmlldyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNhdGVnb3J5LW92ZXJ2aWV3X19jYXRlZ29yaWVzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiA3NC40MTg2JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYXRlZ29yeS1vdmVydmlld19fY2F0ZWdvcmllczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY2F0ZWdvcnktb3ZlcnZpZXdfX2NhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY2F0ZWdvcnktb3ZlcnZpZXdfX3NpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDIzLjI1NTgxJTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzBjMWMyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMWMyO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS45OTM3JTsgfVxuICAgIC5jYXRlZ29yeS1vdmVydmlld19fc2lkZWJhciAuZmlsdGVyX19jbG9zZSB7XG4gICAgICB0b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY2F0ZWdvcnktb3ZlcnZpZXdfX3NpZGViYXIgLmZpbHRlci1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgICAgIC5jYXRlZ29yeS1vdmVydmlld19fc2lkZWJhciAuZmlsdGVyLWl0ZW1zLmFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyIC5maWx0ZXItaXRlbXMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYXRlZ29yeS1vdmVydmlld19fc2lkZWJhciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmxpc3QtY2F0ZWdvcmllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmxpc3QtY2F0ZWdvcmllczphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIuNHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW0gLnRheC1wcm9kdWN0LWNhdGVnb3J5IHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7IH1cbiAgICAuY2F0ZWdvcnktb3ZlcnZpZXcgLmxpc3QtY2F0ZWdvcmllc19faXRlbSAudGF4LXByb2R1Y3QtY2F0ZWdvcnkge1xuICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMjBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTQwcHgpIHtcbiAgICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAubGlzdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAubGlzdC1jYXRlZ29yaWVzX19pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW1fX2NvdW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAubGlzdC1jYXRlZ29yaWVzX19pdGVtX19pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dCB7XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMjBweDsgfVxuICAgICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dF9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd29yZC13cmFwOiBhbnl3aGVyZTsgfVxuICAgICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuLmxpc3QtY2F0ZWdvcnktZmlsdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmxpc3QtY2F0ZWdvcnktZmlsdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubGlzdC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMTBweCA1cHggMTBweDsgfVxuICAgIC5saXN0LWNhdGVnb3J5LWZpbHRlcl9faXRlbSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMxYzI7XG4gICAgICBjb2xvcjogIzAwNjk1MDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAubGlzdC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0gYnV0dG9uOmhvdmVyLCAubGlzdC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0gYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7IH1cblxuLmxpc3QtY2hlY2tzX19pdGVtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY2hlY2suc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDZweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDlweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLmxpc3QtY291bnRyaWVzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGlzdC1jb3VudHJpZXNfX2l0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiAyMy4yNTU4MSU7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1zaXplOiAxLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAyOC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjg1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5saXN0LWNvdW50cmllc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCg0bikge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0LWNvdW50cmllc19faXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUyOTQxJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCg0bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgIC5saXN0LWNvdW50cmllc19faXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiA0Ni4zNDE0NiU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIC5saXN0LWNvdW50cmllc19faXRlbTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubGlzdC1jb3VudHJpZXNfX2l0ZW1fX2ltYWdlIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDMwcHg7IH1cbiAgLmxpc3QtY291bnRyaWVzX19pdGVtX19saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0LWNvdW50cmllc19faXRlbV9fbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxpc3QtZ3JlZW4tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAubGlzdC1ncmVlbi10ZXh0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1ncmVlbi10ZXh0X19pdGVtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmxpc3QtZ3JlZW4tdGV4dF9faXRlbV9fY29udGVudCB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDgsIDc5LCAwLjkpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtOmhvdmVyIC5saXN0LWdyZWVuLXRleHRfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi40cmVtOyB9XG4gICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50X19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50X19oZWFkaW5nIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgLmxpc3QtZ3JlZW4tdGV4dF9faXRlbV9fY29udGVudF9faGVhZGluZyBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZThlY2VhOyB9XG4gICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50IHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuLmxpc3QtaW1hZ2Uge1xuICBtYXJnaW46IDAgMCAyLjRyZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5saXN0LWltYWdlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1pbWFnZV9faXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogMzEuNzgyOTUlO1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlzdC1pbWFnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5saXN0LWltYWdlX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxpc3QtaW1hZ2VfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0LWltYWdlX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmxpc3QtaW1hZ2VfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAubGlzdC1pbWFnZV9faXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmxpc3QtaW1hZ2VfX2l0ZW1fX2ltYWdlOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC42NSkgMCUsIHJnYmEoMCwgMTA1LCA4MCwgMC4zOCkgNDIlLCByZ2JhKDAsIDEwNSwgODAsIDAuMjIpIDY2JSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAubGlzdC1pbWFnZV9faXRlbTpob3ZlciAubGlzdC1pbWFnZV9faXRlbV9faW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAubGlzdC1pbWFnZV9faXRlbV9faGVhZGluZyB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvdHRvbSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBib3R0b20gMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4ycmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxpc3QtaW1hZ2VfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5saXN0LWltYWdlX19pdGVtOmhvdmVyIC5saXN0LWltYWdlX19pdGVtX19oZWFkaW5nIHtcbiAgICAgICAgYm90dG9tOiAxLjhyZW07IH1cbiAgICAgIC5saXN0LWltYWdlX19pdGVtX19oZWFkaW5nIGEge1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5saXN0LWltYWdlLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAubGlzdC1pbWFnZS10b3A6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0LWltYWdlLXRvcF9faXRlbSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDMxLjc4Mjk1JTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlY2VhO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG4gICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2MwYzFjMjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbS0tbm8tYm9yZGVyIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbV9faW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgICBwYWRkaW5nOiAyLjRyZW0gMjBweCAxLjJyZW0gMjBweDsgfVxuICAgICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtLS1uby1ib3JkZXIgLmxpc3QtaW1hZ2UtdG9wX19pdGVtX19jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07IH1cblxuLnByb2R1Y3QtZG93bmxvYWRzX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDMgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAzIC0gMjBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0OmFmdGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0OmFmdGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAzIC0gMjBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMxYzI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0X19pdGVtX19idXR0b24ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZmxleDogMCAwIDMycHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAzMnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX2J1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX2J1dHRvbjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDMycHg7IH1cbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHdpZHRoOiA3cHg7IH1cbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0X19pdGVtX19idXR0b25fX3RleHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX21ldGEge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBjb2xvcjogI2MwYzFjMjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX21ldGEgLnNlcGFyYXRvciB7XG4gICAgICAgIG1hcmdpbjogMCAwLjQ4cmVtOyB9XG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0X19pdGVtIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX2ZpbGUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZmxleDogMCAwIDMycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fZmlsZS1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fZmlsZS1pY29uIGltZyB7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7IH1cblxuLmxpc3QtcGVyc29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5saXN0LXBlcnNvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpOyB9XG4gIC5saXN0LXBlcnNvbnNfX2l0ZW0ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMDA2OTUwO1xuICAgIHBhZGRpbmc6IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saXN0LXBlcnNvbnNfX2l0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIC5saXN0LXBlcnNvbnNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDE5LjUxMjIlOyB9XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtX19pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxpc3QtcGVyc29uc19faXRlbV9fY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiA3My4xNzA3MyU7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtX19jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubGlzdC1wZXJzb25zX19pdGVtX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU1cmVtO1xuICAgICAgY29sb3I6ICMwMDY5NTA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4OyB9XG4gICAgLmxpc3QtcGVyc29uc19faXRlbV9fZnVuY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubGlzdC1wZXJzb25zX19pdGVtX19sb2NhdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmxpc3QtcGVyc29uc19faXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtIGFbaHJlZl49XCJtYWlsdG9cIl0ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5saXN0LXBlcnNvbnNfX2l0ZW0gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdC1wcm9kdWN0cyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubGlzdC1wcm9kdWN0czo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDMxLjc4Mjk1JTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QzZGJkNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IGxlZnQ7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgd2lkdGg6IDIzLjI1NTgxJTsgfVxuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7IH1cbiAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMy41Mjk0MSU7XG4gICAgICAgICAgd2lkdGg6IDQ4LjIzNTI5JTsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgxbikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDFuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbS5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAubGlzdC1wcm9kdWN0c19faXRlbSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUyOTQxJTtcbiAgICAgICAgd2lkdGg6IDQ4LjIzNTI5JTsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUyOTQxJTsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW06bnRoLWNoaWxkKDFuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOm50aC1jaGlsZCgxbisxKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtX19sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgdG9wOiAxNXB4OyB9XG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3Mge1xuICAgICAgbWFyZ2luOiAwIDAgMi40cmVtIDIwcHg7IH1cbiAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtX19zcGVjcyBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MgbGk6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHdpZHRoOiA3cHg7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbSBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0gcCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLmxpc3QtcmVmZXJlbmNlcyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubGlzdC1yZWZlcmVuY2VzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1yZWZlcmVuY2VzX19pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7IH1cbiAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX19pbWFnZXMge1xuICAgICAgZmxleDogMCAxIDMzJTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCA0LjhyZW0gMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzX19tb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzX19zaG93LW1vcmUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDY5NTA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzX19zaG93LW1vcmU6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICMwMDY5NTA7IH1cbiAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX190ZXh0IHtcbiAgICAgIGZsZXg6IDAgMSA2NSU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3RleHQge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9fZXhjZXJwdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX19zcGVjcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX19zcGVjcyBkdCB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH1cbiAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIHtcbiAgICAgICAgZmxleDogMCAxIDczJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42cmVtOyB9XG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIGEsXG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIHVsIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9fc3BlY3MgZGQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogN3B4OyB9XG5cbi5saXN0LXZpZGVvczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxpc3QtdmlkZW9zX19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogNDguODM3MjElO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07IH1cbiAgLmxpc3QtdmlkZW9zX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubGlzdC12aWRlb3NfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5saXN0LXZpZGVvc19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmxpc3QtdmlkZW9zX19pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5saXN0LXZpZGVvc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubGlzdC12aWRlb3NfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAgIC5saXN0LXZpZGVvc19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG5cbi5tYWluLWltYWdlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1haW4taW1hZ2UtLWhhcy12aWRlbyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLm1haW4taW1hZ2UgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDkuNnJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLWltYWdlIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogNC44cmVtIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAubWFpbi1pbWFnZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbSAwOyB9IH1cbiAgLm1haW4taW1hZ2UtLWhhcy12aWRlbyAud3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWFpbi1pbWFnZV9fdmlkZW8td3JhcHBlciB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLWltYWdlX192aWRlby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYWluLWltYWdlX192aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLm1haW4taW1hZ2VfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICBmb250LXNpemU6IDYuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogOTcuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA5Ljc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTIuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogNjAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLWltYWdlX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNy41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgLm1haW4taW1hZ2VfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjVyZW07IH0gfVxuXG4ubW9kdWxlLXByb2R1Y3RzIC5saXN0LXByb2R1Y3RzIHtcbiAgbWFyZ2luOiAwIDAgMi40cmVtIDAgIWltcG9ydGFudDsgfVxuICAubW9kdWxlLXByb2R1Y3RzIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnF1b3RlX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDM3LjVweDtcbiAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gIGNvbG9yOiAjMDA2OTUwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uc2xpZGVzaG93IHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIHBhZ2VyICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuc2xpZGVzaG93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgLnNsaWRlc2hvd19fc2xpZGVzLCAuc2xpZGVzaG93X19wYWdlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2xpZGVzaG93X19zbGlkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgcGFkZGluZzogNC44cmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2xpZGVzaG93X19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zbGlkZXNob3dfX3NsaWRlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDUyLjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX3NsaWRlX19oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNnJlbTsgfSB9XG4gICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbiB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZlZDAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5zbGlkZXNob3dfX3NsaWRlX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC42cmVtOyB9IH1cbiAgICAgIC5zbGlkZXNob3dfX3NsaWRlX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNDY2O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAuc2xpZGVzaG93X19wYWdlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEuMnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnNsaWRlc2hvd19fcGFnZXIgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjZThlY2VhO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAgICAgLnNsaWRlc2hvd19fcGFnZXIgc3Bhbi5jeWNsZS1wYWdlci1hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZWQwMDsgfVxuICAgIC5zbGlkZXNob3dfX3BhZ2VyID4gKiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnNsaWRlcl9fY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsaWRlci0tc21hbGwge1xuICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuc2xpZGVyLS1zbWFsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9IH1cblxuLnNsaWRlcl9fY29udHJvbHMge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICBoZWlnaHQ6IDgwcHg7IH1cbiAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5zbGlkZXJfX2NvbnRyb2xzIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA2MHB4OyB9IH1cbiAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24gaW1nIHtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIGltZzpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAgICAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24gaW1nIHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24gaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIHdpZHRoOiA2MHB4OyB9IH1cbiAgICAuc2xpZGVyX19jb250cm9scyBidXR0b25bZGF0YS1jb250cm9scz1cInByZXZcIl0ge1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5zbGlkZXJfX2NvbnRyb2xzIGJ1dHRvbltkYXRhLWNvbnRyb2xzPVwicHJldlwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9XCJuZXh0XCJdIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9XCJuZXh0XCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuLnNsaWRlcl9faXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zbGlkZXJfX2l0ZW1zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMwMDY5NTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuc2luZ2xlLXByb2R1Y3QgLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjlweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAuc2xpZGVyX19pdGVtc19faXRlbV9faW1hZ2Uge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnRfX3RleHQge1xuICAgICAgICBmbGV4OiAwIDEgMTAwJTsgfVxuICAgIC5sdC1pZTExIC5zbGlkZXJfX2l0ZW1zX19pdGVtOm5vdCguZmVhdHVyZWQpIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19jb250ZW50IHN0cm9uZywgLmx0LWllMTEgLnNsaWRlcl9faXRlbXNfX2l0ZW06bm90KC5mZWF0dXJlZCkgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQgcCB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX3JlYWQtbW9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTsgfVxuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX3JlYWQtbW9yZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tbGluay5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19wcm9kdWN0LWRhdGEge1xuICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19yZWFkbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLnRucy12aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4ucmFkaXNoLWNvb2tpZS1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTkpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgZm9udC1mYW1pbHk6ICdPcGVuIHNhbnMnLCBzYW5zLXNlcmlmOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAud3JhcCB7XG4gICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMjRweCAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogY2FsYyggMTAwJSAtIDIwcHgpOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgLnJhZGlzaC1jb29raWUtYmFyIC5jb29raWUtYmFyLWhlYWRlciAuY29va2llLWJhci10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1idXR0b25zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItYnV0dG9ucyBsaSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIGZsZXg6IDAgMSAxMDAlOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE0cHggMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5yYWRpc2gtY29va2llLWJhciAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAucmFkaXNoLWNvb2tpZS1iYXIgbGkgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5yYWRpc2gtY29va2llLWJhciBsaTpsYXN0LWNoaWxkIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucmFkaXNoLWNvb2tpZS1iYXIgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDA2OTUwICFpbXBvcnRhbnQ7IH1cbiAgLnJhZGlzaC1jb29raWUtYmFyIC5idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0NnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLnJhZGlzaC1jb29raWUtYmFyIC5jb29raWUtYmFyLW9wdGlvbnMgPiBsaSBsYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIC5jb29raWUtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIC5jb29raWUtZGVzY3JpcHRpb24gbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbiAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDZweDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnJhZGlzaC1jb29raWUtYmFyIC5jb29raWUtYmFyLW9wdGlvbnMgPiBsaSAuY29va2llLWRlc2NyaXB0aW9uIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAucmNjLWFsbG93LWNvb2tpZS10eXBlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLnJjYy1hbGxvdy1jb29raWUtdHlwZSB+IGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgLnJhZGlzaC1jb29raWUtYmFyIC5yY2MtYWxsb3ctY29va2llLXR5cGU6ZGlzYWJsZWQgfiBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpBNElpQm9aV2xuYUhROUlqSTNNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0pOTWpjekxqTXlNaUEzTGpnM05rd3hNREF1TnpZM0lESXlNQzR6T1RKc0xUWTJMakkxTWkwNE1TNHhPREZqTFRZdU5UTXRPQzR6T1RJdE1UZ3VOalF6TFRrdU9URTBMVEkzTGpBMU5TMHpMalF0T0M0ME1UTWdOaTQxTVRRdE9TNDVNemtnTVRndU5UazNMVE11TkRBNUlESTJMams1YkRneExqZ3dOQ0F4TURBdU1EazBRVEU1TGpFNUlERTVMakU1SURBZ01EQXhNREF1TnpZM0lESTNNR0V4T1M0eE9TQXhPUzR4T1NBd0lEQXdNVFF1T1RFeUxUY3VNVEExVERNd01pNHlPVFFnTXpJdU56UmhNVGt1TURrMElERTVMakE1TkNBd0lEQXdOQzQzT1RRdE1Ua3VORFJCTVRrdU1UVTVJREU1TGpFMU9TQXdJREF3TWpreExqZzNOUzR5TkRSaE1Ua3VNVGswSURFNUxqRTVOQ0F3SURBd0xURTRMalUxTXlBM0xqWXpNbm9pSUdacGJHdzlJaU0xTlRVaUlHWnBiR3d0Y25Wc1pUMGlibTl1ZW1WeWJ5SXZQand2YzNablBnPT1cIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLnJjYy1hbGxvdy1jb29raWUtdHlwZTpkaXNhYmxlZCB+IGxhYmVsLFxuICAgIC5yYWRpc2gtY29va2llLWJhciAucmNjLWFsbG93LWNvb2tpZS10eXBlOmRpc2FibGVkIH4gLmNvb2tpZS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzU1NTsgfVxuICAgIC5yYWRpc2gtY29va2llLWJhciAucmNjLWFsbG93LWNvb2tpZS10eXBlOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIH4gbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1jaGVja21hcmsuc3ZnXCIpOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1zZXR0aW5ncyAuY29va2llLWJhci1idXR0b25zIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1zZXR0aW5ncyAuY29va2llLWJhci1idXR0b25zIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgb3JkZXI6IDA7IH1cblxuZGl2LnJhZGlzaC1jb29raWUtc2V0dGluZ3MtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wcm9kdWN0LWZpbHRlcl9fcXVlc3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5wcm9kdWN0LWZpbHRlciBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb24sXG4uaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBoZWlnaHQ6IDU1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3RpdGxlLCAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3N1YnRpdGxlLFxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX190aXRsZSxcbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZV9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNjcuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2Ljc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3RpdGxlLCAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3N1YnRpdGxlLFxuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZV9fdGl0bGUsXG4gICAgICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1Mi41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX190aXRsZSwgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX19zdWJ0aXRsZSxcbiAgICAgIC5ob21lOm5vdCguc2l0ZS0xKSAuYmctaW1hZ2VfX3RpdGxlLFxuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZV9fc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjVyZW07IH0gfVxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3RpdGxlLFxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDAgMCA0LjhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX190aXRsZSxcbiAgICAgIC5ob21lOm5vdCguc2l0ZS0xKSAuYmctaW1hZ2VfX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAyLjRyZW07IH0gfVxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3N1YnRpdGxlLFxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICNmZmVkMDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDAgMCA0LjhyZW07IH1cbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX19jdGEsXG4gIC5ob21lOm5vdCguc2l0ZS0xKSAuYmctaW1hZ2VfX2N0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5ob21lOm5vdCguc2l0ZS0xKSAuZmlyc3Qtc2VjdGlvbiAud3JhcHBlcixcbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZSAud3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uaG9tZTpub3QoLnNpdGUtMSkgLmN5Y2xlLXBhZ2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5jeWNsZS1wYWdlciBzcGFuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgZm9udC1zaXplOiA1MHB4OyB9XG4gICAgLmhvbWU6bm90KC5zaXRlLTEpIC5jeWNsZS1wYWdlciBzcGFuOmhvdmVyLCAuaG9tZTpub3QoLnNpdGUtMSkgLmN5Y2xlLXBhZ2VyIHNwYW4uY3ljbGUtcGFnZXItYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDA0NTM1OyB9XG5cbiNob21lcGFnZS1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldixcbiNob21lcGFnZS1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLXNsaWRlLXJpZ2h0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA1MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIG9wYWNpdHk6IC43NTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgI2hvbWVwYWdlLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuICAjaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAjaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXIsXG4gICNob21lcGFnZS1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4jaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1zbGlkZS1sZWZ0LnN2Z1wiKTsgfVxuXG4jaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4jaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmVkMDA7IH1cblxuI2hvbWVwYWdlLXNsaWRlciAuYnV0dG9uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG5cbi5xdWljay1saW5rcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy1xdWljay1saW5rcy5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgLnF1aWNrLWxpbmtzX19zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwNjk1MDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5xdWljay1saW5rc19fc2VjdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMuOXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAxLjhyZW0gNDBweDsgfVxuICAgIC5xdWljay1saW5rc19fc2VjdGlvbl9fc3Vic2VjdGlvbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIHBhZGRpbmc6IDIuNHJlbSA0MHB4OyB9XG4gICAgICAucXVpY2stbGlua3NfX3NlY3Rpb25fX3N1YnNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi43cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucXVpY2stbGlua3NfX3NlY3Rpb25fX3N1YnNlY3Rpb25fX2l0ZW0ge1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX19pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2OTUwO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX19pdGVtLS1oYXMtZGVzYyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgIC5xdWljay1saW5rc19fc2VjdGlvbl9fc3Vic2VjdGlvbl9faXRlbS0taGFzLWRlc2MgYTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAgIC5xdWljay1saW5rc19fc2VjdGlvbl9fc3Vic2VjdGlvbl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnF1aWNrLWxpbmtzIC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucXVpY2stbGlua3MgLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFyZ2V0LWdyb3VwcyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAudGFyZ2V0LWdyb3Vwc19faGVhZGVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzLjlyZW07XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxLjhyZW0gNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRhcmdldC1ncm91cHNfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5NTA7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZsZXg6IDAgMSBjYWxjKDI1JSAtIDIwcHgpOyB9XG4gICAgICAudGFyZ2V0LWdyb3Vwcy0tMyAudGFyZ2V0LWdyb3Vwc19fbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJS8zIC0gMjBweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgICAgIC50YXJnZXQtZ3JvdXBzLS0zIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgLnRhcmdldC1ncm91cHNfX2xpc3RfX2l0ZW1fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAudGFyZ2V0LWdyb3Vwc19fbGlzdF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtX19yZWFkLW1vcmUge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDsgfVxuICAgICAgICAudGFyZ2V0LWdyb3Vwc19fbGlzdF9faXRlbV9fcmVhZC1tb3JlIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtX19yZWFkLW1vcmUgYTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tbGluay5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5lYXN5LWpvYiB7XG4gIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5lYXN5LWpvYl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgLmVhc3ktam9iX19oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5lYXN5LWpvYl9fZW50cmllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX2ljb24ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9faWNvbiB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNzVweDtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9faWNvbiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5X19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjNyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9fY29udGVudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX2NvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX3BvcHVwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87IH1cbiAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9fcG9wdXAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX2luZm8taWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5X19pbmZvLWljb24gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLm5ldy1mcm9tLXdhbHJhdmVuIHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgLm5ldy1mcm9tLXdhbHJhdmVuX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAubmV3LWZyb20td2FscmF2ZW5fX2hlYWRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZlYXR1cmVkLnNsaWRlcl9faXRlbXNfX2l0ZW0gLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuZmVhdHVyZWQuc2xpZGVyX19pdGVtc19faXRlbSAuc2xpZGVyX19pdGVtc19faXRlbV9faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLmZlYXR1cmVkIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19jb250ZW50IHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjk1MDtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogYXV0byBhdXRvIDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmVhdHVyZWQgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnJlZmVyZW5jZXMge1xuICBwYWRkaW5nOiAxMDBweCAwOyB9XG4gIC5yZWZlcmVuY2VzX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgIC5yZWZlcmVuY2VzX19oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5yZWZlcmVuY2VzX19lbnRyaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucmVmZXJlbmNlc19fZW50cmllczphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gMjBweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeSB7XG4gICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzEpLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMikge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4OyB9XG4gICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMyksIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeTpudGgtb2YtdHlwZSg0bis0KSB7XG4gICAgICAgIGhlaWdodDogNTQwcHg7IH1cbiAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeTpudGgtb2YtdHlwZSg0bisyKSwgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzMpIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHgpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzIpLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzIpLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gICAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeTpudGgtb2YtdHlwZSg0bisyKSAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX3RpdGxlLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMykgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5X190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIDQwcHggNDBweDsgfSB9XG4gIC5yZWZlcmVuY2VzX19mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5yZWZlcmVuY2VzX19mb290ZXIgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgcGFkZGluZzogMjBweCA1MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLmRldmlkZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc2VjdGlvbi1wcm9kdWN0cyB7XG4gIHBhZGRpbmctYm90dG9tOiA0LjhyZW07XG4gIHBhZGRpbmctdG9wOiA0LjhyZW07IH1cbiAgLnNlY3Rpb24tcHJvZHVjdHMtLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlOGVjZWE7IH1cbiAgLnNlY3Rpb24tcHJvZHVjdHMtLWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGVjZWE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuc2VjdGlvbi1wcm9kdWN0cyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZWNlYTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS4ycmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0czpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2QzZGJkNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy0tZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzX19oZWFkaW5nIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5zZWN0aW9uLXByb2R1Y3RzX19oZWFkaW5nOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzAwNDUzNTsgfVxuICAgICAgICAuc2VjdGlvbi1wcm9kdWN0c19faGVhZGluZzphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDAzNDI4OyB9XG4gICAgICAgIC5zZWN0aW9uLXByb2R1Y3RzLmFjdGl2ZSAuc2VjdGlvbi1wcm9kdWN0c19faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0c19fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2VjdGlvbi1wcm9kdWN0c19faGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cy1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07IH0gfVxuXG4uZ2FsbGVyeV9fYmlnLWltYWdlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2FsbGVyeV9fYmlnLWltYWdlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAubGlzdC1yZWZlcmVuY2VzX19pdGVtIC5nYWxsZXJ5X19iaWctaW1hZ2Uge1xuICAgIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5nYWxsZXJ5X19iaWctaW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FsbGVyeV9fdGh1bWJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FsbGVyeV9fdGh1bWJzX19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogMzEuNzgyOTUlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW0gLmdhbGxlcnlfX3RodW1ic19faXRlbSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdhbGxlcnlfX3RodW1ic19faXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmdhbGxlcnlfX3RodW1ic19faXRlbS0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWluZm8ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5wcm9kdWN0LWluZm9fX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0LWluZm9fX3RpdGxlX19jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5wcm9kdWN0LWluZm9fX3RpdGxlX19jb250YWluZXIgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi43cmVtOyB9XG4gIC5wcm9kdWN0LWluZm9fX2ltYWdlcyB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAucHJvZHVjdC1pbmZvX19pbWFnZXMge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuICAucHJvZHVjdC1pbmZvX19jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHgpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX3Byb3BlcnRpZXMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fcHJvcGVydGllcyB1bCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2VudHJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fZW50cnlfX3dyYXBwZXIge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fYXNpZGUgLmxpc3QtcXVhbGl0eS1tYXJrcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2FzaWRlIC5saXN0LXF1YWxpdHktbWFya3MgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMTVweCAxLjJyZW0gMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAucHJvZHVjdC1pbmZvX19jb250ZW50X19hc2lkZSAubGlzdC1xdWFsaXR5LW1hcmtzIGxpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAucHJvZHVjdC1pbmZvX19jb250ZW50X19hc2lkZSAubGlzdC1xdWFsaXR5LW1hcmtzIGxpIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNjBweDsgfVxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3RfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucHJvZHVjdC1pbmZvX19jb250ZW50X19jb250YWN0X19pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3QgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fY29udGFjdCBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnByb2R1Y3QtaW5mb19fcHJpbnQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc3BlY3MtdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH0gfVxuXG4uc3BlY3MtdGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi5zcGVjcy10YWJsZSB0aC5oZWFkaW5nLFxuLnNwZWNzLXRhYmxlIHRoLnRhYmxlLWhlYWRlcixcbi5zcGVjcy10YWJsZSAubGFiZWwge1xuICBjb2xvcjogIzMzMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nLFxuICAgIC5zcGVjcy10YWJsZSB0aC50YWJsZS1oZWFkZXIsXG4gICAgLnNwZWNzLXRhYmxlIC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNwZWNzLXRhYmxlIHRoLmhlYWRpbmcgc3Ryb25nLFxuICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIHN0cm9uZyxcbiAgLnNwZWNzLXRhYmxlIC5sYWJlbCBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nIHNwYW4sXG4gIC5zcGVjcy10YWJsZSB0aC50YWJsZS1oZWFkZXIgc3BhbixcbiAgLnNwZWNzLXRhYmxlIC5sYWJlbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAuc3BlY3MtdGFibGUgdGguaGVhZGluZyBhLFxuICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIGEsXG4gIC5zcGVjcy10YWJsZSAubGFiZWwgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjYTNiZGI1O1xuICAgIGNvbG9yOiAjMDA2OTUwOyB9XG4gICAgLnNwZWNzLXRhYmxlIHRoLmhlYWRpbmcgYTpob3ZlcixcbiAgICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIGE6aG92ZXIsXG4gICAgLnNwZWNzLXRhYmxlIC5sYWJlbCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDA0NTM1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0NTM1OyB9XG4gIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nIC5kZXNjLFxuICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIC5kZXNjLFxuICAuc3BlY3MtdGFibGUgLmxhYmVsIC5kZXNjIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwLjZyZW07IH1cblxuLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1sYWJlbCB0aCxcbi5zcGVjcy10YWJsZSAuc3BlY3MtdGFibGVfX2hlYWRlci0tYWJicmV2aWF0aW9uIHRoIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1sYWJlbCB0aDpmaXJzdC1jaGlsZCxcbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1hYmJyZXZpYXRpb24gdGg6Zmlyc3QtY2hpbGQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5zcGVjcy10YWJsZSAuc3BlY3MtdGFibGVfX2hlYWRlci0tbGFiZWwgdGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjsgfVxuXG4uc3BlY3MtdGFibGUgLnNwZWNzLXRhYmxlX19oZWFkZXItLWFiYnJldmlhdGlvbiB0aCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDA2OTUwOyB9XG5cbi5zcGVjcy10YWJsZSAuc3BlY3MtdGFibGVfX2hlYWRlci0taGVhZGluZyB0aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMWMyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1oZWFkaW5nIHRoLS1kb3duOmFmdGVyLCAuc3BlY3MtdGFibGUgLnNwZWNzLXRhYmxlX19oZWFkZXItLWhlYWRpbmcgdGgtLXVwOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1hcnJvdy1kb3duLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCA5cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA3cHg7XG4gICAgdG9wOiAxOXB4O1xuICAgIHdpZHRoOiA4cHg7IH1cbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1oZWFkaW5nIHRoLS11cDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYXJyb3ctdXAuc3ZnXCIpOyB9XG5cbi5zcGVjcy10YWJsZSAubGFiZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zcGVjcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiAjZThlY2VhOyB9XG5cbi5zcGVjcy10YWJsZSB0Ym9keSB0ci5oaWdobGlnaHRlZCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjRzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgbGluZWFyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYmNiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcGVjcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJmN2Y2YjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzJmN2Y2YjsgfVxuICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ci5hY3RpdmUgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ci5hY3RpdmUgdGQ6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VsZWN0LWFycm93LXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0cHggN3B4O1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDsgfSB9XG5cbi5zcGVjcy10YWJsZSB0Ym9keSB0ZCB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmc6IDIuNHJlbSAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNwZWNzLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zcGVjcy10YWJsZSB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAuc3BlY3MtdGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCBpbWcge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnNwZWNzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTJhMmEyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnNwZWNzLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAuc3BlY3MtdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZWxlY3QtYXJyb3cuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4IDRweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgIGhlaWdodDogNHB4OyB9XG4gICAgICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZDpob3ZlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy1yaWdodC5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCA3cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgICAuc3BlY3MtdGFibGUgdGJvZHkgdGQgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7IH1cbiAgICAgICAgLnNwZWNzLXRhYmxlIHRib2R5IHRkIC5sYWJlbCAuZGVzYyB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG5cbi5zcGVjcy10YWJsZV9fY2xvbmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1heC13aWR0aDogMTE4MHB4O1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3BhY2l0eTogMDtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDQxcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAwLjJzLCBvcGFjaXR5IDAuMnM7IH1cbiAgYm9keS5oZWFkZXItaGlkZGVuIC5zcGVjcy10YWJsZV9fY2xvbmUge1xuICAgIG1hcmdpbi10b3A6IDM5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc3BlY3MtdGFibGVfX2Nsb25lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICBtYXgtaGVpZ2h0OiA1NzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgLjVzIGVhc2UtaW4tb3V0OyB9XG4gIC5zcGVjcy10YWJsZS13cmFwcGVyLnNob3ctbW9yZS1saW5rOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB3aGl0ZSA0MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXIuZnVsbCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfVxuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyLmZ1bGw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5zcGVjcy10YWJsZS13cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zcGVjcy10YWJsZS13cmFwcGVyX19zaG93LW1vcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTUwcHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyX19zaG93LW1vcmUgaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX2Zvb3RlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAuc3BlY3MtdGFibGUtd3JhcHBlcl9fZm9vdGVyIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zcGVjcy10YWJsZS13cmFwcGVyX19mb290ZXIgbGk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICB3aWR0aDogN3B4OyB9XG5cbi5zcGVjcy1kcmF3aW5ncyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAuc3BlY3MtZHJhd2luZ3M6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zcGVjcy1kcmF3aW5nc19fbGlua3Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNwZWNzLWRyYXdpbmdzX19saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc3BlY3MtZHJhd2luZ3NfX2xpbmtzX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgLnNwZWNzLWRyYXdpbmdzX19saW5rc19faXRlbV9fbGluazphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHggNXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5zcGVjcy1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIC5zcGVjcy1saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3BlY3MtbGlzdF9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICBjb2xvcjogIzAwNjk1MDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgLnNwZWNzLWxpc3QgPiB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNwZWNzLWxpc3QgdWwgbGkge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAuc3BlY3MtbGlzdCB1bCBsaSB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTsgfVxuICAgIC5zcGVjcy1saXN0IHVsIGxpIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnNwZWNzLWxpc3QgdWwgbGkgbGkgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLnNwZWNzLWxpc3QgdWwgbGkgbGkgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgIC5zcGVjcy1saXN0IHVsIGxpIGxpIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuc3BlY3MtbGlzdF9fbGlzdCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNwZWNzLWxpc3RfX2xpc3Qge1xuICAgICAgICBjb2x1bW5zOiBhdXRvOyB9IH1cblxuLnByb2R1Y3QtaW5zdGFsbGF0aW9uX191c2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuXG4ucHJvZHVjdC1pbnN0YWxsYXRpb25fX3ZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLnByb2R1Y3QtaW5zdGFsbGF0aW9uX192aWRlb19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuXG4ucHJvZHVjdC1pbnN0YWxsYXRpb25fX2hlYWRpbmcge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICBjb2xvcjogIzAwNjk1MDtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG5cbi5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogMzEuNzgyOTUlOyB9XG4gIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAgIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMgPiBsaSAuY2hlY2stbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG5cbi5wcm9kdWN0LXVzYWdlOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJvZHVjdC11c2FnZV9faXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgd2lkdGg6IDMxLjc4Mjk1JTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUwZGY7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAucHJvZHVjdC11c2FnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnByb2R1Y3QtdXNhZ2VfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5wcm9kdWN0LXVzYWdlX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAucHJvZHVjdC11c2FnZV9faXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHJvZHVjdC11c2FnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAucHJvZHVjdC11c2FnZV9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgLnByb2R1Y3QtdXNhZ2VfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH0gfVxuICAucHJvZHVjdC11c2FnZV9faXRlbV9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuXG4ucHJvZHVjdC1kb3dubG9hZHMge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYWFhY2FiOyB9XG4gIC5wcm9kdWN0LWRvd25sb2Fkczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnByb2R1Y3QtZG93bmxvYWRzX19saW5rcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogNDguODM3MjElOyB9XG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19saW5rczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpbmtzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlua3M6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnByb2R1Y3QtZG93bmxvYWRzX19jb250YWN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiA0OC44MzcyMSU7IH1cbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2NvbnRhY3Q6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19jb250YWN0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2NvbnRhY3Q6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByb2R1Y3QtY29tcGxlbWVudGFyeSxcbiAgLnByb2R1Y3QtYWx0ZXJuYXRpdmUge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLnByb2R1Y3QtY29tcGxlbWVudGFyeV9faGVhZGluZyxcbi5wcm9kdWN0LWFsdGVybmF0aXZlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogM3JlbTtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uY2F0ZWdvcnktaW50cm8ge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmNhdGVnb3J5LWludHJvOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2F0ZWdvcnktaW50cm9fX2ltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiAyMy4yNTU4MSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhdGVnb3J5LWludHJvX19pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgICAuY2F0ZWdvcnktaW50cm9fX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNhdGVnb3J5LWludHJvX19pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jYXRlZ29yeS1pbnRyb19fY29udGVudCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogNzQuNDE4NiU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY2F0ZWdvcnktaW50cm9fX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmNhdGVnb3J5LWludHJvX19jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuY2F0ZWdvcnktaW50cm9fX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAuY2F0ZWdvcnktaW50cm9fX2NvbnRlbnQgaDEge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAgIC5jYXRlZ29yeS1pbnRyb19fY29udGVudCAuY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNhdGVnb3J5LWludHJvX19jb250ZW50X19zZWUtYWxzbyB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG5cbi5zZWUtYWxzbyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLnNlZS1hbHNvX19sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4OyB9XG4gIC5zZWUtYWxzb19faXRlbSB7XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5zZWUtYWxzb19faXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwNDUzNTsgfVxuXG4ucHJvZHVjdHMtb3ZlcnZpZXcge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiA3NC40MTg2JTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvZHVjdHMtb3ZlcnZpZXc6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb2R1Y3RzLW92ZXJ2aWV3IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wcm9kdWN0cy1vdmVydmlld19fcHJvZHVjdHNfX2ludHJvIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICBsaW5lLWhlaWdodDogMi41NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q3ZDdkNztcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnByb2R1Y3RzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiAyMy4yNTU4MSU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MwYzFjMjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7IH1cbiAgICAucHJvZHVjdHMtb3ZlcnZpZXdfX3NpZGViYXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnByb2R1Y3RzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucmVmZXJlbmNlcy1vdmVydmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVmZXJlbmNlcy1vdmVydmlldzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJlZmVyZW5jZXMtb3ZlcnZpZXdfX3JlZmVyZW5jZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDc0LjQxODYlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAucmVmZXJlbmNlcy1vdmVydmlld19fcmVmZXJlbmNlczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucmVmZXJlbmNlcy1vdmVydmlld19fcmVmZXJlbmNlcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnJlZmVyZW5jZXMtb3ZlcnZpZXdfX3JlZmVyZW5jZXNfX2ludHJvIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkN2Q3ZDc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnJlZmVyZW5jZXMtb3ZlcnZpZXdfX3NpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDIzLjI1NTgxJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7IH1cbiAgICAucmVmZXJlbmNlcy1vdmVydmlld19fc2lkZWJhcjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucmVmZXJlbmNlcy1vdmVydmlld19fc2lkZWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmNvbnRhY3Qtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDQuOHJlbSAwIDIuNHJlbTsgfVxuICAuY29udGFjdC1zZWN0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW1wbG95ZWVzOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTsgfVxuXG4uY29udGFjdC10b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY29udGFjdC10b3A6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3QtdG9wX19kZXRhaWxzIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250YWN0LXRvcF9fZGV0YWlscyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5jb250YWN0LXRvcF9fZGV0YWlsc19fYWRkcmVzc2VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmNvbnRhY3QtdG9wX19kZXRhaWxzX19hZGRyZXNzZXMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG4gICAgICAuY29udGFjdC10b3BfX2RldGFpbHNfX2FkZHJlc3Nlc19fYWRkcmVzcyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuY29udGFjdC10b3BfX2RldGFpbHNfX2FkZHJlc3Nlc19fYWRkcmVzcyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuICAgICAgICAuY29udGFjdC10b3BfX2RldGFpbHNfX2FkZHJlc3Nlc19fYWRkcmVzcyBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5jb250YWN0LXRvcF9fZGV0YWlsc19fYWRkcmVzc2VzX19hZGRyZXNzIGFkZHJlc3Mge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuY29udGFjdC10b3BfX21hcCB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29udGFjdC10b3BfX21hcCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cbiAgICAuY29udGFjdC10b3BfX21hcCBpZnJhbWUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jb250YWN0LXRvcF9fYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07IH1cbiAgICAuY29udGFjdC10b3BfX2J1dHRvbnNfX2J1dHRvbiB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICAgIC5jb250YWN0LXRvcF9fYnV0dG9uc19fYnV0dG9uOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4uY29udGFjdC1kZXRhaWxzX19hZGRyZXNzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogNDAuMzEwMDglOyB9XG4gIC5jb250YWN0LWRldGFpbHNfX2FkZHJlc3M6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbnRhY3QtZGV0YWlsc19fYWRkcmVzcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuY29udGFjdC1kZXRhaWxzX19hZGRyZXNzOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uc3VwcG9ydC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIC5zdXBwb3J0LXNlY3Rpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdXBwb3J0LXNlY3Rpb25fX3RvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjRyZW07IH1cblxuLmRvd25sb2Fkcy1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAuZG93bmxvYWRzLWZvcm1fX2NvbHVtbiB7XG4gICAgZmxleDogMCAxIDMxLjMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAuZG93bmxvYWRzLWZvcm1fX2NvbHVtbiBoMiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAgIC5kb3dubG9hZHMtZm9ybV9fY29sdW1uIGgyIC5zdWIge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5kb3dubG9hZHMtZm9ybV9fY29sdW1uIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAuZG93bmxvYWRzLWZvcm1fX2Zvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMi40cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5kb3dubG9hZHMtc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb3dubG9hZHMtc2VhcmNoX19pbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmRvd25sb2Fkcy1zZWFyY2hfX3N1Ym1pdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmRvd25sb2Fkcy1zZWFyY2hfX3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwOyB9XG5cbi5kb3dubG9hZHMtb3ZlcnZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvd25sb2Fkcy1vdmVydmlldzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRvd25sb2Fkcy1vdmVydmlldyA+IGZvcm0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kb3dubG9hZHMtb3ZlcnZpZXdfX2NvbnRlbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDc0LjQxODYlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZG93bmxvYWRzLW92ZXJ2aWV3X19jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5kb3dubG9hZHMtb3ZlcnZpZXdfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZG93bmxvYWRzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiAyMy4yNTU4MSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjk5MzclOyB9XG4gICAgLmRvd25sb2Fkcy1vdmVydmlld19fc2lkZWJhcjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZG93bmxvYWRzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2hvdy1tb3JlLWZpbHRlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2hvdy1tb3JlLWZpbHRlcnM6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzAwNjk1MDtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMDA2OTUwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgd2lkdGg6IDdweDsgfVxuICAuc2hvdy1tb3JlLWZpbHRlcnMubGVzczpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5kb3dubG9hZHMtcmVzdWx0c19faGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19oZWFkZXIgdGgge1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRvd25sb2Fkcy1yZXN1bHRzX19oZWFkZXIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuZG93bmxvYWRzLXJlc3VsdHNfX2hlYWRlciB0aDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuXG4uZG93bmxvYWRzLXJlc3VsdHNfX3JvdyB0ZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIHBhZGRpbmc6IDEuMnJlbSAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmRvd25sb2Fkcy1yZXN1bHRzX19yb3cgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5kb3dubG9hZHMtcmVzdWx0c19fcm93Om50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQ6ICNlNWU1ZTU7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19yb3c6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cblxuLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwcHg7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDsgfVxuICAgIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLCAuZG93bmxvYWRzLXJlc3VsdHNfX2NoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjM5KTsgfVxuICAgICAgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciwgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWNoZWNrYm94LXRpY2suc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxNHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZG93bmxvYWRzLXJlc3VsdHNfX2NoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuICAgIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmRvd25sb2Fkcy1yZXN1bHRzX19sYWJlbF9fdGl0bGUge1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZG93bmxvYWRzLXJlc3VsdHNfX2xhYmVsX190aXRsZTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19sYWJlbF9fdGl0bGU6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA2OTUwOyB9XG5cbi5kb3dubG9hZHMtcmVzdWx0c19fbGFiZWwgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmRvd25sb2Fkcy1yZXN1bHRzX19sYWJlbF9fbWV0YSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZG93bmxvYWRzLXJlc3VsdHNfX2Rvd25sb2FkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNTBweDsgfVxuICAuZG93bmxvYWRzLXJlc3VsdHNfX2Rvd25sb2FkIGltZyB7XG4gICAgd2lkdGg6IDIycHg7IH1cblxuLm1hdGVyaWFsLWxpc3Qge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG4gIC5tYXRlcmlhbC1saXN0IHRoZWFkIHRyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm1hdGVyaWFsLWxpc3QgdGhlYWQgdHIgdGgge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAxNXB4OyB9XG4gIC5tYXRlcmlhbC1saXN0IHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxNXB4OyB9XG4gIC5tYXRlcmlhbC1saXN0IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAgIC5tYXRlcmlhbC1saXN0IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5tYXRlcmlhbC1saXN0IHRib2R5IC50ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tYXRlcmlhbC1saXN0IC5jZWxsLWNoZWNrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwcHg7IH1cbiAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1jaGVjayBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbSAhaW1wb3J0YW50OyB9XG4gIC5tYXRlcmlhbC1saXN0IC5jZWxsLXByb2R1Y3QgYSwgLm1hdGVyaWFsLWxpc3QgLmNlbGwtZGV0YWlscyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtZGV0YWlscyAuc3BlY3MtbGlzdCB7XG4gICAgICBjb2x1bW5zOiAzO1xuICAgICAgY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIC5zcGVjcy1saXN0IC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9XG4gIC5tYXRlcmlhbC1saXN0IC5jZWxsLWFtb3VudCB7XG4gICAgd2lkdGg6IDEwMHB4OyB9XG4gICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbSA1cHg7IH1cbiAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtcmVtb3ZlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwcHg7IH1cbiAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtcmVtb3ZlIGE6YmVmb3JlLCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgYTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5OTk5OTk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgbGVmdDogLThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtcmVtb3ZlIGE6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgc3ZnIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxNHB4OyB9XG4gICAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgc3ZnIGcge1xuICAgICAgICBmaWxsOiAjMDA2OTUwOyB9XG5cbi5tYXRlcmlhbC1saXN0LW1pbmkge1xuICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm90dG9tOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDg5OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwMHB4KSB7XG4gICAgLm1hdGVyaWFsLWxpc3QtbWluaSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5tYXRlcmlhbC1saXN0LW1pbmkgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubWF0ZXJpYWwtbGlzdC1taW5pIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm1hdGVyaWFsLWxpc3QtbWluaV9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMS4ycmVtIDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmcgLmNvdW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzAwNjk1MDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB3aWR0aDogMjRweDsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmcgaW1nIHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19oZWFkaW5nIGltZyBnIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmc6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmcuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRvcDogMTNweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgLm1hdGVyaWFsLWxpc3QtbWluaV9fbGlzdCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgcGFkZGluZzogMC42cmVtIDMwcHggMC42cmVtIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2xpc3RfX2l0ZW0gc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2xpc3RfX2l0ZW0gLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7IH1cbiAgICAgICAgLm1hdGVyaWFsLWxpc3QtbWluaV9fbGlzdF9faXRlbSAuY2xvc2U6YmVmb3JlLCAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIC5jbG9zZTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIC5jbG9zZTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIC5jbG9zZTpob3ZlcjpiZWZvcmUsIC5tYXRlcmlhbC1saXN0LW1pbmlfX2xpc3RfX2l0ZW0gLmNsb3NlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9XG4gIC5tYXRlcmlhbC1saXN0LW1pbmlfX3NoYWRlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA2OTUwIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTMycHg7IH1cbiAgLm1hdGVyaWFsLWxpc3QtbWluaV9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMCAxNXB4IDAuNnJlbSAxNXB4OyB9XG4gIC5tYXRlcmlhbC1saXN0LW1pbmlfX2FjdGlvbiB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5tYXRlcmlhbC1hY3Rpb25zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIHBhZGRpbmc6IDEuOHJlbSAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLm1hdGVyaWFsLWFjdGlvbnMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAubWF0ZXJpYWwtYWN0aW9uc19fbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAubWF0ZXJpYWwtYWN0aW9uc19fYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMC42cmVtIDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnNfX2J1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA0NTM1O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnNfX2J1dHRvbi0tZW1haWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b24tLXByaW50LCAubWF0ZXJpYWwtYWN0aW9uc19fYnV0dG9uc19fYnV0dG9uLS1leGNlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAubWF0ZXJpYWwtYWN0aW9uc19fYnV0dG9uc19fYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgICAgICAgY29sb3I6ICNlNWU1ZTU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zIC5lbWFpbC1mb3JtIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBsZWZ0OiAtMjBweDtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxNHB4KTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UgLjE1czsgfVxuICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnMgLmVtYWlsLWZvcm0tLXZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnMgLmVtYWlsLWZvcm1fX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zIC5lbWFpbC1mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5wcm9qZWN0LWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnByb2plY3QtaW5mb19faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucHJvamVjdC1pbmZvX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtdHBsLWNvbXBhcmlzb24gLnBhZ2UtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmNvbXBhcmlzb24taGVhZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmNvbXBhcmlzb24taGVhZCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmNvbXBhcmlzb24tdGFibGUtd3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAyMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBhcmlzb24tdGFibGUtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTEwcHg7IH0gfVxuXG4uY29tcGFyaXNvbi10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICAuY29tcGFyaXNvbi10YWJsZV9faGVhZGluZyB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbXBhcmlzb24tdGFibGVfX2hlYWRpbmcge1xuICAgICAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgICAgICB3aWR0aDogMTI1cHg7IH0gfVxuICAgIC5jb21wYXJpc29uLXRhYmxlX19oZWFkaW5nOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cbiAgLmNvbXBhcmlzb24tdGFibGVfX2NlbGwge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwMDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNzVweDsgfSB9XG4gICAgLmNvbXBhcmlzb24tdGFibGVfX2NlbGw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0taW1hZ2UgZmlndXJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0taW1hZ2UgaW1nIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLmNvbXBhcmlzb24tdGFibGVfX2NlbGwtLWltYWdlOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSAuY29tcGFyaXNvbi1yZW1vdmUge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgIHdpZHRoOiAzMHB4OyB9XG4gICAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSAuY29tcGFyaXNvbi1yZW1vdmU6YmVmb3JlLCAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0tdGl0bGUgLmNvbXBhcmlzb24tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGEyOTFjO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMTJweDsgfVxuICAgICAgICAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0tdGl0bGUgLmNvbXBhcmlzb24tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSAuY29tcGFyaXNvbi1yZW1vdmU6aG92ZXI6YmVmb3JlLCAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0tdGl0bGUgLmNvbXBhcmlzb24tcmVtb3ZlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzk2MWMxMzsgfVxuICAuY29tcGFyaXNvbi10YWJsZV9fcm93OmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmNvbXBhcmlzb24tdGFibGVfX3JvdzpudGgtY2hpbGQoLW4rMSkgdGg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNvbXBhcmlzb24tdGFibGUgLnRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2NvbXBhcmlzb24tdGFibGUtbG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTsgfVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDsgfVxuICAubWZwLXByZWxvYWRlciBhIHtcbiAgICBjb2xvcjogI0NDQzsgfVxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRkY7IH1cblxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5idXR0b24ubWZwLWNsb3NlLCBidXR0b24ubWZwLWFycm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTA0NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cbiAgLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7IH1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjRkZGO1xuICByaWdodDogLTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubWZwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjY1O1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlciwgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWFycm93OmJlZm9yZSwgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDM5cHg7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtaW4taGVpZ2h0OiA3NXZoOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cbiIsIkBpbXBvcnQgXCIvL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjIuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3NcIjsiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gKiBWZXJ0aWNhbCBSaHl0aG1uIGluIFNhc3Mgd2l0aCBoZWxwZnVsIG1peGlucyBhbmQgaGVscGVyc1xuICogQXV0aG9yOiAgR2F5YSBLZXNzbGVyXG4gKiBWZXJzaW9uOiAwLjAuMVxuICogRGF0ZTogICAgMjAxNC0wNS0xOFxuICovXG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYmFzZS1mb250LXNpemUpID09IGZhbHNlIHtcbiAgICAkYmFzZS1mb250LXNpemU6IDE2cHg7XG59XG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYmFzZS1saW5lKSA9PSBmYWxzZSB7XG4gICAgJGJhc2UtbGluZTogMjRweDtcbn1cblxuQGlmIHZhcmlhYmxlLWV4aXN0cyhiYXNlLWxpbmUtZmFjdG9yKSA9PSBmYWxzZSB7XG4gICAgJGJhc2UtbGluZS1mYWN0b3I6IDEuNTtcbn1cblxuJHZyLWJhc2UtYnJvd3NlcjogMTBweDtcblxuQGZ1bmN0aW9uIHB4MnJlbSgkdmFsdWUpIHtcbiAgICBAaWYgKHVuaXQoJHZhbHVlKSA9PSBweCkge1xuICAgICAgICAkdmFsdWU6ICR2YWx1ZSAvIDFweDtcbiAgICB9XG5cbiAgICBAcmV0dXJuICgkdmFsdWUgLyAoJHZyLWJhc2UtYnJvd3NlciAvIDFweCkpICogMXJlbTtcbn1cblxuXG5AbWl4aW4gZXN0YWJsaXNoLWJhc2VsaW5lKCRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lKSB7XG4gICAgaHRtbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjIuNSU7IC8qIFNldHMgdXAgdGhlIEJhc2UgMTAgc3R1ZmYgKi9cbiAgICB9XG5cbiAgICBodG1sIGJvZHksIGh0bWwgaW5wdXQsIGh0bWwgdGV4dGFyZWEsIGh0bWwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiBweDJyZW0oJGZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBweDJyZW0oJGxpbmUtaGVpZ2h0KTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSkge1xuICAgIEBpZiAoJGZvbnQtc2l6ZSAqICRiYXNlLWxpbmUtZmFjdG9yKSA+ICRiYXNlLWxpbmUge1xuICAgICAgICBAcmV0dXJuICgkZm9udC1zaXplICogJGJhc2UtbGluZS1mYWN0b3IpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICRiYXNlLWxpbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gY2hhbmdlLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKCRmb250LXNpemUpO1xuXG4gICAgJGxpbmUtaGVpZ2h0OiBnZXQtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogcHgycmVtKCRsaW5lLWhlaWdodCk7XG5cbiAgICAvL0BkZWJ1ZyAkbGluZS1oZWlnaHQ7XG4gICAgLy9AZGVidWcgcHgycmVtKCRsaW5lLWhlaWdodCk7XG4gICAgLy9AZGVidWcgcHgycmVtKCRiYXNlLWxpbmUtZmFjdG9yKTtcbiAgICAvL1xuICAgIC8vbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtZmFjdG9yO1xufVxuXG5AZnVuY3Rpb24gcmh5dGhtKCRhbW91bnQ6IDEpIHtcbiAgICBAcmV0dXJuIHB4MnJlbSgkYmFzZS1saW5lICogJGFtb3VudCk7XG59XG5cbkBmdW5jdGlvbiByaHl0aG0tYm9yZGVyKCRhbW91bnQ6IDEsICR3aWR0aDogMXB4KSB7XG4gICAgQHJldHVybiBweDJyZW0oKCRiYXNlLWxpbmUgKiAkYW1vdW50KSAtICR3aWR0aCk7XG59XG5cbkBtaXhpbiBiYXNlbGluZS1ncmlkIHtcbiAgICAkYmFzZWxpbmUtY29sb3I6IHJnYmEoNTYsMjU1LDI1NSwuOCk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCkgOTUlLCAkYmFzZWxpbmUtY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDk1JSwgJGJhc2VsaW5lLWNvbG9yIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCkgOTUlLCAkYmFzZWxpbmUtY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRiYXNlLWxpbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCAwcHg7IC8vIFVzZSB0byBvZmZzZXQgYW5kIGNlbnRlciB5b3VyIGdyaWRcbn0iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5yZWFkeWNsYXNzLmNzc1xuR3Jhdml0eSBGb3JtcyBSZWFkeSBDbGFzcyBQcmUtU2V0IEhlbHBlciBTdHlsZXNcbmh0dHA6Ly93d3cuZ3Jhdml0eWZvcm1zLmNvbVxudXBkYXRlZDogSnVseSAxMiwgMjAxNiAxMDoxMSBQTSBHTVQtNVxuXG5HcmF2aXR5IEZvcm1zIGlzIGEgUm9ja2V0Z2VuaXVzIHByb2plY3RcbmNvcHlyaWdodCAyMDA4LTIwMTYgUm9ja2V0Z2VuaXVzIEluYy5cbmh0dHA6IC8vd3d3LnJvY2tldGdlbml1cy5jb21cbnRoaXMgbWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIHdpdGhvdXQgdGhlXG5leHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLlxuXG5OT1RFOiBETyBOT1QgRURJVCBUSElTIEZJTEUhIE1BS0UgQU5ZIE1PRElGSUNBVElPTlMgSU4gWU9VUlxuVEhFTUUgU1RZTEVTSEVFVC4gVEhJUyBGSUxFIElTIFJFUExBQ0VEIERVUklORyBBVVRPLVVQREFURVNcbkFORCBBTlkgQ0hBTkdFUyBNQURFIEhFUkUgV0lMTCBCRSBPVkVSV1JJVFRFTi5cblxuSWYgeW91IG5lZWQgdG8gbWFrZSBleHRlbnNpdmUgY3VzdG9taXphdGlvbnMsXG5jb3B5IHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgdG8geW91ciB0aGVtZVxuc3R5bGUgc2hlZXQgZm9yIGVkaXRpbmcuIFRoZW4sIGdvIHRvIHRoZSBmb3JtXG5zZXR0aW5ncyBwYWdlICYgc2V0IHRoZSAnb3V0cHV0IENTUycgb3B0aW9uXG50byBuby5cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRlbF0ubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0ubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0ubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGVsXS5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5zbWFsbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT11cmxdLnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5zbWFsbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPW51bWJlcl0uc21hbGwsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0uZGF0ZXBpY2tlci5tZWRpdW0ge1xuICAgICAgICB3aWR0aDogOTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX2hvdXIgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfaG91cixcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF9kYXRlX21vbnRoLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfZGF5LFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfeWVhciB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2lubGluZSBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCh1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXQpOm5vdCh1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQpOm5vdCguZGF0ZXBpY2tlciksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiAuZ2lucHV0X2NvbnRhaW5lcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pOm5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCk6bm90KHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCk6bm90KC5kYXRlcGlja2VyKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF9oYWxmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIHRleHRhcmVhLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogOTglO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBpbnB1dC5zbWFsbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGlucHV0LnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ3NlY3Rpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZitsaS5nc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCA4cHggMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZixcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDhweCAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDhweCAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZitsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmKy5nZm9ybV9mb290ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZisuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLyogMyBjb2x1bW5zICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCB7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pIHtcbiAgICAgICAgd2lkdGg6IDMzLjQlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCk6bm90KHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCguZ2lucHV0X3F1YW50aXR5KTpub3QodWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0KTpub3QodWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0KSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCk6bm90KHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3Qge1xuICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2xlZnRfdGhpcmQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX21pZGRsZV90aGlyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMlIC0gMTZweCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF90aGlyZCB7XG4gICAgICAgIHdpZHRoOiAzMy40JTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQrbGkuZ3NlY3Rpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQrbGkuZ3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCtsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkK2xpLmdmaWVsZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCtsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCsuZ2Zvcm1fZm9vdGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCsuZ2Zvcm1fZm9vdGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkKy5nZm9ybV9mb290ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvKiA0IGNvbHVtbnMgLSBxdWFydGVycyAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2ZpcnN0X3F1YXJ0ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3NlY29uZF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl90aGlyZF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9mb3VydGhfcXVhcnRlciB7XG4gICAgICAgIHdpZHRoOiAyNC41JTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGlucHV0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIHNlbGVjdC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgaW5wdXQubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBzZWxlY3QubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBzZWxlY3QubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDk3LjUlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIrbGkuZ3NlY3Rpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIrbGkuZ3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcitsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIrbGkuZ2ZpZWxkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIrbGkuZ2ZpZWxkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyK2xpLmdmaWVsZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyKy5nZm9ybV9mb290ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIrLmdmb3JtX2Zvb3RlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyKy5nZm9ybV9mb290ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIrLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC8qIGhvcml6b250YWwgbGlzdCBjb2x1bW5zIC0gZGlzcGxheWVkIGlubGluZSAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTZweCk7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaSB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKWxpIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcwJSArIDE2cHgpO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMnB4IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfcmFkaW8sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgbGFiZWwuZ2ZpZWxkX2xhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF9pbmxpbmUgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIH1cblxuICAgIC8qIHZlcnRpY2FsIGxpc3QgY29sdW1ucyAtIHVzaW5nIENTUyBjb2x1bW5zICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAxNnB4O1xuICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDE2cHg7XG4gICAgICAgIGNvbHVtbi1nYXA6IDE2cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8yNSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNTAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF81MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0Xzc1IHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNzUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMDAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMDAgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzE1MCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzE1MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDEwcHggMDtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBodG1sOm5vdFtkaXI9XCJydGxcIl0gLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIGh0bWw6bm90W2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuICAgIGh0bWxbZGlyPVwicnRsXCJdIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICBodG1sW2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9oaWRlX2FtcG0gZGl2LmdmaWVsZF90aW1lX2FtcG0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQge1xuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwIDhweCAhaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGgyLmdzZWN0aW9uX3RpdGxlLFxuICAgIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDhweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgLmdzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwgbGksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDE4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDE2cHggMCAxOHB4IDMycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwIDE2cHggMThweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMThweCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHggMThweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JlZW4sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3JlZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfeWVsbG93LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmF5LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ibHVlIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JlZW4ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTdCNDhBO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0JFQ0EwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogI0RGQiAxcHggMXB4O1xuICAgICAgICBjb2xvcjogIzAzMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NGQURCMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRjJGNTtcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICM4MzI1MjU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3llbGxvdyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgICAgIHRleHQtc2hhZG93OiAjRkNGQUVBIDFweCAxcHg7XG4gICAgICAgIGNvbG9yOiAjMjIyO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmF5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2JsdWUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTdjMmU3O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDFFNEYzO1xuICAgICAgICB0ZXh0LXNoYWRvdzogI0UwRjFGRiAxcHggMXB4O1xuICAgICAgICBjb2xvcjogIzMxNDQ3NTtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV95ZWxsb3cge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2REI1NTtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV9ncmF5IHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0M7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG4gICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCRDI7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoMjIxLCAyMTUsIDEzMSwgMC43NSk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0ZGRjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmY2U1O1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmY2U1IDAlLCAjZmZmOWJmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCNmZmZjZTUpLCBjb2xvci1zdG9wKDEwMCUsI2ZmZjliZikpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmY2U1IDAlLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmY2U1IDAlLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZmZmNlNSAwJSwjZmZmOWJmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZmZmNlNSAwJSwjZmZmOWJmIDEwMCUpO1xuICAgIH1cblxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWZjZGY7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTdjMzdjO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoODYsIDEyMiwgODYsIDAuNCk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50IGRpdi5nZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWZmYWRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2E3YzM3YztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNERkIgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICMwMzA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyMTksMjQyLDE4Myk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjE5LDI0MiwxODMsMSkgMCUsIHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgyMTksMjQyLDE4MywxKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDE4MCwyMDgsMTM2LDEpKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjE5LDI0MiwxODMsMSkgMCUscmdiYSgxODAsMjA4LDEzNiwxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjE5LDI0MiwxODMsMSkgMCUscmdiYSgxODAsMjA4LDEzNiwxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDIxOSwyNDIsMTgzLDEpIDAlLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDIxOSwyNDIsMTgzLDEpIDAlLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YmVmb3JlLFxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50OmFmdGVyLFxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQ6YmVmb3JlLFxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQ6YWZ0ZXIge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRvcDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTVweCAxMHB4IHJnYmEoMCwwLDAsIDAuMik7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YWZ0ZXIsXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIHJlYWR5IGNsYXNzIC0gdmVyeSBzaW1wbGUgaW1wbGVtZW50YXRpb24gZm9yIHVwIHRvIDUgZmllbGRzIGFuZCBhIGJ1dHRvbiAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLTE2cHgpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5LFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2LmdpbnB1dF9jb250YWluZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGJvZHk6bm90KHJ0bCkgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAuZ2lucHV0X2NvbXBsZXggbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uOm5vdCgudmFsaWRhdGlvbl9tZXNzYWdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0gOTAwMHB4O1xuICAgIH1cblxuICAgIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3Igb25lIGZpZWxkICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciB0d28gZmllbGRzICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDIpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3IgdGhyZWUgZmllbGRzICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDMpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMiksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2V0IGEgd2lkdGggZm9yIGZvdXIgZmllbGRzICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDQpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciBmaXZlIGZpZWxkcyAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCg1KSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg0KTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDUpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2V0IGEgd2lkdGggZm9yIHNpeCBmaWVsZHMgKi9cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoNiksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCg1KSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDMpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoNCk6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg1KTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDYpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDE2LjYlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsLmZvcm1fc3VibGFiZWxfYmVsb3cgbGkuZ2ZpZWxkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbC5mb3JtX3N1YmxhYmVsX2Fib3ZlIGxpLmdmaWVsZCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0LnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubGFyZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAudG9wX2xhYmVsIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8qIGVuZCBtZWRpYSBxdWVyeSAqL1xuXG59IiwiaGVhZGVyLHNlY3Rpb24sZm9vdGVyLGFzaWRlLG5hdixhcnRpY2xlLGZpZ3VyZXtkaXNwbGF5OmJsb2NrO21hcmdpbjowcHg7cGFkZGluZzowcHg7fWh0bWx7Y29sb3I6IzAwMDt9Ym9keSxkaXYsZGwsZHQsZGQsdWwsb2wsbGksaDEsaDIsaDMsaDQsaDUsaDYscHJlLGNvZGUsZm9ybSxmaWVsZHNldCxsZWdlbmQsaW5wdXQsYnV0dG9uLHRleHRhcmVhLHAsYmxvY2txdW90ZSx0aCx0ZHttYXJnaW46MDtwYWRkaW5nOjA7fXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO31maWVsZHNldCxpbWd7Ym9yZGVyOjA7fWFkZHJlc3MsY2FwdGlvbixjaXRlLGNvZGUsZGZuLGVtLHN0cm9uZyx0aCx2YXIsb3B0Z3JvdXB7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7fWRlbCxpbnN7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fWxpe2xpc3Qtc3R5bGU6bm9uZTt9Y2FwdGlvbix0aHt0ZXh0LWFsaWduOmxlZnQ7fWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9cTpiZWZvcmUscTphZnRlcntjb250ZW50OicnO31hYmJyLGFjcm9ueW17Ym9yZGVyOjA7Zm9udC12YXJpYW50Om5vcm1hbDt9c3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO31zdWJ7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7fWxlZ2VuZHtjb2xvcjojMDAwO31pbnB1dCxidXR0b24sdGV4dGFyZWEsc2VsZWN0LG9wdGdyb3VwLG9wdGlvbntmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O31pbnB1dCxidXR0b24sdGV4dGFyZWEsc2VsZWN0eypmb250LXNpemU6MTAwJTt9IiwiQGluY2x1ZGUgZXN0YWJsaXNoLWJhc2VsaW5lO1xuXG4lc21hbGwtZm9udC1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xufVxuXG4lYmFzZS1mb250LXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGJhc2UtZm9udC1zaXplKTtcbn1cblxuJWJpZ2dlci1mb250LXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGJpZ2dlci1mb250LXNpemUpO1xufVxuXG4lbGFyZ2UtZm9udC1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRsYXJnZS1mb250LXNpemUpO1xufVxuXG4laGVhZGVyLTEtc2l6ZSB7XG4gICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTEtc2l6ZSk7XG59XG5cbiVoZWFkZXItMi1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItMi1zaXplKTtcbn1cblxuJWhlYWRlci0zLXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci0zLXNpemUpO1xufVxuXG4laGVhZGVyLTQtc2l6ZSB7XG4gICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTQtc2l6ZSk7XG59XG5cbiVoZWFkZXItNS1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItNS1zaXplKTtcbn1cblxuJWhlYWRlci02LXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci02LXNpemUpO1xufVxuXG4lZm9udC1zdGFuZGFyZCB7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4lZm9udC1zZW1pYm9sZCB7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4lZm9udC1ib2xkIHtcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWEtbm92YScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbiVmb250LXNlcmlmIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJvZHkge1xuICAgIEBleHRlbmQgJWZvbnQtc3RhbmRhcmQ7XG4gICAgY29sb3I6ICRkYXJrO1xufVxuXG5ib2R5LFxuaW1nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgbGluZWFyKTtcbn1cblxucCB7XG4gICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpO1xufVxuXG5hIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4ycyBlYXNlLWluLW91dCk7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJi5iaWdnZXItbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTZweCk7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICAmLnVuZGVybGluZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcbiAgICB9XG59XG5cbmgxLFxuaDIsXG5oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xufVxuXG5oMSB7XG4gICAgQGV4dGVuZCAlaGVhZGVyLTEtc2l6ZTtcbiAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG59XG5cbmgyIHtcbiAgICBAZXh0ZW5kICVoZWFkZXItMi1zaXplO1xuICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbn1cblxuaDMge1xuICAgIEBleHRlbmQgJWhlYWRlci0zLXNpemU7XG59XG5cbmg0IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItNC1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmg1IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItNS1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmg2IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItNi1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnN0cm9uZyB7XG4gICAgQGV4dGVuZCAlZm9udC1ib2xkO1xufVxuXG5lbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5kZWwge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG5hYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2EzYmRiNTtcbiAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuXG5zdXAsXG5zdXBlcnNjcmlwdCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cDtcbn1cblxuc3ViLFxuc3Vic2NyaXB0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuXG4uaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogJHllbGxvdztcbn0iLCJAaW1wb3J0ICcuLi9saWIvbmVhdC9uZWF0LWhlbHBlcnMnO1xuXG4vLyBDaGFuZ2UgdGhlIGdyaWQgc2V0dGluZ3NcbiR2aXN1YWwtZ3JpZDogZmFsc2U7XG4kdmlzdWFsLWdyaWQtY29sb3I6ICNmMDA7XG4kdmlzdWFsLWdyaWQtaW5kZXg6IGZyb250O1xuJHZpc3VhbC1ncmlkLW9wYWNpdHk6IC4xO1xuXG4kY29sdW1uOiA4MHB4O1xuJGd1dHRlcjogMzBweDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJG1heC13aWR0aDogMTIyMHB4O1xuJG91dGVyLW1heC13aWR0aDogMTYwMHB4O1xuJHNsaWRlci1tYXgtd2lkdGg6IDIwMDBweDtcbiRzY3JlZW4tcGFkZGluZzogMjBweDtcblxuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG5cbi8vIERlZmluZSB5b3VyIGJyZWFrcG9pbnRzXG4kZnVsbC13aWR0aDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDIwMDBweCAxMik7XG4kZGVza3RvcDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoICRtYXgtd2lkdGggMTIpO1xuJGRlc2t0b3AtbGFyZ2U6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAxMTQwcHggMTIpO1xuJGRlc2t0b3AtbWVkaXVtOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTAyNHB4IDEyKTtcbiRkZXNrdG9wLXNtYWxsOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggOTYwcHggMTIpO1xuJHRhYmxldDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDc2OHB4IDgpO1xuJG1vYmlsZS1sYW5kc2NhcGU6IG5ldy1icmVha3BvaW50KCBtYXgtd2lkdGggNjQwcHgsIDQgKTtcbiRtb2JpbGUtYmV0d2VlbjogbmV3LWJyZWFrcG9pbnQoIG1heC13aWR0aCA0NjBweCwgNCApO1xuJG1vYmlsZTogbmV3LWJyZWFrcG9pbnQoIG1heC13aWR0aCAzMjBweCwgNCApO1xuXG4vLyBGb250IHNldHRpbmdzXG4kc21hbGwtZm9udC1zaXplOiAxM3B4O1xuJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuJGJhc2UtbGluZTogMjRweDtcbiRiYXNlLWxpbmUtZmFjdG9yOiAoJGJhc2UtbGluZSAvICRiYXNlLWZvbnQtc2l6ZSk7XG4kYmlnZ2VyLWZvbnQtc2l6ZTogMTdweDtcbiRsYXJnZS1mb250LXNpemU6IDMwcHg7XG4kaGVhZGVyLTEtc2l6ZTogMzVweDtcbiRoZWFkZXItMi1zaXplOiAyNHB4O1xuJGhlYWRlci0zLXNpemU6IDE5cHg7XG4kaGVhZGVyLTQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuJGhlYWRlci01LXNpemU6IDE0cHg7XG4kaGVhZGVyLTYtc2l6ZTogMTRweDtcblxuLy8gQ29sb3JzXG4kYmxhY2s6ICMwMDA7XG4kZGFyazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRyZWQ6ICNkYTI5MWM7XG4keWVsbG93OiAjZmZlZDAwO1xuXG4kZ3JleS1yZWd1bGFyOiAjZThlY2VhO1xuJGdyZXktbGlnaHQ6ICNkM2RiZDc7XG4kZ3JleS12ZXJ5LWxpZ2h0OiAjZWRlZGVkO1xuJGdyZXktZXh0cmFsaWdodDogI2U1ZTVlNTtcbiRncmV5LW1lZGl1bS1saWdodDogI2RjZGNkYztcbiRncmV5LW1lZGl1bTogI2MwYzFjMjtcbiRncmV5LWRhcms6ICM5OTk5OTk7XG5cbiRncmVlbi1ncmV5OiAjY2NlMWRjO1xuXG4kZ3JlZW4tcmVndWxhcjogIzAwNjk1MDtcbiRncmVlbi1ob3ZlcjogIzAwNDUzNTtcbiRncmVlbi1hY3RpdmU6ICMwMDM0Mjg7XG5cbiRoaWdobGlnaHQ6ICRncmVlbi1yZWd1bGFyO1xuXG4kbGluay1jb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4kbGluay1jb2xvci1ob3ZlcjogJGdyZWVuLWhvdmVyO1xuJGxpbmstY29sb3ItYWN0aXZlOiAkZ3JlZW4tYWN0aXZlO1xuXG4vLyBJbWFnZXMgc3ByaXRlXG4kc3ByaXRlLWJnOiB1cmwoJy4uL2ltYWdlcy9zcHJpdGUucG5nJyk7XG4kc3ByaXRlLWJnLXNpemU6IDEwMDAgMTAwMDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsImh0bWwsXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJi5uby1zY3JvbGxpbmcge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogMTg5cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQ0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTk2cHg7XG4gICAgfVxufVxuXG4ud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuICAgIHBhZGRpbmctbGVmdDogJHNjcmVlbi1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzY3JlZW4tcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tYXJjaGl2ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICB9XG59XG5cbi52aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSAqL1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGhlaWdodDogMDtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLy8gR0VORVJBTCBTVFlMRVNcbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxNXB4IHJoeXRobSguNSk7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgcmh5dGhtKC41KSAxNXB4O1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNsZWFyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLm1vcmUtbGluayB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLXBvc2l0aW9uIC4ycyBlYXNlLWluLW91dCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHJoeXRobSguMjUpIDAgcmh5dGhtKC4yNSkgNDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuY2F0ZWdvcnktb3ZlcnZpZXcgJixcbiAgICAudGF4LXByb2R1Y3QtY2F0ZWdvcnkgLmNhdGVnb3J5LW92ZXJ2aWV3ICYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1vYmlsZS1iZXR3ZWVuICkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuXG4gICAgICAgIC5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC5jYXRlZ29yeS1vdmVydmlldyAmLFxuICAgICAgICAudGF4LXByb2R1Y3QtY2F0ZWdvcnkgLmNhdGVnb3J5LW92ZXJ2aWV3ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtb2JpbGUtYmV0d2VlbiApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgd2lkdGg6IDdweDtcblxuICAgICAgICAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuY2F0ZWdvcnktb3ZlcnZpZXcgJixcbiAgICAgICAgLnRheC1wcm9kdWN0LWNhdGVnb3J5IC5jYXRlZ29yeS1vdmVydmlldyAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWJldHdlZW4gKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWludmVyc2Uge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAmLmFsaWdubGVmdCxcbiAgICAgICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiByaHl0aG0oLjUpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgfVxuXG4gICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICB9XG59XG5cbi5oaWRlLWZvci1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4jbWFwX2NhbnZhcyB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWUtc2VjdGlvbi1saXN0LWltYWdlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSguNSk7XG4gICAgfVxufVxuXG4jdG8tdG9wIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3R0b206IHJoeXRobSgzKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMjVweCAxNXB4IDAgMTVweDtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiByaHl0aG0oMyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogODg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCIsIEZvbnRBd2Vzb21lLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi55b3V0dWJlLXZpZGVvLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206NTYuMjUlO1xuICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgaGVpZ2h0OjA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcblxuICAgIGlmcmFtZSxcbiAgICBvYmplY3QsXG4gICAgZW1iZWQge1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudGVyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vZ29vLmdsL3lQNWhpWlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiQG1peGluIGJ0bigkYmctY29sb3I6ICRncmVlbi1yZWd1bGFyLCAkd2lkdGg6IGF1dG8sICRwYWRkaW5nOiByaHl0aG0oMC41KSAyMHB4KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoYmFja2dyb3VuZCAuM3MgZWFzZS1pbi1vdXQpO1xuICAgIEBleHRlbmQgJWJhc2UtZm9udC1zaXplO1xuICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYWN0aXZlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkYmFzZS1mb250LXNpemUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByaHl0aG0oLjI1KTtcbiAgICB9XG59XG5cbkBtaXhpbiBidG4teWVsbG93KCkge1xuICAgIEBpbmNsdWRlIGJ0bigkeWVsbG93KTtcbiAgICBjb2xvcjogJGRhcms7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbiggJHllbGxvdywgMjAlICk7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICB9XG59XG5cblxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnRuKCk7XG5cbiAgICAmLS1tb3JlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1hcmdpbiAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgc2l6ZTogOXB4IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbi0teWVsbG93IHtcbiAgICBAaW5jbHVkZSBidG4teWVsbG93KCk7XG59IiwiJXN0YW5kYXJkLWlucHV0IHtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgLjJzKTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0Ym9yZGVyOiB7XG5cdFx0Y29sb3I6ICRncmV5LXJlZ3VsYXI7XG5cdFx0cmFkaXVzOiAwO1xuXHRcdHN0eWxlOiBzb2xpZDtcblx0XHR3aWR0aDogMXB4O1xuXHR9XG5cdGNvbG9yOiAkYmxhY2s7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRncmV5LWRhcms7XG5cdH1cblxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICNhOWE5YTk7XG5cdH1cbn1cblxuJXNlbGVjdGJveCB7XG5cdEBleHRlbmQgJXN0YW5kYXJkLWlucHV0O1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtcG9zaXRpb24gLjJzIGVhc2UtaW4tb3V0KTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0YmFja2dyb3VuZDoge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy5zdmcnKTtcblx0XHRwb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMjFweDtcblx0XHRzaXplOiA4cHggN3B4O1xuXHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bGluZS1oZWlnaHQ6IHJoeXRobSgxKTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAzNHB4O1xuXHR0ZXh0LWluZGVudDogLjAxcHg7XG5cdHRleHQtb3ZlcmZsb3c6ICcnO1xuXHR3aWR0aDogYXV0bztcblxuXHQmOjotbXMtZXhwYW5kIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0KyBsYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcblx0QGV4dGVuZCAlc3RhbmRhcmQtaW5wdXQ7XG59XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0YXBwZWFyYW5jZTogY2hlY2tib3g7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dIHtcblx0YXBwZWFyYW5jZTogcmFkaW87XG59XG5cbnNlbGVjdCB7XG5cdEBleHRlbmQgJXNlbGVjdGJveDtcbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdLFxubGFiZWwge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9c3VibWl0XSB7XG5cdEBpbmNsdWRlIGJ0bigpO1xufVxuXG5pbnB1dFt0eXBlPWhpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0LmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG5cdGNvbG9yOiAkZ3JleS1yZWd1bGFyO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHQuZ2ZfcHJvZ3Jlc3NiYXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmdmb3JtX2JvZHksXG4ubWt0b0Zvcm0ge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cblx0Lmdmb3JtX2ZpZWxkcyB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHQuZ2ZpZWxkIHtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji5nZm9ybV9oaWRkZW4ge1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdGxhYmVsIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtYm9sZDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oMC4yNSkgMDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdCYuaGlkZGVuX2xhYmVsIGxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LnRleHRhcmVhIHtcblx0XHRcdCYuc21hbGwge1xuXHRcdFx0XHRoZWlnaHQ6IHJoeXRobSg0KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5tZWRpdW0ge1xuXHRcdFx0XHRoZWlnaHQ6IHJoeXRobSg4KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5sYXJnZSB7XG5cdFx0XHRcdGhlaWdodDogcmh5dGhtKDEyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0QGV4dGVuZCAlc2VsZWN0Ym94O1xuXHRcdH1cblxuXHRcdC5nZmllbGRfY2hlY2tib3gsXG5cdFx0LmdmaWVsZF9yYWRpbyB7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMCAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5nZmllbGRfZXJyb3Ige1xuXHRcdFx0Y29sb3I6ICRyZWQ7XG5cblx0XHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHJlZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZ2ZpZWxkX3JlcXVpcmVkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0fVxuXG5cdFx0LmdmaWVsZF9yYWRpbyBsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHR9XG5cblx0XHQuZGlzYWJsZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG5cdFx0XHRjb2xvcjogJGdyZXktcmVndWxhcjtcblx0XHR9XG5cblx0XHQuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuXHRcdC5naW5wdXRfY291bnRlciB7XG5cdFx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdH1cblx0fVxufVxuXG4uZ2Zvcm1fZm9vdGVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdGNsZWFyOiBib3RoO1xuXG5cdC5nZm9ybV9idXR0b24ge1xuXHRcdEBpbmNsdWRlIGJ0bigpO1xuXHRcdHBhZGRpbmctbGVmdDogNTBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuXHR9XG59XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1peGluIGNoZWNrYm94KCRiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0KSB7XG5cdFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRcdCY6bm90KDpjaGVja2VkKSxcblx0XHQmOmNoZWNrZWQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogLTk5OTlweDtcblxuXHRcdFx0JiArIGxhYmVsIHtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEuMjVlbTtcblx0XHRcdFx0XHR3aWR0aDogMS4yNWVtO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjM5KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWNoZWNrYm94LXRpY2suc3ZnJyk7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRzaXplOiAxNHB4IDE0cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHRcdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdFx0bGVmdDogM3B4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDNweDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXHRcdFx0XHRcdHdpZHRoOiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0fVxuXG5cdH1cbn1cblxuLm1rdG9Gb3JtIHtcblx0ZmllbGRzZXQge1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblx0fVxuXG5cdGxlZ2VuZCB7XG5cdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTMtc2l6ZSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblxuXHQubWt0b0FzdGVyaXgge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdGxhYmVsIHtcblx0XHRAZXh0ZW5kICVmb250LWJvbGQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0cGFkZGluZzogcmh5dGhtKDAuMjUpIDA7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblxuXHQubWt0b0NoZWNrYm94TGlzdCB7XG5cdFx0aW5wdXQge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblx0fVxuXG5cdGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC50ZXh0YXJlYSB7XG5cdFx0Ji5zbWFsbCB7XG5cdFx0XHRoZWlnaHQ6IHJoeXRobSg0KTtcblx0XHR9XG5cblx0XHQmLm1lZGl1bSB7XG5cdFx0XHRoZWlnaHQ6IHJoeXRobSg4KTtcblx0XHR9XG5cblx0XHQmLmxhcmdlIHtcblx0XHRcdGhlaWdodDogcmh5dGhtKDEyKTtcblx0XHR9XG5cdH1cblxuXHRzZWxlY3Qge1xuXHRcdEBleHRlbmQgJXNlbGVjdGJveDtcblx0fVxuXG5cdC5ta3RvRXJyb3JNc2cge1xuXHRcdGNvbG9yOiByZWQ7XG5cdH1cbn1cblxuLmNoZWNrYm94IHtcblx0QGluY2x1ZGUgY2hlY2tib3goKTtcbn1cblxuLmNoZWNrYm94LS13aGl0ZSB7XG5cdEBpbmNsdWRlIGNoZWNrYm94KCR3aGl0ZSk7XG59XG5cbi5jb250ZW50X19zZWN0aW9uX19jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cblxuLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPXJhZGlvXSArIGlucHV0W3R5cGU9dGV4dF0ge1xuXHRmb250LXNpemU6IDAuODc1ZW0gIWltcG9ydGFudDsgLy8gSSdkIHJhdGhlciBub3QgdXNlIHRoaXMsIGJ1dCBHRiBiYXNlIHN0eWxpbmcgaXMga2luZCBvZiBmb3JjaW5nIG1lIGhlcmUuXG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFjayB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufVxuXG5kaXZbZGF0YS1jYWNoZWQtZm9ybS11cmxdIC5mb3JtTG9hZGVyIHtcblx0Ym9yZGVyLXRvcC1jb2xvcjogIzAwNjk1MCAhaW1wb3J0YW50O1xufVxuXG4ubWFya2V0aW5nRm9ybSB7XG5cdD4gZGl2IHtcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDs7XG5cdH1cblxuXHRwIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHR3aWR0aDogNjAwcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Lm5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWluLWhlaWdodDogMzhweDtcblx0XHRib3JkZXI6IDEuNDQ3MzdweCBzb2xpZCNDQ0NDQ0M7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblxuXHQubm90aWZpY2F0aW9uLW1lc3NhZ2UtaGlkZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdHRhYmxlLm91dGVyIHtcblx0XHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmlubmVyIHtcblx0XHRbZGF0YS1lZGl0b3JibG9ja3R5cGVdIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC50ZXh0Rm9ybUZpZWxkQmxvY2ssXG5cdC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLFxuXHQudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssXG5cdC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayxcblx0Lm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG5cdC5sb29rdXBGb3JtRmllbGRCbG9jayB7XG5cdFx0cGFkZGluZzogMjBweCAzMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDE2cHg7XG5cdH1cblxuXHRsYWJlbCA+IHAge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWwsXG5cdC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuXHQubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWwsXG5cdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCxcblx0Lm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsLFxuXHQubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCxcblx0ZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBsYWJlbFtpZF49XCJ3bHNwaXNwSGlwSW5zdHJ1Y3Rpb25Db250YWluZXJcIl0sXG5cdC50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWwgKixcblx0LmRhdGVUaW1lRm9ybUZpZWxkQmxvY2sgbGFiZWwgKixcblx0Lmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsICosXG5cdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCAqLFxuXHQub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWwgKixcblx0Lm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWwgKixcblx0LmNvbnNlbnRCbG9jayBsYWJlbCA+IHAge1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdH1cblxuXHQudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgZGl2LnR3b29wdGlvbl9jaGVja2JveCBkaXYgbGFiZWwsXG5cdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGRpdiBsYWJlbCBkaXYsXG5cdC5jb25zZW50QmxvY2sgZGl2IGxhYmVsIHAge1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblxuXHR0YWJsZS5tdWx0aSAudGV4dEZvcm1GaWVsZEJsb2NrLFxuXHR0YWJsZS5tdWx0aSAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayxcblx0dGFibGUubXVsdGkgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLFxuXHR0YWJsZS5tdWx0aSAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG5cdHRhYmxlLm11bHRpIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrLFxuXHR0YWJsZS5tdWx0aSAubG9va3VwRm9ybUZpZWxkQmxvY2sge1xuXHRcdHBhZGRpbmc6IDEycHggMjBweDtcblx0fVxuXG5cdC5waG9uZUZvcm1GaWVsZEJsb2NrIHtcblx0XHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTZweDtcblxuXHRcdGxhYmVsLFxuXHRcdGxhYmVsICoge1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICMzMjMxMzA7XG5cdFx0fVxuXG5cdFx0bGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogNHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMHB4O1xuXHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0d2lkdGg6IDIycHg7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Y29sb3I6ICNjMzM0MDA7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiKlwiO1xuXHRcdFx0XHQvL3Zpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdH1cblxuXHRcdFx0JiA+ICoge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHR0YWJsZS5tdWx0aSAucGhvbmVGb3JtRmllbGRCbG9jayB7XG5cdFx0cGFkZGluZzogMTJweCAyMHB4O1xuXHR9XG5cblx0LmNvbnNlbnRCbG9jayB7XG5cdFx0cGFkZGluZzogNHB4IDMwcHg7XG5cdH1cblxuXHQuY29sdW1uQ29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdG1heC13aWR0aDogNjAwcHggIWltcG9ydGFudDtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0XHRmbGV4OiAwIDEgMTAwJSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIlRleHRcIl0ge1xuXHRcdFx0bWFyZ2luOiAwIDAgcmh5dGhtKDEpIDAgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQudGV4dEZvcm1GaWVsZEJsb2NrLFxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayxcblx0XHQucGhvbmVGb3JtRmllbGRCbG9jayxcblx0XHQub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG5cdFx0Lmxvb2t1cEZvcm1GaWVsZEJsb2NrLFxuXHRcdC5jb25zZW50QmxvY2ssXG5cdFx0LnN1Ym1pdEJ1dHRvbldyYXBwZXIge1xuXHRcdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luOiAxMHB4IDAgcmh5dGhtKC41KSAwICFpbXBvcnRhbnQ7XG5cdFx0XHRnYXA6IDVweCAhaW1wb3J0YW50O1xuXG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAncHJveGltYS1ub3ZhJywgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQudGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlcixcblx0XHQudHdvb3B0aW9uX2NoZWNrYm94IGxhYmVsOjphZnRlcixcblx0XHQuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBsYWJlbDo6YWZ0ZXIsXG5cdFx0Lmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlcixcblx0XHQudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLFxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGxhYmVsOjphZnRlcixcblx0XHQub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLFxuXHRcdC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsOjphZnRlcixcblx0XHQvLy5jb25zZW50QmxvY2sgbGFiZWwgcDpmaXJzdC1vZi10eXBlOjphZnRlcixcblx0XHQuZXZlbnRTZXNzaW9uIGxhYmVsOjphZnRlcixcblx0XHRkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJTZXNzaW9uc1wiXSBoMjo6YWZ0ZXIsXG5cdFx0ZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBsYWJlbFtpZF49XCJ3bHNwaXNwSGlwSW5zdHJ1Y3Rpb25Db250YWluZXJcIl06OmFmdGVyIHtcblx0XHRcdHdpZHRoOiAyMnB4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRjb2xvcjogI2MzMzQwMDtcblx0XHRcdGNvbnRlbnQ6IFwiKlwiO1xuXHRcdFx0Ly92aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXG5cdFx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi5yYWRpb2J1dHRvbnMgZGl2IGlucHV0LFxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGRpdiBpbnB1dCxcblx0XHQub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgZGl2LnJhZGlvYnV0dG9ucyBkaXYgaW5wdXQsXG5cdFx0Lm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgZmllbGRzZXQgPiBkaXYgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5cdFx0LmV2ZW50U2Vzc2lvbj5kaXY+aW5wdXRbdHlwZT1yYWRpb10sXG5cdFx0LmV2ZW50U2Vzc2lvbiA+IGRpdiA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcblx0XHQuZXZlbnRTZXNzaW9uID4gZGl2ID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuXHRcdC5jb25zZW50QmxvY2sgZGl2IGlucHV0IHtcblx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzMyMzEzMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdGFjY2VudC1jb2xvcjogIzAwNjk1MDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdH1cblxuXHRcdC5waG9uZUZvcm1GaWVsZEJsb2NrIGlucHV0IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0ZmxleDogMjtcblx0XHR9XG5cblxuXG5cdFx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi5yYWRpb2J1dHRvbnMgPiBkaXYsXG5cdFx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggPiBkaXYsXG5cdFx0Lm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGRpdi5yYWRpb2J1dHRvbnMgPiBkaXYsXG5cdFx0Lm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgZmllbGRzZXQgPiBkaXYsXG5cdFx0LmNvbnNlbnRCbG9jayA+IGRpdiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiAwcHg7XG5cdFx0XHRnYXA6IDhweDtcblx0XHR9XG5cblx0XHQubG9va3VwRm9ybUZpZWxkQmxvY2sge1xuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1zZWFyY2gtZmxpcHBlZC5wbmcnKSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHNpemU6IDE2cHggMTZweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJpZ2h0IDVweCBjZW50ZXIgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0dWwge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogM3B4O1xuXG5cdFx0XHRcdFx0Ji51aS1zdGF0ZS1hY3RpdmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXIgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGdyZWVuLXJlZ3VsYXIgIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc3VibWl0QnV0dG9uIHtcblx0XHRcdHBhZGRpbmc6IDEuMnJlbSA1MHB4O1xuXHRcdH1cblxuXHRcdHNlbGVjdCxcblx0XHRpbnB1dCxcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdFx0XHRhY2NlbnQtY29sb3I6ICRncmVlbi1yZWd1bGFyICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG4iLCJAbWVkaWEgcHJpbnQge1xuXG4gICAgLy8gSGlkZSBlbGVtZW50c1xuICAgICNoZWFkZXItcHVzaGVyLFxuICAgIC5oaWRlLWZvci1wcmludCxcbiAgICAuaGVhZGVyX19ub3RpZnksXG4gICAgLmhlYWRlcl9fc2VydmljZSxcbiAgICAuaGVhZGVyX19zdWIsXG4gICAgLmJyZWFkY3J1bWJzLFxuICAgIC5tb3JlLWxpbmssXG4gICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fY29udGFjdCxcbiAgICAuYW5jaG9yLW5hdixcbiAgICAuc3BlY3MtdGFibGUtd3JhcHBlcl9fc2hvdy1tb3JlLFxuICAgIC5zcGVjcy1kcmF3aW5nc19fbGlua3MsXG4gICAgLmxpc3QtdmlkZW9zLFxuICAgIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyxcbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2NvbnRhY3QgLmJ1dHRvbixcbiAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MsXG4gICAgLmxpc3QtcHJvZHVjdF9fbW9yZSxcbiAgICAuZG9vcm1hdC1kZWFsZXIsXG4gICAgLmRvb3JtYXQtcXVlc3Rpb24sXG4gICAgLmRvb3JtYXQtY2FzZS1zdHVkaWVzLFxuICAgIC5nZXQtaW4tdG91Y2gsXG4gICAgLmZvb3RlcixcbiAgICAubWF0ZXJpYWwtbGlzdC1taW5pLFxuICAgIC5uYXZpZ2F0aW9uLFxuICAgIC5yYWRpc2gtY29va2llLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oLjI1KSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogcmh5dGhtKC4yNSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8vIEtlZXAgc2VjdGlvbnMgdG9nZXRoZXJcbiAgICAua2VlcC10b2dldGhlcixcbiAgICAuc3BlY3MtZHJhd2luZ3MsXG4gICAgLnNwZWNzLWxpc3QsXG4gICAgLnByb2R1Y3QtaW5zdGFsbGF0aW9uX191c2FnZSxcbiAgICAubGlzdC1wcm9kdWN0cyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBGb3JjZSBwYWdlIGJyZWFrXG4gICAgLnNwZWNzLWxpc3Qge1xuICAgICAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgICAgICBjb2x1bW5zOiBhdXRvO1xuICAgIH1cblxuICAgIC5oZWFkZXIge1xuICAgICAgICAvLyBNYWtlIHN1cmUgYmFja2dyb3VuZCBjb2xvciBpcyBwcmludGVkLlxuICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX190b3Age1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWN0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNwZWNzLXRhYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTJweCk7XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjI1KSAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LXBkZnMge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgcmh5dGhtKC4yNSkgMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWxldHRlciB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cblxuICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IHtcbiAgICAgICAgLm1hdGVyaWFsLWFjdGlvbnMsXG4gICAgICAgIC5hY3Rpb24tYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXRlcmlhbC1saXN0IHtcbiAgICAgICAgICAgIHRib2R5IHRyIHtcbiAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgLy8gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNlbGwtZGV0YWlscyAuc3BlY3MtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNlbGwtY2hlY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jZWxsLWRldGFpbHMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jZWxsLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNob3ctb24tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCJ0YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG59XG5cbi50YWJsZXByZXNzIHtcblx0dGhlYWQgdGgsXG5cdHRmb290IHRoLFxuXHQmID4gOndoZXJlKHRoZWFkLHRmb290KSA+IHRyID4gKiB7XG5cdFx0YmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHR9XG5cblx0dGhlYWQgLmR0LW9yZGVyYWJsZS1hc2M6aG92ZXIsXG5cdHRoZWFkIC5kdC1vcmRlcmFibGUtZGVzYzpob3Zlcixcblx0dGhlYWQgLmR0LW9yZGVyaW5nLWFzYyxcblx0dGhlYWQgLmR0LW9yZGVyaW5nLWRlc2Mge1xuXHRcdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGJvZHkgdGQsXG5cdHRmb290IHRoIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1yZWd1bGFyO1xuXHR9XG5cblx0dGhlYWQgLmR0LW9yZGVyYWJsZS1hc2MgLmR0LWNvbHVtbi1vcmRlcixcblx0dGhlYWQgLmR0LW9yZGVyYWJsZS1kZXNjIC5kdC1jb2x1bW4tb3JkZXIge1xuXHRcdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG59XG5cbi5kdC1zZWFyY2ggLmR0LWlucHV0IHtcblx0d2lkdGg6IDMwMHB4O1xufVxuXG4uZHQtaW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYTlhOWE5O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnNlbGVjdC5kdC1pbnB1dCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggdG9wIDE0cHggIWltcG9ydGFudDtcbn1cblxuXG4ucGFnaW5nX3NpbXBsZSAucGFnaW5hdGVfYnV0dG9uIHtcblx0Ji5wcmV2aW91czpiZWZvcmUsXG5cdCYubmV4dDphZnRlciB7XG5cdFx0Y29sb3I6ICRkYXJrO1xuXHRcdGNvbnRlbnQ6ICdcXGYxMDQnO1xuXHRcdGZvbnQtZmFtaWx5OiBGb250QXdlc29tZSwgc2Fucy1zZXJpZjtcblx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdCYubmV4dDphZnRlciB7XG5cdFx0Y29udGVudDogJ1xcZjEwNSc7XG5cdH1cbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG5cdC5kYXRhVGFibGVzX2ZpbHRlcixcblx0LmRhdGFUYWJsZXNfbGVuZ3RoLFxuXHQuZGF0YVRhYmxlc19pbmZvLFxuXHQuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG5cdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNHB4KTtcblx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuXG5cdFx0c2VsZWN0IHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDRweCB0b3AgMTJweDtcblx0XHRcdHBhZGRpbmc6IDRweCAyMHB4IDRweCAxMHB4O1xuXHRcdH1cblxuXHRcdGlucHV0IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHRwYWRkaW5nOiA0cHggNXB4O1xuXHRcdH1cblx0fVxufVxuIiwiLyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE4LTA4LTA4XG4qIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiogSW5jbHVkZXM6IGNvcmUuY3NzLCB0b29sdGlwLmNzc1xuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luLXRvcDogLS4yNWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLXdpZGdldC1pY29uLWJsb2NrIHtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi51aS10b29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5OTk5O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuYm9keSAudWktdG9vbHRpcCB7XG5cdGJvcmRlci13aWR0aDogMnB4O1xufVxuIiwiLmhlYWRlciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAuMnMgbGluZWFyKTtcblx0YmFja2dyb3VuZDogJGdyZXktcmVndWxhcjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiA5MDtcblxuXHRib2R5LmFkbWluLWJhciAmIHtcblx0XHR0b3A6IDMycHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQmX190b3Age1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAuMnMgbGluZWFyKTtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRwYWRkaW5nOiByaHl0aG0oMSkgMCByaHl0aG0oMSkgMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdGJvZHkuc2l0ZS0xICYge1xuXHRcdFx0cGFkZGluZy10b3A6IHJoeXRobSguNSk7XG5cdFx0fVxuXG5cdFx0LndyYXBwZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19yaWdodCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGZsZXg6IDAgMTAwJTtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0LmhlYWRlci0taGlkZGVuICYge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19sb2dvIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDM0cHg7XG5cdFx0ZmxleDogMCAwIDMwMHB4O1xuXHRcdHRyYW5zaXRpb246IGZsZXggMC4ycztcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLW1lZGl1bSkge1xuXHRcdFx0ZmxleDogMCAwIDIzMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0ZmxleDogMCAxIDEwMCU7XG5cdFx0fVxuXG5cdFx0LmhlYWRlci0taGlkZGVuICYge1xuXHRcdFx0ZmxleDogMCAwIDIwMHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRmbGV4OiAwIDEgMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRmbGV4OiAwIDEgMTgwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3NlcnZpY2Uge1xuXHRcdGZsZXg6IDEgMCBhdXRvO1xuXHRcdG1heC1oZWlnaHQ6IDEwMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcblx0XHRcdGZsZXg6IDAgMSAxMDAlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG5cdFx0XHRAaW5jbHVkZSBmdWxsLXdpZHRoKCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQuaGVhZGVyLS1oaWRkZW4gJiB7XG5cdFx0XHRAaW5jbHVkZSBzbGlkZXVwO1xuXHRcdH1cblxuXHRcdCZfX25hdmlnYXRpb24ge1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IGNhbGMoMTAwJSArIDIuNHJlbSk7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdC5oZWFkZXJfX3N1Yl9fbWVudSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblx0XHRcdFx0cGFkZGluZzogcmh5dGhtKDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRhY3Qge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0QGluY2x1ZGUgZnVsbC13aWR0aDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jl9faXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3Bob25lIHtcblx0XHRcdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLXRlbGVwaG9uZS13aGl0ZS5zdmcnKTtcblx0XHRcdFx0XHRwb3NpdGlvbjogbGVmdCBjZW50ZXI7XG5cdFx0XHRcdFx0c2l6ZTogMTZweCAxNnB4O1xuXHRcdFx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMjRweDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fZW1haWwge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tbWFpbC13aGl0ZS5zdmcnKTtcblx0XHRcdFx0XHRwb3NpdGlvbjogbGVmdCBjZW50ZXI7XG5cdFx0XHRcdFx0c2l6ZTogMTRweCAxMHB4O1xuXHRcdFx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMjRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19zdWIge1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4zcyBlYXNlLWluLW91dCk7XG5cdFx0YmFja2dyb3VuZDogJGdyZXktcmVndWxhcjtcblx0XHRtYXgtaGVpZ2h0OiAyMDBweDtcblx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcblx0XHR9XG5cblx0XHQud3JhcHBlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ym9keS5zaXRlLTEgJiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5oZWFkZXItLXNjcm9sbGluZyAmLFxuXHRcdC5oZWFkZXItLWhpZGRlbiAmIHtcblx0XHRcdEBpbmNsdWRlIHNsaWRldXA7XG5cdFx0fVxuXG5cdFx0Jl9fbGFuZ3VhZ2Utc3dpdGNoZXJjaG9vc2UtY291bnRyeS1saW5rIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHR9XG5cblx0XHQmX19kZXNrdG9wIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fbW9iaWxlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19idXR0b24ge1xuXHRcdFx0XHRAaW5jbHVkZSBidG4oKTtcblx0XHRcdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNnB4KTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDE1cHggLTJweCAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fbWVudSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdH1cblxuXHRcdFx0Jjpub3QoLmlubGluZSkge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcblx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG5cdFx0XHRcdFx0XHRmbGV4OiAxIDAgMTAwJTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmX19pdGVtIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogM3B4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji0tY3VzdG9tIHtcblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0bWF4LWhlaWdodDogMjRweDtcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luOiB7XG5cdFx0XHRcdFx0XHRcdHRvcDogM3B4O1xuXHRcdFx0XHRcdFx0XHRyaWdodDogNHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiAxNnB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5kb3dubG9hZHMge1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWRvd25sb2Fkcy5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLm1hdGVyaWFsbGlzdCB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tbWF0ZXJpYWxsaXN0LnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYubG9naW4ge1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWxvZ2luLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYubGFuZ3VhZ2Uge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGZpZ3VyZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0bWluLXdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLWN1c3RvbSB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19ub3RpZnkge1xuXHRcdGJhY2tncm91bmQ6ICR5ZWxsb3c7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0Jl9fc2VjdGlvbiB7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDA7XG5cblx0XHRcdCZfX2FjdGlvbiB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJoeXRobSguNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19jb250ZW50IHtcblx0XHRcdG1hcmdpbi1yaWdodDogNDBweDtcblx0XHR9XG5cblx0XHQmX19jaG9vc2UtbGluayB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuXG4jaGVhZGVyLXB1c2hlciB7XG5cdGhlaWdodDogcmh5dGhtKDcuNSk7XG5cblx0Ym9keS5zaXRlLTEgJiB7XG5cdFx0aGVpZ2h0OiByaHl0aG0oNSk7XG5cdH1cblxuXHRib2R5LmhlYWRlci1oaWRkZW4gJiB7XG5cdFx0aGVpZ2h0OiByaHl0aG0oNik7XG5cdH1cbn1cbiIsIkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9I3tyb3VuZCgkb3BhY2l0eSAqIDEwMCl9KVwiKTtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbn1cblxuQG1peGluIG9tZWdhLXJlc2V0KCRudGgpIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudGh9KSB7IG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoJGdyaWQtY29sdW1ucywgJGd1dHRlcik7IH1cbiAgICAmOm50aC1jaGlsZCgjeyRudGh9KzEpIHsgY2xlYXI6IG5vbmUgfVxufVxuXG5AbWl4aW4gZnVsbC13aWR0aCgpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIHNsaWRldXAoICRzcGVlZDogLjI1cykge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICRzcGVlZCBlYXNlLWluLW91dCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbkBtaXhpbiByZXRpbmEoJHVybCwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nICkge1xuICAgIEBpbmNsdWRlIHJldGluYS1pbWFnZSgkdXJsLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uLCBudWxsLCAnQDJ4JyApO1xufVxuXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZGVncmVlc31kZWcpO1xuICAgIHdyaXRpbmctbW9kZTogbHItdGI7XG59XG5cbkBtaXhpbiBtYWludGFpbi1yYXRpbygkcmF0aW86IDEgMSkge1xuICAgIEBpZiBsZW5ndGgoJHJhdGlvKSA8IDIgb3IgbGVuZ3RoKCRyYXRpbykgPiAyIHtcbiAgICAgICAgQHdhcm4gJyRyYXRpbyBtdXN0IGJlIGEgbGlzdCB3aXRoIHR3byB2YWx1ZXMuJztcbiAgICB9XG5cbiAgICAkd2lkdGg6IDEwMCU7XG4gICAgJGhlaWdodDogcGVyY2VudGFnZShudGgoJHJhdGlvLCAyKSAvIG50aCgkcmF0aW8sIDEpKTtcblxuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuQG1peGluIHZpc3VhbGx5aGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XG4kZmctY29sdW1uOiAkY29sdW1uO1xuJGZnLWd1dHRlcjogJGd1dHRlcjtcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYXJlbnQtY29sdW1ucygkY29sdW1ucykge1xuICBAaWYgJGNvbHVtbnMgIT0gJGdyaWQtY29sdW1ucyB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KSB7XG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XG59XG4iLCIuZG9vcm1hdC1kZWFsZXIge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0YmFja2dyb3VuZDoge1xuXHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1kb29ybWF0LWRlYWxlci5qcGcnKTtcblx0XHRwb3NpdGlvbjogY2VudGVyO1xuXHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHNpemU6IGNvdmVyO1xuXHR9XG5cdGNvbG9yOiAkd2hpdGU7XG5cdG1pbi1oZWlnaHQ6IDI2MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXG5cdGZpZWxkc2V0IHtcblx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0cGFkZGluZzogcmh5dGhtKDIpIDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHR9XG5cblx0XHQmX19oZWFkaW5nIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtc2VtaWJvbGQ7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHR9XG5cblx0XHQmX19zdWJoZWFkaW5nIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtYm9sZDtcblx0XHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTZweCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9fZHVtbXkvZm9vdGVyLXRydWNrLmpwZycpO1xuXHRcdFx0cG9zaXRpb246IGxlZnQgY2VudGVyO1xuXHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRzaXplOiBjb3Zlcjtcblx0XHR9O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogNTAlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5kZWFsZXItZm9ybSB7XG5cdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTNweCk7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHR3aWR0aDogNjAlO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHR9XG5cblx0Jl9fdGV4dCB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMiU7XG5cdFx0d2lkdGg6IGNhbGMoIDk4JSAtIDE4NXB4ICk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3N1Ym1pdCB7XG5cdFx0QGluY2x1ZGUgYnRuLXllbGxvdygpO1xuXHRcdHdpZHRoOiAxNzVweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkMGU1ZGE7XG5cdFx0XHRjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0fVxuXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2JhZDNjNjtcblx0XHRcdGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcblx0XHR9XG5cblx0XHQuZmEtc2VhcmNoIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcblx0XHRcdGZpbHRlcjogRmxpcEg7XG5cdFx0fVxuXHR9XG5cblx0LmxvY2F0aW9uLWRldGVjdGlvbiB7XG5cdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tbG9jYXRpb24uc3ZnJyk7XG5cdFx0XHRwb3NpdGlvbjogbGVmdCBjZW50ZXI7XG5cdFx0XHRzaXplOiAxMXB4IDExcHg7XG5cdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHR9O1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufSIsIi5kb29ybWF0LXF1ZXN0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWJ1aWxkZXIuc3ZnJyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogbGVmdCAxNiUgdG9wIDQ1JTtcbiAgICAgICAgICAgIHNpemU6IDEwMXB4IDEyMnB4O1xuICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgcGFkZGluZzogcmh5dGhtKDIpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGV4dGVuZCAlaGVhZGVyLTEtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4oKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuXG4gICAgICAgICAgICAmLS1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweCAtMnB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5kb29ybWF0LWNhc2Utc3R1ZGllcyB7XG4gICAgcGFkZGluZzogcmh5dGhtKDEuNSkgMDtcblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59IiwiLmdldC1pbi10b3VjaCB7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgICBjb2xvcjogJGdyZXktdmVyeS1saWdodDtcbiAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXF1aWNrLWxpbmtzLnN2ZycpO1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICAgIHBhZGRpbmc6IHJoeXRobSgzKSAwO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoNTVweCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbnRyaWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2VudHJ5IHtcbiAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDQgLSA0MHB4ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gNDBweCApO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKCAxICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWxhbmRzY2FwZSApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtb2JpbGUtbGFuZHNjYXBlICkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDI0cHgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDI0cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogNTBweCAwIDA7XG5cbiAgICAuc2l0ZS0xICYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyXHR7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktcmVndWxhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci13aWRnZXRzIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVudSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiAzIC0gNDBweCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQsXG4gICAgICAgICZfX25ld3NsZXR0ZXIge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogNCAtIDQwcHggKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgJl9fdGFnbGluZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgzNnB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbmV3c2xldHRlciB7XG4gICAgICAgICAgICAud2lkZ2V0LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19mb3JtLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG4gICAgcGFkZGluZzogcmh5dGhtKDIpIDAgcmh5dGhtKDEpIDA7XG5cbiAgICAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE3cHg7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC4yNSk7XG5cbiAgICAgICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByaHl0aG0oMS41KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250YWN0IHtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cbiAgICAgICAgICAgICAgICAmLS1waG9uZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjFweCk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLXRlbGVwaG9uZS13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDE2cHggMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLW1haWwge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1tYWlsLXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMTRweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tY29udGFjdCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWNvbnRhY3Qtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAxM3B4IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItbmV3c2xldHRlciB7XG4gICAgcGFkZGluZzogcmh5dGhtKDIpIDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2Zvcm0sXG4gICAgZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmdWxsLXdpZHRoO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpXG4gICAgICAgIH1cblxuICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0LFxuICAgICAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdmb3JtX2JvZHksXG4gICAgICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N1Ym1pdCxcbiAgICAgICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4teWVsbG93KCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zb2NpYWwge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1saW5rcyB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgzNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci1ib3R0b20ge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IHJoeXRobSgyKSAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKDMpO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgZmxleDogMCAxIDYwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsIHtcbiAgICAgICAgZmxleDogMCAxIDQwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbC1saW5rcyB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29weXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZGlzYWJsZS1jb29raWVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IFtibG9ja11cbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8zNjhcbkBmdW5jdGlvbiBpcy1ub3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG59XG5cbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXG5AZnVuY3Rpb24gaXMtZXZlbigkaW50KSB7XG4gIEByZXR1cm4gJGludCAlIDIgPT0gMDtcbn1cblxuLy8gQ2hlY2tzIGlmIGFuIGVsZW1lbnQgYmVsb25ncyB0byBhIGxpc3Qgb3Igbm90XG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpKTtcbn1cblxuQGZ1bmN0aW9uIG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3QoaW5kZXgoJGxpc3QsICR0ZXN0ZWQtaXRlbSkpO1xufVxuXG4vLyBDb250YWlucyBkaXNwbGF5IHZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcbiAgQHJldHVybiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUsICRxdWVyeSk7XG59XG5cbi8vIFBhcnNlcyB0aGUgZmlyc3QgYXJndW1lbnQgb2Ygc3Bhbi1jb2x1bW5zKClcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXNoaWZ0KCRzaGlmdDogJHNoaWZ0KSB7XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4gIEBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hpZnQpID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXG5AZnVuY3Rpb24gZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucywgJGNvbG9yOiAkdmlzdWFsLWdyaWQtY29sb3IpIHtcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcblxuICAkY29sdW1uLXdpZHRoOiBmbGV4LWdyaWQoMSwgJGdyaWQtY29sdW1ucyk7XG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xuICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi13aWR0aDtcblxuICAkdmFsdWVzOiAoJHRyYW5zcGFyZW50IDAsICRjb2xvciAwKTtcblxuICBAZm9yICRpIGZyb20gMSB0byAkZ3JpZC1jb2x1bW5zKjIge1xuICAgIEBpZiBpcy1ldmVuKCRpKSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGd1dHRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZXM7XG59XG5cbi8vIExheW91dCBkaXJlY3Rpb25cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQsICRkZWZhdWx0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiBvciB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiUlRMXCIge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRkZWZhdWx0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiB7XG4gICAgJGRpcmVjdGlvbjogcmlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGxlZnQ7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG4gIH1cblxuICBAcmV0dXJuICRvcHBvc2l0ZS1kaXJlY3Rpb247XG59XG4iLCIuc2VhcmNoLWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMzBweDtcblxuICAgICAgICAucHJldiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXh0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3dhbHJhdmVuX2FqYXhfbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKCA1MCUgLSA1MHB4KTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiAtMjdweCAwIDAgLTI3cHg7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xufSIsIi5zZWFyY2hmb3JtIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24obWFyZ2luLXRvcCAuMnMgZWFzZS1pbi1vdXQpO1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmLS1jb250ZW50IHtcblx0XHRmaWVsZHNldCB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cblx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cdH1cblxuXHQmX19zZWxlY3Qge1xuXHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTRweCk7XG5cdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0Y29sb3I6ICRncmV5LWxpZ2h0O1xuXHRcdFx0cG9zaXRpb246IHJpZ2h0IDEwcHggdG9wIDE5cHg7XG5cdFx0fVxuXHRcdGJvcmRlcjogMDtcblx0XHRjb2xvcjogJGRhcms7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0aGVpZ2h0OiByaHl0aG0oMik7XG5cdFx0cGFkZGluZzoge1xuXHRcdFx0Ym90dG9tOiAxMnB4O1xuXHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHR0b3A6IDEwcHg7XG5cdFx0fVxuXHRcdHdpZHRoOiAyMCU7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4ODBweCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggdG9wIDIxcHg7XG5cdFx0fVxuXHR9XG5cblx0LnR3aXR0ZXItdHlwZWFoZWFkIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHR9XG5cblx0Jl9fdGV4dCB7XG5cdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNHB4KTtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGJvcmRlcjogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiA0cHggMzBweCA0cHggMTVweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4taGVpZ2h0OiAzMnB4O1xuXG5cdFx0Ym9keS5uby1zZWFyY2ggJiB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiA3OSU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc3VibWl0IHtcblx0XHRAZXh0ZW5kICVmb250LXNlbWlib2xkO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiByaHl0aG0oMik7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZWVuLWdyZXk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgNTAlO1xuXHRcdFx0dGV4dC1pbmRlbnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXG5cdFx0LmZhLXNlYXJjaCB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdFx0XHRmaWx0ZXI6IEZsaXBIO1xuXHRcdH1cblx0XHRcblx0XHQmX190ZXh0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2VhcmNoLXN1Z2dlc3Rpb24ge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0fVxufSIsIi5uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgIHRvcDogMTE5cHg7XG4gICAgfVxuXG4gICAgLmhlYWRlci0taGlkZGVuICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDkwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmW2hyZWY9XCIjXCJdLFxuICAgICAgICAgICAgJltocmVmPVwiXCJdLFxuICAgICAgICAgICAgJjpub3QoW2hyZWZdKSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEdlbmVyYWwgbWVudSBpdGVtIHN0eWxpbmdcbiAgICAgICAgICovXG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTdHlsaW5nIHN1YiBtZW51LlxuICAgICAgICAgKiBTaW5jZSB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBzdWIgbWVudSdzLCB0aGlzIHN0eWxpbmcgb25seSBhcHBsaWVzIHRvIHRoZSBmaXJzdCAnbGF5ZXInXG4gICAgICAgICAqXG4gICAgICAgICAqIFVzZSBmb2N1cy13aXRoaW4gZm9yIGFjY2Vzc2liaWxpdHksIHRoaXMgbWFrZXMgdGhlIG1lbnUga2V5Ym9hcmQgZnJpZW5kbHkuXG4gICAgICAgICAqL1xuICAgICAgICA+IC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNkZmVlZmY7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDIwcHgpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZGZlZWZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuZm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgPiAuc3ViLW1lbnUsXG4gICAgICAgICAgICAgICAgJiA+IC5zdWItbWVudTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhpcyBoYXMgdG8gYmUgYSBzZXBhcmF0ZSBzZWxlY3RvciBiZWNhdXNlIG9mLi4uIHdoYXQgZWxzZSBJRSBhbmQgRWRnZS5cbiAgICAgICAgICAgICAqIElFIGFuZCBFZGdlIGRvbid0IHJlY29nbml6ZSA6Zm9jdXMtd2l0aGluLCB0aGVyZWZvcmUgaXQgaGFzIHRvIGJlIGEgc2VwYXJhdGUgc2VsZWN0b3IuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51LFxuICAgICAgICAgICAgICAgICYgPiAuc3ViLW1lbnU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlIC4xNXM7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEFwcGx5IHRoZSBncmVlbiBmdWxsIHdpZHRoIGJhY2tncm91bmQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDB2dztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTAwdnc7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZSAuMTVzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIE1ha2UgdGhlIGZpcnN0IHN1YiBtZW51IGxpbmsgYm9sZC5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICA+IC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmh5dGhtKDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRkZXNrdG9wLXNtYWxsICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktbGlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXZpZ2F0aW9uLWxhYmVsIHtcbiAgICAkZHVyYXRpb246IC41cztcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxleDogMCAxIDcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDc4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19iYXJzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkZHVyYXRpb247XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IC0xM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC45OTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogKCRkdXJhdGlvbiAvIDIpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICAubWVudS1iYXJzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnJlYWRjcnVtYnMge1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgLjJzIGxpbmVhcik7XG5cdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTRweCk7XG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nLXRvcDogMjBweDtcblx0Y29sb3I6ICRncmV5LWxpZ2h0O1xuXHRib3JkZXI6IHtcblx0XHRib3R0b206IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG5cdH1cblx0bWFyZ2luOiB7XG5cdFx0Ym90dG9tOiByaHl0aG0oMSk7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogJGdyZXktbWVkaXVtO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkbGluay1jb2xvci1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQuYnJlYWRjcnVtYl9sYXN0IHtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHR9XG59IiwiLnR0LWRyb3Bkb3duLW1lbnUge1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0d2lkdGg6IDQwMHB4O1xuXHR6LWluZGV4OiA5OTk5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuXHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcblxuXHQuc2VhcmNoZm9ybS1jb250ZW50ICYge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LnR0LWRhdGFzZXQtYXV0b2NvbXBsZXRlIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG5cdFx0cGFkZGluZy10b3A6IDEwcHg7XG5cblx0XHQudHQtc3VnZ2VzdGlvbiB7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDgwcHg7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTcwcHg7XG5cdFx0XHR9XG5cdFx0XHQudGV4dCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cblx0XHRcdFx0Ji0tbm8taW1hZ2Uge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lm92ZXJ2aWV3IHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50dC1zdWdnZXN0aW9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0cGFkZGluZzogcmh5dGhtKC4yNSkgMTBweDtcblxuXHRcdHAge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblxuXHQudHQtY3Vyc29yIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1saWdodDtcblx0fVxufVxuXG4uc2VhcmNoZm9ybS1jb250ZW50IC50d2l0dGVyLXR5cGVhaGVhZCB7XG5cdEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMCk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0fVxufVxuXG4udHQtaGludCB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIuYW5jaG9yLW5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggY2FsYyggMjBweCAtIDAuNnJlbSApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDIwcHgpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4KVxuICAgICAgICB9XG4gICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiAmX19pdGVtcyB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXN0aWNreSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA4OHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnM7XG5cbiAgICAgICAgYm9keS5oZWFkZXItaGlkZGVuICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbmNob3ItbmF2X19sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbmNob3ItbmF2X19pdGVtcyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmLS1jdXJyZW50LFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdGdyb3VwLWNvZGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IHJoeXRobSgxKSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1kb3dubG9hZHMgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgXG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuXG4gICAgICAgICYucHJldixcbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NlbGVjdCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmh5dGhtKC4yNSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnBhZ2UtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cblx0aDEge1xuXHRcdGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cbiIsIi5jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiByaHl0aG0oMSk7XG5cbiAgICAmX19tYWluLWhlYWRpbmcge1xuICAgICAgICBAZXh0ZW5kICVoZWFkZXItMS1zaXplO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIGJvZHkuc2l0ZS0xICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmh5dGhtKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saWdodGdyZXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmh5dGhtKDEpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdoaXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByaHl0aG0oMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZXRhIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJoeXRobSgtLjUpO1xuXG4gICAgICAgICAgICBib2R5LnNpbmdsZSAmIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbnRybyB7XG4gICAgICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzgwcHggMWZyO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiA0MHB4O1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taGFzLWltYWdlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50X19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGVudF9fc2VjdGlvbl9fbWV0YSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWFyY2ggcmVzdWx0c1xuICAgICAgICAgICAgLnNlYXJjaC10ZXJtIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmRlY2MwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICAgICAuYmxvZyAmIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1zdGFuZGFyZDtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTItc2l6ZSk7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItMy1zaXplKTtcbiAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci00LXNpemUpO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW46IDAgMCByaHl0aG0oMSkgMzBweDtcblxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgfVxuXG4gICAgdWwgbGksXG4gICAgb2wgdWwgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjI1KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHVsIGxpLFxuICAgIHVsIHVsIGxpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKCAxMjcsIDEyNywgMTI3ICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbCBsaSxcbiAgICB1bCBvbCBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktcmVndWxhcjtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAvLyBHYWxsZXJ5LlxuICAgIC5nYWxsZXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY29sdW1ucy0yIHtcbiAgICAgICAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb2x1bW5zLTQge1xuICAgICAgICAgICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbHVtbnMtNSxcbiAgICAgICAgJi1jb2x1bW5zLTYge1xuICAgICAgICAgICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSg2bik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSApIHtcbiAgICAgICAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoNG4pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDZuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uam9iLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCByaHl0aG0oLjUpIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5wIHtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgLmJsb2cgJiB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY291bnRyeS1vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIGJvZHk6bm90KC5zaXRlLTEpICYge1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKCAkYmxhY2sgLDAuMik7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgfVxuXG4gICAgJi0tdG9wLFxuICAgICYtLWJvdHRvbSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKDEpICRzY3JlZW4tcGFkZGluZztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMzAwO1xuICAgIH1cblxuICAgICYtLXRvcCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAyM3B4IC03cHggcmdiYSgwLDAsMCwuNCk7XG4gICAgfVxuXG4gICAgJi0tYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGluZW50IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSgwLjUpIDA7XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYXRpb25hbHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyMnB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5maWx0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGdyZWVuLXJlZ3VsYXI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuaXMtbW9iaWxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiByaHl0aG0oLTIpO1xuICAgICAgICBwYWRkaW5nOiByaHl0aG0oMikgMjBweCByaHl0aG0oLjUpIDIwcHg7XG5cbiAgICAgICAgLmZpbHRlcl9faGVhZGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjRweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMTBweCByaHl0aG0oLjUpIDIwcHg7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IHJoeXRobSgxKSAyMHB4O1xuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29sbGFwc2FibGUge1xuICAgICAgICAgICAgLmZpbHRlcl9fc2VjdGlvbl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihyaWdodCAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1hcnJvdy1yaWdodC1ibGFjay5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByaWdodCAycHggdG9wIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogOXB4IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb2xsYXBzZWQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSguNSk7XG5cbiAgICAgICAgICAgIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWx0ZXJfX3NlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19mb3JtIHtcbiAgICAgICAgICAgICZfX2lucHV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3N1Ym1pdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGVja2JveDtcblxuICAgICAgICAgICAgY29sb3I6ICRncmV5LW1lZGl1bTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguMjUpO1xuXG4gICAgICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtZG93bmxvYWRzICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSxcblx0XHRcdC5zcGFuLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogcmh5dGhtKC41KTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1jcm9zcy5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLmZpbHRlci1pdGVtcyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICBwYWRkaW5nOiByaHl0aG0oLjYpIDIwcHggMCAyMHB4O1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogM3B4IDE1cHggMCAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHJoeXRobSguNSkgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiAgbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bigpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSguMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTdweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZGFyaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCByaHl0aG0oLjUpIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMzBweCAzcHggMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jbGVhciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmFjdGlvbi1iYXIge1xuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cblx0Jl9fYnV0dG9uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuXHRcdH1cblxuXHRcdC5wYWdlLXRlbXBsYXRlLXRwbC1kb3dubG9hZHMgJiB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0Y29sb3I6IGRhcmtlbigkZ3JleS1leHRyYWxpZ2h0LCAxNSUpO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0XHQmOmJlZm9yZSxcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oJGdyZXktZXh0cmFsaWdodCwgMTUlKTtcblx0XHRcdH1cblxuXHRcdFx0LmNvdW50IHtcblx0XHRcdFx0Y29sb3I6IGRhcmtlbigkZ3JleS1leHRyYWxpZ2h0LCAxNSUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jb3VudCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MHB4O1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0bWluLXdpZHRoOiAyNHB4O1xuXHRcdFx0cGFkZGluZzogMCA3cHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0Ji0tcmVtb3ZlIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNDBweDtcblxuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRsZWZ0OiAxOHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGxlZnQ6IDIwcHg7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19yZXN1bHRzIHtcblx0XHQmX19zZWxlY3Qge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJoeXRobSguMjUpO1xuXHRcdFx0cGFkZGluZy10b3A6IHJoeXRobSguMjUpO1xuXHRcdH1cblx0fVxuXG5cbn1cbiIsIiN3cHNlby1zdG9yZWxvY2F0b3ItZm9ybSB7XG4gICAgYmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIHBhZGRpbmc6IDIwcHggcmh5dGhtKDEpO1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAud3BzZW8tbWFwLWNhbnZhcyB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgfVxuXG4gICAgI3dwc2VvLWRpcmVjdGlvbnMtd3JhcHBlcixcbiAgICA+IGgyIHtcbiAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgfVxuXG4gICAgLndwc2VvLXJlc3VsdCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAud3BzZW8tbG9jYXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRpdixcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndwc2VvLXNsLXJvdXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLmNvbHVtbiB7XG4gICAgJi0tMiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuXG4gICAgICAgICYtLTMzIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS45OTM3JTtcbiAgICAgICAgICAgIHdpZHRoOiAzMi4wMDQyJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTY3IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS45OTM3JTtcbiAgICAgICAgICAgIHdpZHRoOiA2Ni4wMDIxJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAmLS0yLFxuICAgICAgICAmLS0yLS0zMyxcbiAgICAgICAgJi0tMi0tNjcsXG4gICAgICAgICYtLTMge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMW4pO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubW9kdWxlLWNvbnRlbnQge1xuICAgIGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufSIsIi5mcmVlLXN1cHBvcnQge1xuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgfVxuXG4gICAgLmxpc3QtY2hlY2tzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIH1cbn0iLCIkcGluLXNpemU6IDI0cHg7XG5cbi5pbnRlcmFjdGl2ZS1pbWFnZSB7XG5cdGhlaWdodDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCZfX2ltYWdlIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Jl9fbGluayB7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdGJvcmRlcjogNHB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogJHBpbi1zaXplO1xuXHRcdGhlaWdodDogJHBpbi1zaXplO1xuXHRcdHotaW5kZXg6IDU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW46IC0zcHggMCAwIC0zcHg7XG5cdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0d2lkdGg6IDZweDtcblx0XHR9XG5cblx0XHQmX19pbm5lciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDIsIDEwOCwgNzksIC44KTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTVweDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHR6LWluZGV4OiAyO1xuXG5cdFx0XHQmX19sYWJlbCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcmVhZG1vcmUge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xuXG5cdFx0XHRcdCY6aG92ZXJcdHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fdG9vbHRpcCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAyMDBweDtcblx0XHR6LWluZGV4OiAyMDtcblx0fVxufSIsIi5jYXRlZ29yeS1vdmVydmlldyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIC5maWx0ZXJfX2Nsb3NlIHtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyX19oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1pdGVtcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19sYWJlbF9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0LWNhdGVnb3JpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDQgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMjBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogcmh5dGhtKDEpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgLnRheC1wcm9kdWN0LWNhdGVnb3J5IHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0ZWdvcnktb3ZlcnZpZXcgJiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRkZXNrdG9wLWxhcmdlICkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY291bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxMnB4KTtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtc2VtaWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgcmFkaWFsLWdyYWRpZW50KCBjZW50ZXIsIGVsbGlwc2UgY292ZXIsICAjZWRlZGVkIDAlLCAkd2hpdGUgMTAwJSApO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC4yNSkgMjBweDtcblxuICAgICAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1zZW1pYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBhbnl3aGVyZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpc3QtY2F0ZWdvcnktZmlsdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCA1cHggMTBweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXZlcnktbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGlzdC1jaGVja3Mge1xuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1jaGVjay5zdmcnKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBsZWZ0IDZweDtcbiAgICAgICAgICAgIHNpemU6IDEycHggOXB4O1xuICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cbn0iLCIubGlzdC1jb3VudHJpZXMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE5cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDAuNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoNG4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkdGFibGV0ICkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGlzdC1ncmVlbi10ZXh0IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwxMDgsNzksIC45KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjUpIDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmxpc3QtZ3JlZW4tdGV4dF9faXRlbTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE5cHgpO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1yZWd1bGFyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmxpc3QtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbjogMCAwIHJoeXRobSgxKSAwICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMC42NSkgMCUscmdiYSgwLDEwNSw4MCwwLjM4KSA0MiUscmdiYSgwLDEwNSw4MCwwLjIyKSA2NiUscmdiYSgwLDAsMCwwKSAxMDAlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgLmxpc3QtaW1hZ2VfX2l0ZW06aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvdHRvbSAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiByaHl0aG0oLjUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saXN0LWltYWdlX19pdGVtOmhvdmVyICYge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmh5dGhtKC43NSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIubGlzdC1pbWFnZS10b3Age1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXktbWVkaXVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbm8tYm9yZGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKDEpIDIwcHggcmh5dGhtKC41KSAyMHB4O1xuXG4gICAgICAgICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW0tLW5vLWJvcmRlciAmIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByb2R1Y3QtZG93bmxvYWRzIHtcbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHggKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAvIDMgLSAyMHB4ICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCApO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAvIDIgLSAyMHB4ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHggKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAvIDMgLSAyMHB4ICk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDMycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtb2JpbGUtbGFuZHNjYXBlICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX21ldGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTJweCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LW1lZGl1bTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmh5dGhtKDAuMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19maWxlLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMnB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtb2JpbGUtbGFuZHNjYXBlICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpc3QtcGVyc29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHggKTtcbiAgICAgICAgfVxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAyMHB4KTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHggKTtcbiAgICAgICAgfVxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAyMHB4KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgIHRvcDogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgICAgICByaWdodDogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgICAgICBib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgbGVmdDogMnB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3AtbWVkaXVtKXtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMSBvZiA0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgNCk7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE3cHgpO1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1zZW1pYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19mdW5jdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbG9jYXRpb24ge1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgJltocmVmXj1cIm1haWx0b1wiXSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5saXN0LXByb2R1Y3RzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDRuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmV5LWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDEycHgpO1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1zZW1pYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zcGVjcyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCByaHl0aG0oMSkgMjBweDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5saXN0LXJlZmVyZW5jZXMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKDEpIDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmV5LWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZXMge1xuICAgICAgICAgICAgZmxleDogMCAxIDMzJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCByaHl0aG0oMikgMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbW9yZSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3Nob3ctbW9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNHB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgNjUlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zcGVjcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBkdCB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjI1KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSA3MyU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC4yNSk7XG5cbiAgICAgICAgICAgICAgICBhLFxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpc3QtdmlkZW9zIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1haW4taW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgICYtLWhhcy12aWRlbyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSg0KSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSgyKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKDEpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYXMtdmlkZW8gLndyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX192aWRlby13cmFwcGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OjAgO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDY1cHgpO1xuICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci0xLXNpemUpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDUwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9kdWxlLXByb2R1Y3RzIHtcbiAgICAubGlzdC1wcm9kdWN0cyB7XG4gICAgICAgIG1hcmdpbjogMCAwIHJoeXRobSgxKSAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnF1b3RlIHtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyNXB4KTtcbiAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmh5dGhtKC41KTtcbiAgICB9XG59IiwiLnNsaWRlc2hvdyB7XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG5cdFx0Jl9fc2xpZGVzLFxuXHRcdCZfX3BhZ2VyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc2xpZGUge1xuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdHBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHNpemU6IGNvdmVyO1xuXHRcdH07XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRoZWlnaHQ6IDQwMHB4O1xuXHRcdHBhZGRpbmc6IHJoeXRobSgyKSAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHQmX19oZWFkaW5nIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtYm9sZDtcblx0XHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci0xLXNpemUpO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDUwJTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyNHB4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19idXR0b24ge1xuXHRcdFx0QGluY2x1ZGUgYnRuLXllbGxvdztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdH1cblx0fVxuXG5cdC8qIHBhZ2VyICovXG5cdCZfX3BhZ2VyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ei1pbmRleDogNTA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogcmh5dGhtKC41KTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0c3BhbiB7XG5cdFx0XHRmb250OiB7XG5cdFx0XHRcdGZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0XHRcdHNpemU6IDUwcHg7XG5cdFx0XHR9XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGNvbG9yOiAkZ3JleS1yZWd1bGFyO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0bWFyZ2luOiAwIDVweDtcblxuXHRcdFx0Ji5jeWNsZS1wYWdlci1hY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogJHllbGxvdztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmID4gKiB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi5zbGlkZXIge1xuXHQmX19jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTIwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHQmLS1zbWFsbCB7XG5cdFx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkZnVsbC13aWR0aCkge1xuXHRcdFx0Ly9tYXJnaW4tbGVmdDogY2FsYyggMTAwJSAvIDUgKSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRyb2xzIHtcblx0XHRtYXgtd2lkdGg6IDEyMDBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuXHRcdGhlaWdodDogODBweDtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG5cdFx0XHRcdGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdHdpZHRoOiA2MHB4O1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHRvcGFjaXR5OiAwLjc1O1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRcdGhlaWdodDogNjBweDtcblx0XHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmW2RhdGEtY29udHJvbHM9XCJwcmV2XCJdIHtcblx0XHRcdFx0bGVmdDogMDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JltkYXRhLWNvbnRyb2xzPVwibmV4dFwiXSB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbXMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHR9XG5cblx0XHQmX19pdGVtIHtcblx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR9XG5cdFx0XHRib3JkZXI6IHtcblx0XHRcdFx0bGVmdDogMnB4IHNvbGlkICRncmVlbi1yZWd1bGFyXG5cdFx0XHR9XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG5cdFx0XHQuc2luZ2xlLXByb2R1Y3QgJiB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY5cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0Jl9faW1hZ2Uge1xuXHRcdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDQwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0YWxpZ24tY29udGVudDogZmxleC1zdGFydDtcblxuXHRcdFx0XHQmX190ZXh0IHtcblx0XHRcdFx0XHRmbGV4OiAwIDEgMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOm5vdCguZmVhdHVyZWQpIHtcblx0XHRcdFx0LnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQge1xuXHRcdFx0XHRcdC5sdC1pZTExICYge1xuXHRcdFx0XHRcdFx0c3Ryb25nLCBwIHtcblx0XHRcdFx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jl9fcmVhZC1tb3JlIHtcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC4yNSk7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0XHRcdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tbGluay5zdmcnKTtcblx0XHRcdFx0XHRcdHNpemU6IDMwcHg7XG5cdFx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jl9fcHJvZHVjdC1kYXRhIHtcblx0XHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcmVhZG1vcmUge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nOiB7XG5cdFx0XHRcdFx0Ym90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnRucy12aXN1YWxseS1oaWRkZW4ge1xuXHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcbn1cbiIsIi5yYWRpc2gtY29va2llLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU5KSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBzYW5zJywgc2Fucy1zZXJpZjtcblxuICAgIC53cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDIwcHggKTtcbiAgICB9XG5cbiAgICAuY29va2llLWJhci1oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgLmNvb2tpZS1iYXItdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb29raWUtYmFyLWNvbnRlbnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29va2llLWJhci1idXR0b25zIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgbGk6bGFzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDA2OTUwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1zZWNvbmRhcnkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29va2llLWJhci1vcHRpb25zIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb29raWUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmNjLWFsbG93LWNvb2tpZS10eXBlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cblxuICAgICAgICAmIH4gbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgc2l6ZTogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFja1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB+IGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16QTRJaUJvWldsbmFIUTlJakkzTUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0OGNHRjBhQ0JrUFNKTk1qY3pMak15TWlBM0xqZzNOa3d4TURBdU56WTNJREl5TUM0ek9USnNMVFkyTGpJMU1pMDRNUzR4T0RGakxUWXVOVE10T0M0ek9USXRNVGd1TmpRekxUa3VPVEUwTFRJM0xqQTFOUzB6TGpRdE9DNDBNVE1nTmk0MU1UUXRPUzQ1TXprZ01UZ3VOVGszTFRNdU5EQTVJREkyTGprNWJEZ3hMamd3TkNBeE1EQXVNRGswUVRFNUxqRTVJREU1TGpFNUlEQWdNREF4TURBdU56WTNJREkzTUdFeE9TNHhPU0F4T1M0eE9TQXdJREF3TVRRdU9URXlMVGN1TVRBMVRETXdNaTR5T1RRZ016SXVOelJoTVRrdU1EazBJREU1TGpBNU5DQXdJREF3TkM0M09UUXRNVGt1TkRSQk1Ua3VNVFU1SURFNUxqRTFPU0F3SURBd01qa3hMamczTlM0eU5EUmhNVGt1TVRrMElERTVMakU1TkNBd0lEQXdMVEU0TGpVMU15QTNMall6TW5vaUlHWnBiR3c5SWlNMU5UVWlJR1pwYkd3dGNuVnNaVDBpYm05dWVtVnlieUl2UGp3dmMzWm5QZz09Jyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIH4gbGFiZWwsXG4gICAgICAgICY6ZGlzYWJsZWQgfiAuY29va2llLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgICAgICAgICAgfiBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNekE0SWlCb1pXbG5hSFE5SWpJM01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhjR0YwYUNCa1BTSk5NamN6TGpNeU1pQTNMamczTmt3eE1EQXVOelkzSURJeU1DNHpPVEpzTFRZMkxqSTFNaTA0TVM0eE9ERmpMVFl1TlRNdE9DNHpPVEl0TVRndU5qUXpMVGt1T1RFMExUSTNMakExTlMwekxqUXRPQzQwTVRNZ05pNDFNVFF0T1M0NU16a2dNVGd1TlRrM0xUTXVOREE1SURJMkxqazViRGd4TGpnd05DQXhNREF1TURrMFFURTVMakU1SURFNUxqRTVJREFnTURBeE1EQXVOelkzSURJM01HRXhPUzR4T1NBeE9TNHhPU0F3SURBd01UUXVPVEV5TFRjdU1UQTFURE13TWk0eU9UUWdNekl1TnpSaE1Ua3VNRGswSURFNUxqQTVOQ0F3SURBd05DNDNPVFF0TVRrdU5EUkJNVGt1TVRVNUlERTVMakUxT1NBd0lEQXdNamt4TGpnM05TNHlORFJoTVRrdU1UazBJREU1TGpFNU5DQXdJREF3TFRFNExqVTFNeUEzTGpZek1ub2lJR1pwYkd3OUlpTkdSa1lpSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJdlBqd3ZjM1puUGc9PScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWNoZWNrbWFyay5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb29raWUtYmFyLXNldHRpbmdzIHtcbiAgICAgICAgLmNvb2tpZS1iYXItYnV0dG9ucyB7XG4gICAgICAgICAgICBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZGl2LnJhZGlzaC1jb29raWUtc2V0dGluZ3MtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIucHJvZHVjdC1maWx0ZXIge1xuXHQmX19xdWVzdGlvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0fVxuXG5cdHNlbGVjdCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn0iLCIuaG9tZSB7XG4gICAgJjpub3QoLnNpdGUtMSkge1xuICAgICAgICAuZmlyc3Qtc2VjdGlvbixcbiAgICAgICAgLmJnLWltYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJl9fdGl0bGUsXG4gICAgICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSg0NXB4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDM1cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWJldHdlZW4gKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMzBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJoeXRobSgyKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmh5dGhtKDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3ljbGUtcGFnZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5jeWNsZS1wYWdlci1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2hvbWVwYWdlLXNsaWRlciB7XG4gICAgLnN3aXBlci1idXR0b24tcHJldixcbiAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tc2xpZGUtcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICBzaXplOiA1MHB4O1xuICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tc2xpZGUtbGVmdC5zdmcnKVxuICAgIH1cblxuICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbn1cblxuLnF1aWNrLWxpbmtzIHtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS12ZXJ5LWxpZ2h0O1xuICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcXVpY2stbGlua3Muc3ZnJyk7XG4gICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAvL21hcmdpbi10b3A6IC03NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAvL21hcmdpbi10b3A6IC0xMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjZweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC43NSkgNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N1YnNlY3Rpb24ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LW1lZGl1bS1saWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSgxKSA0MHB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0taGFzLWRlc2Mge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFyZ2V0LWdyb3VwcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyNnB4KTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjc1KSA0MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBjYWxjKDI1JSAtIDIwcHgpO1xuXG4gICAgICAgICAgICAudGFyZ2V0LWdyb3Vwcy0tMyAmIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUvMyAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgICAgICAgICAgLnRhcmdldC1ncm91cHMtLTMgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOXB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3JlYWQtbW9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjUpIDEwcHg7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tbGluay5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZWFzeS1qb2Ige1xuICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgIHBhZGRpbmc6IHtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoNDBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbnRyaWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJl9fZW50cnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgICAgICBiYXNpczogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkdGFibGV0ICkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNzVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjJweCk7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fcG9wdXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcblxuICAgICAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2luZm8taWNvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ldy1mcm9tLXdhbHJhdmVuIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIGJvdHRvbTogMTAwcHg7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDQwcHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmVhdHVyZWQge1xuICAgICYuc2xpZGVyX19pdGVtc19faXRlbSB7XG4gICAgICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGVyX19pdGVtc19faXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW46IGF1dG8gYXV0byAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJl9fY29udGFpbmVyIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVmZXJlbmNlcyB7XG4gICAgcGFkZGluZzogMTAwcHggMDtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSg0MHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VudHJpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19lbnRyeSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkZGVza3RvcC1zbWFsbCApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICR0YWJsZXQgKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0bisxKSxcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMikge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMyksXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKzQpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKzIpLFxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0biszKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHggKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkZGVza3RvcC1zbWFsbCApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICR0YWJsZXQgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5X190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkZGVza3RvcC1zbWFsbCApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAgNDBweCA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA1MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRldmlkZXIge1xuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuIiwiLnNlY3Rpb24tcHJvZHVjdHMge1xuICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oMik7XG4gICAgcGFkZGluZy10b3A6IHJoeXRobSgyKTtcblxuICAgICYtLWdyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1yZWd1bGFyO1xuICAgIH1cblxuICAgICYtLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSguNSk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ3JleSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMuYWN0aXZlICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB9XG5cbiAgICAmLXNwZWNpZmljYXRpb25zX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICR0YWJsZXQgKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlICkge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdhbGxlcnkge1xuICAgICZfX2JpZy1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtICYge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1icyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW0gJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5wcm9kdWN0LWluZm8ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZXMge1xuICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4ICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDggLSAyMHB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvcGVydGllcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2VudHJ5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAgICAgJl9fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2FzaWRlIHtcbiAgICAgICAgICAgIC5saXN0LXF1YWxpdHktbWFya3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweCByaHl0aG0oLjUpIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGFjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmludCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG4iLCIuc3BlY3MtdGFibGUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB9XG5cbiAgICB0aC5oZWFkaW5nLFxuICAgIHRoLnRhYmxlLWhlYWRlcixcbiAgICAubGFiZWwge1xuICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2EzYmRiNTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbi1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtc3RhbmRhcmQ7XG4gICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmh5dGhtKC4yNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY3MtdGFibGVfX2hlYWRlci0tbGFiZWwsXG4gICAgLnNwZWNzLXRhYmxlX19oZWFkZXItLWFiYnJldmlhdGlvbiB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY3MtdGFibGVfX2hlYWRlci0tbGFiZWwge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNzLXRhYmxlX19oZWFkZXItLWFiYnJldmlhdGlvbiB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDA2OTUwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNzLXRhYmxlX19oZWFkZXItLWhlYWRpbmcgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjUpIDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICYtLWRvd24sXG4gICAgICAgICYtLXVwIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tYXJyb3ctZG93bi5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IDhweCA5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXVwIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tYXJyb3ctdXAuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgIH1cblxuICAgICAgICB0ci5oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCBiYWNrZ3JvdW5kLWNvbG9yIC40cyBsaW5lYXIgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiY2I7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJmN2Y2YjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyZjdmNmI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvc2VsZWN0LWFycm93LXJpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogNHB4IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKDEpIDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDFweCBzb2xpZCAjYTJhMmEyO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDdweCA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiA0cHggN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb25lIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBtYXgtd2lkdGg6IDExODBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggMTBweCByZ2JhKCAkYmxhY2ssIDAuMiApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycywgb3BhY2l0eSAwLjJzO1xuXG4gICAgICAgIGJvZHkuaGVhZGVyLWhpZGRlbiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM5cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJHRhYmxldCApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zcGVjcy10YWJsZS13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIG1heC1oZWlnaHQ6IDU3NXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLnNob3ctbW9yZS1saW5rOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSA0MCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2hvdy1tb3JlIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLnNwZWNzLWRyYXdpbmdzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCByaHl0aG0oMSkgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1hcnJvdy1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogN3B4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc3BlY3MtbGlzdCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjBweCk7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogc3F1YXJlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmh5dGhtKC41KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgY29sdW1uLWdhcDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgY29sdW1uczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucHJvZHVjdC1pbnN0YWxsYXRpb24ge1xuICAgICZfX3VzYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIH1cblxuICAgICZfX3ZpZGVvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyMHB4KTtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgfVxuXG4gICAgJl9fdGlwcyB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jaGVjay1saXN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LXVzYWdlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUwZGY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5wcm9kdWN0LWRvd25sb2FkcyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FhYWNhYjtcblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWN0IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucHJvZHVjdC1jb21wbGVtZW50YXJ5LFxuLnByb2R1Y3QtYWx0ZXJuYXRpdmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNjcmVlbi1wYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2NyZWVuLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjBweCk7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgIH1cbn1cbiIsIi5jYXRlZ29yeS1pbnRybyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIFxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zZWUtYWxzbyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VlLWFsc28ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAyMHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAZXh0ZW5kICVmb250LXNlbWlib2xkO1xuICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLW92ZXJ2aWV3IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSk7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0cyB7XG4gICAgICAgICZfX2ludHJvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTdweCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q3ZDdkNztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5LW1lZGl1bTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LW1lZGl1bTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS45OTM3JTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucmVmZXJlbmNlcy1vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fcmVmZXJlbmNlcyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW50cm8ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxN3B4KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDdkN2Q3O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS45OTM3JTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY29udGFjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nOiByaHl0aG0oMikgMCByaHl0aG0oMSk7XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1zdGFuZGFyZDtcbiAgICB9XG59XG5cbi5lbXBsb3llZXMge1xuICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgIH1cbn1cblxuLmNvbnRhY3QtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA4IC0gMjBweCApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19hZGRyZXNzZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFwIHtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gMjBweCApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IHJoeXRobSgxKTtcblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgIGJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3QtZGV0YWlscyB7XG4gICAgJl9fYWRkcmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5zdXBwb3J0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuICAgICZfX3RvcCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oMSk7XG4gICAgfVxufSIsIi5kb3dubG9hZHMtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cblx0Jl9fY29sdW1uIHtcblx0XHRmbGV4OiAwIDEgMzEuMzMzJTtcblx0XHRtYXJnaW4tcmlnaHQ6IDIlO1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHRcdGgyIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJoeXRobSguMjUpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG5cdFx0XHQuc3ViIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHR9XG5cdH1cblxuXHQmX19mb290ZXIge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IHJoeXRobSgxKTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxufVxuXG4uZG93bmxvYWRzLXNlYXJjaCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmX19pbnB1dCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmX19zdWJtaXQge1xuXHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRib3JkZXI6IDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGJvcmRlcjogMDtcblx0XHR9XG5cdH1cbn1cblxuLmRvd25sb2Fkcy1vdmVydmlldyB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JiA+IGZvcm0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc2lkZWJhciB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXHRcdG1hcmdpbi1yaWdodDogMS45OTM3JTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuXG4uc2hvdy1tb3JlLWZpbHRlcnMge1xuXHRAZXh0ZW5kICVmb250LXNlbWlib2xkO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAzNXB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuXHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiA3cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogN3B4O1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG5cdFx0d2lkdGg6IDdweDtcblx0fVxuXG5cdCYubGVzczpiZWZvcmUge1xuXHRcdHRvcDogMTBweDtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG59XG5cbi5kb3dubG9hZHMtcmVzdWx0cyB7XG5cdCZfX2hlYWRlciB7XG5cdFx0YmFja2dyb3VuZDogJGdyZXktZGFyaztcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0dGgge1xuXHRcdFx0cGFkZGluZzogcmh5dGhtKC41KSAxMHB4O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3JvdyB7XG5cdFx0dGQge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcblxuXHRcdFx0dGQge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jaGVja2JveCB7XG5cdFx0QGluY2x1ZGUgY2hlY2tib3g7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA1MHB4O1xuXG5cdFx0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHQmX190aXRsZSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE1cHgpO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblxuXHRcdCZfX21ldGEge1xuXHRcdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNHB4KTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdCZfX2Rvd25sb2FkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDUwcHg7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDIycHg7XG5cdFx0fVxuXHR9XG59IiwiLm1hdGVyaWFsLWxpc3Qge1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXG5cdHRoZWFkIHtcblx0XHR0ciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1kYXJrO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdFx0dGgge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRcdHBhZGRpbmc6IHJoeXRobSguNSkgMTVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR0Ym9keSB7XG5cdFx0dHIge1xuXHRcdFx0dGQge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDE1cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktZXh0cmFsaWdodDtcblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnRleHQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuY2VsbCB7XG5cdFx0Ji1jaGVjayB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogNTBweDtcblxuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFlbSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLXByb2R1Y3QsXG5cdFx0Ji1kZXRhaWxzIHtcblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCYtZGV0YWlscyB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXG5cdFx0XHQuc3BlY3MtbGlzdCB7XG5cdFx0XHRcdGNvbHVtbnM6IDM7XG5cdFx0XHRcdGNvbHVtbi1ydWxlOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYtYW1vdW50IHtcblx0XHRcdHdpZHRoOiAxMDBweDtcblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDgwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IHJoeXRobSguMjUpIDVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji1yZW1vdmUge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDUwcHg7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRleHQtaW5kZW50OiAtOTk5ZW07XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRncmV5LWRhcms7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0XHRcdGxlZnQ6IC04cHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogLTVweDtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHR3aWR0aDogMTRweDtcblxuXHRcdFx0XHRnIHtcblx0XHRcdFx0XHRmaWxsOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubWF0ZXJpYWwtbGlzdC1taW5pIHtcblx0YmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym94LXNoYWRvdzogM3B4IDNweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjMpO1xuXHRib3R0b206IDEwcHg7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHJpZ2h0OiAkc2NyZWVuLXBhZGRpbmc7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0d2lkdGg6IGF1dG87XG5cdG1pbi13aWR0aDogMzAwcHg7XG5cdHotaW5kZXg6IDg5O1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kICggbWF4LXdpZHRoOiAzMDBweCApIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2hlYWRpbmcge1xuXHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTZweCk7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0cGFkZGluZzogcmh5dGhtKC41KSAxMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQuY291bnQge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHR3aWR0aDogMjRweDtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cblx0XHRcdGcge1xuXHRcdFx0XHRmaWxsOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItdG9wOiAzcHggc29saWQgJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAzcHggc29saWQgJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHR9XG5cblx0XHQmLmFjdGl2ZTphZnRlciB7XG5cdFx0XHR0b3A6IDEzcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHRtYXgtaGVpZ2h0OiAzNTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdHBhZGRpbmc6IHJoeXRobSguMjUpIDMwcHggcmh5dGhtKC4yNSkgMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cblx0XHRcdC5jbG9zZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHRvcDogcmh5dGhtKC43NSk7XG5cdFx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cblx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fc2hhZGUge1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwxMDUsODAsMSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi10b3A6IC0zMnB4O1xuXHR9XG5cblx0Jl9fZm9vdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0cGFkZGluZzogMCAxNXB4IHJoeXRobSguMjUpIDE1cHg7XG5cdH1cblxuXHQmX19hY3Rpb24ge1xuXHRcdGZvbnQtc2l6ZTogLjllbTtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuXG4ubWF0ZXJpYWwtYWN0aW9ucyB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXHRwYWRkaW5nOiByaHl0aG0oLjc1KSAyMHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0Jl9fbGFiZWwge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2J1dHRvbnMge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Jl9fYnV0dG9uIHtcblx0XHRcdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBhZGRpbmc6IHJoeXRobSguMjUpIDEwcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGdyZWVuLWhvdmVyO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1lbWFpbCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcHJpbnQsXG5cdFx0XHQmLS1leGNlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmRpc2FibGVkIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGdyZXktZGFyaztcblx0XHRcdFx0Y29sb3I6ICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZW1haWwtZm9ybSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0Ym94LXNoYWRvdzogMnB4IDJweCAxMHB4IC01cHggcmdiYSgwLDAsMCwwLjMpO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRqdXN0aWZ5LWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0bGVmdDogLTIwcHg7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDIwcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IGNhbGMoMTAwJSArIDE0cHgpO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZSAuMTVzO1xuXG5cdFx0XHQmLS12aXNpYmxlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2NvbnRhaW5lciB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR9XG5cblx0XHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucHJvamVjdC1pbmZvIHtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG5cdCZfX2l0ZW0ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuXHRcdH1cblx0fVxufVxuIiwiLnBhZ2UtdGVtcGxhdGUtdHBsLWNvbXBhcmlzb24ge1xuXHQucGFnZS10aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0fVxufVxuXG4uY29tcGFyaXNvbi1oZWFkIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuXHR9XG59XG5cblxuLmNvbXBhcmlzb24tdGFibGUtd3JhcHBlciB7XG5cdG92ZXJmbG93LXg6IGF1dG87XG5cdG1hcmdpbi1sZWZ0OiAyMDBweDtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRtYXJnaW4tbGVmdDogMTEwcHg7XG5cdH1cbn1cblxuLmNvbXBhcmlzb24tdGFibGUge1xuXHRtYXJnaW46IDA7XG5cblx0Jl9faGVhZGluZyB7XG5cdFx0bWluLXdpZHRoOiAyMDBweDtcblx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDIwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAyMDBweDtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogYXV0bztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0bWluLXdpZHRoOiAxMjVweDtcblx0XHRcdHdpZHRoOiAxMjVweDtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2VsbCB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmxhY2s7XG5cdFx0bWluLXdpZHRoOiAyNDBweDtcblx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDIwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRtaW4td2lkdGg6IDE3NXB4O1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcblx0XHR9XG5cblx0XHQmLS1pbWFnZSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRmaWd1cmUge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS10aXRsZSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQuY29tcGFyaXNvbi1yZW1vdmUge1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xuXG5cdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiBkYXJrZW4oICRyZWQsIDE1JSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fcm93IHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKC1uKzEpIHtcblx0XHRcdHRoOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGV4dCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4jY29tcGFyaXNvbi10YWJsZS1sb2FkaW5nIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIGJhY2tncm91bmQ6ICRtZnAtb3ZlcmxheS1jb2xvcjtcbiAgICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBmaXhlcyB3ZWJraXQgYnVnIHRoYXQgY2FuIGNhdXNlIFwiZmFsc2VcIiBzY3JvbGxiYXJcbn1cblxuLy8gUm9vdCBjb250YWluZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIFZlcnRpY2FsIGNlbnRlcmVyIGhlbHBlclxuLm1mcC1jb250YWluZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuLy8gUmVtb3ZlIHZlcnRpY2FsIGNlbnRlcmluZyB3aGVuIHBvcHVwIGhhcyBjbGFzcyBgbWZwLWFsaWduLXRvcGBcbi5tZnAtYWxpZ24tdG9wIHtcbiAgICAubWZwLWNvbnRhaW5lciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFBvcHVwIGNvbnRlbnQgaG9sZGVyXG4ubWZwLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNTtcbn1cbi5tZnAtaW5saW5lLWhvbGRlcixcbi5tZnAtYWpheC1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxufVxuXG4vLyBDdXJzb3JzXG4ubWZwLWFqYXgtY3VyIHtcbiAgICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAgICYsIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgICAgIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgICAgICAgY3Vyc29yOiB6b29tLW91dDtcbiAgICB9XG59XG4ubWZwLXpvb20ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxufVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8gSGlkZSB0aGUgaW1hZ2UgZHVyaW5nIHRoZSBsb2FkaW5nXG4ubWZwLWxvYWRpbmcge1xuICAgICYubWZwLWZpZ3VyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBIZWxwZXIgY2xhc3MgdGhhdCBoaWRlcyBzdHVmZlxuQGlmICRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgICAubWZwLWhpZGUge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufSBAZWxzZSB7XG4gICAgLm1mcC1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDIuIEFwcGVhcmFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBQcmVsb2FkZXIgYW5kIHRleHQgdGhhdCBkaXNwbGF5cyBlcnJvciBtZXNzYWdlc1xuLm1mcC1wcmVsb2FkZXIge1xuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gICAgbGVmdDogOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA0O1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAgIC5tZnAtcHJlbG9hZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIEhpZGUgY29udGVudCB3aGVuIGl0IHdhcyBub3QgbG9hZGVkXG4ubWZwLXMtZXJyb3Ige1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBDU1MtcmVzZXQgZm9yIGJ1dHRvbnNcbmJ1dHRvbiB7XG4gICAgJi5tZnAtY2xvc2UsXG4gICAgJi5tZnAtYXJyb3cge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDY7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIH1cbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwXG4gICAgfVxufVxuXG5cbi8vIENsb3NlIGljb25cbi5tZnAtY2xvc2Uge1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgICB9XG59XG4ubWZwLWltYWdlLWhvbGRlcixcbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gICAgLm1mcC1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgICByaWdodDogLTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vLyBcIjEgb2YgWFwiIGNvdW50ZXJcbi5tZnAtY291bnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBOYXZpZ2F0aW9uIGFycm93c1xuQGlmICRtZnAtaW5jbHVkZS1hcnJvd3Mge1xuICAgIC5tZnAtYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTU1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01NHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgICAgICAgICB0b3A6OHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vIElmcmFtZSBjb250ZW50IHR5cGVcbkBpZiAkbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGUge1xuICAgIC5tZnAtaWZyYW1lLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgICAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1mcC1pZnJhbWUtbWF4LXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWZwLWlmcmFtZS1zY2FsZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZnAtaWZyYW1lLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBJbWFnZSBjb250ZW50IHR5cGVcbkBpZiAkbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZSB7XG5cbiAgICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gICAgaW1nIHtcbiAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wO1xuICAgICAgICAgICAgYm90dG9tOiAkbWZwLWltYWdlLXBhZGRpbmctYm90dG9tO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZnAtaW1hZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tICsgNDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuICAgIC5tZnAtdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgY29sb3I6ICRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyAvLyBsZWF2ZSBzb21lIHNwYWNlIGZvciBjb3VudGVyIGF0IHJpZ2h0IHNpZGVcbiAgICB9XG5cbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgIC5tZnAtY29udGVudCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWZwLWdhbGxlcnkge1xuICAgICAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaWYgJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAubWZwLWltZy1tb2JpbGUge1xuICAgICAgICAgICAgICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAmLm1mcC1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZVxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1mcC1jb3VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBTY2FsZSBuYXZpZ2F0aW9uIGFycm93cyBhbmQgcmVkdWNlIHBhZGRpbmcgZnJvbSBzaWRlc1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAubWZwLWFycm93IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIH1cbiAgICAubWZwLWFycm93LWxlZnQge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgfVxuICAgIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgfVxuICAgIC5tZnAtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgU2V0dGluZ3MgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIG92ZXJsYXlcbiRtZnAtb3ZlcmxheS1jb2xvcjogICAgICAgICAgICAgICAgICAgIzBiMGIwYiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgIDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpICFkZWZhdWx0OyAvLyBTaGFkb3cgb24gaW1hZ2Ugb3IgaWZyYW1lXG5cbi8vIHNwYWNpbmdcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgOHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBhZGRpbmcgZnJvbSBsZWZ0IGFuZCBmcm9tIHJpZ2h0IHNpZGVcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTogICAgICAgNnB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNhbWUgYXMgYWJvdmUsIGJ1dCBpcyBhcHBsaWVkIHdoZW4gd2lkdGggb2Ygd2luZG93IGlzIGxlc3MgdGhhbiA4MDBweFxuXG4kbWZwLXotaW5kZXgtYmFzZTogICAgICAgICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcblxuLy8gY29udHJvbHNcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXG4kbWZwLWNvbnRyb2xzLW9wYWNpdHk6ICAgICAgICAgICAgICAgIDAuNjUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I6ICAgICAgICAgICAjM0YzRjNGICFkZWZhdWx0OyBcdCAgICAgICAgICAgICAgICAgLy8gQm9yZGVyIGNvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyIGNvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcblxuLy8gSWZyYW1lLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlOiAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIElmcmFtZS10eXBlIHBvcHVwc1xuJG1mcC1pZnJhbWUtcGFkZGluZy10b3A6ICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSWZyYW1lIHBhZGRpbmcgdG9wXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gd2lkdGggb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtcmF0aW86ICAgICAgICAgICAgICAgICAgICA5LzE2ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmF0aW8gb2YgaWZyYW1lICg5LzE2ID0gd2lkZXNjcmVlbiwgMy80ID0gc3RhbmRhcmQsIGV0Yy4pXG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIEltYWdlLXR5cGUgcG9wdXBzXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIHRvcFxuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyBib3R0b21cbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxuXG4vLyBJbWFnZSBjYXB0aW9uIG9wdGlvbnNcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgI0YzRjNGMyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gdGl0bGUgY29sb3JcbiRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgI0JEQkRCRCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcblxuLy8gQTExeVxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gSGlkZSBjb250ZW50IGZyb20gYnJvd3NlcnMsIGJ1dCBtYWtlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiJdfQ== */
