/**
 * @package 	WordPress
 * @subpackage 	Salvation
 * @version		1.0.6
 * 
 * Responsive Design CSS Rules
 * Created by CMSMasters
 * 
 */
@media only screen {
  /*-------------------------------------------------------------------------*/
  /* Large Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Medium Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Tablet Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /*	Tablet Monitor 950
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Small Tablet Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Tablet Monitor 600
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Phone Monitor
/*-------------------------------------------------------------------------*/
  /*-------------------------------------------------------------------------*/
  /* Small Phone Monitor
/*-------------------------------------------------------------------------*/
}
@media only screen and (max-width: 1700px) {
  .navigation > li > a .nav_item_wrap {
    padding-left: 11px;
    padding-right: 11px;
  }
  .header_mid .social_wrap {
    margin: 0 0 0 10px;
  }
}
@media only screen and (min-width: 1440px) {
  .cmsmasters_responsive_width {
    width: 1440px;
  }
  #page.cmsmasters_boxed {
    width: 1240px;
  }
  #page.cmsmasters_boxed #header,
  #page.cmsmasters_boxed #footer {
    width: 1240px;
  }
  .post-password-form,
  .header_top_inner,
  .header_mid_inner,
  .header_bot_inner,
  .content_wrap,
  .headline_inner,
  .bottom_outer,
  .footer_inner,
  .cmsmasters_row_inner,
  .cmsmasters_row_title_wrap {
    width: 1200px;
  }
  .header_mid .social_wrap {
    margin: 0 0 0 10px;
  }
  .navigation ul {
    left: 2px;
  }
  .navigation ul ul {
    left: 100%;
  }
  .header_fullwidth .header_mid .header_mid_inner {
    padding-left: 30px;
    padding-right: 30px;
  }
  .header_fullwidth .header_top .header_top_inner {
    padding-left: 3%;
    padding-right: 3%;
  }
  .post.cmsmasters_post_puzzle .puzzle_post_content_wrapper .cmsmasters_post_footer,
  .post.cmsmasters_post_puzzle .puzzle_post_content_wrapper .puzzle_post_content_wrap {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media only screen and (max-width: 1440px) {
  .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tabs_list_item {
    display: block;
    float: none;
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_tabs_list_item a {
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media only screen and (min-width: 1025px) {
  .cmsmasters_responsive_width {
    width: 1025px;
  }
  .fixed_header #header {
    position: fixed;
  }
  .header_top_outer,
  .header_top .top_nav_wrap nav {
    display: block !important;
  }
}
@media only screen and (max-width: 1024px) {
  .cmsmasters_responsive_width {
    width: 1024px;
  }
  .headline_outer {
    background-attachment: scroll;
  }
  .header_mid .social_wrap li {
    margin-right: 5px;
  }
  .header_mid .social_wrap li a {
    font-size: 18px;
    width: 20px;
    height: 20px;
  }
  .gallery.gallery-columns-9 .gallery-item,
  .gallery.gallery-columns-6 .gallery-item {
    width: 29.93%;
  }
  .gallery.gallery-columns-9 .gallery-item:nth-child(6n + 1),
  .gallery.gallery-columns-6 .gallery-item:nth-child(6n + 1),
  .gallery.gallery-columns-9 .gallery-item:nth-child(9n + 1),
  .gallery.gallery-columns-6 .gallery-item:nth-child(9n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-9 .gallery-item:nth-child(3n + 1),
  .gallery.gallery-columns-6 .gallery-item:nth-child(3n + 1) {
    clear: both;
  }
  .gallery.gallery-columns-8 .gallery-item {
    width: 21.6%;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(8n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(4n + 1) {
    clear: both;
  }
  .gallery.gallery-columns-7 .gallery-item,
  .gallery.gallery-columns-5 .gallery-item,
  .gallery.gallery-columns-4 .gallery-item {
    width: 46.6%;
  }
  .gallery.gallery-columns-7 .gallery-item:nth-child(4n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(4n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(4n + 1),
  .gallery.gallery-columns-7 .gallery-item:nth-child(5n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(5n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(5n + 1),
  .gallery.gallery-columns-7 .gallery-item:nth-child(7n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(7n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(7n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-7 .gallery-item:nth-child(2n + 1),
  .gallery.gallery-columns-5 .gallery-item:nth-child(2n + 1),
  .gallery.gallery-columns-4 .gallery-item:nth-child(2n + 1) {
    clear: both;
  }
  .cmsmasters_profile.horizontal .cmsmasters_profile_horizontal.one_fourth:nth-child(2n+1) {
    clear: left;
  }
  #page.cmsmasters_boxed {
    width: 100%;
  }
  #page.cmsmasters_boxed #header,
  #page.cmsmasters_boxed #footer {
    width: 100%;
  }
  #page.fixed_header #header {
    position: relative;
  }
  #page.fixed_header #middle,
  #page.fixed_header.enable_header_top #middle,
  #page.fixed_header.enable_header_bottom #middle,
  #page.fixed_header.enable_header_top.enable_header_bottom #middle {
    padding-top: 0;
  }
  .header_mid .social_wrap {
    display: block;
  }
  #header {
    position: relative;
  }
  #header nav {
    height: auto;
  }
  #header nav div,
  #header nav ul,
  #header nav li,
  #header nav a,
  #header nav span {
    background-image: none !important;
    display: block;
    width: auto;
    height: auto;
    float: none;
    margin: 0;
    padding: 0;
    visibility: visible;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    text-align: left;
    border-width: 0;
    border-style: solid;
    clear: both;
    overflow: hidden;
    -webkit-border-radius: 0;
    border-radius: 0;
    opacity: 1;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  #header nav div:before,
  #header nav ul:before,
  #header nav li:before,
  #header nav a:before,
  #header nav div:after,
  #header nav ul:after,
  #header nav li:after,
  #header nav a:after {
    content: none;
  }
  #header nav .menu-item-mega-description-container {
    padding: 10px 15px;
  }
  #header nav li {
    border-top-width: 1px;
    border-top-style: solid;
  }
  .post-password-form,
  .header_top_inner,
  .header_mid_inner,
  .header_bot_inner,
  .content_wrap,
  .headline_inner,
  .bottom_outer,
  .footer_inner,
  .cmsmasters_row_inner,
  .cmsmasters_row_title_wrap {
    width: 100%;
  }
  .cmsmasters_column {
    margin-bottom: 20px;
  }
  .cmsmasters_row_columns_behavior .cmsmasters_column {
    margin-bottom: 20px;
  }
  .cmsmasters_column.one_first {
    margin-bottom: 0;
  }
  .one_fifth,
  .one_fourth,
  .three_fourth {
    width: 46.6%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fifth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .three_fourth {
    width: 50%;
  }
  .cmsmasters_14141414 > .cmsmasters_column:nth-child(2n + 1) {
    clear: left;
  }
  .cmsmasters_121414 .cmsmasters_column.one_half,
  .cmsmasters_141412 .cmsmasters_column.one_half {
    width: 96.6%;
    float: none;
    clear: both;
  }
  .cmsmasters_row_no_margin > .cmsmasters_121414 > .cmsmasters_column.one_half,
  .cmsmasters_row_no_margin > .cmsmasters_141412 > .cmsmasters_column.one_half {
    width: 100%;
  }
  .cmsmasters_141214 .cmsmasters_column.one_fourth,
  .cmsmasters_141214 .cmsmasters_column.one_half {
    width: 29.93%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_half {
    width: 33.33%;
  }
  .sidebar_layout_14141414 aside {
    width: 46.6%;
  }
  .sidebar_layout_14141414 aside:nth-child(2n+1) {
    clear: left;
  }
  .sidebar_layout_141412 > aside:first-child,
  .sidebar_layout_141412 > aside:first-child + aside,
  .sidebar_layout_141412 > div.cl + aside,
  .sidebar_layout_141412 > div.cl + aside + aside,
  .sidebar_layout_141412 > div.cmsmasters_widget_divider + aside,
  .sidebar_layout_141412 > div.cmsmasters_widget_divider + aside + aside {
    width: 46.6%;
  }
  .sidebar_layout_141412 > aside:first-child + aside + aside,
  .sidebar_layout_141412 > div.cl + aside + aside + aside,
  .sidebar_layout_141412 > div.cmsmasters_widget_divider + aside + aside + aside {
    width: 96.6%;
    float: none;
    clear: both;
  }
  .sidebar_layout_141214 > aside:first-child,
  .sidebar_layout_141214 > aside:first-child + aside + aside,
  .sidebar_layout_141214 > div.cl + aside,
  .sidebar_layout_141214 > div.cl + aside + aside + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside + aside + aside {
    width: 29.93%;
  }
  .sidebar_layout_141214 > aside:first-child + aside,
  .sidebar_layout_141214 > div.cl + aside + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside + aside {
    width: 29.93%;
  }
  .sidebar_layout_121414 > aside:first-child,
  .sidebar_layout_121414 > div.cl + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside {
    width: 96.6%;
    float: none;
    clear: both;
  }
  .sidebar_layout_121414 > aside:first-child + aside,
  .sidebar_layout_121414 > aside:first-child + aside + aside,
  .sidebar_layout_121414 > div.cl + aside + aside,
  .sidebar_layout_121414 > div.cl + aside + aside + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside + aside + aside {
    width: 46.6%;
  }
  .sidebar_layout_3414 > aside:first-child,
  .sidebar_layout_3414 > div.cl + aside,
  .sidebar_layout_3414 > div.cmsmasters_widget_divider + aside {
    width: 46.6%;
  }
  .sidebar_layout_3414 > aside:first-child + aside,
  .sidebar_layout_3414 > div.cl + aside + aside,
  .sidebar_layout_3414 > div.cmsmasters_widget_divider + aside + aside {
    width: 46.6%;
  }
  .sidebar_layout_1434 > aside:first-child,
  .sidebar_layout_1434 > div.cl + aside,
  .sidebar_layout_1434 > div.cmsmasters_widget_divider + aside {
    width: 46.6%;
  }
  .sidebar_layout_1434 > aside:first-child + aside,
  .sidebar_layout_1434 > div.cl + aside + aside,
  .sidebar_layout_1434 > div.cmsmasters_widget_divider + aside + aside {
    width: 46.6%;
  }
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fifth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fifth,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fourth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fourth {
    width: 50%;
  }
  .cmsmasters_pricing_table.pricing_four .cmsmasters_pricing_item {
    width: 46.6%;
  }
  .cmsmasters_pricing_table.pricing_four .cmsmasters_pricing_item:nth-child(2n+1) {
    clear: both;
  }
  .header_top {
    overflow: hidden;
    clear: both;
  }
  .header_top .header_top_but {
    display: block;
  }
  .header_top .header_top_outer {
    height: auto;
    display: none;
    overflow: hidden;
  }
  .header_top .header_top_inner {
    height: auto;
    padding: 15px 0 0;
    overflow: hidden;
  }
  .header_top .header_top_right {
    float: none;
  }
  .header_top .social_wrap {
    padding: 10px 0 20px;
  }
  .header_top .social_wrap .social_wrap_inner {
    text-align: center;
  }
  .header_top .top_nav_wrap {
    overflow: hidden;
    margin-top: -10px;
  }
  .header_top .top_nav_wrap nav {
    display: none;
  }
  .header_top .responsive_top_nav {
    position: relative;
    width: 10px;
    height: 10px;
    display: block;
    margin: 10px auto;
    overflow: hidden;
  }
  .header_top .responsive_top_nav span {
    display: block;
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .header_top .responsive_top_nav:before {
    content: '';
    width: 13px;
    height: 2px;
    position: absolute;
    bottom: 4px;
    right: 0;
  }
  .header_top .responsive_top_nav:after {
    content: '';
    width: 13px;
    height: 2px;
    position: absolute;
    bottom: 8px;
    left: 0;
  }
  .header_top .responsive_top_nav.active span {
    opacity: 0;
  }
  .header_top .responsive_top_nav.active:before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 100% 0;
    -moz-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    -o-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  .header_top .responsive_top_nav.active:after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .header_top .header_top_left {
    padding: 10px 0 25px;
  }
  .header_top .header_top_left:after {
    content: none;
  }
  .header_top .meta_wrap {
    display: block;
    text-align: center;
  }
  #header .top_line_nav {
    padding: 0;
    margin: 0 0 15px;
  }
  #header .top_line_nav .nav_item_wrap {
    padding: 5px 0;
    text-align: center;
  }
  #header .top_line_nav li li .nav_item_wrap:before,
  #header .top_line_nav li li .nav_item_wrap:after {
    content: '\00a0\2014\00a0';
  }
  #header .top_line_nav li li li .nav_item_wrap:before,
  #header .top_line_nav li li li .nav_item_wrap:after {
    content: '\00a0\2013\00a0';
  }
  #header .header_mid {
    overflow: hidden;
    clear: both;
  }
  #header .header_mid .header_mid_outer {
    overflow: hidden;
  }
  .enable_header_bottom #header .header_mid .header_mid_outer {
    border-bottom-width: 0;
    border-bottom-style: solid;
  }
  #header .header_mid .header_mid_inner {
    padding: 0 20px;
  }
  .enable_header_centered #header .header_mid .header_mid_inner {
    text-align: center;
    padding-top: 20px;
  }
  .enable_header_centered #header .header_mid .logo_wrap {
    margin: 0 auto 20px;
  }
  #header .header_mid .resp_mid_nav_wrap {
    display: block;
    margin: 0 15px 20px 20px;
  }
  .enable_header_centered #header .header_mid .resp_mid_nav_wrap {
    display: inline-block;
    vertical-align: top;
    height: auto !important;
    float: none;
    margin: 0 8px 20px;
  }
  .enable_header_centered #header .header_mid .resp_mid_nav_wrap .resp_mid_nav_outer {
    text-align: center;
    height: 40px;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav {
    width: 14px;
    height: 16px;
    overflow: hidden;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav span {
    display: block;
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav:before {
    content: '';
    width: 18px;
    height: 2px;
    position: absolute;
    bottom: 6px;
    right: 0;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav:after {
    content: '';
    width: 18px;
    height: 2px;
    position: absolute;
    bottom: 12px;
    left: 0;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav.active span {
    opacity: 0;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav.active:before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 100% 0;
    -moz-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    -o-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  #header .header_mid .resp_mid_nav_wrap .responsive_nav.active:after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  #header .header_mid .mid_nav_wrap {
    display: block;
    height: auto;
    float: none;
    margin: 0 -20px;
    visibility: visible;
    overflow: hidden;
    clear: both;
    opacity: 1;
  }
  #header .header_mid .mid_nav_wrap nav {
    display: none;
  }
  #header .header_bot {
    overflow: hidden;
    clear: both;
  }
  #header .header_bot .header_bot_outer {
    overflow: hidden;
  }
  #header .header_bot .header_bot_inner {
    padding: 0;
  }
  #header .header_bot .bot_nav_wrap {
    display: block;
    height: auto;
    float: none;
    margin: 0;
    visibility: visible;
    overflow: hidden;
    clear: both;
    opacity: 1;
  }
  #header .header_bot .bot_nav_wrap nav {
    display: none;
  }
  #header.header_fullwidth .header_top_inner {
    padding: 15px 0 0;
  }
  #header .navigation {
    padding: 0;
  }
  #header .navigation .menu-item-has-children > a {
    padding-right: 40px;
  }
  #header .navigation a {
    padding: 10px 20px 10px 20px;
  }
  #header .navigation li li > a {
    padding-left: 50px;
  }
  #header .navigation li li li > a {
    padding-left: 70px;
  }
  #header .navigation li li li li > a {
    padding-left: 90px;
  }
  #header .navigation .nav_item_wrap {
    display: inline-block;
    vertical-align: middle;
  }
  #header .navigation .nav_title {
    display: inline-block;
    vertical-align: bottom;
  }
  #header .navigation .nav_tag {
    display: inline-block;
    vertical-align: middle;
    padding: 0 5px;
    margin: 0 0 0 10px;
  }
  #header .navigation .nav_subtitle {
    display: block;
  }
  #header .navigation .cmsmasters_resp_nav_toggle {
    display: block;
    vertical-align: middle;
    width: 40px;
    height: 100%;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
  }
  #header .navigation .cmsmasters_resp_nav_toggle:before {
    position: absolute;
    width: 20px;
    height: 20px;
    font-size: 18px;
    right: 15px;
    top: 50%;
    margin-top: -10px;
  }
  #header .navigation .menu-item-mega-container {
    width: 100% !important;
    left: auto !important;
    right: auto !important;
  }
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quote .cmsmasters_quote_content {
    padding-left: 0;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a {
    padding-right: 30px;
    padding-left: 30px;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a[class^="cmsmasters-icon-"],
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a[class^="cmsmasters_theme_icon_"] {
    padding-left: 50px;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a[class^="cmsmasters-icon-"]:before,
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a[class^="cmsmasters_theme_icon_"]:before {
    left: 17px;
  }
  .cmsmasters_column.one_half .cmsmasters_mailpoet_form .widget_wysija,
  .cmsmasters_column.one_half .cmsmasters_mailpoet_form form.mailpoet_form,
  .cmsmasters_column.one_third .cmsmasters_mailpoet_form .widget_wysija,
  .cmsmasters_column.one_third .cmsmasters_mailpoet_form form.mailpoet_form,
  .cmsmasters_column.one_fourth .cmsmasters_mailpoet_form .widget_wysija,
  .cmsmasters_column.one_fourth .cmsmasters_mailpoet_form form.mailpoet_form {
    display: block;
  }
  .cmsmasters_column.one_half .cmsmasters_mailpoet_form .wysija-paragraph,
  .cmsmasters_column.one_half .cmsmasters_mailpoet_form .mailpoet_paragraph,
  .cmsmasters_column.one_third .cmsmasters_mailpoet_form .wysija-paragraph,
  .cmsmasters_column.one_third .cmsmasters_mailpoet_form .mailpoet_paragraph,
  .cmsmasters_column.one_fourth .cmsmasters_mailpoet_form .wysija-paragraph,
  .cmsmasters_column.one_fourth .cmsmasters_mailpoet_form .mailpoet_paragraph {
    min-width: auto;
    float: none;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 950px) {
  .cmsmasters_responsive_width {
    width: 950px;
  }
  .content_wrap.l_sidebar .cmsmasters_row,
  .content_wrap.r_sidebar .cmsmasters_row {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .content,
  .sidebar {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .sidebar {
    border-top-width: 1px;
    border-top-style: solid;
  }
  .cmsmasters_open_project .project_content.with_sidebar {
    width: 100%;
    float: none;
  }
  .cmsmasters_open_project .project_sidebar {
    width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
  }
  .cmsmasters_open_profile .profile_content.with_sidebar {
    width: 100%;
    float: none;
  }
  .cmsmasters_open_profile .profile_sidebar {
    width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
  }
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quote_inner,
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quote_inner {
    padding: 0 25px;
  }
  .cmsmasters_footer_default .footer_nav > li {
    float: none;
    display: inline-block;
  }
  .cmsmasters_icon_list_items.cmsmasters_icon_list_type_block.cmsmasters_icon_list_pos_left .cmsmasters_icon_list_icon_wrap {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .cmsmasters_responsive_width {
    width: 768px;
  }
  #page .headline_outer .headline_inner {
    padding: 20px 0;
  }
  #page .headline_outer .headline_inner .headline_aligner {
    display: none;
  }
  #page .headline_outer .headline_inner .headline_text {
    display: block;
    text-align: center;
  }
  #page .headline_outer .headline_inner .headline_text_wrap {
    display: block;
  }
  #page .cmsmasters_breadcrumbs {
    float: none;
    text-align: center;
  }
  #page .cmsmasters_breadcrumbs .cmsmasters_breadcrumbs_aligner {
    display: none;
  }
  .gallery.gallery-columns-8 .gallery-item {
    width: 46.6%;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(4n + 1) {
    clear: none;
  }
  .gallery.gallery-columns-8 .gallery-item:nth-child(2n + 1) {
    clear: both;
  }
  .cmsmasters_column:last-child {
    margin-bottom: 0;
  }
  .one_first,
  .one_half,
  .one_third,
  .two_third,
  .one_fourth,
  .one_fifth,
  .three_fourth,
  .cmsmasters_121414 .cmsmasters_column.one_half,
  .cmsmasters_141412 .cmsmasters_column.one_half,
  .cmsmasters_141214 .cmsmasters_column.one_fourth,
  .cmsmasters_141214 .cmsmasters_column.one_half {
    width: 96.6%;
    float: none;
    clear: both;
  }
  .cmsmasters_row_columns_behavior .one_first,
  .cmsmasters_row_columns_behavior .one_half,
  .cmsmasters_row_columns_behavior .one_third,
  .cmsmasters_row_columns_behavior .two_third,
  .cmsmasters_row_columns_behavior .one_fourth,
  .cmsmasters_row_columns_behavior .one_fifth,
  .cmsmasters_row_columns_behavior .three_fourth,
  .cmsmasters_row_columns_behavior .cmsmasters_121414 .cmsmasters_column.one_half,
  .cmsmasters_row_columns_behavior .cmsmasters_141412 .cmsmasters_column.one_half,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_fourth,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_half {
    display: block;
  }
  .cmsmasters_row_columns_behavior .one_first .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_half .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_third .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .two_third .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_fourth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .one_fifth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .three_fourth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_121414 .cmsmasters_column.one_half .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_141412 .cmsmasters_column.one_half .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_fourth .cmsmasters_column_inner,
  .cmsmasters_row_columns_behavior .cmsmasters_141214 .cmsmasters_column.one_half .cmsmasters_column_inner {
    display: block;
    margin-bottom: 0;
  }
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_first,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_half,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_third,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .two_third,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .one_fifth,
  .cmsmasters_row_no_margin > .cmsmasters_row_margin > .three_fourth {
    width: 100%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_121414 > .cmsmasters_column.one_half,
  .cmsmasters_row_no_margin > .cmsmasters_141412 > .cmsmasters_column.one_half,
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_fourth,
  .cmsmasters_row_no_margin > .cmsmasters_141214 > .cmsmasters_column.one_half {
    width: 100%;
  }
  .cmsmasters_row_margin.cmsmasters_row_columns_behavior {
    display: block;
  }
  .cmsmasters_row_margin.cmsmasters_row_columns_behavior .cmsmasters_featured_block .featured_block_text:empty {
    padding-bottom: 100%;
  }
  .cmsmasters_row_no_margin > .cmsmasters_row_margin {
    display: block;
  }
  .sidebar_layout_14141414 aside,
  .sidebar_layout_141412 aside,
  .sidebar_layout_141214 aside,
  .sidebar_layout_121414 aside,
  .sidebar_layout_131313 aside,
  .sidebar_layout_3414 aside,
  .sidebar_layout_1434 aside,
  .sidebar_layout_2313 aside,
  .sidebar_layout_1323 aside,
  .sidebar_layout_1212 aside {
    width: 96.6% !important;
  }
  .cmsmasters_featured_block .featured_block_inner {
    width: 100% !important;
  }
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_third,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_third {
    width: 50%;
  }
  .cmsmasters_pricing_table.pricing_three .cmsmasters_pricing_item {
    width: 96.6%;
    float: none;
    clear: both;
  }
  .cmsmasters_clients_grid.clients_five .cmsmasters_clients_item,
  .cmsmasters_clients_grid.clients_four .cmsmasters_clients_item,
  .cmsmasters_clients_grid.clients_three .cmsmasters_clients_item,
  .cmsmasters_clients_grid.clients_two .cmsmasters_clients_item {
    width: 100%;
    float: none;
    clear: both;
  }
  .header_top .meta_wrap > * {
    display: block;
    margin: 0;
    text-align: center;
  }
  #header .header_mid .header_mid_inner {
    padding-top: 20px;
    text-align: center;
  }
  #header .header_mid .header_mid_inner .logo_wrap {
    width: auto;
    float: none;
    margin: 0 auto 20px;
    text-align: center;
  }
  #header .header_mid .header_mid_inner .logo_wrap:after {
    content: none;
  }
  #header .header_mid .header_mid_inner .logo_wrap .logo img {
    position: static;
  }
  #header .header_mid .header_mid_inner .mid_search_but_wrap,
  #header .header_mid .header_mid_inner .resp_mid_nav_wrap {
    float: none;
    display: inline-block;
    vertical-align: top;
  }
  #header .header_mid .header_mid_inner .mid_search_but_wrap {
    height: 40px;
    margin: 0 8px 20px;
  }
  #header .header_mid .header_mid_inner .social_wrap {
    display: inline-block;
    vertical-align: top;
    margin: 0 8px 20px;
    float: none;
  }
  #header .header_mid .header_mid_inner .social_wrap .social_wrap_inner {
    text-align: center;
    height: 40px;
  }
  #header .header_mid .header_mid_inner .slogan_wrap {
    display: inline-block;
    vertical-align: top;
    margin: 0 8px 20px;
    float: none;
  }
  #header .header_mid .header_mid_inner .slogan_wrap .slogan_wrap_inner {
    height: 40px;
    padding: 0;
    text-align: center;
  }
  #header .header_mid .header_mid_inner .slogan_wrap .slogan_wrap_text {
    text-align: center;
  }
  #header .header_mid .header_mid_inner .resp_mid_nav_outer {
    height: 40px;
    text-align: center;
  }
  #header .header_mid .header_mid_inner .resp_mid_nav_outer .responsive_nav {
    display: inline-block;
    vertical-align: middle;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=reset]):not([type=submit]):not([type=color]):not([type=range]) {
    height: 50px;
    font-size: 40px;
    line-height: 50px;
  }
  .error .error_title {
    font-size: 180px;
  }
  .cmsmasters_footer_default .footer_nav {
    display: block;
    text-align: center;
  }
  .cmsmasters_footer_default .footer_nav > li {
    display: inline-block;
    float: none;
  }
  .cmsmasters_footer_small .footer_nav_wrap {
    padding: 0 0 10px;
    float: none;
  }
  .cmsmasters_footer_small .footer_nav_wrap nav > div {
    text-align: center;
  }
  .cmsmasters_footer_small .footer_nav_wrap nav > div:after {
    content: none;
  }
  .cmsmasters_footer_small .footer_nav {
    display: block;
    text-align: center;
  }
  .cmsmasters_footer_small .footer_nav > li {
    display: inline-block;
    float: none;
  }
  .cmsmasters_footer_small .social_wrap {
    padding: 0 0 10px;
    float: none;
  }
  .cmsmasters_footer_small .social_wrap .social_wrap_inner {
    text-align: center;
  }
  .cmsmasters_footer_small .social_wrap .social_wrap_inner:after {
    content: none;
  }
  .cmsmasters_footer_small .footer_custom_html_wrap {
    padding: 0 0 10px;
    float: none;
  }
  .cmsmasters_footer_small .footer_custom_html_wrap .footer_custom_html {
    text-align: center;
  }
  .cmsmasters_footer_small .footer_copyright {
    padding: 0;
    text-align: center;
  }
  .blog.timeline {
    height: auto !important;
  }
  .blog.timeline:before {
    content: none;
  }
  .blog.timeline .post {
    width: 100%;
    padding-top: 40px;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
    transform: none !important;
  }
  .blog.timeline .post:first-child {
    padding-top: 0;
  }
  .blog.timeline .post:before {
    content: none;
  }
  .blog.timeline .post.cmsmasters_timeline_left .cmsmasters_timeline_margin,
  .blog.timeline .post.cmsmasters_timeline_right .cmsmasters_timeline_margin {
    margin-left: 0;
    margin-right: 0;
  }
  .blog.timeline .post .cmsmasters_post_date {
    position: relative;
    left: auto;
    right: auto;
    text-align: left;
  }
  .cmsmasters_items_filter_wrap .cmsmasters_items_sort_block {
    float: none;
    text-align: center;
  }
  .cmsmasters_items_filter_wrap .cmsmasters_items_sort_but {
    margin: 0 5px 20px;
    display: inline-block;
    float: none;
  }
  .cmsmasters_items_filter_wrap .cmsmasters_items_filter_list {
    text-align: center;
  }
  .cmsmasters_project_sort_block + .cmsmasters_project_filter_block .cmsmasters_project_filter_list {
    text-align: center;
  }
  .cmsmasters_comment_item .cmsmasters_comment_item_avatar {
    padding-right: 20px;
  }
  .post_nav .cmsmasters_next_arrow,
  .post_nav .cmsmasters_prev_arrow {
    width: 30px;
    height: 30px;
  }
  .post_nav .cmsmasters_next_arrow span,
  .post_nav .cmsmasters_prev_arrow span {
    font-size: 7px;
  }
  .post_nav > span.cmsmasters_next_post .post_nav_sub {
    right: 45px;
  }
  .post_nav > span.cmsmasters_next_post a {
    padding-right: 45px;
    width: 100%;
    word-wrap: break-word;
  }
  .post_nav > span.cmsmasters_prev_post .post_nav_sub {
    left: 45px;
  }
  .post_nav > span.cmsmasters_prev_post a {
    padding-left: 45px;
    width: 100%;
    word-wrap: break-word;
  }
  .cmsmasters_profile_horizontal .cmsmasters_profile_img_wrap {
    margin-bottom: 20px;
  }
  .cmsmasters_profile_horizontal .cmsmasters_profile_header {
    padding-bottom: 20px;
  }
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quote,
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quote,
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quote {
    width: auto;
  }
  .cmsmasters_quotes_grid .cmsmasters_quotes_vert {
    display: none;
  }
  .cmsmasters_quotes_grid .cmsmasters_quotes_list {
    padding: 0;
    border-width: 0;
    border-style: solid;
    display: block;
  }
  .cmsmasters_quotes_grid .cmsmasters_quotes_list:after,
  .cmsmasters_quotes_grid .cmsmasters_quotes_list:before {
    content: none;
  }
  .cmsmasters_quotes_grid .cmsmasters_quotes_list:first-of-type .cmsmasters_quote:first-child {
    border-top-width: 0;
    border-top-style: solid;
  }
  .cmsmasters_quotes_grid .cmsmasters_quote_content {
    padding-left: 0;
  }
  .cmsmasters_quotes_grid .cmsmasters_quote {
    padding: 30px 0;
    border-top-width: 1px;
    border-top-style: solid;
    width: auto;
    float: none;
  }
  .cmsmasters_quotes_grid .cmsmasters_quote_inner {
    padding: 0;
  }
  .cmsmasters_table tr td,
  .cmsmasters_table tr th {
    padding-left: 20px;
    padding-right: 20px;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tab_inner {
    padding-left: 25px;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tab_inner {
    padding-right: 25px;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_img_wrap {
    margin-right: 20px;
  }
  .cmsmasters_twitter_wrap .cmsmasters_twitter_item {
    display: block;
    text-align: center;
  }
  .cmsmasters_twitter_wrap .cmsmasters_twitter_item .published {
    margin: 0 0 15px;
    width: auto;
  }
  .cmsmasters_project_grid .project_img_wrap {
    width: 74%;
  }
  .cmsmasters_footer_default .footer_nav > li {
    float: none;
    display: block;
    margin: 0;
  }
  .cmsmasters_mailpoet_form .mailpoet_paragraph,
  .cmsmasters_mailpoet_form .wysija-paragraph {
    min-width: 250px;
  }
  .cmsmasters_mailpoet_form .mailpoet_submit,
  .cmsmasters_mailpoet_form .wysija-submit-field {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 600px) {
  .cmsmasters_responsive_width {
    width: 600px;
  }
  html.cmsmasters_html {
    margin-top: 0 !important;
  }
  html.cmsmasters_html body.admin-bar {
    padding-top: 46px;
  }
  .cmsmasters_profile_vertical {
    margin: 0;
  }
  .cmsmasters_profile_vertical .cmsmasters_profile_content,
  .cmsmasters_profile_vertical .profile_outer {
    text-align: center;
  }
  .cmsmasters_profile_vertical .cmsmasters_profile_img_wrap {
    padding: 0 0 25px;
    width: 50%;
    min-width: 200px;
    text-align: center;
  }
  .cmsmasters_profile_vertical .cmsmasters_profile_img_wrap + .profile_inner {
    width: auto;
    display: block;
  }
  .cmsmasters_profile_vertical .cmsmasters_profile_header {
    float: none;
    text-align: center;
  }
  .cmsmasters_profile_vertical .profile_social_icons {
    float: none;
  }
  .cmsmasters_profile_vertical .profile_social_icons_list {
    text-align: center;
  }
  .cmsmasters_profile_vertical .profile_social_icons_list li {
    margin: 0 5px;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item {
    display: block;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .cmsmasters_mailpoet_form .widget_wysija,
  .cmsmasters_mailpoet_form form.mailpoet_form {
    display: block;
  }
  .cmsmasters_mailpoet_form .widget_wysija .wysija-paragraph,
  .cmsmasters_mailpoet_form form.mailpoet_form .wysija-paragraph,
  .cmsmasters_mailpoet_form .widget_wysija .mailpoet_paragraph,
  .cmsmasters_mailpoet_form form.mailpoet_form .mailpoet_paragraph {
    float: none;
    width: 100%;
    min-width: auto;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 540px) {
  .cmsmasters_responsive_width {
    width: 540px;
  }
  .content,
  .sidebar {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .cmsmasters_header_search_form form {
    width: 300px;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=reset]):not([type=submit]):not([type=color]):not([type=range]) {
    height: 40px;
    font-size: 30px;
    line-height: 40px;
  }
  .headline_outer .headline_inner .headline_text_wrap {
    padding: 0 10px;
  }
  #page .gallery .gallery-item {
    width: 96.6%;
    float: none;
    clear: both;
  }
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fifth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fifth,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_fourth,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_fourth,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_third,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_third,
  .cmsmasters_stats.stats_mode_circles .cmsmasters_stat_wrap.one_half,
  .cmsmasters_counters .cmsmasters_counter_wrap.one_half {
    width: 100%;
  }
  .cmsmasters_pricing_table.pricing_four .cmsmasters_pricing_item,
  .cmsmasters_pricing_table.pricing_three .cmsmasters_pricing_item,
  .cmsmasters_pricing_table.pricing_two .cmsmasters_pricing_item,
  .cmsmasters_pricing_table.pricing_one .cmsmasters_pricing_item {
    width: 96.6%;
    float: none;
  }
  .cmsmasters_tabs.tabs_mode_tour {
    display: block;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tabs_list {
    width: 100%;
    display: block;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tabs_list .cmsmasters_tabs_list_item {
    margin: 0;
    border-right-width: 1px;
    border-right-style: solid;
    border-left-width: 1px;
    border-left-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tabs_wrap {
    width: 100%;
    display: block;
    border-width: 0;
    border-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tab_inner {
    padding: 30px 0 0;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_wrap {
    border-width: 0;
    border-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tab_inner {
    padding: 30px 0 0;
  }
  .about_author .about_author_avatar {
    margin-right: 20px;
  }
  .comment-respond .comment-form {
    width: 100%;
  }
  .commentlist .children {
    padding: 0;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_img_wrap {
    width: 200px;
    margin: 0 0 20px;
    float: none;
  }
  .cmsmasters_footer_default .social_wrap li {
    margin-left: 5px;
    margin-right: 5px;
  }
  .post_nav > span a {
    padding-top: 0;
  }
  .post_nav > span .post_nav_sub {
    display: none;
  }
  .cmsmasters_twitter_wrap .twr_icon {
    position: relative;
  }
  .cmsmasters_twitter_wrap .cmsmasters_twitter_item {
    padding: 5px 20px;
    min-height: 0;
  }
  .cmsmasters_twitter_wrap .owl-controls {
    padding: 20px 0 1px;
  }
  .cmsmasters_twitter_wrap .owl-buttons {
    position: relative;
  }
  .cmsmasters_mailpoet_form .mailpoet_submit,
  .cmsmasters_mailpoet_form .wysija-submit-field {
    padding: 0 30px;
  }
  .post_nav > span {
    max-width: 100%;
  }
  .post_nav > span.cmsmasters_prev_post {
    margin-bottom: 10px;
  }
  .post_nav > span.cmsmasters_next_post {
    clear: both;
  }
  .cmsmasters_footer_default .footer_inner {
    padding-top: 20px;
    padding-bottom: 50px;
  }
  .cmsmasters_footer_default .footer_inner .social_wrap {
    margin: 35px 0 50px;
  }
  .cmsmasters_footer_default .footer_inner .footer_copyright {
    margin: 50px 0 0;
  }
  .cmsmasters_quotes_slider_type_center .owl-buttons > div {
    margin-top: -21px;
  }
  .cmsmasters_quotes_slider_type_center .owl-buttons > div .cmsmasters_prev_arrow,
  .cmsmasters_quotes_slider_type_center .owl-buttons > div .cmsmasters_next_arrow {
    width: 30px;
    height: 30px;
  }
  .comment-respond .comment-reply-title small {
    float: none;
    display: block;
  }
  .profiles.opened-article .share_posts a {
    margin: 0 5px 0 0;
  }
}
@media only screen and (max-width: 320px) {
  .cmsmasters_responsive_width {
    width: 320px;
  }
  #page.cmsmasters_liquid #header,
  #page.cmsmasters_liquid #middle {
    padding: 0;
  }
  #page.cmsmasters_liquid #bottom,
  #page.cmsmasters_liquid #footer {
    margin: 0;
  }
  .cmsmasters_header_search_form form {
    width: 200px;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field input:not([type=button]):not([type=checkbox]):not([type=file]):not([type=hidden]):not([type=image]):not([type=radio]):not([type=reset]):not([type=submit]):not([type=color]):not([type=range]) {
    height: 30px;
    font-size: 20px;
    line-height: 30px;
  }
  .post-password-form,
  .header_top_inner,
  .header_mid_inner,
  .header_bot_inner,
  .content_wrap,
  .headline_inner,
  .bottom_outer,
  .footer_inner,
  .cmsmasters_row_inner,
  .cmsmasters_row_title_wrap {
    width: 320px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFkYXB0aXZlLmxlc3MiLCJnZW5lcmFsLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBZUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0Esd0JBQTBCO0VBQ3pCLFdBQVksS0FBSyxJQUFJO0lBQ3BCLGtCQUFBO0lBQ0EsbUJBQUE7O0VBRUQsV0FBWTtJQUNYLGtCQUFBOzs7QUFHRjtFQUNDO0lBQ0MsYUFBQTs7RUFJQSxLQUFDO0lBQ0EsYUFBQTs7RUFERCxLQUFDLGlCQUdBO0VBSEQsS0FBQyxpQkFJQTtJQUNDLGFBQUE7O0VBS0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7SUFDQyxhQUFBOztFQUdELFdBQVk7SUFDWCxrQkFBQTs7RUFHRCxXQUFZO0lBQ1gsU0FBQTs7RUFERCxXQUFZLEdBR1g7SUFDQyxVQUFBOztFQUlGLGlCQUNDLFlBQVk7SUFDWCxrQkFBQTtJQUNBLG1CQUFBOztFQUhGLGlCQU1DLFlBQVk7SUFDWCxnQkFBQTtJQUNBLGlCQUFBOztFQUlGLEtBQUssdUJBQXdCLDZCQUE2QjtFQUMxRCxLQUFLLHVCQUF3Qiw2QkFBNkI7SUFDekQsa0JBQUE7SUFDQSxtQkFBQTs7O0FBS0Ysd0JBQTBCO0VBQ3pCLGlDQUFrQyxpQkFBaUI7SUFDbEQsY0FBQTtJQUNBLFdBQUE7SUFDQSxXQUFBO0lDMkJELHdCQUFBO0lBQ0EsMEJBQUE7O0VEL0JBLGlDQUFrQyxpQkFBaUIsMkJBTWxEO0lBQ0MsbUJBQUE7SUFDQSxrQkFBQTs7O0FBUUg7RUFDQztJQUNDLGFBQUE7O0VBR0QsYUFBYztJQUNiLGVBQUE7O0VBR0Q7RUFDQSxXQUFZLGNBQWM7SUFDekIseUJBQUE7OztBQVFGO0VBQ0M7SUFDQyxhQUFBOztFQUdEO0lBQ0MsNkJBQUE7O0VBR0QsV0FBWSxhQUFhO0lBQ3hCLGlCQUFBOztFQURELFdBQVksYUFBYSxHQUV4QjtJQUNDLGVBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTs7RUFL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QVhGLHdCQWNDO0lBQ0Msa0JBQUE7O0VBSUYseUJBQ0M7RUFERCx5QkFFQztJQUNDLGVBQUE7O0VBSUYsU0FDQztJQUNDLGVBQUE7O0VBQ0EsU0FGRCxPQUVFO0lBQ0EsbUJBQUE7O0VBRUQsU0FMRCxPQUtFO0lBQ0EsV0FBQTs7RUFJSCwwQkFBMkI7SUFDMUIsaUJBQUE7SUFDRyxvQkFBQTs7RUFGSiwwQkFBMkIsY0FJdkI7SUFDQyxtQkFBQTs7RUFMTCwwQkFBMkIsY0FPdkI7SUFDQyxnQkFBQTs7RUFHTCxxQ0FDQyxhQUFhO0lBQ1osaUJBQUE7O0VBRkYscUNBQ0MsYUFBYSxNQUVaO0VBSEYscUNBQ0MsYUFBYSxNQUVZO0lBQ3ZCLFdBQUE7SUFDQSxZQUFBOztFQUlILGdCQUFpQixxQkFBcUI7SUFDckMsV0FBQTtJQUNBLGNBQUE7O0VBRUQsU0FBUyxlQUFnQixhQUFhO0lBQ3JDLGlCQUFBOzs7QUFPRjtFQUNDO0lBQ0MsWUFBQTs7RUFHRCxLQUFLLGtCQUFtQjtFQUFTLEtBQUssa0JBQW1CO0lBQ3hELFVBQUE7O0VBRUQsS0FBSyxrQkFBbUI7RUFBUyxLQUFLLGtCQUFtQjtJQUN4RCxTQUFBOztFQUdELDhCQUNDO0lBQ0MsWUFBQTs7RUFGRiw4QkFLQyxxQ0FDQyxNQUFLLElBQUksZUFBZSxJQUFJLGlCQUFpQixJQUFJLGFBQWEsSUFBSSxlQUFlLElBQUksY0FBYyxJQUFJLGNBQWMsSUFBSSxjQUFjLElBQUksZUFBZSxJQUFJLGNBQWMsSUFBSTtJQUMvSyxZQUFBO0lBQ0EsZUFBQTtJQUNBLGlCQUFBOztFQUtIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0lBQ0MsWUFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2UgXHRXb3JkUHJlc3NcbiAqIEBzdWJwYWNrYWdlIFx0U2FsdmF0aW9uXG4gKiBAdmVyc2lvblx0XHQxLjAuNlxuICogXG4gKiBSZXNwb25zaXZlIERlc2lnbiBDU1MgUnVsZXNcbiAqIENyZWF0ZWQgYnkgQ01TTWFzdGVyc1xuICogXG4gKi9cblxuXG5cbkBpbXBvcnQgXCJnZW5lcmFsLmxlc3NcIjtcblxuXG5AbWVkaWEgb25seSBzY3JlZW4ge1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExhcmdlIE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSAobWF4LXdpZHRoOjE3MDBweCkge1xuXHQubmF2aWdhdGlvbiA+IGxpID4gYSAubmF2X2l0ZW1fd3JhcCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxMXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDExcHg7XHRcdFxuXHR9XG5cdC5oZWFkZXJfbWlkIC5zb2NpYWxfd3JhcCB7XG5cdFx0bWFyZ2luOiAwIDAgMCAxMHB4O1xuXHR9XG59XG5AbWVkaWEgQG1vbml0b3JfbGFyZ2Uge1xuXHQuY21zbWFzdGVyc19yZXNwb25zaXZlX3dpZHRoIHtcblx0XHR3aWR0aDoxNDQwcHg7XG5cdH1cblx0XG5cdCNwYWdlIHtcblx0XHQmLmNtc21hc3RlcnNfYm94ZWQge1xuXHRcdFx0d2lkdGg6QGNvbnRfd2lkdGhfbGFyZ2UgKyBAYmxvY2tzX2hvcl9wYWQgKiAyO1xuXHRcdFx0XG5cdFx0XHQjaGVhZGVyLCBcblx0XHRcdCNmb290ZXIge1xuXHRcdFx0XHR3aWR0aDpAY29udF93aWR0aF9sYXJnZSArIEBibG9ja3NfaG9yX3BhZCAqIDI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQucG9zdC1wYXNzd29yZC1mb3JtLFxuXHQuaGVhZGVyX3RvcF9pbm5lciwgXG5cdC5oZWFkZXJfbWlkX2lubmVyLCBcblx0LmhlYWRlcl9ib3RfaW5uZXIsIFxuXHQuY29udGVudF93cmFwLCBcblx0LmhlYWRsaW5lX2lubmVyLCBcblx0LmJvdHRvbV9vdXRlciwgXG5cdC5mb290ZXJfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfdGl0bGVfd3JhcCB7XG5cdFx0d2lkdGg6QGNvbnRfd2lkdGhfbGFyZ2U7XG5cdH1cblx0XG5cdC5oZWFkZXJfbWlkIC5zb2NpYWxfd3JhcCB7XG5cdFx0bWFyZ2luOiAwIDAgMCAxMHB4O1xuXHR9XG5cdFxuXHQubmF2aWdhdGlvbiB1bCB7XG5cdFx0bGVmdDoycHg7XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0bGVmdDoxMDAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmhlYWRlcl9mdWxsd2lkdGgge1xuXHRcdC5oZWFkZXJfbWlkIC5oZWFkZXJfbWlkX2lubmVyIHtcblx0XHRcdHBhZGRpbmctbGVmdDozMHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDozMHB4O1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX3RvcCAuaGVhZGVyX3RvcF9pbm5lciB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MyU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjMlO1xuXHRcdH1cblx0fVx0XG5cdFxuXHQucG9zdC5jbXNtYXN0ZXJzX3Bvc3RfcHV6emxlIC5wdXp6bGVfcG9zdF9jb250ZW50X3dyYXBwZXIgLmNtc21hc3RlcnNfcG9zdF9mb290ZXIsXG5cdC5wb3N0LmNtc21hc3RlcnNfcG9zdF9wdXp6bGUgLnB1enpsZV9wb3N0X2NvbnRlbnRfd3JhcHBlciAucHV6emxlX3Bvc3RfY29udGVudF93cmFwIHtcblx0XHRwYWRkaW5nLWxlZnQ6MjVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OjI1cHg7XG5cdH1cdFxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOjE0NDBweCkge1xuXHQud2lkZ2V0X2N1c3RvbV9wb3N0c190YWJzX2VudHJpZXMgLmNtc21hc3RlcnNfdGFicyAuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbSB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRmbG9hdDpub25lO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0LmJkYjtcblxuXHRcdGEge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHR9XG5cdH1cdFxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWVkaXVtIE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfbWVkaXVtIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MTAyNXB4O1xuXHR9XG5cdFxuXHQuZml4ZWRfaGVhZGVyICNoZWFkZXIge1xuXHRcdHBvc2l0aW9uOmZpeGVkO1xuXHR9XG5cdFxuXHQuaGVhZGVyX3RvcF9vdXRlciwgXG5cdC5oZWFkZXJfdG9wIC50b3BfbmF2X3dyYXAgbmF2IHtcblx0XHRkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGFibGV0IE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfdGFibGV0IHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MTAyNHB4O1xuXHR9XG5cdFxuXHQuaGVhZGxpbmVfb3V0ZXIge1xuXHRcdGJhY2tncm91bmQtYXR0YWNobWVudDpzY3JvbGw7XG5cdH1cblxuXHQuaGVhZGVyX21pZCAuc29jaWFsX3dyYXAgbGkge1xuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdGEge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmdhbGxlcnkge1xuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTksIFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTYge1xuXHRcdFx0LmdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCg2biArIDEpLFxuXHRcdFx0XHQmOm50aC1jaGlsZCg5biArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCgzbiArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTgge1xuXHRcdFx0LmdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gNCkgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCg4biArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCg0biArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTcsIFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTUsIFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTRcdHtcblx0XHRcdC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoNG4gKyAxKSxcblx0XHRcdFx0JjpudGgtY2hpbGQoNW4gKyAxKSxcblx0XHRcdFx0JjpudGgtY2hpbGQoN24gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6Ym90aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJvZmlsZS5ob3Jpem9udGFsIC5jbXNtYXN0ZXJzX3Byb2ZpbGVfaG9yaXpvbnRhbC5vbmVfZm91cnRoOm50aC1jaGlsZCgybisxKSB7XG5cdFx0Y2xlYXI6bGVmdDtcblx0fVxuXHRcblx0I3BhZ2Uge1xuXHRcdCYuY21zbWFzdGVyc19ib3hlZCB7XG5cdFx0XHR3aWR0aDogQGNvbnRfd2lkdGhfZnVsbDtcblx0XHRcdFxuXHRcdFx0I2hlYWRlciwgXG5cdFx0XHQjZm9vdGVyIHtcblx0XHRcdFx0d2lkdGg6IEBjb250X3dpZHRoX2Z1bGw7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZml4ZWRfaGVhZGVyIHtcblx0XHRcdCNoZWFkZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCNtaWRkbGUsIFxuXHRcdFx0Ji5lbmFibGVfaGVhZGVyX3RvcCAjbWlkZGxlLCBcblx0XHRcdCYuZW5hYmxlX2hlYWRlcl9ib3R0b20gI21pZGRsZSwgXG5cdFx0XHQmLmVuYWJsZV9oZWFkZXJfdG9wLmVuYWJsZV9oZWFkZXJfYm90dG9tICNtaWRkbGUge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaGVhZGVyX21pZCAuc29jaWFsX3dyYXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQjaGVhZGVyIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcblx0XHRuYXYge1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRcblx0XHRcdGRpdiwgXG5cdFx0XHR1bCwgXG5cdFx0XHRsaSwgXG5cdFx0XHRhLCBcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRcdHZpc2liaWxpdHk6dmlzaWJsZTtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdGxlZnQ6YXV0bztcblx0XHRcdFx0cmlnaHQ6YXV0bztcblx0XHRcdFx0dG9wOmF1dG87XG5cdFx0XHRcdGJvdHRvbTphdXRvO1xuXHRcdFx0XHQudGFsO1xuXHRcdFx0XHQuYmQoMCk7XG5cdFx0XHRcdC5jbDtcblx0XHRcdFx0Lm92aDtcblx0XHRcdFx0LmJkcnMoMCk7XG5cdFx0XHRcdC5vcCgxKTtcblx0XHRcdFx0LmJ4c2hfbm9uZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0ZGl2LCBcblx0XHRcdHVsLCBcblx0XHRcdGxpLCBcblx0XHRcdGEge1xuXHRcdFx0XHQmOmJlZm9yZSwgXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubWVudS1pdGVtLW1lZ2EtZGVzY3JpcHRpb24tY29udGFpbmVyIHtcblx0XHRcdFx0cGFkZGluZzoxMHB4IDE1cHg7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGxpIHtcblx0XHRcdFx0LmJkdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5wb3N0LXBhc3N3b3JkLWZvcm0sXG5cdC5oZWFkZXJfdG9wX2lubmVyLCBcblx0LmhlYWRlcl9taWRfaW5uZXIsIFxuXHQuaGVhZGVyX2JvdF9pbm5lciwgXG5cdC5jb250ZW50X3dyYXAsIFxuXHQuaGVhZGxpbmVfaW5uZXIsIFxuXHQuYm90dG9tX291dGVyLCBcblx0LmZvb3Rlcl9pbm5lciwgXG5cdC5jbXNtYXN0ZXJzX3Jvd19pbm5lciwgXG5cdC5jbXNtYXN0ZXJzX3Jvd190aXRsZV93cmFwIHtcblx0XHR3aWR0aDogQGNvbnRfd2lkdGhfZnVsbDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfY29sdW1uIHtcblx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcm93X2NvbHVtbnNfYmVoYXZpb3IgJiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdCYub25lX2ZpcnN0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHR9XG5cdH1cblx0XG5cdC5vbmVfZmlmdGgsIFxuXHQub25lX2ZvdXJ0aCwgXG5cdC50aHJlZV9mb3VydGgge1xuXHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Jvd19ub19tYXJnaW4gPiAuY21zbWFzdGVyc19yb3dfbWFyZ2luIHtcblx0XHQ+IC5vbmVfZmlmdGgsIFxuXHRcdD4gLm9uZV9mb3VydGgsIFxuXHRcdD4gLnRocmVlX2ZvdXJ0aCB7XG4gXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSwgMik7XG4gXHRcdH1cbiBcdH1cblx0XG5cdC5jbXNtYXN0ZXJzXzE0MTQxNDE0IHtcblx0XHQ+IC5jbXNtYXN0ZXJzX2NvbHVtbjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdFx0XHRjbGVhcjpsZWZ0O1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfMTIxNDE0LCBcblx0LmNtc21hc3RlcnNfMTQxNDEyIHtcblx0XHQuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYge1xuXHRcdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRjbGVhcjpib3RoO1xuXHRcdH1cblx0fVxuXG5cdC5jbXNtYXN0ZXJzX3Jvd19ub19tYXJnaW4ge1xuXHRcdD4gLmNtc21hc3RlcnNfMTIxNDE0LCBcblx0XHQ+IC5jbXNtYXN0ZXJzXzE0MTQxMiB7XG5cdFx0XHQ+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUsIDIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfMTQxMjE0IHtcblx0XHQuY21zbWFzdGVyc19jb2x1bW4ub25lX2ZvdXJ0aCwgXG5cdFx0LmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFx0XHRcblx0LmNtc21hc3RlcnNfcm93X25vX21hcmdpbiB7XG5cdFx0PiAuY21zbWFzdGVyc18xNDEyMTQge1xuXHRcdFx0PiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2ZvdXJ0aCwgXG5cdFx0XHQ+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMyksIDIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnNpZGViYXJfbGF5b3V0XzE0MTQxNDE0IHtcblx0XHRhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XG5cdFx0XHQmOm50aC1jaGlsZCgybisxKSB7XG5cdFx0XHRcdGNsZWFyOmxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxNDEyIHtcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkLCBcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0XHRcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRjbGVhcjpib3RoO1xuXHRcdH1cblx0fVxuXHRcblx0LnNpZGViYXJfbGF5b3V0XzE0MTIxNCB7XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCwgXG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAzKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdFx0XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMTIxNDE0IHtcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRjbGVhcjpib3RoO1xuXHRcdH1cblx0XHRcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUsIFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LnNpZGViYXJfbGF5b3V0XzM0MTQge1xuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0XHRcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xNDM0IHtcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdFx0XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19zdGF0cy5zdGF0c19tb2RlX2NpcmNsZXMgLmNtc21hc3RlcnNfc3RhdF93cmFwLCBcblx0LmNtc21hc3RlcnNfY291bnRlcnMgLmNtc21hc3RlcnNfY291bnRlcl93cmFwIHtcblx0XHQmLm9uZV9maWZ0aCwgXG5cdFx0Ji5vbmVfZm91cnRoIHtcblx0XHRcdHdpZHRoOjUwJTtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3ByaWNpbmdfdGFibGUge1xuXHRcdCYucHJpY2luZ19mb3VyIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3ByaWNpbmdfaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCgybisxKSB7XG5cdFx0XHRcdFx0LmNsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuaGVhZGVyX3RvcCB7XG5cdFx0Lm92aDtcblx0XHQuY2w7XG5cdFx0XG5cdFx0LmhlYWRlcl90b3BfYnV0IHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0fVxuXHRcdFxuXHRcdC5oZWFkZXJfdG9wX291dGVyIHtcblx0XHRcdGhlaWdodDphdXRvO1xuXHRcdFx0LmRuO1xuXHRcdFx0Lm92aDtcblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl90b3BfaW5uZXIge1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRwYWRkaW5nOjE1cHggMCAwO1xuXHRcdFx0Lm92aDtcblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl90b3BfcmlnaHQge1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0LnNvY2lhbF93cmFwIHtcblx0XHRcdHBhZGRpbmc6MTBweCAwIDIwcHg7XG5cdFx0XHRcblx0XHRcdC5zb2NpYWxfd3JhcF9pbm5lciB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC50b3BfbmF2X3dyYXAge1xuXHRcdFx0Lm92aDtcblx0XHRcdG1hcmdpbi10b3A6LTEwcHg7XG5cdFx0XHRcblx0XHRcdG5hdiB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnJlc3BvbnNpdmVfdG9wX25hdiB7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHdpZHRoOjEwcHg7XG5cdFx0XHRoZWlnaHQ6MTBweDtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRtYXJnaW46MTBweCBhdXRvO1xuXHRcdFx0Lm92aDtcblx0XHRcdFxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdGhlaWdodDoycHg7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHRib3R0b206MDtcblx0XHRcdFx0bGVmdDowO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdHdpZHRoOjEzcHg7XG5cdFx0XHRcdGhlaWdodDoycHg7XG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHRib3R0b206NHB4O1xuXHRcdFx0XHRyaWdodDowO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDonJztcblx0XHRcdFx0d2lkdGg6MTNweDtcblx0XHRcdFx0aGVpZ2h0OjJweDtcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTo4cHg7XG5cdFx0XHRcdGxlZnQ6MDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHQub3AoMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRib3R0b206MDtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdC1tb3otdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdC1vLXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7XG5cdFx0XHRcdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMDtcblx0XHRcdFx0XHQtbXMtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7XG5cdFx0XHRcdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7XG5cdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJvdHRvbTowO1xuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdC1tcy10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdFx0LW8tdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MCAwO1xuXHRcdFx0XHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjowIDA7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybS1vcmlnaW46MCAwO1xuXHRcdFx0XHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46MCAwO1xuXHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46MCAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5oZWFkZXJfdG9wX2xlZnQge1xuXHRcdFx0cGFkZGluZzoxMHB4IDAgMjVweDtcblx0XHRcdFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm1ldGFfd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIgLnRvcF9saW5lX25hdiB7XG5cdFx0cGFkZGluZzowO1xuXHRcdG1hcmdpbjowIDAgMTVweDtcblx0XHRcblx0XHQubmF2X2l0ZW1fd3JhcCB7XG5cdFx0XHRwYWRkaW5nOjVweCAwO1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0bGkgbGkge1xuXHRcdFx0Lm5hdl9pdGVtX3dyYXAge1xuXHRcdFx0XHQmOmJlZm9yZSwgXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6J1xcMDBhMFxcMjAxNFxcMDBhMCc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHQubmF2X2l0ZW1fd3JhcCB7XG5cdFx0XHRcdFx0JjpiZWZvcmUsIFxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDonXFwwMGEwXFwyMDEzXFwwMGEwJztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIgLmhlYWRlcl9taWQge1xuXHRcdC5vdmg7XG5cdFx0LmNsO1xuXHRcdFxuXHRcdC5oZWFkZXJfbWlkX291dGVyIHtcblx0XHRcdC5vdmg7XG5cdFx0XHRcblx0XHRcdC5lbmFibGVfaGVhZGVyX2JvdHRvbSAmIHtcblx0XHRcdFx0LmJkYigwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl9taWRfaW5uZXIge1xuXHRcdFx0cGFkZGluZzowIEBibG9ja3NfaG9yX3BhZDtcblx0XHRcdFxuXHRcdFx0LmVuYWJsZV9oZWFkZXJfY2VudGVyZWQgJiB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHRcdHBhZGRpbmctdG9wOjIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5sb2dvX3dyYXAge1xuXHRcdFx0LmVuYWJsZV9oZWFkZXJfY2VudGVyZWQgJiB7XG5cdFx0XHRcdG1hcmdpbjowIGF1dG8gMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnJlc3BfbWlkX25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRtYXJnaW46IDAgMTVweCAyMHB4IDIwcHg7XG5cdFx0XHRcblx0XHRcdC5lbmFibGVfaGVhZGVyX2NlbnRlcmVkICYge1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246dG9wO1xuXHRcdFx0XHRoZWlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XHRtYXJnaW46MCA4cHggMjBweDtcblx0XHRcdFx0XG5cdFx0XHRcdC5yZXNwX21pZF9uYXZfb3V0ZXIge1xuXHRcdFx0XHRcdC50YWM7XG5cdFx0XHRcdFx0aGVpZ2h0OjQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LnJlc3BvbnNpdmVfbmF2IHtcblx0XHRcdFx0d2lkdGg6MTRweDtcblx0XHRcdFx0aGVpZ2h0OjE2cHg7XG5cdFx0XHRcdC5vdmg7XG5cdFx0XHRcdFxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDoycHg7XG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0XHRib3R0b206MDtcblx0XHRcdFx0XHRsZWZ0OjA7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OicnO1xuXHRcdFx0XHRcdHdpZHRoOjE4cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OjJweDtcblx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0XHRib3R0b206NnB4O1xuXHRcdFx0XHRcdHJpZ2h0OjA7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdFx0d2lkdGg6MThweDtcblx0XHRcdFx0XHRoZWlnaHQ6MnB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHRcdGJvdHRvbToxMnB4O1xuXHRcdFx0XHRcdGxlZnQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0Lm9wKDApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRib3R0b206MDtcblx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0XHQtbW96LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdFx0LW8tdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcblx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7XG5cdFx0XHRcdFx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46MTAwJSAwO1xuXHRcdFx0XHRcdFx0LW1zLXRyYW5zZm9ybS1vcmlnaW46MTAwJSAwO1xuXHRcdFx0XHRcdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRib3R0b206MDtcblx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdFx0LW1vei10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdFx0XHQtbXMtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdFx0LW8tdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDtcblx0XHRcdFx0XHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjowIDA7XG5cdFx0XHRcdFx0XHQtbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7XG5cdFx0XHRcdFx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOjAgMDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46MCAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQubWlkX25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCAtQGJsb2Nrc19ob3JfcGFkO1xuXHRcdFx0dmlzaWJpbGl0eTp2aXNpYmxlO1xuXHRcdFx0Lm92aDtcblx0XHRcdC5jbDtcblx0XHRcdC5vcCgxKTtcblx0XHRcdFxuXHRcdFx0bmF2IHtcblx0XHRcdFx0LmRuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I2hlYWRlciAuaGVhZGVyX2JvdCB7XG5cdFx0Lm92aDtcblx0XHQuY2w7XG5cdFx0XG5cdFx0LmhlYWRlcl9ib3Rfb3V0ZXIge1xuXHRcdFx0Lm92aDtcblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl9ib3RfaW5uZXIge1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdH1cblx0XHRcblx0XHQuYm90X25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdHZpc2liaWxpdHk6dmlzaWJsZTtcblx0XHRcdC5vdmg7XG5cdFx0XHQuY2w7XG5cdFx0XHQub3AoMSk7XG5cdFx0XHRcblx0XHRcdG5hdiB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIge1xuXHRcdCYuaGVhZGVyX2Z1bGx3aWR0aCB7XG5cdFx0XHQuaGVhZGVyX3RvcF9pbm5lciB7XG5cdFx0XHRcdHBhZGRpbmc6MTVweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5uYXZpZ2F0aW9uIHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFxuXHRcdFx0Lm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6NDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRhIHtcblx0XHRcdFx0cGFkZGluZzoxMHB4IDIwcHggMTBweCAyMHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRsaSBsaSB7XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjcwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDo5MHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubmF2X2l0ZW1fd3JhcCB7XG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5uYXZfdGl0bGUge1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246Ym90dG9tO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubmF2X3RhZyB7XG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRcdHBhZGRpbmc6MCA1cHg7XG5cdFx0XHRcdG1hcmdpbjowIDAgMCAxMHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubmF2X3N1YnRpdGxlIHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfcmVzcF9uYXZfdG9nZ2xlIHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0XHR3aWR0aDo0MHB4O1xuXHRcdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHR0b3A6MDtcblx0XHRcdFx0cmlnaHQ6MDtcblx0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0XHR3aWR0aDoyMHB4O1xuXHRcdFx0XHRcdGhlaWdodDoyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZToxOHB4O1xuXHRcdFx0XHRcdHJpZ2h0OjE1cHg7XG5cdFx0XHRcdFx0dG9wOjUwJTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOi0xMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQubWVudS1pdGVtLW1lZ2EtY29udGFpbmVyIHtcblx0XHRcdFx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRsZWZ0OmF1dG8gIWltcG9ydGFudDtcblx0XHRcdFx0cmlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcXVvdGVzX2dyaWQucXVvdGVfdHdvIC5jbXNtYXN0ZXJzX3F1b3RlIC5jbXNtYXN0ZXJzX3F1b3RlX2NvbnRlbnQge1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc190YWJzLnRhYnNfbW9kZV90YWIgLmNtc21hc3RlcnNfdGFic19saXN0X2l0ZW0gYSB7XG5cdFx0cGFkZGluZy1yaWdodDozMHB4O1xuXHRcdHBhZGRpbmctbGVmdDozMHB4O1xuXHRcdFxuXHRcdCZbY2xhc3NePVwiY21zbWFzdGVycy1pY29uLVwiXSwgXG5cdFx0JltjbGFzc149XCJjbXNtYXN0ZXJzX3RoZW1lX2ljb25fXCJdIHtcblx0XHRcdHBhZGRpbmctbGVmdDo1MHB4O1xuXHRcdFx0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGxlZnQ6MTdweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cdFxuXG5cdC5jbXNtYXN0ZXJzX21haWxwb2V0X2Zvcm0ge1xuXHRcdC53aWRnZXRfd3lzaWphLFxuXHRcdGZvcm0ubWFpbHBvZXRfZm9ybSB7XG5cdFx0XHQuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYgJixcblx0XHRcdC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfdGhpcmQgJixcblx0XHRcdC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfZm91cnRoICYge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cdFx0XHRcblx0XHR9XG5cblx0XHQud3lzaWphLXBhcmFncmFwaCxcblx0XHQubWFpbHBvZXRfcGFyYWdyYXBoIHtcblx0XHRcdC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiAmLFxuXHRcdFx0LmNtc21hc3RlcnNfY29sdW1uLm9uZV90aGlyZCAmLFxuXHRcdFx0LmNtc21hc3RlcnNfY29sdW1uLm9uZV9mb3VydGggJiB7XG5cdFx0XHRcdG1pbi13aWR0aDogYXV0bztcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcdFRhYmxldCBNb25pdG9yIDk1MFxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBAbW9uaXRvcl90YWJsZXRfOTUwIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6OTUwcHg7XG5cdH1cblx0XG5cdC5jb250ZW50X3dyYXAge1xuXHRcdCYubF9zaWRlYmFyLCBcblx0XHQmLnJfc2lkZWJhciB7XG5cdFx0XHQuY21zbWFzdGVyc19yb3cge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jb250ZW50LCBcblx0LnNpZGViYXIge1xuXHRcdHdpZHRoOiBAY29udF93aWR0aF9mdWxsO1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdHBhZGRpbmctcmlnaHQ6MDtcblx0fVxuXHRcblx0LnNpZGViYXIge1xuXHRcdC5iZHQ7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX29wZW5fcHJvamVjdCB7XG5cdFx0LnByb2plY3RfY29udGVudCB7XG5cdFx0XHQmLndpdGhfc2lkZWJhciB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5wcm9qZWN0X3NpZGViYXIge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6MDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX29wZW5fcHJvZmlsZSB7XG5cdFx0LnByb2ZpbGVfY29udGVudCB7XG5cdFx0XHQmLndpdGhfc2lkZWJhciB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5wcm9maWxlX3NpZGViYXIge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6MDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3F1b3Rlc19ncmlkIHtcblx0XHQmLnF1b3RlX3RocmVlLFxuXHRcdCYucXVvdGVfZm91ciB7XG5cdFx0XHQuY21zbWFzdGVyc19xdW90ZV9pbm5lciB7XG5cdFx0XHRcdHBhZGRpbmc6MCAyNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY21zbWFzdGVyc19mb290ZXJfZGVmYXVsdCAuZm9vdGVyX25hdiA+IGxpIHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0LmNtc21hc3RlcnNfaWNvbl9saXN0X2l0ZW1zLmNtc21hc3RlcnNfaWNvbl9saXN0X3R5cGVfYmxvY2suY21zbWFzdGVyc19pY29uX2xpc3RfcG9zX2xlZnQgLmNtc21hc3RlcnNfaWNvbl9saXN0X2ljb25fd3JhcCB7XG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNtYWxsIFRhYmxldCBNb25pdG9yXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX3RhYmxldF9zbWFsbCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjc2OHB4O1xuXHR9XG5cdFxuXHQjcGFnZSAuaGVhZGxpbmVfb3V0ZXIge1xuXHRcdC5oZWFkbGluZV9pbm5lciB7XG5cdFx0XHRwYWRkaW5nOjIwcHggMDtcblx0XHRcdFxuXHRcdFx0LmhlYWRsaW5lX2FsaWduZXIge1xuXHRcdFx0XHQuZG47XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5oZWFkbGluZV90ZXh0IHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblxuXHRcdFx0LmhlYWRsaW5lX3RleHRfd3JhcCB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQjcGFnZSAuY21zbWFzdGVyc19icmVhZGNydW1icyB7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0XHQudGFjO1xuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2JyZWFkY3J1bWJzX2FsaWduZXIge1xuXHRcdFx0LmRuO1xuXHRcdH1cblx0fVxuXHRcblx0LmdhbGxlcnkge1xuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLThcdHtcblx0XHRcdC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoNG4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6Ym90aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jbXNtYXN0ZXJzX2NvbHVtbiB7IFxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQub25lX2ZpcnN0LCBcblx0Lm9uZV9oYWxmLCBcblx0Lm9uZV90aGlyZCwgXG5cdC50d29fdGhpcmQsIFxuXHQub25lX2ZvdXJ0aCwgXG5cdC5vbmVfZmlmdGgsIFxuXHQudGhyZWVfZm91cnRoLCBcblx0LmNtc21hc3RlcnNfMTIxNDE0IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiwgXG5cdC5jbXNtYXN0ZXJzXzE0MTQxMiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYsIFxuXHQuY21zbWFzdGVyc18xNDEyMTQgLmNtc21hc3RlcnNfY29sdW1uLm9uZV9mb3VydGgsIFxuXHQuY21zbWFzdGVyc18xNDEyMTQgLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0Y2xlYXI6Ym90aDtcblx0XHRcblx0XHQuY21zbWFzdGVyc19yb3dfY29sdW1uc19iZWhhdmlvciAmIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX2NvbHVtbl9pbm5lciB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Jvd19ub19tYXJnaW4ge1xuXHRcdD4gLmNtc21hc3RlcnNfcm93X21hcmdpbiB7XG5cdFx0XHQ+IC5vbmVfZmlyc3QsIFxuXHRcdFx0PiAub25lX2hhbGYsIFxuXHRcdFx0PiAub25lX3RoaXJkLCBcblx0XHRcdD4gLnR3b190aGlyZCwgXG5cdFx0XHQ+IC5vbmVfZm91cnRoLCBcblx0XHRcdD4gLm9uZV9maWZ0aCwgXG5cdFx0XHQ+IC50aHJlZV9mb3VydGgge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgxMDAlLCAyKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0PiAuY21zbWFzdGVyc18xMjE0MTQgPiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYsIFxuXHRcdD4gLmNtc21hc3RlcnNfMTQxNDEyID4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmLCBcblx0XHQ+IC5jbXNtYXN0ZXJzXzE0MTIxNCA+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfZm91cnRoLCBcblx0XHQ+IC5jbXNtYXN0ZXJzXzE0MTIxNCA+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlLCAyKTtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Jvd19tYXJnaW4uY21zbWFzdGVyc19yb3dfY29sdW1uc19iZWhhdmlvciB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRcblx0XHQuY21zbWFzdGVyc19mZWF0dXJlZF9ibG9jayAuZmVhdHVyZWRfYmxvY2tfdGV4dDplbXB0eSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbToxMDAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcm93X25vX21hcmdpbiB7XG5cdFx0PiAuY21zbWFzdGVyc19yb3dfbWFyZ2luIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxNDE0MTQsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxNDEyLCBcblx0LnNpZGViYXJfbGF5b3V0XzE0MTIxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xMjE0MTQsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTMxMzEzLCBcblx0LnNpZGViYXJfbGF5b3V0XzM0MTQsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQzNCwgXG5cdC5zaWRlYmFyX2xheW91dF8yMzEzLCBcblx0LnNpZGViYXJfbGF5b3V0XzEzMjMsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTIxMiB7XG5cdFx0YXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZmVhdHVyZWRfYmxvY2sgLmZlYXR1cmVkX2Jsb2NrX2lubmVyIHtcblx0XHR3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3N0YXRzLnN0YXRzX21vZGVfY2lyY2xlcyAuY21zbWFzdGVyc19zdGF0X3dyYXAsIFxuXHQuY21zbWFzdGVyc19jb3VudGVycyAuY21zbWFzdGVyc19jb3VudGVyX3dyYXAge1xuXHRcdCYub25lX3RoaXJkIHtcblx0XHRcdHdpZHRoOjUwJTtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3ByaWNpbmdfdGFibGUge1xuXHRcdCYucHJpY2luZ190aHJlZSB7XG5cdFx0XHQuY21zbWFzdGVyc19wcmljaW5nX2l0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XHQuY2w7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19jbGllbnRzX2dyaWQge1xuXHRcdCYuY2xpZW50c19maXZlLCBcblx0XHQmLmNsaWVudHNfZm91ciwgXG5cdFx0Ji5jbGllbnRzX3RocmVlLCBcblx0XHQmLmNsaWVudHNfdHdvIHtcblx0XHRcdC5jbXNtYXN0ZXJzX2NsaWVudHNfaXRlbSB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5oZWFkZXJfdG9wIC5tZXRhX3dyYXAgPiAqIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdG1hcmdpbjowO1xuXHRcdC50YWM7XG5cdH1cblx0XG5cdCNoZWFkZXIgLmhlYWRlcl9taWQge1xuXHRcdC5oZWFkZXJfbWlkX2lubmVyIHtcblx0XHRcdHBhZGRpbmctdG9wOjIwcHg7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQubG9nb193cmFwIHtcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0bWFyZ2luOjAgYXV0byAyMHB4O1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQubG9nbyB7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOnN0YXRpYztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Lm1pZF9zZWFyY2hfYnV0X3dyYXAsIFxuXHRcdFx0LnJlc3BfbWlkX25hdl93cmFwIHtcdFx0XHRcdFxuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246dG9wO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubWlkX3NlYXJjaF9idXRfd3JhcCB7XG5cdFx0XHRcdGhlaWdodDo0MHB4O1xuXHRcdFx0XHRtYXJnaW46MCA4cHggMjBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LnNvY2lhbF93cmFwIHtcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOnRvcDtcblx0XHRcdFx0bWFyZ2luOjAgOHB4IDIwcHg7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdFxuXHRcdFx0XHQuc29jaWFsX3dyYXBfaW5uZXIge1xuXHRcdFx0XHRcdC50YWM7XG5cdFx0XHRcdFx0aGVpZ2h0OjQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LnNsb2dhbl93cmFwIHtcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOnRvcDtcblx0XHRcdFx0bWFyZ2luOjAgOHB4IDIwcHg7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdFxuXHRcdFx0XHQuc2xvZ2FuX3dyYXBfaW5uZXIge1xuXHRcdFx0XHRcdGhlaWdodDo0MHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0XHQudGFjO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQuc2xvZ2FuX3dyYXBfdGV4dCB7XG5cdFx0XHRcdFx0LnRhYztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQucmVzcF9taWRfbmF2X291dGVyIHtcblx0XHRcdFx0aGVpZ2h0OjQwcHg7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHRcdFxuXHRcdFx0XHQucmVzcG9uc2l2ZV9uYXYge1xuXHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9mb3JtIHtcblx0XHQuY21zbWFzdGVyc19oZWFkZXJfc2VhcmNoX2Zvcm1fZmllbGQge1xuXHRcdFx0aW5wdXQ6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWhpZGRlbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1yZXNldF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9Y29sb3JdKTpub3QoW3R5cGU9cmFuZ2VdKSB7XG5cdFx0XHRcdGhlaWdodDo1MHB4O1xuXHRcdFx0XHRmb250LXNpemU6NDBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6NTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5lcnJvciAuZXJyb3JfdGl0bGUge1xuXHRcdGZvbnQtc2l6ZToxODBweDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZm9vdGVyX2RlZmF1bHQge1xuXHRcdC5mb290ZXJfbmF2IHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQ+IGxpIHtcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19mb290ZXJfc21hbGwge1xuXHRcdC5mb290ZXJfbmF2X3dyYXAge1xuXHRcdFx0cGFkZGluZzowIDAgMTBweDtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcblx0XHRcdG5hdiA+IGRpdiB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmZvb3Rlcl9uYXYge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdC50YWM7XG5cdFx0XHRcblx0XHRcdD4gbGkge1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnNvY2lhbF93cmFwIHtcblx0XHRcdHBhZGRpbmc6MCAwIDEwcHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XG5cdFx0XHQuc29jaWFsX3dyYXBfaW5uZXIge1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5mb290ZXJfY3VzdG9tX2h0bWxfd3JhcCB7XG5cdFx0XHRwYWRkaW5nOjAgMCAxMHB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFxuXHRcdFx0LmZvb3Rlcl9jdXN0b21faHRtbCB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5mb290ZXJfY29weXJpZ2h0IHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHR9XG5cdFxuXHQuYmxvZy50aW1lbGluZSB7XG5cdFx0aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC5wb3N0IHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRwYWRkaW5nLXRvcDo0MHB4O1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDtcblx0XHRcdGxlZnQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0cmlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0dG9wOmF1dG8gIWltcG9ydGFudDtcblx0XHRcdGJvdHRvbTphdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHQtbW96LXRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHQtbXMtdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdC1vLXRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy10b3A6MDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYuY21zbWFzdGVyc190aW1lbGluZV9sZWZ0LCBcblx0XHRcdCYuY21zbWFzdGVyc190aW1lbGluZV9yaWdodCB7XG5cdFx0XHRcdC5jbXNtYXN0ZXJzX3RpbWVsaW5lX21hcmdpbiB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6MDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19wb3N0X2RhdGUge1xuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdFx0bGVmdDphdXRvO1xuXHRcdFx0XHRyaWdodDphdXRvO1xuXHRcdFx0XHQudGFsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfaXRlbXNfZmlsdGVyX3dyYXAge1xuXHRcdC5jbXNtYXN0ZXJzX2l0ZW1zX3NvcnRfYmxvY2sge1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2l0ZW1zX3NvcnRfYnV0IHtcblx0XHRcdG1hcmdpbjowIDVweCAyMHB4O1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc19pdGVtc19maWx0ZXJfbGlzdCB7XG5cdFx0XHQudGFjO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJvamVjdF9zb3J0X2Jsb2NrICsgLmNtc21hc3RlcnNfcHJvamVjdF9maWx0ZXJfYmxvY2sgLmNtc21hc3RlcnNfcHJvamVjdF9maWx0ZXJfbGlzdCB7XG5cdFx0LnRhYztcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfY29tbWVudF9pdGVtIC5jbXNtYXN0ZXJzX2NvbW1lbnRfaXRlbV9hdmF0YXIge1xuXHRcdHBhZGRpbmctcmlnaHQ6MjBweDtcblx0fVxuXHRcblx0LnBvc3RfbmF2IHtcblx0XHQuY21zbWFzdGVyc19uZXh0X2Fycm93LFxuXHRcdC5jbXNtYXN0ZXJzX3ByZXZfYXJyb3cge1xuXHRcdFx0d2lkdGg6MzBweDtcblx0XHRcdGhlaWdodDozMHB4O1xuXHRcdFx0XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Zm9udC1zaXplOjdweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0PiBzcGFuIHtcblx0XHRcdCYuY21zbWFzdGVyc19uZXh0X3Bvc3Qge1xuXHRcdFx0XHQucG9zdF9uYXZfc3ViIHtcblx0XHRcdFx0XHRyaWdodDo0NXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjQ1cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0d29yZC13cmFwOmJyZWFrLXdvcmQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5jbXNtYXN0ZXJzX3ByZXZfcG9zdCB7XG5cdFx0XHRcdC5wb3N0X25hdl9zdWIge1xuXHRcdFx0XHRcdGxlZnQ6NDVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjQ1cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0d29yZC13cmFwOmJyZWFrLXdvcmQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Byb2ZpbGVfaG9yaXpvbnRhbCB7XG5cdFx0LmNtc21hc3RlcnNfcHJvZmlsZV9pbWdfd3JhcCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3Byb2ZpbGVfaGVhZGVyIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOjIwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19xdW90ZXNfZ3JpZCB7XG5cdFx0Ji5xdW90ZV90d28sXG5cdFx0Ji5xdW90ZV90aHJlZSxcblx0XHQmLnF1b3RlX2ZvdXIge1xuXHRcdFx0LmNtc21hc3RlcnNfcXVvdGUge1xuXHRcdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc19xdW90ZXNfdmVydCB7XG5cdFx0XHQuZG47XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3F1b3Rlc19saXN0IHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdC5iZCgwKTtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcblx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0LmNtc21hc3RlcnNfcXVvdGU6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdC5iZHQoMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcXVvdGVfY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcXVvdGUge1xuXHRcdFx0cGFkZGluZzozMHB4IDA7XG5cdFx0XHQuYmR0O1xuXHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3F1b3RlX2lubmVyIHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3RhYmxlIHRyIHtcblx0XHR0ZCxcblx0XHR0aCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MjBweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6MjBweDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3RhYnMudGFic19tb2RlX3RvdXIge1xuXHRcdC5jbXNtYXN0ZXJzX3RhYl9pbm5lciB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MjVweDtcblx0XHR9XG5cdFx0XG5cdFx0Ji50YWJzX3Bvc19yaWdodCB7XG5cdFx0XHQuY21zbWFzdGVyc190YWJfaW5uZXIge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjI1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19hcmNoaXZlX3R5cGUgLmNtc21hc3RlcnNfYXJjaGl2ZV9pdGVtX2ltZ193cmFwIHtcblx0XHRtYXJnaW4tcmlnaHQ6MjBweDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfdHdpdHRlcl93cmFwICB7XG5cdFx0LmNtc21hc3RlcnNfdHdpdHRlcl9pdGVtIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQucHVibGlzaGVkIHtcblx0XHRcdFx0bWFyZ2luOjAgMCAxNXB4O1xuXHRcdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJvamVjdF9ncmlkIC5wcm9qZWN0X2ltZ193cmFwIHtcblx0XHR3aWR0aDo3NCU7XG5cdH1cblx0LmNtc21hc3RlcnNfZm9vdGVyX2RlZmF1bHQgLmZvb3Rlcl9uYXYgPiBsaSB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LmNtc21hc3RlcnNfbWFpbHBvZXRfZm9ybXtcblx0XHQgLm1haWxwb2V0X3BhcmFncmFwaCxcblx0XHQgLnd5c2lqYS1wYXJhZ3JhcGgge1xuXHRcdFx0XHRtaW4td2lkdGg6IDI1MHB4O1xuXHRcdCB9XG5cblx0XHQubWFpbHBvZXRfc3VibWl0LFxuXHRcdC53eXNpamEtc3VibWl0LWZpZWxkIHtcblx0XHRcdHBhZGRpbmc6IDAgNDBweDtcblx0XHR9XG5cdH1cbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUYWJsZXQgTW9uaXRvciA2MDBcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfdGFibGV0XzYwMCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjYwMHB4O1xuXHR9XG5cdFxuXHRodG1sLmNtc21hc3RlcnNfaHRtbCB7XG5cdFx0bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG5cdFx0XG5cdFx0Ym9keS5hZG1pbi1iYXIge1xuXHRcdFx0cGFkZGluZy10b3A6NDZweDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Byb2ZpbGVfdmVydGljYWwge1xuXHRcdG1hcmdpbjowO1xuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3Byb2ZpbGVfY29udGVudCxcblx0XHQucHJvZmlsZV9vdXRlciB7XG5cdFx0XHQudGFjO1xuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc19wcm9maWxlX2ltZ193cmFwIHtcblx0XHRcdHBhZGRpbmc6MCAwIDI1cHg7XG5cdFx0XHR3aWR0aDo1MCU7XG5cdFx0XHRtaW4td2lkdGg6MjAwcHg7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQrIC5wcm9maWxlX2lubmVyIHtcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcHJvZmlsZV9oZWFkZXIge1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHRcdFxuXHRcdC5wcm9maWxlX3NvY2lhbF9pY29ucyB7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdH1cblx0XHRcblx0XHQucHJvZmlsZV9zb2NpYWxfaWNvbnNfbGlzdCB7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbjowIDVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3RhYnMudGFic19tb2RlX3RhYiB7XG5cdFx0LmNtc21hc3RlcnNfdGFic19saXN0X2l0ZW0ge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdC5iZGI7XG5cdFx0fVxuXHR9XHRcblx0LmNtc21hc3RlcnNfbWFpbHBvZXRfZm9ybSB7XG5cdFx0LndpZGdldF93eXNpamEsXG5cdFx0Zm9ybS5tYWlscG9ldF9mb3JtIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQud3lzaWphLXBhcmFncmFwaCxcblx0XHRcdC5tYWlscG9ldF9wYXJhZ3JhcGgge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdCAgICB3aWR0aDogMTAwJTtcblx0XHRcdCAgICBtaW4td2lkdGg6IGF1dG87XG5cdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQaG9uZSBNb25pdG9yXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX3Bob25lIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6NTQwcHg7XG5cdH1cblx0XG5cdC5jb250ZW50LFxuXHQuc2lkZWJhciB7XG5cdFx0cGFkZGluZy10b3A6NDBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTo0MHB4O1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19oZWFkZXJfc2VhcmNoX2Zvcm0ge1xuXHRcdGZvcm0ge1xuXHRcdFx0d2lkdGg6MzAwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2hlYWRlcl9zZWFyY2hfZm9ybV9maWVsZCB7XG5cdFx0XHRpbnB1dDpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9aGlkZGVuXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPXJlc2V0XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1jb2xvcl0pOm5vdChbdHlwZT1yYW5nZV0pIHtcblx0XHRcdFx0aGVpZ2h0OjQwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTozMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDo0MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5oZWFkbGluZV9vdXRlciAuaGVhZGxpbmVfaW5uZXIgLmhlYWRsaW5lX3RleHRfd3JhcCB7XG5cdFx0cGFkZGluZzogMCAxMHB4O1xuXHR9XG5cdFxuXHQjcGFnZSAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHtcblx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0Y2xlYXI6Ym90aDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfc3RhdHMuc3RhdHNfbW9kZV9jaXJjbGVzIC5jbXNtYXN0ZXJzX3N0YXRfd3JhcCwgXG5cdC5jbXNtYXN0ZXJzX2NvdW50ZXJzIC5jbXNtYXN0ZXJzX2NvdW50ZXJfd3JhcCB7XG5cdFx0Ji5vbmVfZmlmdGgsIFxuXHRcdCYub25lX2ZvdXJ0aCwgXG5cdFx0Ji5vbmVfdGhpcmQsIFxuXHRcdCYub25lX2hhbGYge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3ByaWNpbmdfdGFibGUge1xuXHRcdCYucHJpY2luZ19mb3VyLCBcblx0XHQmLnByaWNpbmdfdGhyZWUsIFxuXHRcdCYucHJpY2luZ190d28sIFxuXHRcdCYucHJpY2luZ19vbmUge1xuXHRcdFx0LmNtc21hc3RlcnNfcHJpY2luZ19pdGVtIHtcblx0XHRcdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3RhYnMudGFic19tb2RlX3RvdXIge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfdGFic19saXN0IHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbSB7XG5cdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XHQuYmRyO1xuXHRcdFx0XHQuYmRsO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc190YWJzX3dyYXAge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHQuYmQoMCk7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3RhYl9pbm5lciB7XG5cdFx0XHRwYWRkaW5nOjMwcHggMCAwO1xuXHRcdH1cblx0XHRcblx0XHQmLnRhYnNfcG9zX3JpZ2h0IHtcblx0XHRcdC5jbXNtYXN0ZXJzX3RhYnNfd3JhcCB7XG5cdFx0XHRcdC5iZCgwKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfdGFiX2lubmVyIHtcblx0XHRcdFx0cGFkZGluZzozMHB4IDAgMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5hYm91dF9hdXRob3IgLmFib3V0X2F1dGhvcl9hdmF0YXIge1xuXHRcdG1hcmdpbi1yaWdodDoyMHB4O1xuXHR9XG5cdFxuXHQuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0ge1xuXHRcdHdpZHRoOjEwMCU7XG5cdH1cblx0XG5cdC5jb21tZW50bGlzdCAuY2hpbGRyZW4ge1xuXHRcdHBhZGRpbmc6MDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfYXJjaGl2ZV90eXBlIC5jbXNtYXN0ZXJzX2FyY2hpdmVfaXRlbV9pbWdfd3JhcCB7XG5cdFx0d2lkdGg6MjAwcHg7XG5cdFx0bWFyZ2luOjAgMCAyMHB4O1xuXHRcdGZsb2F0Om5vbmU7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2Zvb3Rlcl9kZWZhdWx0IC5zb2NpYWxfd3JhcCBsaSB7XG5cdFx0bWFyZ2luLWxlZnQ6NXB4O1xuXHRcdG1hcmdpbi1yaWdodDo1cHg7XG5cdH1cblx0XG5cdC5wb3N0X25hdiA+IHNwYW4ge1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZy10b3A6MDtcblx0XHR9XG5cdFx0XG5cdFx0LnBvc3RfbmF2X3N1YiB7XG5cdFx0XHQuZG47XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc190d2l0dGVyX3dyYXAge1xuXHRcdC50d3JfaWNvbiB7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfdHdpdHRlcl9pdGVtIHtcblx0XHRcdHBhZGRpbmc6NXB4IDIwcHg7XG5cdFx0XHRtaW4taGVpZ2h0OjA7XG5cdFx0fVxuXHRcdFxuXHRcdC5vd2wtY29udHJvbHMge1xuXHRcdFx0cGFkZGluZzoyMHB4IDAgMXB4O1xuXHRcdH1cblx0XHRcblx0XHQub3dsLWJ1dHRvbnMge1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0fVxuXHR9XG5cblx0LmNtc21hc3RlcnNfbWFpbHBvZXRfZm9ybSB7XG5cdFx0Lm1haWxwb2V0X3N1Ym1pdCxcblx0XHQud3lzaWphLXN1Ym1pdC1maWVsZCB7XG5cdFx0XHRwYWRkaW5nOiAwIDMwcHg7XG5cdFx0fVxuXHR9XG5cblx0LnBvc3RfbmF2IHtcblx0XHQ+IHNwYW4ge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0Ji5jbXNtYXN0ZXJzX3ByZXZfcG9zdCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHQmLmNtc21hc3RlcnNfbmV4dF9wb3N0IHtcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jbXNtYXN0ZXJzX2Zvb3Rlcl9kZWZhdWx0IC5mb290ZXJfaW5uZXIge1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIFx0cGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICBcdC5zb2NpYWxfd3JhcCB7XG4gICAgXHRcdG1hcmdpbjogMzVweCAwIDUwcHg7XG4gICAgXHR9XG4gICAgXHQuZm9vdGVyX2NvcHlyaWdodCB7XG4gICAgXHRcdG1hcmdpbjogNTBweCAwIDA7XG4gICAgXHR9XG5cdH1cdFxuXHQuY21zbWFzdGVyc19xdW90ZXNfc2xpZGVyX3R5cGVfY2VudGVyIHtcblx0XHQub3dsLWJ1dHRvbnMgPiBkaXYge1xuXHRcdFx0bWFyZ2luLXRvcDogLTIxcHg7XG5cdFx0XHQuY21zbWFzdGVyc19wcmV2X2Fycm93LCAuY21zbWFzdGVyc19uZXh0X2Fycm93IHtcblx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1yZXBseS10aXRsZSBzbWFsbCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0LnByb2ZpbGVzLm9wZW5lZC1hcnRpY2xlIC5zaGFyZV9wb3N0cyBhIHtcblx0XHRtYXJnaW46IDAgNXB4IDAgMDtcblx0fVx0XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTbWFsbCBQaG9uZSBNb25pdG9yXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX3Bob25lX3NtYWxsIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MzIwcHg7XG5cdH1cblxuXHQjcGFnZS5jbXNtYXN0ZXJzX2xpcXVpZCAjaGVhZGVyLCAjcGFnZS5jbXNtYXN0ZXJzX2xpcXVpZCAjbWlkZGxlIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdCNwYWdlLmNtc21hc3RlcnNfbGlxdWlkICNib3R0b20sICNwYWdlLmNtc21hc3RlcnNfbGlxdWlkICNmb290ZXIge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9mb3JtIHtcblx0XHRmb3JtIHtcblx0XHRcdHdpZHRoOjIwMHB4O1xuXHRcdH1cblx0XG5cdFx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9mb3JtX2ZpZWxkIHtcblx0XHRcdGlucHV0Om5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9ZmlsZV0pOm5vdChbdHlwZT1oaWRkZW5dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9cmVzZXRdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWNvbG9yXSk6bm90KFt0eXBlPXJhbmdlXSkge1xuXHRcdFx0XHRoZWlnaHQ6MzBweDtcblx0XHRcdFx0Zm9udC1zaXplOjIwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQucG9zdC1wYXNzd29yZC1mb3JtLFxuXHQuaGVhZGVyX3RvcF9pbm5lciwgXG5cdC5oZWFkZXJfbWlkX2lubmVyLCBcblx0LmhlYWRlcl9ib3RfaW5uZXIsIFxuXHQuY29udGVudF93cmFwLCBcblx0LmhlYWRsaW5lX2lubmVyLCBcblx0LmJvdHRvbV9vdXRlciwgXG5cdC5mb290ZXJfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfdGl0bGVfd3JhcCB7XG5cdFx0d2lkdGg6IEBjb250X3dpZHRoX21pbjtcblx0fVxufVxufVxuXG4iLCJcclxuQGlucHV0X3BhZDogMTBweDtcclxuQGlucHV0X2hlaWdodDogNDJweDtcclxuXHJcbkBsaW5lX2hlaWdodF9wYWQ6IDIycHg7XHJcbkBkZWZhdWx0X2xpc3RfdG9wX3BhZDogMTBweDtcclxuQGRlZmF1bHRfbGlzdF9sZWZ0X3BhZDogMjBweDtcclxuQGJsb2Nrc19ob3JfcGFkOiAyMHB4O1xyXG5AY29udF9zaWRlYmFyX3BhZDogNDBweDtcclxuQGNvbnRfdmVydF9wYWQ6IDYwcHg7XHJcblxyXG5AYmRyc193aWR0aDogNHB4O1xyXG5cclxuQGJ1dF9iZHJzX3dpZHRoOiAyMnB4O1xyXG5AYnV0X2JkX3dpZHRoOiAxcHg7XHJcblxyXG5AY29sX21hcjogMS43JTtcclxuXHJcbkByZXNwX2Jsb2Nrc19wYWQ6IDU4LjE0JTtcclxuXHJcbkBwcmVsb2FkZXJfYmxvZ19kZWZhdWx0X3BhZDogNTguMTQlO1xyXG5AcHJlbG9hZGVyX2Jsb2dfbWFzb25yeV9wYWQ6IDcyLjQxJTtcclxuQHByZWxvYWRlcl9ibG9nX3RpbWVsaW5lX3BhZDogNTguMTQlO1xyXG5AcHJlbG9hZGVyX29wZW5fcG9zdF9wYWQ6IDU4LjE0JTtcclxuQHByZWxvYWRlcl9wb3J0Zm9saW9fZ3JpZF9wYWQ6IDEwMCU7XHJcbkBwcmVsb2FkZXJfb3Blbl9wcm9qZWN0X3BhZDogNTguMTQlO1xyXG5AcHJlbG9hZGVyX3Bvc3RzX3NsaWRlcl9wYWQ6IDcyLjQxJTtcclxuQHByZWxvYWRlcl9hcmNoaXZlc19wYWQ6IDEwMCU7XHJcblxyXG5Ac2lkZWJhcl93aWR0aDogMjYlO1xyXG5AY29udGVudF93aWR0aDogMTAwJSAtIEBzaWRlYmFyX3dpZHRoO1xyXG5cclxuQG1pZF9uYXZfZHJvcGRvd25fd2lkdGg6IDE4NHB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl9wYWRfdG9wOiAxMHB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl9wYWRfYm90OiAxMHB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl92ZXJ0X21hcl9zdGFydDogMjBweDtcclxuQG1pZF9uYXZfZHJvcGRvd25fdmVydF9tYXJfZW5kOiAxcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfc3RhcnQ6IDIwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfZW5kOiAxMnB4O1xyXG5cclxuQGJvdF9uYXZfZHJvcGRvd25fd2lkdGg6IDE4NHB4O1xyXG5AYm90X25hdl9kcm9wZG93bl9wYWRfdG9wOiAxMHB4O1xyXG5AYm90X25hdl9kcm9wZG93bl9wYWRfYm90OiAxMHB4O1xyXG5AYm90X25hdl9kcm9wZG93bl92ZXJ0X21hcl9zdGFydDogMjBweDtcclxuQGJvdF9uYXZfZHJvcGRvd25fdmVydF9tYXJfZW5kOiAxcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfc3RhcnQ6IDIwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfZW5kOiAxMnB4O1xyXG5cclxuQHRvcF9uYXZfZHJvcGRvd25fd2lkdGg6IDEyNnB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl9wYWRfdG9wOiAxMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl9wYWRfYm90OiAxMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl92ZXJ0X21hcl9zdGFydDogMjBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25fdmVydF9tYXJfZW5kOiAxcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfc3RhcnQ6IDIwcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfZW5kOiAxcHg7XHJcblxyXG5AY29udF93aWR0aF9kZWY6IDk4MHB4O1xyXG5AY29udF93aWR0aF9sYXJnZTogMTIwMHB4O1xyXG5AY29udF93aWR0aF9mdWxsOiAxMDAlO1xyXG5AY29udF93aWR0aF9taW46IDMyMHB4O1xyXG5cclxuQGlucHV0X3RleHQ6IGUoJ2lucHV0Om5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9ZmlsZV0pOm5vdChbdHlwZT1oaWRkZW5dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9cmVzZXRdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWNvbG9yXSk6bm90KFt0eXBlPXJhbmdlXSknKTtcclxuXHJcbkBtb25pdG9yX2xhcmdlOiB+JyhtaW4td2lkdGg6IDE0NDBweCknO1xyXG5AbW9uaXRvcl9tZWRpdW06IH4nKG1pbi13aWR0aDogMTAyNXB4KSc7XHJcbkBtb25pdG9yX3RhYmxldDogficobWF4LXdpZHRoOiAxMDI0cHgpJztcclxuQG1vbml0b3JfdGFibGV0Xzk1MDogficobWF4LXdpZHRoOiA5NTBweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfc21hbGw6IH4nKG1heC13aWR0aDogNzY4cHgpJztcclxuQG1vbml0b3JfdGFibGV0XzYwMDogficobWF4LXdpZHRoOiA2MDBweCknO1xyXG5AbW9uaXRvcl9waG9uZTogficobWF4LXdpZHRoOiA1NDBweCknO1xyXG5AbW9uaXRvcl9waG9uZV9zbWFsbDogficobWF4LXdpZHRoOiAzMjBweCknO1xyXG5cclxuXHJcblxyXG4uZmwgKCkge1xyXG5cdGZsb2F0OmxlZnQ7XHJcbn1cclxuXHJcbi5mciAoKSB7XHJcblx0ZmxvYXQ6cmlnaHQ7XHJcbn1cclxuXHJcbi5kbiAoKSB7XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4udGFsICgpIHtcclxuXHR0ZXh0LWFsaWduOmxlZnQ7XHJcbn1cclxuXHJcbi50YWMgKCkge1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4udGFyICgpIHtcclxuXHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG59XHJcblxyXG4uY2wgKCkge1xyXG5cdGNsZWFyOmJvdGg7XHJcbn1cclxuXHJcbi5vdmggKCkge1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLm0wYSAoKSB7XHJcblx0bWFyZ2luOjAgYXV0bztcclxufVxyXG5cclxuLmJkIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXdpZHRoOkB3O1xyXG5cdGJvcmRlci1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkdCAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci10b3Atd2lkdGg6QHc7XHJcblx0Ym9yZGVyLXRvcC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkYiAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1ib3R0b20td2lkdGg6QHc7XHJcblx0Ym9yZGVyLWJvdHRvbS1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkciAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDpAdztcclxuXHRib3JkZXItcmlnaHQtc3R5bGU6QHQ7XHJcbn1cclxuXHJcbi5iZGwgKEB3OjFweDsgQHQ6c29saWQpIHtcclxuXHRib3JkZXItbGVmdC13aWR0aDpAdztcclxuXHRib3JkZXItbGVmdC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmNvbG9yX3doaXRlX29wYWNpdHkgKEBvcDouNSkge1xyXG5cdGNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgQG9wKTtcclxufVxyXG5cclxuLmJnX3doaXRlX29wYWNpdHkgKEBvcDouNSkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCBAb3ApO1xyXG59XHJcblxyXG4uZnVsbHdpZHRoX2luX2Jsb2NrICgpIHtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdGhlaWdodDoxMDAlO1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdHRvcDowO1xyXG5cdGxlZnQ6MDtcclxufVxyXG5cclxuLm9wIChAb3A6LjUpIHtcclxuXHRvcGFjaXR5OkBvcDtcclxufVxyXG5cclxuLmRpc3BsYXlfZmxleCAoKSB7XHJcblx0ZGlzcGxheTotd2Via2l0LWZsZXg7XHJcblx0ZGlzcGxheTotbW96LWZsZXg7XHJcblx0ZGlzcGxheTotbXMtZmxleDtcclxuXHRkaXNwbGF5OmZsZXg7XHJcbn1cclxuXHJcbi5kaXNwbGF5X2lubGluZV9mbGV4ICgpIHtcclxuXHRkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTotbW96LWlubGluZS1mbGV4O1xyXG5cdGRpc3BsYXk6LW1zLWlubGluZS1mbGV4O1xyXG5cdGRpc3BsYXk6aW5saW5lLWZsZXg7XHJcbn1cclxuXHJcbi5mbGV4X2RpcmVjdGlvbiAoQGQ6cm93KSB7XHJcblx0LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpAZDtcclxuXHQtbW96LWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdC1tcy1mbGV4LWRpcmVjdGlvbjpAZDtcclxuXHRmbGV4LWRpcmVjdGlvbjpAZDtcclxufVxyXG5cclxuLmZsZXhfd3JhcCAoQGQ6bm93cmFwKSB7XHJcblx0LXdlYmtpdC1mbGV4LXdyYXA6QGQ7XHJcblx0LW1vei1mbGV4LXdyYXA6QGQ7XHJcblx0LW1zLWZsZXgtd3JhcDpAZDtcclxuXHRmbGV4LXdyYXA6QGQ7XHJcbn1cclxuXHJcbi5qdXN0aWZ5X2NvbnRlbnQgKEBkOmZsZXgtc3RhcnQpIHtcclxuXHQtd2Via2l0LWp1c3RpZnktY29udGVudDpAZDtcclxuXHQtbW96LWp1c3RpZnktY29udGVudDpAZDtcclxuXHQtbXMtanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdGp1c3RpZnktY29udGVudDpAZDtcclxufVxyXG5cclxuLmFsaWduX2l0ZW1zIChAZDpzdHJldGNoKSB7XHJcblx0LXdlYmtpdC1hbGlnbi1pdGVtczpAZDtcclxuXHQtbW96LWFsaWduLWl0ZW1zOkBkO1xyXG5cdC1tcy1hbGlnbi1pdGVtczpAZDtcclxuXHRhbGlnbi1pdGVtczpAZDtcclxufVxyXG5cclxuLmFsaWduX2NvbnRlbnQgKEBkOnN0cmV0Y2gpIHtcclxuXHQtd2Via2l0LWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0LW1vei1hbGlnbi1jb250ZW50OkBkO1xyXG5cdC1tcy1hbGlnbi1jb250ZW50OkBkO1xyXG5cdGFsaWduLWNvbnRlbnQ6QGQ7XHJcbn1cclxuXHJcbi5jbF9hZnRlciAoKSB7XHJcblx0Y29udGVudDonLic7XHJcblx0ZGlzcGxheTpibG9jaztcclxuXHRjbGVhcjpib3RoO1xyXG5cdGhlaWdodDowO1xyXG5cdHZpc2liaWxpdHk6aGlkZGVuO1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLnZhbGlnbl9hZnRlciAoKSB7XHJcblx0Y29udGVudDonJztcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0aGVpZ2h0OjEwMCU7XHJcbn1cclxuXHJcbi5wb3NfYWJzIChAdzoxZW07IEBoOjFlbTsgQGw6MDsgQHI6MDsgQHQ6MDsgQGI6MCkge1xyXG5cdHdpZHRoOkB3O1xyXG5cdGhlaWdodDpAaDtcclxuXHRtYXJnaW46YXV0byAhaW1wb3J0YW50O1xyXG5cdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdGxlZnQ6QGw7XHJcblx0cmlnaHQ6QHI7XHJcblx0dG9wOkB0O1xyXG5cdGJvdHRvbTpAYjtcclxufVxyXG5cclxuLmJkYnggKCkge1xyXG5cdC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O1xyXG5cdC1tb3otYm94LXNpemluZzpib3JkZXItYm94O1xyXG5cdGJveC1zaXppbmc6Ym9yZGVyLWJveDtcclxufVxyXG5cclxuLmN0YnggKCkge1xyXG5cdC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtcclxuXHQtbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7XHJcblx0Ym94LXNpemluZzpjb250ZW50LWJveDtcclxufVxyXG5cclxuLmJkcnMgKEByYWRpdXM6QGJkcnNfd2lkdGgpIHtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6QHJhZGl1cztcclxuXHRib3JkZXItcmFkaXVzOkByYWRpdXM7XHJcbn1cclxuXHJcbi5ieHNoIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgwLCAwLCAwLCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaF93aGl0ZSAoQHg6MDsgQHk6MDsgQGJsdXI6NXB4OyBAc3ByZWQ6MDsgQGFscGhhOi4wNSkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG5cdGJveC1zaGFkb3c6QHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxufVxyXG5cclxuLmJ4c2hpIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzppbnNldCBAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgwLCAwLCAwLCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaGlfd2hpdGUgKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoX25vbmUgKCkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzpub25lO1xyXG5cdGJveC1zaGFkb3c6bm9uZTtcclxufVxyXG5cclxuLnRyYW5zKEB0cmFuczowKSB3aGVuIG5vdCAoQHRyYW5zID0gMCkge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIC1tb3otdHJhbnNpdGlvbjpAdHJhbnM7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjpAdHJhbnM7XHJcbiAgICAtby10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIHRyYW5zaXRpb246QHRyYW5zO1xyXG59XHJcblxyXG4uYXJyb3dfdG9wIChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci10b3A6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAaDtcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfYm90dG9tIChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1ib3R0b206MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAaDtcclxuXHRib3JkZXItdG9wLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfbGVmdCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQtd2lkdGg6QGg7XHJcblx0Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfcmlnaHQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkBoO1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfdG9wX2xlZnQgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXJpZ2h0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3Atd2lkdGg6QGg7XHJcblx0Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X3RvcF9yaWdodCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItYm90dG9tOkBoIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDpAdztcclxuXHRib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19ib3R0b21fbGVmdCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItdG9wOkBoIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdC13aWR0aDpAdztcclxuXHRib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X2JvdHRvbV9yaWdodCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItbGVmdDpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3A6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAaDtcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uZGVmYXVsdF9saXN0IChAdzo0cHg7IEBoOjRweDsgQG06MCAxMHB4IDAgMDsgQGJkcnM6NTAlKSB7XHJcblx0bGlzdC1zdHlsZS10eXBlOm5vbmU7XHJcblx0XHJcblx0PiBsaSB7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDonXFxlYjIyJztcclxuXHRcdFx0Zm9udC1mYW1pbHk6J2ZvbnRlbGxvJztcclxuXHRcdFx0Zm9udC1zdHlsZTpub3JtYWw7XHJcblx0XHRcdGZvbnQtd2VpZ2h0Om5vcm1hbDtcclxuXHRcdFx0c3BlYWs6bm9uZTtcclxuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjppbmhlcml0O1xyXG5cdFx0XHR3aWR0aDoxZW07XHJcblx0XHRcdHBhZGRpbmc6MDtcclxuXHRcdFx0bWFyZ2luOjAgNXB4IDAgMDtcclxuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRcdGZvbnQtdmFyaWFudDpub3JtYWw7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOm5vbmU7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OjFlbTtcclxuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF9ibG9ja3F1b3RlICgpIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZy1sZWZ0OjUzcHg7XHJcblx0bWFyZ2luOjAgMCBAbGluZV9oZWlnaHRfcGFkOyAvKiBkb24ndCB0b3VjaCAqL1xyXG5cdC5iZCgwKTtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDonXFwyMDFEJztcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0bGVmdDowO1xyXG5cdFx0dG9wOjA7XHJcblx0XHRmb250LXNpemU6NTBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OjUwcHg7XHJcblx0fVxyXG5cclxuXHRwOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTowO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTowO1xyXG5cdH1cclxuXHJcblx0Y2l0ZSB7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmRlZmF1bHRfdGFibGUgKCkge1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0bWFyZ2luLWJvdHRvbTpAbGluZV9oZWlnaHRfcGFkO1xyXG5cdGJvcmRlci1zcGFjaW5nOjA7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xyXG5cdFxyXG5cdHRoLCBcclxuXHR0ZCB7XHJcblx0XHRwYWRkaW5nOjEwcHg7XHJcblx0XHQuYmQ7XHJcblx0fVxyXG5cdFxyXG5cdGNhcHRpb24ge1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRwYWRkaW5nOjIwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC8qIGZvciBndXRlbmJlcmcgc3RhcnQgKi9cclxuXHQmLmlzLXN0eWxlLXN0cmlwZXMge1xyXG5cdFx0Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xyXG5cdFx0LmJkKDApO1xyXG5cdFx0XHJcblx0XHR0cjpudGgtY2hpbGQob2RkKSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcblx0LyogZm9yIGd1dGVuYmVyZyBlbmQgKi9cclxufVxyXG5cclxuLmRlZmF1bHRfYnV0dG9uICgpIHtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOjAgMzBweDtcclxuXHRjdXJzb3I6cG9pbnRlcjtcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHR3aGl0ZS1zcGFjZTpub3dyYXA7XHJcblx0LnRhYztcclxuXHQuYmQoQGJ1dF9iZF93aWR0aCk7XHJcblx0LmJkcnMoQGJ1dF9iZHJzX3dpZHRoKTtcclxufVxyXG5cclxuLmRlZmF1bHRfc2VsZWN0IChAcGx1Z2luOjApIHtcclxuXHRsaW5lLWhlaWdodDoxLjY7XHJcblx0dGV4dC1pbmRlbnQ6MC4wMXB4O1xyXG5cdHRleHQtb3ZlcmZsb3c6Jyc7XHJcblx0cGFkZGluZzpAaW5wdXRfcGFkIDEwJSBAaW5wdXRfcGFkIDE1cHg7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XHJcblx0LW1vei1hcHBlYXJhbmNlOm5vbmU7XHJcblx0LW1zLWFwcGVhcmFuY2U6bm9uZTtcclxuXHRhcHBlYXJhbmNlOm5vbmUgIWltcG9ydGFudDtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vLi4vLi4vaW1nL3NlbGVjdC5wbmcnKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOjk0JSBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG5cdG1pbi13aWR0aDoxMDBweDtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdG1pbi13aWR0aDoxMDBweDtcclxuXHRoZWlnaHQ6QGlucHV0X2hlaWdodCArIDNweDtcclxuXHQuYmRycygwKTtcclxuXHRcclxuXHQmIHdoZW4gKEBwbHVnaW4gPiAwKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vLi4vLi4vLi4vaW1nL3NlbGVjdC5wbmcnKTtcclxuXHR9XHJcblx0XHJcblx0JiB3aGVuIChAcGx1Z2luID0gMCkge1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uLy4uLy4uL2ltZy9zZWxlY3QucG5nJyk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iXSwiZmlsZSI6ImFkYXB0aXZlLmNzcyJ9 */
