[fusion_builder_container admin_label=”” type=”flex” hundred_percent=”no” hundred_percent_height=”no” min_height_medium=”” min_height_small=”” min_height=”” hundred_percent_height_scroll=”no” align_content=”stretch” flex_align_items=”flex-start” flex_justify_content=”flex-start” flex_wrap_medium=”” flex_wrap_small=”” flex_wrap=”wrap” flex_column_spacing=”” hundred_percent_height_center_content=”yes” equal_height_columns=”no” container_tag=”div” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” html_attributes=”W10=” margin_top_medium=”” margin_bottom_medium=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”0px” padding_bottom=”” padding_left=”0px” link_hover_color=”” hue=”” saturation=”” lightness=”” alpha=”” link_color=”” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index=”” overflow=”” background_color_medium=”” background_color_small=”” background_color=”#fdf1db” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”center center” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_random_order=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” pattern_bg=”none” pattern_custom_bg=”” pattern_bg_color=”” pattern_bg_style=”default” pattern_bg_opacity=”100″ pattern_bg_size=”” pattern_bg_blend_mode=”normal” mask_bg=”none” mask_custom_bg=”” mask_bg_color=”” mask_bg_accent_color=”” mask_bg_style=”default” mask_bg_opacity=”100″ mask_bg_transform=”left” mask_bg_blend_mode=”normal” render_logics=”” logics=”” absolute=”off” absolute_devices=”small,medium,large” position_top_medium=”” position_right_medium=”” position_bottom_medium=”” position_left_medium=”” position_top_small=”” position_right_small=”” position_bottom_small=”” position_left_small=”” position_top=”” position_right=”” position_bottom=”” position_left=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_background_color=”” sticky_height=”” sticky_offset=”” sticky_transition_offset=”0″ scroll_offset=”0″ collapse=”” collapsed_height_medium=”” collapsed_height_small=”” collapsed_height=”” collapse_fade=”none” collapse_fade_color=”#ffffff” collapse_fade_height_medium=”” collapse_fade_height_small=”” collapse_fade_height=”” collapse_trigger=”button” collapse_more_text=”Read More” collapse_less_button=”yes” collapse_less_text=”Read Less” collapse_button_position=”below” collapse_button_align=”center” collapse_button_offset=”” collapse_speed=”400″ content_visibility=”” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ filter_backdrop_hue=”0″ filter_backdrop_saturation=”100″ filter_backdrop_brightness=”100″ filter_backdrop_contrast=”100″ filter_backdrop_invert=”0″ filter_backdrop_sepia=”0″ filter_backdrop_opacity=”100″ filter_backdrop_blur=”0″ filter_backdrop_hue_hover=”0″ filter_backdrop_saturation_hover=”100″ filter_backdrop_brightness_hover=”100″ filter_backdrop_contrast_hover=”100″ filter_backdrop_invert_hover=”0″ filter_backdrop_sepia_hover=”0″ filter_backdrop_opacity_hover=”100″ filter_backdrop_blur_hover=”0″][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ admin_label=”” align_self=”auto” content_layout=”column” align_content=”flex-start” valign_content=”flex-start” column_gap_medium=”” row_gap_medium=”” column_gap_small=”” row_gap_small=”” column_gap=”” row_gap=”” content_wrap=”wrap” spacing=”” center_content=”no” column_tag=”div” link=”” target=”_self” link_description=”” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” sticky_display=”normal,sticky” class=”” id=”” html_attributes=”W10=” type_medium=”” type_small=”” max_height_medium=”” max_height_small=”” max_height=”” flex_grow_medium=”” flex_grow_small=”” flex_grow=”” flex_shrink_medium=”” flex_shrink_small=”” flex_shrink=”” order_medium=”0″ order_small=”0″ spacing_left_medium=”” spacing_right_medium=”” spacing_left_small=”” spacing_right_small=”” spacing_left=”” spacing_right=”” margin_top_medium=”” margin_bottom_medium=”” margin_top_small=”” margin_bottom_small=”” margin_top=”” margin_bottom=”” padding_top_medium=”” padding_right_medium=”” padding_bottom_medium=”” padding_left_medium=”” padding_top_small=”” padding_right_small=”” padding_bottom_small=”” padding_left_small=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” hover_type=”none” border_sizes_top=”” border_sizes_right=”” border_sizes_bottom=”” border_sizes_left=”” border_color_hover=”” hue=”” saturation=”” lightness=”” alpha=”” border_color=”” border_style=”solid” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_right=”” border_radius_bottom_left=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” z_index_hover=”” z_index=”” overflow=”” background_type=”single” background_color_medium=”” background_color_small=”” background_color_medium_hover=”” background_color_small_hover=”” background_color_hover=”” background_color=”” gradient_start_color=”” gradient_end_color=”” gradient_start_position=”0″ gradient_end_position=”100″ gradient_type=”linear” radial_direction=”center center” linear_angle=”180″ background_image_medium=”” background_image_small=”” background_image=”” background_image_id_medium=”” background_image_id_small=”” background_image_id=”” lazy_load=”avada” skip_lazy_load=”” background_position_medium=”” background_position_small=”” background_position=”left top” background_repeat_medium=”” background_repeat_small=”” background_repeat=”no-repeat” background_size_medium=”” background_size_small=”” background_size=”” background_custom_size=”” background_custom_size_medium=”” background_custom_size_small=”” background_blend_mode_medium=”” background_blend_mode_small=”” background_blend_mode=”none” background_slider_images=”” background_slider_position=”” background_slider_skip_lazy_loading=”no” background_slider_random_order=”no” background_slider_loop=”yes” background_slider_pause_on_hover=”no” background_slider_slideshow_speed=”5000″ background_slider_animation=”fade” background_slider_direction=”up” background_slider_animation_speed=”800″ background_slider_blend_mode=”” render_logics=”” logics=”” sticky=”off” sticky_devices=”small-visibility,medium-visibility,large-visibility” sticky_offset=”” absolute=”off” absolute_top=”” absolute_right=”” absolute_bottom=”” absolute_left=”” collapse=”” collapsed_height_medium=”” collapsed_height_small=”” collapsed_height=”” collapse_fade=”none” collapse_fade_color=”#ffffff” collapse_fade_height_medium=”” collapse_fade_height_small=”” collapse_fade_height=”” collapse_trigger=”button” collapse_more_text=”Read More” collapse_less_button=”yes” collapse_less_text=”Read Less” collapse_button_position=”below” collapse_button_align=”center” collapse_button_offset=”” collapse_speed=”400″ filter_type=”regular” filter_hover_element=”self” filter_hue_hover=”0″ filter_saturation_hover=”100″ filter_brightness_hover=”100″ filter_contrast_hover=”100″ filter_invert_hover=”0″ filter_sepia_hover=”0″ filter_opacity_hover=”100″ filter_blur_hover=”0″ filter_hue=”0″ filter_saturation=”100″ filter_brightness=”100″ filter_contrast=”100″ filter_invert=”0″ filter_sepia=”0″ filter_opacity=”100″ filter_blur=”0″ filter_backdrop_type=”regular” filter_backdrop_hover_element=”self” filter_backdrop_hue_hover=”0″ filter_backdrop_saturation_hover=”100″ filter_backdrop_brightness_hover=”100″ filter_backdrop_contrast_hover=”100″ filter_backdrop_invert_hover=”0″ filter_backdrop_sepia_hover=”0″ filter_backdrop_opacity_hover=”100″ filter_backdrop_blur_hover=”0″ filter_backdrop_hue=”0″ filter_backdrop_saturation=”100″ filter_backdrop_brightness=”100″ filter_backdrop_contrast=”100″ filter_backdrop_invert=”0″ filter_backdrop_sepia=”0″ filter_backdrop_opacity=”100″ filter_backdrop_blur=”0″ transform_type=”regular” transform_hover_element=”self” transform_scale_x_hover=”1″ transform_scale_y_hover=”1″ transform_translate_x_hover=”0″ transform_translate_y_hover=”0″ transform_rotate_hover=”0″ transform_skew_x_hover=”0″ transform_skew_y_hover=”0″ transform_scale_x=”1″ transform_scale_y=”1″ transform_translate_x=”0″ transform_translate_y=”0″ transform_rotate=”0″ transform_skew_x=”0″ transform_skew_y=”0″ transform_origin=”” transition_duration=”300″ transition_easing=”ease” transition_custom_easing=”” motion_effects=”W10=” scroll_motion_devices=”small-visibility,medium-visibility,large-visibility” animation_type=”” animation_direction=”left” animation_color=”” animation_speed=”0.3″ animation_delay=”0″ animation_offset=”” last=”true” border_position=”all” first=”true”][fusion_code admin_label=”” render_logics=””]PHN0eWxlPgouc2VtMjYsCi5zZW0yNiAqLAouc2VtMjYgKjo6YmVmb3JlLAouc2VtMjYgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9Ci5zZW0yNiB7CiAgLS1wdC15ZWxsb3c6ICAgICAgI0U4QTMyODsKICAtLXNlbS1jcmVhbTogICAgICAjRkRGMURCOwogIC0tc2VtLWJsdWU6ICAgICAgICNDOUU0RUE7CiAgLS1zZW0tZ3JlZW46ICAgICAgI0VCRTZDNTsKICAtLXNlbS1jb3JhbDogICAgICAjRkREN0JCOwogIC0tc2VtLXBpbms6ICAgICAgICNFMkM5Qzc7CiAgLS1zZW0tb3JhbmdlOiAgICAgI0VDQUU3OTsKICAtLXNlbS1ibGFjazogICAgICAjMzUzNjM1OwogIC0tbGluZS1hbWFyZWxvOiAgICNFOEEzMjg7CiAgLS1saW5lLXZlcmRlOiAgICAgI0MyQ0I5MzsKICAtLWxpbmUtY29yYWw6ICAgICAjRjNCNzhCOwogIC0tbGluZS1yb3NhOiAgICAgICNDREE5QTY7CiAgLS1saW5lLWF6dWw6ICAgICAgIzkzQzVEMTsKICAtLWxpbmUtbGFyYW5qYTogICAjRTA5NDU1OwogIC0tc2VtLWdyZXk6ICAgICAgICM2MzYyNUU7CiAgLS1zZW0tZ3JleS1zb2Z0OiAgIzhBODg4NDsKICAtLXNlbS1oYWlybGluZTogICByZ2JhKDUzLDU0LDUzLC4xNCk7CiAgLS1zZW0tbWF4OiAgICAgICAgMTMyMHB4OwogIC0tc2VtLXBhZDogICAgICAgIGNsYW1wKDIwcHgsIDV2dywgNzJweCk7CiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOwogIGNvbG9yOiB2YXIoLS1zZW0tYmxhY2spOwogIGJhY2tncm91bmQ6IHZhcigtLXNlbS1jcmVhbSk7CiAgd2lkdGg6IDEwMCU7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93LXg6IGNsaXA7CiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgbGluZS1oZWlnaHQ6IDEuNTU7Cn0KLnNlbTI2IGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfQouc2VtMjYgcCB7IG1hcmdpbjogMCAwIDFlbTsgfQouc2VtMjYgYSB7IGNvbG9yOiBpbmhlcml0OyB9Ci5zZW0yNiB1bCwgLnNlbTI2IG9sIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBsaXN0LXN0eWxlOiBub25lOyB9Ci5zZW0yNiA6Zm9jdXMtdmlzaWJsZSB7CiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXB0LXllbGxvdyk7CiAgb3V0bGluZS1vZmZzZXQ6IDNweDsKICBib3JkZXItcmFkaXVzOiAycHg7Cn0KLnNlbTI2IC5zZW0yNi1zZWN0aW9uIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWlubGluZTogdmFyKC0tc2VtLXBhZCk7IG92ZXJmbG93OiBoaWRkZW47IH0KLnNlbTI2IC5zZW0yNi13cmFwIHsgbWF4LXdpZHRoOiB2YXIoLS1zZW0tbWF4KTsgbWFyZ2luLWlubGluZTogYXV0bzsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyOyB9Ci5zZW0yNiAuc2VtMjYtbmFycm93IHsgbWF4LXdpZHRoOiA3NjBweDsgfQouc2VtMjYgLnNlbTI2LWJsb2IgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9Ci5zZW0yNiAuYi0xIHsgYm9yZGVyLXJhZGl1czogNTIlIDQ4JSAzOCUgNjIlIC8gNTglIDQyJSA1OCUgNDIlOyB9Ci5zZW0yNiAuYi0yIHsgYm9yZGVyLXJhZGl1czogNDAlIDYwJSA2MiUgMzglIC8gNDUlIDU1JSA0NSUgNTUlOyB9Ci5zZW0yNiAuYi0zIHsgYm9yZGVyLXJhZGl1czogNjIlIDM4JSA0NSUgNTUlIC8gMzglIDYyJSAzOCUgNjIlOyB9Ci5zZW0yNiAuc2VtMjYtZXllYnJvdyB7CiAgZm9udC1zaXplOiBjbGFtcCguNzJyZW0sIDEuMXZ3LCAuODJyZW0pOwogIGxldHRlci1zcGFjaW5nOiAuMjJlbTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7CiAgbWFyZ2luOiAwIDAgMThweDsKfQouc2VtMjYgLnNlbTI2LWgyIHsKICBmb250LXNpemU6IGNsYW1wKDEuNzVyZW0sIDMuNnZ3LCAyLjlyZW0pOwogIGxpbmUtaGVpZ2h0OiAxLjEyOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07CiAgbWFyZ2luOiAwIDAgMjJweDsKfQouc2VtMjYgLnNlbTI2LWxlYWQgewogIGZvbnQtc2l6ZTogY2xhbXAoMS4wMnJlbSwgMS41dncsIDEuMjJyZW0pOwogIGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7CiAgbGluZS1oZWlnaHQ6IDEuNzI7Cn0KLnNlbTI2IC5zZW0yNi1idG4gewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7CiAgbWluLWhlaWdodDogNTJweDsgcGFkZGluZzogMTRweCAzMHB4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwogIGNvbG9yOiB2YXIoLS1zZW0tYmxhY2spOyBiYWNrZ3JvdW5kOiB2YXIoLS1wdC15ZWxsb3cpOwogIGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGN1cnNvcjogcG9pbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgZWFzZSwgYm94LXNoYWRvdyAuMjVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlOwp9Ci5zZW0yNiAuc2VtMjYtYnRuOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyBiYWNrZ3JvdW5kOiAjRjBCMTQxOyB9Ci5zZW0yNiAuc2VtMjYtYnRuIC5hcnJvdyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7IH0KLnNlbTI2IC5zZW0yNi1idG46aG92ZXIgLmFycm93IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7IH0KLyogSEVSTyAqLwouc2VtMjYgLnNlbTI2LWhlcm8geyBwYWRkaW5nLWJsb2NrOiBjbGFtcCg0NnB4LCA3dncsIDk2cHgpIGNsYW1wKDMwcHgsIDV2dywgNjBweCk7IH0KLnNlbTI2IC5zZW0yNi1oZXJvIC5iLWEgeyB3aWR0aDogNDZ2dzsgaGVpZ2h0OiA0NnZ3OyBtYXgtd2lkdGg6IDYyMHB4OyBtYXgtaGVpZ2h0OiA2MjBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWJsdWUpOyB0b3A6IC0xNnZ3OyByaWdodDogLTEwdnc7IG9wYWNpdHk6IC44NTsgfQouc2VtMjYgLnNlbTI2LWhlcm8gLmItYiB7IHdpZHRoOiAzMHZ3OyBoZWlnaHQ6IDMwdnc7IG1heC13aWR0aDogMzgwcHg7IG1heC1oZWlnaHQ6IDM4MHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zZW0tY29yYWwpOyBib3R0b206IC0xNHZ3OyBsZWZ0OiAtMTJ2dzsgb3BhY2l0eTogLjg7IH0KLnNlbTI2IC5zZW0yNi1oZXJvIC5iLWMgeyB3aWR0aDogMTh2dzsgaGVpZ2h0OiAxOHZ3OyBtYXgtd2lkdGg6IDIzMHB4OyBtYXgtaGVpZ2h0OiAyMzBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWdyZWVuKTsgdG9wOiA0MiU7IHJpZ2h0OiAzNCU7IG9wYWNpdHk6IC41NTsgfQouc2VtMjYgLnNlbTI2LWhlcm8tZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDI2cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KLnNlbTI2IC5zZW0yNi1oZXJvLXBpbiB7IGp1c3RpZnktc2VsZjogY2VudGVyOyB3aWR0aDogbWluKDcydncsIDM4MHB4KTsgfQouc2VtMjYgLnNlbTI2LWhlcm8tcGluIGltZyB7IGFzcGVjdC1yYXRpbzogMSAvIDE7IG9iamVjdC1maXQ6IGNvbnRhaW47IHdpZHRoOiAxMDAlOyB9Ci5zZW0yNiBoMS5zZW0yNi10aXRsZSB7CiAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDguNHZ3LCA2LjFyZW0pOwogIGxpbmUtaGVpZ2h0OiAuOTM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIG1hcmdpbjogMCAwIGNsYW1wKDIwcHgsIDN2dywgMzRweCk7CiAgbWF4LXdpZHRoOiAxMmNoOwp9Ci5zZW0yNiBoMS5zZW0yNi10aXRsZSAueSB7IGNvbG9yOiB2YXIoLS1wdC15ZWxsb3cpOyB9Ci5zZW0yNiAuc2VtMjYtd2hlbiB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OwogIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMi4ydncsIDEuNDVyZW0pOwogIGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBtYXJnaW46IDAgMCBjbGFtcCgxOHB4LCAzdncsIDMwcHgpOwp9Ci5zZW0yNiAuc2VtMjYtd2hlbjo6YmVmb3JlIHsgY29udGVudDogIiI7IHdpZHRoOiA0NnB4OyBoZWlnaHQ6IDNweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWJsYWNrKTsgZmxleDogMCAwIGF1dG87IH0KLnNlbTI2IC5zZW0yNi1jbGFpbSB7CiAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDQuNnZ3LCAzLjA1cmVtKTsKICBsaW5lLWhlaWdodDogMS4wMjsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTsgbWFyZ2luOiAwIDAgY2xhbXAoMjZweCwgNHZ3LCA0MHB4KTsKfQouc2VtMjYgLnNlbTI2LWNsYWltIC55IHsgY29sb3I6IHZhcigtLXB0LXllbGxvdyk7IH0KLnNlbTI2IC5zZW0yNi1oZXJvLWN1cnZlIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogYXV0byAwIC0ycHggMDsgaGVpZ2h0OiAyMTBweDsgei1pbmRleDogMTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0KLnNlbTI2IC5zZW0yNi1oZXJvLWN1cnZlIHN2ZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyB9CkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkgewogIC5zZW0yNiAuc2VtMjYtaGVyby1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjE1ZnIgLjg1ZnI7IGdhcDogNDBweDsgfQogIC5zZW0yNiAuc2VtMjYtaGVyby1waW4geyBqdXN0aWZ5LXNlbGY6IGVuZDsgd2lkdGg6IG1pbigzMHZ3LCA0MjBweCk7IH0KfQovKiBJTlRSTyAqLwouc2VtMjYgLnNlbTI2LWludHJvIHsgcGFkZGluZy1ibG9jazogY2xhbXAoNTBweCwgOHZ3LCAxMTBweCkgY2xhbXAoMzBweCwgNXZ3LCA2MHB4KTsgfQouc2VtMjYgLnNlbTI2LWludHJvIC5iLWEgeyB3aWR0aDogMzR2dzsgaGVpZ2h0OiAzNHZ3OyBtYXgtd2lkdGg6IDQzMHB4OyBtYXgtaGVpZ2h0OiA0MzBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLXBpbmspOyB0b3A6IC0xMHZ3OyBsZWZ0OiAtMTR2dzsgb3BhY2l0eTogLjU1OyB9Ci5zZW0yNiAuc2VtMjYtaW50cm8taCB7IGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAzLjZ2dywgMi43NXJlbSk7IGxpbmUtaGVpZ2h0OiAxLjE2OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyBtYXJnaW46IDAgMCAyNnB4OyBtYXgtd2lkdGg6IDIyY2g7IH0KLnNlbTI2IC5zZW0yNi13b3JkcyB7CiAgbWFyZ2luLXRvcDogMzRweDsgZm9udC1zaXplOiBjbGFtcCguOTVyZW0sIDEuNnZ3LCAxLjE4cmVtKTsKICBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1wdC15ZWxsb3cpOyBmb250LXdlaWdodDogNzAwOwp9Ci5zZW0yNiAuc2VtMjYtd29yZHMgc3BhbiB7IGNvbG9yOiB2YXIoLS1zZW0tZ3JleS1zb2Z0KTsgbWFyZ2luOiAwIC4zNWVtOyBmb250LXdlaWdodDogNDAwOyB9Ci8qIFBST0dSQU1BICovCi5zZW0yNiAuc2VtMjYtcHJvZ3JhbWEgeyBwYWRkaW5nLWJsb2NrOiBjbGFtcCg0MHB4LCA2dncsIDgwcHgpIDA7IHNjcm9sbC1tYXJnaW4tdG9wOiAxMTBweDsgfQouc2VtMjYgLnNlbTI2LXByb2dyYW1hIC5iLWEgeyB3aWR0aDogNDB2dzsgaGVpZ2h0OiA0MHZ3OyBtYXgtd2lkdGg6IDUyMHB4OyBtYXgtaGVpZ2h0OiA1MjBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWdyZWVuKTsgdG9wOiAxMCU7IHJpZ2h0OiAtMTh2dzsgb3BhY2l0eTogLjU7IH0KLnNlbTI2IC5zZW0yNi1wcm9ncmFtYSAuYi1iIHsgd2lkdGg6IDM0dnc7IGhlaWdodDogMzR2dzsgbWF4LXdpZHRoOiA0NDBweDsgbWF4LWhlaWdodDogNDQwcHg7IGJhY2tncm91bmQ6IHZhcigtLXNlbS1ibHVlKTsgdG9wOiA0MCU7IGxlZnQ6IC0xNnZ3OyBvcGFjaXR5OiAuNTsgfQouc2VtMjYgLnNlbTI2LXByb2dyYW1hIC5iLWMgeyB3aWR0aDogMzB2dzsgaGVpZ2h0OiAzMHZ3OyBtYXgtd2lkdGg6IDQwMHB4OyBtYXgtaGVpZ2h0OiA0MDBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWNvcmFsKTsgYm90dG9tOiA0JTsgcmlnaHQ6IC0xMnZ3OyBvcGFjaXR5OiAuNTU7IH0KLnNlbTI2IC5zZW0yNi1wcm9ncmFtYS1oZWFkIHsgbWFyZ2luLWJvdHRvbTogY2xhbXAoMzBweCwgNXZ3LCA1NnB4KTsgfQouc2VtMjYgLnNlbTI2LXBlcmN1cnNvIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWF4LXdpZHRoOiB2YXIoLS1zZW0tbWF4KTsKICBtYXJnaW4taW5saW5lOiBhdXRvOwogIHBhZGRpbmctYmxvY2s6IGNsYW1wKDMycHgsIDR2dywgNTJweCkgY2xhbXAoNDhweCwgNnZ3LCA4MnB4KTsKICB6LWluZGV4OiAyOwp9Ci5zZW0yNiAuc2VtMjYtcGF0aC1zdmcgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7CiAgei1pbmRleDogMTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IG92ZXJmbG93OiB2aXNpYmxlOwp9Ci5zZW0yNiAuc2VtMjYtcGF0aCB7IGZpbGw6IG5vbmU7IHN0cm9rZS13aWR0aDogMy42OyBzdHJva2UtbGluZWNhcDogcm91bmQ7IHN0cm9rZS1saW5lam9pbjogcm91bmQ7IH0KLnNlbTI2IC5zZW0yNi1zdG9wcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgfQouc2VtMjYgLnNlbTI2LXN0b3AgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAxNnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctYmxvY2s6IDRweDsgfQouc2VtMjYgLnNlbTI2LW1hcmtlciB7CiAgZmxleDogMCAwIGF1dG87IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IG1hcmdpbi10b3A6IDhweDsKICBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6ICNmZmY7CiAgYm9yZGVyOiAyLjVweCBzb2xpZCB2YXIoLS1zdG9wLWNvbG9yLCB2YXIoLS1wdC15ZWxsb3cpKTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UsIGJveC1zaGFkb3cgLjNzIGVhc2U7Cn0KLnNlbTI2IC5zZW0yNi1zdG9wLWJvZHkgeyBmbGV4OiAxIDEgYXV0bzsgbWluLXdpZHRoOiAwOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcC1ydWxlIHsKICBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDM2cHg7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zdG9wLWNvbG9yLCB2YXIoLS1wdC15ZWxsb3cpKTsKICBtYXJnaW46IDAgMCAxMHB4OyBib3JkZXItcmFkaXVzOiAycHg7IHRyYW5zaXRpb246IHdpZHRoIC4zcyBlYXNlOwp9Ci5zZW0yNiAuc2VtMjYtc3RvcC1kYXRlIHsgZm9udC1zaXplOiBjbGFtcCguNzRyZW0sIDEuMXZ3LCAuODRyZW0pOyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLjJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXNlbS1ncmV5KTsgbWFyZ2luOiAwIDAgNnB4OyB9Ci5zZW0yNiBoMy5zZW0yNi1zdG9wLXRpdGxlIHsgZm9udC1zaXplOiBjbGFtcCgxLjE1cmVtLCAydncsIDEuNXJlbSk7IGxpbmUtaGVpZ2h0OiAxLjE4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLS4wMTJlbTsgbWFyZ2luOiAwIDAgOHB4OyB9Ci5zZW0yNiAuc2VtMjYtc3RvcC10aW1lIHsgZm9udC1zaXplOiBjbGFtcCguOThyZW0sIDEuNXZ3LCAxLjA4cmVtKTsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luOiAwIDAgMTBweDsgfQouc2VtMjYgLnNlbTI2LXN0b3AtcGxhY2UgeyBtYXJnaW46IDAgMCA0cHg7IGZvbnQtc2l6ZTogLjk2cmVtOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcC1wbGFjZSBhIHsgY29sb3I6IHZhcigtLXNlbS1ibGFjayk7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXN0b3AtY29sb3IsIHZhcigtLXB0LXllbGxvdykpOyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogNHB4OyB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZTsgfQouc2VtMjYgLnNlbTI2LXN0b3AtcGxhY2UgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7IH0KLnNlbTI2IC5zZW0yNi1zdG9wLXR5cGUgeyBmb250LXNpemU6IC45cmVtOyBjb2xvcjogdmFyKC0tc2VtLWdyZXkpOyBtYXJnaW46IDAgMCAxNHB4OyB9Ci5zZW0yNiAuc2VtMjYtbW9yZSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOXB4OwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXNlbS1oYWlybGluZSk7CiAgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDEwcHggMjBweDsgbWluLWhlaWdodDogNDJweDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAuOXJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXNlbS1ibGFjayk7CiAgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjI1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZTsKfQouc2VtMjYgLnNlbTI2LW1vcmU6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXN0b3AtY29sb3IsIHZhcigtLXB0LXllbGxvdykpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTsgfQouc2VtMjYgLnNlbTI2LW1vcmUgLnBsdXMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IGZsZXg6IDAgMCBhdXRvOyB9Ci5zZW0yNiAuc2VtMjYtbW9yZSAucGx1czo6YmVmb3JlLAouc2VtMjYgLnNlbTI2LW1vcmUgLnBsdXM6OmFmdGVyIHsgY29udGVudDogIiI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWJsYWNrKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlOyB9Ci5zZW0yNiAuc2VtMjYtbW9yZSAucGx1czo6YmVmb3JlIHsgaW5zZXQ6IDVweCAwIDVweCAwOyBoZWlnaHQ6IDJweDsgfQouc2VtMjYgLnNlbTI2LW1vcmUgLnBsdXM6OmFmdGVyIHsgaW5zZXQ6IDAgNXB4IDAgNXB4OyB3aWR0aDogMnB4OyB9Ci5zZW0yNiAuc2VtMjYtbW9yZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0gLnBsdXM6OmFmdGVyIHsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IG9wYWNpdHk6IDA7IH0KLnNlbTI2IC5zZW0yNi1wYW5lbCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtcm93czogMGZyOyB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgLjM4cyBlYXNlOyB9Ci5zZW0yNiAuc2VtMjYtcGFuZWxbZGF0YS1vcGVuPSJ0cnVlIl0geyBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsgfQouc2VtMjYgLnNlbTI2LXBhbmVsLWlubmVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdmlzaWJpbGl0eTogaGlkZGVuOyB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4zOHM7IH0KLnNlbTI2IC5zZW0yNi1wYW5lbFtkYXRhLW9wZW49InRydWUiXSAuc2VtMjYtcGFuZWwtaW5uZXIgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9Ci5zZW0yNiAuYXRpdmlkYWRlLWRldGFsaGUgeyBtYXJnaW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxNnB4IDIwcHg7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tc3RvcC1jb2xvciwgdmFyKC0tcHQteWVsbG93KSk7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTsgZm9udC1zaXplOiAuOTdyZW07IGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7IH0KLnNlbTI2IC5hdGl2aWRhZGUtZGV0YWxoZSBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcDpob3ZlciAuc2VtMjYtbWFya2VyLAouc2VtMjYgLnNlbTI2LXN0b3A6Zm9jdXMtd2l0aGluIC5zZW0yNi1tYXJrZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMjgpOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcDpob3ZlciAuc2VtMjYtc3RvcC1ydWxlLAouc2VtMjYgLnNlbTI2LXN0b3A6Zm9jdXMtd2l0aGluIC5zZW0yNi1zdG9wLXJ1bGUgeyB3aWR0aDogNjBweDsgfQouc2VtMjYgLnNlbTI2LXN0b3A6aG92ZXIgaDMuc2VtMjYtc3RvcC10aXRsZSwKLnNlbTI2IC5zZW0yNi1zdG9wOmZvY3VzLXdpdGhpbiBoMy5zZW0yNi1zdG9wLXRpdGxlIHsgYm94LXNoYWRvdzogaW5zZXQgMCAtLjEyZW0gdmFyKC0tc3RvcC1jb2xvciwgdmFyKC0tcHQteWVsbG93KSk7IH0KLnNlbTI2LmpzLXJlYWR5IC5zZW0yNi1zdG9wcyA+IGxpIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOyB9Ci5zZW0yNi5qcy1yZWFkeSAuc2VtMjYtc3RvcHMuaXMtaW4gPiBsaSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgdHJhbnNpdGlvbjogb3BhY2l0eSAuN3MgZWFzZSB2YXIoLS1kLCAwbXMpLCB0cmFuc2Zvcm0gLjdzIGVhc2UgdmFyKC0tZCwgMG1zKTsgfQoKLyogTUFQQSBERSBDT01QT1NJw4fDg08gKi8KLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpICsgbGkgeyBtYXJnaW4tdG9wOiBjbGFtcCg3MnB4LCAxNHZ3LCAxMDRweCk7IH0KLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZChvZGQpICB7IG1hcmdpbi1sZWZ0OiAwOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoZXZlbikgeyBtYXJnaW4tbGVmdDogbWluKDIydncsIDk2cHgpOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoMykgICAgeyBtYXJnaW4tbGVmdDogbWluKDZ2dywgMjhweCk7IH0KLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCg1KSAgICB7IG1hcmdpbi1sZWZ0OiBtaW4oNHZ3LCAxOHB4KTsgfQouc2VtMjYgLnNlbTI2LXN0b3BzID4gbGk6bnRoLWNoaWxkKDcpICAgIHsgbWFyZ2luLWxlZnQ6IG1pbig4dncsIDM2cHgpOyB9Ci5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoOSkgICAgeyBtYXJnaW4tbGVmdDogbWluKDEwdncsIDQ0cHgpOyB9CgpAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHsKICAvKiBObyB0ZWxlbcOzdmVsIG8gbWFyY2Fkb3IgZmljYSBzZW1wcmUgw6AgZXNxdWVyZGEgZG8gY29udGXDumRvLgogICAgIEEgbGluaGEgdXNhIHBvciBpc3NvIHVtYSBmYWl4YSBwcsOzcHJpYSBuZXNzYSBtYXJnZW0gZSBudW5jYSBhdHJhdmVzc2EgbyB0ZXh0by4gKi8KICAuc2VtMjYgLnNlbTI2LXBlcmN1cnNvIHsKICAgIHBhZGRpbmctYm90dG9tOiAzOHB4OwogIH0KICAuc2VtMjYgLnNlbTI2LWZhcSB7CiAgICBwYWRkaW5nLXRvcDogMjBweDsKICB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wLWJvZHkgewogICAgcGFkZGluZy1sZWZ0OiAycHg7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHsKICAuc2VtMjYgLnNlbTI2LXN0b3BbZGF0YS1zaWRlPSJsZWZ0Il0geyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IHRleHQtYWxpZ246IHJpZ2h0OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wW2RhdGEtc2lkZT0ibGVmdCJdIC5zZW0yNi1zdG9wLXJ1bGUgeyBtYXJnaW4tbGVmdDogYXV0bzsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcFtkYXRhLXNpZGU9ImxlZnQiXSAuc2VtMjYtc3RvcC1ib2R5IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wW2RhdGEtc2lkZT0ibGVmdCJdIC5zZW0yNi1wYW5lbCB7IHdpZHRoOiAxMDAlOyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wW2RhdGEtc2lkZT0ibGVmdCJdIC5hdGl2aWRhZGUtZGV0YWxoZSB7IGJvcmRlci1sZWZ0OiAwOyBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB2YXIoLS1zdG9wLWNvbG9yLCB2YXIoLS1wdC15ZWxsb3cpKTsgdGV4dC1hbGlnbjogbGVmdDsgfQp9CkBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyB7CiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpOwogICAgY29sdW1uLWdhcDogMTZweDsgcm93LWdhcDogY2xhbXAoNzRweCwgOXZ3LCAxMTBweCk7IGFsaWduLWl0ZW1zOiBzdGFydDsKICB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpICsgbGkgeyBtYXJnaW4tdG9wOiAwOyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoMSkgeyBncmlkLWNvbHVtbjogMSAvIDQ7IH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGk6bnRoLWNoaWxkKDIpIHsgZ3JpZC1jb2x1bW46IDQgLyA3OyBtYXJnaW4tdG9wOiAxOHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCgzKSB7IGdyaWQtY29sdW1uOiAxIC8gNDsgbWFyZ2luLXRvcDogOHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCg0KSB7IGdyaWQtY29sdW1uOiA0IC8gNzsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoNSkgeyBncmlkLWNvbHVtbjogMSAvIDQ7IG1hcmdpbi10b3A6IDEwcHg7IH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGk6bnRoLWNoaWxkKDYpIHsgZ3JpZC1jb2x1bW46IDQgLyA3OyBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCg3KSB7IGdyaWQtY29sdW1uOiAxIC8gNDsgbWFyZ2luLXRvcDogNnB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCg4KSB7IGdyaWQtY29sdW1uOiA0IC8gNzsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoOSkgeyBncmlkLWNvbHVtbjogMiAvIDY7IG1hcmdpbi10b3A6IDE0cHg7IH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGk6bnRoLWNoaWxkKDEwKSB7IGdyaWQtY29sdW1uOiA0IC8gNzsgbWFyZ2luLXRvcDogMjJweDsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoMTEpIHsgZ3JpZC1jb2x1bW46IDEgLyA0OyBtYXJnaW4tdG9wOiAxOHB4OyB9Cn0KQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyB7CiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTsKICAgIGNvbHVtbi1nYXA6IGNsYW1wKDE2cHgsIDJ2dywgMjhweCk7CiAgICByb3ctZ2FwOiBjbGFtcCg4NHB4LCA3LjV2dywgMTMycHgpOwogICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogIH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGkgKyBsaSB7IG1hcmdpbi10b3A6IDA7IH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGkgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wIHsgZ2FwOiAyMHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCgxKSB7IGdyaWQtY29sdW1uOiAxIC8gNTsgIG1hcmdpbi10b3A6IDhweDsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoMikgeyBncmlkLWNvbHVtbjogOCAvIDEzOyBtYXJnaW4tdG9wOiAyOHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCgzKSB7IGdyaWQtY29sdW1uOiAyIC8gNjsgIG1hcmdpbi10b3A6IDZweDsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoNCkgeyBncmlkLWNvbHVtbjogOSAvIDEzOyBtYXJnaW4tdG9wOiAxNHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCg1KSB7IGdyaWQtY29sdW1uOiAxIC8gNTsgIG1hcmdpbi10b3A6IDEwcHg7IH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGk6bnRoLWNoaWxkKDYpIHsgZ3JpZC1jb2x1bW46IDggLyAxMzsgbWFyZ2luLXRvcDogMThweDsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoNykgeyBncmlkLWNvbHVtbjogMiAvIDY7ICBtYXJnaW4tdG9wOiA2cHg7IH0KICAuc2VtMjYgLnNlbTI2LXN0b3BzID4gbGk6bnRoLWNoaWxkKDgpIHsgZ3JpZC1jb2x1bW46IDggLyAxMzsgbWFyZ2luLXRvcDogMThweDsgfQogIC5zZW0yNiAuc2VtMjYtc3RvcHMgPiBsaTpudGgtY2hpbGQoOSkgeyBncmlkLWNvbHVtbjogMyAvIDg7ICBtYXJnaW4tdG9wOiAxNnB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCgxMCkgeyBncmlkLWNvbHVtbjogOCAvIDEzOyBtYXJnaW4tdG9wOiAyNHB4OyB9CiAgLnNlbTI2IC5zZW0yNi1zdG9wcyA+IGxpOm50aC1jaGlsZCgxMSkgeyBncmlkLWNvbHVtbjogMSAvIDU7ICBtYXJnaW4tdG9wOiAyMnB4OyB9Cn0KCi8qIEZBUSAqLwouc2VtMjYgLnNlbTI2LWZhcSB7IHBhZGRpbmctYmxvY2s6IGNsYW1wKDI2cHgsIDR2dywgNTRweCkgY2xhbXAoNTBweCwgOHZ3LCAxMDBweCk7IH0KLnNlbTI2IC5zZW0yNi1mYXEgLmItYSB7IHdpZHRoOiAzMHZ3OyBoZWlnaHQ6IDMwdnc7IG1heC13aWR0aDogMzgwcHg7IG1heC1oZWlnaHQ6IDM4MHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zZW0tY29yYWwpOyB0b3A6IC04dnc7IHJpZ2h0OiAtMTJ2dzsgb3BhY2l0eTogLjU7IH0KLnNlbTI2IC5zZW0yNi1mYXEtbGlzdCB7IG1heC13aWR0aDogODYwcHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zZW0taGFpcmxpbmUpOyB9Ci5zZW0yNiAuc2VtMjYtZmFxLWl0ZW0geyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc2VtLWhhaXJsaW5lKTsgfQouc2VtMjYgLnNlbTI2LWZhcS1idG4gewogIHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMjBweDsKICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogbGVmdDsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiBjbGFtcCgxLjAycmVtLCAxLjd2dywgMS4xOHJlbSk7IGZvbnQtd2VpZ2h0OiA3MDA7CiAgY29sb3I6IHZhcigtLXNlbS1ibGFjayk7IHBhZGRpbmc6IDIycHggNHB4OyBtaW4taGVpZ2h0OiA1NnB4Owp9Ci5zZW0yNiAuc2VtMjYtZmFxLWJ0bjpob3ZlciB7IGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7IH0KLnNlbTI2IC5zZW0yNi1mYXEtYnRuIC5wbHVzIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBmbGV4OiAwIDAgYXV0bzsgfQouc2VtMjYgLnNlbTI2LWZhcS1idG4gLnBsdXM6OmJlZm9yZSwKLnNlbTI2IC5zZW0yNi1mYXEtYnRuIC5wbHVzOjphZnRlciB7IGNvbnRlbnQ6ICIiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQ6IHZhcigtLXB0LXllbGxvdyk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZTsgfQouc2VtMjYgLnNlbTI2LWZhcS1idG4gLnBsdXM6OmJlZm9yZSB7IGluc2V0OiA3cHggMCA3cHggMDsgaGVpZ2h0OiAycHg7IH0KLnNlbTI2IC5zZW0yNi1mYXEtYnRuIC5wbHVzOjphZnRlciB7IGluc2V0OiAwIDdweCAwIDdweDsgd2lkdGg6IDJweDsgfQouc2VtMjYgLnNlbTI2LWZhcS1idG5bYXJpYS1leHBhbmRlZD0idHJ1ZSJdIC5wbHVzOjphZnRlciB7IHRyYW5zZm9ybTogc2NhbGVZKDApOyBvcGFjaXR5OiAwOyB9Ci5zZW0yNiAuc2VtMjYtZmFxLWFuc3dlciB7IHBhZGRpbmc6IDAgNHB4IDI0cHg7IGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7IG1heC13aWR0aDogNjJjaDsgfQouc2VtMjYgLnNlbTI2LWZhcS1hbnN3ZXIgYSB7IGNvbG9yOiB2YXIoLS1zZW0tYmxhY2spOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1wdC15ZWxsb3cpOyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4OyB9Ci8qIFNPQlJFICovCi5zZW0yNiAuc2VtMjYtc29icmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zZW0tYmxhY2spOyBjb2xvcjogdmFyKC0tc2VtLWNyZWFtKTsgcGFkZGluZy1ibG9jazogY2xhbXAoNThweCwgOXZ3LCAxMjBweCk7IH0KLnNlbTI2IC5zZW0yNi1zb2JyZSAuYi1hIHsgd2lkdGg6IDM0dnc7IGhlaWdodDogMzR2dzsgbWF4LXdpZHRoOiA0NDBweDsgbWF4LWhlaWdodDogNDQwcHg7IGJhY2tncm91bmQ6IHJnYmEoMjMyLDE2Myw0MCwuMTMpOyB0b3A6IC0xMnZ3OyBsZWZ0OiAtMTB2dzsgfQouc2VtMjYgLnNlbTI2LXNvYnJlIC5iLWIgeyB3aWR0aDogMjZ2dzsgaGVpZ2h0OiAyNnZ3OyBtYXgtd2lkdGg6IDMyMHB4OyBtYXgtaGVpZ2h0OiAzMjBweDsgYmFja2dyb3VuZDogcmdiYSgyMDEsMjI4LDIzNCwuMTApOyBib3R0b206IC0xMHZ3OyByaWdodDogLTh2dzsgfQouc2VtMjYgLnNlbTI2LXNvYnJlIC5zZW0yNi1oMiB7IGNvbG9yOiB2YXIoLS1zZW0tY3JlYW0pOyB9Ci5zZW0yNiAuc2VtMjYtc29icmUgLnNlbTI2LWV5ZWJyb3cgeyBjb2xvcjogdmFyKC0tcHQteWVsbG93KTsgfQouc2VtMjYgLnNlbTI2LXNvYnJlIHAgeyBjb2xvcjogcmdiYSgyNTMsMjQxLDIxOSwuODIpOyB9Ci5zZW0yNiAuc2VtMjYtc29icmUtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogY2xhbXAoMjRweCwgNHZ3LCA1NHB4KTsgfQpAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHsgLnNlbTI2IC5zZW0yNi1zb2JyZS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuOGZyIDEuMmZyOyB9IH0KLnNlbTI2IC5zZW0yNi1jb250aW51YSB7IG1hcmdpbi10b3A6IGNsYW1wKDM2cHgsIDV2dywgNjJweCk7IHBhZGRpbmctdG9wOiBjbGFtcCgyOHB4LCA0dncsIDQ0cHgpOyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTMsMjQxLDIxOSwuMjIpOyB9Ci5zZW0yNiAuc2VtMjYtY29udGludWEgcC5rIHsgZm9udC1zaXplOiBjbGFtcCgxLjE1cmVtLCAyLjR2dywgMS43cmVtKTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLXNlbS1jcmVhbSk7IGxpbmUtaGVpZ2h0OiAxLjI1OyBtYXgtd2lkdGg6IDI0Y2g7IG1hcmdpbjogMCAwIDIwcHg7IH0KLnNlbTI2IC5zZW0yNi1saW5rcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiAxMHB4IDhweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQouc2VtMjYgLnNlbTI2LWxpbmtzIGEgeyBjb2xvcjogdmFyKC0tc2VtLWNyZWFtKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXNpemU6IC45OHJlbTsgcGFkZGluZzogNnB4IDJweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjMyLDE2Myw0MCwuNTUpOyB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIC4ycyBlYXNlOyB9Ci5zZW0yNiAuc2VtMjYtbGlua3MgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1wdC15ZWxsb3cpOyBib3JkZXItY29sb3I6IHZhcigtLXB0LXllbGxvdyk7IH0KLnNlbTI2IC5zZW0yNi1saW5rcyAuZG90IHsgY29sb3I6IHJnYmEoMjUzLDI0MSwyMTksLjQpOyBwYWRkaW5nOiAwIDZweDsgfQovKiBDT05UQUNUT1MgKi8KLnNlbTI2IC5zZW0yNi1jb250YWN0b3MgeyBwYWRkaW5nLWJsb2NrOiBjbGFtcCg1NnB4LCA5dncsIDExMHB4KTsgfQouc2VtMjYgLnNlbTI2LWNvbnRhY3RvcyAuYi1hIHsgd2lkdGg6IDMydnc7IGhlaWdodDogMzJ2dzsgbWF4LXdpZHRoOiA0MDBweDsgbWF4LWhlaWdodDogNDAwcHg7IGJhY2tncm91bmQ6IHZhcigtLXNlbS1ibHVlKTsgdG9wOiA4JTsgbGVmdDogLTE0dnc7IG9wYWNpdHk6IC41OyB9Ci5zZW0yNiAuc2VtMjYtY29udGFjdG9zIC5iLWIgeyB3aWR0aDogMjR2dzsgaGVpZ2h0OiAyNHZ3OyBtYXgtd2lkdGg6IDMwMHB4OyBtYXgtaGVpZ2h0OiAzMDBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWdyZWVuKTsgYm90dG9tOiAtOHZ3OyByaWdodDogLTh2dzsgb3BhY2l0eTogLjU7IH0KLnNlbTI2IC5zZW0yNi1jb250YWN0LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBnYXA6IGNsYW1wKDMwcHgsIDR2dywgNTZweCk7IH0KQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7IC5zZW0yNiAuc2VtMjYtY29udGFjdC1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuOGZyIDEuMmZyOyB9IH0KLnNlbTI2IC5zZW0yNi1jb250YWN0LWRpcmVjdCBhIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogY2xhbXAoMS4wOHJlbSwgMnZ3LCAxLjM1cmVtKTsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcHQteWVsbG93KTsgcGFkZGluZy1ib3R0b206IDRweDsgd2lkdGg6IGZpdC1jb250ZW50OyB9Ci5zZW0yNiAuc2VtMjYtY29udGFjdC1kaXJlY3QgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7IH0KLnNlbTI2IC5zZW0yNi1mb3JtIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxOHB4OyB9CkBtZWRpYSAobWluLXdpZHRoOiA2MjBweCkgeyAuc2VtMjYgLnNlbTI2LWZvcm0gLnJvdzIgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMThweDsgfSB9Ci5zZW0yNiAuc2VtMjYtZmllbGQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDdweDsgfQouc2VtMjYgLnNlbTI2LWZpZWxkIGxhYmVsIHsgZm9udC1zaXplOiAuODZyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMDZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQouc2VtMjYgLnNlbTI2LWZpZWxkIC5yZXEgeyBjb2xvcjogdmFyKC0tcHQteWVsbG93KTsgfQouc2VtMjYgLnNlbTI2LWZpZWxkIGlucHV0LAouc2VtMjYgLnNlbTI2LWZpZWxkIHRleHRhcmVhIHsKICBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxcmVtOyBjb2xvcjogdmFyKC0tc2VtLWJsYWNrKTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC43Mik7CiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1zZW0taGFpcmxpbmUpOyBib3JkZXItcmFkaXVzOiA2cHg7CiAgcGFkZGluZzogMTNweCAxNXB4OyBtaW4taGVpZ2h0OiA1MHB4OyB3aWR0aDogMTAwJTsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2U7Cn0KLnNlbTI2IC5zZW0yNi1maWVsZCB0ZXh0YXJlYSB7IG1pbi1oZWlnaHQ6IDE0OHB4OyByZXNpemU6IHZlcnRpY2FsOyB9Ci5zZW0yNiAuc2VtMjYtZmllbGQgaW5wdXQ6Zm9jdXMsCi5zZW0yNiAuc2VtMjYtZmllbGQgdGV4dGFyZWE6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLXB0LXllbGxvdyk7IGJhY2tncm91bmQ6ICNmZmY7IH0KLnNlbTI2IC5zZW0yNi1maWVsZCBpbnB1dFthcmlhLWludmFsaWQ9InRydWUiXSwKLnNlbTI2IC5zZW0yNi1maWVsZCB0ZXh0YXJlYVthcmlhLWludmFsaWQ9InRydWUiXSB7IGJvcmRlci1jb2xvcjogI0I0NDMyQjsgfQouc2VtMjYgLnNlbTI2LWVyciB7IGZvbnQtc2l6ZTogLjg0cmVtOyBjb2xvcjogI0I0NDMyQjsgbWluLWhlaWdodDogMDsgfQouc2VtMjYgLnNlbTI2LWVycjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH0KLnNlbTI2IC5zZW0yNi1jb25zZW50IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogMTJweDsgZm9udC1zaXplOiAuOTJyZW07IGNvbG9yOiB2YXIoLS1zZW0tZ3JleSk7IH0KLnNlbTI2IC5zZW0yNi1jb25zZW50IGlucHV0IHsgd2lkdGg6IDIycHg7IGhlaWdodDogMjJweDsgbWluLWhlaWdodDogMDsgZmxleDogMCAwIGF1dG87IG1hcmdpbi10b3A6IDJweDsgYWNjZW50LWNvbG9yOiB2YXIoLS1wdC15ZWxsb3cpOyB9Ci5zZW0yNiAuc2VtMjYtY29uc2VudCBsYWJlbCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyBsZXR0ZXItc3BhY2luZzogMDsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAuOTJyZW07IH0KLnNlbTI2IC5zZW0yNi1mb3JtLXN0YXR1cyB7IGZvbnQtc2l6ZTogLjk1cmVtOyBwYWRkaW5nOiAxNHB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDZweDsgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1wdC15ZWxsb3cpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7IH0KLnNlbTI2IC5zZW0yNi1mb3JtLXN0YXR1czplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH0KLnNlbTI2IC5zZW0yNi1mb3JtLXN0YXR1c1tkYXRhLXRvbmU9ImVycm8iXSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjQjQ0MzJCOyB9Ci8qIEZFQ0hPICovCi5zZW0yNiAuc2VtMjYtZmVjaG8geyBwYWRkaW5nLWJsb2NrOiBjbGFtcCg3MHB4LCAxMXZ3LCAxNDBweCkgY2xhbXAoNDBweCwgNnZ3LCA3MHB4KTsgfQouc2VtMjYgLnNlbTI2LWZlY2hvIC5iLWEgeyB3aWR0aDogNDR2dzsgaGVpZ2h0OiA0NHZ3OyBtYXgtd2lkdGg6IDU2MHB4OyBtYXgtaGVpZ2h0OiA1NjBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLWNvcmFsKTsgdG9wOiAtMTB2dzsgcmlnaHQ6IC0xOHZ3OyBvcGFjaXR5OiAuNjsgfQouc2VtMjYgLnNlbTI2LWZlY2hvIC5iLWIgeyB3aWR0aDogMjZ2dzsgaGVpZ2h0OiAyNnZ3OyBtYXgtd2lkdGg6IDMzMHB4OyBtYXgtaGVpZ2h0OiAzMzBweDsgYmFja2dyb3VuZDogdmFyKC0tc2VtLXBpbmspOyBib3R0b206IC0xMnZ3OyBsZWZ0OiAtMTB2dzsgb3BhY2l0eTogLjU7IH0KLnNlbTI2IC5zZW0yNi1mZWNoby1oIHsgZm9udC1zaXplOiBjbGFtcCgxLjlyZW0sIDUuNnZ3LCAzLjlyZW0pOyBsaW5lLWhlaWdodDogMS4wMzsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbjogMCAwIDIycHg7IG1heC13aWR0aDogMTZjaDsgfQouc2VtMjYgLnNlbTI2LWZlY2hvLWggLnkgeyBjb2xvcjogdmFyKC0tcHQteWVsbG93KTsgfQouc2VtMjYgLnNlbTI2LWZlY2hvLWNsYWltIHsgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAxLjh2dywgMS4yOHJlbSk7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMTRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXNlbS1ncmV5KTsgfQouc2VtMjYgLnNlbTI2LWZlY2hvLWN1cnZlIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogMTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0KLnNlbTI2IC5zZW0yNi1mZWNoby1jdXJ2ZSBzdmcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBibG9jazsgfQovKiBPUkcgLyBQQVJDRUlST1MgLyBTT0NJQUwgKi8KLnNlbTI2IC5zZW0yNi1vcmcgeyBwYWRkaW5nLWJsb2NrOiBjbGFtcCgyMHB4LCA0dncsIDQwcHgpIGNsYW1wKDUwcHgsIDh2dywgOTBweCk7IH0KLnNlbTI2IC5zZW0yNi1vcmctcGFuZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zZW0tYmxhY2spOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiBjbGFtcCgyNHB4LCA0dncsIDQwcHgpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogY2xhbXAoMjBweCwgNHZ3LCA0NnB4KTsgfQouc2VtMjYgLnNlbTI2LW9yZy1wYW5lbCBwIHsgbWFyZ2luOiAwOyBjb2xvcjogcmdiYSgyNTMsMjQxLDIxOSwuOCk7IGZvbnQtc2l6ZTogLjg4cmVtOyBsZXR0ZXItc3BhY2luZzogLjE2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZsZXg6IDEgMSAyMjBweDsgfQouc2VtMjYgLnNlbTI2LW9yZy1sb2dvcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiBjbGFtcCgyNHB4LCA0dncsIDQ4cHgpOyB9Ci5zZW0yNiAuc2VtMjYtb3JnLWxvZ29zIGltZyB7IGhlaWdodDogNDRweDsgd2lkdGg6IGF1dG87IG9iamVjdC1maXQ6IGNvbnRhaW47IH0KLnNlbTI2IC5zZW0yNi1wYXJjZWlyb3MgeyBtYXJnaW4tdG9wOiBjbGFtcCgzNHB4LCA1dncsIDU2cHgpOyB9Ci5zZW0yNiAuc2VtMjYtcGFyY2Vpcm9zIGgyIHsgZm9udC1zaXplOiAuODJyZW07IGxldHRlci1zcGFjaW5nOiAuMjJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXNlbS1ncmV5KTsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luOiAwIDAgMjJweDsgfQouc2VtMjYgLnNlbTI2LXBhcmNlaXJvcy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7IGdhcDogMTZweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQouc2VtMjYgLnNlbTI2LXBhcmNlaXJvIHsgbWluLWhlaWdodDogODhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDE0cHggMThweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNik7IGJvcmRlci1yYWRpdXM6IDEwcHg7IH0KLnNlbTI2IC5zZW0yNi1wYXJjZWlybyBpbWcgeyBtYXgtaGVpZ2h0OiA0NnB4OyB3aWR0aDogYXV0bzsgb2JqZWN0LWZpdDogY29udGFpbjsgfQouc2VtMjYgLnNlbTI2LXBhcmNlaXJvLXZhemlvIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMS41cHggZGFzaGVkIHZhcigtLXNlbS1oYWlybGluZSk7IGNvbG9yOiB2YXIoLS1zZW0tZ3JleS1zb2Z0KTsgZm9udC1zaXplOiAuODJyZW07IGxldHRlci1zcGFjaW5nOiAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5zZW0yNiAuc2VtMjYtc29jaWFsIHsgbWFyZ2luLXRvcDogY2xhbXAoMzRweCwgNXZ3LCA1NnB4KTsgcGFkZGluZy10b3A6IDI2cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zZW0taGFpcmxpbmUpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTZweCAyMnB4OyB9Ci5zZW0yNiAuc2VtMjYtc29jaWFsIHAgeyBtYXJnaW46IDA7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogLjk1cmVtOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IH0KLnNlbTI2IC5zZW0yNi1zb2NpYWwtaWNvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IH0KLnNlbTI2IC5zZW0yNi1zb2NpYWwtaWNvbnMgYSB7IHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ0cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogdmFyKC0tc2VtLWJsYWNrKTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1zZW0taGFpcmxpbmUpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZSwgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZSwgdHJhbnNmb3JtIC4yNXMgZWFzZTsgfQouc2VtMjYgLnNlbTI2LXNvY2lhbC1pY29ucyBhOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tcHQteWVsbG93KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1wdC15ZWxsb3cpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH0KLnNlbTI2IC5zZW0yNi1zb2NpYWwtaWNvbnMgc3ZnIHsgd2lkdGg6IDIxcHg7IGhlaWdodDogMjFweDsgfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC5zZW0yNiAqLCAuc2VtMjYgKjo6YmVmb3JlLCAuc2VtMjYgKjo6YWZ0ZXIgewogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuMDAxbXMgIWltcG9ydGFudDsKICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4wMDFtcyAhaW1wb3J0YW50OwogIH0KICAuc2VtMjYuanMtcmVhZHkgLnNlbTI2LXN0b3BzID4gbGkgeyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9Cn0KPC9zdHlsZT4KPGRpdiBjbGFzcz0ic2VtMjYiPgogIDxzZWN0aW9uIGNsYXNzPSJzZW0yNi1zZWN0aW9uIHNlbTI2LWhlcm8iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtaDEiPgogICAgPGRpdiBjbGFzcz0ic2VtMjYtYmxvYiBiLTEgYi1hIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1ibG9iIGItMiBiLWIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LWJsb2IgYi0zIGItYyIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2VtMjYtd3JhcCI+CiAgICAgIDxkaXYgY2xhc3M9InNlbTI2LWhlcm8tZ3JpZCI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMSBjbGFzcz0ic2VtMjYtdGl0bGUiIGlkPSJzZW0yNi1oMSI+U2VtYW5hIEV1cm9wZWlhIDxzcGFuIGNsYXNzPSJ5Ij5kYSBNb2JpbGlkYWRlPC9zcGFuPjwvaDE+CiAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtd2hlbiI+T2VpcmFzIHwgMTbigJMyMiBzZXRlbWJybyAyMDI2PC9wPgogICAgICAgICAgPHAgY2xhc3M9InNlbTI2LWNsYWltIj5KdW50b3MgPHNwYW4gY2xhc3M9InkiPm1vdmVtb3M8L3NwYW4+IE9laXJhczwvcD4KICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2VtMjYtYnRuIiBkYXRhLXNjcm9sbC10bz0icHJvZ3JhbWEiPgogICAgICAgICAgICBWZXIgcHJvZ3JhbWEKICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYXJyb3ciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTggMnYxMU0zIDguNWw1IDQuNSA1LTQuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1oZXJvLXBpbiI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cucGFycXVlc3Rlam8ucHQvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDgvRU1XLVBpbi1zY2FsZWQucG5nIgogICAgICAgICAgICAgICBhbHQ9IklsdXN0cmHDp8OjbyBkbyBwaW4gZGEgU2VtYW5hIEV1cm9wZWlhIGRhIE1vYmlsaWRhZGUsIGNvbSBwZXNzb2FzIGEgY2lyY3VsYXIgZGUgYXV0b2NhcnJvLCB0cm90aW5ldGUsIGJpY2ljbGV0YSBlIGEgcMOpLiIKICAgICAgICAgICAgICAgd2lkdGg9IjkwMCIgaGVpZ2h0PSI5MDAiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1oZXJvLWN1cnZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgIDxzdmcgdmlld0JveD0iMCAwIDEyMDAgMjEwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBmb2N1c2FibGU9ImZhbHNlIj4KICAgICAgICA8cGF0aCBkPSJNIC02MCAzNCBDIDEyMCAtMjYsIDIxMCAxMTgsIDM3MiAxMjggQyA1MzQgMTM4LCA1OTYgMjQsIDc0MiA0NCBDIDg1OCA2MCwgODgwIDE1MiwgMTAwNiAxNTggQyAxMTA4IDE2MywgMTE1MCAxMTgsIDEyNjAgMTY4IgogICAgICAgICAgICAgIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0U4QTMyOCIgc3Ryb2tlLXdpZHRoPSI0LjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIKICAgICAgICAgICAgICBvcGFjaXR5PSIuNTUiIHZlY3Rvci1lZmZlY3Q9Im5vbi1zY2FsaW5nLXN0cm9rZSIvPgogICAgICA8L3N2Zz4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPHNlY3Rpb24gY2xhc3M9InNlbTI2LXNlY3Rpb24gc2VtMjYtaW50cm8iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtaW50cm8taCI+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1ibG9iIGItMiBiLWEiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LXdyYXAgc2VtMjYtbmFycm93Ij4KICAgICAgPGgyIGNsYXNzPSJzZW0yNi1pbnRyby1oIiBpZD0ic2VtMjYtaW50cm8taCI+VW1hIHNlbWFuYSBwYXJhIG1vdmVyIE9laXJhcyBkZSBvdXRyYXMgZm9ybWFzLjwvaDI+CiAgICAgIDxwIGNsYXNzPSJzZW0yNi1sZWFkIj5FbnRyZSAxNiBlIDIyIGRlIHNldGVtYnJvLCBPZWlyYXMgdm9sdGEgYSBwYXJ0aWNpcGFyIG5hIFNlbWFuYSBFdXJvcGVpYSBkYSBNb2JpbGlkYWRlLiBBbyBsb25nbyBkZSBzZXRlIGRpYXMsIGEgUGFycXVlcyBUZWpvIHByb21vdmUgdW0gcHJvZ3JhbWEgZGVkaWNhZG8gw6AgbW9iaWxpZGFkZSBzdXN0ZW50w6F2ZWwsIGFvIGVzcGHDp28gcMO6YmxpY28sIMOgIGlub3Zhw6fDo28gZSBhIG5vdmFzIGZvcm1hcyBkZSB2aXZlciBlIHBlcmNvcnJlciBvIGNvbmNlbGhvLjwvcD4KICAgICAgPHAgY2xhc3M9InNlbTI2LXdvcmRzIj5FeHBlcmltZW50YXIgPHNwYW4+wrc8L3NwYW4+IFBhcnRpY2lwYXIgPHNwYW4+wrc8L3NwYW4+IFJlcGVuc2FyPC9wPgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VtMjYtc2VjdGlvbiBzZW0yNi1wcm9ncmFtYSIgaWQ9InByb2dyYW1hIiBhcmlhLWxhYmVsbGVkYnk9InNlbTI2LXByb2dyYW1hLWgiPgogICAgPGRpdiBjbGFzcz0ic2VtMjYtYmxvYiBiLTEgYi1hIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1ibG9iIGItMyBiLWIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LWJsb2IgYi0yIGItYyIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2VtMjYtd3JhcCBzZW0yNi1wcm9ncmFtYS1oZWFkIj4KICAgICAgPHAgY2xhc3M9InNlbTI2LWV5ZWJyb3ciPlByb2dyYW1hPC9wPgogICAgICA8aDIgY2xhc3M9InNlbTI2LWgyIiBpZD0ic2VtMjYtcHJvZ3JhbWEtaCI+T256ZSBwYXJhZ2VucyBhbyBsb25nbyBkbyBwcm9ncmFtYTwvaDI+CiAgICAgIDxwIGNsYXNzPSJzZW0yNi1sZWFkIHNlbTI2LW5hcnJvdyI+U2lnYSBvIHBlcmN1cnNvLiBDYWRhIHBhcmFnZW0gw6kgdW1hIGluaWNpYXRpdmEgYWJlcnRhIGEgcXVlbSB2aXZlLCB0cmFiYWxoYSBvdSBlc3R1ZGEgZW0gT2VpcmFzLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2VtMjYtcGVyY3Vyc28iPgogICAgICA8c3ZnIGNsYXNzPSJzZW0yNi1wYXRoLXN2ZyIgYXJpYS1oaWRkZW49InRydWUiIGZvY3VzYWJsZT0iZmFsc2UiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgogICAgICAgIDxkZWZzPgogICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSJzZW0yNi1ncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEwMCI+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMCIgICAgc3RvcC1jb2xvcj0iI0U4QTMyOCIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAuMjYiIHN0b3AtY29sb3I9IiNDMkNCOTMiLz4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjUyIiBzdG9wLWNvbG9yPSIjRjNCNzhCIi8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMC43OCIgc3RvcC1jb2xvcj0iIzkzQzVEMSIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjEiICAgIHN0b3AtY29sb3I9IiNFMDk0NTUiLz4KICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPC9kZWZzPgogICAgICAgIDxwYXRoIGNsYXNzPSJzZW0yNi1wYXRoIiBkPSIiIHN0cm9rZT0idXJsKCNzZW0yNi1ncmFkKSI+PC9wYXRoPgogICAgICA8L3N2Zz4KICAgICAgPG9sIGNsYXNzPSJzZW0yNi1zdG9wcyI+CiAgICAgICAgPGxpIGNsYXNzPSJzZW0yNi1zdG9wIiBkYXRhLXNpZGU9InJpZ2h0IiBzdHlsZT0iLS1zdG9wLWNvbG9yOiB2YXIoLS1saW5lLWFtYXJlbG8pOyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtbWFya2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtc3RvcC1ib2R5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlbTI2LXN0b3AtcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtZGF0ZSI+MTYgc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hMSI+T2VpcmFzIFNhaSDDoCBSdWE8L2gzPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC10aW1lIj4wOGgwMCDigJMgMTNoMDA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXBsYWNlIj48YSBkYXRhLWxvYz0iY29uZGVGZXJyZWlyYSIgaHJlZj0iaHR0cHM6Ly9tYXBzLmFwcC5nb28uZ2wvcldiUjZIUjRwUExvNk11bzkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVzY29sYSBCw6FzaWNhIENvbmRlIEZlcnJlaXJhPC9hPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdHlwZSI+RXZlbnRvIGFiZXJ0byDDoCBjb211bmlkYWRlPC9wPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LW1vcmUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1wMSI+PHNwYW4gY2xhc3M9InBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+U2FiZXIgbWFpczxzcGFuIGNsYXNzPSJzci1vbmx5Ij4gc29icmUgT2VpcmFzIFNhaSDDoCBSdWE8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtcDEiIGRhdGEtb3Blbj0iZmFsc2UiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1hMSI+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwtaW5uZXIiPjxkaXYgY2xhc3M9ImF0aXZpZGFkZS1kZXRhbGhlIj48cD5NYWlzIGluZm9ybWHDp8O1ZXMgc29icmUgZXN0YSBhdGl2aWRhZGUgc2Vyw6NvIGRpc3BvbmliaWxpemFkYXMgYnJldmVtZW50ZS48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ic2VtMjYtc3RvcCIgZGF0YS1zaWRlPSJsZWZ0IiBzdHlsZT0iLS1zdG9wLWNvbG9yOiB2YXIoLS1saW5lLWFtYXJlbG8pOyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtbWFya2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtc3RvcC1ib2R5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlbTI2LXN0b3AtcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtZGF0ZSI+MTcgc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hMiI+Q29uZmVyw6puY2lhIEJFTjwvaDM+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXRpbWUiPjA5aDMwIOKAkyAxM2gwMDwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtcGxhY2UiPjxhIGRhdGEtbG9jPSJwYWxhY2lvQW5qb3MiIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPlBhbMOhY2lvIEFuam9zPC9hPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdHlwZSI+U2Vzc8OjbyBkZSB0cmFiYWxobyBjb20gZW1wcmVzYXM8L3A+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2VtMjYtbW9yZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNlbTI2LXAyIj48c3BhbiBjbGFzcz0icGx1cyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj5TYWJlciBtYWlzPHNwYW4gY2xhc3M9InNyLW9ubHkiPiBzb2JyZSBhIENvbmZlcsOqbmNpYSBCRU48L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtcDIiIGRhdGEtb3Blbj0iZmFsc2UiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1hMiI+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwtaW5uZXIiPjxkaXYgY2xhc3M9ImF0aXZpZGFkZS1kZXRhbGhlIj48cD5NYWlzIGluZm9ybWHDp8O1ZXMgc29icmUgZXN0YSBhdGl2aWRhZGUgc2Vyw6NvIGRpc3BvbmliaWxpemFkYXMgYnJldmVtZW50ZS48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ic2VtMjYtc3RvcCIgZGF0YS1zaWRlPSJyaWdodCIgc3R5bGU9Ii0tc3RvcC1jb2xvcjogdmFyKC0tbGluZS12ZXJkZSk7Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZW0yNi1tYXJrZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1zdG9wLWJvZHkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtc3RvcC1ydWxlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1kYXRlIj4xNyBlIDE4IHNldDwvcD4KICAgICAgICAgICAgPGgzIGNsYXNzPSJzZW0yNi1zdG9wLXRpdGxlIiBpZD0ic2VtMjYtYTMiPlN1bnNldCBCaWtlPC9oMz4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdGltZSI+MTdoMzAg4oCTIDE5aDAwIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo0MDA7Ij7CtyBub3MgZG9pcyBkaWFzPC9zcGFuPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtcGxhY2UiPjxhIGRhdGEtbG9jPSJxdWlvc3F1ZUFsZ2VzIiBocmVmPSJodHRwczovL21hcHMuYXBwLmdvby5nbC9IREpSdlVWa0YxRjFxMzZQOSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+UXVpb3NxdWUgZGUgTW9iaWxpZGFkZSBkZSBBbGfDqXM8L2E+PC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC10eXBlIj5FdmVudG8gYWJlcnRvIMOgIGNvbXVuaWRhZGU8L3A+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2VtMjYtbW9yZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNlbTI2LXAzIj48c3BhbiBjbGFzcz0icGx1cyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj5TYWJlciBtYWlzPHNwYW4gY2xhc3M9InNyLW9ubHkiPiBzb2JyZSBvIFN1bnNldCBCaWtlPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbCIgaWQ9InNlbTI2LXAzIiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtYTMiPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsLWlubmVyIj48ZGl2IGNsYXNzPSJhdGl2aWRhZGUtZGV0YWxoZSI+PHA+TWFpcyBpbmZvcm1hw6fDtWVzIHNvYnJlIGVzdGEgYXRpdmlkYWRlIHNlcsOjbyBkaXNwb25pYmlsaXphZGFzIGJyZXZlbWVudGUuPC9wPjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9InNlbTI2LXN0b3AiIGRhdGEtc2lkZT0ibGVmdCIgc3R5bGU9Ii0tc3RvcC1jb2xvcjogdmFyKC0tbGluZS12ZXJkZSk7Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZW0yNi1tYXJrZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1zdG9wLWJvZHkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtc3RvcC1ydWxlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1kYXRlIj4xOCBzZXQ8L3A+CiAgICAgICAgICAgIDxoMyBjbGFzcz0ic2VtMjYtc3RvcC10aXRsZSIgaWQ9InNlbTI2LWE0Ij5JbmF1Z3VyYcOnw6NvIEJpa2UgQnVzPC9oMz4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdGltZSI+MDhoMDAg4oCTIDA5aDAwPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1wbGFjZSI+PGEgZGF0YS1sb2M9ImJlY2FNdXJpYXMiIGhyZWY9Imh0dHBzOi8vbWFwcy5hcHAuZ29vLmdsL25tRFJFRnZONkhQVUhod1hBIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5Fc2NvbGEgQsOhc2ljYSBNYW51ZWwgQmXDp2EgTcO6cmlhczwvYT48L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXR5cGUiPkV2ZW50byBwYXJhIGEgY29tdW5pZGFkZSBlc2NvbGFyPC9wPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LW1vcmUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1wNCI+PHNwYW4gY2xhc3M9InBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+U2FiZXIgbWFpczxzcGFuIGNsYXNzPSJzci1vbmx5Ij4gc29icmUgYSBpbmF1Z3VyYcOnw6NvIGRvIEJpa2UgQnVzPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbCIgaWQ9InNlbTI2LXA0IiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtYTQiPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsLWlubmVyIj48ZGl2IGNsYXNzPSJhdGl2aWRhZGUtZGV0YWxoZSI+PHA+TWFpcyBpbmZvcm1hw6fDtWVzIHNvYnJlIGVzdGEgYXRpdmlkYWRlIHNlcsOjbyBkaXNwb25pYmlsaXphZGFzIGJyZXZlbWVudGUuPC9wPjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9InNlbTI2LXN0b3AiIGRhdGEtc2lkZT0icmlnaHQiIHN0eWxlPSItLXN0b3AtY29sb3I6IHZhcigtLWxpbmUtY29yYWwpOyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtbWFya2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtc3RvcC1ib2R5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlbTI2LXN0b3AtcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtZGF0ZSI+MTggc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hNSI+MTTCuiBFbmNvbnRybyBkYSBSZWRlIGRvcyBPRFMgbmEgQ0NEUiBMaXNib2EgZSBWYWxlIGRvIFRlam88L2gzPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC10aW1lIj4xNGgzMCDigJMgMTdoMzA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXBsYWNlIj48YSBkYXRhLWxvYz0icGFsYWNpb0Fuam9zIiBocmVmPSIjIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5QYWzDoWNpbyBBbmpvczwvYT48L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXR5cGUiPkNvbmZlcsOqbmNpYSBhYmVydGEgw6AgY29tdW5pZGFkZTwvcD4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZW0yNi1tb3JlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2VtMjYtcDUiPjxzcGFuIGNsYXNzPSJwbHVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPlNhYmVyIG1haXM8c3BhbiBjbGFzcz0ic3Itb25seSI+IHNvYnJlIG8gMTTCuiBFbmNvbnRybyBkYSBSZWRlIGRvcyBPRFM8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtcDUiIGRhdGEtb3Blbj0iZmFsc2UiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1hNSI+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwtaW5uZXIiPjxkaXYgY2xhc3M9ImF0aXZpZGFkZS1kZXRhbGhlIj48cD5NYWlzIGluZm9ybWHDp8O1ZXMgc29icmUgZXN0YSBhdGl2aWRhZGUgc2Vyw6NvIGRpc3BvbmliaWxpemFkYXMgYnJldmVtZW50ZS48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ic2VtMjYtc3RvcCIgZGF0YS1zaWRlPSJsZWZ0IiBzdHlsZT0iLS1zdG9wLWNvbG9yOiB2YXIoLS1saW5lLXJvc2EpOyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtbWFya2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtc3RvcC1ib2R5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlbTI2LXN0b3AtcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtZGF0ZSI+MTkgc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hNiI+TGltcGFyIGRlIEJpY2xhPC9oMz4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdGltZSI+MDloMDAg4oCTIDEzaDAwPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1wbGFjZSI+PGEgZGF0YS1sb2M9InF1aW9zcXVlQWxnZXMiIGhyZWY9Imh0dHBzOi8vbWFwcy5hcHAuZ29vLmdsL0RQVmVkZm5Zc0pQdDlFeEpBIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5RdWlvc3F1ZSBkZSBNb2JpbGlkYWRlIGRlIEFsZ8OpczwvYT48L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXR5cGUiPkV2ZW50byBhYmVydG8gw6AgY29tdW5pZGFkZTwvcD4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZW0yNi1tb3JlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2VtMjYtcDYiPjxzcGFuIGNsYXNzPSJwbHVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPlNhYmVyIG1haXM8c3BhbiBjbGFzcz0ic3Itb25seSI+IHNvYnJlIG8gTGltcGFyIGRlIEJpY2xhPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbCIgaWQ9InNlbTI2LXA2IiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtYTYiPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsLWlubmVyIj48ZGl2IGNsYXNzPSJhdGl2aWRhZGUtZGV0YWxoZSI+PHA+SW5zY3Jpw6fDo28gb2JyaWdhdMOzcmlhIGF0cmF2w6lzIGRvIGZvcm11bMOhcmlvOjwvcD48cD48YSBocmVmPSJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9mb3Jtcy9kL2UvMUZBSXBRTFNjMkphQV9TUVVxV05vM29Xd0hZazBMQnpMYUFyd2dteWFSdktyeFZ2WEFTWExWTUEvdmlld2Zvcm0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPlByZWVuY2hlciBmb3JtdWzDoXJpbyBkZSBpbnNjcmnDp8OjbzwvYT48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ic2VtMjYtc3RvcCIgZGF0YS1zaWRlPSJyaWdodCIgc3R5bGU9Ii0tc3RvcC1jb2xvcjogdmFyKC0tbGluZS1jb3JhbCk7Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZW0yNi1tYXJrZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1zdG9wLWJvZHkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtc3RvcC1ydWxlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1kYXRlIj4yMCBzZXQ8L3A+CiAgICAgICAgICAgIDxoMyBjbGFzcz0ic2VtMjYtc3RvcC10aXRsZSIgaWQ9InNlbTI2LWE3Ij5LaWRpY2FsIE1hc3M8L2gzPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC10aW1lIj4xMGgwMCDigJMgMTJoMDA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXBsYWNlIj48YSBkYXRhLWxvYz0iZXN0YWNhb0NQIiBocmVmPSIjIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5Fc3RhY2lvbmFtZW50byBkYSBFc3Rhw6fDo28gQ1AsIGxhZG8gbWFyPC9hPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdHlwZSI+RXZlbnRvIGFiZXJ0byDDoCBjb211bmlkYWRlPC9wPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LW1vcmUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1wNyI+PHNwYW4gY2xhc3M9InBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+U2FiZXIgbWFpczxzcGFuIGNsYXNzPSJzci1vbmx5Ij4gc29icmUgbyBLaWRpY2FsIE1hc3M8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtcDciIGRhdGEtb3Blbj0iZmFsc2UiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1hNyI+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwtaW5uZXIiPjxkaXYgY2xhc3M9ImF0aXZpZGFkZS1kZXRhbGhlIj48cD5QYXNzZWlvIGRlIGJpY2ljbGV0YSBwZWxhIGNpY2xvdmlhIGRhIE1lZHJvc2EgYXTDqSDDoCBNYXJnaW5hbC48L3A+PHA+SWRhIGUgdm9sdGEgcGVsYSBNYXJnaW5hbCBhdMOpIFNhbnRvIEFtYXJvLCBmaW5hbCBubyBQYXJxdWVzIFRlam8gR3JlZW4gRXhwZXJpZW5jZSBAIE1leGEtc2UgbmEgTWFyZ2luYWwsIGp1bnRvIGFvIFF1aW9zcXVlIGRlIE1vYmlsaWRhZGUgZGEgUHJhaWEgZGEgVG9ycmUuPC9wPjxwPkRpc3TDom5jaWEgdG90YWw6IDUsNCBrbS48L3A+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2xpPgogICAgICAgIDxsaSBjbGFzcz0ic2VtMjYtc3RvcCIgZGF0YS1zaWRlPSJsZWZ0IiBzdHlsZT0iLS1zdG9wLWNvbG9yOiB2YXIoLS1saW5lLWF6dWwpOyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtbWFya2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtc3RvcC1ib2R5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlbTI2LXN0b3AtcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtZGF0ZSI+MjAgc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hOCI+TWV4YS1zZSBuYSBNYXJnaW5hbCAvIFBhcnF1ZXMgVGVqbyBHcmVlbiBFeHBlcmllbmNlPC9oMz4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdGltZSI+MDloMzAg4oCTIDEyaDMwPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1wbGFjZSI+PGEgZGF0YS1sb2M9InByYWlhVG9ycmUiIGhyZWY9Imh0dHBzOi8vbWFwcy5hcHAuZ29vLmdsL0FBU2lmVk5ZRTJ4VERhaVlBIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5RdWlvc3F1ZSBkZSBNb2JpbGlkYWRlIGRhIFByYWlhIGRhIFRvcnJlPC9hPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdHlwZSI+RXZlbnRvIGFiZXJ0byDDoCBjb211bmlkYWRlPC9wPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LW1vcmUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1wOCI+PHNwYW4gY2xhc3M9InBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+U2FiZXIgbWFpczxzcGFuIGNsYXNzPSJzci1vbmx5Ij4gc29icmUgbyBNZXhhLXNlIG5hIE1hcmdpbmFsPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbCIgaWQ9InNlbTI2LXA4IiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtYTgiPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsLWlubmVyIj48ZGl2IGNsYXNzPSJhdGl2aWRhZGUtZGV0YWxoZSI+PHA+TWFpcyBpbmZvcm1hw6fDtWVzIHNvYnJlIGVzdGEgYXRpdmlkYWRlIHNlcsOjbyBkaXNwb25pYmlsaXphZGFzIGJyZXZlbWVudGUuPC9wPjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9InNlbTI2LXN0b3AiIGRhdGEtc2lkZT0icmlnaHQiIHN0eWxlPSItLXN0b3AtY29sb3I6IHZhcigtLWxpbmUtYXp1bCk7Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZW0yNi1tYXJrZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1zdG9wLWJvZHkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtc3RvcC1ydWxlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1kYXRlIj4yMSBlIDIyIHNldDwvcD4KICAgICAgICAgICAgPGgzIGNsYXNzPSJzZW0yNi1zdG9wLXRpdGxlIiBpZD0ic2VtMjYtYTkiPkNpbmVtYSBubyBQYXJxdWU8L2gzPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC10aW1lIj5Ib3LDoXJpbyBhIGFudW5jaWFyIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo0MDA7Ij7CtyBub3MgZG9pcyBkaWFzPC9zcGFuPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtcGxhY2UiPlBhcnF1ZXMgZGUgRXN0YWNpb25hbWVudG88L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXR5cGUiPkV2ZW50byBhYmVydG8gw6AgY29tdW5pZGFkZTwvcD4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZW0yNi1tb3JlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2VtMjYtcDkiPjxzcGFuIGNsYXNzPSJwbHVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPlNhYmVyIG1haXM8c3BhbiBjbGFzcz0ic3Itb25seSI+IHNvYnJlIG8gQ2luZW1hIG5vIFBhcnF1ZTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwiIGlkPSJzZW0yNi1wOSIgZGF0YS1vcGVuPSJmYWxzZSIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsbGVkYnk9InNlbTI2LWE5Ij48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbC1pbm5lciI+PGRpdiBjbGFzcz0iYXRpdmlkYWRlLWRldGFsaGUiPjxwPk1haXMgaW5mb3JtYcOnw7VlcyBzb2JyZSBlc3RhIGF0aXZpZGFkZSBzZXLDo28gZGlzcG9uaWJpbGl6YWRhcyBicmV2ZW1lbnRlLjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJzZW0yNi1zdG9wIiBkYXRhLXNpZGU9ImxlZnQiIHN0eWxlPSItLXN0b3AtY29sb3I6IHZhcigtLWxpbmUtbGFyYW5qYSk7Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZW0yNi1tYXJrZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1zdG9wLWJvZHkiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtc3RvcC1ydWxlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1kYXRlIj4xOSwgMjAsIDIxIGUgMjIgc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hMTAiPkNhc2EgQWJlcnRhOiBTQVRVTyBQYcOnbyBkZSBBcmNvczwvaDM+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXRpbWUiPjE2aDAwIOKAkyAxOWgwMCA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6NDAwOyI+wrcgbm9zIHF1YXRybyBkaWFzPC9zcGFuPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtcGxhY2UiPjxhIGRhdGEtbG9jPSJzYXR1byIgaHJlZj0iaHR0cHM6Ly9tYXBzLmFwcC5nb28uZ2wvSnc2VkxldjM1Wm41dFVLWTgiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPlNBVFVPIFBhw6dvIGRlIEFyY29zPC9hPjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdHlwZSI+VmlzaXRhcyBndWlhZGFzIMOgcyAxOGgwMCDCtyBFbnRyYWRhIGxpdnJlPC9wPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LW1vcmUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1wMTAiPjxzcGFuIGNsYXNzPSJwbHVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPlNhYmVyIG1haXM8c3BhbiBjbGFzcz0ic3Itb25seSI+IHNvYnJlIGEgQ2FzYSBBYmVydGEgU0FUVU88L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtcDEwIiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtYTEwIj48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbC1pbm5lciI+PGRpdiBjbGFzcz0iYXRpdmlkYWRlLWRldGFsaGUiPjxwPk1haXMgaW5mb3JtYcOnw7VlcyBzb2JyZSBlc3RhIGF0aXZpZGFkZSBzZXLDo28gZGlzcG9uaWJpbGl6YWRhcyBicmV2ZW1lbnRlLjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJzZW0yNi1zdG9wIiBkYXRhLXNpZGU9InJpZ2h0IiBzdHlsZT0iLS1zdG9wLWNvbG9yOiB2YXIoLS1saW5lLWFtYXJlbG8pOyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VtMjYtbWFya2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtc3RvcC1ib2R5Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlbTI2LXN0b3AtcnVsZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtZGF0ZSI+Mjkgc2V0PC9wPgogICAgICAgICAgICA8aDMgY2xhc3M9InNlbTI2LXN0b3AtdGl0bGUiIGlkPSJzZW0yNi1hMTEiPkZpbmFuY2lhbWVudG8gZGEgUmVkZSBSb2RvdmnDoXJpYSAvIEFNVCDigJQgQ29uZmVyw6puY2lhPC9oMz4KICAgICAgICAgICAgPHAgY2xhc3M9InNlbTI2LXN0b3AtdGltZSI+MDloMDAg4oCTIDEzaDAwPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtc3RvcC1wbGFjZSI+PGEgZGF0YS1sb2M9ImF1ZGl0b3Jpb1J1eUNhcnZhbGhvIiBocmVmPSIjIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5BdWRpdMOzcmlvIFJ1eSBkZSBDYXJ2YWxobzwvYT48L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1zdG9wLXR5cGUiPkV2ZW50byBhYmVydG8gw6AgY29tdW5pZGFkZTwvcD4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZW0yNi1tb3JlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2VtMjYtcDExIj48c3BhbiBjbGFzcz0icGx1cyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj5TYWJlciBtYWlzPHNwYW4gY2xhc3M9InNyLW9ubHkiPiBzb2JyZSBhIENvbmZlcsOqbmNpYSBGaW5hbmNpYW1lbnRvIGRhIFJlZGUgUm9kb3Zpw6FyaWEgLyBBTVQ8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtcDExIiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtYTExIj48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbC1pbm5lciI+PGRpdiBjbGFzcz0iYXRpdmlkYWRlLWRldGFsaGUiPjxwPk1haXMgaW5mb3JtYcOnw7VlcyBzb2JyZSBlc3RhIGF0aXZpZGFkZSBzZXLDo28gZGlzcG9uaWJpbGl6YWRhcyBicmV2ZW1lbnRlLjwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgIDwvb2w+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJzZW0yNi1zZWN0aW9uIHNlbTI2LWZhcSIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1mYXEtaCI+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1ibG9iIGItMSBiLWEiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LXdyYXAiPgogICAgICA8cCBjbGFzcz0ic2VtMjYtZXllYnJvdyI+SW5mb3JtYcOnw6NvIMO6dGlsPC9wPgogICAgICA8aDIgY2xhc3M9InNlbTI2LWgyIiBpZD0ic2VtMjYtZmFxLWgiPkFudGVzIGRlIHBhcnRpY2lwYXI8L2gyPgogICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1mYXEtbGlzdCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtZmFxLWl0ZW0iPjxoMyBzdHlsZT0ibWFyZ2luOjA7Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LWZhcS1idG4iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1mMSI+QXMgYXRpdmlkYWRlcyBzw6NvIGdyYXR1aXRhcz88c3BhbiBjbGFzcz0icGx1cyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2J1dHRvbj48L2gzPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsIiBpZD0ic2VtMjYtZjEiIGRhdGEtb3Blbj0iZmFsc2UiIHJvbGU9InJlZ2lvbiI+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwtaW5uZXIiPjxkaXYgY2xhc3M9InNlbTI2LWZhcS1hbnN3ZXIiPjxwPlNpbS4gVG9kYXMgYXMgaW5pY2lhdGl2YXMgZGEgU2VtYW5hIEV1cm9wZWlhIGRhIE1vYmlsaWRhZGUgcHJvbW92aWRhcyBuZXN0ZSBwcm9ncmFtYSBzw6NvIGdyYXR1aXRhcy48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtZmFxLWl0ZW0iPjxoMyBzdHlsZT0ibWFyZ2luOjA7Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNlbTI2LWZhcS1idG4iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZW0yNi1mMyI+QXMgYXRpdmlkYWRlcyBzw6NvIGFjZXNzw612ZWlzPzxzcGFuIGNsYXNzPSJwbHVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvYnV0dG9uPjwvaDM+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwiIGlkPSJzZW0yNi1mMyIgZGF0YS1vcGVuPSJmYWxzZSIgcm9sZT0icmVnaW9uIj48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbC1pbm5lciI+PGRpdiBjbGFzcz0ic2VtMjYtZmFxLWFuc3dlciI+PHA+U2ltLiBPIHByb2dyYW1hIHByb2N1cmEgYXNzZWd1cmFyIGNvbmRpw6fDtWVzIGRlIHBhcnRpY2lwYcOnw6NvIGFjZXNzw612ZWlzIGEgdG9kb3MuPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LWZhcS1pdGVtIj48aDMgc3R5bGU9Im1hcmdpbjowOyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZW0yNi1mYXEtYnRuIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2VtMjYtZjQiPkFzIGNyaWFuw6dhcyBwb2RlbSBwYXJ0aWNpcGFyPzxzcGFuIGNsYXNzPSJwbHVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvYnV0dG9uPjwvaDM+PGRpdiBjbGFzcz0ic2VtMjYtcGFuZWwiIGlkPSJzZW0yNi1mNCIgZGF0YS1vcGVuPSJmYWxzZSIgcm9sZT0icmVnaW9uIj48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbC1pbm5lciI+PGRpdiBjbGFzcz0ic2VtMjYtZmFxLWFuc3dlciI+PHA+U2ltLiBBcyBjcmlhbsOnYXMgc8OjbyBiZW0tdmluZGFzIG5hcyBpbmljaWF0aXZhcyBhYmVydGFzIMOgIGNvbXVuaWRhZGUuIE5hcyBhdGl2aWRhZGVzIGRlc3RpbmFkYXMgZXNwZWNpZmljYW1lbnRlIMOgIGNvbXVuaWRhZGUgZXNjb2xhciwgYSBwYXJ0aWNpcGHDp8OjbyBkZWNvcnJlIG5vIHJlc3BldGl2byBjb250ZXh0byBlc2NvbGFyLjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1mYXEtaXRlbSI+PGgzIHN0eWxlPSJtYXJnaW46MDsiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic2VtMjYtZmFxLWJ0biIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNlbTI2LWY1Ij5PbmRlIHBvc3NvIGVzY2xhcmVjZXIgZMO6dmlkYXM/PHNwYW4gY2xhc3M9InBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9idXR0b24+PC9oMz48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbCIgaWQ9InNlbTI2LWY1IiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsLWlubmVyIj48ZGl2IGNsYXNzPSJzZW0yNi1mYXEtYW5zd2VyIj48cD5QYXJxdWVzIFRlam88YnI+PGEgaHJlZj0ibWFpbHRvOmdlcmFsQHBhcnF1ZXN0ZWpvLnB0Ij5nZXJhbEBwYXJxdWVzdGVqby5wdDwvYT48YnI+PGEgaHJlZj0idGVsOiszNTEyMTU5OTAwMDAiPiszNTEgMjE1IDk5MCAwMDA8L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LWZhcS1pdGVtIj48aDMgc3R5bGU9Im1hcmdpbjowOyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZW0yNi1mYXEtYnRuIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2VtMjYtZjYiPkUgc2UgZXhpc3RpciBhbGd1bWEgYWx0ZXJhw6fDo28gYW8gcHJvZ3JhbWE/PHNwYW4gY2xhc3M9InBsdXMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9idXR0b24+PC9oMz48ZGl2IGNsYXNzPSJzZW0yNi1wYW5lbCIgaWQ9InNlbTI2LWY2IiBkYXRhLW9wZW49ImZhbHNlIiByb2xlPSJyZWdpb24iPjxkaXYgY2xhc3M9InNlbTI2LXBhbmVsLWlubmVyIj48ZGl2IGNsYXNzPSJzZW0yNi1mYXEtYW5zd2VyIj48cD5RdWFscXVlciBhbHRlcmHDp8OjbyByZWxldmFudGUgc2Vyw6EgY29tdW5pY2FkYSBhdHJhdsOpcyBkb3MgY2FuYWlzIG9maWNpYWlzIGUgZGFzIHJlZGVzIHNvY2lhaXMgZGEgUGFycXVlcyBUZWpvLjwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJzZW0yNi1zZWN0aW9uIHNlbTI2LXNvYnJlIiBhcmlhLWxhYmVsbGVkYnk9InNlbTI2LXNvYnJlLWgiPgogICAgPGRpdiBjbGFzcz0ic2VtMjYtYmxvYiBiLTEgYi1hIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1ibG9iIGItMiBiLWIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LXdyYXAiPgogICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1zb2JyZS1ncmlkIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNlbTI2LWV5ZWJyb3ciPlNlbWFuYSBFdXJvcGVpYSBkYSBNb2JpbGlkYWRlPC9wPgogICAgICAgICAgPGgyIGNsYXNzPSJzZW0yNi1oMiIgaWQ9InNlbTI2LXNvYnJlLWgiPk1vYmlsaWRhZGUgcGFyYSB0b2RvczwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1sZWFkIj5BIFNlbWFuYSBFdXJvcGVpYSBkYSBNb2JpbGlkYWRlIMOpIGEgcHJpbmNpcGFsIGNhbXBhbmhhIGRlIHNlbnNpYmlsaXphw6fDo28gZGEgQ29taXNzw6NvIEV1cm9wZWlhIGRlZGljYWRhIMOgIG1vYmlsaWRhZGUgdXJiYW5hIHN1c3RlbnTDoXZlbC4gVG9kb3Mgb3MgYW5vcywgZW50cmUgMTYgZSAyMiBkZSBzZXRlbWJybywgY2lkYWRlcyBlIGNvbXVuaWRhZGVzIHPDo28gZGVzYWZpYWRhcyBhIGV4cGVyaW1lbnRhciwgZGlzY3V0aXIgZSBwcm9tb3ZlciBmb3JtYXMgZGUgZGVzbG9jYcOnw6NvIG1haXMgYXRpdmFzLCBpbmNsdXNpdmFzIGUgc3VzdGVudMOhdmVpcy48L3A+CiAgICAgICAgICA8cCBjbGFzcz0ic2VtMjYtbGVhZCI+RW0gMjAyNiwgYSBjYW1wYW5oYSBtYW50w6ltIG8gdGVtYSDigJxNb2JpbGlkYWRlIHBhcmEgVG9kb3PigJ0sIGNvbSBlc3BlY2lhbCBhdGVuw6fDo28gw6AganVzdGnDp2EgZW50cmUgZ2VyYcOnw7Vlcy4gQ3JpYW7Dp2FzLCBqb3ZlbnMsIGFkdWx0b3MgZSBwZXNzb2FzIG1haXMgdmVsaGFzIHTDqm0gbmVjZXNzaWRhZGVzIGRpZmVyZW50ZXMgYW8gbG9uZ28gZGEgdmlkYSwgZSB1bWEgbW9iaWxpZGFkZSB2ZXJkYWRlaXJhbWVudGUgaW5jbHVzaXZhIGRldmUgY29uc2VndWlyIHJlc3BvbmRlciBhIHRvZGFzIGVsYXMuPC9wPgogICAgICAgICAgPHAgY2xhc3M9InNlbTI2LWxlYWQiPkVtIE9laXJhcywgYSBQYXJxdWVzIFRlam8gZSBvIE9laXJhcyBNb3ZlIGFzc29jaWFtLXNlIMOgIGluaWNpYXRpdmEgY29tIHVtYSBzZW1hbmEgZGUgYXRpdmlkYWRlcyBxdWUgYXByb3hpbWEgYSBtb2JpbGlkYWRlIGRhcyBwZXNzb2FzLCBkbyBlc3Bhw6dvIHDDumJsaWNvIGUgZG8gcXVvdGlkaWFubywgcHJvbW92ZW5kbyBmb3JtYXMgbWFpcyBzaW1wbGVzLCBhY2Vzc8OtdmVpcyBlIHN1c3RlbnTDoXZlaXMgZGUgdml2ZXIgZSBwZXJjb3JyZXIgbyBjb25jZWxoby48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1jb250aW51YSI+CiAgICAgICAgPHAgY2xhc3M9ImsiPkEgbW9iaWxpZGFkZSBzdXN0ZW50w6F2ZWwgbsOjbyBhY29udGVjZSBhcGVuYXMgZHVyYW50ZSB1bWEgc2VtYW5hLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1saW5rcyI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5wYXJxdWVzdGVqby5wdC9vZWlyYXMtbW92ZS1hcHAvIj5PZWlyYXMgTW92ZTwvYT48c3BhbiBjbGFzcz0iZG90IiBhcmlhLWhpZGRlbj0idHJ1ZSI+wrc8L3NwYW4+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5wYXJxdWVzdGVqby5wdC9vZWlyYXMtbW92ZS1lc2NvbGFzLyI+TW9iaWxpZGFkZSBFc2NvbGFyPC9hPjxzcGFuIGNsYXNzPSJkb3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj7Ctzwvc3Bhbj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnBhcnF1ZXN0ZWpvLnB0L2Jpa2VzaGFyaW5nLyI+QmlrZXNoYXJpbmc8L2E+PHNwYW4gY2xhc3M9ImRvdCIgYXJpYS1oaWRkZW49InRydWUiPsK3PC9zcGFuPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucGFycXVlc3Rlam8ucHQvYWxnZXMtdmFpLXZvbHRhLyI+VmFpICYgVm9sdGE8L2E+PHNwYW4gY2xhc3M9ImRvdCIgYXJpYS1oaWRkZW49InRydWUiPsK3PC9zcGFuPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucGFycXVlc3Rlam8ucHQvMTIwLW1pbnV0b3MvIj4xMjAgbWludXRvczwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJzZW0yNi1zZWN0aW9uIHNlbTI2LWNvbnRhY3RvcyIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1jb250YWN0LWgiPgogICAgPGRpdiBjbGFzcz0ic2VtMjYtYmxvYiBiLTMgYi1hIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1ibG9iIGItMSBiLWIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LXdyYXAiPgogICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1jb250YWN0LWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LWNvbnRhY3QtZGlyZWN0Ij4KICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1leWVicm93Ij5Db250YWN0b3M8L3A+CiAgICAgICAgICA8aDIgY2xhc3M9InNlbTI2LWgyIiBpZD0ic2VtMjYtY29udGFjdC1oIj5GYWxlIGNvbm5vc2NvPC9oMj4KICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpnZXJhbEBwYXJxdWVzdGVqby5wdCI+Z2VyYWxAcGFycXVlc3Rlam8ucHQ8L2E+CiAgICAgICAgICA8YSBocmVmPSJ0ZWw6KzM1MTIxNTk5MDAwMCI+KzM1MSAyMTUgOTkwIDAwMDwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGZvcm0gY2xhc3M9InNlbTI2LWZvcm0iIGlkPSJzZW0yNi1mb3JtIiBub3ZhbGlkYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1maWVsZCI+PGxhYmVsIGZvcj0ic2VtMjYtbm9tZSI+Tm9tZSA8c3BhbiBjbGFzcz0icmVxIiBhcmlhLWhpZGRlbj0idHJ1ZSI+Kjwvc3Bhbj48L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic2VtMjYtbm9tZSIgbmFtZT0ibm9tZSIgYXV0b2NvbXBsZXRlPSJuYW1lIiByZXF1aXJlZCBhcmlhLWRlc2NyaWJlZGJ5PSJzZW0yNi1ub21lLWVyciI+PHAgY2xhc3M9InNlbTI2LWVyciIgaWQ9InNlbTI2LW5vbWUtZXJyIj48L3A+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtZmllbGQiPjxsYWJlbCBmb3I9InNlbTI2LWVtYWlsIj5FbWFpbCA8c3BhbiBjbGFzcz0icmVxIiBhcmlhLWhpZGRlbj0idHJ1ZSI+Kjwvc3Bhbj48L2xhYmVsPjxpbnB1dCB0eXBlPSJlbWFpbCIgaWQ9InNlbTI2LWVtYWlsIiBuYW1lPSJlbWFpbCIgYXV0b2NvbXBsZXRlPSJlbWFpbCIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0ic2VtMjYtZW1haWwtZXJyIj48cCBjbGFzcz0ic2VtMjYtZXJyIiBpZD0ic2VtMjYtZW1haWwtZXJyIj48L3A+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1maWVsZCI+PGxhYmVsIGZvcj0ic2VtMjYtYXNzdW50byI+QXNzdW50byA8c3BhbiBjbGFzcz0icmVxIiBhcmlhLWhpZGRlbj0idHJ1ZSI+Kjwvc3Bhbj48L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic2VtMjYtYXNzdW50byIgbmFtZT0iYXNzdW50byIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0ic2VtMjYtYXNzdW50by1lcnIiPjxwIGNsYXNzPSJzZW0yNi1lcnIiIGlkPSJzZW0yNi1hc3N1bnRvLWVyciI+PC9wPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1maWVsZCI+PGxhYmVsIGZvcj0ic2VtMjYtbWVuc2FnZW0iPk1lbnNhZ2VtIDxzcGFuIGNsYXNzPSJyZXEiIGFyaWEtaGlkZGVuPSJ0cnVlIj4qPC9zcGFuPjwvbGFiZWw+PHRleHRhcmVhIGlkPSJzZW0yNi1tZW5zYWdlbSIgbmFtZT0ibWVuc2FnZW0iIHJlcXVpcmVkIGFyaWEtZGVzY3JpYmVkYnk9InNlbTI2LW1lbnNhZ2VtLWVyciI+PC90ZXh0YXJlYT48cCBjbGFzcz0ic2VtMjYtZXJyIiBpZD0ic2VtMjYtbWVuc2FnZW0tZXJyIj48L3A+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LWZpZWxkIj48ZGl2IGNsYXNzPSJzZW0yNi1jb25zZW50Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzZW0yNi1jb25zZW50IiBuYW1lPSJjb25zZW50aW1lbnRvIiByZXF1aXJlZCBhcmlhLWRlc2NyaWJlZGJ5PSJzZW0yNi1jb25zZW50LWVyciI+PGxhYmVsIGZvcj0ic2VtMjYtY29uc2VudCI+QXV0b3Jpem8gbyB0cmF0YW1lbnRvIGRvcyBkYWRvcyBpbmRpY2Fkb3MgcGFyYSBlZmVpdG9zIGRlIHJlc3Bvc3RhIGEgZXN0ZSBjb250YWN0by4gPHNwYW4gY2xhc3M9InJlcSIgYXJpYS1oaWRkZW49InRydWUiPio8L3NwYW4+PC9sYWJlbD48L2Rpdj48cCBjbGFzcz0ic2VtMjYtZXJyIiBpZD0ic2VtMjYtY29uc2VudC1lcnIiPjwvcD48L2Rpdj4KICAgICAgICAgICAgPGRpdj48YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InNlbTI2LWJ0biI+RW52aWFyIG1lbnNhZ2VtPC9idXR0b24+PC9kaXY+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzZW0yNi1mb3JtLXN0YXR1cyIgaWQ9InNlbTI2LWZvcm0tc3RhdHVzIiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIj48L3A+CiAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VtMjYtc2VjdGlvbiBzZW0yNi1mZWNobyIgYXJpYS1sYWJlbGxlZGJ5PSJzZW0yNi1mZWNoby1oIj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LWJsb2IgYi0yIGItYSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2VtMjYtYmxvYiBiLTMgYi1iIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZW0yNi1mZWNoby1jdXJ2ZSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAxMjAwIDQwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgZm9jdXNhYmxlPSJmYWxzZSI+CiAgICAgICAgPHBhdGggZD0iTSAtNzAgLTMwIEMgMTMwIDQwLCA5NiAxOTYsIDMwMCAyMzQgQyA0NzAgMjY2LCA1NjAgMTUwLCA3MDAgMTQ4IEMgODQwIDE0NiwgOTAwIDI0NCwgMTAxMCAyNDYgQyAxMTEwIDI0OCwgMTE1MCAxNzYsIDEzMDAgMzAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNFMDk0NTUiIHN0cm9rZS13aWR0aD0iNC41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIG9wYWNpdHk9Ii42IiB2ZWN0b3ItZWZmZWN0PSJub24tc2NhbGluZy1zdHJva2UiLz4KICAgICAgPC9zdmc+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbTI2LXdyYXAiPgogICAgICA8aDIgY2xhc3M9InNlbTI2LWZlY2hvLWgiIGlkPSJzZW0yNi1mZWNoby1oIj5BIFNlbWFuYSB0ZXJtaW5hLjxicj48c3BhbiBjbGFzcz0ieSI+TyBtb3ZpbWVudG8gY29udGludWEuPC9zcGFuPjwvaDI+CiAgICAgIDxwIGNsYXNzPSJzZW0yNi1mZWNoby1jbGFpbSI+SnVudG9zIE1vdmVtb3MgT2VpcmFzPC9wPgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VtMjYtc2VjdGlvbiBzZW0yNi1vcmciIGFyaWEtbGFiZWxsZWRieT0ic2VtMjYtb3JnLWgiPgogICAgPGRpdiBjbGFzcz0ic2VtMjYtd3JhcCI+CiAgICAgIDxoMiBjbGFzcz0ic3Itb25seSIgaWQ9InNlbTI2LW9yZy1oIj5Pcmdhbml6YcOnw6NvIGUgcGFyY2Vpcm9zPC9oMj4KICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtb3JnLXBhbmVsIj4KICAgICAgICA8cD5VbWEgaW5pY2lhdGl2YSBQYXJxdWVzIFRlam8gfCBPZWlyYXMgTW92ZTwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1vcmctbG9nb3MiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnBhcnF1ZXN0ZWpvLnB0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAxL0xvZ28tUGFycXVlcy1UZWpvLUFtYXJlbG8tMS1zY2FsZWQucG5nIiBhbHQ9IlBhcnF1ZXMgVGVqbyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iMzAwIiBoZWlnaHQ9Ijg4Ij4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy5wYXJxdWVzdGVqby5wdC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9Mb2dvLU9laXJhcy1Nb3ZlLUFtYXJlbG8tZTE3ODI0NzAwMTYyMjMucG5nIiBhbHQ9Ik9laXJhcyBNb3ZlIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiIHdpZHRoPSIzMDAiIGhlaWdodD0iOTciPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtcGFyY2Vpcm9zIj4KICAgICAgICA8aDI+UGFyY2Vpcm9zPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYXJjZWlyb3MtZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYXJjZWlybyI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnBhcnF1ZXN0ZWpvLnB0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA4L09WX2hvcml6b250YWxfcHJldG8tZTE3ODc1NzEyMzY2NTQucG5nIiBhbHQ9Ik9laXJhcyBWYWxsZXkiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI4MCI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYXJjZWlybyI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnBhcnF1ZXN0ZWpvLnB0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA4L2xvZ29fRWNvbW9vZF9yZ2ItMS5wbmciIGFsdD0iRWNvbW9vZCBQb3J0dWdhbCIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjgwIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXBhcmNlaXJvIHNlbTI2LXBhcmNlaXJvLXZhemlvIj5QYXJjZWlybyBhIGNvbmZpcm1hcjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VtMjYtcGFyY2Vpcm8gc2VtMjYtcGFyY2Vpcm8tdmF6aW8iPlBhcmNlaXJvIGEgY29uZmlybWFyPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZW0yNi1wYXJjZWlybyBzZW0yNi1wYXJjZWlyby12YXppbyI+UGFyY2Vpcm8gYSBjb25maXJtYXI8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXNvY2lhbCI+CiAgICAgICAgPHA+QWNvbXBhbmhlIGEgUGFycXVlcyBUZWpvPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InNlbTI2LXNvY2lhbC1pY29ucyIgaWQ9InNlbTI2LXNvY2lhbCI+CiAgICAgICAgICA8YSBkYXRhLXNvY2lhbD0iaW5zdGFncmFtIiBocmVmPSIjIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBhcmlhLWxhYmVsPSJQYXJxdWVzIFRlam8gbm8gSW5zdGFncmFtIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiIGZvY3VzYWJsZT0iZmFsc2UiPjxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNyIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjQuMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43Ii8+PGNpcmNsZSBjeD0iMTcuMyIgY3k9IjYuNyIgcj0iMS4yIiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz48L2E+CiAgICAgICAgICA8YSBkYXRhLXNvY2lhbD0iZmFjZWJvb2siIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGFyaWEtbGFiZWw9IlBhcnF1ZXMgVGVqbyBubyBGYWNlYm9vayI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb2N1c2FibGU9ImZhbHNlIj48cGF0aCBkPSJNMTMuNSAyMXYtOGgyLjdsLjQtMy4xaC0zLjFWNy45YzAtLjkuMjUtMS41IDEuNTUtMS41aDEuNjVWMy42M0MxNi40IDMuNTYgMTUuNDIgMy41IDE0LjI4IDMuNWMtMi4zOCAwLTQuMDEgMS40NS00LjAxIDQuMTJ2Mi4yOEg3LjZWMTNoMi42N3Y4aDMuMjN6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz48L2E+CiAgICAgICAgICA8YSBkYXRhLXNvY2lhbD0ibGlua2VkaW4iIGhyZWY9IiMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGFyaWEtbGFiZWw9IlBhcnF1ZXMgVGVqbyBubyBMaW5rZWRJbiI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb2N1c2FibGU9ImZhbHNlIj48cGF0aCBkPSJNNC45OCAzLjVhMi41IDIuNSAwIDEgMS0uMDIgNS4wMDFBMi41IDIuNSAwIDAgMSA0Ljk4IDMuNXpNMyA4Ljk4aDRWMjFIM1Y4Ljk4ek05LjUgOC45OGgzLjgzdjEuNjRoLjA1Yy41My0xIDEuODMtMi4wNiAzLjc3LTIuMDYgNC4wMyAwIDQuNzggMi42NSA0Ljc4IDYuMVYyMUgxOHYtNS4zM2MwLTEuMjctLjAyLTIuOS0xLjc3LTIuOS0xLjc3IDAtMi4wNCAxLjM4LTIuMDQgMi44MVYyMUg5LjVWOC45OHoiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjwvc3ZnPjwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24gKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZW0yNiIpOwogIGlmICghcm9vdCkgeyByZXR1cm47IH0KCiAgdmFyIFNFTTI2X0xPQ0FUSU9OUyA9IHsKICAgIGNvbmRlRmVycmVpcmE6ICAgICAgICAiI01BUFNfQ09OREVfRkVSUkVJUkEiLAogICAgcGFsYWNpb0Fuam9zOiAgICAgICAgICIjTUFQU19QQUxBQ0lPX0FOSk9TIiwKICAgIHF1aW9zcXVlQWxnZXM6ICAgICAgICAiI01BUFNfUVVJT1NRVUVfQUxHRVMiLAogICAgYmVjYU11cmlhczogICAgICAgICAgICIjTUFQU19CRUNBX01VUklBUyIsCiAgICBwcmFpYVRvcnJlOiAgICAgICAgICAgIiNNQVBTX1BSQUlBX1RPUlJFIiwKICAgIHNhdHVvOiAgICAgICAgICAgICAgICAiI01BUFNfU0FUVU8iLAogICAgYXVkaXRvcmlvUnV5Q2FydmFsaG86ICIjTUFQU19BVURJVE9SSU9fUlVZX0NBUlZBTEhPIiwKICAgIGVzdGFjYW9DUDogICAgICAgICAgICAiI01BUFNfRVNUQUNBT19DUCIKICB9OwogIHZhciBTRU0yNl9TT0NJQUwgPSB7CiAgICBpbnN0YWdyYW06ICJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3BhcnF1ZXN0ZWpvLyIsCiAgICBmYWNlYm9vazogICIiLAogICAgbGlua2VkaW46ICAiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvcGFycXVlcy10ZWpvLyIKICB9OwogIHZhciBTRU0yNl9GT1JNX0VORFBPSU5UID0gIiI7CiAgdmFyIFNFTTI2X1BBVEggPSB7CiAgICBtYXJrZXJPZmZzZXQ6IDM0LAogICAgY29ycmlkb3JQYWQ6IDI2LAogICAgdGFpbFN0YXJ0OiA1MiwKICAgIHRhaWxFbmQ6IDkwLAogICAgY3VydmVUZW5zaW9uOiAwLjIKICB9OwoKICB2YXIgcmVkdWNlTW90aW9uID0gd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlczsKICByb290LmNsYXNzTGlzdC5hZGQoImpzLXJlYWR5Iik7CgogIHZhciBzclN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKICBzclN0eWxlLnRleHRDb250ZW50ID0gIi5zZW0yNiAuc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwIDAgMCAwKTt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyOjA7fSI7CiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzclN0eWxlKTsKCiAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoImFbZGF0YS1sb2NdIiksIGZ1bmN0aW9uIChhKSB7CiAgICB2YXIgdXJsID0gU0VNMjZfTE9DQVRJT05TW2EuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYyIpXTsKICAgIGlmICh1cmwgJiYgdXJsLmNoYXJBdCgwKSAhPT0gIiMiKSB7CiAgICAgIGEuc2V0QXR0cmlidXRlKCJocmVmIiwgdXJsKTsKICAgIH0gZWxzZSB7CiAgICAgIGEuc2V0QXR0cmlidXRlKCJocmVmIiwgdXJsIHx8ICIjIik7CiAgICAgIGEuc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIiwgInRydWUiKTsKICAgICAgYS5yZW1vdmVBdHRyaWJ1dGUoInRhcmdldCIpOwogICAgICBhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24gKGUpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9KTsKICAgIH0KICB9KTsKCiAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoImFbZGF0YS1zb2NpYWxdIiksIGZ1bmN0aW9uIChhKSB7CiAgICB2YXIgdXJsID0gU0VNMjZfU09DSUFMW2EuZ2V0QXR0cmlidXRlKCJkYXRhLXNvY2lhbCIpXTsKICAgIGlmICh1cmwpIHsgYS5zZXRBdHRyaWJ1dGUoImhyZWYiLCB1cmwpOyB9CiAgICBlbHNlIGlmIChhLnBhcmVudE5vZGUpIHsgYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpOyB9CiAgfSk7CgogIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1zY3JvbGwtdG9dIiksIGZ1bmN0aW9uIChidG4pIHsKICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGJ0bi5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsLXRvIikpOwogICAgICBpZiAoIXRhcmdldCkgeyByZXR1cm47IH0KICAgICAgdGFyZ2V0LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6IHJlZHVjZU1vdGlvbiA/ICJhdXRvIiA6ICJzbW9vdGgiLCBibG9jazogInN0YXJ0IiB9KTsKICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCAiLTEiKTsKICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB0YXJnZXQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pOyB9LCByZWR1Y2VNb3Rpb24gPyAwIDogNzAwKTsKICAgIH0pOwogIH0pOwoKICBmdW5jdGlvbiBiaW5kQWNjb3JkaW9uKGJ0bikgewogICAgdmFyIHBhbmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYnRuLmdldEF0dHJpYnV0ZSgiYXJpYS1jb250cm9scyIpKTsKICAgIGlmICghcGFuZWwpIHsgcmV0dXJuOyB9CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBvcGVuID0gYnRuLmdldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIpID09PSAidHJ1ZSI7CiAgICAgIGJ0bi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvcGVuID8gImZhbHNlIiA6ICJ0cnVlIik7CiAgICAgIHBhbmVsLnNldEF0dHJpYnV0ZSgiZGF0YS1vcGVuIiwgb3BlbiA/ICJmYWxzZSIgOiAidHJ1ZSIpOwogICAgfSk7CiAgfQogIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuc2VtMjYtbW9yZSwgLnNlbTI2LWZhcS1idG4iKSwgYmluZEFjY29yZGlvbik7CgogIHZhciB3cmFwID0gcm9vdC5xdWVyeVNlbGVjdG9yKCIuc2VtMjYtcGVyY3Vyc28iKTsKICB2YXIgc3ZnID0gcm9vdC5xdWVyeVNlbGVjdG9yKCIuc2VtMjYtcGF0aC1zdmciKTsKICB2YXIgcGF0aCA9IHJvb3QucXVlcnlTZWxlY3RvcigiLnNlbTI2LXBhdGgiKTsKICB2YXIgZ3JhZEVsID0gc3ZnID8gc3ZnLnF1ZXJ5U2VsZWN0b3IoIiNzZW0yNi1ncmFkIikgOiBudWxsOwogIHZhciBsaXN0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCIuc2VtMjYtc3RvcHMiKTsKICB2YXIgc3RvcHMgPSBsaXN0ID8gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobGlzdC5xdWVyeVNlbGVjdG9yQWxsKCIuc2VtMjYtc3RvcCIpKSA6IFtdOwogIHZhciBkcmF3biA9IGZhbHNlOwoKICBzdG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChsaSwgaSkgewogICAgbGkuc3R5bGUuc2V0UHJvcGVydHkoIi0tZCIsIChpICogMTIwICsgMTgwKSArICJtcyIpOwogIH0pOwoKICBmdW5jdGlvbiByb3VuZChuKSB7IHJldHVybiBNYXRoLnJvdW5kKG4gKiAxMCkgLyAxMDsgfQogIGZ1bmN0aW9uIGNsYW1wKHYsIG1pbiwgbWF4KSB7IHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdikpOyB9CiAgZnVuY3Rpb24gdW5pcXVlUHVzaChhcnIsIHB0KSB7CiAgICB2YXIgbGFzdCA9IGFyclthcnIubGVuZ3RoIC0gMV07CiAgICBpZiAoIWxhc3QgfHwgTWF0aC5hYnMobGFzdC54IC0gcHQueCkgPiAxIHx8IE1hdGguYWJzKGxhc3QueSAtIHB0LnkpID4gMSkgeyBhcnIucHVzaChwdCk7IH0KICB9CiAgZnVuY3Rpb24gc21vb3RoUGF0aChwdHMsIHRlbnNpb24pIHsKICAgIGlmIChwdHMubGVuZ3RoIDwgMikgeyByZXR1cm4gIiI7IH0KICAgIHZhciBkID0gIk0gIiArIHJvdW5kKHB0c1swXS54KSArICIgIiArIHJvdW5kKHB0c1swXS55KTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHRzLmxlbmd0aCAtIDE7IGkrKykgewogICAgICB2YXIgcDAgPSBwdHNbaSAtIDFdIHx8IHB0c1tpXTsKICAgICAgdmFyIHAxID0gcHRzW2ldOwogICAgICB2YXIgcDIgPSBwdHNbaSArIDFdOwogICAgICB2YXIgcDMgPSBwdHNbaSArIDJdIHx8IHB0c1tpICsgMV07CiAgICAgIHZhciBjcDF4ID0gcDEueCArIChwMi54IC0gcDAueCkgKiB0ZW5zaW9uOwogICAgICB2YXIgY3AxeSA9IHAxLnkgKyAocDIueSAtIHAwLnkpICogdGVuc2lvbjsKICAgICAgdmFyIGNwMnggPSBwMi54IC0gKHAzLnggLSBwMS54KSAqIHRlbnNpb247CiAgICAgIHZhciBjcDJ5ID0gcDIueSAtIChwMy55IC0gcDEueSkgKiB0ZW5zaW9uOwogICAgICBkICs9ICIgQyAiICsgcm91bmQoY3AxeCkgKyAiICIgKyByb3VuZChjcDF5KSArICIsICIgKyByb3VuZChjcDJ4KSArICIgIiArIHJvdW5kKGNwMnkpICsgIiwgIiArIHJvdW5kKHAyLngpICsgIiAiICsgcm91bmQocDIueSk7CiAgICB9CiAgICByZXR1cm4gZDsKICB9CgogIGZ1bmN0aW9uIHN0b3BEYXRhKCkgewogICAgdmFyIGJveCA9IHdyYXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICB2YXIgVyA9IHdyYXAub2Zmc2V0V2lkdGg7CiAgICByZXR1cm4gc3RvcHMubWFwKGZ1bmN0aW9uIChzdG9wKSB7CiAgICAgIHZhciBtYXJrZXIgPSBzdG9wLnF1ZXJ5U2VsZWN0b3IoIi5zZW0yNi1tYXJrZXIiKTsKICAgICAgdmFyIGJvZHkgPSBzdG9wLnF1ZXJ5U2VsZWN0b3IoIi5zZW0yNi1zdG9wLWJvZHkiKTsKICAgICAgdmFyIG1yID0gbWFya2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICB2YXIgYnIgPSBib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICB2YXIgc2lkZSA9IHN0b3AuZ2V0QXR0cmlidXRlKCJkYXRhLXNpZGUiKSB8fCAicmlnaHQiOwogICAgICB2YXIgc2lnbiA9IHNpZGUgPT09ICJyaWdodCIgPyAtMSA6IDE7CiAgICAgIHZhciBtYXJrZXJYID0gbXIubGVmdCAtIGJveC5sZWZ0ICsgbXIud2lkdGggLyAyOwogICAgICB2YXIgbWFya2VyWSA9IG1yLnRvcCAtIGJveC50b3AgKyBtci5oZWlnaHQgLyAyOwogICAgICB2YXIgYm9keUxlZnQgPSBici5sZWZ0IC0gYm94LmxlZnQ7CiAgICAgIHZhciBib2R5UmlnaHQgPSBici5yaWdodCAtIGJveC5sZWZ0OwogICAgICB2YXIgb3V0ZXJYID0gc2lkZSA9PT0gInJpZ2h0IgogICAgICAgID8gTWF0aC5tYXgoMTgsIGJvZHlMZWZ0IC0gU0VNMjZfUEFUSC5tYXJrZXJPZmZzZXQpCiAgICAgICAgOiBNYXRoLm1pbihXIC0gMTgsIGJvZHlSaWdodCArIFNFTTI2X1BBVEgubWFya2VyT2Zmc2V0KTsKICAgICAgcmV0dXJuIHsKICAgICAgICBtYXJrZXJYOiBtYXJrZXJYLAogICAgICAgIG1hcmtlclk6IG1hcmtlclksCiAgICAgICAgb3V0ZXJYOiBvdXRlclgsCiAgICAgICAgc2lkZTogc2lkZSwKICAgICAgICBzaWduOiBzaWduLAogICAgICAgIHRvcDogTWF0aC5taW4obWFya2VyWSwgYnIudG9wIC0gYm94LnRvcCksCiAgICAgICAgYm90dG9tOiBNYXRoLm1heChtYXJrZXJZLCBici5ib3R0b20gLSBib3gudG9wKSwKICAgICAgICBsZWZ0OiBNYXRoLm1pbihtYXJrZXJYLCBib2R5TGVmdCksCiAgICAgICAgcmlnaHQ6IE1hdGgubWF4KG1hcmtlclgsIGJvZHlSaWdodCkKICAgICAgfTsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRQYXRoKCkgewogICAgaWYgKCF3cmFwIHx8ICFzdmcgfHwgIXBhdGggfHwgIXN0b3BzLmxlbmd0aCkgeyByZXR1cm47IH0KICAgIHZhciBib3ggPSB3cmFwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIFcgPSB3cmFwLm9mZnNldFdpZHRoOwogICAgdmFyIEggPSB3cmFwLm9mZnNldEhlaWdodDsKICAgIGlmICghVyB8fCAhSCkgeyByZXR1cm47IH0KCiAgICB2YXIgbW9iaWxlID0gVyA8IDcwMDsKICAgIHZhciBPVVRFUiA9IG1vYmlsZSA/IDIyIDogTWF0aC5tYXgoMzQsIE1hdGgubWluKDY0LCBXICogMC4wODUpKTsKICAgIHZhciBHQVBfUEFEID0gbW9iaWxlID8gMTQgOiBNYXRoLm1heCgxOCwgTWF0aC5taW4oMzQsIFcgKiAwLjA0KSk7CiAgICB2YXIgVEFJTCA9IG1vYmlsZSA/IDM0IDogTWF0aC5tYXgoMzQsIE1hdGgubWluKDU4LCBXICogMC4wNikpOwogICAgdmFyIENPUk5FUl9SID0gbW9iaWxlID8gMTQgOiBNYXRoLm1heCgxMCwgTWF0aC5taW4oMjAsIFcgKiAwLjAyKSk7CgogICAgZnVuY3Rpb24gdHJpbVBvaW50KGZyb20sIHRvLCBkaXN0KSB7CiAgICAgIHZhciBkeCA9IHRvLnggLSBmcm9tLng7CiAgICAgIHZhciBkeSA9IHRvLnkgLSBmcm9tLnk7CiAgICAgIHZhciBsZW4gPSBNYXRoLnNxcnQoZHggKiBkeCArIGR5ICogZHkpIHx8IDE7CiAgICAgIHZhciB0ID0gTWF0aC5taW4oZGlzdCwgbGVuIC8gMikgLyBsZW47CiAgICAgIHJldHVybiB7IHg6IGZyb20ueCArIGR4ICogdCwgeTogZnJvbS55ICsgZHkgKiB0IH07CiAgICB9CiAgICBmdW5jdGlvbiB0cmltQmFjayhmcm9tLCB0bywgZGlzdCkgewogICAgICB2YXIgZHggPSB0by54IC0gZnJvbS54OwogICAgICB2YXIgZHkgPSB0by55IC0gZnJvbS55OwogICAgICB2YXIgbGVuID0gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KSB8fCAxOwogICAgICB2YXIgdCA9IE1hdGgubWluKGRpc3QsIGxlbiAvIDIpIC8gbGVuOwogICAgICByZXR1cm4geyB4OiB0by54IC0gZHggKiB0LCB5OiB0by55IC0gZHkgKiB0IH07CiAgICB9CiAgICBmdW5jdGlvbiBhZGRSb3VuZGVkUG9seWxpbmUocGFydHMsIHB0cywgcmFkaXVzKSB7CiAgICAgIGlmICghcHRzIHx8IHB0cy5sZW5ndGggPCAyKSB7IHJldHVybjsgfQogICAgICBwYXJ0cy5wdXNoKCdMICcgKyByb3VuZChwdHNbMF0ueCkgKyAnICcgKyByb3VuZChwdHNbMF0ueSkpOwogICAgICBmb3IgKHZhciBpID0gMTsgaSA8IHB0cy5sZW5ndGggLSAxOyBpKyspIHsKICAgICAgICB2YXIgcDAgPSBwdHNbaSAtIDFdLCBwMSA9IHB0c1tpXSwgcDIgPSBwdHNbaSArIDFdOwogICAgICAgIHZhciBhID0gdHJpbUJhY2socDAsIHAxLCByYWRpdXMpOwogICAgICAgIHZhciBiID0gdHJpbVBvaW50KHAxLCBwMiwgcmFkaXVzKTsKICAgICAgICBwYXJ0cy5wdXNoKCdMICcgKyByb3VuZChhLngpICsgJyAnICsgcm91bmQoYS55KSk7CiAgICAgICAgcGFydHMucHVzaCgnUSAnICsgcm91bmQocDEueCkgKyAnICcgKyByb3VuZChwMS55KSArICcgJyArIHJvdW5kKGIueCkgKyAnICcgKyByb3VuZChiLnkpKTsKICAgICAgfQogICAgICB2YXIgbGFzdCA9IHB0c1twdHMubGVuZ3RoIC0gMV07CiAgICAgIHBhcnRzLnB1c2goJ0wgJyArIHJvdW5kKGxhc3QueCkgKyAnICcgKyByb3VuZChsYXN0LnkpKTsKICAgIH0KCiAgICB2YXIgZGF0YSA9IHN0b3BzLm1hcChmdW5jdGlvbiAoc3RvcCkgewogICAgICB2YXIgbWFya2VyID0gc3RvcC5xdWVyeVNlbGVjdG9yKCcuc2VtMjYtbWFya2VyJyk7CiAgICAgIHZhciBib2R5ID0gc3RvcC5xdWVyeVNlbGVjdG9yKCcuc2VtMjYtc3RvcC1ib2R5Jyk7CiAgICAgIHZhciBtciA9IG1hcmtlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgdmFyIGJyID0gYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgdmFyIHNpZGUgPSBzdG9wLmdldEF0dHJpYnV0ZSgnZGF0YS1zaWRlJykgfHwgJ3JpZ2h0JzsKICAgICAgdmFyIG14ID0gbXIubGVmdCAtIGJveC5sZWZ0ICsgbXIud2lkdGggLyAyOwogICAgICB2YXIgbXkgPSBtci50b3AgLSBib3gudG9wICsgbXIuaGVpZ2h0IC8gMjsKICAgICAgdmFyIGxlZnQgPSBici5sZWZ0IC0gYm94LmxlZnQ7CiAgICAgIHZhciByaWdodCA9IGJyLnJpZ2h0IC0gYm94LmxlZnQ7CiAgICAgIHZhciB0b3AgPSBici50b3AgLSBib3gudG9wOwogICAgICB2YXIgYm90dG9tID0gYnIuYm90dG9tIC0gYm94LnRvcDsKCiAgICAgIC8qIElNUE9SVEFOVEU6IGFiYWl4byBkb3MgNzAwcHggbyBDU1MgbsOjbyBpbnZlcnRlIGFzIGF0aXZpZGFkZXMKICAgICAgICAgZGF0YS1zaWRlPSJsZWZ0Ii4gVG9kb3Mgb3MgbWFyY2Fkb3JlcyBlc3TDo28gZmlzaWNhbWVudGUgw6AgZXNxdWVyZGEKICAgICAgICAgZG8gcmVzcGV0aXZvIHRleHRvLiBQb3IgaXNzbyBvIHBlcmN1cnNvIG1vYmlsZSBpZ25vcmEgZGF0YS1zaWRlIGUKICAgICAgICAgY2FsY3VsYSBzZW1wcmUgYSBmYWl4YSBsaXZyZSDDoCBlc3F1ZXJkYSBkbyBjb250ZcO6ZG8uICovCiAgICAgIHZhciBvdXRlclg7CiAgICAgIGlmIChtb2JpbGUpIHsKICAgICAgICBvdXRlclggPSBNYXRoLm1heCg4LCBNYXRoLm1pbihteCAtIDEwLCBsZWZ0IC0gT1VURVIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBvdXRlclggPSBzaWRlID09PSAncmlnaHQnCiAgICAgICAgICA/IE1hdGgubWF4KDE4LCBNYXRoLm1pbihteCAtIDgsIGxlZnQgLSBPVVRFUikpCiAgICAgICAgICA6IE1hdGgubWluKFcgLSAxOCwgTWF0aC5tYXgobXggKyA4LCByaWdodCArIE9VVEVSKSk7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgc2lkZTogc2lkZSwKICAgICAgICBteDogbXgsCiAgICAgICAgbXk6IG15LAogICAgICAgIG91dGVyWDogb3V0ZXJYLAogICAgICAgIHRvcDogdG9wLAogICAgICAgIGJvdHRvbTogYm90dG9tLAogICAgICAgIGxlZnQ6IGxlZnQsCiAgICAgICAgcmlnaHQ6IHJpZ2h0CiAgICAgIH07CiAgICB9KTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICBNT0JJTEU6IHBlcmN1cnNvIGluZGVwZW5kZW50ZSwgc2VtcHJlIG5hIGZhaXhhIGxpdnJlIMOgIGVzcXVlcmRhLgogICAgICAgQSDDum5pY2EgYXByb3hpbWHDp8OjbyBhbyBjb250ZcO6ZG8gYWNvbnRlY2Ugbm8gcG9udG8gZXhhdG8gZGEgYm9saW5oYS4KICAgICAgIEFzc2ltIGEgbGluaGEgbsOjbyBjb25zZWd1ZSBhdHJhdmVzc2FyIHTDrXR1bG8sIGRhdGEsIGxvY2FsIG91IGJvdMOjby4KICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIGlmIChtb2JpbGUpIHsKICAgICAgdmFyIG1wID0gW107CiAgICAgIHZhciBmaXJzdE0gPSBkYXRhWzBdOwogICAgICB2YXIgc3RhcnRZID0gTWF0aC5tYXgoOCwgZmlyc3RNLm15IC0gVEFJTCk7CiAgICAgIHZhciBzdGFydFggPSBmaXJzdE0ub3V0ZXJYOwoKICAgICAgbXAucHVzaCgnTSAnICsgcm91bmQoc3RhcnRYKSArICcgJyArIHJvdW5kKHN0YXJ0WSkpOwogICAgICBtcC5wdXNoKCdDICcgKwogICAgICAgIHJvdW5kKHN0YXJ0WCAtIDcpICsgJyAnICsgcm91bmQoc3RhcnRZICsgVEFJTCAqIDAuMzgpICsgJywgJyArCiAgICAgICAgcm91bmQoZmlyc3RNLm91dGVyWCAtIDUpICsgJyAnICsgcm91bmQoZmlyc3RNLm15IC0gMTgpICsgJywgJyArCiAgICAgICAgcm91bmQoZmlyc3RNLm14KSArICcgJyArIHJvdW5kKGZpcnN0TS5teSkpOwoKICAgICAgZm9yICh2YXIgbWkgPSAwOyBtaSA8IGRhdGEubGVuZ3RoIC0gMTsgbWkrKykgewogICAgICAgIHZhciBtYyA9IGRhdGFbbWldOwogICAgICAgIHZhciBtbiA9IGRhdGFbbWkgKyAxXTsKCiAgICAgICAgLyogTGltaXRlIGRpcmVpdG8gYWJzb2x1dGFtZW50ZSBzZWd1cm86IGZpY2EgYW50ZXMgZG8gaW7DrWNpbyBkb3MKICAgICAgICAgICBkb2lzIGJsb2NvcyBkZSB0ZXh0byBlbnZvbHZpZG9zLiAqLwogICAgICAgIHZhciBzYWZlUmlnaHQgPSBNYXRoLm1pbihtYy5sZWZ0LCBtbi5sZWZ0KSAtIDEwOwogICAgICAgIHZhciBsYW5lQSA9IGNsYW1wKG1jLm91dGVyWCwgNywgc2FmZVJpZ2h0KTsKICAgICAgICB2YXIgbGFuZUIgPSBjbGFtcChtbi5vdXRlclgsIDcsIHNhZmVSaWdodCk7CgogICAgICAgIC8qIEVzcGHDp28gdmVydGljYWwgZWZldGl2YW1lbnRlIGxpdnJlIGVudHJlIG8gZmltIGRlIHVtYSBhdGl2aWRhZGUKICAgICAgICAgICBlIG8gaW7DrWNpbyBkYSBzZWd1aW50ZS4gKi8KICAgICAgICB2YXIgZnJlZVRvcCA9IG1jLmJvdHRvbSArIEdBUF9QQUQ7CiAgICAgICAgdmFyIGZyZWVCb3R0b20gPSBtbi50b3AgLSBHQVBfUEFEOwogICAgICAgIHZhciBtaWRZOwogICAgICAgIGlmIChmcmVlQm90dG9tID4gZnJlZVRvcCArIDEwKSB7CiAgICAgICAgICBtaWRZID0gKGZyZWVUb3AgKyBmcmVlQm90dG9tKSAvIDI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG1pZFkgPSAobWMubXkgKyBtbi5teSkgLyAyOwogICAgICAgIH0KICAgICAgICBtaWRZID0gY2xhbXAobWlkWSwgbWMubXkgKyAyNCwgbW4ubXkgLSAyNCk7CgogICAgICAgIC8qIFBlcXVlbmEgb3NjaWxhw6fDo28gZW0gUyBkZW50cm8gZGEgbWFyZ2VtIGVzcXVlcmRhLCBzZW0gdWx0cmFwYXNzYXIKICAgICAgICAgICBzYWZlUmlnaHQuIETDoSBtb3ZpbWVudG8gw6AgbGluaGEgc2VtIGEgZmF6ZXIgZW50cmFyIG5vIHRleHRvLiAqLwogICAgICAgIHZhciBtaW5MYW5lID0gNzsKICAgICAgICB2YXIgc3dheSA9IE1hdGgubWF4KDgsIE1hdGgubWluKDE4LCBzYWZlUmlnaHQgLSBtaW5MYW5lIC0gMykpOwogICAgICAgIHZhciBtaWRkbGVYID0gKG1pICUgMiA9PT0gMCkKICAgICAgICAgID8gY2xhbXAoTWF0aC5taW4obGFuZUEsIGxhbmVCKSAtIHN3YXksIG1pbkxhbmUsIHNhZmVSaWdodCkKICAgICAgICAgIDogY2xhbXAoTWF0aC5tYXgobGFuZUEsIGxhbmVCKSArIHN3YXkgKiAwLjQ1LCBtaW5MYW5lLCBzYWZlUmlnaHQpOwoKICAgICAgICB2YXIgZHkxID0gTWF0aC5tYXgoMjIsIE1hdGgubWluKDU4LCAobWlkWSAtIG1jLm15KSAqIDAuNjUpKTsKICAgICAgICB2YXIgZHkyID0gTWF0aC5tYXgoMjIsIE1hdGgubWluKDU4LCAobW4ubXkgLSBtaWRZKSAqIDAuNjUpKTsKCiAgICAgICAgLyogU2FpIGRhIGJvbGluaGEgaW1lZGlhdGFtZW50ZSBwYXJhIGEgbWFyZ2VtIGVzcXVlcmRhLiAqLwogICAgICAgIG1wLnB1c2goJ0MgJyArCiAgICAgICAgICByb3VuZChsYW5lQSkgKyAnICcgKyByb3VuZChtYy5teSArIDgpICsgJywgJyArCiAgICAgICAgICByb3VuZChsYW5lQSkgKyAnICcgKyByb3VuZChtYy5teSArIGR5MSkgKyAnLCAnICsKICAgICAgICAgIHJvdW5kKG1pZGRsZVgpICsgJyAnICsgcm91bmQobWlkWSkpOwoKICAgICAgICAvKiBSZWdyZXNzYSDDoCBib2xpbmhhIHNlZ3VpbnRlIHRhbWLDqW0gcGVsYSBtYXJnZW0gZXNxdWVyZGEuICovCiAgICAgICAgbXAucHVzaCgnQyAnICsKICAgICAgICAgIHJvdW5kKGxhbmVCKSArICcgJyArIHJvdW5kKG1pZFkgKyBkeTIgKiAwLjM1KSArICcsICcgKwogICAgICAgICAgcm91bmQobGFuZUIpICsgJyAnICsgcm91bmQobW4ubXkgLSAxMikgKyAnLCAnICsKICAgICAgICAgIHJvdW5kKG1uLm14KSArICcgJyArIHJvdW5kKG1uLm15KSk7CiAgICAgIH0KCiAgICAgIHZhciBsYXN0TSA9IGRhdGFbZGF0YS5sZW5ndGggLSAxXTsKICAgICAgdmFyIGVuZFlNb2JpbGUgPSBNYXRoLm1pbihIIC0gOCwgbGFzdE0uYm90dG9tICsgMzQpOwogICAgICBtcC5wdXNoKCdDICcgKwogICAgICAgIHJvdW5kKGxhc3RNLm91dGVyWCkgKyAnICcgKyByb3VuZChsYXN0TS5teSArIDEwKSArICcsICcgKwogICAgICAgIHJvdW5kKGxhc3RNLm91dGVyWCkgKyAnICcgKyByb3VuZChlbmRZTW9iaWxlIC0gMTIpICsgJywgJyArCiAgICAgICAgcm91bmQobGFzdE0ub3V0ZXJYKSArICcgJyArIHJvdW5kKGVuZFlNb2JpbGUpKTsKCiAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwICcgKyByb3VuZChXKSArICcgJyArIHJvdW5kKEgpKTsKICAgICAgc3ZnLnNldEF0dHJpYnV0ZSgncHJlc2VydmVBc3BlY3RSYXRpbycsICdub25lJyk7CiAgICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgbXAuam9pbignICcpKTsKCiAgICAgIGlmIChncmFkRWwpIHsKICAgICAgICBncmFkRWwuc2V0QXR0cmlidXRlKCd4MScsICcwJyk7CiAgICAgICAgZ3JhZEVsLnNldEF0dHJpYnV0ZSgneTEnLCAnMCcpOwogICAgICAgIGdyYWRFbC5zZXRBdHRyaWJ1dGUoJ3gyJywgcm91bmQoVyAqIDAuMDgpKTsKICAgICAgICBncmFkRWwuc2V0QXR0cmlidXRlKCd5MicsIHJvdW5kKEgpKTsKICAgICAgfQoKICAgICAgdmFyIG1vYmlsZUxlbiA9IDA7CiAgICAgIHRyeSB7IG1vYmlsZUxlbiA9IHBhdGguZ2V0VG90YWxMZW5ndGgoKTsgfSBjYXRjaCAoZSkgeyBtb2JpbGVMZW4gPSAwOyB9CiAgICAgIGlmIChtb2JpbGVMZW4pIHsKICAgICAgICBwYXRoLnN0eWxlLnN0cm9rZURhc2hhcnJheSA9IG1vYmlsZUxlbiArICcgJyArIG1vYmlsZUxlbjsKICAgICAgICBwYXRoLnN0eWxlLnRyYW5zaXRpb24gPSAnbm9uZSc7CiAgICAgICAgcGF0aC5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gKGRyYXduIHx8IHJlZHVjZU1vdGlvbikgPyAnMCcgOiBTdHJpbmcobW9iaWxlTGVuKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgVEFCTEVUIC8gREVTS1RPUDogbWFudMOpbSBhIHNvbHXDp8OjbyB2MTAsIHF1ZSBqw6EgZXN0w6EgYXByb3ZhZGEuCiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICB2YXIgcGFydHMgPSBbXTsKICAgIHZhciBmaXJzdCA9IGRhdGFbMF07CiAgICB2YXIgc3RhcnQgPSB7IHg6IGZpcnN0Lm91dGVyWCwgeTogTWF0aC5tYXgoMTAsIGZpcnN0Lm15IC0gVEFJTCkgfTsKICAgIHBhcnRzLnB1c2goJ00gJyArIHJvdW5kKHN0YXJ0LngpICsgJyAnICsgcm91bmQoc3RhcnQueSkpOwogICAgcGFydHMucHVzaCgnUSAnICsgcm91bmQoc3RhcnQueCkgKyAnICcgKyByb3VuZCgoc3RhcnQueSArIGZpcnN0Lm15KSAvIDIpICsgJyAnICsgcm91bmQoZmlyc3Qub3V0ZXJYKSArICcgJyArIHJvdW5kKGZpcnN0Lm15KSk7CiAgICBwYXJ0cy5wdXNoKCdMICcgKyByb3VuZChmaXJzdC5teCkgKyAnICcgKyByb3VuZChmaXJzdC5teSkpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGggLSAxOyBpKyspIHsKICAgICAgdmFyIGN1ciA9IGRhdGFbaV07CiAgICAgIHZhciBuZXh0ID0gZGF0YVtpICsgMV07CgogICAgICBwYXJ0cy5wdXNoKCdMICcgKyByb3VuZChjdXIub3V0ZXJYKSArICcgJyArIHJvdW5kKGN1ci5teSkpOwoKICAgICAgdmFyIG92ZXJsYXBUb3AgPSBNYXRoLm1heChjdXIudG9wLCBuZXh0LnRvcCk7CiAgICAgIHZhciBvdmVybGFwQm90dG9tID0gTWF0aC5taW4oY3VyLmJvdHRvbSwgbmV4dC5ib3R0b20pOwogICAgICB2YXIgc2FtZVZpc3VhbFJvdyA9IG92ZXJsYXBCb3R0b20gPiBvdmVybGFwVG9wIHx8IE1hdGguYWJzKGN1ci5teSAtIG5leHQubXkpIDwgNzA7CiAgICAgIHZhciBjb3JyaWRvclk7CgogICAgICBpZiAoc2FtZVZpc3VhbFJvdykgewogICAgICAgIGNvcnJpZG9yWSA9IE1hdGgubWF4KGN1ci5ib3R0b20sIG5leHQuYm90dG9tKSArIEdBUF9QQUQ7CiAgICAgICAgaWYgKGRhdGFbaSArIDJdKSB7CiAgICAgICAgICB2YXIgc2FmZUxpbWl0ID0gZGF0YVtpICsgMl0udG9wIC0gR0FQX1BBRDsKICAgICAgICAgIGlmIChzYWZlTGltaXQgPiBNYXRoLm1heChjdXIuYm90dG9tLCBuZXh0LmJvdHRvbSkgKyAxMikgewogICAgICAgICAgICBjb3JyaWRvclkgPSBNYXRoLm1pbihjb3JyaWRvclksIHNhZmVMaW1pdCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHZhciB0b3BGcmVlID0gY3VyLmJvdHRvbSArIEdBUF9QQUQ7CiAgICAgICAgdmFyIGJvdHRvbUZyZWUgPSBuZXh0LnRvcCAtIEdBUF9QQUQ7CiAgICAgICAgaWYgKGJvdHRvbUZyZWUgPiB0b3BGcmVlICsgOCkgewogICAgICAgICAgY29ycmlkb3JZID0gKHRvcEZyZWUgKyBib3R0b21GcmVlKSAvIDI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGNvcnJpZG9yWSA9IGN1ci5ib3R0b20gKyBNYXRoLm1heCgxMiwgR0FQX1BBRCAqIDAuNik7CiAgICAgICAgfQogICAgICB9CgogICAgICBhZGRSb3VuZGVkUG9seWxpbmUocGFydHMsIFsKICAgICAgICB7IHg6IGN1ci5vdXRlclgsICB5OiBjdXIubXkgfSwKICAgICAgICB7IHg6IGN1ci5vdXRlclgsICB5OiBjb3JyaWRvclkgfSwKICAgICAgICB7IHg6IG5leHQub3V0ZXJYLCB5OiBjb3JyaWRvclkgfSwKICAgICAgICB7IHg6IG5leHQub3V0ZXJYLCB5OiBuZXh0Lm15IH0KICAgICAgXSwgQ09STkVSX1IpOwoKICAgICAgcGFydHMucHVzaCgnTCAnICsgcm91bmQobmV4dC5teCkgKyAnICcgKyByb3VuZChuZXh0Lm15KSk7CiAgICB9CgogICAgdmFyIGxhc3QgPSBkYXRhW2RhdGEubGVuZ3RoIC0gMV07CiAgICBwYXJ0cy5wdXNoKCdMICcgKyByb3VuZChsYXN0Lm91dGVyWCkgKyAnICcgKyByb3VuZChsYXN0Lm15KSk7CiAgICB2YXIgZW5kID0geyB4OiBsYXN0Lm91dGVyWCwgeTogTWF0aC5taW4oSCAtIDEwLCBsYXN0Lm15ICsgVEFJTCkgfTsKICAgIHBhcnRzLnB1c2goJ1EgJyArIHJvdW5kKGVuZC54KSArICcgJyArIHJvdW5kKChsYXN0Lm15ICsgZW5kLnkpIC8gMikgKyAnICcgKyByb3VuZChlbmQueCkgKyAnICcgKyByb3VuZChlbmQueSkpOwoKICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwICcgKyByb3VuZChXKSArICcgJyArIHJvdW5kKEgpKTsKICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAnbm9uZScpOwogICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBwYXJ0cy5qb2luKCcgJykpOwoKICAgIGlmIChncmFkRWwpIHsKICAgICAgZ3JhZEVsLnNldEF0dHJpYnV0ZSgneDEnLCAnMCcpOwogICAgICBncmFkRWwuc2V0QXR0cmlidXRlKCd5MScsICcwJyk7CiAgICAgIGdyYWRFbC5zZXRBdHRyaWJ1dGUoJ3gyJywgcm91bmQoVyAqIDAuMikpOwogICAgICBncmFkRWwuc2V0QXR0cmlidXRlKCd5MicsIHJvdW5kKEgpKTsKICAgIH0KCiAgICB2YXIgbGVuID0gMDsKICAgIHRyeSB7IGxlbiA9IHBhdGguZ2V0VG90YWxMZW5ndGgoKTsgfSBjYXRjaCAoZSkgeyBsZW4gPSAwOyB9CiAgICBpZiAobGVuKSB7CiAgICAgIHBhdGguc3R5bGUuc3Ryb2tlRGFzaGFycmF5ID0gbGVuICsgJyAnICsgbGVuOwogICAgICBwYXRoLnN0eWxlLnRyYW5zaXRpb24gPSAnbm9uZSc7CiAgICAgIHBhdGguc3R5bGUuc3Ryb2tlRGFzaG9mZnNldCA9IChkcmF3biB8fCByZWR1Y2VNb3Rpb24pID8gJzAnIDogU3RyaW5nKGxlbik7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBkcmF3T25jZSgpIHsKICAgIGlmIChkcmF3biB8fCAhcGF0aCkgeyByZXR1cm47IH0KICAgIGRyYXduID0gdHJ1ZTsKICAgIGlmIChyZWR1Y2VNb3Rpb24pIHsKICAgICAgcGF0aC5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gIjAiOwogICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgbGVuID0gMDsKICAgIHRyeSB7IGxlbiA9IHBhdGguZ2V0VG90YWxMZW5ndGgoKTsgfSBjYXRjaCAoZSkgeyBsZW4gPSAwOyB9CiAgICBpZiAoIWxlbikgeyByZXR1cm47IH0KICAgIHBhdGguc3R5bGUuc3Ryb2tlRGFzaGFycmF5ID0gbGVuICsgIiAiICsgbGVuOwogICAgcGF0aC5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gU3RyaW5nKGxlbik7CiAgICBwYXRoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgcGF0aC5zdHlsZS50cmFuc2l0aW9uID0gInN0cm9rZS1kYXNob2Zmc2V0IDMwMDBtcyBjdWJpYy1iZXppZXIoLjM2LC4wNiwuMiwxKSI7CiAgICBwYXRoLnN0eWxlLnN0cm9rZURhc2hvZmZzZXQgPSAiMCI7CiAgfQoKICBpZiAod3JhcCkgewogICAgYnVpbGRQYXRoKCk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGJ1aWxkUGF0aCk7CiAgICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbikgewogICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGJ1aWxkUGF0aCk7CiAgICB9CiAgICBpZiAoIkludGVyc2VjdGlvbk9ic2VydmVyIiBpbiB3aW5kb3cpIHsKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uIChlbnRyaWVzKSB7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgewogICAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgICAgIGlmIChsaXN0KSB7IGxpc3QuY2xhc3NMaXN0LmFkZCgiaXMtaW4iKTsgfQogICAgICAgICAgICBkcmF3T25jZSgpOwogICAgICAgICAgICBpby5kaXNjb25uZWN0KCk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0sIHsgdGhyZXNob2xkOiAwLjE0IH0pOwogICAgICBpby5vYnNlcnZlKHdyYXApOwogICAgfSBlbHNlIHsKICAgICAgaWYgKGxpc3QpIHsgbGlzdC5jbGFzc0xpc3QuYWRkKCJpcy1pbiIpOyB9CiAgICAgIGRyYXdPbmNlKCk7CiAgICB9CiAgICB2YXIgdGltZXIgPSBudWxsOwogICAgdmFyIHNjaGVkdWxlID0gZnVuY3Rpb24gKCkgewogICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgdGltZXIgPSB3aW5kb3cuc2V0VGltZW91dChidWlsZFBhdGgsIDE0MCk7CiAgICB9OwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHNjaGVkdWxlKTsKICAgIGlmICgiUmVzaXplT2JzZXJ2ZXIiIGluIHdpbmRvdykgeyBuZXcgUmVzaXplT2JzZXJ2ZXIoc2NoZWR1bGUpLm9ic2VydmUod3JhcCk7IH0KICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoZSkgewogICAgICBpZiAoZS50YXJnZXQuY2xvc2VzdCAmJiBlLnRhcmdldC5jbG9zZXN0KCIuc2VtMjYtbW9yZSIpKSB7CiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoYnVpbGRQYXRoLCAyMjApOwogICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGJ1aWxkUGF0aCwgNDgwKTsKICAgICAgfQogICAgfSk7CiAgfQoKICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZW0yNi1mb3JtIik7CiAgaWYgKGZvcm0pIHsKICAgIHZhciBzdGF0dXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VtMjYtZm9ybS1zdGF0dXMiKTsKICAgIHZhciBmaWVsZHMgPSBbCiAgICAgIHsgaWQ6ICJzZW0yNi1ub21lIiwgICAgIGVycjogInNlbTI2LW5vbWUtZXJyIiwgICAgIG1zZzogIkluZGlxdWUgbyBzZXUgbm9tZS4iIH0sCiAgICAgIHsgaWQ6ICJzZW0yNi1lbWFpbCIsICAgIGVycjogInNlbTI2LWVtYWlsLWVyciIsICAgIG1zZzogIkluZGlxdWUgdW0gZW1haWwgdsOhbGlkby4iIH0sCiAgICAgIHsgaWQ6ICJzZW0yNi1hc3N1bnRvIiwgIGVycjogInNlbTI2LWFzc3VudG8tZXJyIiwgIG1zZzogIkluZGlxdWUgbyBhc3N1bnRvLiIgfSwKICAgICAgeyBpZDogInNlbTI2LW1lbnNhZ2VtIiwgZXJyOiAic2VtMjYtbWVuc2FnZW0tZXJyIiwgbXNnOiAiRXNjcmV2YSBhIHN1YSBtZW5zYWdlbS4iIH0sCiAgICAgIHsgaWQ6ICJzZW0yNi1jb25zZW50IiwgIGVycjogInNlbTI2LWNvbnNlbnQtZXJyIiwgIG1zZzogIsOJIG5lY2Vzc8OhcmlvIGF1dG9yaXphciBvIHRyYXRhbWVudG8gZG9zIGRhZG9zLiIgfQogICAgXTsKICAgIHZhciB2YWxpZEZpZWxkID0gZnVuY3Rpb24gKGYpIHsKICAgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZi5pZCk7CiAgICAgIGlmICghZWwpIHsgcmV0dXJuIHRydWU7IH0KICAgICAgaWYgKGVsLnR5cGUgPT09ICJjaGVja2JveCIpIHsgcmV0dXJuIGVsLmNoZWNrZWQ7IH0KICAgICAgdmFyIHYgPSBlbC52YWx1ZS50cmltKCk7CiAgICAgIGlmICghdikgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgaWYgKGVsLnR5cGUgPT09ICJlbWFpbCIpIHsgcmV0dXJuIC9eW15cc0BdK0BbXlxzQF0rXC5bXlxzQF17Mix9JC8udGVzdCh2KTsgfQogICAgICBpZiAoZWwuaWQgPT09ICJzZW0yNi1tZW5zYWdlbSIpIHsgcmV0dXJuIHYubGVuZ3RoID49IDEwOyB9CiAgICAgIHJldHVybiB0cnVlOwogICAgfTsKICAgIHZhciBzaG93RXJyID0gZnVuY3Rpb24gKGYsIHNob3cpIHsKICAgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZi5pZCk7CiAgICAgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZi5lcnIpOwogICAgICBpZiAoIWVsIHx8ICFwKSB7IHJldHVybjsgfQogICAgICBwLnRleHRDb250ZW50ID0gc2hvdyA/IGYubXNnIDogIiI7CiAgICAgIGVsLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwgc2hvdyA/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgfTsKICAgIGZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uIChmKSB7CiAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGYuaWQpOwogICAgICBpZiAoIWVsKSB7IHJldHVybjsgfQogICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwgZnVuY3Rpb24gKCkgeyBzaG93RXJyKGYsICF2YWxpZEZpZWxkKGYpKTsgfSk7CiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgZnVuY3Rpb24gKCkgeyBpZiAodmFsaWRGaWVsZChmKSkgeyBzaG93RXJyKGYsIGZhbHNlKTsgfSB9KTsKICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgZnVuY3Rpb24gKCkgeyBpZiAodmFsaWRGaWVsZChmKSkgeyBzaG93RXJyKGYsIGZhbHNlKTsgfSB9KTsKICAgIH0pOwogICAgZm9ybS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCBmdW5jdGlvbiAoZSkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIHZhciBmaXJzdEJhZCA9IG51bGw7CiAgICAgIGZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uIChmKSB7CiAgICAgICAgdmFyIG9rID0gdmFsaWRGaWVsZChmKTsKICAgICAgICBzaG93RXJyKGYsICFvayk7CiAgICAgICAgaWYgKCFvayAmJiAhZmlyc3RCYWQpIHsgZmlyc3RCYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmLmlkKTsgfQogICAgICB9KTsKICAgICAgaWYgKGZpcnN0QmFkKSB7CiAgICAgICAgc3RhdHVzLnNldEF0dHJpYnV0ZSgiZGF0YS10b25lIiwgImVycm8iKTsKICAgICAgICBzdGF0dXMudGV4dENvbnRlbnQgPSAiVmVyaWZpcXVlIG9zIGNhbXBvcyBhc3NpbmFsYWRvcyBhbnRlcyBkZSBlbnZpYXIuIjsKICAgICAgICBmaXJzdEJhZC5mb2N1cygpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIVNFTTI2X0ZPUk1fRU5EUE9JTlQpIHsKICAgICAgICBzdGF0dXMuc2V0QXR0cmlidXRlKCJkYXRhLXRvbmUiLCAiZXJybyIpOwogICAgICAgIHN0YXR1cy50ZXh0Q29udGVudCA9ICJPIGZvcm11bMOhcmlvIGFpbmRhIG7Do28gZXN0w6EgbGlnYWRvIGEgdW0gZGVzdGlubyBkZSBlbnZpbyAobW9kbyBkZSBkZXNlbnZvbHZpbWVudG8pLiBFbnF1YW50byBpc3NvLCBlc2NyZXZhIHBhcmEgZ2VyYWxAcGFycXVlc3Rlam8ucHQgb3UgdGVsZWZvbmUgKzM1MSAyMTUgOTkwIDAwMC4iOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgcGF5bG9hZCA9IHsKICAgICAgICBub21lOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VtMjYtbm9tZSIpLnZhbHVlLnRyaW0oKSwKICAgICAgICBlbWFpbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbTI2LWVtYWlsIikudmFsdWUudHJpbSgpLAogICAgICAgIGFzc3VudG86IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZW0yNi1hc3N1bnRvIikudmFsdWUudHJpbSgpLAogICAgICAgIG1lbnNhZ2VtOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VtMjYtbWVuc2FnZW0iKS52YWx1ZS50cmltKCksCiAgICAgICAgY29uc2VudGltZW50bzogdHJ1ZSwKICAgICAgICBvcmlnZW06ICJzZW0yNiIKICAgICAgfTsKICAgICAgdmFyIHN1Ym1pdEJ0biA9IGZvcm0ucXVlcnlTZWxlY3RvcigiYnV0dG9uW3R5cGU9c3VibWl0XSIpOwogICAgICBpZiAoc3VibWl0QnRuKSB7IHN1Ym1pdEJ0bi5kaXNhYmxlZCA9IHRydWU7IH0KICAgICAgc3RhdHVzLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS10b25lIik7CiAgICAgIHN0YXR1cy50ZXh0Q29udGVudCA9ICJBIGVudmlhcuKApiI7CiAgICAgIGZldGNoKFNFTTI2X0ZPUk1fRU5EUE9JTlQsIHsKICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICBoZWFkZXJzOiB7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIgfSwKICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKQogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAoIXJlcy5vaykgeyB0aHJvdyBuZXcgRXJyb3IoIkhUVFAgIiArIHJlcy5zdGF0dXMpOyB9CiAgICAgICAgc3RhdHVzLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS10b25lIik7CiAgICAgICAgc3RhdHVzLnRleHRDb250ZW50ID0gIk1lbnNhZ2VtIGVudmlhZGEuIE9icmlnYWRvIHBlbG8gY29udGFjdG8g4oCUIHJlc3BvbmRlbW9zIGFzc2ltIHF1ZSBwb3Nzw612ZWwuIjsKICAgICAgICBmb3JtLnJlc2V0KCk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBzdGF0dXMuc2V0QXR0cmlidXRlKCJkYXRhLXRvbmUiLCAiZXJybyIpOwogICAgICAgIHN0YXR1cy50ZXh0Q29udGVudCA9ICJOw6NvIGZvaSBwb3Nzw612ZWwgZW52aWFyIGEgbWVuc2FnZW0uIFRlbnRlIG5vdmFtZW50ZSBvdSBlc2NyZXZhIHBhcmEgZ2VyYWxAcGFycXVlc3Rlam8ucHQuIjsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKHN1Ym1pdEJ0bikgeyBzdWJtaXRCdG4uZGlzYWJsZWQgPSBmYWxzZTsgfQogICAgICB9KTsKICAgIH0pOwogIH0KfSkoKTsKPC9zY3JpcHQ+[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]