/**
 * @package 	WordPress
 * @subpackage 	Agricole
 * @version		1.0.2
 * 
 * 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 (min-width: 1440px) {
  .cmsmasters_responsive_width {
    width: 1440px;
  }
  .mid_nav > li > a {
    padding-left: 20px;
    padding-right: 20px;
  }
  .mid_nav > li > ul {
    left: 0;
  }
  #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;
  }
  .cmsmasters_project_puzzle .cmsmasters_project_header {
    padding: 5px 0;
  }
  .cmsmasters_project_puzzle .cmsmasters_project_category {
    padding-top: 10px;
  }
  .cmsmasters_project_puzzle .project_inner_cont {
    padding: 20px;
  }
  .cmsmasters_project_puzzle .cmsmasters_project_cont_info {
    padding-top: 15px;
  }
}
@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;
  }
  .mid_nav > li li,
  .bot_nav > li li {
    border-width: 0;
    border-style: solid;
  }
  .mid_nav > li li a,
  .bot_nav > li li a {
    padding: 6px 25px 6px 10px;
    border-width: 1px;
    border-style: solid;
  }
  .mid_nav > li > ul li,
  .bot_nav > li > ul li {
    padding: 0 12px;
  }
  .mid_nav > li > ul li.menu-item-has-children > a:before,
  .bot_nav > li > ul li.menu-item-has-children > a:before {
    content: '\e94f';
    font-family: 'fontello';
    font-size: 16px;
    line-height: 16px;
    text-align: center;
    width: 1em;
    height: 1em;
    margin: auto !important;
    position: absolute;
    left: auto;
    right: 3px;
    top: 0;
    bottom: 0;
  }
  .mid_nav div.menu-item-mega-container,
  .bot_nav div.menu-item-mega-container {
    padding: 30px 20px;
  }
  .mid_nav div.menu-item-mega-container > ul > li > a,
  .bot_nav div.menu-item-mega-container > ul > li > a {
    margin-bottom: 5px;
  }
  .header_bot .header_bot_outer {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
}
@media only screen and (max-width: 1024px) {
  .cmsmasters_responsive_width {
    width: 1024px;
  }
  .headline_outer {
    background-attachment: scroll;
  }
  .gallery.gallery-columns-9 .gallery-item,
  .gallery.gallery-columns-6 .gallery-item {
    width: 30.73%;
  }
  .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: 22.4%;
  }
  .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: 47.4%;
  }
  .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 {
    position: relative;
    overflow: hidden;
  }
  #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;
  }
  #header nav > div > ul > li:first-child {
    border-top-width: 0;
    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: 47.4%;
  }
  .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: 97.4%;
    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: 30.73%;
  }
  .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: 47.4%;
  }
  .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: 47.4%;
  }
  .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: 97.4%;
    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: 30.73%;
  }
  .sidebar_layout_141214 > aside:first-child + aside,
  .sidebar_layout_141214 > div.cl + aside + aside,
  .sidebar_layout_141214 > div.cmsmasters_widget_divider + aside + aside {
    width: 30.73%;
  }
  .sidebar_layout_121414 > aside:first-child,
  .sidebar_layout_121414 > div.cl + aside,
  .sidebar_layout_121414 > div.cmsmasters_widget_divider + aside {
    width: 97.4%;
    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: 47.4%;
  }
  .sidebar_layout_3414 > aside:first-child,
  .sidebar_layout_3414 > div.cl + aside,
  .sidebar_layout_3414 > div.cmsmasters_widget_divider + aside {
    width: 47.4%;
  }
  .sidebar_layout_3414 > aside:first-child + aside,
  .sidebar_layout_3414 > div.cl + aside + aside,
  .sidebar_layout_3414 > div.cmsmasters_widget_divider + aside + aside {
    width: 47.4%;
  }
  .sidebar_layout_1434 > aside:first-child,
  .sidebar_layout_1434 > div.cl + aside,
  .sidebar_layout_1434 > div.cmsmasters_widget_divider + aside {
    width: 47.4%;
  }
  .sidebar_layout_1434 > aside:first-child + aside,
  .sidebar_layout_1434 > div.cl + aside + aside,
  .sidebar_layout_1434 > div.cmsmasters_widget_divider + aside + aside {
    width: 47.4%;
  }
  .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: 47.4%;
  }
  .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: 20px 0;
    overflow: hidden;
  }
  .header_top .social_wrap {
    float: none;
  }
  .header_top .social_wrap .social_wrap_inner {
    text-align: center;
  }
  .header_top .top_nav_wrap {
    float: none;
  }
  .header_top .top_nav_wrap nav {
    margin: 10px 0 0;
    display: none;
  }
  .header_top .responsive_top_nav {
    display: block;
  }
  .header_top .header_top_meta {
    padding: 25px 0 0;
  }
  .header_top .header_top_meta:after {
    content: none;
  }
  .header_top .meta_wrap {
    display: block;
    text-align: center;
  }
  #header .top_line_nav {
    padding: 5px 0;
  }
  #header .top_line_nav .nav_item_wrap {
    padding: 5px 0;
    text-align: center;
  }
  #header .header_mid {
    overflow: hidden;
    clear: both;
  }
  #header .header_mid .header_mid_outer {
    overflow: hidden;
  }
  #header .header_mid .header_mid_inner {
    padding: 0 20px;
  }
  .enable_header_centered #header .header_mid .header_mid_inner {
    text-align: center;
  }
  #header .header_mid .resp_mid_nav_wrap {
    display: block;
  }
  #header .header_mid .header_mid_button_wrap {
    padding-left: 15px;
  }
  #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 .resp_bot_nav_wrap {
    display: inline-block;
    vertical-align: middle;
  }
  #header .header_bot .resp_bot_nav_wrap .resp_bot_nav_outer {
    text-align: center;
  }
  #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 .navigation {
    padding: 10px 0;
  }
  #header .navigation a {
    padding: 9px 20px 9px 30px;
  }
  #header .navigation li li > a {
    padding-left: 50px;
  }
  #header .navigation li li li > a {
    padding-left: 70px;
  }
  #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 {
    font-size: 16px;
    margin: 0 0 0 15px;
    cursor: pointer;
    float: right;
    text-align: center;
  }
  #header .navigation .cmsmasters_resp_nav_toggle:before {
    width: 1em;
    height: 1em;
    margin: auto !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  #header .navigation .menu-item-mega-container {
    width: 100% !important;
    left: auto !important;
    right: auto !important;
  }
  .cmsmasters_profile_horizontal .cmsmasters_img_social_wrap .profile_social_icons {
    display: none;
  }
  .cmsmasters_profile_horizontal .profile_inner .profile_social_icons {
    display: block;
  }
  .cmsmasters_post_default .cmsmasters_post_cont {
    padding: 30px 40px;
  }
  .cmsmasters_open_post .cmsmasters_post_top {
    padding: 30px 40px;
  }
}
@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;
  }
  .cmsmasters_open_project .project_content.with_sidebar .cmsmasters_project_content {
    float: none;
    width: 100%;
    padding: 0;
  }
  .cmsmasters_open_project .project_sidebar {
    width: 100%;
    float: none;
    padding: 25px 0 0;
  }
  .post_nav {
    margin: 25px 0 0;
  }
  .cmsmasters_profile_vertical .cmsmasters_img_wrap + .profile_inner {
    padding: 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;
  }
}
@media only screen and (max-width: 768px) {
  .cmsmasters_responsive_width {
    width: 768px;
  }
  .gallery.gallery-columns-8 .gallery-item {
    width: 47.4%;
  }
  .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: 97.4%;
    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;
    margin-bottom: 0;
  }
  .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;
  }
  .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: 97.4% !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: 97.4%;
    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 .header_mid .header_mid_inner {
    padding: 20px 0 0;
    text-align: center;
  }
  #header .header_mid .logo_wrap {
    width: auto;
    float: none;
    margin: 0 15px 30px;
    text-align: center;
  }
  #header .header_mid .logo_wrap:after {
    content: none;
  }
  #header .header_mid .logo_wrap .logo img {
    position: static;
  }
  #header .header_mid .resp_mid_nav_wrap {
    float: none;
    display: inline-block;
    margin: 0 7px 20px;
    vertical-align: middle;
    text-align: center;
  }
  #header .header_mid .resp_mid_nav_wrap .resp_mid_nav_outer {
    text-align: center;
  }
  #header .header_mid .resp_mid_nav_wrap .resp_mid_nav_outer:after {
    content: none;
  }
  #header .header_mid .mid_search_but_wrap {
    float: none;
    display: inline-block;
    margin: 0 7px 20px;
    vertical-align: middle;
    text-align: center;
  }
  #header .header_mid .social_wrap {
    float: none;
    display: inline-block;
    margin: 0 7px 20px;
    vertical-align: middle;
    text-align: center;
  }
  #header .header_mid .social_wrap .social_wrap_inner {
    text-align: center;
  }
  #header .header_mid .slogan_wrap {
    float: none;
    display: inline-block;
    margin: 0 7px 20px;
    vertical-align: middle;
    text-align: center;
  }
  #header .header_mid .slogan_wrap .slogan_wrap_inner {
    padding: 0;
    text-align: center;
  }
  #header .header_mid .slogan_wrap .slogan_wrap_inner:after {
    content: none;
  }
  #header .header_mid .slogan_wrap .slogan_wrap_text {
    text-align: center;
  }
  #header .header_mid .slogan_wrap .slogan_wrap_text > .cmsmasters_button {
    margin: 0;
  }
  #header .header_mid .header_mid_button_wrap {
    display: inline-block;
    vertical-align: middle;
    float: none;
    margin: 0 7px 20px;
    padding: 0;
  }
  #header .header_mid .mid_nav_wrap {
    height: auto;
    float: none;
    margin: 0;
    visibility: visible;
    overflow: hidden;
    clear: both;
    opacity: 1;
  }
  #header .header_mid .mid_nav_wrap nav {
    display: none;
  }
  #header .header_bot .resp_bot_nav_wrap {
    padding: 15px;
  }
  #page .headline_outer .headline_inner {
    padding: 20px;
  }
  #page .headline_outer .headline_inner .headline_text_wrap {
    display: block;
  }
  #page .headline_outer .headline_inner .headline_aligner {
    display: none;
  }
  #page .headline_outer .headline_inner .headline_text {
    display: block;
    text-align: center;
  }
  .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: 5px 0 15px;
    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;
  }
  .fullwidth .cmsmasters_post_default .cmsmasters_img_wrap,
  .fullwidth .cmsmasters_post_default .cmsmasters_post_video_wrap,
  .fullwidth .cmsmasters_post_default .cmsmasters_owl_slider {
    float: none;
    width: 100%;
  }
  .cmsmasters_post_default .cmsmasters_post_cont {
    padding: 20px;
  }
  .cmsmasters_open_post .cmsmasters_post_top {
    padding: 20px;
  }
  .fullwidth .cmsmasters_post_timeline .cmsmasters_img_wrap,
  .fullwidth .cmsmasters_post_timeline .cmsmasters_post_video_wrap,
  .fullwidth .cmsmasters_post_timeline .cmsmasters_owl_slider {
    float: none;
    width: 100%;
  }
  .cmsmasters_profile_vertical .cmsmasters_img_wrap {
    width: auto;
    padding: 0 0 30px;
  }
  .cmsmasters_profile_vertical .cmsmasters_img_wrap.no_image {
    display: block;
  }
  .cmsmasters_profile_vertical .cmsmasters_img_wrap + .profile_inner {
    display: block;
    width: 100%;
    padding: 0;
  }
  .middle_content .opened-article.blog {
    padding: 30px 0 50px;
  }
  .middle_content .opened-article.profiles {
    padding: 0 0 50px;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quotes_list {
    padding: 15px 0;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quotes_list:first-of-type {
    padding-top: 0;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quotes_list:last-of-type {
    padding-bottom: 0;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quote {
    width: 47.4%;
    margin-bottom: 20px;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quote:nth-child(2n + 1) {
    clear: both;
  }
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quote_inner {
    padding: 0 50px 0 0;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item {
    display: block;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item:last-child {
    margin: 0;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a {
    display: inline-block;
    padding: 10px 0;
  }
  .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: 10px 0 10px 35px;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_list_item a:before {
    width: 1em;
    height: 1em;
    margin: auto !important;
    position: absolute;
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tabs_wrap {
    border-top-width: 0;
    border-top-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tab .cmsmasters_tab_inner {
    padding: 25px 0 0;
  }
  .cmsmasters_tabs.tabs_mode_tour {
    display: block;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tabs_list {
    display: block;
    width: 100%;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tabs_wrap {
    display: block;
    width: 100%;
    margin: 10px 0 0;
    border-left-width: 0;
    border-left-style: solid;
    border-bottom-width: 0;
    border-bottom-style: solid;
    border-top-width: 1px;
    border-top-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tour .cmsmasters_tabs_wrap .cmsmasters_tab_inner {
    padding: 20px 0 0;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right {
    direction: ltr;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_list {
    text-align: left;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_list_item {
    text-align: right;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_list_item:first-child a {
    margin-top: 0;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_list_item:first-child a[class^="cmsmasters-icon-"],
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_list_item:first-child a[class^="cmsmasters_theme_icon_"] {
    margin-top: 0;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tabs_wrap {
    border-right-width: 0;
    border-right-style: solid;
  }
  .cmsmasters_tabs.tabs_mode_tour.tabs_pos_right .cmsmasters_tab_inner {
    text-align: left;
  }
  .cmsmasters_tabs.lpr .cmsmasters_tabs_list_item + .cmsmasters_tabs_list_item > a {
    display: block;
  }
  .cmsmasters_tabs.lpr .cmsmasters_tabs_list_item + .cmsmasters_tabs_list_item > a:before {
    content: none;
  }
  .cmsmasters_tabs.lpr .cmsmasters_tabs_list_item > a {
    display: block;
  }
  .cmsmasters_tabs.lpr .cmsmasters_tabs_wrap {
    padding: 20px 0 0;
  }
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap > li > ul > li,
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap_category > li,
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap_archive > li {
    width: 50%;
  }
  .error .error_inner {
    padding: 140px 20px 50px;
  }
  .error_cont {
    padding: 40px 0 150px;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_img_wrap {
    float: none;
    width: 42%;
    margin: 0 auto 30px;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_cont_wrap,
  .cmsmasters_archive_type .cmsmasters_archive_item_type,
  .cmsmasters_archive_type .cmsmasters_archive_item_content {
    text-align: center;
  }
  .cmsmasters_project_puzzle .cmsmasters_project_cont_info,
  .cmsmasters_project_puzzle .cmsmasters_project_category {
    display: none;
  }
}
@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;
  }
  html.cmsmasters_html .cmsmasters_header_search_form {
    top: 0;
    bottom: 0;
  }
  .post_nav {
    padding: 15px 20px;
    text-align: center;
  }
  .post_nav > span a {
    padding: 12px 0;
  }
  .post_nav > span.dn {
    display: block;
    clear: both;
  }
  .post_nav > span.cmsmasters_prev_post {
    float: none;
    display: inline-block;
    padding: 0;
  }
  .post_nav > span.cmsmasters_prev_post a {
    padding-left: 45px;
  }
  .post_nav > span.cmsmasters_prev_post > span {
    left: 0;
  }
  .post_nav > span.cmsmasters_next_post {
    float: none;
    display: inline-block;
    padding: 0;
  }
  .post_nav > span.cmsmasters_next_post a {
    padding-right: 45px;
  }
  .post_nav > span.cmsmasters_next_post > span {
    right: 0;
  }
  .cmsmasters_quotes_grid.quote_one .cmsmasters_quotes_list,
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quotes_list,
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quotes_list {
    padding: 15px 0;
  }
  .cmsmasters_quotes_grid.quote_one .cmsmasters_quotes_list:first-of-type,
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quotes_list:first-of-type,
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quotes_list:first-of-type {
    padding-top: 0;
  }
  .cmsmasters_quotes_grid.quote_one .cmsmasters_quotes_list:last-of-type,
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quotes_list:last-of-type,
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quotes_list:last-of-type {
    padding-bottom: 0;
  }
  .cmsmasters_quotes_grid.quote_one .cmsmasters_quote,
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quote,
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quote {
    width: 97.4%;
    margin-bottom: 20px;
    clear: both;
  }
  .cmsmasters_quotes_grid.quote_one .cmsmasters_quote .cmsmasters_quote_inner,
  .cmsmasters_quotes_grid.quote_two .cmsmasters_quote .cmsmasters_quote_inner,
  .cmsmasters_quotes_grid.quote_three .cmsmasters_quote .cmsmasters_quote_inner {
    padding: 0;
  }
}
@media only screen and (max-width: 540px) {
  .cmsmasters_responsive_width {
    width: 540px;
  }
  #page .gallery .gallery-item {
    width: 97.4%;
    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: 97.4%;
    float: none;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field {
    height: 103px;
  }
  .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: auto;
    border-width: 0;
    border-style: solid;
    text-align: center;
  }
  .cmsmasters_header_search_form .cmsmasters_header_search_form_field button {
    margin: 15px 0 0;
  }
  #page .cmsmasters_breadcrumbs {
    float: none;
    text-align: center;
  }
  #page .cmsmasters_breadcrumbs .cmsmasters_breadcrumbs_aligner {
    display: none;
  }
  #page .cmsmasters_breadcrumbs .cmsmasters_breadcrumbs_inner {
    padding-bottom: 0;
  }
  .cmsmasters_quotes_grid.quote_four .cmsmasters_quote {
    width: 97.4%;
    clear: both;
  }
  .about_author .about_author_avatar {
    float: none;
    margin: 0 0 20px;
  }
  .cmsmasters_comment_item .cmsmasters_comment_item_avatar {
    float: none;
    display: inline-block;
    margin: 0 0 5px;
  }
  .commentlist .children {
    padding: 0 0 0 15px;
  }
  .comment-respond {
    padding: 25px 30px;
  }
  .comment-respond .comment-form-email,
  .comment-respond .comment-form-author {
    max-width: none;
    float: none;
    padding-left: 0;
    padding-right: 0;
  }
  .comment-respond .comment-form-email input[type=text],
  .comment-respond .comment-form-author input[type=text] {
    display: block;
    width: 100%;
  }
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap > li > ul > li,
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap_category > li,
  .cmsmasters_sitemap_wrap .cmsmasters_sitemap_archive > li {
    width: 100%;
  }
  .error .error_inner {
    padding: 60px 20px 30px;
  }
  .error .error_title {
    font-size: 152px;
  }
  .error_cont {
    padding: 20px 0 50px;
  }
  .cmsmasters_archive_type .cmsmasters_archive_item_img_wrap {
    width: 62%;
  }
  .cmsmasters_wrap_pagination ul li .page-numbers {
    line-height: 30px !important;
    min-width: 32px;
    height: 32px;
  }
  #slide_top {
    bottom: 110px;
  }
}
@media only screen and (max-width: 320px) {
  .cmsmasters_responsive_width {
    width: 320px;
  }
  .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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFkYXB0aXZlLmxlc3MiLCJnZW5lcmFsLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBZUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUE7RUFDQztJQUNDLGFBQUE7O0VBR0QsUUFBUyxLQUNSO0lBQ0Msa0JBQUE7SUFDQSxtQkFBQTs7RUFIRixRQUFTLEtBTVI7SUFDQyxPQUFBOztFQUtELEtBQUM7SUFDQSxhQUFBOztFQURELEtBQUMsaUJBR0E7RUFIRCxLQUFDLGlCQUlBO0lBQ0MsYUFBQTs7RUFLSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtJQUNDLGFBQUE7O0VBR0QsMEJBQ0M7SUFDQyxjQUFBOztFQUZGLDBCQUtDO0lBQ0MsaUJBQUE7O0VBTkYsMEJBU0M7SUFDQyxhQUFBOztFQVZGLDBCQWFDO0lBQ0MsaUJBQUE7OztBQVVIO0VBQ0M7SUFDQyxhQUFBOztFQUdELGFBQWM7SUFDYixlQUFBOztFQUdEO0VBQ0EsV0FBWSxjQUFjO0lBQ3pCLHlCQUFBOztFQUdELFFBRUMsS0FDQztFQUZGLFFBQ0MsS0FDQztJQ1dGLGVBQUE7SUFDQSxtQkFBQTs7RURmQSxRQUVDLEtBQ0MsR0FHQztFQUxILFFBQ0MsS0FDQyxHQUdDO0lBQ0MsMEJBQUE7SUNPSixpQkFBQTtJQUNBLG1CQUFBOztFRGZBLFFBRUMsS0FVQyxLQUNDO0VBWkgsUUFDQyxLQVVDLEtBQ0M7SUFDQyxlQUFBOztFQUlFLFFBaEJMLEtBVUMsS0FDQyxHQUdFLHVCQUNBLElBQ0U7RUFBRCxRQWhCTCxLQVVDLEtBQ0MsR0FHRSx1QkFDQSxJQUNFO0lBQ0EsU0FBUSxPQUFSO0lBQ0EsYUFBWSxVQUFaO0lBQ0EsZUFBQTtJQUNBLGlCQUFBO0lDNUJQLGtCQUFBO0lBa0lBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsdUJBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7SUFDQSxVQUFBO0lBQ0EsTUFBQTtJQUNBLFNBQUE7O0VEbklBLFFBZ0NDLElBQUc7RUEvQkosUUErQkMsSUFBRztJQUNGLGtCQUFBOztFQWpDRixRQWdDQyxJQUFHLHlCQUdELEtBQUssS0FBSztFQWxDYixRQStCQyxJQUFHLHlCQUdELEtBQUssS0FBSztJQUNWLGtCQUFBOztFQUtILFdBQ0M7SUNsQkQsd0JBQUE7SUFDQSwwQkFBQTs7O0FENEJEO0VBQ0M7SUFDQyxhQUFBOztFQUdEO0lBQ0MsNkJBQUE7O0VBSUEsUUFBQyxrQkFFQTtFQURELFFBQUMsa0JBQ0E7SUFDQyxhQUFBOztFQUVBLFFBTEQsa0JBRUEsY0FHRSxVQUFVO0VBQVgsUUFKRCxrQkFDQSxjQUdFLFVBQVU7RUFDWCxRQU5ELGtCQUVBLGNBSUUsVUFBVTtFQUFYLFFBTEQsa0JBQ0EsY0FJRSxVQUFVO0lBQ1YsV0FBQTs7RUFHRCxRQVZELGtCQUVBLGNBUUUsVUFBVTtFQUFYLFFBVEQsa0JBQ0EsY0FRRSxVQUFVO0lBQ1YsV0FBQTs7RUFLSCxRQUFDLGtCQUNBO0lBQ0MsWUFBQTs7RUFFQSxRQUpELGtCQUNBLGNBR0UsVUFBVTtJQUNWLFdBQUE7O0VBR0QsUUFSRCxrQkFDQSxjQU9FLFVBQVU7SUFDVixXQUFBOztFQUtILFFBQUMsa0JBR0E7RUFGRCxRQUFDLGtCQUVBO0VBREQsUUFBQyxrQkFDQTtJQUNDLFlBQUE7O0VBRUEsUUFORCxrQkFHQSxjQUdFLFVBQVU7RUFBWCxRQUxELGtCQUVBLGNBR0UsVUFBVTtFQUFYLFFBSkQsa0JBQ0EsY0FHRSxVQUFVO0VBQ1gsUUFQRCxrQkFHQSxjQUlFLFVBQVU7RUFBWCxRQU5ELGtCQUVBLGNBSUUsVUFBVTtFQUFYLFFBTEQsa0JBQ0EsY0FJRSxVQUFVO0VBQ1gsUUFSRCxrQkFHQSxjQUtFLFVBQVU7RUFBWCxRQVBELGtCQUVBLGNBS0UsVUFBVTtFQUFYLFFBTkQsa0JBQ0EsY0FLRSxVQUFVO0lBQ1YsV0FBQTs7RUFHRCxRQVpELGtCQUdBLGNBU0UsVUFBVTtFQUFYLFFBWEQsa0JBRUEsY0FTRSxVQUFVO0VBQVgsUUFWRCxrQkFDQSxjQVNFLFVBQVU7SUFDVixXQUFBOztFQU1KLG1CQUFtQixXQUFZLCtCQUE4QixXQUFXLFVBQVU7SUFDakYsV0FBQTs7RUFJQSxLQUFDO0lBQ0EsV0FBQTs7RUFERCxLQUFDLGlCQUdBO0VBSEQsS0FBQyxpQkFJQTtJQUNDLFdBQUE7O0VBSUYsS0FBQyxhQUNBO0lBQ0Msa0JBQUE7O0VBRkYsS0FBQyxhQUtBO0VBQ0EsS0FOQSxhQU1DLGtCQUFtQjtFQUNwQixLQVBBLGFBT0MscUJBQXNCO0VBQ3ZCLEtBUkEsYUFRQyxrQkFBa0IscUJBQXNCO0lBQ3hDLGNBQUE7O0VBS0g7SUFDQyxrQkFBQTtJQ3ZJRCxnQkFBQTs7RURzSUEsT0FJQztJQUNDLFlBQUE7O0VBTEYsT0FJQyxJQUdDO0VBUEYsT0FJQyxJQUlDO0VBUkYsT0FJQyxJQUtDO0VBVEYsT0FJQyxJQU1DO0VBVkYsT0FJQyxJQU9DO0lBQ0MsaUNBQUE7SUFDQSxjQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxXQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7SUFDQSxtQkFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTtJQUNBLFdBQUE7SUFDQSxTQUFBO0lBQ0EsWUFBQTtJQzlLSCxnQkFBQTtJQXdCQSxlQUFBO0lBQ0EsbUJBQUE7SUFiQSxXQUFBO0lBSUEsZ0JBQUE7SUE2SUEsd0JBQUE7SUFDQSxnQkFBQTtJQTdGQSxVQUFBO0lBcUhBLHdCQUFBO0lBQ0EsZ0JBQUE7O0VES0csT0FsQ0YsSUE4QkMsSUFJRTtFQUFELE9BbENGLElBK0JDLEdBR0U7RUFBRCxPQWxDRixJQWdDQyxHQUVFO0VBQUQsT0FsQ0YsSUFpQ0MsRUFDRTtFQUNELE9BbkNGLElBOEJDLElBS0U7RUFBRCxPQW5DRixJQStCQyxHQUlFO0VBQUQsT0FuQ0YsSUFnQ0MsR0FHRTtFQUFELE9BbkNGLElBaUNDLEVBRUU7SUFDQSxhQUFBOztFQXhDSixPQUlDLElBd0NDO0lBQ0Msa0JBQUE7O0VBN0NILE9BSUMsSUE0Q0M7SUN6S0YscUJBQUE7SUFDQSx1QkFBQTs7RUR3SEEsT0FJQyxJQWdEQyxNQUFNLEtBQUssS0FBSTtJQzdLakIsbUJBQUE7SUFDQSx1QkFBQTs7RURrTEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7SUFDQyxXQUFBOztFQUdEO0lBQ0MsbUJBQUE7O0VBRUEsZ0NBQWlDO0lBQ2hDLG1CQUFBOztFQUdELGtCQUFDO0lBQ0EsZ0JBQUE7O0VBSUY7RUFDQTtFQUNBO0lBQ0MsWUFBQTs7RUFHRCx5QkFBMEIseUJBQ3pCO0VBREQseUJBQTBCLHlCQUV6QjtFQUZELHlCQUEwQix5QkFHekI7SUFDQyxVQUFBOztFQUlGLG9CQUNDLHFCQUFvQixVQUFVO0lBQzdCLFdBQUE7O0VBSUYsa0JBRUMsbUJBQWtCO0VBRG5CLGtCQUNDLG1CQUFrQjtJQUNqQixZQUFBO0lBQ0EsV0FBQTtJQUNBLFdBQUE7O0VBSUYseUJBQ0MscUJBRUMscUJBQW9CO0VBSHRCLHlCQUVDLHFCQUNDLHFCQUFvQjtJQUNuQixXQUFBOztFQUtILGtCQUNDLG1CQUFrQjtFQURuQixrQkFFQyxtQkFBa0I7SUFDakIsYUFBQTs7RUFJRix5QkFDQyxxQkFDQyxxQkFBb0I7RUFGdEIseUJBQ0MscUJBRUMscUJBQW9CO0lBQ25CLGFBQUE7O0VBS0gsd0JBQ0M7SUFDQyxZQUFBOztFQUVBLHdCQUhELE1BR0UsVUFBVTtJQUNWLFdBQUE7O0VBS0gsc0JBQ0MsUUFBTztFQURSLHNCQUVDLFFBQU8sWUFBYTtFQUZyQixzQkFHQyxNQUFLLEdBQUk7RUFIVixzQkFJQyxNQUFLLEdBQUksUUFBUTtFQUpsQixzQkFLQyxNQUFLLDBCQUEyQjtFQUxqQyxzQkFNQyxNQUFLLDBCQUEyQixRQUFRO0lBQ3ZDLFlBQUE7O0VBUEYsc0JBVUMsUUFBTyxZQUFhLFFBQVE7RUFWN0Isc0JBV0MsTUFBSyxHQUFJLFFBQVEsUUFBUTtFQVgxQixzQkFZQyxNQUFLLDBCQUEyQixRQUFRLFFBQVE7SUFDL0MsWUFBQTtJQUNBLFdBQUE7SUFDQSxXQUFBOztFQUlGLHNCQUNDLFFBQU87RUFEUixzQkFFQyxRQUFPLFlBQWEsUUFBUTtFQUY3QixzQkFHQyxNQUFLLEdBQUk7RUFIVixzQkFJQyxNQUFLLEdBQUksUUFBUSxRQUFRO0VBSjFCLHNCQUtDLE1BQUssMEJBQTJCO0VBTGpDLHNCQU1DLE1BQUssMEJBQTJCLFFBQVEsUUFBUTtJQUMvQyxhQUFBOztFQVBGLHNCQVVDLFFBQU8sWUFBYTtFQVZyQixzQkFXQyxNQUFLLEdBQUksUUFBUTtFQVhsQixzQkFZQyxNQUFLLDBCQUEyQixRQUFRO0lBQ3ZDLGFBQUE7O0VBSUYsc0JBQ0MsUUFBTztFQURSLHNCQUVDLE1BQUssR0FBSTtFQUZWLHNCQUdDLE1BQUssMEJBQTJCO0lBQy9CLFlBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTs7RUFORixzQkFTQyxRQUFPLFlBQWE7RUFUckIsc0JBVUMsUUFBTyxZQUFhLFFBQVE7RUFWN0Isc0JBV0MsTUFBSyxHQUFJLFFBQVE7RUFYbEIsc0JBWUMsTUFBSyxHQUFJLFFBQVEsUUFBUTtFQVoxQixzQkFhQyxNQUFLLDBCQUEyQixRQUFRO0VBYnpDLHNCQWNDLE1BQUssMEJBQTJCLFFBQVEsUUFBUTtJQUMvQyxZQUFBOztFQUlGLG9CQUNDLFFBQU87RUFEUixvQkFFQyxNQUFLLEdBQUk7RUFGVixvQkFHQyxNQUFLLDBCQUEyQjtJQUMvQixZQUFBOztFQUpGLG9CQU9DLFFBQU8sWUFBYTtFQVByQixvQkFRQyxNQUFLLEdBQUksUUFBUTtFQVJsQixvQkFTQyxNQUFLLDBCQUEyQixRQUFRO0lBQ3ZDLFlBQUE7O0VBSUYsb0JBQ0MsUUFBTztFQURSLG9CQUVDLE1BQUssR0FBSTtFQUZWLG9CQUdDLE1BQUssMEJBQTJCO0lBQy9CLFlBQUE7O0VBSkYsb0JBT0MsUUFBTyxZQUFhO0VBUHJCLG9CQVFDLE1BQUssR0FBSSxRQUFRO0VBUmxCLG9CQVNDLE1BQUssMEJBQTJCLFFBQVE7SUFDdkMsWUFBQTs7RUFNRCxpQkFGZ0IsbUJBQW9CLHNCQUVuQztFQUFELG9CQURvQix5QkFDbkI7RUFDRCxpQkFIZ0IsbUJBQW9CLHNCQUduQztFQUFELG9CQUZvQix5QkFFbkI7SUFDQSxVQUFBOztFQUtELHlCQUFDLGFBQ0E7SUFDQyxZQUFBOztFQUVBLHlCQUpELGFBQ0EseUJBR0UsVUFBVTtJQzdYZCxXQUFBOztFRG9ZQTtJQ2hZQSxnQkFBQTtJQUpBLFdBQUE7O0VEb1lBLFdBSUM7SUFDQyxjQUFBOztFQUxGLFdBUUM7SUFDQyxZQUFBO0lDN1pGLGFBQUE7SUFvQkEsZ0JBQUE7O0VEZ1lBLFdBY0M7SUFDQyxZQUFBO0lBQ0EsZUFBQTtJQ2haRixnQkFBQTs7RURnWUEsV0FvQkM7SUFDQyxXQUFBOztFQXJCRixXQW9CQyxhQUdDO0lDbmFGLGtCQUFBOztFRDRZQSxXQTRCQztJQUNDLFdBQUE7O0VBN0JGLFdBNEJDLGNBR0M7SUFDQyxnQkFBQTtJQ3BiSCxhQUFBOztFRG9aQSxXQXFDQztJQUNDLGNBQUE7O0VBdENGLFdBeUNDO0lBQ0MsaUJBQUE7O0VBRUEsV0FIRCxpQkFHRTtJQUNBLGFBQUE7O0VBN0NILFdBaURDO0lBQ0MsY0FBQTtJQzliRixrQkFBQTs7RURtY0EsT0FBUTtJQUNQLGNBQUE7O0VBREQsT0FBUSxjQUdQO0lBQ0MsY0FBQTtJQ3ZjRixrQkFBQTs7RUQ0Y0EsT0FBUTtJQ2hjUixnQkFBQTtJQUpBLFdBQUE7O0VEb2NBLE9BQVEsWUFJUDtJQ3BjRCxnQkFBQTs7RURnY0EsT0FBUSxZQVFQO0lBQ0MsZUFBQTs7RUFFQSx1QkFBd0IsUUFYbEIsWUFRUDtJQ3BkRCxrQkFBQTs7RUQ0Y0EsT0FBUSxZQWdCUDtJQUNDLGNBQUE7O0VBakJGLE9BQVEsWUFvQlA7SUFDQyxrQkFBQTs7RUFyQkYsT0FBUSxZQXdCUDtJQUNDLGNBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7SUFDQSxtQkFBQTtJQzdkRixnQkFBQTtJQUpBLFdBQUE7SUFxREEsVUFBQTs7RUQrWUEsT0FBUSxZQXdCUCxjQVVDO0lDdGZGLGFBQUE7O0VENGZBLE9BQVE7SUN4ZVIsZ0JBQUE7SUFKQSxXQUFBOztFRDRlQSxPQUFRLFlBSVA7SUM1ZUQsZ0JBQUE7O0VEd2VBLE9BQVEsWUFRUDtJQUNDLFVBQUE7O0VBVEYsT0FBUSxZQVlQO0lBQ0MscUJBQUE7SUFDQSxzQkFBQTs7RUFkRixPQUFRLFlBWVAsbUJBSUM7SUNwZ0JGLGtCQUFBOztFRG9mQSxPQUFRLFlBcUJQO0lBQ0MsY0FBQTtJQUNBLFlBQUE7SUFDQSxXQUFBO0lBQ0EsU0FBQTtJQUNBLG1CQUFBO0lDbGdCRixnQkFBQTtJQUpBLFdBQUE7SUFxREEsVUFBQTs7RUR1YkEsT0FBUSxZQXFCUCxjQVVDO0lDM2hCRixhQUFBOztFRGlpQkEsT0FBUTtJQUNQLGVBQUE7O0VBREQsT0FBUSxZQUdQO0lBQ0MsMEJBQUE7O0VBSkYsT0FBUSxZQU9QLEdBQUcsR0FDRjtJQUNDLGtCQUFBOztFQVRILE9BQVEsWUFPUCxHQUFHLEdBS0YsR0FDQztJQUNDLGtCQUFBOztFQWRKLE9BQVEsWUFtQlA7SUFDQyxxQkFBQTtJQUNBLHNCQUFBOztFQXJCRixPQUFRLFlBd0JQO0lBQ0MscUJBQUE7SUFDQSxzQkFBQTs7RUExQkYsT0FBUSxZQTZCUDtJQUNDLHFCQUFBO0lBQ0Esc0JBQUE7SUFDQSxjQUFBO0lBQ0Esa0JBQUE7O0VBakNGLE9BQVEsWUFvQ1A7SUFDQyxjQUFBOztFQXJDRixPQUFRLFlBd0NQO0lBQ0MsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsZUFBQTtJQ2hsQkYsWUFBQTtJQVlBLGtCQUFBOztFRHdrQkUsT0EvQ00sWUF3Q1AsNEJBT0U7SUN0Y0gsVUFBQTtJQUNBLFdBQUE7SUFDQSx1QkFBQTtJQUNBLGtCQUFBO0lBQ0EsT0FBQTtJQUNBLFFBQUE7SUFDQSxNQUFBO0lBQ0EsU0FBQTs7RURnWkEsT0FBUSxZQW9EUDtJQUNDLHNCQUFBO0lBQ0EscUJBQUE7SUFDQSxzQkFBQTs7RUFJRiw4QkFDQyw0QkFDQztJQzlsQkYsYUFBQTs7RUQ0bEJBLDhCQU9DLGVBQ0M7SUFDQyxjQUFBOztFQUtILHdCQUNDO0lBQ0Msa0JBQUE7O0VBSUYscUJBQXNCO0lBQ3JCLGtCQUFBOzs7QUFTRjtFQUNDO0lBQ0MsWUFBQTs7RUFJQSxhQUFDLFVBRUE7RUFERCxhQUFDLFVBQ0E7SUFDQyxlQUFBO0lBQ0EsZ0JBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTs7RUFLSDtFQUNBO0lBQ0MsV0FBQTtJQUNBLGVBQUE7SUFDQSxnQkFBQTs7RUFLQyx3QkFERCxpQkFDRSxhQUNBO0lBQ0MsV0FBQTtJQUNBLFdBQUE7SUFDQSxVQUFBOztFQU5KLHdCQVdDO0lBQ0MsV0FBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTs7RUFJRjtJQUNDLGdCQUFBOztFQUdELDRCQUNDLHFCQUNDO0lBQ0MsVUFBQTs7RUFPRCx3QkFERCxpQkFDRTtJQUNBLFdBQUE7SUFDQSxXQUFBOztFQUpILHdCQVFDO0lBQ0MsV0FBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0lBQ0EsZ0JBQUE7OztBQVVIO0VBQ0M7SUFDQyxZQUFBOztFQUlBLFFBQUMsa0JBQ0E7SUFDQyxZQUFBOztFQUVBLFFBSkQsa0JBQ0EsY0FHRSxVQUFVO0lBQ1YsV0FBQTs7RUFHRCxRQVJELGtCQUNBLGNBT0UsVUFBVTtJQUNWLFdBQUE7O0VBT0gsa0JBQUM7SUFDQSxnQkFBQTs7RUFJRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQUFtQixtQkFBa0I7RUFDckMsa0JBQW1CLG1CQUFrQjtFQUNyQyxrQkFBbUIsbUJBQWtCO0VBQ3JDLGtCQUFtQixtQkFBa0I7SUFDcEMsWUFBQTtJQUNBLFdBQUE7SUFDQSxXQUFBOztFQUVBLGdDQUFpQztFQUFqQyxnQ0FBaUM7RUFBakMsZ0NBQWlDO0VBQWpDLGdDQUFpQztFQUFqQyxnQ0FBaUM7RUFBakMsZ0NBQWlDO0VBQWpDLGdDQUFpQztFQUFqQyxnQ0FBaUMsbUJBUmYsbUJBQWtCO0VBUXBDLGdDQUFpQyxtQkFQZixtQkFBa0I7RUFPcEMsZ0NBQWlDLG1CQU5mLG1CQUFrQjtFQU1wQyxnQ0FBaUMsbUJBTGYsbUJBQWtCO0lBTW5DLGNBQUE7SUFDQSxnQkFBQTs7RUFGRCxnQ0FBaUMsV0FJaEM7RUFKRCxnQ0FBaUMsVUFJaEM7RUFKRCxnQ0FBaUMsV0FJaEM7RUFKRCxnQ0FBaUMsV0FJaEM7RUFKRCxnQ0FBaUMsWUFJaEM7RUFKRCxnQ0FBaUMsV0FJaEM7RUFKRCxnQ0FBaUMsY0FJaEM7RUFKRCxnQ0FBaUMsbUJBUmYsbUJBQWtCLFNBWW5DO0VBSkQsZ0NBQWlDLG1CQVBmLG1CQUFrQixTQVduQztFQUpELGdDQUFpQyxtQkFOZixtQkFBa0IsV0FVbkM7RUFKRCxnQ0FBaUMsbUJBTGYsbUJBQWtCLFNBU25DO0lBQ0MsY0FBQTs7RUFLSCx5QkFDQyx5QkFDQztFQUZGLHlCQUNDLHlCQUVDO0VBSEYseUJBQ0MseUJBR0M7RUFKRix5QkFDQyx5QkFJQztFQUxGLHlCQUNDLHlCQUtDO0VBTkYseUJBQ0MseUJBTUM7RUFQRix5QkFDQyx5QkFPQztJQUNDLFdBQUE7O0VBVEgseUJBYUMscUJBQXFCLHFCQUFvQjtFQWIxQyx5QkFjQyxxQkFBcUIscUJBQW9CO0VBZDFDLHlCQWVDLHFCQUFxQixxQkFBb0I7RUFmMUMseUJBZ0JDLHFCQUFxQixxQkFBb0I7SUFDeEMsV0FBQTs7RUFJRixzQkFBc0I7SUFDckIsY0FBQTs7RUFERCxzQkFBc0IsZ0NBR3JCLDJCQUEyQixxQkFBb0I7SUFDOUMsb0JBQUE7O0VBSUYseUJBQ0M7SUFDQyxjQUFBOztFQUlGLHdCQVVDO0VBVEQsc0JBU0M7RUFSRCxzQkFRQztFQVBELHNCQU9DO0VBTkQsc0JBTUM7RUFMRCxvQkFLQztFQUpELG9CQUlDO0VBSEQsb0JBR0M7RUFGRCxvQkFFQztFQURELG9CQUNDO0lBQ0MsWUFBQTs7RUFJRiwwQkFBMkI7SUFDMUIsc0JBQUE7O0VBS0EsaUJBRmdCLG1CQUFvQixzQkFFbkM7RUFBRCxvQkFEb0IseUJBQ25CO0lBQ0EsVUFBQTs7RUFLRCx5QkFBQyxjQUNBO0lBQ0MsWUFBQTtJQUNBLFdBQUE7SUMzeUJILFdBQUE7O0VEa3pCQyx3QkFBQyxhQUlBO0VBSEQsd0JBQUMsYUFHQTtFQUZELHdCQUFDLGNBRUE7RUFERCx3QkFBQyxZQUNBO0lBQ0MsV0FBQTtJQUNBLFdBQUE7SUN4ekJILFdBQUE7O0VEOHpCQSxPQUFRLFlBQ1A7SUFDQyxpQkFBQTtJQ3gwQkYsa0JBQUE7O0VEczBCQSxPQUFRLFlBTVA7SUFDQyxXQUFBO0lBQ0EsV0FBQTtJQUNBLG1CQUFBO0lDLzBCRixrQkFBQTs7RURrMUJFLE9BWk0sWUFNUCxXQU1FO0lBQ0EsYUFBQTs7RUFiSCxPQUFRLFlBTVAsV0FVQyxNQUNDO0lBQ0MsZ0JBQUE7O0VBbEJKLE9BQVEsWUF1QlA7SUFDQyxXQUFBO0lBQ0EscUJBQUE7SUFDQSxrQkFBQTtJQUNBLHNCQUFBO0lDajJCRixrQkFBQTs7RURzMEJBLE9BQVEsWUF1QlAsbUJBT0M7SUNwMkJGLGtCQUFBOztFRHUyQkcsT0FqQ0ssWUF1QlAsbUJBT0Msb0JBR0U7SUFDQSxhQUFBOztFQWxDSixPQUFRLFlBdUNQO0lBQ0MsV0FBQTtJQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxzQkFBQTtJQ2ozQkYsa0JBQUE7O0VEczBCQSxPQUFRLFlBK0NQO0lBQ0MsV0FBQTtJQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxzQkFBQTtJQ3ozQkYsa0JBQUE7O0VEczBCQSxPQUFRLFlBK0NQLGFBT0M7SUM1M0JGLGtCQUFBOztFRHMwQkEsT0FBUSxZQTJEUDtJQUNDLFdBQUE7SUFDQSxxQkFBQTtJQUNBLGtCQUFBO0lBQ0Esc0JBQUE7SUNyNEJGLGtCQUFBOztFRHMwQkEsT0FBUSxZQTJEUCxhQU9DO0lBQ0MsVUFBQTtJQ3o0Qkgsa0JBQUE7O0VENDRCRyxPQXRFSyxZQTJEUCxhQU9DLG1CQUlFO0lBQ0EsYUFBQTs7RUF2RUosT0FBUSxZQTJEUCxhQWdCQztJQ2o1QkYsa0JBQUE7O0VEczBCQSxPQUFRLFlBMkRQLGFBZ0JDLGtCQUdDO0lBQ0MsU0FBQTs7RUEvRUosT0FBUSxZQW9GUDtJQUNDLHFCQUFBO0lBQ0Esc0JBQUE7SUFDQSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXpGRixPQUFRLFlBNEZQO0lBQ0MsWUFBQTtJQUNBLFdBQUE7SUFDQSxTQUFBO0lBQ0EsbUJBQUE7SUMxNUJGLGdCQUFBO0lBSkEsV0FBQTtJQXFEQSxVQUFBOztFRHl3QkEsT0FBUSxZQTRGUCxjQVNDO0lDbjdCRixhQUFBOztFRHk3QkEsT0FBUSxZQUNQO0lBQ0MsYUFBQTs7RUFJRixLQUFNLGdCQUNMO0lBQ0MsYUFBQTs7RUFGRixLQUFNLGdCQUNMLGdCQUdDO0lBQ0MsY0FBQTs7RUFMSCxLQUFNLGdCQUNMLGdCQU9DO0lDdjhCRixhQUFBOztFRCs3QkEsS0FBTSxnQkFDTCxnQkFXQztJQUNDLGNBQUE7SUNwOEJILGtCQUFBOztFRDA4QkEsd0JBQ0M7SUFDQyxpQkFBQTtJQUNBLFdBQUE7O0VBSEYsd0JBQ0MsaUJBSUMsSUFBSTtJQy84Qk4sa0JBQUE7O0VEazlCRyx3QkFQRixpQkFJQyxJQUFJLE1BR0Y7SUFDQSxhQUFBOztFQVRKLHdCQWNDO0lBQ0MsY0FBQTtJQ3o5QkYsa0JBQUE7O0VEMDhCQSx3QkFjQyxZQUlDO0lBQ0MscUJBQUE7SUFDQSxXQUFBOztFQXBCSCx3QkF3QkM7SUFDQyxtQkFBQTtJQUNBLFdBQUE7O0VBMUJGLHdCQXdCQyxhQUlDO0lDdCtCRixrQkFBQTs7RUR5K0JHLHdCQVBGLGFBSUMsbUJBR0U7SUFDQSxhQUFBOztFQWhDSix3QkFxQ0M7SUFDQyxpQkFBQTtJQUNBLFdBQUE7O0VBdkNGLHdCQXFDQyx5QkFJQztJQ24vQkYsa0JBQUE7O0VEMDhCQSx3QkE4Q0M7SUFDQyxVQUFBO0lDei9CRixrQkFBQTs7RUQ4L0JBLEtBQUs7SUFDSix1QkFBQTs7RUFFQSxLQUhJLFNBR0g7SUFDQSxhQUFBOztFQUpGLEtBQUssU0FPSjtJQUNDLFdBQUE7SUFDQSxpQkFBQTtJQUNBLDZCQUFBO0lBQ0EscUJBQUE7SUFDQSxzQkFBQTtJQUNBLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxrQ0FBQTtJQUNBLCtCQUFBO0lBQ0EsOEJBQUE7SUFDQSw2QkFBQTtJQUNBLDBCQUFBOztFQUVBLEtBckJHLFNBT0osTUFjRTtJQUNBLGNBQUE7O0VBR0QsS0F6QkcsU0FPSixNQWtCRTtJQUNBLGFBQUE7O0VBR0QsS0E3QkcsU0FPSixNQXNCRSx5QkFFQTtFQURELEtBOUJHLFNBT0osTUF1QkUsMEJBQ0E7SUFDQyxjQUFBO0lBQ0EsZUFBQTs7RUFVRixVQUFXLHlCQUhaO0VBR0MsVUFBVyx5QkFGWjtFQUVDLFVBQVcseUJBRFo7SUFFRSxXQUFBO0lBQ0EsV0FBQTs7RUFOSCx3QkFVQztJQUNDLGFBQUE7O0VBSUYscUJBQXNCO0lBQ3JCLGFBQUE7O0VBT0MsVUFBVywwQkFIWjtFQUdDLFVBQVcsMEJBRlo7RUFFQyxVQUFXLDBCQURaO0lBRUUsV0FBQTtJQUNBLFdBQUE7O0VBS0gsNEJBQ0M7SUFDQyxXQUFBO0lBQ0EsaUJBQUE7O0VBRUEsNEJBSkQscUJBSUU7SUFDQSxjQUFBOztFQU5ILDRCQUNDLHFCQVFDO0lBQ0MsY0FBQTtJQUNBLFdBQUE7SUFDQSxVQUFBOztFQU9ELGVBQWdCLGdCQURoQjtJQUVDLG9CQUFBOztFQUtELGVBQWdCLGdCQURoQjtJQUVDLGlCQUFBOztFQU1GLHVCQUFDLFdBQ0E7SUFDQyxlQUFBOztFQUVBLHVCQUpELFdBQ0Esd0JBR0U7SUFDQSxjQUFBOztFQUdELHVCQVJELFdBQ0Esd0JBT0U7SUFDQSxpQkFBQTs7RUFUSCx1QkFBQyxXQWFBO0lBQ0MsWUFBQTtJQUNBLG1CQUFBOztFQUVBLHVCQWpCRCxXQWFBLGtCQUlFLFVBQVU7SUFDVixXQUFBOztFQUtILHVCQUFDLFVBQ0E7SUFDQyxtQkFBQTs7RUFNRixnQkFBQyxjQUNBO0lBQ0MsY0FBQTtJQ3RtQ0gsd0JBQUE7SUFDQSwwQkFBQTs7RUR3bUNHLGdCQUxELGNBQ0EsMkJBSUU7SUFDQSxTQUFBOztFQU5ILGdCQUFDLGNBQ0EsMkJBUUM7SUFDQyxxQkFBQTtJQUNBLGVBQUE7O0VBRUEsZ0JBYkYsY0FDQSwyQkFRQyxFQUlFO0VBQ0QsZ0JBZEYsY0FDQSwyQkFRQyxFQUtFO0lBQ0EseUJBQUE7O0VBR0QsZ0JBbEJGLGNBQ0EsMkJBUUMsRUFTRTtJQ2xoQ0wsVUFBQTtJQUNBLFdBQUE7SUFDQSx1QkFBQTtJQUNBLGtCQUFBO0lBQ0EsT0FBQTtJQUNBLFdBQUE7SUFDQSxNQUFBO0lBQ0EsU0FBQTs7RUR5L0JDLGdCQUFDLGNBd0JBO0lDam9DRixtQkFBQTtJQUNBLHVCQUFBOztFRHdtQ0MsZ0JBQUMsY0E0QkE7SUFDQyxpQkFBQTs7RUFJRixnQkFBQztJQUNBLGNBQUE7O0VBREQsZ0JBQUMsZUFHQTtJQUNDLGNBQUE7SUFDQSxXQUFBOztFQUxGLGdCQUFDLGVBUUE7SUFDQyxjQUFBO0lBQ0EsV0FBQTtJQUNBLGdCQUFBO0lDdG9DSCxvQkFBQTtJQUNBLHdCQUFBO0lBWEEsc0JBQUE7SUFDQSwwQkFBQTtJQU5BLHFCQUFBO0lBQ0EsdUJBQUE7O0VEeW9DQyxnQkFBQyxlQVFBLHNCQVFDO0lBQ0MsaUJBQUE7O0VBSUYsZ0JBckJBLGVBcUJDO0lBQ0EsY0FBQTs7RUFERCxnQkFyQkEsZUFxQkMsZUFHQTtJQy9yQ0gsZ0JBQUE7O0VENHJDRSxnQkFyQkEsZUFxQkMsZUFPQTtJQzNyQ0gsaUJBQUE7O0VEOHJDSSxnQkEvQkYsZUFxQkMsZUFPQSwyQkFHRSxZQUNBO0lBQ0MsYUFBQTs7RUFFQSxnQkFuQ0osZUFxQkMsZUFPQSwyQkFHRSxZQUNBLEVBR0U7RUFDRCxnQkFwQ0osZUFxQkMsZUFPQSwyQkFHRSxZQUNBLEVBSUU7SUFDQSxhQUFBOztFQWhCTCxnQkFyQkEsZUFxQkMsZUFzQkE7SUMzcUNILHFCQUFBO0lBQ0EseUJBQUE7O0VEb3BDRSxnQkFyQkEsZUFxQkMsZUEwQkE7SUN0dENILGdCQUFBOztFRDR0Q0MsZ0JBQUMsSUFDQSwyQkFDQyw2QkFDQztJQUNDLGNBQUE7O0VBRUEsZ0JBTkgsSUFDQSwyQkFDQyw2QkFDQyxJQUdFO0lBQ0EsYUFBQTs7RUFQTCxnQkFBQyxJQUNBLDJCQVdDO0lBQ0MsY0FBQTs7RUFiSCxnQkFBQyxJQWlCQTtJQUNDLGlCQUFBOztFQUtILHdCQUNDLG9CQUFvQixLQUFLLEtBQUs7RUFEL0Isd0JBRUMsNkJBQTZCO0VBRjlCLHdCQUdDLDRCQUE0QjtJQUMzQixVQUFBOztFQUlGLE1BQ0M7SUFDQyx3QkFBQTs7RUFJRjtJQUNDLHFCQUFBOztFQUdELHdCQUNDO0lBQ0MsV0FBQTtJQUNBLFVBQUE7SUFDQSxtQkFBQTs7RUFKRix3QkFPQztFQVBELHdCQVFDO0VBUkQsd0JBU0M7SUMxd0NELGtCQUFBOztFRCt3Q0EsMEJBQ0M7RUFERCwwQkFFQztJQUNDLGFBQUE7OztBQVVIO0VBQ0M7SUFDQyxZQUFBOztFQUdELElBQUk7SUFDSCx3QkFBQTs7RUFERCxJQUFJLGdCQUdILEtBQUk7SUFDSCxpQkFBQTs7RUFKRixJQUFJLGdCQU9IO0lBQ0MsTUFBQTtJQUNBLFNBQUE7O0VBSUY7SUFDQyxrQkFBQTtJQy95Q0Qsa0JBQUE7O0VEOHlDQSxTQUlDLE9BQ0M7SUFDQyxlQUFBOztFQUdELFNBTEQsT0FLRTtJQUNBLGNBQUE7SUNoekNILFdBQUE7O0VEb3pDRSxTQVZELE9BVUU7SUFDQSxXQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQUhELFNBVkQsT0FVRSxxQkFLQTtJQUNDLGtCQUFBOztFQU5GLFNBVkQsT0FVRSxxQkFTQTtJQUNDLE9BQUE7O0VBSUYsU0F4QkQsT0F3QkU7SUFDQSxXQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQUhELFNBeEJELE9Bd0JFLHFCQUtBO0lBQ0MsbUJBQUE7O0VBTkYsU0F4QkQsT0F3QkUscUJBU0E7SUFDQyxRQUFBOztFQU9ILHVCQUFDLFVBR0E7RUFGRCx1QkFBQyxVQUVBO0VBREQsdUJBQUMsWUFDQTtJQUNDLGVBQUE7O0VBRUEsdUJBTkQsVUFHQSx3QkFHRTtFQUFELHVCQUxELFVBRUEsd0JBR0U7RUFBRCx1QkFKRCxZQUNBLHdCQUdFO0lBQ0EsY0FBQTs7RUFHRCx1QkFWRCxVQUdBLHdCQU9FO0VBQUQsdUJBVEQsVUFFQSx3QkFPRTtFQUFELHVCQVJELFlBQ0Esd0JBT0U7SUFDQSxpQkFBQTs7RUFYSCx1QkFBQyxVQWVBO0VBZEQsdUJBQUMsVUFjQTtFQWJELHVCQUFDLFlBYUE7SUFDQyxZQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQWxCRix1QkFBQyxVQWVBLGtCQUtDO0VBbkJGLHVCQUFDLFVBY0Esa0JBS0M7RUFsQkYsdUJBQUMsWUFhQSxrQkFLQztJQUNDLFVBQUE7OztBQVlMO0VBQ0M7SUFDQyxZQUFBOztFQUdELEtBQU0sU0FBUztJQUNkLFlBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTs7RUFLQSxpQkFGZ0IsbUJBQW9CLHNCQUVuQztFQUFELG9CQURvQix5QkFDbkI7RUFDRCxpQkFIZ0IsbUJBQW9CLHNCQUduQztFQUFELG9CQUZvQix5QkFFbkI7RUFDRCxpQkFKZ0IsbUJBQW9CLHNCQUluQztFQUFELG9CQUhvQix5QkFHbkI7RUFDRCxpQkFMZ0IsbUJBQW9CLHNCQUtuQztFQUFELG9CQUpvQix5QkFJbkI7SUFDQSxXQUFBOztFQUtELHlCQUFDLGFBSUE7RUFIRCx5QkFBQyxjQUdBO0VBRkQseUJBQUMsWUFFQTtFQURELHlCQUFDLFlBQ0E7SUFDQyxZQUFBO0lBQ0EsV0FBQTs7RUFLSCw4QkFDQztJQUNDLGFBQUE7O0VBRkYsOEJBQ0MscUNDeC9DRixNQUFLLElBQUksZUFDRixJQUFJLGlCQUVMLElBQUksYUFBYSxJQUNwQixlQUFlLElBQUksY0FDZixJQUFJLGNBQWMsSUFBSSxjQUNoQixJQUFJLGVBQ1IsSUFBSSxjQUNYLElBQUk7SURvL0NGLFlBQUE7SUM5NENILGVBQUE7SUFDQSxtQkFBQTtJQXJCQSxrQkFBQTs7RUQ2NUNBLDhCQUNDLHFDQVNDO0lBQ0MsZ0JBQUE7O0VBS0gsS0FBTTtJQUNMLFdBQUE7SUM5NkNELGtCQUFBOztFRDY2Q0EsS0FBTSx3QkFJTDtJQ3o3Q0QsYUFBQTs7RURxN0NBLEtBQU0sd0JBUUw7SUFDQyxpQkFBQTs7RUFLRCx1QkFBQyxXQUNBO0lBQ0MsWUFBQTtJQUNBLFdBQUE7O0VBS0gsYUFDQztJQUNDLFdBQUE7SUFDQSxnQkFBQTs7RUFJRix3QkFDQztJQUNDLFdBQUE7SUFDQSxxQkFBQTtJQUNBLGVBQUE7O0VBSUYsWUFBYTtJQUNaLG1CQUFBOztFQUdEO0lBQ0Msa0JBQUE7O0VBREQsZ0JBR0M7RUFIRCxnQkFJQztJQUNDLGVBQUE7SUFDQSxXQUFBO0lBQ0EsZUFBQTtJQUNBLGdCQUFBOztFQVJGLGdCQUdDLG9CQU9DLE1BQUs7RUFWUCxnQkFJQyxxQkFNQyxNQUFLO0lBQ0osY0FBQTtJQUNBLFdBQUE7O0VBS0gsd0JBQ0Msb0JBQW9CLEtBQUssS0FBSztFQUQvQix3QkFFQyw2QkFBNkI7RUFGOUIsd0JBR0MsNEJBQTRCO0lBQzNCLFdBQUE7O0VBSUYsTUFDQztJQUNDLHVCQUFBOztFQUZGLE1BS0M7SUFDQyxnQkFBQTs7RUFJRjtJQUNDLG9CQUFBOztFQUdELHdCQUNDO0lBQ0MsVUFBQTs7RUFJRiwyQkFDQyxHQUNDLEdBQ0M7SUFDQyw0QkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBOztFQU1KO0lBQ0MsYUFBQTs7O0FBU0Y7RUFDQztJQUNDLFlBQUE7O0VBR0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7SUFDQyxZQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZSBcdFdvcmRQcmVzc1xuICogQHN1YnBhY2thZ2UgXHRBZ3JpY29sZVxuICogQHZlcnNpb25cdFx0MS4wLjJcbiAqIFxuICogUmVzcG9uc2l2ZSBEZXNpZ24gQ1NTIFJ1bGVzXG4gKiBDcmVhdGVkIGJ5IENNU01hc3RlcnNcbiAqIFxuICovXG5cblxuXG5AaW1wb3J0IFwiZ2VuZXJhbC5sZXNzXCI7XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMYXJnZSBNb25pdG9yXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX2xhcmdlIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MTQ0MHB4O1xuXHR9XG5cdFxuXHQubWlkX25hdiA+IGxpIHtcblx0XHQ+IGEge1xuXHRcdFx0cGFkZGluZy1sZWZ0OjIwcHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdD4gdWwge1xuXHRcdFx0bGVmdDowO1xuXHRcdH1cblx0fVxuXHRcblx0I3BhZ2Uge1xuXHRcdCYuY21zbWFzdGVyc19ib3hlZCB7XG5cdFx0XHR3aWR0aDpAY29udF93aWR0aF9sYXJnZSArIEBibG9ja3NfaG9yX3BhZCAqIDI7XG5cdFx0XHRcblx0XHRcdCNoZWFkZXIsIFxuXHRcdFx0I2Zvb3RlciB7XG5cdFx0XHRcdHdpZHRoOkBjb250X3dpZHRoX2xhcmdlICsgQGJsb2Nrc19ob3JfcGFkICogMjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5wb3N0LXBhc3N3b3JkLWZvcm0sXG5cdC5oZWFkZXJfdG9wX2lubmVyLCBcblx0LmhlYWRlcl9taWRfaW5uZXIsIFxuXHQuaGVhZGVyX2JvdF9pbm5lciwgXG5cdC5jb250ZW50X3dyYXAsIFxuXHQuaGVhZGxpbmVfaW5uZXIsIFxuXHQuYm90dG9tX291dGVyLCBcblx0LmZvb3Rlcl9pbm5lciwgXG5cdC5jbXNtYXN0ZXJzX3Jvd19pbm5lciwgXG5cdC5jbXNtYXN0ZXJzX3Jvd190aXRsZV93cmFwIHtcblx0XHR3aWR0aDpAY29udF93aWR0aF9sYXJnZTtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJvamVjdF9wdXp6bGUge1xuXHRcdC5jbXNtYXN0ZXJzX3Byb2plY3RfaGVhZGVyIHtcblx0XHRcdHBhZGRpbmc6NXB4IDA7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3Byb2plY3RfY2F0ZWdvcnkge1xuXHRcdFx0cGFkZGluZy10b3A6MTBweDtcblx0XHR9XG5cdFx0XG5cdFx0LnByb2plY3RfaW5uZXJfY29udCB7XG5cdFx0XHRwYWRkaW5nOjIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3Byb2plY3RfY29udF9pbmZvIHtcblx0XHRcdHBhZGRpbmctdG9wOjE1cHg7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWVkaXVtIE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfbWVkaXVtIHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MTAyNXB4O1xuXHR9XG5cdFxuXHQuZml4ZWRfaGVhZGVyICNoZWFkZXIge1xuXHRcdHBvc2l0aW9uOmZpeGVkO1xuXHR9XG5cdFxuXHQuaGVhZGVyX3RvcF9vdXRlciwgXG5cdC5oZWFkZXJfdG9wIC50b3BfbmF2X3dyYXAgbmF2IHtcblx0XHRkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdC5taWRfbmF2LFxuXHQuYm90X25hdiB7XG5cdFx0PiBsaSB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdC5iZCgwKTtcblx0XHRcdFx0XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHBhZGRpbmc6NnB4IDI1cHggNnB4IDEwcHg7XG5cdFx0XHRcdFx0LmJkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdD4gdWwge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cGFkZGluZzowIDEycHg7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0Ji5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OidcXGU5NGYnO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5Oidmb250ZWxsbyc7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6MTZweDtcblx0XHRcdFx0XHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcdFx0XHRcdC5wb3NfYWJzKDFlbSwgMWVtLCBhdXRvLCAzcHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdGRpdi5tZW51LWl0ZW0tbWVnYS1jb250YWluZXIge1xuXHRcdFx0cGFkZGluZzozMHB4IDIwcHg7XG5cdFx0XHRcblx0XHRcdCA+IHVsID4gbGkgPiBhIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTo1cHg7XG5cdFx0XHQgfVxuXHRcdH1cblx0fVxuXHRcblx0LmhlYWRlcl9ib3Qge1xuXHRcdC5oZWFkZXJfYm90X291dGVyIHtcblx0XHRcdC5iZGI7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGFibGV0IE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfdGFibGV0IHtcblx0LmNtc21hc3RlcnNfcmVzcG9uc2l2ZV93aWR0aCB7XG5cdFx0d2lkdGg6MTAyNHB4O1xuXHR9XG5cdFxuXHQuaGVhZGxpbmVfb3V0ZXIge1xuXHRcdGJhY2tncm91bmQtYXR0YWNobWVudDpzY3JvbGw7XG5cdH1cblx0XG5cdC5nYWxsZXJ5IHtcblx0XHQmLmdhbGxlcnktY29sdW1ucy05LCBcblx0XHQmLmdhbGxlcnktY29sdW1ucy02IHtcblx0XHRcdC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDMpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoNm4gKyAxKSxcblx0XHRcdFx0JjpudGgtY2hpbGQoOW4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoM24gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6Ym90aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLmdhbGxlcnktY29sdW1ucy04IHtcblx0XHRcdC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDQpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoOG4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoNG4gKyAxKSB7XG5cdFx0XHRcdFx0Y2xlYXI6Ym90aDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLmdhbGxlcnktY29sdW1ucy03LCBcblx0XHQmLmdhbGxlcnktY29sdW1ucy01LCBcblx0XHQmLmdhbGxlcnktY29sdW1ucy00XHR7XG5cdFx0XHQuZ2FsbGVyeS1pdGVtIHtcblx0XHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdFx0XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDRuICsgMSksXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDVuICsgMSksXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDduICsgMSkge1xuXHRcdFx0XHRcdGNsZWFyOm5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDJuICsgMSkge1xuXHRcdFx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Byb2ZpbGUuaG9yaXpvbnRhbCAuY21zbWFzdGVyc19wcm9maWxlX2hvcml6b250YWwub25lX2ZvdXJ0aDpudGgtY2hpbGQoMm4rMSkge1xuXHRcdGNsZWFyOmxlZnQ7XG5cdH1cblx0XG5cdCNwYWdlIHtcblx0XHQmLmNtc21hc3RlcnNfYm94ZWQge1xuXHRcdFx0d2lkdGg6IEBjb250X3dpZHRoX2Z1bGw7XG5cdFx0XHRcblx0XHRcdCNoZWFkZXIsIFxuXHRcdFx0I2Zvb3RlciB7XG5cdFx0XHRcdHdpZHRoOiBAY29udF93aWR0aF9mdWxsO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLmZpeGVkX2hlYWRlciB7XG5cdFx0XHQjaGVhZGVyIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQjbWlkZGxlLCBcblx0XHRcdCYuZW5hYmxlX2hlYWRlcl90b3AgI21pZGRsZSwgXG5cdFx0XHQmLmVuYWJsZV9oZWFkZXJfYm90dG9tICNtaWRkbGUsIFxuXHRcdFx0Ji5lbmFibGVfaGVhZGVyX3RvcC5lbmFibGVfaGVhZGVyX2JvdHRvbSAjbWlkZGxlIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQjaGVhZGVyIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQub3ZoO1xuXHRcdFxuXHRcdG5hdiB7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdFxuXHRcdFx0ZGl2LCBcblx0XHRcdHVsLCBcblx0XHRcdGxpLCBcblx0XHRcdGEsIFxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6bm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0dmlzaWJpbGl0eTp2aXNpYmxlO1xuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdFx0bGVmdDphdXRvO1xuXHRcdFx0XHRyaWdodDphdXRvO1xuXHRcdFx0XHR0b3A6YXV0bztcblx0XHRcdFx0Ym90dG9tOmF1dG87XG5cdFx0XHRcdC50YWw7XG5cdFx0XHRcdC5iZCgwKTtcblx0XHRcdFx0LmNsO1xuXHRcdFx0XHQub3ZoO1xuXHRcdFx0XHQuYmRycygwKTtcblx0XHRcdFx0Lm9wKDEpO1xuXHRcdFx0XHQuYnhzaF9ub25lO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRkaXYsIFxuXHRcdFx0dWwsIFxuXHRcdFx0bGksIFxuXHRcdFx0YSB7XG5cdFx0XHRcdCY6YmVmb3JlLCBcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5tZW51LWl0ZW0tbWVnYS1kZXNjcmlwdGlvbi1jb250YWluZXIge1xuXHRcdFx0XHRwYWRkaW5nOjEwcHggMTVweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHQuYmR0O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQ+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHQuYmR0KDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnBvc3QtcGFzc3dvcmQtZm9ybSxcblx0LmhlYWRlcl90b3BfaW5uZXIsIFxuXHQuaGVhZGVyX21pZF9pbm5lciwgXG5cdC5oZWFkZXJfYm90X2lubmVyLCBcblx0LmNvbnRlbnRfd3JhcCwgXG5cdC5oZWFkbGluZV9pbm5lciwgXG5cdC5ib3R0b21fb3V0ZXIsIFxuXHQuZm9vdGVyX2lubmVyLCBcblx0LmNtc21hc3RlcnNfcm93X2lubmVyLCBcblx0LmNtc21hc3RlcnNfcm93X3RpdGxlX3dyYXAge1xuXHRcdHdpZHRoOiBAY29udF93aWR0aF9mdWxsO1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19jb2x1bW4ge1xuXHRcdG1hcmdpbi1ib3R0b206MjBweDtcblx0XHRcdFxuXHRcdC5jbXNtYXN0ZXJzX3Jvd19jb2x1bW5zX2JlaGF2aW9yICYge1xuXHRcdFx0bWFyZ2luLWJvdHRvbToyMHB4O1xuXHRcdH1cblx0XHRcblx0XHQmLm9uZV9maXJzdCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQub25lX2ZpZnRoLCBcblx0Lm9uZV9mb3VydGgsIFxuXHQudGhyZWVfZm91cnRoIHtcblx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19yb3dfbm9fbWFyZ2luID4gLmNtc21hc3RlcnNfcm93X21hcmdpbiB7XG5cdFx0PiAub25lX2ZpZnRoLCBcblx0XHQ+IC5vbmVfZm91cnRoLCBcblx0XHQ+IC50aHJlZV9mb3VydGgge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc18xNDE0MTQxNCB7XG5cdFx0PiAuY21zbWFzdGVyc19jb2x1bW46bnRoLWNoaWxkKDJuICsgMSkge1xuXHRcdFx0Y2xlYXI6bGVmdDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzXzEyMTQxNCwgXG5cdC5jbXNtYXN0ZXJzXzE0MTQxMiB7XG5cdFx0LmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOnJvdW5kKDEwMCUgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0Y2xlYXI6Ym90aDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Jvd19ub19tYXJnaW4ge1xuXHRcdD4gLmNtc21hc3RlcnNfMTIxNDE0LCBcblx0XHQ+IC5jbXNtYXN0ZXJzXzE0MTQxMiB7XG5cdFx0XHQ+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUsIDIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfMTQxMjE0IHtcblx0XHQuY21zbWFzdGVyc19jb2x1bW4ub25lX2ZvdXJ0aCwgXG5cdFx0LmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFx0XG5cdC5jbXNtYXN0ZXJzX3Jvd19ub19tYXJnaW4ge1xuXHRcdD4gLmNtc21hc3RlcnNfMTQxMjE0IHtcblx0XHRcdD4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9mb3VydGgsIFxuXHRcdFx0PiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDMpLCAyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xNDE0MTQxNCB7XG5cdFx0YXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRcdFxuXHRcdFx0JjpudGgtY2hpbGQoMm4rMSkge1xuXHRcdFx0XHRjbGVhcjpsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnNpZGViYXJfbGF5b3V0XzE0MTQxMiB7XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCwgXG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdFx0XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNsICsgYXNpZGUgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKDEwMCUgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0Y2xlYXI6Ym90aDtcblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xNDEyMTQge1xuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQsIFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMykgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHRcdFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDMpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LnNpZGViYXJfbGF5b3V0XzEyMTQxNCB7XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKDEwMCUgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0Y2xlYXI6Ym90aDtcblx0XHR9XG5cdFx0XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlLCBcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8zNDE0IHtcblx0XHQ+IGFzaWRlOmZpcnN0LWNoaWxkLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHR9XG5cdFx0XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbCArIGFzaWRlICsgYXNpZGUsIFxuXHRcdD4gZGl2LmNtc21hc3RlcnNfd2lkZ2V0X2RpdmlkZXIgKyBhc2lkZSArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQzNCB7XG5cdFx0PiBhc2lkZTpmaXJzdC1jaGlsZCwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY21zbWFzdGVyc193aWRnZXRfZGl2aWRlciArIGFzaWRlIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0fVxuXHRcdFxuXHRcdD4gYXNpZGU6Zmlyc3QtY2hpbGQgKyBhc2lkZSwgXG5cdFx0PiBkaXYuY2wgKyBhc2lkZSArIGFzaWRlLCBcblx0XHQ+IGRpdi5jbXNtYXN0ZXJzX3dpZGdldF9kaXZpZGVyICsgYXNpZGUgKyBhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfc3RhdHMuc3RhdHNfbW9kZV9jaXJjbGVzIC5jbXNtYXN0ZXJzX3N0YXRfd3JhcCwgXG5cdC5jbXNtYXN0ZXJzX2NvdW50ZXJzIC5jbXNtYXN0ZXJzX2NvdW50ZXJfd3JhcCB7XG5cdFx0Ji5vbmVfZmlmdGgsIFxuXHRcdCYub25lX2ZvdXJ0aCB7XG5cdFx0XHR3aWR0aDo1MCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wcmljaW5nX3RhYmxlIHtcblx0XHQmLnByaWNpbmdfZm91ciB7XG5cdFx0XHQuY21zbWFzdGVyc19wcmljaW5nX2l0ZW0ge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDIpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMSkge1xuXHRcdFx0XHRcdC5jbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmhlYWRlcl90b3Age1xuXHRcdC5vdmg7XG5cdFx0LmNsO1xuXHRcdFxuXHRcdC5oZWFkZXJfdG9wX2J1dCB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX3RvcF9vdXRlciB7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdC5kbjtcblx0XHRcdC5vdmg7XG5cdFx0fVxuXHRcdFxuXHRcdC5oZWFkZXJfdG9wX2lubmVyIHtcblx0XHRcdGhlaWdodDphdXRvO1xuXHRcdFx0cGFkZGluZzoyMHB4IDA7XG5cdFx0XHQub3ZoO1xuXHRcdH1cblx0XHRcblx0XHQuc29jaWFsX3dyYXAge1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFxuXHRcdFx0LnNvY2lhbF93cmFwX2lubmVyIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnRvcF9uYXZfd3JhcCB7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XG5cdFx0XHRuYXYge1xuXHRcdFx0XHRtYXJnaW46MTBweCAwIDA7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnJlc3BvbnNpdmVfdG9wX25hdiB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX3RvcF9tZXRhIHtcblx0XHRcdHBhZGRpbmc6MjVweCAwIDA7XG5cdFx0XHRcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5tZXRhX3dyYXAge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdC50YWM7XG5cdFx0fVxuXHR9XG5cdFxuXHQjaGVhZGVyIC50b3BfbGluZV9uYXYge1xuXHRcdHBhZGRpbmc6NXB4IDA7XG5cdFx0XG5cdFx0Lm5hdl9pdGVtX3dyYXAge1xuXHRcdFx0cGFkZGluZzo1cHggMDtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHR9XG5cdFxuXHQjaGVhZGVyIC5oZWFkZXJfbWlkIHtcblx0XHQub3ZoO1xuXHRcdC5jbDtcblx0XHRcblx0XHQuaGVhZGVyX21pZF9vdXRlciB7XG5cdFx0XHQub3ZoO1xuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX21pZF9pbm5lciB7XG5cdFx0XHRwYWRkaW5nOjAgQGJsb2Nrc19ob3JfcGFkO1xuXHRcdFx0XG5cdFx0XHQuZW5hYmxlX2hlYWRlcl9jZW50ZXJlZCAmIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnJlc3BfbWlkX25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0fVxuXHRcdFxuXHRcdC5oZWFkZXJfbWlkX2J1dHRvbl93cmFwIHtcblx0XHRcdHBhZGRpbmctbGVmdDoxNXB4O1xuXHRcdH1cblx0XHRcblx0XHQubWlkX25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCAtQGJsb2Nrc19ob3JfcGFkO1xuXHRcdFx0dmlzaWJpbGl0eTp2aXNpYmxlO1xuXHRcdFx0Lm92aDtcblx0XHRcdC5jbDtcblx0XHRcdC5vcCgxKTtcblx0XHRcdFxuXHRcdFx0bmF2IHtcblx0XHRcdFx0LmRuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I2hlYWRlciAuaGVhZGVyX2JvdCB7XG5cdFx0Lm92aDtcblx0XHQuY2w7XG5cdFx0XG5cdFx0LmhlYWRlcl9ib3Rfb3V0ZXIge1xuXHRcdFx0Lm92aDtcblx0XHR9XG5cdFx0XG5cdFx0LmhlYWRlcl9ib3RfaW5uZXIge1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdH1cblx0XHRcblx0XHQucmVzcF9ib3RfbmF2X3dyYXAge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRcblx0XHRcdC5yZXNwX2JvdF9uYXZfb3V0ZXIge1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYm90X25hdl93cmFwIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdHZpc2liaWxpdHk6dmlzaWJsZTtcblx0XHRcdC5vdmg7XG5cdFx0XHQuY2w7XG5cdFx0XHQub3AoMSk7XG5cdFx0XHRcblx0XHRcdG5hdiB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIgLm5hdmlnYXRpb24ge1xuXHRcdHBhZGRpbmc6MTBweCAwO1xuXHRcdFxuXHRcdGEge1xuXHRcdFx0cGFkZGluZzo5cHggMjBweCA5cHggMzBweDtcblx0XHR9XG5cdFx0XG5cdFx0bGkgbGkge1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OjUwcHg7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGxpIHtcblx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6NzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQubmF2X2l0ZW1fd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHR9XG5cdFx0XG5cdFx0Lm5hdl90aXRsZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcblx0XHR9XG5cdFx0XG5cdFx0Lm5hdl90YWcge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRwYWRkaW5nOjAgNXB4O1xuXHRcdFx0bWFyZ2luOjAgMCAwIDEwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5uYXZfc3VidGl0bGUge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcmVzcF9uYXZfdG9nZ2xlIHtcblx0XHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdFx0bWFyZ2luOjAgMCAwIDE1cHg7XG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcblx0XHRcdC5mcjtcblx0XHRcdC50YWM7XG5cdFx0XHRcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0LnBvc19hYnMoKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm1lbnUtaXRlbS1tZWdhLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRsZWZ0OmF1dG8gIWltcG9ydGFudDtcblx0XHRcdHJpZ2h0OmF1dG8gIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Byb2ZpbGVfaG9yaXpvbnRhbCB7XG5cdFx0LmNtc21hc3RlcnNfaW1nX3NvY2lhbF93cmFwIHtcblx0XHRcdC5wcm9maWxlX3NvY2lhbF9pY29ucyB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnByb2ZpbGVfaW5uZXIge1xuXHRcdFx0LnByb2ZpbGVfc29jaWFsX2ljb25zIHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Bvc3RfZGVmYXVsdCB7XG5cdFx0LmNtc21hc3RlcnNfcG9zdF9jb250IHtcblx0XHRcdHBhZGRpbmc6MzBweCA0MHB4O1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfb3Blbl9wb3N0IC5jbXNtYXN0ZXJzX3Bvc3RfdG9wIHtcblx0XHRwYWRkaW5nOjMwcHggNDBweDtcblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXHRUYWJsZXQgTW9uaXRvciA5NTBcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfdGFibGV0Xzk1MCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjk1MHB4O1xuXHR9XG5cdFxuXHQuY29udGVudF93cmFwIHtcblx0XHQmLmxfc2lkZWJhciwgXG5cdFx0Ji5yX3NpZGViYXIge1xuXHRcdFx0LmNtc21hc3RlcnNfcm93IHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6MDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OjA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY29udGVudCwgXG5cdC5zaWRlYmFyIHtcblx0XHR3aWR0aDogQGNvbnRfd2lkdGhfZnVsbDtcblx0XHRwYWRkaW5nLWxlZnQ6MDtcblx0XHRwYWRkaW5nLXJpZ2h0OjA7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX29wZW5fcHJvamVjdCB7XG5cdFx0LnByb2plY3RfY29udGVudCB7XG5cdFx0XHQmLndpdGhfc2lkZWJhciB7XG5cdFx0XHRcdC5jbXNtYXN0ZXJzX3Byb2plY3RfY29udGVudCB7XG5cdFx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQucHJvamVjdF9zaWRlYmFyIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0cGFkZGluZzoyNXB4IDAgMDtcblx0XHR9XG5cdH1cblx0XG5cdC5wb3N0X25hdiB7XG5cdFx0bWFyZ2luOjI1cHggMCAwO1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wcm9maWxlX3ZlcnRpY2FsIHtcblx0XHQuY21zbWFzdGVyc19pbWdfd3JhcCB7XG5cdFx0XHQrIC5wcm9maWxlX2lubmVyIHtcblx0XHRcdFx0cGFkZGluZzowO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfb3Blbl9wcm9maWxlIHtcblx0XHQucHJvZmlsZV9jb250ZW50IHtcblx0XHRcdCYud2l0aF9zaWRlYmFyIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnByb2ZpbGVfc2lkZWJhciB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdH1cblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNtYWxsIFRhYmxldCBNb25pdG9yXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIEBtb25pdG9yX3RhYmxldF9zbWFsbCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjc2OHB4O1xuXHR9XG5cdFxuXHQuZ2FsbGVyeSB7XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtOFx0e1xuXHRcdFx0LmdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gMikgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCg0biArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCgybiArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19jb2x1bW4geyBcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdH1cblx0fVxuXHRcblx0Lm9uZV9maXJzdCwgXG5cdC5vbmVfaGFsZiwgXG5cdC5vbmVfdGhpcmQsIFxuXHQudHdvX3RoaXJkLCBcblx0Lm9uZV9mb3VydGgsIFxuXHQub25lX2ZpZnRoLCBcblx0LnRocmVlX2ZvdXJ0aCwgXG5cdC5jbXNtYXN0ZXJzXzEyMTQxNCAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYsIFxuXHQuY21zbWFzdGVyc18xNDE0MTIgLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmLCBcblx0LmNtc21hc3RlcnNfMTQxMjE0IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfZm91cnRoLCBcblx0LmNtc21hc3RlcnNfMTQxMjE0IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiB7XG5cdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRmbG9hdDpub25lO1xuXHRcdGNsZWFyOmJvdGg7XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcm93X2NvbHVtbnNfYmVoYXZpb3IgJiB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc19jb2x1bW5faW5uZXIge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcm93X25vX21hcmdpbiB7XG5cdFx0PiAuY21zbWFzdGVyc19yb3dfbWFyZ2luIHtcblx0XHRcdD4gLm9uZV9maXJzdCwgXG5cdFx0XHQ+IC5vbmVfaGFsZiwgXG5cdFx0XHQ+IC5vbmVfdGhpcmQsIFxuXHRcdFx0PiAudHdvX3RoaXJkLCBcblx0XHRcdD4gLm9uZV9mb3VydGgsIFxuXHRcdFx0PiAub25lX2ZpZnRoLCBcblx0XHRcdD4gLnRocmVlX2ZvdXJ0aCB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUsIDIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQ+IC5jbXNtYXN0ZXJzXzEyMTQxNCA+IC5jbXNtYXN0ZXJzX2NvbHVtbi5vbmVfaGFsZiwgXG5cdFx0PiAuY21zbWFzdGVyc18xNDE0MTIgPiAuY21zbWFzdGVyc19jb2x1bW4ub25lX2hhbGYsIFxuXHRcdD4gLmNtc21hc3RlcnNfMTQxMjE0ID4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9mb3VydGgsIFxuXHRcdD4gLmNtc21hc3RlcnNfMTQxMjE0ID4gLmNtc21hc3RlcnNfY29sdW1uLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOnJvdW5kKDEwMCUsIDIpO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcm93X21hcmdpbi5jbXNtYXN0ZXJzX3Jvd19jb2x1bW5zX2JlaGF2aW9yIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2ZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9ibG9ja190ZXh0OmVtcHR5IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19yb3dfbm9fbWFyZ2luIHtcblx0XHQ+IC5jbXNtYXN0ZXJzX3Jvd19tYXJnaW4ge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdH1cblx0XG5cdC5zaWRlYmFyX2xheW91dF8xNDE0MTQxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xNDE0MTIsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTQxMjE0LCBcblx0LnNpZGViYXJfbGF5b3V0XzEyMTQxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xMzEzMTMsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMzQxNCwgXG5cdC5zaWRlYmFyX2xheW91dF8xNDM0LCBcblx0LnNpZGViYXJfbGF5b3V0XzIzMTMsIFxuXHQuc2lkZWJhcl9sYXlvdXRfMTMyMywgXG5cdC5zaWRlYmFyX2xheW91dF8xMjEyIHtcblx0XHRhc2lkZSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDIpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19mZWF0dXJlZF9ibG9jayAuZmVhdHVyZWRfYmxvY2tfaW5uZXIge1xuXHRcdHdpZHRoOjEwMCUgIWltcG9ydGFudDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfc3RhdHMuc3RhdHNfbW9kZV9jaXJjbGVzIC5jbXNtYXN0ZXJzX3N0YXRfd3JhcCwgXG5cdC5jbXNtYXN0ZXJzX2NvdW50ZXJzIC5jbXNtYXN0ZXJzX2NvdW50ZXJfd3JhcCB7XG5cdFx0Ji5vbmVfdGhpcmQge1xuXHRcdFx0d2lkdGg6NTAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJpY2luZ190YWJsZSB7XG5cdFx0Ji5wcmljaW5nX3RocmVlIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3ByaWNpbmdfaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2NsaWVudHNfZ3JpZCB7XG5cdFx0Ji5jbGllbnRzX2ZpdmUsIFxuXHRcdCYuY2xpZW50c19mb3VyLCBcblx0XHQmLmNsaWVudHNfdGhyZWUsIFxuXHRcdCYuY2xpZW50c190d28ge1xuXHRcdFx0LmNtc21hc3RlcnNfY2xpZW50c19pdGVtIHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0LmNsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I2hlYWRlciAuaGVhZGVyX21pZCB7XG5cdFx0LmhlYWRlcl9taWRfaW5uZXIge1xuXHRcdFx0cGFkZGluZzoyMHB4IDAgMDtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHRcdFxuXHRcdC5sb2dvX3dyYXAge1xuXHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCAxNXB4IDMwcHg7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQubG9nbyB7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0cG9zaXRpb246c3RhdGljO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5yZXNwX21pZF9uYXZfd3JhcCB7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46MCA3cHggMjBweDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdC50YWM7XG5cdFx0XHRcblx0XHRcdC5yZXNwX21pZF9uYXZfb3V0ZXIge1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5taWRfc2VhcmNoX2J1dF93cmFwIHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjowIDdweCAyMHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdFx0XG5cdFx0LnNvY2lhbF93cmFwIHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjowIDdweCAyMHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0LnRhYztcblx0XHRcdFxuXHRcdFx0LnNvY2lhbF93cmFwX2lubmVyIHtcblx0XHRcdFx0LnRhYztcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnNsb2dhbl93cmFwIHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjowIDdweCAyMHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0LnRhYztcblx0XHRcdFxuXHRcdFx0LnNsb2dhbl93cmFwX2lubmVyIHtcblx0XHRcdFx0cGFkZGluZzowO1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5zbG9nYW5fd3JhcF90ZXh0IHtcblx0XHRcdFx0LnRhYztcblx0XHRcdFx0XG5cdFx0XHRcdD4gLmNtc21hc3RlcnNfYnV0dG9uIHtcblx0XHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyX21pZF9idXR0b25fd3JhcCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MCA3cHggMjBweDtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdFx0XG5cdFx0Lm1pZF9uYXZfd3JhcCB7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdHZpc2liaWxpdHk6dmlzaWJsZTtcblx0XHRcdC5vdmg7XG5cdFx0XHQuY2w7XG5cdFx0XHQub3AoMSk7XG5cdFx0XHRcblx0XHRcdG5hdiB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCNoZWFkZXIgLmhlYWRlcl9ib3Qge1xuXHRcdC5yZXNwX2JvdF9uYXZfd3JhcCB7XG5cdFx0XHRwYWRkaW5nOjE1cHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQjcGFnZSAuaGVhZGxpbmVfb3V0ZXIge1xuXHRcdC5oZWFkbGluZV9pbm5lciB7XG5cdFx0XHRwYWRkaW5nOjIwcHg7XG5cdFx0XHRcblx0XHRcdC5oZWFkbGluZV90ZXh0X3dyYXAge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuaGVhZGxpbmVfYWxpZ25lciB7XG5cdFx0XHRcdC5kbjtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmhlYWRsaW5lX3RleHQge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfZm9vdGVyX3NtYWxsIHtcblx0XHQuZm9vdGVyX25hdl93cmFwIHtcblx0XHRcdHBhZGRpbmc6MCAwIDEwcHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XG5cdFx0XHRuYXYgPiBkaXYge1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5mb290ZXJfbmF2IHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHQudGFjO1xuXHRcdFx0XG5cdFx0XHQ+IGxpIHtcblx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5zb2NpYWxfd3JhcCB7XG5cdFx0XHRwYWRkaW5nOjVweCAwIDE1cHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XG5cdFx0XHQuc29jaWFsX3dyYXBfaW5uZXIge1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDpub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5mb290ZXJfY3VzdG9tX2h0bWxfd3JhcCB7XG5cdFx0XHRwYWRkaW5nOjAgMCAxMHB4O1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFxuXHRcdFx0LmZvb3Rlcl9jdXN0b21faHRtbCB7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5mb290ZXJfY29weXJpZ2h0IHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdC50YWM7XG5cdFx0fVxuXHR9XG5cdFxuXHQuYmxvZy50aW1lbGluZSB7XG5cdFx0aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdC5wb3N0IHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRwYWRkaW5nLXRvcDo0MHB4O1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDtcblx0XHRcdGxlZnQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0cmlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRcdFx0dG9wOmF1dG8gIWltcG9ydGFudDtcblx0XHRcdGJvdHRvbTphdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHQtbW96LXRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHQtbXMtdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdC1vLXRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy10b3A6MDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYuY21zbWFzdGVyc190aW1lbGluZV9sZWZ0LCBcblx0XHRcdCYuY21zbWFzdGVyc190aW1lbGluZV9yaWdodCB7XG5cdFx0XHRcdC5jbXNtYXN0ZXJzX3RpbWVsaW5lX21hcmdpbiB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6MDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcG9zdF9kZWZhdWx0ICB7XG5cdFx0LmNtc21hc3RlcnNfaW1nX3dyYXAsXG5cdFx0LmNtc21hc3RlcnNfcG9zdF92aWRlb193cmFwLFxuXHRcdC5jbXNtYXN0ZXJzX293bF9zbGlkZXIge1xuXHRcdFx0LmZ1bGx3aWR0aCAmIHtcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfcG9zdF9jb250IHtcblx0XHRcdHBhZGRpbmc6MjBweDtcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX29wZW5fcG9zdCAuY21zbWFzdGVyc19wb3N0X3RvcCB7XG5cdFx0cGFkZGluZzoyMHB4O1xuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wb3N0X3RpbWVsaW5lIHtcblx0XHQuY21zbWFzdGVyc19pbWdfd3JhcCxcblx0XHQuY21zbWFzdGVyc19wb3N0X3ZpZGVvX3dyYXAsXG5cdFx0LmNtc21hc3RlcnNfb3dsX3NsaWRlciB7XG5cdFx0XHQuZnVsbHdpZHRoICYge1xuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcHJvZmlsZV92ZXJ0aWNhbCB7XG5cdFx0LmNtc21hc3RlcnNfaW1nX3dyYXAge1xuXHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdHBhZGRpbmc6MCAwIDMwcHg7XG5cdFx0XHRcblx0XHRcdCYubm9faW1hZ2Uge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQrIC5wcm9maWxlX2lubmVyIHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0cGFkZGluZzowO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Lm9wZW5lZC1hcnRpY2xlIHtcblx0XHQmLmJsb2cge1xuXHRcdFx0Lm1pZGRsZV9jb250ZW50ICYge1xuXHRcdFx0XHRwYWRkaW5nOjMwcHggMCA1MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLnByb2ZpbGVzIHtcblx0XHRcdC5taWRkbGVfY29udGVudCAmIHtcblx0XHRcdFx0cGFkZGluZzowIDAgNTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3F1b3Rlc19ncmlkIHtcblx0XHQmLnF1b3RlX2ZvdXIge1xuXHRcdFx0LmNtc21hc3RlcnNfcXVvdGVzX2xpc3Qge1xuXHRcdFx0XHRwYWRkaW5nOjE1cHggMDtcblx0XHRcdFx0XG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6MDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOjA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfcXVvdGUge1xuXHRcdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDIpIC0gKEBjb2xfbWFyICogMiksIDMpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOm50aC1jaGlsZCgybiArIDEpIHtcblx0XHRcdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYucXVvdGVfdHdvIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3F1b3RlX2lubmVyIHtcblx0XHRcdFx0cGFkZGluZzowIDUwcHggMCAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfdGFicyAge1xuXHRcdCYudGFic19tb2RlX3RhYiB7XG5cdFx0XHQuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbSB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdC5iZGI7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbjowO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0XHRwYWRkaW5nOjEwcHggMDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmW2NsYXNzXj1cImNtc21hc3RlcnMtaWNvbi1cIl0sIFxuXHRcdFx0XHRcdCZbY2xhc3NePVwiY21zbWFzdGVyc190aGVtZV9pY29uX1wiXSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOjEwcHggMCAxMHB4IDM1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdC5wb3NfYWJzKDFlbSwgMWVtLCAwLCBhdXRvKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfdGFic193cmFwIHtcblx0XHRcdFx0LmJkdCgwKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfdGFiX2lubmVyIHtcblx0XHRcdFx0cGFkZGluZzoyNXB4IDAgMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji50YWJzX21vZGVfdG91ciB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc190YWJzX2xpc3Qge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY21zbWFzdGVyc190YWJzX3dyYXAge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRtYXJnaW46MTBweCAwIDA7XG5cdFx0XHRcdC5iZGwoMCk7XG5cdFx0XHRcdC5iZGIoMCk7XG5cdFx0XHRcdC5iZHQ7XG5cdFx0XHRcdFxuXHRcdFx0XHQuY21zbWFzdGVyc190YWJfaW5uZXIge1xuXHRcdFx0XHRcdHBhZGRpbmc6MjBweCAwIDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji50YWJzX3Bvc19yaWdodCAge1xuXHRcdFx0XHRkaXJlY3Rpb246bHRyO1xuXHRcdFx0XHRcblx0XHRcdFx0LmNtc21hc3RlcnNfdGFic19saXN0IHtcblx0XHRcdFx0XHQudGFsO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQuY21zbWFzdGVyc190YWJzX2xpc3RfaXRlbSB7XG5cdFx0XHRcdFx0LnRhcjtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOjA7XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQmW2NsYXNzXj1cImNtc21hc3RlcnMtaWNvbi1cIl0sIFxuXHRcdFx0XHRcdFx0XHQmW2NsYXNzXj1cImNtc21hc3RlcnNfdGhlbWVfaWNvbl9cIl0ge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6MDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0LmNtc21hc3RlcnNfdGFic193cmFwIHtcblx0XHRcdFx0XHQuYmRyKDApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQuY21zbWFzdGVyc190YWJfaW5uZXIge1xuXHRcdFx0XHRcdC50YWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5scHIge1xuXHRcdFx0LmNtc21hc3RlcnNfdGFic19saXN0X2l0ZW0ge1xuXHRcdFx0XHQrIC5jbXNtYXN0ZXJzX3RhYnNfbGlzdF9pdGVtIHtcblx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0LmNtc21hc3RlcnNfdGFic193cmFwIHtcblx0XHRcdFx0cGFkZGluZzoyMHB4IDAgMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3NpdGVtYXBfd3JhcCB7XG5cdFx0LmNtc21hc3RlcnNfc2l0ZW1hcCA+IGxpID4gdWwgPiBsaSxcblx0XHQuY21zbWFzdGVyc19zaXRlbWFwX2NhdGVnb3J5ID4gbGksXG5cdFx0LmNtc21hc3RlcnNfc2l0ZW1hcF9hcmNoaXZlID4gbGkge1xuXHRcdFx0d2lkdGg6NTAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmVycm9yIHtcblx0XHQuZXJyb3JfaW5uZXIge1xuXHRcdFx0cGFkZGluZzoxNDBweCAyMHB4IDUwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuZXJyb3JfY29udCB7XG5cdFx0cGFkZGluZzo0MHB4IDAgMTUwcHg7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX2FyY2hpdmVfdHlwZSB7XG5cdFx0LmNtc21hc3RlcnNfYXJjaGl2ZV9pdGVtX2ltZ193cmFwIHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR3aWR0aDo0MiU7XG5cdFx0XHRtYXJnaW46MCBhdXRvIDMwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2FyY2hpdmVfaXRlbV9jb250X3dyYXAsXG5cdFx0LmNtc21hc3RlcnNfYXJjaGl2ZV9pdGVtX3R5cGUsXG5cdFx0LmNtc21hc3RlcnNfYXJjaGl2ZV9pdGVtX2NvbnRlbnQge1xuXHRcdFx0LnRhYztcblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3Byb2plY3RfcHV6emxlIHtcblx0XHQuY21zbWFzdGVyc19wcm9qZWN0X2NvbnRfaW5mbyxcblx0XHQuY21zbWFzdGVyc19wcm9qZWN0X2NhdGVnb3J5IHtcblx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHR9XG5cdH1cbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUYWJsZXQgTW9uaXRvciA2MDBcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfdGFibGV0XzYwMCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjYwMHB4O1xuXHR9XG5cdFxuXHRodG1sLmNtc21hc3RlcnNfaHRtbCB7XG5cdFx0bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG5cdFx0XG5cdFx0Ym9keS5hZG1pbi1iYXIge1xuXHRcdFx0cGFkZGluZy10b3A6NDZweDtcblx0XHR9XG5cdFx0XG5cdFx0LmNtc21hc3RlcnNfaGVhZGVyX3NlYXJjaF9mb3JtIHtcblx0XHRcdHRvcDowO1xuXHRcdFx0Ym90dG9tOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQucG9zdF9uYXYge1xuXHRcdHBhZGRpbmc6MTVweCAyMHB4O1xuXHRcdC50YWM7XG5cdFx0XG5cdFx0PiBzcGFuIHtcblx0XHRcdGEge1xuXHRcdFx0XHRwYWRkaW5nOjEycHggMDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5kbiB7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5jbXNtYXN0ZXJzX3ByZXZfcG9zdCB7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6NDVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRsZWZ0OjA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ji5jbXNtYXN0ZXJzX25leHRfcG9zdCAge1xuXHRcdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0cGFkZGluZzowO1xuXHRcdFx0XHRcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDo0NXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdHJpZ2h0OjA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3F1b3Rlc19ncmlkIHtcblx0XHQmLnF1b3RlX29uZSxcblx0XHQmLnF1b3RlX3R3byxcblx0XHQmLnF1b3RlX3RocmVlIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3F1b3Rlc19saXN0IHtcblx0XHRcdFx0cGFkZGluZzoxNXB4IDA7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOjA7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5jbXNtYXN0ZXJzX3F1b3RlIHtcblx0XHRcdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAzKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbToyMHB4O1xuXHRcdFx0XHRjbGVhcjpib3RoO1xuXHRcdFx0XHRcblx0XHRcdFx0LmNtc21hc3RlcnNfcXVvdGVfaW5uZXIge1xuXHRcdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBob25lIE1vbml0b3Jcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgQG1vbml0b3JfcGhvbmUge1xuXHQuY21zbWFzdGVyc19yZXNwb25zaXZlX3dpZHRoIHtcblx0XHR3aWR0aDo1NDBweDtcblx0fVxuXHRcblx0I3BhZ2UgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG5cdFx0d2lkdGg6cm91bmQoMTAwJSAtIChAY29sX21hciAqIDIpLCAyKTtcblx0XHRmbG9hdDpub25lO1xuXHRcdGNsZWFyOmJvdGg7XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3N0YXRzLnN0YXRzX21vZGVfY2lyY2xlcyAuY21zbWFzdGVyc19zdGF0X3dyYXAsIFxuXHQuY21zbWFzdGVyc19jb3VudGVycyAuY21zbWFzdGVyc19jb3VudGVyX3dyYXAge1xuXHRcdCYub25lX2ZpZnRoLCBcblx0XHQmLm9uZV9mb3VydGgsIFxuXHRcdCYub25lX3RoaXJkLCBcblx0XHQmLm9uZV9oYWxmIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19wcmljaW5nX3RhYmxlIHtcblx0XHQmLnByaWNpbmdfZm91ciwgXG5cdFx0Ji5wcmljaW5nX3RocmVlLCBcblx0XHQmLnByaWNpbmdfdHdvLCBcblx0XHQmLnByaWNpbmdfb25lIHtcblx0XHRcdC5jbXNtYXN0ZXJzX3ByaWNpbmdfaXRlbSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUgLSAoQGNvbF9tYXIgKiAyKSwgMik7XG5cdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuY21zbWFzdGVyc19oZWFkZXJfc2VhcmNoX2Zvcm0ge1xuXHRcdC5jbXNtYXN0ZXJzX2hlYWRlcl9zZWFyY2hfZm9ybV9maWVsZCB7XG5cdFx0XHRoZWlnaHQ6MTAzcHg7XG5cdFx0XHRcblx0XHRcdEB7aW5wdXRfdGV4dH0ge1xuXHRcdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdFx0LmJkKDApO1xuXHRcdFx0XHQudGFjO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRtYXJnaW46MTVweCAwIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQjcGFnZSAuY21zbWFzdGVyc19icmVhZGNydW1icyB7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0XHQudGFjO1xuXHRcdFxuXHRcdC5jbXNtYXN0ZXJzX2JyZWFkY3J1bWJzX2FsaWduZXIge1xuXHRcdFx0LmRuO1xuXHRcdH1cblx0XHRcblx0XHQuY21zbWFzdGVyc19icmVhZGNydW1ic19pbm5lciB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfcXVvdGVzX2dyaWQge1xuXHRcdCYucXVvdGVfZm91ciB7XG5cdFx0XHQuY21zbWFzdGVyc19xdW90ZSB7XG5cdFx0XHRcdHdpZHRoOnJvdW5kKDEwMCUgLSAoQGNvbF9tYXIgKiAyKSwgMyk7XG5cdFx0XHRcdGNsZWFyOmJvdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuYWJvdXRfYXV0aG9yIHtcblx0XHQuYWJvdXRfYXV0aG9yX2F2YXRhciB7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0bWFyZ2luOjAgMCAyMHB4O1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfY29tbWVudF9pdGVtIHtcblx0XHQuY21zbWFzdGVyc19jb21tZW50X2l0ZW1fYXZhdGFyIHtcblx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjowIDAgNXB4O1xuXHRcdH1cblx0fVxuXHRcblx0LmNvbW1lbnRsaXN0IC5jaGlsZHJlbiB7XG5cdFx0cGFkZGluZzowIDAgMCAxNXB4O1xuXHR9XG5cdFxuXHQuY29tbWVudC1yZXNwb25kIHtcblx0XHRwYWRkaW5nOjI1cHggMzBweDtcblx0XHRcblx0XHQuY29tbWVudC1mb3JtLWVtYWlsLFxuXHRcdC5jb21tZW50LWZvcm0tYXV0aG9yIHtcblx0XHRcdG1heC13aWR0aDpub25lO1xuXHRcdFx0ZmxvYXQ6bm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdFx0cGFkZGluZy1yaWdodDowO1xuXHRcdFx0XG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5jbXNtYXN0ZXJzX3NpdGVtYXBfd3JhcCB7XG5cdFx0LmNtc21hc3RlcnNfc2l0ZW1hcCA+IGxpID4gdWwgPiBsaSxcblx0XHQuY21zbWFzdGVyc19zaXRlbWFwX2NhdGVnb3J5ID4gbGksXG5cdFx0LmNtc21hc3RlcnNfc2l0ZW1hcF9hcmNoaXZlID4gbGkge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHR9XG5cdH1cblx0XG5cdC5lcnJvciB7XG5cdFx0LmVycm9yX2lubmVyIHtcblx0XHRcdHBhZGRpbmc6NjBweCAyMHB4IDMwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5lcnJvcl90aXRsZSB7XG5cdFx0XHRmb250LXNpemU6MTUycHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuZXJyb3JfY29udCB7XG5cdFx0cGFkZGluZzoyMHB4IDAgNTBweDtcblx0fVxuXHRcblx0LmNtc21hc3RlcnNfYXJjaGl2ZV90eXBlIHtcblx0XHQuY21zbWFzdGVyc19hcmNoaXZlX2l0ZW1faW1nX3dyYXAge1xuXHRcdFx0d2lkdGg6NjIlO1xuXHRcdH1cblx0fVxuXHRcblx0LmNtc21hc3RlcnNfd3JhcF9wYWdpbmF0aW9uIHtcblx0XHR1bCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdC5wYWdlLW51bWJlcnMge1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OjMwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHRtaW4td2lkdGg6MzJweDtcblx0XHRcdFx0XHRoZWlnaHQ6MzJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I3NsaWRlX3RvcCB7XG5cdFx0Ym90dG9tOjExMHB4O1xuXHR9XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU21hbGwgUGhvbmUgTW9uaXRvclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBAbW9uaXRvcl9waG9uZV9zbWFsbCB7XG5cdC5jbXNtYXN0ZXJzX3Jlc3BvbnNpdmVfd2lkdGgge1xuXHRcdHdpZHRoOjMyMHB4O1xuXHR9XG5cdFxuXHQucG9zdC1wYXNzd29yZC1mb3JtLFxuXHQuaGVhZGVyX3RvcF9pbm5lciwgXG5cdC5oZWFkZXJfbWlkX2lubmVyLCBcblx0LmhlYWRlcl9ib3RfaW5uZXIsIFxuXHQuY29udGVudF93cmFwLCBcblx0LmhlYWRsaW5lX2lubmVyLCBcblx0LmJvdHRvbV9vdXRlciwgXG5cdC5mb290ZXJfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfaW5uZXIsIFxuXHQuY21zbWFzdGVyc19yb3dfdGl0bGVfd3JhcCB7XG5cdFx0d2lkdGg6IEBjb250X3dpZHRoX21pbjtcblx0fVxufVxufVxuXG4iLCJcclxuQGlucHV0X3BhZDogOHB4O1xyXG5AaW5wdXRfaGVpZ2h0OiA0OHB4O1xyXG5cclxuQGxpbmVfaGVpZ2h0X3BhZDogMjBweDtcclxuQGRlZmF1bHRfbGlzdF90b3BfcGFkOiAxMHB4O1xyXG5AZGVmYXVsdF9saXN0X2xlZnRfcGFkOiAyMHB4O1xyXG5AYmxvY2tzX2hvcl9wYWQ6IDIwcHg7XHJcbkBjb250X3NpZGViYXJfcGFkOiA2MHB4O1xyXG5AY29udF92ZXJ0X3BhZDogODBweDtcclxuXHJcbkBiZHJzX3dpZHRoOiAzMHB4O1xyXG5AYnV0X2JkcnNfd2lkdGg6IEBiZHJzX3dpZHRoO1xyXG5AYnV0X2JkX3dpZHRoOiAxcHg7XHJcblxyXG5AY29sX21hcjogMS4zJTtcclxuXHJcbkByZXNwX2Jsb2Nrc19wYWQ6IDY2Ljg2JTtcclxuXHJcbkBwcmVsb2FkZXJfYmxvZ19kZWZhdWx0X3BhZDogNTUuOCU7XHJcbkBwcmVsb2FkZXJfYmxvZ19tYXNvbnJ5X3BhZDogNjMuMSU7XHJcbkBwcmVsb2FkZXJfYmxvZ190aW1lbGluZV9wYWQ6IDYzLjElO1xyXG5AcHJlbG9hZGVyX29wZW5fcG9zdF9wYWQ6IDY2Ljg2JTtcclxuQHByZWxvYWRlcl9wb3J0Zm9saW9fZ3JpZF9wYWQ6IDcwLjY5JTtcclxuQHByZWxvYWRlcl9vcGVuX3Byb2plY3RfcGFkOiA1NS44JTtcclxuQHByZWxvYWRlcl9wb3N0c19zbGlkZXJfcGFkOiA2My4xJTtcclxuQHByZWxvYWRlcl9wb3N0c19zbGlkZXJfcHJvamVjdF9wYWQ6IDcwLjY5JTtcclxuQHByZWxvYWRlcl9hcmNoaXZlc19wYWQ6IDEwMCU7XHJcblxyXG5Ac2lkZWJhcl93aWR0aDogMjglO1xyXG5AY29udGVudF93aWR0aDogMTAwJSAtIEBzaWRlYmFyX3dpZHRoO1xyXG5cclxuQG1pZF9uYXZfZHJvcGRvd25fd2lkdGg6IDIwNnB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl9wYWRfdG9wOiAxNXB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl9wYWRfYm90OiAxNXB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl92ZXJ0X21hcl9zdGFydDogMjVweDtcclxuQG1pZF9uYXZfZHJvcGRvd25fdmVydF9tYXJfZW5kOiAxNXB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl9ob3JfbWFyX3N0YXJ0OiAxMHB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl9ob3JfbWFyX2VuZDogMnB4O1xyXG5cclxuQGJvdF9uYXZfZHJvcGRvd25fd2lkdGg6IDIwNnB4O1xyXG5AYm90X25hdl9kcm9wZG93bl9wYWRfdG9wOiAxNXB4O1xyXG5AYm90X25hdl9kcm9wZG93bl9wYWRfYm90OiAxNXB4O1xyXG5AYm90X25hdl9kcm9wZG93bl92ZXJ0X21hcl9zdGFydDogMjBweDtcclxuQGJvdF9uYXZfZHJvcGRvd25fdmVydF9tYXJfZW5kOiAwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfc3RhcnQ6IDEwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX2hvcl9tYXJfZW5kOiAycHg7XHJcblxyXG5AdG9wX25hdl9kcm9wZG93bl93aWR0aDogMTc1cHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3BhZF90b3A6IDEzcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3BhZF9ib3Q6IDEzcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl92ZXJ0X21hcl9lbmQ6IDBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25faG9yX21hcl9zdGFydDogMjBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25faG9yX21hcl9lbmQ6IDJweDtcclxuXHJcbkBjb250X3dpZHRoX2RlZjogOTgwcHg7XHJcbkBjb250X3dpZHRoX2xhcmdlOiAxMjAwcHg7XHJcbkBjb250X3dpZHRoX2Z1bGw6IDEwMCU7XHJcbkBjb250X3dpZHRoX21pbjogMzIwcHg7XHJcblxyXG5AaW5wdXRfdGV4dDogZSgnaW5wdXQ6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWhpZGRlbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1yZXNldF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9Y29sb3JdKTpub3QoW3R5cGU9cmFuZ2VdKScpO1xyXG5cclxuQG1vbml0b3JfbGFyZ2U6IH4nKG1pbi13aWR0aDogMTQ0MHB4KSc7XHJcbkBtb25pdG9yX21lZGl1bTogficobWluLXdpZHRoOiAxMDI1cHgpJztcclxuQG1vbml0b3JfdGFibGV0OiB+JyhtYXgtd2lkdGg6IDEwMjRweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfOTUwOiB+JyhtYXgtd2lkdGg6IDk1MHB4KSc7XHJcbkBtb25pdG9yX3RhYmxldF9zbWFsbDogficobWF4LXdpZHRoOiA3NjhweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfNjAwOiB+JyhtYXgtd2lkdGg6IDYwMHB4KSc7XHJcbkBtb25pdG9yX3Bob25lOiB+JyhtYXgtd2lkdGg6IDU0MHB4KSc7XHJcbkBtb25pdG9yX3Bob25lX3NtYWxsOiB+JyhtYXgtd2lkdGg6IDMyMHB4KSc7XHJcblxyXG5cclxuXHJcbi5mbCAoKSB7XHJcblx0ZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuLmZyICgpIHtcclxuXHRmbG9hdDpyaWdodDtcclxufVxyXG5cclxuLmRuICgpIHtcclxuXHRkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi50YWwgKCkge1xyXG5cdHRleHQtYWxpZ246bGVmdDtcclxufVxyXG5cclxuLnRhYyAoKSB7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuXHJcbi50YXIgKCkge1xyXG5cdHRleHQtYWxpZ246cmlnaHQ7XHJcbn1cclxuXHJcbi5jbCAoKSB7XHJcblx0Y2xlYXI6Ym90aDtcclxufVxyXG5cclxuLm92aCAoKSB7XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4ubTBhICgpIHtcclxuXHRtYXJnaW46MCBhdXRvO1xyXG59XHJcblxyXG4uYmQgKEB3OjFweDsgQHQ6c29saWQpIHtcclxuXHRib3JkZXItd2lkdGg6QHc7XHJcblx0Ym9yZGVyLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmR0IChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAdztcclxuXHRib3JkZXItdG9wLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmRiIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAdztcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmRyIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1yaWdodC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkbCAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOkB0O1xyXG59XHJcblxyXG4uY29sb3Jfd2hpdGVfb3BhY2l0eSAoQG9wOi41KSB7XHJcblx0Y29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCBAb3ApO1xyXG59XHJcblxyXG4uYmdfd2hpdGVfb3BhY2l0eSAoQG9wOi41KSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIEBvcCk7XHJcbn1cclxuXHJcbi5mdWxsd2lkdGhfaW5fYmxvY2sgKCkge1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0aGVpZ2h0OjEwMCU7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dG9wOjA7XHJcblx0bGVmdDowO1xyXG59XHJcblxyXG4ub3AgKEBvcDouNSkge1xyXG5cdG9wYWNpdHk6QG9wO1xyXG59XHJcblxyXG4uZGlzcGxheV9mbGV4ICgpIHtcclxuXHRkaXNwbGF5Oi13ZWJraXQtZmxleDtcclxuXHRkaXNwbGF5Oi1tb3otZmxleDtcclxuXHRkaXNwbGF5Oi1tcy1mbGV4O1xyXG5cdGRpc3BsYXk6ZmxleDtcclxufVxyXG5cclxuLmRpc3BsYXlfaW5saW5lX2ZsZXggKCkge1xyXG5cdGRpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtcclxuXHRkaXNwbGF5Oi1tb3otaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTotbXMtaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTppbmxpbmUtZmxleDtcclxufVxyXG5cclxuLmZsZXhfZGlyZWN0aW9uIChAZDpyb3cpIHtcclxuXHQtd2Via2l0LWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdC1tb3otZmxleC1kaXJlY3Rpb246QGQ7XHJcblx0LW1zLWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdGZsZXgtZGlyZWN0aW9uOkBkO1xyXG59XHJcblxyXG4uZmxleF93cmFwIChAZDpub3dyYXApIHtcclxuXHQtd2Via2l0LWZsZXgtd3JhcDpAZDtcclxuXHQtbW96LWZsZXgtd3JhcDpAZDtcclxuXHQtbXMtZmxleC13cmFwOkBkO1xyXG5cdGZsZXgtd3JhcDpAZDtcclxufVxyXG5cclxuLmp1c3RpZnlfY29udGVudCAoQGQ6ZmxleC1zdGFydCkge1xyXG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdC1tb3otanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdC1tcy1qdXN0aWZ5LWNvbnRlbnQ6QGQ7XHJcblx0anVzdGlmeS1jb250ZW50OkBkO1xyXG59XHJcblxyXG4uYWxpZ25faXRlbXMgKEBkOnN0cmV0Y2gpIHtcclxuXHQtd2Via2l0LWFsaWduLWl0ZW1zOkBkO1xyXG5cdC1tb3otYWxpZ24taXRlbXM6QGQ7XHJcblx0LW1zLWFsaWduLWl0ZW1zOkBkO1xyXG5cdGFsaWduLWl0ZW1zOkBkO1xyXG59XHJcblxyXG4uYWxpZ25fY29udGVudCAoQGQ6c3RyZXRjaCkge1xyXG5cdC13ZWJraXQtYWxpZ24tY29udGVudDpAZDtcclxuXHQtbW96LWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0LW1zLWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0YWxpZ24tY29udGVudDpAZDtcclxufVxyXG5cclxuLmNsX2FmdGVyICgpIHtcclxuXHRjb250ZW50OicuJztcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0aGVpZ2h0OjA7XHJcblx0dmlzaWJpbGl0eTpoaWRkZW47XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4udmFsaWduX2FmdGVyICgpIHtcclxuXHRjb250ZW50OicnO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHRoZWlnaHQ6MTAwJTtcclxufVxyXG5cclxuLnBvc19hYnMgKEB3OjFlbTsgQGg6MWVtOyBAbDowOyBAcjowOyBAdDowOyBAYjowKSB7XHJcblx0d2lkdGg6QHc7XHJcblx0aGVpZ2h0OkBoO1xyXG5cdG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0bGVmdDpAbDtcclxuXHRyaWdodDpAcjtcclxuXHR0b3A6QHQ7XHJcblx0Ym90dG9tOkBiO1xyXG59XHJcblxyXG4uYmRieCAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XHJcblx0LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XHJcblx0Ym94LXNpemluZzpib3JkZXItYm94O1xyXG59XHJcblxyXG4uY3RieCAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O1xyXG5cdC1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtcclxuXHRib3gtc2l6aW5nOmNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4uYmRycyAoQHJhZGl1czpAYmRyc193aWR0aCkge1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czpAcmFkaXVzO1xyXG5cdGJvcmRlci1yYWRpdXM6QHJhZGl1cztcclxufVxyXG5cclxuLmJ4c2ggKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6QHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoX3doaXRlIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaGkgKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoaV93aGl0ZSAoQHg6MDsgQHk6MDsgQGJsdXI6NXB4OyBAc3ByZWQ6MDsgQGFscGhhOi4wNSkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzppbnNldCBAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG5cdGJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxufVxyXG5cclxuLmJ4c2hfbm9uZSAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7XHJcblx0Ym94LXNoYWRvdzpub25lO1xyXG59XHJcblxyXG4udHJhbnMoQHRyYW5zOjApIHdoZW4gbm90IChAdHJhbnMgPSAwKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246QHRyYW5zO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIC1tcy10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIC1vLXRyYW5zaXRpb246QHRyYW5zO1xyXG4gICAgdHJhbnNpdGlvbjpAdHJhbnM7XHJcbn1cclxuXHJcbi5hcnJvd190b3AgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXRvcDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tLXdpZHRoOkBoO1xyXG5cdGJvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19ib3R0b20gKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLWJvdHRvbTowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wLXdpZHRoOkBoO1xyXG5cdGJvcmRlci10b3Atc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19sZWZ0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDpAaDtcclxuXHRib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19yaWdodCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3A6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQtd2lkdGg6QGg7XHJcblx0Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd190b3BfbGVmdCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItcmlnaHQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAaDtcclxuXHRib3JkZXItdG9wLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfdG9wX3JpZ2h0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1ib3R0b206QGggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X2JvdHRvbV9sZWZ0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci10b3A6QGggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfYm90dG9tX3JpZ2h0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1sZWZ0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tLXdpZHRoOkBoO1xyXG5cdGJvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5kZWZhdWx0X2xpc3QgKEB3OjRweDsgQGg6NHB4OyBAbTowIDEwcHggMCAwOyBAYmRyczo1MCUpIHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6bm9uZTtcclxuXHRcclxuXHQ+IGxpIHtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OicnO1xyXG5cdFx0XHRsaW5lLWhlaWdodDoxZW07XHJcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0XHR3aWR0aDpAdztcclxuXHRcdFx0aGVpZ2h0OkBoO1xyXG5cdFx0XHRtYXJnaW46QG07XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdC5iZHJzKEBiZHJzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5kZWZhdWx0X2Jsb2NrcXVvdGUgKCkge1xyXG5cdHBhZGRpbmc6MDtcclxuXHRtYXJnaW46MCAwIDIwcHg7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0cXVvdGVzOm5vbmU7XHJcblx0LmJkKDApO1xyXG5cdC50YWM7XHJcblx0XHJcblx0JjpiZWZvcmUsXHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50Om5vbmU7XHJcblx0fVxyXG5cdFxyXG5cdHA6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbjowO1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdH1cclxuXHRcclxuXHRjaXRlIHtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRtYXJnaW4tdG9wOjEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF90YWJsZSAoKSB7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xyXG5cdGJvcmRlci1zcGFjaW5nOjA7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRtYXJnaW4tYm90dG9tOkBsaW5lX2hlaWdodF9wYWQ7XHJcblx0XHJcblx0Y2FwdGlvbiB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHBhZGRpbmc6MjBweDtcclxuXHR9XHJcblx0XHJcblx0dGgsXHJcblx0dGQge1xyXG5cdFx0LmJkKDApOyAvKiBmb3IgZ3V0ZW5iZXJnICovXHJcblx0XHQuYmRiO1xyXG5cdH1cclxuXHRcclxuXHQvKiBmb3IgZ3V0ZW5iZXJnIHN0YXJ0ICovXHJcblx0Ji5pcy1zdHlsZS1zdHJpcGVzIHtcclxuXHRcdC5iZCgwKTtcclxuXHRcdFxyXG5cdFx0dHI6bnRoLWNoaWxkKG9kZCkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8qIGZvciBndXRlbmJlcmcgZW5kICovXHJcblx0XHJcblx0dGhlYWQge1xyXG5cdFx0dHIge1xyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHR0aCB7XHJcblx0XHRcdFx0XHQuYmR0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0dGgsXHJcblx0XHRcdHRkIHtcclxuXHRcdFx0XHRwYWRkaW5nOjE3cHggMjVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQrIHRib2R5IHtcclxuXHRcdFx0dHIge1xyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0dGgsXHJcblx0XHRcdFx0XHR0ZCB7XHJcblx0XHRcdFx0XHRcdC5iZHQoMCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdHRib2R5IHtcclxuXHRcdHRyIHtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0dGgsXHJcblx0XHRcdFx0dGQge1xyXG5cdFx0XHRcdFx0LmJkdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdHRoLFxyXG5cdFx0XHR0ZCB7XHJcblx0XHRcdFx0cGFkZGluZzoxM3B4IDI1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0dGZvb3Qge1xyXG5cdFx0dHIge1xyXG5cdFx0XHR0aCxcclxuXHRcdFx0dGQge1xyXG5cdFx0XHRcdHBhZGRpbmc6MTZweCAyNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdHRoLFxyXG5cdHRkIHtcclxuXHRcdC5iZGI7XHJcblx0fVxyXG5cdFxyXG5cdHRyIHtcclxuXHRcdHRoLFxyXG5cdFx0dGQge1xyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHQuYmRsO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdC5iZHI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Y2FwdGlvbiB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHBhZGRpbmc6MjBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5kZWZhdWx0X2J1dHRvbiAoKSB7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzowIDM1cHg7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0d2hpdGUtc3BhY2U6bm93cmFwO1xyXG5cdC50YWM7XHJcblx0LmJkKEBidXRfYmRfd2lkdGgpO1xyXG5cdC5iZHJzKEBidXRfYmRyc193aWR0aCk7XHJcbn1cclxuXHJcbi5kZWZhdWx0X3NlbGVjdCAoQHBsdWdpbjowKSB7XHJcblx0bGluZS1oZWlnaHQ6MWVtO1xyXG5cdHRleHQtaW5kZW50OjAuMDFweDtcclxuXHR0ZXh0LW92ZXJmbG93OicnO1xyXG5cdG1pbi13aWR0aDoxMDBweDtcclxuXHRtYXgtd2lkdGg6MTAwJTtcclxuXHRoZWlnaHQ6QGlucHV0X2hlaWdodDtcclxuXHRwYWRkaW5nOkBpbnB1dF9wYWQgNDBweCBAaW5wdXRfcGFkIDI1cHg7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XHJcblx0LW1vei1hcHBlYXJhbmNlOm5vbmU7XHJcblx0LW1zLWFwcGVhcmFuY2U6bm9uZTtcclxuXHRhcHBlYXJhbmNlOm5vbmUgIWltcG9ydGFudDtcclxuXHQuYmQ7XHJcblx0LmJkcnMoQGJkcnNfd2lkdGgpO1xyXG5cdFxyXG5cdCYgd2hlbiAoQHBsdWdpbiA+IDApIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi8uLi8uLi8uLi9pbWcvc2VsZWN0LnBuZycpO1xyXG5cdH1cclxuXHRcclxuXHQmIHdoZW4gKEBwbHVnaW4gPSAwKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vLi4vLi4vaW1nL3NlbGVjdC5wbmcnKTtcclxuXHR9XHJcbn0iXSwiZmlsZSI6ImFkYXB0aXZlLmNzcyJ9 */
