@splunk/visualizations 23.4.1 → 24.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_SVG_with_XML_and_DTD.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_background_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_black_dot.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_color_rectangles.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_fixed_height_400_width_400.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Gauge_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_10.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_auto.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_Value_210_Major_Unit_25_ticks_position_unevenly.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_value_40K.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Min_Value_20_ticks_position_evenly.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Range_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Value_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Too_Small_to_Render.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_First_And_Last.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_Some.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields_Columns.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Large_Data_Set.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Height.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Highlight_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_X.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_Y.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Result_Limit.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Node_Counts_False.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Value_Counts_False.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_from.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_discontinuous_ranges.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_equals_to_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_is_larger_than_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_missing_entries.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_10.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_auto.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Range_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Value_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_100_tick_positions_even.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_110_majorUnit_20_tick_positions_uneven.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_multiple_steps.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_single_step.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Too_Small_to_Render.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_array_column_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_backgroundColor_navy_000080.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_categorical_dataSources_excessive_categorical_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_dimensions_less_than_minWidth_200_and_minHeight_150.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineColor_pink_FFC0CB.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineOpacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_showNullAxis_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_stringified_numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_area.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_radius.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Max_Bubble_Radius_25.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_categorical_Bubble_Scale_radius_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_dynamic_Bubble_Scale_area_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_categorical_Bubble_Scale_area_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_dynamic_Bubble_Scale_radius_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_99.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Min_Bubble_Size_30.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Bubble_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_100.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Duplicated_data_point_x_8_y_tuesday_size_29_category_Allison_V_1710.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_friday_size_undefined_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_undefined_size_12_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_undefined_y_friday_size_29_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Legend_label_is_long_no_overflow.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_all.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_max.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_none.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Some_axis_labels_should_be_hidden.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Sort_axes_useDefaultSort_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_default_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_fixed_height_300_width_700.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backgroundcolor_pink.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backward_link_and_self_loop.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_colorMode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_height_and_width_set_to_non_numeric.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_less_than_minWidth_300_and_minHeight_200.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_invalid_columns_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_charity_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_energy_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_linkOpacity_changed_to_0_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodePadding_changed_to_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodeWidth_changed_to_15.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_resultLimit_set_to_4.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_100_height_and_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Background_color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Opacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_after.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_below.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_top.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_activity.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Font_Size_128_Trend_Font_Size_30.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Truncate_Trend_Units_enabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_35_width_35.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_100_height_and_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_flamenco.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_is_white.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Max_Value_50.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Background_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Stroke_Color_valencia.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_String_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_absolute_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_enabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Under_label_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_dark_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_default_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_scp_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_35_width_35.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Automatic_font_sizing_should_not_overflow.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_white_Under_Label_and_Unit_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Large_card_686_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Font_Size_128_Trend_Font_Size_30_Under_Label_Font_Size_16.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Value_is_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Medium_card_250_width_686.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_250.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_50.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_after.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_below_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_2_Sparkline_Highlight_Dots_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_4_Sparkline_Highlight_Dots_5.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_characters_invalid.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_negative_3_invalid.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Stroke_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Tooltip_show.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_disabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_billions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_hundreds.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_millions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_thousands.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_trillions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_converts_non_numeric_values_to_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_does_not_show_if_only_1_entry_in_graphData.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_String_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_absolute_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_10_Trend_Value_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_13_Trend_Value_negative_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Trend_Value_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_value_equals_trendValue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Empty_string.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Not_A_Number.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Under_Label_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_0_value.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_all_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_35_width_35_Major_Font_Size_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_60_width_60_Major_Font_Size_12_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Black_Dot.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Color_Rectangles.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_SVG_with_XML_and_DTD.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Area_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Background_Color_french_rose.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Basic_Area.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_20.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_and_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Max_120.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Min_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Mode_seriesCompare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_connect.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_gaps_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_X_Axis_Major_Grid_Lines_true_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Major_Ticks_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_Tick_Interval_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Maximum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Minimum_Number_250.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Maximum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Axis_Y_Minimum_Number_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Background_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Bar_Spacing_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Basic_Bar.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Major_and_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Minor_Ticks_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Max_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Min_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_by_Field_count_green_percent_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_red_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Spacing_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_X_Axis_Major_Grid_true_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Major_and_Minor_Ticks_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Tick_Interval_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Background_Color_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Basic_Bubble.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Max_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_area_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_diameter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Min_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Column_data_based_on_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Field_Colors_200_green_201_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_0_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_10_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_50_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Series_Colors_orange_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_auto.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_hide_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Interval_6.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Maximum_Number_14.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minimum_Number_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Interval_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Maximum_Number_800.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minimum_Number_300.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Placeholder_If_No_Svg_And_No_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_a_rangeValue_threshold.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_areaIds.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_using_multiMap_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Svg_Shows_Even_When_No_Datasources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Use_Local_To_Download_Svg.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Basic_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Max_80000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Min_50000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Spacing_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_By_Field_splunkd_green_mongod_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_red_blue_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Spacing_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Long_Tooltip_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Tooltip_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_and_Y_Axis_Major_Tick_Size_20_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Major_Tick_Interval_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Maximum_Number_80000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minimum_Number_60000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minor_Tick_Size_10_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Basic_Ellipse.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_purple_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fixed_height_200_width_200.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green_Fill_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Dash_Style_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Opacity_0_8_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5_Stroke_Dash_Style_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Basic_Filler_Gauge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Basic_Image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_dynamic_image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_remote_image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPEG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_image_src_present_in_options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_options_present.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_PNG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_JPG_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_PNG_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_svg_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_SVG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_IANA_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_serialized_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_utc_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_On_Y2_Axis_Major_Tick_Interval_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Maximum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minimum_Number_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Mode_seriesCompare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_dot_percent_dash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDashDot_percent_longDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_longDash_percent_dashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDashDot_percent_shortDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_count_shortDash_percent_shortDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_solid_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_filled.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_invalid_value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_outlined.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_connect.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_gaps_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_By_Field_count_green_percent_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_red_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Major_Tick_Visibility_hide_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_and_Y_Axis_Major_Tick_Size_20.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Maximum_Number_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minimum_Number_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minor_Tick_Visibility_show_Y_Axis_Minor_Tick_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Basic_LinkGraph.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_First_and_Last_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_First_to_the_Last_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_Last_to_the_First_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Highlight_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Result_Limit_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Basic_Marker_Gauge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_0_to_30_purple_30_to_90_blue_90_to_100_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_negative_10_to_50_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Major_Tick_Interval_7.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Array_column_values.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Background_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Basic_Parallel_Coordinates.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Categorical_dataSources_excessive_categorical_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Larger_Dimensions_width_800_height_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Opacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Null_Axis_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Smaller_Dimensions_less_than_min_width_200_and_min_height_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Stringified_Numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Basic_Pie.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Label_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Threshold_0_05.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_valuesAndPercentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_values_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_More_than_2_columns_in_datasources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Numeric_and_string_values_in_column_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_0_Number_of_Results_12.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_3_Number_of_Results_12.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_By_Field_April_black_December_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Show_Donut_Hole_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Background_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Basic_Punchcard.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_all_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_max.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_global_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Bubble_Size_Method_radius_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_area_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_radius.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Min_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_right_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_dynamic_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Max_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Color_Mode_categorical_Bubble_Size_Method_radius.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Basic_Rectangle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_0_default_Vertical_Corner_Radius_ry_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_15_Vertical_Corner_Radius_ry_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_0.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_Undefined_default_set_to_rx.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_5_Vertical_Corner_Radius_ry_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow_Fill_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_Bevel_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_miter_default_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_round_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Background_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Backward_Link_Self_Loop.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Basic_Sankey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Color_Mode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Dimension_Too_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Larger_Dimension.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_0_8.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_Changed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Values_Not_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Background_Color_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Basic_Scatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Column_data_based_on_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Field_Colors_200_green_201_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Marker_Size_7.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_0_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_10_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_50_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Series_Colors_orange_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_auto.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_hide_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Interval_6.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Size_15_X_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Maximum_Number_14.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minimum_Number_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Interval_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Maximum_Number_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minimum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Change_Icon_Color_For_A_Remote_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_The_Icon_As_A_Remote_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_backgroundColor_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_icon_color_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_majorColor_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Mixed_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Numerical_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color_By_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Max_Value_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Radial_Color_By_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Change_The_Color_Of_Major_Value_Based_On_Its_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_No_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_Major_Value_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_The_Trend_Indicators_And_Number_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Gaps_For_Null_Value_In_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Index_Out_Of_Range.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Value_Is_Zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Mixed_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Numerical_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
- package/Area.config.js +36 -31
- package/Area.config.js.map +1 -1
- package/Area.js +291 -238
- package/Area.js.map +1 -1
- package/Bar.config.js +20 -19
- package/Bar.config.js.map +1 -1
- package/Bar.js +273 -224
- package/Bar.js.map +1 -1
- package/Bubble.config.js +13 -12
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +264 -215
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +21 -21
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +278 -245
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +20 -19
- package/Column.config.js.map +1 -1
- package/Column.js +273 -224
- package/Column.js.map +1 -1
- package/Ellipse.config.js +16 -20
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +203 -182
- package/Ellipse.js.map +1 -1
- package/FillerGauge.config.js +104 -18
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +308 -197
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +4 -4
- package/Image.config.js.map +1 -1
- package/Image.js +178 -153
- package/Image.js.map +1 -1
- package/Line.config.js +28 -26
- package/Line.config.js.map +1 -1
- package/Line.js +279 -229
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +56 -9
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +490 -428
- package/LinkGraph.js.map +1 -1
- package/Markdown.config.js +124 -38
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +296 -160
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +52 -16
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +248 -188
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +16 -15
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +384 -214
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +46 -49
- package/Pie.config.js.map +1 -1
- package/Pie.js +288 -242
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +16 -15
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +261 -227
- package/Punchcard.js.map +1 -1
- package/{README.external.md → README.internal.md} +2 -0
- package/README.md +36 -3
- package/Rectangle.config.js +27 -31
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +213 -192
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +29 -28
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +342 -306
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +23 -22
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +384 -333
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +122 -121
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +953 -784
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +179 -36
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +125 -124
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +514 -344
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +535 -123
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +1302 -772
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +22 -14
- package/Table.config.js.map +1 -1
- package/Table.js +466 -423
- package/Table.js.map +1 -1
- package/common/Charting.js +66 -43
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +3 -2
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +16 -14
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +2 -2
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +2 -2
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +14 -12
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +26 -26
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +6 -6
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +2 -2
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +16 -16
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +4 -4
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +4 -4
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +13 -13
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +8 -8
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/JSONSchemaUtils.js.map +1 -1
- package/common/utils/configUtils.js +2 -2
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/hocUtils.js +2 -1
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +154 -11
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js.map +1 -1
- package/common/version.js +110 -0
- package/common/version.js.map +1 -0
- package/common/withDashboardViz.js +76 -51
- package/common/withDashboardViz.js.map +1 -1
- package/loki.config.js +11 -0
- package/package.json +20 -23
- package/scripts/generateVersion.js +13 -0
- package/jest.visual.config.js +0 -14
package/Sankey.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/utils/JSONSchemaUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"d3-array\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/components/VizStyleWrapper.jsx","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"d3-scale\"","webpack:///./src/Sankey/PureSankey/PureSankey.tsx","webpack:///external \"@splunk/visualizations-shared/dataSourceUtils\"","webpack:///external \"@splunk/themes\"","webpack:///./src/Sankey/PureSankey/SankeyUtils.ts","webpack:///external \"d3-interpolate\"","webpack:///external \"d3-collection\"","webpack:///./src/Sankey/Sankey.tsx","webpack:///./src/Sankey/index.ts","webpack:///./src/Sankey/PureSankey/lib/sankey.js","webpack:///./src/Sankey/PureSankey/SankeyNode.tsx","webpack:///./src/Sankey/PureSankey/SankeyLink.tsx","webpack:///./src/Sankey/PureSankey/SankeyTooltip.tsx","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///./src/Sankey/config.ts","webpack:///./src/common/editorConfig/DynamicLinkColorsEditor.js"],"names":["VizStyleWrapper","dataTestKey","props","d3_sankey","sankey","nodeWidth","nodePadding","size","nodes","links","components","arguments","computeNodeLinks","computeNodeValues","computeNodeStructure","computeNodeBreadths","computeNodeDepths","computeLinkDepths","curvature","x0","d","x1","xi","d3interpolateNumber","x2","x3","y0","y1","y2","y3","curveExtension","curveDepth","x","dt","getDir","p","forwardLink","backwardLink","link","node","source","target","Math","d3sum","nodeStack","index","connect","sourceLink","component","currentNode","root","scc","layerComponents","bfs","result","max","componentsByBreadth","nextMax","c","outLinks","scaleNodeBreadths","remainingComponents","nextComponents","visitedIndex","n","l","queue","currentCount","nextCount","targets","extractTargets","nodesByBreadth","initializeNodeDepth","resolveCollisions","alpha","iterations","relaxRightToLeft","relaxLeftToRight","ky","d3min","y","center","i","dy","a","b","parallelrendering","sy","ty","getDynamicLinkColorsEditor","defaultContext","defaultPalettesConfig","label","_","option","context","editor","showEditor","options","isDynamicOption","editorProps","labelPosition","flyoutTitle","formatters","value","defaults","linkValues","linkColorRangeConfig","dataSelectors"],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA,uC;;;;;;ACAA,kC;;;;;;ACAA,mC;;;;;;ACAA,kD;;;;;;ACAA,8C;;;;;;;;;;;;;ACAA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACnB;;;;;;;;;;AAUG;AACH;AACA;AACA;;;;AAIG;;AACH;AACA;AACH,CArBD,EAAY,WAAW,GAAX,8CAAW,EAAX,CAAZ,E;;;;;;ACAA,kE;;;;;;;;;;;;;;;;ACAA;AAKA;;;;;AAKG;;;AACI,IAAM,wBAAwB,GAAG,SAA3B,wBAA2B,OAK7B;AAAA,MAJP,OAIO,QAJP,OAIO;AAAA,MAHP,aAGO,QAHP,aAGO;AACP,MAAM,gBAAgB,GAAG,CAAC,WAAD,EAAc,cAAd,EAA8B,QAA9B,CAAzB;AACA,kBAAgB,CAAC,OAAjB,CAAyB,UAAC,IAAD,EAAuB;AAC5C,QAAI,aAAa,CAAC,IAAD,CAAjB,EAAyB;AACrB,aAAO,CAAC,IAAD,CAAP,GAAgB,aAAa,CAAC,IAAD,CAA7B;AACH;AACJ,GAJD;AAKH,CAZM;;AAAM,mCAAwB,wBAAxB;AAcb;;;;;;;;;;AAUG;;AACI,IAAM,2BAA2B,GAAG,SAA9B,2BAA8B,CAAC,OAAD,EAAwB;AAC/D,MAAM,KAAK,GAAG,mBAAU,OAAV,CAAd;;AAD+D,oCAAX,OAAW;AAAX,WAAW;AAAA;;AAE/D,SAAO,CAAC,OAAR,CAAgB,uBAAa,EAAG;AAC5B,UAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,OAA3B,CAAmC,mBAAS,EAAG;AAC3C,UAAI,CAAC,KAAK,CAAC,cAAN,CAAqB,SAArB,CAAL,EAAsC;AAClC,aAAK,CAAC,SAAD,CAAL,GAAmB,mBAAU,aAAa,CAAC,SAAD,CAAvB,CAAnB;AACH,OAH0C,CAI3C;;;AACA,UACI,KAAK,CAAC,SAAD,CAAL,IACA,QAAO,KAAK,CAAC,SAAD,CAAZ,MAA4B,QAD5B,IAEA,CAAC,KAAK,CAAC,OAAN,CAAc,KAAK,CAAC,SAAD,CAAnB,CAFD,IAGA,QAAO,aAAa,CAAC,SAAD,CAApB,MAAoC,QAJxC,EAKE;AACE,aAAK,CAAC,SAAD,CAAL,GAAmB,oCAA4B,KAAK,CAAC,SAAD,CAAjC,EAA8C,aAAa,CAAC,SAAD,CAA3D,CAAnB;AACH;AACJ,KAbD;AAcH,GAfD;AAgBA,SAAO,KAAP;AACH,CAnBM;;AAAM,sCAA2B,2BAA3B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCb;;AACA;;AACA;;AAWA,IAAM,qBAAqB,GAAG;AAC1B,MAAI,EAAE,QADoB;AAE1B,SAAO,EAAE;AAFiB,CAA9B;AAKA;;;;AAIG;;AACH,SAAS,sCAAT,CACI,aADJ,EACwD;AAEpD,MAAM,qBAAqB,GAAkB,EAA7C;AACA,QAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,OAA3B,CAAmC,UAAC,GAAD,EAAc;AACvC,aAgBF,aAAa,CAhBX,GAgBW,CAhBX;AAAA,QAIF,KAJE,GAae,EAbf,CAIF,KAJE;AAAA,QAKF,WALE,GAae,EAbf,CAKF,WALE;AAAA,QAMF,QANE,GAae,EAbf,CAMF,QANE;AAAA,QAOF,SAPE,GAae,EAbf,CAOF,SAPE;AAAA,QAQF,QARE,GAae,EAbf,CAQF,QARE;AAAA,QASO,YATP,GAae,EAbf,CASF,OATE;AAAA,QAWF,IAXE,GAae,EAbf,CAWF,IAXE;AAAA,QAYF,UAZE,GAae,EAbf,CAYF,UAZE;AAAA,QAaF,iBAbE,GAae,EAbf,CAaF,iBAbE;AAAA,QAeC,oBAfD,GAeqB,WAfrB,mHAeqB,CAfrB;;AAkBN,QAAM,WAAW,2FACT,KAAK,KAAK,SAAV,IAAuB;AAAE,WAAK,EAAL;AAAF,KADd,GAET,WAAW,KAAK,SAAhB,IAA6B;AAAE,iBAAW,EAAX;AAAF,KAFpB,GAGT,QAAQ,KAAK,SAAb,IAA0B;AAAE,cAAQ,EAAR;AAAF,KAHjB,GAIT,SAAS,KAAK,SAAd,IAA2B;AAAE,eAAS,EAAT;AAAF,KAJlB,GAKT,QAAQ,KAAK,SAAb,IAA0B;AAAE,cAAQ,EAAR;AAAF,KALjB,GAMT,YAAY,KAAK,SAAjB,IAA8B;AAAE,aAAO,EAAE;AAAX,KANrB,CAAjB;;AASA,QAAI,IAAI,KAAK,QAAb,EAAuB;AACnB,2BAAqB,CAAC,GAAD,CAArB,GAA0B,4DACnB,oBADmB,GAEnB,WAFmB,GAER;AACd,YAAI,EAAJ;AADc,OAFQ,GAIlB,UAAU,IAAI;AAAE,kBAAU,EAAE,sCAAsC,CAAC,UAAD;AAApD,OAJI,CAA1B;;AAMA,UAAI,iBAAJ,EAAuB;AACnB,YAAI,yBAAyB,GAAG,EAAhC;AACA,cAAM,CAAC,IAAP,CAAY,iBAAZ,EAA+B,OAA/B,CAAuC,UAAC,GAAD,EAAc;AACjD,mCAAyB,mCAClB,yBADkB,GAElB,sCAAsC,qBAAI,GAAJ,EAAU,iBAAiB,CAAC,GAAD,CAA3B,EAFpB,CAAzB;AAIH,SALD;AAMA,6BAAqB,CAAC,GAAD,CAArB,CAA2B,iBAA3B,GAA+C,yBAA/C;AACH;AACJ,KAjBD,MAiBO;AACH,2BAAqB,CAAC,GAAD,CAArB,GAA0B,gCACnB,WADmB,GACR;AACd,aAAK,EAAE,C,4BAEE,E,EAAC,IAAI,KAAK,SAAT,IAAsB;AAAE,cAAI,EAAJ;AAAF,S,GAAc,oB,CAFvC,EAGH,qBAHG;AADO,OADQ,CAA1B;AAQH;AACJ,GAvDD;AAwDA,SAAO,qBAAP;AACH;;AA4GG;AA1GJ;;;;AAIG;;AACH,SAAS,aAAT,CAAuB,SAAvB,EAA2C;AACvC,MAAM,cAAc,GAAc,SAAlC;;AACA,MAAI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,eAAvC,MAA4D,CAAC,CAAjE,EAAoE;AAChE,kBAAc,CAAC,aAAf,GAA+B,sCAAsC,CAAC,SAAS,CAAC,aAAX,CAArE;AACH;;AACD,SAAO,cAAP;AACH;;AA8FG;;AA5FJ,SAAS,eAAT,CAAyB,MAAzB,EAAwC;AACpC,SAAQ,MAAM,IAAI,OAAO,MAAP,KAAkB,QAA5B,IAAwC,MAAM,CAAC,IAAP,GAAc,UAAd,CAAyB,GAAzB,CAAzC,IAA2E,KAAlF;AACH;;AA4FG,0C,CA1FJ;AACA;;AAEA;;;;;;;AAOG;;AACH,SAAS,qBAAT,CACI,UADJ,EAEI,aAFJ,EAE+C;AAE3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAA1B;AACA,SAAO,iBAAiB,CAAC,KAAlB,CACH,UAAC,UAAD;AAAA,WACK,aAAa,CAAC,UAAD,CAAb,KAA8B,SAA9B,IAA2C,UAAU,CAAC,UAAD,CAAV,KAA2B,SAAvE,IACC,aAAa,CAAC,UAAD,CAAb,KAA8B,SAA9B,IAA2C,UAAU,CAAC,UAAD,CAAV,KAA2B,SAF3E;AAAA,GADG,CAAP;AAKH;AAED;;AAEG;;;AACH,SAAS,oBAAT,CACI,UADJ,EAEI,aAFJ,EAE+C;AAE3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAAzB;AACA,SAAO,gBAAgB,CAAC,KAAjB,CACH,UAAC,SAAD;AAAA,WACI,eAAe,CAAC,aAAa,CAAC,SAAD,CAAd,CAAf,KAA8C,eAAe,CAAC,UAAU,CAAC,SAAD,CAAX,CADjE;AAAA,GADG,CAAP;AAIH;AAED;;;;;;;AAOG;;;AACH,SAAS,gBAAT,CACI,UADJ,EAEI,UAFJ,EAGI,OAHJ,EAG0B;AAEtB,SAAO,OAAO,CAAC,IAAR,CAAa,UAAC,MAAD,EAAoB;AACpC,QAAM,aAAa,GAAG,aAAI,MAAJ,EAAY,CAAC,OAAD,EAAU,SAAV,CAAZ,EAAkC,EAAlC,CAAtB;AACA,QAAM,aAAa,GAAG,aAAI,MAAJ,EAAY,CAAC,OAAD,EAAU,SAAV,CAAZ,EAAkC,EAAlC,CAAtB;AACA,QAAM,iBAAiB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAA1B;AACA,QAAM,gBAAgB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAAzB,CAJoC,CAMpC;AACA;;AACA,QAAI,iBAAiB,CAAC,MAAlB,KAA6B,CAA7B,IAAkC,gBAAgB,CAAC,MAAjB,KAA4B,CAAlE,EAAqE,OAAO,KAAP;AAErE,WACI,qBAAqB,CAAC,UAAD,EAAa,aAAb,CAArB,IACA,oBAAoB,CAAC,UAAD,EAAa,aAAb,CAFxB;AAIH,GAdM,CAAP;AAeH;;AA0BG;AAnBJ;;;;;AAKG;;AACH,SAAS,uBAAT,CAAiC,kBAAjC,EAA2D;AACvD,SAAO,eAAM,CAAN,EAAS,kBAAkB,GAAG,CAA9B,EAAiC,GAAjC,CACH,UAAC,CAAD;AAAA,WAAyB;AACrB,WAAK,YAAK,CAAL,gBAAY,CAAC,GAAG,CAAJ,GAAQ,GAAR,GAAc,EAA1B,SAA+B,IAAI,MAAJ,CAAW,CAAX,CAA/B,MADgB;AAErB,WAAK,EAAE;AAFc,KAAzB;AAAA,GADG,CAAP;AAMH;;AAOG,0D;;;;;;ACnMJ,kE;;;;;;ACAA,kE;;;;;;ACAA,qE;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAcA,IAAM,IAAI,GAAG,4BAAO,GAAP,CAAW,KAAX,CAA4B;AAAA,MAAG,KAAH,QAAG,KAAH;AAAA,SAAgB;AACrD,SAAK,EAAE;AACH,WAAK,EAAE,aAAK,KAAL;AADJ;AAD8C,GAAhB;AAAA,CAA5B,CAAH;AAAA;AAAA;AAAA,kDAMc,UAAC,KAAD;AAAA,SACf,qBAAQ,KAAK,CAAC,eAAd,KAAkC,KAAK,CAAC,eAAzC,IAA6D,KAAK,CAAC,KAAN,CAAY,sBADzD;AAAA,CANd,CAAV,C,CAgBA;;AACA,IAAM,WAAW,GAAG,4BAAO,GAAP,CAAW,KAAX,CAAmC;AAAA,MAAG,KAAH,SAAG,KAAH;AAAA,MAAU,MAAV,SAAU,MAAV;AAAA,SAEjD;AACF,SAAK,kCACG,KAAK,IAAI;AAAE,WAAK,EAAE,aAAK,KAAL;AAAT,KADZ,GAEG,MAAM,IAAI;AAAE,YAAM,EAAE,aAAK,MAAL;AAAV,KAFb;AADH,GAFiD;AAAA,CAAnC,CAAH;AAAA;AAAA;AAAA,4FAYO,UAAC,KAAD;AAAA,SACf,qBAAQ,KAAK,CAAC,eAAd,KAAkC,KAAK,CAAC,eAAzC,IAA6D,KAAK,CAAC,KAAN,CAAY,sBADzD;AAAA,CAZP,CAAjB;AAgBA,IAAM,WAAW,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,sDAAjB;AAMA,IAAM,kBAAkB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,sEAAxB;;AAaA,IAAM,sBAAsB,GAAG,SAAzB,sBAAyB,CAC3B,GAD2B,EAEH;AACxB,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,KAAD,EAAiC;AAAA,QAChD,KADgD,GACb,KADa,CAChD,KADgD;AAAA,QACzC,MADyC,GACb,KADa,CACzC,MADyC;AAAA,QACjC,eADiC,GACb,KADa,CACjC,eADiC;;AAGxD,QAAI,CAAC,MAAL,EAAa;AACT,aACI,oBAAC,IAAD,EAAK;AAAA,qBAAW,MAAX;AAAkB,aAAK,EAAE,KAAzB;AAAgC,uBAAe,EAAE;AAAjD,OAAL,EACI,oBAAC,WAAD,EAAY,IAAZ,EACI,oBAAC,GAAD,EAAI,kBAAK,KAAL,CAAJ,CADJ,CADJ,CADJ;AAOH;;AACD,WACI,oBAAC,WAAD,EAAY;AAAA,mBACE,eADF;AAER,WAAK,EAAE,KAFC;AAGR,YAAM,EAAE,MAHA;AAIR,qBAAe,EAAE;AAJT,KAAZ,EAMI,oBAAC,kBAAD,EAAmB,IAAnB,EACI,oBAAC,0BAAD,EAAiB,IAAjB,EACK;AAAA,UAAU,QAAV,SAAG,KAAH;AAAA,UAA4B,SAA5B,SAAoB,MAApB;AAAA,aACG,oBAAC,GAAD,EAAI,kBAAK,KAAL,EAAU;AAAE,aAAK,EAAE,QAAT;AAAmB,cAAM,EAAE;AAA3B,OAAV,CAAJ,CADH;AAAA,KADL,CADJ,CANJ,CADJ;AAgBH,GA5BD;;AA6BA,oBAAkB,CAAC,WAAnB,GAAiC,wBAAjC;AACA,SAAO,kBAAP;AACH,CAlCD;;AAoCA,kBAAe,sBAAf,C;;;;;;AC1GA,gE;;;;;;ACAA,sE;;;;;;;ACAA,+D;;;;;;ACAA,2E;;;;;;;;ACAA,sE;;;;;;;ACAA,0D;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AAQa,8BAAsB,CAAC,CAAC,KAAF,CAAQ;AACvC,gBAAc,EAAE,CAAC,CAAC,MADqB;AAEvC,gBAAc,EAAE,CAAC,CAAC,KAAF,CAAQ,0BAAR,CAFuB;AAGvC,QAAM,EAAE,CAAC,CAAC;AAH6B,CAAR,CAAtB;;AAMN,IAAM,gBAAgB,GAAG,SAAnB,gBAAmB,OAAyE;AAAA,MAAtE,aAAsE,QAAtE,aAAsE;AAAA,MAAvD,qBAAuD,QAAvD,qBAAuD;AACrG,MAAI,cAAJ;AACA,MAAI,cAAJ;AAEA,MAAM,cAAc,GAAG;AACnB,OAAG,EAAE,MADc;AAEnB,QAAI,EAAE,KAFa;AAGnB,QAAI,EAAE;AAHa,GAAvB;AAMA,MAAI,MAAJ;;AACA,MAAI,oBAAW,qBAAX,CAAJ,EAAuC;AACnC,QAAI,aAAa,IAAI,aAAI,aAAJ,EAAmB,MAAnB,CAArB,EAAiD;AAC7C,oBAAc,GAAG,MAAM,CAAC,IAAP,CAAY,aAAa,CAAC,IAA1B,EAAgC,KAAhC,EAAjB;AACA,oBAAc,GAAG,aAAa,CAAC,IAAd,CAAmB,cAAnB,CAAjB;AACH,KAJkC,CAMnC;;;AACA,UAAM,GAAG,gBAAC,CAAD,SAAkC;AAAA,UAA5B,OAA4B,SAA5B,OAA4B;AAAA,UAAnB,OAAmB,SAAnB,OAAmB;;AACvC,UAAI,OAAO,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,YAAM,WAAW,GAAG,aAAI,cAAJ,EAAoB,OAApB,IAA+B,cAAc,CAAC,OAAD,CAA7C,GAAyD,MAA7E;AACA,6BAAqB,iCACd,aADc,GAEd;AAAE,gBAAM,EAAE,CAAV;AAAa,cAAI,sBAAK,OAAL,EAAe,WAAf;AAAjB,SAFc,EAArB;AAIH,OAND,MAMO;AACH,6BAAqB,CAAC,aAAD,CAArB;AACH;AACJ,KAVD;AAWH;;AAED,SAAO;AACH,kBAAc,EAAd,cADG;AAEH,kBAAc,EAAd,cAFG;AAGH,UAAM,EAAN;AAHG,GAAP;AAKH,CApCM;;AAAM,2BAAgB,gBAAhB,C;;;;;;;;;;;;;;AChBb;;AACA;;AAca,mCAA2B,CAAC,CAAC,KAAF,CAAQ;AAC5C,UAAQ,EAAE,CAAC,CAAC,IADgC;AAE5C,SAAO,EAAE,CAAC,CAAC,MAFiC;AAG5C,YAAU,EAAE,CAAC,CAAC,MAH8B;AAI5C,UAAQ,EAAE,CAAC,CAAC;AAJgC,CAAR,CAA3B;;AAON,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,OAIG;AAAA,MAHlC,aAGkC,QAHlC,aAGkC;AAAA,MAFlC,IAEkC,QAFlC,IAEkC;AAAA,MADlC,qBACkC,QADlC,qBACkC;AAClC,MAAM,UAAU,GAAI,IAAI,IAAI,IAAI,CAAC,UAAd,IAA6B,CAAhD;AACA,MAAM,MAAM,GAAI,aAAa,IAAI,aAAa,CAAC,MAAhC,IAA2C,CAA1D;AACA,MAAM,KAAK,GAAG,aAAa,IAAI,aAAa,CAAC,KAA7C;AACA,MAAM,UAAU,GAAG,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,GAAG,CAArC,GAAyC,IAAI,CAAC,IAAL,CAAU,UAAU,GAAG,KAAvB,CAAzC,GAAyE,CAA5F;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,GAAG,CAArC,GAAyC,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,KAApB,IAA6B,CAAtE,GAA0E,CAA1F;AACA,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAb,IAAkB,oBAAW,qBAAX,CAAnC;;AAEA,MAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,CAAD,SAAuD;AAAA,QAAjD,IAAiD,SAAjD,IAAiD;AAAA,QAApC,QAAoC,SAA3C,KAA2C;AAC3E,QAAM,SAAS,GAAkB,mBAAU,aAAV,CAAjC;;AAEA,QAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,eAAS,CAAC,KAAV,GAAkB,QAAlB;AACA,eAAS,CAAC,MAAV,GAAmB,CAAnB;AACH;;AAED,QAAM,SAAS,GAAG,OAAO,SAAS,CAAC,KAAjB,KAA2B,QAA3B,GAAsC,SAAS,CAAC,KAAhD,GAAwD,EAA1E;;AACA,QAAI,OAAO,IAAP,KAAgB,QAAhB,IAA4B,IAAI,GAAG,CAAvC,EAA0C;AACtC,eAAS,CAAC,KAAV,GAAkB,SAAlB;AACA,eAAS,CAAC,MAAV,GAAmB,CAAC,IAAI,GAAG,CAAR,IAAa,SAAhC;AACH;;AAED,yBAAqB,CAAC,SAAD,CAArB;AACH,GAfD;;AAiBA,SAAO;AACH,YAAQ,EAAR,QADG;AAEH,WAAO,EAAP,OAFG;AAGH,cAAU,EAAV,UAHG;AAIH,YAAQ,EAAE,oBAAW,qBAAX,IAAoC,eAApC,GAAsD;AAJ7D,GAAP;AAMH,CAnCM;;AAAM,8BAAmB,mBAAnB,C;;;;;;;;;;;;;;ACtBb;;AACA;;AACA;;AACA;;AACA;;AAEA;AAEA;;;;;AAKG;;;AACI,IAAM,yBAAyB,GAAG,SAA5B,yBAA4B,CACrC,WADqC,EAG5B;AAAA,MADT,OACS,uEADC,KACD;AACT,MAAM,IAAI,GAAG,aAAI,WAAJ,EAAiB,yBAAjB,EAA4C,SAA5C,CAAb;AACA,MAAM,MAAM,GAAG,IAAI,KAAK,SAAxB;AACA,MAAM,MAAM,GAAG,aAAI,WAAJ,EAAiB,wBAAjB,EAA2C,SAA3C,CAAf;AACA,MAAM,QAAQ,GAAG,MAAM,KAAK,SAA5B;AACA,SAAO,OAAO,IAAI,MAAX,IAAqB,QAA5B;AACH,CATM;;AAAM,oCAAyB,yBAAzB;AAkBb,IAAM,SAAS,GAAyD;AACpE,MAAI,EAAE,CAAC,CAAC,IAD4D;AAEpE,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAF6D;AAGpE,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAH4D;AAIpE,iBAAe,EAAE,CAAC,CAAC;AAJiD,CAAxE;AAOA;;;;AAIG;;AACH,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAAoD;AAAA,MAChE,KADgE,GACxC,KADwC,CAChE,KADgE;AAAA,MACzD,MADyD,GACxC,KADwC,CACzD,MADyD;AAAA,MACjD,IADiD,GACxC,KADwC,CACjD,IADiD;;AAExE,MAAI,IAAJ,EAAU;AACN,WAAO,KAAK,CAAC,aAAN,CAAoB,IAApB,EAA0B;AAC7B,WAAK,EAAE;AACH,YAAI,EAAE,KADH;AAEH,WAAG,EAAE,KAFF;AAGH,aAAK,EAAE,MAHJ;AAIH,gBAAQ,EAAE,UAJP;AAKH,iBAAS,EAAE;AALR,OADsB;AAQ7B,WAAK,EAAE,KARsB;AAS7B,YAAM,EAAE;AATqB,KAA1B,CAAP;AAWH;;AAED,SAAO,oBAAC,iBAAD,EAAQ;AAAC,SAAK,EAAE,KAAR;AAAe,UAAM,EAAE,MAAvB;AAA+B,SAAK,EAAC,SAArC;AAA+C,WAAO,EAAE,SAAE,yBAAF;AAAxD,GAAR,CAAP;AACH,CAjBD;;AAmBA,eAAe,CAAC,SAAhB,GAA4B,SAA5B;AACA,eAAe,CAAC,YAAhB,GAA+B;AAC3B,OAAK,EAAE,MADoB;AAE3B,QAAM,EAAE;AAFmB,CAA/B;AAKA,kBAAe,6BAAuB,eAAvB,CAAf,C;;;;;;;;;;;;;ACrEA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,CAbD,EAAY,WAAW,GAAX,8CAAW,EAAX,CAAZ,E;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAIA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;AAcA;;;;AAIG;;;AACH,IAAM,gBAAgB,GAAG,SAAnB,gBAAmB,CAAC,IAAD,EAAgC;AAAA,MAC7C,QAD6C,GAC2B,IAD3B,CAC7C,QAD6C;AAAA,MACnC,SADmC,GAC2B,IAD3B,CACnC,SADmC;AAAA,8BAC2B,IAD3B,CACxB,eADwB;AAAA,MACxB,eADwB,sCACN,YAAK,CAAG,CADF;AAAA,MACI,kBADJ,GAC2B,IAD3B,CACI,kBADJ,EAGrD;;AACA,MAAM,iBAAiB,GAAG,mCAAmB,QAAnB,CAA1B;AACA,MAAM,cAAc,GAAG,0CAAwB,SAAS,CAAC,aAAlC,EAAiD,SAAjD,CAAvB;;AAEA,MAAM,YAAY,GAAG,SAAf,YAAe,CAAC,KAAD,EAAoE;AAAA,QAEjF,IAFiF,GAajF,KAbiF,CAEjF,IAFiF;AAAA,QAGjF,gBAHiF,GAajF,KAbiF,CAGjF,gBAHiF;AAAA,QAIjF,WAJiF,GAajF,KAbiF,CAIjF,WAJiF;AAAA,QAKjF,OALiF,GAajF,KAbiF,CAKjF,OALiF;AAAA,yBAajF,KAbiF,CAMjF,OANiF;AAAA,QAMjF,OANiF,+BAMvE,EANuE;AAAA,QAOjF,KAPiF,GAajF,KAbiF,CAOjF,KAPiF;AAAA,QAQjF,MARiF,GAajF,KAbiF,CAQjF,MARiF;AAAA,QASjF,eATiF,GAajF,KAbiF,CASjF,eATiF;AAAA,QAUjF,cAViF,GAajF,KAbiF,CAUjF,cAViF;AAAA,QAWjF,KAXiF,GAajF,KAbiF,CAWjF,KAXiF;AAAA,QAYjF,qBAZiF,GAajF,KAbiF,CAYjF,qBAZiF;;AAerF,QAAM,SAAS,GAAG,SAAZ,SAAY,SAAQ,EAAG;AAAA;;AAAC,kCAAS,CAAC,MAAV,EAAiB,QAAjB,OAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,YAAG,KAAH,CAA1B;AAAmC,KAAjE;;AACA,QAAM,gBAAgB,GAAG,SAAS,CAAC,wBAAD,CAAlC;;AAhBqF,gCAqBjF,qCAA2B;AAAE,WAAK,EAAL;AAAF,KAA3B,CArBiF;AAAA,QAkBzE,kBAlByE,yBAkBjF,MAlBiF;AAAA,QAmBpE,uBAnBoE,yBAmBjF,WAnBiF;AAAA,QAoBxE,mBApBwE,yBAoBjF,OApBiF;;AAuBrF,QAAI,gBAAgB,GAAS,EAA7B,CAvBqF,CAuBpD;;AACjC,oBAAgB,GAAG,0BAAY,YAA8B;AACzD,UAAI;AACA,eAAO,kBAAK,QAAL,CACH;AACI,iBAAO,EAAE,sBAAa,EAAb,EAAiB,OAAjB,EAA0B,SAAS,CAAC,cAApC,CADb;AAEI,iBAAO,EAAE,uCAA4B,EAA5B,EAAgC,OAAhC,EAAyC,cAAzC;AAFb,SADG,EAKH,WALG,EAMH,SANG,CAAP;AAQH,OATD,CASE,OAAO,CAAP,EAAU;AACR,eAAO,CAAC,KAAR,mDAAyD,CAAC,CAAC,OAA3D;AACA,eAAO,EAAP;AACH;AACJ,KAdkB,EAchB,CAAC,kBAAD,EAAqB,uBAArB,EAA8C,mBAA9C,EAAmE,OAAnE,EAA4E,OAA5E,EAAqF,WAArF,CAdgB,CAAnB,CAxBqF,CAwCrF;AACA;;AACA,SAAK,CAAC,SAAN,CAAgB,YAAW;AACvB,qBAAe,CAAC,gBAAD,CAAf;AACH,KAFD,EA1CqF,CA8CrF;;AA9CqF,gCA+C5C,SA/C4C,CA+C7E,aA/C6E;AAAA,QA+C7E,aA/C6E,sCA+C7D,EA/C6D;AAAA,QA+CzD,QA/CyD,GA+C5C,SA/C4C,CA+CzD,QA/CyD;AAgDrF,QAAM,OAAO,GAAG,kCAAY,aAAZ,EAA2B,gBAA3B,CAAhB;;AACA,QAAI,OAAO,CAAC,MAAR,GAAiB,CAAjB,IAAsB,QAAQ,CAAC,QAAT,CAAkB,0BAAY,WAA9B,CAA1B,EAAsE;AAClE,aACI,oBAAC,6BAAD,EAAoB;AAAA,qBACN,uBADM;AAEhB,aAAK,EAAE,KAFS;AAGhB,cAAM,EAAE,MAHQ;AAIhB,oBAAY,EAAE,OAJE;AAKhB,uBAAe,EAAE;AALD,OAApB,CADJ;AASH,KA3DoF,CA6DrF;;;AACA,QAAM,kBAAkB,GAAG,EAA3B;;AACA,QAAI,gBAAgB,IAAI,IAAI,KAAK,MAA7B,IAAuC,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,MAAvC,IAAiD,CAAC,CAA7F,EAAgG;AAC5F,UAAM,eAAe,GAAG,SAAS,CAAC,MAAlC;AACA,YAAM,CAAC,IAAP,CAAY,eAAZ,EAA6B,OAA7B,CAAqC,UAAC,SAAD,EAAoB;AACrD,YAAM,qBAAqB,GAAG,gCAAgB,SAAhB,EAA9B;AACA,0BAAkB,CAAC,qBAAD,CAAlB,GAA4C,IAA5C,CAFqD,CAGrD;AACA;;AAJqD,YAK7C,WAL6C,GAK7B,eAAe,CAAC,SAAD,CALc,CAK7C,WAL6C;AAMrD,YAAI,OAAO,GAAG,EAAd;;AACA,YAAI,KAAK,CAAC,OAAN,CAAc,WAAd,KAA8B,WAAW,CAAC,MAA9C,EAAsD;AAClD,qBAAW,CAAC,OAAZ,CAAoB,WAAC;AAAA,mBAAK,OAAO,CAAC,CAAD,CAAP,GAAa,gBAAgB,CAAC,CAAD,CAAlC;AAAA,WAArB;AACH;;AAED,0BAAkB,CAAC,qBAAD,CAAlB,GAA4C,UAAC,EAAD,EAAgC;AACxE,cAAI,EAAE,IAAI,EAAE,CAAC,OAAb,EAAsB;AAClB,mBAAO,GAAG,EAAE,CAAC,OAAb;AACH;;AAED,iBAAO,cAAc,CAAC;AAAE,yBAAa,EAAE,EAAjB;AAAqB,mBAAO,EAAP,OAArB;AAA8B,gBAAI,EAAE;AAApC,WAAD,CAArB;AACH,SAND;AAOH,OAlBD;AAmBH,KApFoF,CAqFrF;;;AACA,QAAM,gBAAgB,GAAG,eAAe,6DACjC,KADiC,GAEjC,gBAFiC,GAGjC,kBAHiC,GAGf;AACrB,eAAS,EAAT;AADqB,KAHe,EAAxC;AAOA;;;;;;;;;;;;;AAaG;;AACH,QAAI,kBAAkB,GAAG,EAAzB;AACA,QAAM,SAAS,GAAG,uBAAlB;AACA,QAAM,qBAAqB,GACtB,aAAI,gBAAJ,EAAsB,SAAtB,KAAoC,gBAAgB,CAAC,SAAD,CAArD,IAAqE,SADzE;;AAEA,QACI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,aAAvC,IAAwD,CAAC,CAAzD,IACA,aAAI,WAAJ,EAAiB,qBAAjB,CAFJ,EAGE;AACE,UAAM,aAAa,GAAG,aAAI,WAAJ,EAAiB,CAAC,qBAAD,EAAwB,eAAxB,CAAjB,EAA2D,EAA3D,CAAtB;AACA,UAAM,IAAI,GAAG,aAAI,WAAJ,EAAiB,CAAC,qBAAD,EAAwB,MAAxB,CAAjB,EAAkD,EAAlD,CAAb;;AACA,UAAM,yBAAyB,GAAG,SAA5B,yBAA4B,CAAC,OAAD;AAAA,eAC9B,qBAAqB,CAAC,qBAAD,EAAwB,OAAxB,CADS;AAAA,OAAlC;;AAGA,UAAM,UAAU,GAAG,8BAAiB;AAChC,qBAAa,EAAb,aADgC;AAEhC,YAAI,EAAJ,IAFgC;AAGhC,6BAAqB,EAAE;AAHS,OAAjB,CAAnB;AAMA,UAAM,eAAe,GAAG,oCAAoB;AACxC,qBAAa,EAAb,aADwC;AAExC,YAAI,EAAJ,IAFwC;AAGxC,6BAAqB,EAAE;AAHiB,OAApB,CAAxB;AAMA,wBAAkB,GAAG;AACjB,kBAAU,EAAV,UADiB;AAEjB,uBAAe,EAAf;AAFiB,OAArB;AAIH;;AAED,WACI,oBAAC,iBAAD,EAAkB;AACd,UAAI,EAAE,IADQ;AAEd,WAAK,EAAE,KAFO;AAGd,YAAM,EAAE;AAHM,OAIV,gBAJU,EAKV,gBALU,EAMV,kBANU,EAOV,kBAPU,CAAlB,CADJ;AAWH,GArJD;;AAuJA,cAAY,CAAC,SAAb,GAAsB,gCACf,8BAAoB,SADL,GAEf,QAAQ,CAAC,SAFM,CAAtB;AAKA,cAAY,CAAC,YAAb,GAAyB,8CAClB,8BAAoB,YADF,GAElB,QAAQ,CAAC,YAFS,GAEG;AACxB;AACA,SAAK,EAAE;AAFiB,GAFH,CAAzB,CAnKqD,CAyKrD;;AACA,cAAY,CAAC,MAAb,GAAsB,SAAtB,CA1KqD,CA4KrD;;AACA,SAAO,8BAAU,0BAAgB,4BAAkB,YAAlB,CAAhB,EAAiD,kBAAjD,CAAV,CAAP;AACH,CA9KD;;AAgLA,kBAAe,gBAAf,C;;;;;;ACxNA,sE;;;;;;ACAA,mE;;;;;;ACAA,wE;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AAEA,iD,CAEA;;;AACa,wBAAgB,GAAhB;AACA,yBAAiB,GAAjB;AAEb;;AAEG;;IACG,mB;;;;AACK,gCAA+D;AAClE;;AAEG;AACH,MAAI,EAAE,CAAC,CAAC,KAAF,CAAQ,CAAC,MAAD,EAAS,MAAT,EAAiB,QAAjB,CAAR,EAAoC,UAJwB;;AAKlE;;AAEG;AACH,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,EAAkC,UARyB;;AASlE;;AAEG;AACH,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,EAAkC,UAZwB;;AAalE;;AAEG;AACH,SAAO,EAAE,CAAC,CAAC,MAhBuD;;AAiBlE;;AAEG;AACH,SAAO,EAAE,CAAC,CAAC,MApBuD;;AAqBlE;;AAEG;AACH,iBAAe,EAAE,CAAC,CAAC,IAxB+C;;AAyBlE;;AAEG;AACH,aAAW,EAAE,CAAC,CAAC,QAAF,CACT,CAAC,CAAC,KAAF,CAAQ;AACJ;;AAEG;AACH,iBAAa,EAAE,CAAC,CAAC,MAJb;;AAKJ;;AAEG;AACH,QAAI,EAAE,CAAC,CAAC,KAAF,CAAQ;AACV,YAAM,EAAE,CAAC,CAAC,KADA;AAEV,aAAO,EAAE,CAAC,CAAC;AAFD,KAAR,CARF;;AAYJ;;AAEG;AACH,SAAK,EAAE,CAAC,CAAC,KAAF,CAAQ;AACX,WAAK,EAAE,CAAC,CAAC,MADE;AAEX,aAAO,EAAE,CAAC,CAAC;AAFA,KAAR,CAfH;;AAmBJ;;AAEG;AACH,QAAI,EAAE,CAAC,CAAC;AAtBJ,GAAR,CADS,CA5BqD;;AAsDlE;;AAEG;AACH,gBAAc,EAAE,CAAC,CAAC,IAzDgD;;AA0DlE;;AAEG;AACH,kBAAgB,EAAE,CAAC,CAAC,IA7D8C;;AA8DlE;;AAEG;AACH,iBAAe,EAAE,CAAC,CAAC,IAjE+C;;AAkElE;;AAEG;AACH,qBAAmB,EAAE,CAAC,CAAC,IArE2C;AAuElE,SAAO,EAAE,CAAC,CAAC,IAvEuD;AAwElE,OAAK,EAAE,CAAC,CAAC,MAxEyD;;AAyElE;;AAEG;AACH,uBAAqB,EAAE,CAAC,CAAC;AA5EyC,CAA/D;AA8EP;;AAEG;;AACI,mCAAkC;AACrC;AACA,OAAK,EAAE,MAF8B;AAGrC,QAAM,EAAE,sBAH6B;AAIrC,aAAW,EAAE,EAJwB;AAKrC,gBAAc,EAAE;AAAA,WAAgC,EAAhC;AAAA,GALqB;AAMrC,MAAI,EAAE,MAN+B;AAOrC,kBAAgB,EAAE,KAPmB;AAQrC,SAAO,EAAE,EAR4B;AASrC,SAAO,EAAE,EAT4B;AAUrC,iBAAe,EAAE;AAAA,WAAgC,EAAhC;AAAA,GAVoB;AAWrC,qBAAmB,EAAE;AAAA,WAA+B,IAAI,0CAAJ,EAA/B;AAAA,GAXgB;AAYrC,iBAAe,EAAE;AAAA,WAAgC,EAAhC;AAAA,GAZoB;AAarC,SAAO,EAAE,KAb4B;AAcrC,uBAAqB,EAAE;AAdc,CAAlC;AAkBX,kBAAe,mBAAf,C;;;;;;;;;;;;;;;;;;ICrGa,uB;;;;;;;WACT,iBAAK,CACD;AACH;;;WAED,oBAAQ;AACJ,aAAO,IAAP,CADI,CACS;AAChB;;;;;;AAPL,0D;;;;;;;;;;;;;ACIa,wBAAgB,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAAhB,C;;;;;;;;;;;;;;AChBb;;AACA;AAEA;;;;;;;;;;;;AAYG;;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CACvB,EADuB,EAEvB,YAFuB,EAGT;AACd,MAAM,GAAG,GAAG,gBAAZ;;AACA,MAAI,CAAC,GAAG,CAAC,OAAL,IAAgB,CAAC,iBAAQ,YAAR,EAAsB,GAAG,CAAC,OAAJ,CAAY,YAAlC,CAArB,EAAsE;AAClE,OAAG,CAAC,OAAJ,GAAc;AACV,kBAAY,EAAZ,YADU;AAEV,WAAK,EAAE,EAAE;AAFC,KAAd;AAIH;;AACD,SAAO,GAAG,CAAC,OAAJ,CAAY,KAAnB;AACH,CAZM;;AAAM,sBAAW,WAAX,C;;;;;;;;;;;;;;ACfb;;AAIO,IAAM,uBAAuB,GAAG,SAA1B,uBAA0B,CACnC,aADmC;AAAA,MAEnC,SAFmC,uEAEvB,SAFuB;AAAA,SAInC,MAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,MAA3B,CAAkC,UAAC,KAAD,EAAiC,CAAjC,EAA+D;AAC7F,QAAI,aAAI,aAAa,CAAC,CAAD,CAAjB,EAAsB,SAAtB,CAAJ,EAAsC;AAClC,WAAK,CAAC,CAAD,CAAL,GAAW,aAAa,CAAC,CAAD,CAAb,CAAiB,SAAjB,CAAX;AACH,KAFD,MAEO,IAAI,aAAI,aAAJ,EAAmB,CAAC,CAAD,EAAI,MAAJ,CAAnB,MAAoC,QAApC,IAAgD,aAAI,aAAa,CAAC,CAAD,CAAjB,EAAsB,YAAtB,CAApD,EAAyF;AAC5F,UAAM,YAAY,GAAG,gCAAwB,aAAa,CAAC,CAAD,CAAb,CAAiB,UAAzC,EAAqD,SAArD,CAArB;;AACA,UAAI,CAAC,iBAAQ,YAAR,CAAL,EAA4B;AACxB,aAAK,CAAC,CAAD,CAAL,GAAW,YAAX;AACH;AACJ;;AACD,WAAO,KAAP;AACH,GAVD,EAUG,EAVH,CAJmC;AAAA,CAAhC;;AAAM,kCAAuB,uBAAvB,C;;;;;;;;;;;;;;ACLb;;AACA;;AACA;;AACA;;AACA;AAEA;;;;AAIG;;;AACI,IAAM,SAAS,GAAG,SAAZ,SAAY,CAAC,CAAD,EAAe;AACpC,SAAO,CAAC,KAAK,IAAN,IAAc,CAAC,KAAK,SAA3B;AACH,CAFM;;AAAM,oBAAS,SAAT;AAIb;;;;;AAKG;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAAiB,MAAjB;AAAA,SACvB,IAAI,CAAC,MAAL,CAAY,WAAC;AAAA,WAAI,kBAAU,MAAM,CAAC,CAAD,CAAhB,CAAJ;AAAA,GAAb,CADuB;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAUb,IAAM,SAAS,GAAsD;AACjE,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAD0D;AAEjE,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAFyD;AAGjE,iBAAe,EAAE,CAAC,CAAC,MAH8C;AAIjE,cAAY,EAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ;AAJmD,CAArE;AAOA;;;;AAIG;;AACI,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,CAAC,KAAD,EAAiD;AAAA,MACxE,KADwE,GACxC,KADwC,CACxE,KADwE;AAAA,MACjE,MADiE,GACxC,KADwC,CACjE,MADiE;AAAA,MACzD,YADyD,GACxC,KADwC,CACzD,YADyD;AAEhF,SACI,oBAAC,iBAAD,EAAQ;AAAA,iBACM,SADN;AAEJ,SAAK,EAAE,KAFH;AAGJ,UAAM,EAAE,MAHJ;AAIJ,WAAO,EAAE,qCAAuB,YAAY,CAAC,IAAb,CAAkB,IAAlB,CAAvB;AAJL,GAAR,CADJ;AAQH,CAVM;;AAAM,8BAAmB,mBAAnB;AAYb,4BAAoB,SAApB,GAAgC,SAAhC;AACA,4BAAoB,YAApB,GAAmC;AAC/B,OAAK,EAAE,MADwB;AAE/B,QAAM,EAAE;AAFuB,CAAnC;AAIA,kBAAe,6BAAuB,2BAAvB,CAAf,C;;;;;;;;;;;;;AC5DA;;AACA;;AAGA;;AAEA,IAAM,KAAK,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,wDAAX;AAQA,IAAM,OAAO,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,iDAAb;AAMA;;;;;AAKG;;AACH,IAAM,iBAAiB,GAAG,SAApB,iBAAoB,CAAC,aAAD,EAAoD;AAC1E,MAAM,OAAO,GAAG,SAAV,OAAU,CAAC,KAAD,EAAoE;AAAA,QACxE,IADwE,GAC/D,KAD+D,CACxE,IADwE;AAEhF,WACI,oBAAC,OAAD,EAAQ,IAAR,EACI,oBAAC,aAAD,EAAc,kBAAK,KAAL,CAAd,CADJ,EAEK,IAAI,KAAK,MAAT,IAAmB,oBAAC,KAAD,EAAM;AAAA,mBAAW;AAAX,KAAN,CAFxB,CADJ;AAMH,GARD;;AASA,sCAAyB;AAAE,WAAO,EAAP,OAAF;AAAW,iBAAa,EAAb;AAAX,GAAzB;AACA,SAAO,OAAP;AACH,CAZD;;AAcA,kBAAe,iBAAf,C;;;;;;;;;;;;;ACxCA;;AACA;;AACA;;AACA;;AAIA;;AAQA,IAAM,eAAe,GAAG,SAAlB,eAAkB,CACpB,aADoB,EAGH;AAAA,MADjB,kBACiB,uEADwB,2CACxB;AAAA,MACT,MADS,GACE,aADF,CACT,MADS;AAAA,MAET,MAFS,GAEE,MAFF,CAET,MAFS;;AAIjB,MAAM,OAAO,GAAG,SAAV,OAAU,CAAC,KAAD,EAAoE;;;AAAA,QACxE,WADwE,GACvB,KADuB,CACxE,WADwE;AAAA,QAC3D,OAD2D,GACvB,KADuB,CAC3D,OAD2D;AAAA,QAClD,OADkD,GACvB,KADuB,CAClD,OADkD;AAAA,QACzC,MADyC,GACvB,KADuB,CACzC,MADyC;AAAA,QACjC,KADiC,GACvB,KADuB,CACjC,KADiC;AAGhF,QAAM,eAAe,GAAG,kBAAkB,CAAC,WAAD,EAAc,OAAd,EAAuB,OAAvB,CAA1C;AACA,QAAM,gBAAgB,GAAG,qBAAQ,OAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAE,eAAjB,IACnB,OAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAE,eADU,GAEnB,YAAM,SAAN,UAAM,WAAN,GAAM,MAAN,SAAM,CAAE,sBAAR,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,QAA9B,MAA8B,EAAG,KAAH,CAFpC;;AAIA,QAAI,MAAM,CAAC,QAAP,CAAgB,QAAhB,CAAyB,0BAAY,WAArC,KAAqD,eAAzD,EAA0E;AACtE,aACI,oBAAC,yBAAD,EAAgB;AAAA,qBACF,kBADE;AAEZ,YAAI,EAAE,MAAM,CAAC,IAFD;AAGZ,aAAK,EAAE,KAHK;AAIZ,cAAM,EAAE,MAJI;AAKZ,uBAAe,EAAE;AALL,OAAhB,CADJ;AASH;;AAED,WAAO,oBAAC,aAAD,EAAc,kBAAK,KAAL,CAAd,CAAP;AACH,GArBD;;AAsBA,sCAAyB;AAAE,WAAO,EAAP,OAAF;AAAW,iBAAa,EAAb;AAAX,GAAzB;AACA,SAAO,OAAP;AACH,CA/BD;;AAiCA,kBAAe,eAAf,C;;;;;;;AChDA,qE;;;;;;ACAA,iE;;;;;;ACAA,wD;;;;;;;;;;;;;;ACAA;;AASA,IAAM,UAAU,GAA+E,SAAzF,UAAyF;AAAA,MAC3F,MAD2F,QAC3F,MAD2F;AAAA,MAE3F,aAF2F,QAE3F,aAF2F;AAAA,SAGzF,CACF;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,iBAFZ;AAGI,UAAM,EAAE,cAHZ;AAII,eAAW,EAAE;AACT,mBAAa,EAAE,aAAa,IAAI,KADvB;AAET,YAAM,EAAN;AAFS;AAJjB,GADE,CAHyF;AAAA,CAA/F;;AAeA,kBAAe,UAAf,C;;;;;;;;;ACxBA,qC;;;;;;;;;;;;;ACAA,wF;;;;;;;ACAA;AAAA;AAAA;AAAA;AAEA,IAAMA,eAAe,GAAG,wDAAM,CAAN,UAAiB;AAAA,MAAGC,WAAH;AAAA,SAAsB;AAC3D,iBAAaA;AAD8C,GAAtB;AAApB,CAAG,EAAH,UAAG,CAAH;AAAA;AAAA;AAAA,CAAG,EAAH,2GAAG,EAQA,iBAAK;AAAA,SAAIC,KAAK,CAAT;AAR7B,CAAwB,CAAxB;AAWAF,eAAe,CAAfA;AAEA,gF;;;;;;;;ACfA,iE;;;;;;;;;;;;;;;;;ACAA,qC;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AACA;;AAEA;;AAEa,yBAA+B;AACxC,iBAAe,EAAE,SADuB;AAExC,eAAa,EAAE,SAFyB;AAGxC,SAAO,EAAE;AACL,eAAW,EAAE,qBADR;AAEL,mBAAe,EAAE,SAFZ;AAGL,YAAQ,EAAE;AAHL;AAH+B,CAA/B;AASA,8BAAsB,EAAtB;AACA,8BACT,wFADS;AAEA,6BAAqB,SAArB;AACA,6BAAqB,SAArB;AACA,+BAAuB,8CAAvB;AACA,+BAAuB,GAAvB;AACA,+BAAuB,CAAvB;AACA,2BAAmB,IAAnB;AACA,0BAAkB,GAAlB;AACA,2BAAmB,GAAnB;AACA,8BAAsB,GAAtB;AACA,+BAAuB,GAAvB;AACA,+BAAuB,CAAvB;AACA,+BAAuB,CAAvB;AACA,mCAA2B,CAA3B;AAsBb,IAAM,eAAe,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,8BAKf,eAAK;AAAA,SAAI,oBAAY,cAAK,KAAL,EAAY,CAAC,OAAD,EAAU,QAAV,CAAZ,CAAZ,CAAJ;AAAA,CALU,CAArB;;AAQA,IAAM,UAAU,GAAG,SAAb,UAAa,CAAC,KAAD,EAA2B;AAAA,MAEtC,KAFsC,GAkBtC,KAlBsC,CAEtC,KAFsC;AAAA,MAGtC,MAHsC,GAkBtC,KAlBsC,CAGtC,MAHsC;AAAA,MAItC,OAJsC,GAkBtC,KAlBsC,CAItC,OAJsC;AAAA,MAKtC,SALsC,GAkBtC,KAlBsC,CAKtC,SALsC;AAAA,MAMtC,SANsC,GAkBtC,KAlBsC,CAMtC,SANsC;AAAA,MAOtC,WAPsC,GAkBtC,KAlBsC,CAOtC,WAPsC;AAAA,MAQtC,WARsC,GAkBtC,KAlBsC,CAQtC,WARsC;AAAA,MAStC,YATsC,GAkBtC,KAlBsC,CAStC,YATsC;AAAA,MAUtC,UAVsC,GAkBtC,KAlBsC,CAUtC,UAVsC;AAAA,MAWtC,WAXsC,GAkBtC,KAlBsC,CAWtC,WAXsC;AAAA,MAYtC,cAZsC,GAkBtC,KAlBsC,CAYtC,cAZsC;AAAA,MAatC,eAbsC,GAkBtC,KAlBsC,CAatC,eAbsC;AAAA,MActC,aAdsC,GAkBtC,KAlBsC,CActC,aAdsC;AAAA,MAetC,eAfsC,GAkBtC,KAlBsC,CAetC,eAfsC;AAAA,MAgBtC,sBAhBsC,GAkBtC,KAlBsC,CAgBtC,sBAhBsC;AAAA,MAiBtC,kBAjBsC,GAkBtC,KAlBsC,CAiBtC,kBAjBsC;AAoB1C,MAAM,MAAM,GAAG;AACX,OAAG,EAAE,EADM;AAEX,SAAK,EAAE,EAFI;AAGX,UAAM,EAAE,EAHG;AAIX,QAAI,EAAE;AAJK,GAAf,CApB0C,CA0B1C;AACA;AACA;;AACA,MAAM,YAAY,GAAG;AAAE,KAAC,EAAE,EAAL;AAAS,KAAC,EAAE;AAAZ,GAArB;;AA7B0C,0BA+BJ,iBAAS,EAAT,CA/BI;AAAA;AAAA,MA+BnC,WA/BmC;AAAA,MA+BtB,cA/BsB;;AAAA,2BAgCJ,iBAAS,EAAT,CAhCI;AAAA;AAAA,MAgCnC,WAhCmC;AAAA,MAgCtB,cAhCsB;;AAAA,2BAiCJ,iBAAS,IAAT,CAjCI;AAAA;AAAA,MAiCnC,WAjCmC;AAAA,MAiCtB,cAjCsB;;AAAA,2BAkCU,iBAAS,IAAT,CAlCV;AAAA;AAAA,MAkCnC,kBAlCmC;AAAA,MAkCf,qBAlCe;;AAAA,2BAmCI,iBAAS,KAAT,CAnCJ;AAAA;AAAA,MAmCnC,eAnCmC;AAAA,MAmClB,kBAnCkB;;AAAA,4BAoCU,iBAAS,IAAT,CApCV;AAAA;AAAA,MAoCnC,kBApCmC;AAAA,MAoCf,qBApCe;;AAAA,4BAqCI,iBAAS,KAAT,CArCJ;AAAA;AAAA,MAqCnC,eArCmC;AAAA,MAqClB,kBArCkB;;AAsC1C,MAAM,sBAAsB,GAAG,eAAO,IAAP,CAA/B;;AAtC0C,4BAuCJ,iBAAS,8BAAsB,MAAM,CAAC,IAA7B,GAAoC,MAAM,CAAC,KAApD,CAvCI;AAAA;AAAA,MAuCnC,WAvCmC;AAAA,MAuCtB,cAvCsB;;AAAA,4BAwCF,iBAAS,+BAAuB,MAAM,CAAC,GAA9B,GAAoC,MAAM,CAAC,MAApD,CAxCE;AAAA;AAAA,MAwCnC,YAxCmC;AAAA,MAwCrB,eAxCqB;;AA0C1C,oBAAU,YAAK;AACX,QAAI,sBAAsB,IAAI,sBAAsB,CAAC,OAArD,EAA8D;AAC1D,UAAM,CAAC,GAAG,sBAAsB,CAAC,OAAvB,CAA+B,qBAA/B,GAAuD,KAAjE;AACA,UAAM,CAAC,GAAG,sBAAsB,CAAC,OAAvB,CAA+B,qBAA/B,GAAuD,MAAjE;AACA,UAAM,MAAM,GAAG,8BAAgB,KAAhB,IAAmC,QAAQ,CAAC,KAAD,CAA3C,GAA+D,CAA9E;AACA,UAAM,OAAO,GAAG,8BAAgB,MAAhB,IAAoC,QAAQ,CAAC,MAAD,CAA5C,GAAiE,CAAjF;AACA,oBAAc,CAAC,MAAM,GAAG,MAAM,CAAC,IAAhB,GAAuB,MAAM,CAAC,KAA/B,CAAd;AACA,qBAAe,CAAC,OAAO,GAAG,MAAM,CAAC,GAAjB,GAAuB,MAAM,CAAC,MAA/B,CAAf;AACH;AACJ,GATD,EASG,CAAC,KAAD,EAAQ,MAAR,CATH;AAWA,MAAM,UAAU,GAAG,6CACf,OADe,EAEf,4BAFe,EAGf,4BAHe,EAIf,gCAJe,EAKf,WALe,CAAnB;;AAOA,MAAI,CAAC,UAAD,IAAe,CAAC,OAAhB,IAA2B,CAAC,KAAK,CAAC,OAAN,CAAc,OAAd,CAA5B,IAAsD,OAAO,CAAC,MAAR,GAAiB,CAA3E,EAA8E;AAC1E,WAAO,oBAAC,iBAAD,EAAQ;AAAC,WAAK,EAAE,KAAR;AAAe,YAAM,EAAE,MAAvB;AAA+B,aAAO,EAAE,SAAE,wBAAF,CAAxC;AAAqE,WAAK,EAAC;AAA3E,KAAR,CAAP;AACH;;AACD,MAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,KAAD,EAAkC;AAC3D,SAAK,CAAC,IAAN,CAAW,UAAC,CAAD,EAAI,CAAJ;AAAA,aAAU,CAAC,CAAC,EAAF,GAAO,CAAC,CAAC,EAAnB;AAAA,KAAX;AACA,SAAK,CAAC,OAAN,CAAc,cAAI,EAAG;AACjB,UAAI,CAAC,EAAL,kBAAkB,IAAI,CAAC,MAAL,CAAY,KAA9B,cAAuC,IAAI,CAAC,MAAL,CAAY,KAAnD;AACH,KAFD;AAGH,GALD;;AAMA,MAAM,QAAQ,GAAI,qBACb,SADa,CACH,SADG,EAEb,WAFa,CAED,WAFC,EAGb,IAHa,CAGR,CAAC,WAAD,EAAc,YAAd,CAHQ,CAAlB;AAIA,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAT,EAAb;AACA,UAAQ,CAAC,KAAT,CAAe,UAAU,CAAC,KAA1B,EAAiC,KAAjC,CAAuC,UAAU,CAAC,KAAlD,EAAyD,MAAzD,CAAgE,GAAhE;AACA,sBAAoB,CAAC,UAAU,CAAC,KAAZ,CAApB;AACA,MAAM,kBAAkB,GAAuB,8CAC3C,UAAU,CAAC,KADgC,EAE3C,UAAU,CAAC,KAFgC,CAA/C;AAIA,MAAM,YAAY,GAAG,8BAAgB,UAAhB,CAArB;AACA,MAAM,oBAAoB,GAAG,sCAAwB;AACjD,YAAQ,EAAE,YADuC;AAEjD,aAAS,EAAT,SAFiD;AAGjD,gBAAY,EAAZ,YAHiD;AAIjD,cAAU,EAAV;AAJiD,GAAxB,CAA7B;;AAOA,MAAM,WAAW,GAAG,SAAd,WAAc,GAAK;AACrB,kBAAc,CAAC,EAAD,CAAd;AACA,kBAAc,CAAC,EAAD,CAAd;AACA,yBAAqB,CAAC,IAAD,CAArB;AACA,yBAAqB,CAAC,IAAD,CAArB;AACA,kBAAc,CAAC,IAAD,CAAd;AACA,sBAAkB,CAAC,KAAD,CAAlB;AACA,sBAAkB,CAAC,KAAD,CAAlB;AACH,GARD;;AAUA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,OAAuD;AAAA,QAA7C,cAA6C,QAApD,KAAoD;AAAA,QAArB,eAAqB,QAA7B,MAA6B;;AAC/E,QAAI,cAAc,GAAG,uBAAjB,IAAoC,eAAe,GAAG,wBAA1D,EAA4E;AACxE,aACI,oBAAC,iBAAD,EAAQ;AACJ,aAAK,EAAE,cADH;AAEJ,cAAM,EAAE,eAFJ;AAGJ,eAAO,EAAE,SAAE,6BAAF,CAHL;AAIJ,aAAK,EAAC;AAJF,OAAR,CADJ;AAQH;;AAED,QAAM,WAAW,GAAG,SAAd,WAAc,MAAK,EAAG;AACxB,aAAO,KAAK,CAAC,GAAN,CAAU,cAAI,EAAG;AACpB,eACI,oBAAC,oBAAD,EAAW;AACP,cAAI,EAAE,IADC;AAEP,qBAAW,EAAE,WAFN;AAGP,qBAAW,EAAE,WAHN;AAIP,cAAI,EAAE,IAJC;AAKP,aAAG,EAAE,wBAAU,IAAV,CALE;AAKa,uBACT,wBAAU,IAAV,CANJ;AAOP,8BAAoB,EAAE,oBAPf;AAQP,mBAAS,EAAE,SARJ;AASP,yBAAe,EAAE,2BAAE,EAAG;AAClB,0BAAc,CAAC,CAAC,IAAD,CAAD,CAAd;AACA,0BAAc,CAAC,CAAC,IAAI,CAAC,MAAN,EAAc,IAAI,CAAC,MAAnB,CAAD,CAAd;AACA,iCAAqB,CAAC,EAAE,CAAC,aAAH,CAAiB,aAAjB,CAA+B,QAA/B,CAAD,CAArB;AACA,8BAAkB,CAAC,KAAD,CAAlB;AACA,8BAAkB,CAAC,IAAD,CAAlB;AACH,WAfM;AAgBP,0BAAgB,EAAE,4BAAK;AACnB,uBAAW;AACd;AAlBM,SAAX,CADJ;AAsBH,OAvBM,CAAP;AAwBH,KAzBD;;AA2BA,QAAM,WAAW,GAAG,SAAd,WAAc,MAAK,EAAG;AACxB,UAAM,UAAU,GAAG,OAAO,KAAP,KAAiB,QAAjB,GAA4B,KAA5B,GAAoC,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAAvD;AACA,aAAO,KAAK,CAAC,GAAN,CAAU,cAAI,EAAG;AACpB,eACI,oBAAC,oBAAD,EAAW;AACP,cAAI,EAAE,IADC;AAEP,aAAG,EAAE,wBAAU,IAAV,CAFE;AAEa,uBACT,wBAAU,IAAV,CAHJ;AAIP,qBAAW,EAAE,WAJN;AAKP,mBAAS,EAAE,SALJ;AAMP,oBAAU,EAAE,UANL;AAOP,8BAAoB,EAAE,oBAPf;AAQP,uBAAa,EAAE,aARR;AASP,yBAAe,EAAE,2BAAE,EAAG;AAClB,gBAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAN,CAAtC;AACA,0BAAc,CAAC,WAAW,CAAC,KAAb,CAAd;AACA,0BAAc,CAAC,IAAD,CAAd;AACA,0BAAc,8BAAK,WAAW,CAAC,WAAjB,sBAAiC,WAAW,CAAC,WAA7C,GAAd;AACA,iCAAqB,CAAC,EAAE,CAAC,aAAJ,CAArB;AACA,8BAAkB,CAAC,KAAD,CAAlB;AACA,8BAAkB,CAAC,IAAD,CAAlB;AACH,WAjBM;AAkBP,0BAAgB,EAAE;AAAA,mBAAM,WAAW,EAAjB;AAAA;AAlBX,SAAX,CADJ;AAsBH,OAvBM,CAAP;AAwBH,KA1BD;;AA4BA,WACI,oBAAC,yBAAD,EAAgB;AACZ,qBAAe,EAAE,eADL;AAEZ,iBAAW,EAAC,eAFA;AAGZ,kBAAY,EAAE;AAAA,eAAM,WAAW,EAAjB;AAAA;AAHF,KAAhB,EAKI;AAAK,YAAM,EAAC,MAAZ;AAAmB,WAAK,EAAC,MAAzB;AAA+B,mBAAW;AAA1C,OACI;AAAG,eAAS,sBAAe,YAAY,CAAC,CAA5B,cAAiC,YAAY,CAAC,CAA9C;AAAZ,OACI;AAAG,eAAS,EAAC,YAAb;AAAyB,mBAAW;AAApC,OACK,WAAW,CAAC,UAAU,CAAC,KAAZ,CADhB,EAEK,eAAe,IACZ,oBAAC,uBAAD,EAAc;AACV,UAAI,EAAC,MADK;AAEV,UAAI,EAAE,eAFI;AAGV,+BAAyB,EAAE;AAAA,eAAM,WAAW,EAAjB;AAAA,OAHjB;AAIV,eAAS,EAAE,cAJD;AAKV,oBAAc,EAAE,kBALN;AAMV,YAAM,EAAE,kBANE;AAOV,UAAI,EAAE,WAAW,CAAC,CAAD,CAPP;AAQV,YAAM,EAAE,YARE;AASV,WAAK,EAAE,WATG;AAUV,0BAAoB,EAAE,oBAVZ;AAWV,qBAAe,EAAE,eAXP;AAYV,4BAAsB,EAAE,sBAZd;AAaV,wBAAkB,EAAE;AAbV,KAAd,CAHR,CADJ,EAqBI;AAAG,eAAS,EAAC,YAAb;AAAyB,mBAAW;AAApC,OACK,WAAW,CAAC,UAAU,CAAC,KAAZ,CADhB,EAEK,eAAe,IACZ,oBAAC,uBAAD,EAAc;AACV,UAAI,EAAC,MADK;AAEV,UAAI,EAAE,eAFI;AAGV,+BAAyB,EAAE;AAAA,eAAM,WAAW,EAAjB;AAAA,OAHjB;AAIV,eAAS,EAAE,cAJD;AAKV,oBAAc,EAAE,kBALN;AAMV,YAAM,EAAE,kBANE;AAOV,UAAI,EAAE,WAPI;AAQV,YAAM,EAAE,YARE;AASV,WAAK,EAAE,WATG;AAUV,0BAAoB,EAAE,oBAVZ;AAWV,qBAAe,EAAE,eAXP;AAYV,4BAAsB,EAAE,sBAZd;AAaV,wBAAkB,EAAE;AAbV,KAAd,CAHR,CArBJ,CADJ,CALJ,CADJ;AAoDH,GAvHD;;AAyHA,SACI,oBAAC,eAAD,EAAgB;AAAC,UAAM,EAAE,MAAT;AAAiB,SAAK,EAAE,KAAxB;AAA+B,OAAG,EAAE;AAApC,GAAhB,EACI,oBAAC,0BAAD,EAAiB,IAAjB,EACK,4BAAkB;AAAA,WAAI,mBAAmB,CAAC,kBAAD,CAAvB;AAAA,GADvB,CADJ,CADJ;AAOH,CAlOD;;AAoOA,UAAU,CAAC,SAAX,GAAuB;AACnB,SAAO,EAAE,CAAC,CAAC,KADQ;AAEnB,OAAK,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAFY;AAGnB,QAAM,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,MAAH,EAAW,CAAC,CAAC,MAAb,CAAZ,CAHW;AAInB,MAAI,EAAE,CAAC,CAAC,MAJW;AAKnB,WAAS,EAAE,CAAC,CAAC,MALM;AAMnB,WAAS,EAAE,CAAC,CAAC,MANM;AAOnB,aAAW,EAAE,CAAC,CAAC,MAPI;AAQnB,aAAW,EAAE,CAAC,CAAC,MARI;AASnB,cAAY,EAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CATK;AAUnB,YAAU,EAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CAVO;AAWnB,aAAW,EAAE,CAAC,CAAC,MAXI;AAYnB,gBAAc,EAAE,CAAC,CAAC,MAZC;AAanB,iBAAe,EAAE,CAAC,CAAC,MAbA;AAcnB,eAAa,EAAE,CAAC,CAAC,MAdE;AAenB,iBAAe,EAAE,CAAC,CAAC,MAfA;AAgBnB,wBAAsB,EAAE,CAAC,CAAC,MAhBP;AAiBnB,oBAAkB,EAAE,CAAC,CAAC;AAjBH,CAAvB;AAoBA,UAAU,CAAC,YAAX,GAA0B;AACtB,SAAO,EAAE,EADa;AAEtB,OAAK,EAAE,2BAFe;AAGtB,QAAM,EAAE,4BAHc;AAItB,MAAI,EAAE,MAJgB;AAKtB,WAAS,EAAE,aALW;AAMtB,WAAS,EAAE,EANW;AAOtB,aAAW,EAAE,EAPS;AAQtB,aAAW,EAAE,IARS;AAStB,cAAY,EAAE,4BATQ;AAUtB,YAAU,EAAE,EAVU;AAWtB,aAAW,EAAE,4BAXS;AAYtB,gBAAc,EAAE,OAZM;AAatB,iBAAe,EAAE,SAbK;AActB,eAAa,EAAE,2BAdO;AAetB,iBAAe,EAAE,2BAfK;AAgBtB,wBAAsB,EAAE,2BAhBF;AAiBtB,oBAAkB,EAAE;AAjBE,CAA1B;AAoBA,kBAAe,UAAf,C;;;;;;;;;;;;;;;;;;;;;;;AC5VA,0E;;;;;;;ACAA,2C;;;;;;;;;;;;;;;;ACAA;;AAWO,IAAM,uBAAuB,GAAG,SAA1B,uBAA0B,OAUgB;AAAA,MATnD,QASmD,QATnD,QASmD;AAAA,MARnD,SAQmD,QARnD,SAQmD;AAAA,MAPnD,YAOmD,QAPnD,YAOmD;AAAA,MANnD,UAMmD,QANnD,UAMmD;;AACnD,MAAI,SAAS,KAAK,aAAlB,EAAiC;AAC7B,WAAO,UAAP;AACH;;AACD,SAAO,YAAY,GAAG,0BAAe,MAAf,CAAsB,QAAtB,EAAgC,KAAhC,CAAsC,YAAtC,EAAoD,OAApD,CAA4D,YAAY,CAAC,CAAD,CAAxE,CAAH,GAAkF,IAArG;AACH,CAfM;;AAAM,kCAAuB,uBAAvB;;AAiBN,IAAM,8BAA8B,GAAG,SAAjC,8BAAiC,CAC1C,OAD0C,EAE1C,cAF0C,EAG1C,cAH0C,EAI1C,iBAJ0C,EAK1C,WAL0C,EAM9B;AACZ,MACI,CAAC,OAAD,IACA,CAAC,KAAK,CAAC,OAAN,CAAc,OAAd,CADD,IAEA,CAAC,OAAO,CAAC,MAFT,IAGA,CAAC,OAAO,CAAC,cAAD,CAHR,IAIA,CAAC,OAAO,CAAC,cAAD,CAJR,IAKA,CAAC,OAAO,CAAC,iBAAD,CALR,IAMA,OAAO,CAAC,MAAR,GAAiB,CANjB,IAOA,CAAC,KAAK,CAAC,OAAN,CAAc,OAAO,CAAC,cAAD,CAArB,CAPD,IAQA,CAAC,KAAK,CAAC,OAAN,CAAc,OAAO,CAAC,cAAD,CAArB,CARD,IASA,CAAC,KAAK,CAAC,OAAN,CAAc,OAAO,CAAC,iBAAD,CAArB,CATD,IAUA,CAAC,OAAO,CAAC,cAAD,CAVR,IAWA,OAAO,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,CAAP,KAAsC,QAXtC,IAYA,CAAC,OAAO,CAAC,cAAD,CAZR,IAaA,OAAO,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,CAAP,KAAsC,QAbtC,IAcA,CAAC,OAAO,CAAC,iBAAD,CAdR,IAeA,OAAO,OAAO,CAAC,iBAAD,CAAP,CAA2B,CAA3B,CAAP,KAAyC,QAhB7C,EAiBE;AACE,WAAO,IAAP;AACH;;AAED,MAAM,UAAU,GAAe;AAC3B,SAAK,EAAE,EADoB;AAE3B,SAAK,EAAE;AAFoB,GAA/B;AAKA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAL,CACX,OAAO,CAAC,cAAD,CAAP,CAAwB,MADb,EAEX,OAAO,CAAC,cAAD,CAAP,CAAwB,MAFb,EAGX,OAAO,CAAC,iBAAD,CAAP,CAA2B,MAHhB,EAIX,WAJW,CAAf;;AA3BY,6BAkCH,CAlCG;AAmCR,QACI,OAAO,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,CAAP,KAAsC,QAAtC,IACA,OAAO,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,CAAP,KAAsC,QADtC,IAEA,OAAO,OAAO,CAAC,iBAAD,CAAP,CAA2B,CAA3B,CAAP,KAAyC,QAH7C,EAIE;AACE,aAAO,CAAC,KAAR,CACI,sDADJ,EAEI,CAFJ,aAGQ,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,CAHR,eAGuC,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,CAHvC,eAGsE,OAAO,CAAC,iBAAD,CAAP,CAA2B,CAA3B,CAHtE;AAKA;AAAA;AAAA;AACH;;AAED,QAAM,cAAc,GAAI,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,EAAsC,IAAtC,EAAxB;AACA,QAAM,cAAc,GAAI,OAAO,CAAC,cAAD,CAAP,CAAwB,CAAxB,EAAsC,IAAtC,EAAxB;AAEA,wBAAoB,CAAC,UAAD,EAAa,cAAb,CAApB;AACA,wBAAoB,CAAC,UAAD,EAAa,cAAb,CAApB,CApDQ,CAqDR;;AACA,QAAM,aAAa,GAAG,sBAAc,UAAd,EAA0B,cAA1B,CAAtB;AACA,QAAM,aAAa,GAAG,sBAAc,UAAd,EAA0B,cAA1B,CAAtB;AACA,QAAM,SAAS,GAAG,UAAU,CAAC,KAAX,CAAiB,IAAjB,CAAsB,cAAI,EAAG;AAC3C,aACI,IAAI,CAAC,MAAL,KAAkB,aAAlB,IACA,IAAI,CAAC,MAAL,KAAkB,aAFtB;AAIH,KALiB,CAAlB;;AAMA,QAAI,SAAJ,EAAe;AACX,eAAS,CAAC,KAAV,IAAmB,OAAO,CAAC,iBAAD,CAAP,CAA2B,CAA3B,CAAnB;AACH,KAFD,MAEO;AACH,gBAAU,CAAC,UAAD,EAAa,aAAb,EAA4B,aAA5B,EAA2C,OAAO,CAAC,iBAAD,CAAP,CAA2B,CAA3B,CAA3C,EAAoF,CAApF,CAAV;AACH;AAlEO;;AAkCZ,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAAA,qBAAxB,CAAwB;;AAAA;AAiChC;;AACD,SAAO,UAAP;AACH,CA3EM;;AAAM,yCAA8B,8BAA9B;;AA6EN,IAAM,SAAS,GAAG,SAAZ,SAAY,CAAC,IAAD,EAAiC;AACtD,MAAI,CAAC,IAAL,EAAW;AACP,WAAO,EAAP;AACH;;AACD,wBAAe,IAAI,CAAC,KAApB;AACH,CALM;;AAAM,oBAAS,SAAT;;AAON,IAAM,SAAS,GAAG,SAAZ,SAAY,CAAC,IAAD,EAAiC;AACtD,MAAI,CAAC,IAAL,EAAW;AACP,WAAO,EAAP;AACH;;AACD,wBAAe,IAAI,CAAC,EAApB;AACH,CALM;;AAAM,oBAAS,SAAT;;AAOb,IAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,UAAD,EAAyB,QAAzB,EAAmD;AAC5E,MAAI,KAAK,GAAG,UAAU,CAAC,KAAvB;AACA,OAAK,GAAG,KAAK,GAAG,KAAH,GAAW,EAAxB;;AACA,MAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,WAAO,CAAC,KAAR,CAAc,qCAAd,EAAqD,QAArD;AACA;AACH;;AACD,UAAQ,GAAG,QAAQ,CAAC,IAAT,EAAX;;AACA,MAAI,CAAC,KAAK,CAAC,IAAN,CAAW,cAAI;AAAA,WAAI,IAAI,CAAC,IAAL,CAAU,iBAAV,OAAkC,QAAQ,CAAC,iBAAT,EAAtC;AAAA,GAAf,CAAL,EAAyF;AACrF,SAAK,CAAC,IAAN,CAAW;AAAE,UAAI,EAAE;AAAR,KAAX;AACH;AACJ,CAXD;;AAaA,IAAM,UAAU,GAAG,SAAb,UAAa,CACf,UADe,EAEf,cAFe,EAGf,cAHe,EAIf,SAJe,EAKf,KALe,EAMT;AACN,MAAI,KAAK,GAAG,UAAU,CAAC,KAAvB;AACA,OAAK,GAAG,KAAK,GAAG,KAAH,GAAW,EAAxB;AACA,OAAK,CAAC,IAAN,CAAW;AACP,UAAM,EAAG,cADF;AAEP,UAAM,EAAG,cAFF;AAGP,SAAK,EAAE,SAHA;AAIP,SAAK,EAAL;AAJO,GAAX;AAMH,CAfD;;AAiBO,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,UAAD,EAAqC;AAChE,MAAI,CAAC,UAAD,IAAe,CAAC,UAAU,CAAC,KAA3B,IAAoC,CAAC,UAAU,CAAC,KAAX,CAAiB,MAA1D,EAAkE;AAC9D,WAAO,EAAP;AACH;;AACD,SAAO,UAAU,CAAC,KAAX,CAAiB,GAAjB,CAAqB,cAAI;AAAA,WAAI,IAAI,CAAC,IAAT;AAAA,GAAzB,CAAP;AACH,CALM;;AAAM,0BAAe,eAAf;;AAON,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,UAAD,EAAyB,QAAzB,EAAqD;AAC9E,MAAI,CAAC,UAAD,IAAe,CAAC,UAAU,CAAC,KAA3B,IAAoC,CAAC,UAAU,CAAC,KAAX,CAAiB,MAA1D,EAAkE;AAC9D,WAAO,CAAC,CAAR;AACH;;AACD,SAAO,UAAU,CAAC,KAAX,CAAiB,SAAjB,CAA2B,cAAI;AAAA,WAAI,IAAI,CAAC,IAAL,CAAU,iBAAV,OAAkC,QAAQ,CAAC,iBAAT,EAAtC;AAAA,GAA/B,CAAP;AACH,CALM;;AAAM,wBAAa,aAAb;;AAON,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,CAAC,OAAD,EAAiC;AAChE,MAAI,CAAC,OAAL,EAAc;AACV,WAAO,IAAP;AACH;;AACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAf;AACA,MAAM,WAAW,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAApB;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,OAAR,CAAgB,GAAhB,CAAf;AACA,MAAM,UAAU,GAAG,OAAO,CAAC,WAAR,CAAoB,GAApB,CAAnB;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,WAAR,CAAoB,GAApB,CAAf;;AACA,MAAI,MAAM,GAAG,CAAT,IAAc,UAAU,GAAG,CAA3B,IAAgC,UAAU,GAAG,CAA7C,IAAkD,MAAM,GAAG,CAA/D,EAAkE;AAC9D,WAAO,CAAC,KAAR,CAAc,6CAAd,EAA6D,OAA7D;AACA,WAAO,IAAP;AACH;;AACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAR,CAAc,MAAM,GAAG,CAAvB,EAA0B,WAA1B,EAAuC,IAAvC,EAAjB;AACA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAR,CAAc,WAAW,GAAG,CAA5B,EAA+B,MAA/B,EAAuC,IAAvC,EAAjB;AACA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAR,CAAc,MAAM,GAAG,CAAvB,EAA0B,UAA1B,EAAsC,IAAtC,EAAjB;AACA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAR,CAAc,UAAU,GAAG,CAA3B,EAA8B,MAA9B,EAAsC,IAAtC,EAAjB;;AACA,MAAI,CAAC,QAAQ,CAAC,MAAV,IAAoB,CAAC,QAAQ,CAAC,MAA9B,IAAwC,CAAC,QAAQ,CAAC,MAAlD,IAA4D,CAAC,QAAQ,CAAC,MAA1E,EAAkF;AAC9E,WAAO,CAAC,KAAR,CAAc,6CAAd,EAA6D,OAA7D;AACA,WAAO,IAAP;AACH;;AACD,MAAM,MAAM,GAAG,EAAf;AACA,QAAM,CAAC,IAAP,CAAY,QAAQ,CAAC,KAAT,CAAe,GAAf,EAAoB,GAApB,CAAwB,WAAC;AAAA,WAAI,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAJ;AAAA,GAAzB,CAAZ;AACA,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAT,CAAe,GAAf,CAAlB;AACA,QAAM,CAAC,IAAP,CAAY,SAAS,CAAC,SAAS,CAAC,MAAV,GAAmB,CAApB,CAAT,CAAgC,KAAhC,CAAsC,GAAtC,EAA2C,GAA3C,CAA+C,WAAC;AAAA,WAAI,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAJ;AAAA,GAAhD,CAAZ;AACA,QAAM,CAAC,IAAP,CAAY,QAAQ,CAAC,KAAT,CAAe,GAAf,EAAoB,GAApB,CAAwB,WAAC;AAAA,WAAI,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAJ;AAAA,GAAzB,CAAZ;AACA,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAT,CAAe,GAAf,CAAlB;AACA,QAAM,CAAC,IAAP,CAAY,SAAS,CAAC,SAAS,CAAC,MAAV,GAAmB,CAApB,CAAT,CAAgC,KAAhC,CAAsC,GAAtC,EAA2C,GAA3C,CAA+C,WAAC;AAAA,WAAI,MAAM,CAAC,UAAP,CAAkB,CAAlB,CAAJ;AAAA,GAAhD,CAAZ;AACA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAe,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAxB,IAAwC,CAAtD;AACA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAT,EAAuB,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAvB,IAAuC,KAAjD;AACA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAe,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAxB,IAAwC,CAAvD;AACA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAT,EAAuB,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAvB,IAAuC,MAAjD;AACA,SAAO;AAAE,KAAC,EAAD,CAAF;AAAK,KAAC,EAAD;AAAL,GAAP;AACH,CAjCM;;AAAM,8BAAmB,mBAAnB;;AAmCN,IAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,KAAD,EAA0B,OAA1B,EAA0D;AAC1F,MAAM,MAAM,GAAgB;AAAE,SAAK,EAAE,EAAT;AAAa,eAAW,EAAE,EAA1B;AAA8B,eAAW,EAAE;AAA3C,GAA5B;;AACA,MAAI,CAAC,KAAD,IAAU,CAAC,KAAK,CAAC,MAArB,EAA6B;AACzB,WAAO,MAAP;AACH;;AAED,OAAK,CAAC,OAAN,CAAc,cAAI,EAAG;AACjB,QAAI,IAAI,CAAC,MAAL,CAAY,KAAZ,KAAsB,OAAtB,IAAiC,IAAI,CAAC,MAAL,CAAY,KAAZ,KAAsB,OAA3D,EAAoE;AAChE,UAAM,SAAS,GAAG,MAAM,CAAC,KAAP,CAAa,IAAb,CAAkB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,IAAI,CAAC,EAAlB;AAAA,OAAnB,CAAlB;;AACA,UAAI,CAAC,SAAL,EAAgB;AACZ,cAAM,CAAC,KAAP,CAAa,IAAb,CAAkB,IAAlB;AACH;;AAED,UAAM,eAAe,GAAG,MAAM,CAAC,WAAP,CAAmB,IAAnB,CAAwB,WAAC;AAAA,eAAI,CAAC,CAAC,KAAF,KAAY,IAAI,CAAC,MAAL,CAAY,KAA5B;AAAA,OAAzB,CAAxB;;AACA,UAAI,CAAC,eAAL,EAAsB;AAClB,cAAM,CAAC,WAAP,CAAmB,IAAnB,CAAwB,IAAI,CAAC,MAA7B;AACH;;AAED,UAAM,eAAe,GAAG,MAAM,CAAC,WAAP,CAAmB,IAAnB,CAAwB,WAAC;AAAA,eAAI,CAAC,CAAC,KAAF,KAAY,IAAI,CAAC,MAAL,CAAY,KAA5B;AAAA,OAAzB,CAAxB;;AACA,UAAI,CAAC,eAAL,EAAsB;AAClB,cAAM,CAAC,WAAP,CAAmB,IAAnB,CAAwB,IAAI,CAAC,MAA7B;AACH;AACJ;AACJ,GAjBD;AAkBA,SAAO,MAAP;AACH,CAzBM;;AAAM,+BAAoB,oBAApB;;AA2BN,IAAM,+BAA+B,GAAG,SAAlC,+BAAkC,CAC3C,KAD2C,EAE3C,KAF2C,EAGvB;AACpB,MAAM,cAAc,GAAuB,EAA3C;;AACA,MAAI,CAAC,KAAD,IAAU,CAAC,KAAf,EAAsB;AAClB,WAAO,cAAP;AACH;;AAED,OAAK,CAAC,OAAN,CAAc,cAAI,EAAG;AACjB,QAAM,WAAW,GAAG,6BAAqB,KAArB,EAA4B,IAAI,CAAC,KAAjC,CAApB;AACA,kBAAc,CAAC,IAAI,CAAC,KAAN,CAAd,GAA6B,WAA7B;AACH,GAHD;AAKA,SAAO,cAAP;AACH,CAfM;;AAAM,0CAA+B,+BAA/B;;AAiBN,IAAM,eAAe,GAAG,SAAlB,eAAkB,CAAC,KAAD,EAA2B;AACtD,SAAO,QAAQ,IAAR,CAAa,KAAb,CAAP;AACH,CAFM;;AAAM,0BAAe,eAAf,C,CAIb;;AACO,IAAM,2BAA2B,GAAG,SAA9B,2BAA8B,CACvC,WADuC,EAEvC,UAFuC,EAGvC,KAHuC,EAIjC;AACN,MAAI,WAAW,IAAI,WAAW,CAAC,kBAAZ,KAAmC,SAAtD,EAAiE;AAC7D,eAAW,CAAC,WAAZ,GAA0B,UAA1B,CAD6D,CAE7D;;AACA,QAAI,WAAW,CAAC,kBAAZ,CAA+B,CAA/B,EAAkC,UAAU,CAAC,MAA7C,KAAwD,KAA5D,EAAmE;AAC/D,WAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAX,GAAoB,CAAjC,EAAoC,CAAC,GAAG,CAAxC,EAA2C,CAAC,IAAI,CAAhD,EAAmD;AAC/C,YAAI,WAAW,CAAC,kBAAZ,CAA+B,CAA/B,EAAkC,CAAlC,KAAwC,KAA5C,EAAmD;AAC/C,qBAAW,CAAC,WAAZ,GAA0B,UAAU,CAAC,SAAX,CAAqB,CAArB,EAAwB,CAAxB,IAA6B,KAAvD;AACA;AACH;AACJ;;AACD,iBAAW,CAAC,WAAZ,GAA0B,KAA1B,CAP+D,CAO9B;AACpC;AACJ;AACJ,CAlBM;;AAAM,sCAA2B,2BAA3B,C;;;;;;;;;;;;;;;;ACvPb,2C;;;;;;ACAA,0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AA2EyB,qBA3ElB,oBA2EkB;;AA1EzB;;AA0EiB,iBA1EV,gBA0EU;AAvEjB;;;;AAIG;;AACI,IAAM,mBAAmB,GAAG,SAAtB,mBAAsB,YAAW,EAAG;AAC7C,MAAM,OAAO,GAAG,aAAI,WAAJ,EAAiB,sBAAjB,EAAyC,SAAzC,CAAhB;AACA,MAAM,SAAS,GAAG,OAAO,KAAK,SAA9B;AACA,MAAM,eAAe,GAAG,yCAAuB,WAAvB,CAAxB;AACA,SACI,eAAe,KAAK,kCAAgB,KAApC,IACA,eAAe,KAAK,kCAAgB,OADpC,IAEA,eAAe,KAAK,kCAAgB,WAFpC,IAGA,SAJJ;AAMH,CAVM;;AAAM,8BAAmB,mBAAnB;;AAYN,IAAM,eAAe,GAAG,SAAlB,eAAkB,OAAyD;AAAA,MAAtD,SAAsD,QAAtD,SAAsD;AAAA,MAA3C,WAA2C,QAA3C,WAA2C;AAAA,MAA9B,UAA8B,QAA9B,UAA8B;AAAA,MAAlB,YAAkB,QAAlB,YAAkB;;yCAAA,CACpF;;;AACA,MAAM,mBAAmB,GAAG,CACxB,wBADwB,EAExB,eAFwB,EAGxB,iBAHwB,EAIxB,wBAJwB,EAKxB,oBALwB,CAA5B;AAOA,MAAM,WAAW,GAA4B,EAA7C;AACA,qBAAmB,CAAC,OAApB,CAA4B,kBAAQ,EAAG;AACnC,eAAW,CAAC,QAAD,CAAX,GAAwB,SAAS,CAAC,QAAD,CAAjC;AACH,GAFD,EAVoF,CAcpF;AACA;AACA;;AACA,cAAY,GAAG,6BAAgB,YAAhB,IAAgC,YAAhC,GAA+C,SAA9D,CAjBoF,CAmBpF;AACA;AACA;AACA;;AACA,MAAI,qBAAqB,GAAG,EAA5B;AACA,MAAI,cAAc,GAAG,EAArB;;AACA,MACI,wBAAW,SAAX,eAAW,WAAX,GAAW,MAAX,cAAW,CAAE,OAAb,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE,OAA5B,KACA,8BAAW,SAAX,eAAW,WAAX,GAAW,MAAX,cAAW,CAAE,OAAb,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE,OAA5B,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAE,MAArC,KAA+C,CAD/C,IAEA,KAAK,CAAC,OAAN,CAAc,UAAd,CAHJ,EAIE;AACE,QAAM,OAAO,GAAG,WAAW,CAAC,OAAZ,CAAoB,IAApB,CAAyB,OAAzC;AACA,yBAAqB,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC,CAAD,CAAR,EAAa,OAAO,CAAC,CAAD,CAApB,EAAyB,UAAzB,CAAH,GAA0C,IAAzE;AACA,QAAM,SAAS,GAAG,OAAO,CAAC,SAAR,CAAkB,aAAG;AAAA,aAAI,iBAAQ,GAAR,EAAa,UAAb,CAAJ;AAAA,KAArB,CAAlB;;AACA,QAAI,uBAAW,SAAX,eAAW,WAAX,GAAW,MAAX,cAAW,CAAE,OAAb,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE,MAAhC,EAAwC;AACpC,UAAM,SAAS,GAAG,uBAAW,SAAX,eAAW,WAAX,GAAW,MAAX,cAAW,CAAE,OAAb,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE,IAAtB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE,MAAF,CAAS,SAAT,CAA5C;;AACA,UAAI,QAAO,SAAP,MAAqB,QAArB,IAAiC,SAAS,KAAK,IAAnD,EAAyD;AACrD,sBAAc,GAAG,SAAS,CAAC,IAA3B;AACH,OAFD,MAEO;AACH,sBAAc,GAAG,SAAS,SAAT,aAAS,WAAT,eAAa,EAA9B;AACH;AACJ;AACJ;;AACD,yCAAY,WAAZ,GAAuB;AAAE,WAAO,EAAE,qBAAX;AAAkC,kBAAc,EAAd,cAAlC;AAAkD,gBAAY,EAAZ;AAAlD,GAAvB;AACH,CA3CM;;AAAM,0BAAe,eAAf;AA6Cb,IAAM,MAAM,GAAG,2BAAiB;AAC5B,UAAQ,EAAE,oBADkB;AAE5B,WAAS,EAAE,gBAFiB;AAG5B,iBAAe,EAAf,uBAH4B;AAI5B,oBAAkB,EAAE,4BAAC,WAAD,EAA8C,OAA9C;AAAA,WAChB,4BAAoB,WAApB,CADgB;AAAA;AAJQ,CAAjB,CAAf;AAOA,IAAM,MAAM,GAAG,iBAAO,MAAtB;AAES;AADT,kBAAe,MAAf,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EA;;AACA;;AAAS;AAAA;AAAA;AAAA;AAAO;AAAP,G;;;;;;;ACDT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;AACA;AACA;AACA;AAEO,IAAMG,SAAS,GAAG,SAAZA,SAAY,GAAY;AACjC,MAAIC,MAAM,GAAV;AAAA,MACIC,SAAS,GADb;AAAA,MAEIC,WAAW,GAFf;AAAA,MAGIC,IAAI,GAAG,IAHX,CAGW,CAHX;AAAA,MAIIC,KAAK,GAJT;AAAA,MAKIC,KAAK,GALT;AAAA,MAMIC,UAAU,GANd;;AAQAN,QAAM,CAANA,YAAmB,aAAa;AAC5B,QAAI,CAACO,SAAS,CAAd,QAAuB;AACvBN,aAAS,GAAG,CAAZA;AACA;AAHJD;;AAMAA,QAAM,CAANA,cAAqB,aAAa;AAC9B,QAAI,CAACO,SAAS,CAAd,QAAuB;AACvBL,eAAW,GAAG,CAAdA;AACA;AAHJF;;AAMAA,QAAM,CAANA,QAAe,aAAa;AACxB,QAAI,CAACO,SAAS,CAAd,QAAuB;AACvBH,SAAK,GAALA;AACA;AAHJJ;;AAMAA,QAAM,CAANA,QAAe,aAAa;AACxB,QAAI,CAACO,SAAS,CAAd,QAAuB;AACvBF,SAAK,GAALA;AACA;AAHJL;;AAMAA,QAAM,CAANA,OAAc,aAAa;AACvB,QAAI,CAACO,SAAS,CAAd,QAAuB;AACvBJ,QAAI,GAAJA;AACA;AAHJH;;AAMAA,QAAM,CAANA,SAAgB,sBAAsB;AAClCQ,oBAAgB;AAChBC,qBAAiB;AAEjBC,wBAAoB;AACpBC,uBAAmB;AAEnBC,qBAAiB,CAAjBA,UAAiB,CAAjBA;AACAC,qBAAiB;AAEjB;AAVJb;;AAaAA,QAAM,CAANA,WAAkB,YAAY;AAC1Ba,qBAAiB;AACjB;AAtD6B,GAoDjCb,CApDiC,CAyDjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAA,QAAM,CAANA,iBAAwB,YAAY;AAChC,QAAIc,SAAS,GADmB,GAChC,CADgC,CAGhC;AACA;;AACA,kCAA8B;AAC1B,UAAIC,EAAE,GAAGC,CAAC,CAADA,WAAaA,CAAC,CAADA,OAAtB;AAAA,UACIC,EAAE,GAAGD,CAAC,CAADA,OADT;AAAA,UAEIE,EAAE,GAAGC,wEAAmB,KAF5B,EAE4B,CAF5B;AAAA,UAGIC,EAAE,GAAGF,EAAE,CAHX,SAGW,CAHX;AAAA,UAIIG,EAAE,GAAGH,EAAE,CAAC,IAJZ,SAIW,CAJX;AAAA,UAKII,EAAE,GAAGN,CAAC,CAADA,WAAaA,CAAC,CALvB;AAAA,UAMIO,EAAE,GAAGP,CAAC,CAADA,WAAaA,CAAC,CANvB;AAAA,UAOIQ,EAAE,GAAGR,CAAC,CAADA,WAAaA,CAAC,CAAdA,KAAoBA,CAAC,CAP9B;AAAA,UAQIS,EAAE,GAAGT,CAAC,CAADA,WAAaA,CAAC,CAAdA,KAAoBA,CAAC,CAR9B;;AAUA;AACI;AACI,iBAAO,wCAAwCM,EAAE,GAAGN,CAAC,CAArD,EAAO,CAAP;;AAEJ;AACI,iBACI,gLADJ;;AAoCJ;AACI,iBAAO,wCAAwCO,EAAE,GAAGP,CAAC,CAArD,EAAO,CAAP;AA1CR;AAhB4B,MA8DhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,mCAA+B;AAC3B,UAAIU,cAAc,GAAlB;AACA,UAAIC,UAAU,GAAd;;AAEA,yBAAmB;AACf,eAAOX,CAAC,CAADA,WAAaA,CAAC,CAAdA,KAAoBA,CAAC,CAADA,WAAaA,CAAC,CAAlCA,KAAwC,CAAxCA,IAAP;AACH;;AAED,uBAAiB;AACb,eAAOY,CAAC,GAADA,UAAP;AACH;;AAED,UAAIC,EAAE,GAAGC,MAAM,CAANA,CAAM,CAANA,GAAT;AAAA,UACIf,EAAE,GAAGC,CAAC,CAADA,WAAaA,CAAC,CAADA,OADtB;AAAA,UAEIM,EAAE,GAAGN,CAAC,CAADA,WAAaA,CAAC,CAFvB;AAAA,UAGIC,EAAE,GAAGD,CAAC,CAADA,OAHT;AAAA,UAIIO,EAAE,GAAGP,CAAC,CAADA,WAAaA,CAAC,CAJvB;;AAMA;AACI;AACI,iBACI,MACAe,CAAC,KADD,EACC,CADD,SAGAA,CAAC,KAHD,EAGC,CAHD,GAIAA,CAAC,CAAChB,EAAE,GAAH,gBAJD,EAIC,CAJD,GAKAgB,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GALzB,EAKC,CALD,SAOAS,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GAAFA,KAAUN,CAAC,CAPlC,EAOC,CAPD,SASAe,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GAAGN,CAAC,CAT7B,EASC,CATD,GAUAe,CAAC,KAAKT,EAAE,GAAGN,CAAC,CAVZ,EAUC,CAVD,GAWAe,CAAC,KAAKT,EAAE,GAAGN,CAAC,CAXZ,EAWC,CAXD,GADJ;;AAeJ;AACI,iBACI,MACAe,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GADzB,EACC,CADD,SAGAS,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GAAG,IAH5B,EAGC,CAHD,GAIAS,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GAAG,IAJ5B,EAIC,CAJD,GAKAQ,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GALzB,EAKC,CALD,SAOAQ,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GAAFA,KAAUP,CAAC,CAPlC,EAOC,CAPD,SASAe,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GAAG,IAALA,KAAcP,CAAC,CATtC,EASC,CATD,GAUAe,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GAAG,IAALA,KAAcN,CAAC,CAVtC,EAUC,CAVD,GAWAe,CAAC,CAAChB,EAAE,GAAH,gBAAsBO,EAAE,GAAFA,KAAUN,CAAC,CAXlC,EAWC,CAXD,GADJ;;AAgBJ;AACI,iBACI,MACAe,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GADzB,EACC,CADD,SAGAQ,CAAC,CAACd,EAAE,GAAH,gBAHD,EAGC,CAHD,GAIAc,CAAC,KAJD,EAIC,CAJD,GAKAA,CAAC,KALD,EAKC,CALD,SAOAA,CAAC,KAAKR,EAAE,GAAGP,CAAC,CAPZ,EAOC,CAPD,SASAe,CAAC,KAAKR,EAAE,GAAGP,CAAC,CATZ,EASC,CATD,GAUAe,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GAAGP,CAAC,CAV7B,EAUC,CAVD,GAWAe,CAAC,CAACd,EAAE,GAAH,gBAAsBM,EAAE,GAAGP,CAAC,CAANO,KAXvB,EAWC,CAXD,GADJ;AAnCR;AAmDH;;AAED,WAAO,gBAAgB;AACnB,aAAO,aAAa;AAChB,YAAIP,CAAC,CAADA,WAAaA,CAAC,CAADA,OAAjB,GAA6B;AACzB,iBAAOgB,WAAW,OAAlB,CAAkB,CAAlB;AADJ,eAEO;AACH,iBAAOC,YAAY,OAAnB,CAAmB,CAAnB;AACH;AALL;AADJ;AA/N6B,GAgFjCjC,CAhFiC,CA0OjC;AACA;;;AACAA,QAAM,CAANA,OAAc,YAAY;AACtB,QAAIc,SAAS,GAAb;;AAEA,qBAAiB;AACb,UAAIC,EAAE,GAAGC,CAAC,CAADA,WAAaA,CAAC,CAADA,OAAtB;AAAA,UACIC,EAAE,GAAGD,CAAC,CAADA,OADT;AAAA,UAEIE,EAAE,GAAGC,wEAAmB,KAF5B,EAE4B,CAF5B;AAAA,UAGIC,EAAE,GAAGF,EAAE,CAHX,SAGW,CAHX;AAAA,UAIIG,EAAE,GAAGH,EAAE,CAAC,IAJZ,SAIW,CAJX;AAAA,UAKII,EAAE,GAAGN,CAAC,CAADA,WAAaA,CAAC,CAAdA,KAAoBA,CAAC,CAADA,KAL7B;AAAA,UAMIO,EAAE,GAAGP,CAAC,CAADA,WAAaA,CAAC,CAAdA,KAAoBA,CAAC,CAADA,KAN7B;AAOA,aAAO,mFAAP;AACH;;AAEDkB,QAAI,CAAJA,YAAiB,aAAa;AAC1B,UAAI,CAAC3B,SAAS,CAAd,QAAuB;AACvBO,eAAS,GAAG,CAAZA;AACA;AAHJoB;;AAMA;AAhQ6B,GA4OjClC,CA5OiC,CAmQjC;AACA;;;AACA,8BAA4B;AACxBI,SAAK,CAALA,QAAc,gBAAgB;AAC1B+B,UAAI,CAAJA;AACAA,UAAI,CAAJA;AAFJ/B;AAKAC,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAI+B,MAAM,GAAGF,IAAI,CAAjB;AAAA,UACIG,MAAM,GAAGH,IAAI,CADjB;AAEA,UAAI,kBAAJ,UAAgCE,MAAM,GAAGF,IAAI,CAAJA,SAAc9B,KAAK,CAAC8B,IAAI,CAAjCE,MAA4B,CAA5BA;AAChC,UAAI,kBAAJ,UAAgCC,MAAM,GAAGH,IAAI,CAAJA,SAAc9B,KAAK,CAAC8B,IAAI,CAAjCG,MAA4B,CAA5BA;AAChCD,YAAM,CAANA;AACAC,YAAM,CAANA;AANJhC;AA3Q6B,IAqRjC;;;AACA,+BAA6B;AACzBD,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAI,CAAC+B,IAAI,CAAT,OACI;AACAA,YAAI,CAAJA,QAAaG,IAAI,CAAJA,IAASC,oDAAK,CAACJ,IAAI,CAAL,aAAdG,KAAc,CAAdA,EAAyCC,oDAAK,CAACJ,IAAI,CAAL,aAA3DA,KAA2D,CAA9CG,CAAbH;AAHR/B;AAvR6B,IA8RjC;AACA;AACA;AACA;AACA;;;AACA,kCAAgC;AAC5B,QAAIoC,SAAS,GAAb;AAAA,QACIC,KAAK,GADT;AAGArC,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAI,CAAC+B,IAAI,CAAT,OAAiB;AACbO,eAAO,CAAPA,IAAO,CAAPA;AACH;AAHLtC;;AAMA,2BAAuB;AACnB+B,UAAI,CAAJA,QAAaM,KAAbN;AACAA,UAAI,CAAJA,WAAgBA,IAAI,CAApBA;AACAA,UAAI,CAAJA;AACAK,eAAS,CAATA;;AAEA,UAAIL,IAAI,CAAR,aAAsB;AAClBA,YAAI,CAAJA,oBAAyB,sBAAsB;AAC3C,cAAIE,MAAM,GAAGM,UAAU,CAAvB;;AACA,cAAI,CAACN,MAAM,CAANA,eAAL,OAAKA,CAAL,EAAqC;AACjCK,mBAAO,CAAPA,MAAO,CAAPA;AACAP,gBAAI,CAAJA,WAAgBG,IAAI,CAAJA,IAASH,IAAI,CAAbG,UAAwBD,MAAM,CAA9CF,QAAgBG,CAAhBH;AAFJ,iBAGO,IAAIE,MAAM,CAAV,SAAoB;AACvBF,gBAAI,CAAJA,WAAgBG,IAAI,CAAJA,IAASH,IAAI,CAAbG,UAAwBD,MAAM,CAA9CF,KAAgBG,CAAhBH;AACH;AAPLA;;AAUA,YAAIA,IAAI,CAAJA,aAAkBA,IAAI,CAA1B,OAAkC;AAC9B,cAAIS,SAAS,GAAb;AAAA;;AAEA,aAAG;AACCC,uBAAW,GAAGL,SAAS,CAAvBK,GAAcL,EAAdK;AACAA,uBAAW,CAAXA;AACAD,qBAAS,CAATA;AAHJ,mBAISC,WAAW,IAJpB;;AAKAvC,oBAAU,CAAVA,KAAgB;AACZwC,gBAAI,EADQ;AAEZC,eAAG,EAAEH;AAFO,WAAhBtC;AAIH;AACJ;AACJ;;AAEDA,cAAU,CAAVA,QAAmB,wBAAwB;AACvCsC,eAAS,CAATA;AACAA,eAAS,CAATA,YAAsB,gBAAgB;AAClCT,YAAI,CAAJA;AADJS;AAFJtC;AA9U6B,IAsVjC;AACA;;;AACA,iCAA+B;AAC3B0C,mBAAe;AAEf1C,cAAU,CAAVA,QAAmB,wBAAwB;AACvC2C,SAAG,CAACL,SAAS,CAAV,MAAiB,gBAAgB;AAChC,YAAIM,MAAM,GAAG,IAAI,CAAJ,mBACD,sBAAsB;AAC1B,iBAAOP,UAAU,CAAVA,oBAAP;AAFK,eAIJ,sBAAsB;AACvB,iBAAOA,UAAU,CAAjB;AALR,SAAa,CAAb;AAOA;AARJM,OAAG,CAAHA;AADJ3C;AAaA,QAAI6C,GAAG,GAAP;AACA,QAAIC,mBAAmB,GAAG,0DAAM,GAAN,IACjB,aAAa;AACd,aAAOpC,CAAC,CAAR;AAFkB,4FAMjB,aAAa;AACd,aAAOA,CAAC,CAAR;AAPR,KAA0B,CAA1B;AAUA,QAAImC,GAAG,GAAG,CAAV;AAAA,QACIE,OAAO,GAAG,CADd;AAEAD,uBAAmB,CAAnBA,QAA4B,aAAa;AACrCE,OAAC,CAADA,QAAU,qBAAqB;AAC3BV,iBAAS,CAATA,IAAcO,GAAG,GAAjBP;AACAA,iBAAS,CAATA,YAAsB,gBAAgB;AAClC,cAAIT,IAAI,CAAR,OAAgBA,IAAI,CAAJA,IAASA,IAAI,CAA7B,KAAgBA,CAAhB,KACKA,IAAI,CAAJA,IAASS,SAAS,CAATA,IAAcT,IAAI,CAA3BA;AACLkB,iBAAO,GAAGf,IAAI,CAAJA,aAAkBH,IAAI,CAAhCkB,CAAUf,CAAVe;AAHJT;AAFJU;AAQAH,SAAG,GAAHA;AATJC;AAYAhD,SAAK,CAALA,OACY,gBAAgB;AACpB,UAAImD,QAAQ,GAAG,IAAI,CAAJ,mBAAwB,gBAAgB;AACnD,eAAOrB,IAAI,CAAJA,eAAoBA,IAAI,CAAJA,OAA3B;AADJ,OAAe,CAAf;AAGA,aAAOqB,QAAQ,CAARA,UAAP;AALRnD,eAOa,gBAAgB;AACrB+B,UAAI,CAAJA,IAASA,IAAI,CAAJA,QAAaA,IAAI,CAAjBA,IAATA;AARR/B;AAWAoD,qBAAiB,CAAC,CAACrD,IAAI,CAAJA,CAAI,CAAJA,GAAD,aAAwBmC,IAAI,CAAJA,SAA1CkB,CAA0ClB,CAAzB,CAAjBkB;;AAEA,wBAAoB;AAChB,aAAO,oBAAP,CAAO,CAAP;AACH;;AAED,+BAA2B;AACvB,UAAIC,mBAAmB,GAAvB;AAAA;AAAA;AAAA,UAGI7B,CAAC,GAHL;;AAKA,aAAO6B,mBAAmB,CAA1B,QAAmC;AAC/BC,sBAAc,GAAdA;AACAC,oBAAY,GAAZA;AAEAF,2BAAmB,CAAnBA,QAA4B,qBAAqB;AAC7Cb,mBAAS,CAATA;AAEAA,mBAAS,CAATA,YAAsB,aAAa;AAC/BgB,aAAC,CAADA,oBAAsB,aAAa;AAC/B,kBACI,CAACD,YAAY,CAAZA,eAA4BE,CAAC,CAADA,OAA7B,SAACF,CAAD,IACAE,CAAC,CAADA,oBAAsBjB,SAAS,CAFnC,OAGE;AACEc,8BAAc,CAAdA,KAAoBpD,UAAU,CAACuD,CAAC,CAADA,OAA/BH,SAA8B,CAA9BA;AACAC,4BAAY,CAACE,CAAC,CAADA,OAAbF,SAAY,CAAZA;AACH;AAPLC;AADJhB;AAHJa;AAgBAA,2BAAmB,GAAnBA;AACA;AACH;AACJ;;AAED,uCAAmC;AAC/B,UAAIK,KAAK,GAAG,CAAZ,IAAY,CAAZ;AAAA,UACIC,YAAY,GADhB;AAAA,UAEIC,SAAS,GAFb;AAGA,UAAIpC,CAAC,GAAL;;AAEA,aAAOmC,YAAY,GAAnB,GAAyB;AACrB,YAAIlB,WAAW,GAAGiB,KAAK,CAAvB,KAAkBA,EAAlB;AACAC,oBAAY;;AAEZ,YAAI,CAAClB,WAAW,CAAXA,eAAL,GAAKA,CAAL,EAAsC;AAClCA,qBAAW,CAAXA;AACAA,qBAAW,CAAXA;AAEA,cAAIoB,OAAO,GAAGC,cAAc,CAA5B,WAA4B,CAA5B;AAEAJ,eAAK,GAAGA,KAAK,CAALA,OAARA,OAAQA,CAARA;AACAE,mBAAS,IAAIC,OAAO,CAApBD;AACH;;AAED,YAAID,YAAY,IAAhB,GAAuB;AACnB;AACAnC,WAAC;AACDmC,sBAAY,GAAZA;AACAC,mBAAS,GAATA;AACH;AACJ;AAnHsB,MAsH3B;;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACK;;AAED,8BAA4B;AACxB5D,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAI,CAAC+B,IAAI,CAAJA,YAAL,QAA8B;AAC1BA,YAAI,CAAJA,IACI,oDAAK,CAACA,IAAI,CAAL,aAAmB,aAAa;AACjC,iBAAOnB,CAAC,CAADA,OAAP;AADJ,SAAK,CAAL,GADJmB;AAIH;AANL/B;AAQH;;AAED,6BAA2B;AACvBA,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAI,CAAC+B,IAAI,CAAJA,YAAL,QAA8B;AAC1BA,YAAI,CAAJA,IAASP,CAAC,GAAVO;AACH;AAHL/B;AAKH;;AAED,iCAA+B;AAC3BA,SAAK,CAALA,QAAc,gBAAgB;AAC1B+B,UAAI,CAAJA;AADJ/B;AAGH;;AAED,yCAAuC;AACnC,QAAI+D,cAAc,GAAG,0DAAM,GAAN,IACZ,aAAa;AACd,aAAOnD,CAAC,CAAR;AAFa,uFAMZ,aAAa;AACd,aAAOA,CAAC,CAAR;AAPR,KAAqB,CAArB;AAUAoD,uBAAmB;AACnBC,qBAAiB;;AAEjB,SAAK,IAAIC,KAAK,GAAd,GAAoBC,UAAU,GAA9B,GAAoC,EAApC,YAAkD;AAC9CC,sBAAgB,CAAEF,KAAK,IAAvBE,IAAgB,CAAhBA;AACAH,uBAAiB;AACjBI,sBAAgB,CAAhBA,KAAgB,CAAhBA;AACAJ,uBAAiB;AACpB;;AAED,mCAA+B;AAC3B,UAAIK,EAAE,GAAGC,oDAAK,iBAAiB,iBAAiB;AAC5C,eAAO,CAACxE,IAAI,CAAJA,CAAI,CAAJA,GAAU,CAACC,KAAK,CAALA,SAAD,KAAX,eAA+CmC,oDAAK,QAA3D,KAA2D,CAA3D;AADJ,OAAc,CAAd;AAIA4B,oBAAc,CAAdA,QAAuB,iBAAiB;AACpC/D,aAAK,CAALA,QAAc,mBAAmB;AAC7B+B,cAAI,CAAJA;AACAA,cAAI,CAAJA,KAAUA,IAAI,CAAJA,QAAVA;AAFJ/B;AADJ+D;AAOA9D,WAAK,CAALA,QAAc,gBAAgB;AAC1B6B,YAAI,CAAJA,KAAUA,IAAI,CAAJA,QAAVA;AADJ7B;AAGH;;AAED,qCAAiC;AAC7B8D,oBAAc,CAAdA,QAAuB,0BAA0B;AAC7C/D,aAAK,CAALA,QAAc,gBAAgB;AAC1B,cAAI+B,IAAI,CAAJA,YAAJ,QAA6B;AACzB,gBAAIyC,CAAC,GAAGrC,oDAAK,CAACJ,IAAI,CAAL,aAALI,cAAK,CAALA,GAA0CA,oDAAK,CAACJ,IAAI,CAAL,aAAvD,KAAuD,CAAvD;AACAA,gBAAI,CAAJA,KAAU,CAACyC,CAAC,GAAGC,MAAM,CAAX,IAAW,CAAX,IAAV1C;AACH;AAJL/B;AADJ+D;;AASA,oCAA8B;AAC1B,eAAOU,MAAM,CAAC3C,IAAI,CAAX2C,MAAM,CAANA,GAAsB3C,IAAI,CAAjC;AACH;AACJ;;AAED,qCAAiC;AAC7BiC,oBAAc,CAAdA,0BAGa,iBAAiB;AACtB/D,aAAK,CAALA,QAAc,gBAAgB;AAC1B,cAAI+B,IAAI,CAAJA,YAAJ,QAA6B;AACzB,gBAAIyC,CAAC,GAAGrC,oDAAK,CAACJ,IAAI,CAAL,aAALI,cAAK,CAALA,GAA0CA,oDAAK,CAACJ,IAAI,CAAL,aAAvD,KAAuD,CAAvD;AACAA,gBAAI,CAAJA,KAAU,CAACyC,CAAC,GAAGC,MAAM,CAAX,IAAW,CAAX,IAAV1C;AACH;AAJL/B;AAJR+D;;AAYA,oCAA8B;AAC1B,eAAOU,MAAM,CAAC3C,IAAI,CAAX2C,MAAM,CAANA,GAAsB3C,IAAI,CAAjC;AACH;AACJ;;AAED,iCAA6B;AACzBiC,oBAAc,CAAdA,QAAuB,iBAAiB;AACpC;AAAA;AAAA,YAEI7C,EAAE,GAFN;AAAA,YAGIsC,CAAC,GAAGxD,KAAK,CAHb;AAAA,YADoC,CACpC,CADoC,CAOpC;;AACAA,aAAK,CAALA;;AACA,aAAK0E,CAAC,GAAN,GAAYA,CAAC,GAAb,GAAmB,EAAnB,GAAwB;AACpB3C,cAAI,GAAG/B,KAAK,CAAZ+B,CAAY,CAAZA;;AACA,oBAAU;AACN4C,cAAE,GAAGzD,EAAE,GAAGa,IAAI,CAAd4C;AACA,gBAAIA,EAAE,GAAN,GAAY5C,IAAI,CAAJA;AACZb,cAAE,GAAGa,IAAI,CAAJA,IAASA,IAAI,CAAbA,KAALb;AACH;AAf+B,UAkBpC;;;AACAyD,UAAE,GAAGzD,EAAE,GAAFA,cAAmBnB,IAAI,CAA5B4E,CAA4B,CAA5BA;;AACA,YAAI5C,IAAI,IAAI4C,EAAE,GAAd,GAAoB;AAChBzD,YAAE,GAAGa,IAAI,CAAJA,KADW,EAChBb,CADgB,CAGhB;;AACA,eAAKwD,CAAC,GAAGlB,CAAC,GAAV,GAAgBkB,CAAC,IAAjB,GAAwB,EAAxB,GAA6B;AACzB3C,gBAAI,GAAG/B,KAAK,CAAZ+B,CAAY,CAAZA;AACA4C,cAAE,GAAG5C,IAAI,CAAJA,IAASA,IAAI,CAAbA,mBAAL4C;AACA,gBAAIA,EAAE,GAAN,GAAY5C,IAAI,CAAJA;AACZb,cAAE,GAAGa,IAAI,CAATb;AACH;AACJ;AA9BL6C;AAgCH;;AAED,kCAA8B;AAC1B,aAAOa,CAAC,CAADA,IAAMC,CAAC,CAAd;AA3G+B,MA8GnC;;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACK;;AAED,+BAA6B;AACzB7E,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAM8E,iBAAiB,GAAvB;;AACA,6BAAuB,CAAvB,OACO/C,IAAI,CAAJA;;AACPA,UAAI,CAAJA;AAJJ/B;AAMAA,SAAK,CAALA,QAAc,gBAAgB;AAC1B,UAAI+E,EAAE,GAAN;AAAA,UACIC,EAAE,GADN;AAEAjD,UAAI,CAAJA,oBAAyB,gBAAgB;AACrCD,YAAI,CAAJA;AACAiD,UAAE,IAAIjD,IAAI,CAAViD;AAFJhD;AAIAA,UAAI,CAAJA,oBAAyB,gBAAgB;AACrCD,YAAI,CAAJA;AACAkD,UAAE,IAAIlD,IAAI,CAAVkD;AAFJjD;AAPJ/B;;AAaA,wCAAoC;AAChC,aAAO4E,CAAC,CAADA,WAAaC,CAAC,CAADA,OAApB;AACH;;AAED,wCAAoC;AAChC,aAAOD,CAAC,CAADA,WAAaC,CAAC,CAADA,OAApB;AACH;AACJ;;AAED,wBAAsB;AAClB,WAAO9C,IAAI,CAAJA,IAASA,IAAI,CAAJA,KAAhB;AACH;;AAED,uBAAqB;AACjB,WAAOD,IAAI,CAAX;AACH;;AAED;AA9oBG,E;;;;;;;;;;;;;ACNP;;AACA;;AAEA;;AACA;;AAOA;;AACA;;AACA;;AAEA,IAAM,mBAAmB,GAAG,GAA5B;;AAYA,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,SAAD,EAAoB,WAApB,EAA6D;AAChF,MAAI,CAAC,WAAD,IAAgB,CAAC,WAAW,CAAC,MAAjC,EAAyC;AACrC,WAAO,iCAAP;AACH;;AACD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAZ,CAAiB,cAAI;AAAA,WAAI,IAAI,CAAC,KAAL,KAAe,SAAnB;AAAA,GAArB,CAArB;AACA,SAAO,YAAY,GAAG,iCAAH,GAA0B,6BAA7C;AACH,CAND;;AAQA,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,IAAD,EAAiB;AACnC,SAAO,IAAI,CAAC,EAAL,GAAU,CAAV,GAAc,CAAd,GAAkB,IAAI,CAAC,EAA9B;AACH,CAFD;;AAIA,IAAM,SAAS,GAAG,4BAAO,CAAV;AAAA;AAAA;AAAA,sBACA,eAAK;AAAA,SAAI,cAAc,CAAC,KAAK,CAAC,IAAN,CAAW,KAAZ,EAAmB,KAAK,CAAC,WAAzB,CAAlB;AAAA,CADL,CAAf;AAGA,SAAS,CAAC,WAAV,GAAwB,WAAxB;AAEA,IAAM,QAAQ,GAAG,4BAAO,IAAV;AAAA;AAAA;AAAA,mBAIF,eAAK;AAAA,SACT,OAAO,KAAK,CAAC,oBAAb,KAAsC,UAAtC,GACM,KAAK,CAAC,oBAAN,CAA2B,KAAK,CAAC,IAAN,CAAW,IAAtC,CADN,GAEM,+BAHG;AAAA,CAJH,CAAd;AAUA,IAAM,QAAQ,GAAG,4BAAO,IAAV;AAAA;AAAA;AAAA,0FACK,eAAK;AAAA,SAAK,KAAK,CAAC,IAAN,CAAW,CAAX,GAAe,KAAK,CAAC,UAAN,GAAmB,CAAlC,GAAsC,OAAtC,GAAgD,KAArD;AAAA,CADV,EAGK,gCAHL,EAKF,eAAK;AAAA,SAAI,KAAK,CAAC,aAAV;AAAA,CALH,CAAd;;AAQA,IAAM,UAAU,GAAG,SAAb,UAAa,CAAC,KAAD,EAA2B;AAAA,MAEtC,IAFsC,GAUtC,KAVsC,CAEtC,IAFsC;AAAA,MAGtC,WAHsC,GAUtC,KAVsC,CAGtC,WAHsC;AAAA,MAItC,SAJsC,GAUtC,KAVsC,CAItC,SAJsC;AAAA,MAKtC,UALsC,GAUtC,KAVsC,CAKtC,UALsC;AAAA,MAMtC,eANsC,GAUtC,KAVsC,CAMtC,eANsC;AAAA,MAOtC,gBAPsC,GAUtC,KAVsC,CAOtC,gBAPsC;AAAA,MAQtC,oBARsC,GAUtC,KAVsC,CAQtC,oBARsC;AAAA,MAStC,aATsC,GAUtC,KAVsC,CAStC,aATsC;AAY1C,MAAM,WAAW,GAAG,gBAApB;AAEA,oBAAU,YAAK;AACX,8CAA4B,WAAW,CAAC,OAAxC,EAAiD,IAAI,CAAC,IAAtD,EAA4D,mBAA5D;AACH,GAFD;AAIA,SACI,oBAAC,SAAD,EAAU;AACN,QAAI,EAAE,IADA;AAEN,eAAW,EAAE,WAFP;AAGN,aAAS,EAAC,MAHJ;AAIN,OAAG,iBAAU,IAAI,CAAC,KAAf,CAJG;AAImB,gCACN,IAAI,CAAC,KADC,CAJnB;AAMN,aAAS,sBAAe,IAAI,CAAC,CAApB,cAAyB,IAAI,CAAC,CAA9B;AANH,GAAV,EAQI,oBAAC,KAAK,CAAC,QAAP,EAAe,IAAf,EACI,oBAAC,QAAD,EAAS;AACL,QAAI,EAAE,IADD;AAEL,UAAM,EAAE,aAAa,CAAC,IAAD,CAFhB;AAGL,SAAK,EAAE,SAHF;AAIL,wBAAoB,EAAE,oBAJjB;AAKL,eAAW,EAAE,uBAAE;AAAA,aAAI,eAAe,CAAC,EAAD,CAAnB;AAAA,KALV;AAML,gBAAY,EAAE,wBAAE;AAAA,aAAI,gBAAgB,CAAC,EAAD,CAApB;AAAA;AANX,GAAT,CADJ,EASI,oBAAC,QAAD,EAAS;AACL,OAAG,EAAE,WADA;AAEL,QAAI,EAAE,IAFD;AAGL,cAAU,EAAE,UAHP;AAIL,KAAC,EAAE,IAAI,CAAC,CAAL,GAAU,UAAqB,GAAG,CAAlC,GAAsC,IAAI,SAA1C,GAAsD,CAAC,CAJrD;AAKL,KAAC,EAAE,IAAI,CAAC,EAAL,GAAU,CALR;AAML,MAAE,EAAC,OANE;AAOL,iBAAa,EAAE;AAPV,GAAT,EASK,IAAI,CAAC,IATV,CATJ,CARJ,CADJ;AAgCH,CAlDD;;AAoDA,UAAU,CAAC,SAAX,GAAuB;AACnB,MAAI,EAAE,CAAC,CAAC,MADW;AAEnB,aAAW,EAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CAFM;AAGnB,WAAS,EAAE,CAAC,CAAC,MAHM;AAInB,YAAU,EAAE,CAAC,CAAC,MAJK;AAKnB,iBAAe,EAAE,CAAC,CAAC,IALA;AAMnB,kBAAgB,EAAE,CAAC,CAAC,IAND;AAOnB,sBAAoB,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,IAAH,EAAS,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CAAT,CAAZ,CAPH;AAQnB,eAAa,EAAE,CAAC,CAAC;AARE,CAAvB;AAWA,UAAU,CAAC,YAAX,GAA0B;AACtB,iBAAe,EAAE,2BAAK,CAAG,CADH;AAEtB,kBAAgB,EAAE,4BAAK,CAAG;AAFJ,CAA1B;AAKA,kBAAe,UAAf,C;;;;;;;;;;;;;AClIA;;AACA;;AACA;;AAGA;;AAaA,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,IAAD,EAAO,oBAAP,EAA6B,SAA7B,EAA0C;AAC1D,MAAI,SAAS,KAAK,aAAlB,EAAiC;AAC7B,WAAO,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAL,CAAY,IAAb,CAAvB,GAA4C,+BAAvE;AACH,GAFD,MAEO;AACH,WAAO,oBAAoB,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAN,CAA5C,GACD,oBAAoB,CAAC,IAAI,CAAC,KAAN,CADnB,GAED,+BAFN;AAGH;AACJ,CARD;;AAUA,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,IAAD,EAAuB,WAAvB,EAAsD,WAAtD,EAA6E;AAChG,MAAI,CAAC,WAAD,IAAgB,CAAC,WAAW,CAAC,MAAjC,EAAyC;AACrC,WAAO,WAAP;AACH;;AACD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAZ,CAAiB,WAAC;AAAA,WAAI,CAAC,CAAC,EAAF,KAAS,IAAI,CAAC,EAAlB;AAAA,GAAlB,CAArB;AACA,SAAO,YAAY,GAAG,WAAH,GAAiB,6BAApC;AACH,CAND;;AAQA,IAAM,UAAU,GAAG,SAAb,UAAa,CAAC,KAAD,EAA2B;AAAA,MAEtC,IAFsC,GAUtC,KAVsC,CAEtC,IAFsC;AAAA,MAGtC,oBAHsC,GAUtC,KAVsC,CAGtC,oBAHsC;AAAA,MAItC,WAJsC,GAUtC,KAVsC,CAItC,WAJsC;AAAA,MAKtC,WALsC,GAUtC,KAVsC,CAKtC,WALsC;AAAA,MAMtC,SANsC,GAUtC,KAVsC,CAMtC,SANsC;AAAA,MAOtC,IAPsC,GAUtC,KAVsC,CAOtC,IAPsC;AAAA,MAQtC,eARsC,GAUtC,KAVsC,CAQtC,eARsC;AAAA,MAStC,gBATsC,GAUtC,KAVsC,CAStC,gBATsC,EAW1C;AACA;;AACA,MAAM,YAAY,GAAG,kCAAoB,IAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR,CAApB,CAArB;AACA,SACI;AACI,aAAS,EAAC,MADd;AAEI,OAAG,EAAE,IAAI,CAAC,EAFd;AAGI,MAAE,EAAE,IAAI,CAAC,EAHb;AAGe,iBACA,IAAI,CAAC,EAJpB;AAKI,QAAI,EAAE,WAAW,CAAC,IAAD,EAAO,oBAAP,EAA6B,SAA7B,CALrB;AAMI,WAAO,EAAE,cAAc,CAAC,IAAD,EAAO,WAAP,EAAoB,WAApB,CAN3B;AAOI,eAAW,EAAE,uBAAE,EAAG;AACd,qBAAe,CAAC,EAAD,CAAf;AACH,KATL;AAUI,gBAAY,EAAE,wBAAE,EAAG;AACf,UAAM,aAAa,GAAG,EAAE,CAAC,aAAzB;AACA,UAAI,sBAAsB,GAAG,KAA7B,CAFe,CAGf;AACA;AACA;;AACA,UAAI,aAAa,IAAI,aAAa,CAAC,SAAnC,EAA8C;AAC1C,YAAM,SAAS,GAAG,aAAa,CAAC,SAAhC;AACA,iBAAS,CAAC,OAAV,CAAkB,cAAI,EAAG;AACrB,cACI,IAAI,CAAC,iBAAL,GAAyB,OAAzB,CAAiC,eAAjC,IAAoD,CAAC,CAArD,IACA,IAAI,CAAC,iBAAL,GAAyB,OAAzB,CAAiC,eAAjC,IAAoD,CAAC,CAFzD,EAGE;AACE,kCAAsB,GAAG,IAAzB;AACA;AACH;AACJ,SARD;AASH;;AACD,UAAI,CAAC,sBAAL,EAA6B;AACzB,wBAAgB,CAAC,EAAD,CAAhB;AACH;AACJ;AA/BL,KAiCI;AAAM,KAAC,EAAE,IAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR;AAAT,IAjCJ,EAkCI;AAAM,KAAC,EAAE,IAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR;AAAT,IAlCJ,EAmCI;AAAM,KAAC,EAAE,IAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR;AAAT,IAnCJ,EAoCK,YAAY,IACT;AAAQ,MAAE,EAAE,YAAY,CAAC,CAAzB;AAA4B,MAAE,EAAE,YAAY,CAAC,CAA7C;AAAgD,KAAC,EAAE,CAAnD;AAAsD,QAAI,EAAC;AAA3D,IArCR,CADJ;AA0CH,CAxDD;;AA0DA,UAAU,CAAC,SAAX,GAAuB;AACnB,MAAI,EAAE,CAAC,CAAC,MADW;AAEnB,aAAW,EAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CAFM;AAGnB,aAAW,EAAE,CAAC,CAAC,MAHI;AAInB,MAAI,EAAE,CAAC,CAAC,IAJW;AAKnB,iBAAe,EAAE,CAAC,CAAC,IALA;AAMnB,kBAAgB,EAAE,CAAC,CAAC,IAND;AAOnB,sBAAoB,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,IAAH,EAAS,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CAAT,CAAZ;AAPH,CAAvB;AAUA,UAAU,CAAC,YAAX,GAA0B;AACtB,iBAAe,EAAE,2BAAK,CAAG,CADH;AAEtB,kBAAgB,EAAE,4BAAK,CAAG;AAFJ,CAA1B;AAKA,kBAAe,UAAf,C;;;;;;;;;;;;;AC7GA;;AACA;;AASA;;AACA;;AACA;;AACA;;AAEA,IAAM,iBAAiB,GAAG,OAA1B;AAmBA,IAAM,sBAAsB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,wFAA5B;AAQA,IAAM,oBAAoB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,kHAA1B;AAWA,IAAM,mBAAmB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,iGAKZ,eAAK;AAAA,SAAI,KAAK,CAAC,WAAV;AAAA,CALO,CAAzB;AAQA,IAAM,uBAAuB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,mHAMhB,eAAK;AAAA,SAAI,KAAK,CAAC,eAAV;AAAA,CANW,CAA7B;AASA,IAAM,gBAAgB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,mHAKT,eAAK;AAAA,SAAI,KAAK,CAAC,QAAV;AAAA,CALI,CAAtB;AASA,IAAM,qBAAqB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,sFAA3B;AAOA,IAAM,sBAAsB,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,wBAA5B;AAIA,IAAM,SAAS,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,sDAGS,eAAK;AAAA,SACrB,OAAO,KAAK,CAAC,oBAAb,KAAsC,UAAtC,GACM,KAAK,CAAC,oBAAN,CAA2B,KAAK,CAAC,IAAN,CAAW,IAAtC,CADN,GAEM,+BAHe;AAAA,CAHd,CAAf;AASA,IAAM,SAAS,GAAG,4BAAO,GAAV;AAAA;AAAA;AAAA,kGAAf;;AAQA,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,KAAD,EAA8B;AAAA,MAE5C,IAF4C,GAe5C,KAf4C,CAE5C,IAF4C;AAAA,MAG5C,IAH4C,GAe5C,KAf4C,CAG5C,IAH4C;AAAA,MAI5C,IAJ4C,GAe5C,KAf4C,CAI5C,IAJ4C;AAAA,MAK5C,IAL4C,GAe5C,KAf4C,CAK5C,IAL4C;AAAA,MAM5C,cAN4C,GAe5C,KAf4C,CAM5C,cAN4C;AAAA,MAO5C,MAP4C,GAe5C,KAf4C,CAO5C,MAP4C;AAAA,MAQ5C,SAR4C,GAe5C,KAf4C,CAQ5C,SAR4C;AAAA,MAS5C,oBAT4C,GAe5C,KAf4C,CAS5C,oBAT4C;AAAA,MAU5C,KAV4C,GAe5C,KAf4C,CAU5C,KAV4C;AAAA,MAW5C,eAX4C,GAe5C,KAf4C,CAW5C,eAX4C;AAAA,MAY5C,sBAZ4C,GAe5C,KAf4C,CAY5C,sBAZ4C;AAAA,MAa5C,kBAb4C,GAe5C,KAf4C,CAa5C,kBAb4C;AAAA,MAc5C,yBAd4C,GAe5C,KAf4C,CAc5C,yBAd4C;;AAiBhD,MAAM,WAAW,GAAG,SAAd,WAAc,CAChB,UADgB,EAEhB,QAFgB,EAGhB,OAHgB,EAIP;AACT,QAAI,CAAC,UAAL,EAAiB;AACb,aAAO,KAAP;AACH;;AACD,QAAM,eAAe,GAAG,OAAO,KAAK,QAAZ,GAAuB,UAAU,CAAC,WAAlC,GAAgD,UAAU,CAAC,WAAnF;AACA,QAAM,aAAa,GAAG,eAAe,CAAC,MAAhB,CAAuB,eAAK;AAAA,aAAI,KAAK,CAAC,KAAN,KAAgB,QAAQ,CAAC,KAA7B;AAAA,KAA5B,CAAtB;AACA,WAAO,aAAa,CAAC,MAAd,GAAuB,CAA9B;AACH,GAXD;;AAaA,MAAM,mBAAmB,GAAG,SAAtB,mBAAsB,CAAC,aAAD,EAAwD;AAChF,QAAI,CAAC,aAAL,EAAoB;AAChB,aAAO,iBAAP;AACH;;AACD,QAAM,IAAI,GAAG,aAAa,CAAC,qBAAd,EAAb,CAJgF,CAMhF;AACA;;AACA,QAAI,IAAI,CAAC,CAAL,IAAU,EAAd,EAAkB;AACd,aAAO,OAAP;AACH,KAFD,MAEO,IAAI,IAAI,CAAC,CAAL,IAAU,KAAK,GAAG,EAAtB,EAA0B;AAC7B;AACA,aAAO,MAAP;AACH;;AAED,WAAO,iBAAP;AACH,GAhBD;;AAkBA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,GAAK;AAC3B,QAAI,CAAC,IAAL,EAAW;AACP,aAAO,IAAP;AACH;;AACD,QAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,KAAN,CAAlC;AACA,WACI,oBAAC,iBAAD,EAAQ;AACJ,UAAI,EAAE,IADF;AAEJ,YAAM,EAAE,MAFJ;AAGJ,oBAAc,EAAE;AAAA,eAAM,yBAAyB,EAA/B;AAAA,OAHZ;AAIJ,sBAAgB,EAAE,mBAAmB,CAAC,MAAD;AAJjC,KAAR,EAMI,oBAAC,sBAAD,EAAuB;AAAC,eAAS,EAAC;AAAX,KAAvB,EACI,oBAAC,gBAAD,EAAiB;AAAC,cAAQ,EAAE,eAAX;AAA0B,mBAAY;AAAtC,KAAjB,EACI,oBAAC,qBAAD,EAAsB;AAAA,mBAAW;AAAX,KAAtB,EACI,oBAAC,SAAD,EAAU;AAAC,UAAI,EAAE,IAAP;AAAa,0BAAoB,EAAE;AAAnC,KAAV,CADJ,EAEI,oBAAC,SAAD,EAAU,IAAV,EAAY,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,IAAlB,CAFJ,CADJ,EAKI,oBAAC,sBAAD,EAAuB;AAAA,mBAAW;AAAX,KAAvB,EACK,2BAAa,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,KAAnB,EAA0B,CAA1B,EAA6B;AAAE,mBAAa,EAAE;AAAjB,KAA7B,CADL,CALJ,CADJ,EAUK,WAAW,CAAC,WAAD,EAAc,IAAd,EAAoB,QAApB,CAAX,IACG,oBAAC,mBAAD,EAAoB;AAAC,iBAAW,EAAE;AAAd,KAApB,EACI,oBAAC,qBAAD,EAAsB,IAAtB,EAAsB,QAAtB,CADJ,EAEI,oBAAC,sBAAD,EAAuB,IAAvB,EAAyB,SAAzB,CAFJ,CAXR,EAgBI,oBAAC,oBAAD,EAAqB,IAArB,EACK,WAAW,IACR,WAAW,CAAC,WAAZ,CAAwB,GAAxB,CAA4B,UAAC,KAAD,EAAQ,GAAR,EAAe;;;AACvC,UACI,MAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,KAAP,OAAiB,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,KAAvB,KACA,kBAAW,CAAC,WAAZ,CAAwB,GAAxB,OAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE,KAA9B,OACI,iBAAW,CAAC,WAAZ,CAAwB,GAAxB,OAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE,KADlC,CAFJ,EAIE;AACE,eACI,oBAAC,gBAAD,EAAiB;AACb,aAAG,EAAE,KAAK,CAAC,KADE;AAEb,kBAAQ,EAAE,eAFG;AAEY,uBACf;AAHG,SAAjB,EAKI,oBAAC,qBAAD,EAAsB,IAAtB,EACI,oBAAC,SAAD,EAAU;AACN,cAAI,EAAE,KADA;AAEN,8BAAoB,EAAE;AAFhB,SAAV,CADJ,EAKI,oBAAC,SAAD,EAAU;AAAA,uBAAW;AAAX,SAAV,EACK,KAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,IADZ,CALJ,CALJ,EAcI,oBAAC,sBAAD,EAAuB;AAAA,uBAAW;AAAX,SAAvB,EACK,2BAAa,KAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,KAApB,EAA2B,CAA3B,EAA8B;AAAE,uBAAa,EAAE;AAAjB,SAA9B,CADL,CAdJ,CADJ;AAoBH;AACJ,KA3BD,CAFR,CAhBJ,EA+CK,WAAW,CAAC,WAAD,EAAc,IAAd,EAAoB,QAApB,CAAX,IACG,oBAAC,mBAAD,EAAoB;AAAC,iBAAW,EAAE;AAAd,KAApB,EACI,oBAAC,qBAAD,EAAsB,IAAtB,EAAsB,QAAtB,CADJ,EAEI,oBAAC,sBAAD,EAAuB,IAAvB,EAAyB,SAAzB,CAFJ,CAhDR,EAqDI,oBAAC,oBAAD,EAAqB,IAArB,EACK,WAAW,IACR,WAAW,CAAC,WAAZ,CAAwB,GAAxB,CAA4B,UAAC,KAAD,EAAQ,GAAR,EAAe;;;AACvC,UACI,MAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,KAAP,OAAiB,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,KAAvB,KACA,kBAAW,CAAC,WAAZ,CAAwB,GAAxB,OAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE,KAA9B,OACI,iBAAW,CAAC,WAAZ,CAAwB,GAAxB,OAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAE,KADlC,CAFJ,EAIE;AACE,eACI,oBAAC,gBAAD,EAAiB;AACb,aAAG,EAAE,KAAK,CAAC,KADE;AAEb,kBAAQ,EAAE,eAFG;AAEY,uBACf;AAHG,SAAjB,EAKI,oBAAC,qBAAD,EAAsB,IAAtB,EACI,oBAAC,SAAD,EAAU;AACN,cAAI,EAAE,KADA;AAEN,8BAAoB,EAAE;AAFhB,SAAV,CADJ,EAKI,oBAAC,SAAD,EAAU;AAAA,uBAAW;AAAX,SAAV,EACK,KAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,IADZ,CALJ,CALJ,EAcI,oBAAC,sBAAD,EAAuB;AAAA,uBAAW;AAAX,SAAvB,EACK,2BAAa,KAAK,SAAL,SAAK,WAAL,GAAK,MAAL,QAAK,CAAE,KAApB,EAA2B,CAA3B,EAA8B;AAAE,uBAAa,EAAE;AAAjB,SAA9B,CADL,CAdJ,CADJ;AAoBH;AACJ,KA3BD,CAFR,CArDJ,CANJ,CADJ;AA8FH,GAnGD;;AAqGA,MAAM,iBAAiB,GAAG,SAApB,iBAAoB,GAAK;;;AAC3B,QAAI,CAAC,IAAL,EAAW;AACP,aAAO,IAAP;AACH;;AACD,WACI,oBAAC,iBAAD,EAAQ;AAAC,UAAI,EAAE,IAAP;AAAa,YAAM,EAAE,MAArB;AAA6B,oBAAc,EAAE;AAAA,eAAM,yBAAyB,EAA/B;AAAA;AAA7C,KAAR,EACI,oBAAC,sBAAD,EAAuB;AAAC,eAAS,EAAC;AAAX,KAAvB,EACI,oBAAC,uBAAD,EAAwB;AAAC,qBAAe,EAAE,sBAAlB;AAAwC,mBAAY;AAApD,KAAxB,EACI,oBAAC,qBAAD,EAAsB;AAAA,mBAAW;AAAX,KAAtB,EAAgD,WAAhD,CADJ,EAEI,oBAAC,sBAAD,EAAuB;AAAA,mBAAW;AAAX,KAAvB,EACK,2BAAa,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,KAAnB,EAA0B,CAA1B,EAA6B;AAAE,mBAAa,EAAE;AAAjB,KAA7B,CADL,CAFJ,CADJ,EAOI,oBAAC,mBAAD,EAAoB;AAAC,iBAAW,EAAE;AAAd,KAApB,EACI,oBAAC,qBAAD,EAAsB,IAAtB,EAAsB,QAAtB,CADJ,EAEI,oBAAC,sBAAD,EAAuB,IAAvB,EAAyB,SAAzB,CAFJ,CAPJ,EAWI,oBAAC,oBAAD,EAAqB,IAArB,EACI,oBAAC,gBAAD,EAAiB;AAAC,cAAQ,EAAE,eAAX;AAA0B,mBAAY;AAAtC,KAAjB,EACI,oBAAC,qBAAD,EAAsB,IAAtB,EACI,oBAAC,SAAD,EAAU;AACN,UAAI,EAAE,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,MADN;AAEN,0BAAoB,EAAE;AAFhB,KAAV,CADJ,EAKI,oBAAC,SAAD,EAAU;AAAA,mBAAW;AAAX,KAAV,EAAwC,UAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,MAAN,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAE,IAAtD,CALJ,CADJ,EAQI,oBAAC,sBAAD,EAAuB;AAAA,mBAAW;AAAX,KAAvB,EACK,2BAAa,UAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,MAAN,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAE,KAA3B,EAAkC,CAAlC,EAAqC;AAAE,mBAAa,EAAE;AAAjB,KAArC,CADL,EACoE,GADpE,CARJ,CADJ,CAXJ,EAyBI,oBAAC,mBAAD,EAAoB;AAAC,iBAAW,EAAE;AAAd,KAApB,EACI,oBAAC,qBAAD,EAAsB,IAAtB,EAAsB,QAAtB,CADJ,EAEI,oBAAC,sBAAD,EAAuB,IAAvB,EAAyB,SAAzB,CAFJ,CAzBJ,EA6BI,oBAAC,oBAAD,EAAqB,IAArB,EACI,oBAAC,gBAAD,EAAiB;AAAC,cAAQ,EAAE,eAAX;AAA0B,mBAAY;AAAtC,KAAjB,EACI,oBAAC,qBAAD,EAAsB,IAAtB,EACI,oBAAC,SAAD,EAAU;AACN,UAAI,EAAE,IAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,MADN;AAEN,0BAAoB,EAAE;AAFhB,KAAV,CADJ,EAKI,oBAAC,SAAD,EAAU;AAAA,mBAAW;AAAX,KAAV,EAAwC,UAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,MAAN,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAE,IAAtD,CALJ,CADJ,EAQI,oBAAC,sBAAD,EAAuB;AAAA,mBAAW;AAAX,KAAvB,EACK,2BAAa,UAAI,SAAJ,QAAI,WAAJ,GAAI,MAAJ,OAAI,CAAE,MAAN,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAE,KAA3B,EAAkC,CAAlC,EAAqC;AAAE,mBAAa,EAAE;AAAjB,KAArC,CADL,CARJ,CADJ,CA7BJ,CADJ,CADJ;AAgDH,GApDD;;AAsDA,SAAO,IAAI,KAAK,MAAT,GAAkB,iBAAiB,EAAnC,GAAwC,iBAAiB,EAAhE;AACH,CA5MD;;AA8MA,aAAa,CAAC,SAAd,GAA0B;AACtB,MAAI,EAAE,CAAC,CAAC,MADc;AAEtB,MAAI,EAAE,CAAC,CAAC,MAFc;AAGtB,WAAS,EAAE,CAAC,CAAC,MAHS;AAItB,MAAI,EAAE,CAAC,CAAC,IAJc;AAKtB,gBAAc,EAAE,CAAC,CAAC,MALI;AAMtB,QAAM,EAAE,CAAC,CAAC,MANY;AAOtB,sBAAoB,EAAE,CAAC,CAAC,SAAF,CAAY,CAAC,CAAC,CAAC,IAAH,EAAS,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,MAAZ,CAAT,CAAZ,CAPA;AAQtB,iBAAe,EAAE,CAAC,CAAC,MARG;AAStB,wBAAsB,EAAE,CAAC,CAAC,MATJ;AAUtB,oBAAkB,EAAE,CAAC,CAAC,MAVA;AAWtB,OAAK,EAAE,CAAC,CAAC,MAXa;AAYtB,QAAM,EAAE,CAAC,CAAC,MAZY;AAatB,2BAAyB,EAAE,CAAC,CAAC;AAbP,CAA1B;AAgBA,aAAa,CAAC,YAAd,GAA6B;AACzB,2BAAyB,EAAE,qCAAK,CAAG;AADV,CAA7B;AAIA,kBAAe,aAAf,C;;;;;;AC7UA,qD;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AAGA;;AACA;;AACA;;AAEA,IAAM,cAAc,GAAmB;AACnC,sBAAoB,EAAE,CAClB;AAAE,MAAE,EAAE,EAAN;AAAU,SAAK,EAAE;AAAjB,GADkB,EAElB;AAAE,QAAI,EAAE,EAAR;AAAY,MAAE,EAAE,EAAhB;AAAoB,SAAK,EAAE;AAA3B,GAFkB,EAGlB;AAAE,QAAI,EAAE,EAAR;AAAY,MAAE,EAAE,EAAhB;AAAoB,SAAK,EAAE;AAA3B,GAHkB,EAIlB;AAAE,QAAI,EAAE,EAAR;AAAY,MAAE,EAAE,EAAhB;AAAoB,SAAK,EAAE;AAA3B,GAJkB,EAKlB;AAAE,QAAI,EAAE,EAAR;AAAY,SAAK,EAAE;AAAnB,GALkB;AADa,CAAvC;AAUA,IAAM,YAAY,GAAiB;AAC/B,qBAAmB,EAAE,CACjB;AACI,QAAI,EAAE,SADV;AAEI,eAAW,EAAE;AAFjB,GADiB,CADU;AAO/B,qBAAmB,EAAE,EAPU;AAQ/B,sBAAoB,EAAE;AAClB,WAAO,EAAE;AAAE,YAAM,EAAE,CAAV;AAAa,WAAK,EAAE;AAApB;AADS;AARS,CAAnC;AAaA,IAAM,IAAI,GAAY;AAClB,cAAY,EAAE,GADI;AAElB,eAAa,EAAE;AAFG,CAAtB;AAKA,IAAM,aAAa,GAAkB;AACjC,iBAAe,EAAE;AACb,WAAO,EAAE,iCADI;AAEb,eAAW,EACP,2NAHS;AAIb,WAAO,EAAE,8CAJI;AAKb,QAAI,EAAE;AALO,GADgB;AAQjC,WAAS,EAAE;AACP,WAAO,EAAE,aADF;AAEP,eAAW,EACP,kPAHG;AAIP,WAAO,EAAE,yBAAW,CAAC,aAAD,EAAgB,SAAhB,CAAX,CAJF;AAKP,QAAI,EAAE;AALC,GARsB;AAejC,aAAW,EAAE;AACT,WAAO,EAAE,GADA;AAET,eAAW,EAAE,sFAFJ;AAGT,QAAI,EAAE;AAHG,GAfoB;AAoBjC,YAAU,EAAE;AACR,WAAO,sCADC;AAER,eAAW,EAAE,6CAFL;AAGR,QAAI,EAAE;AAHE,GApBqB;AAyBjC,YAAU,EAAE;AACR,WAAO,mDADC;AAER,eAAW,EACP,2FAHI;AAIR,QAAI,EAAE,OAJE;AAKR,SAAK,EAAE;AACH,UAAI,EAAE,QADH;AAEH,aAAO,EAAE;AAFN;AALC,GAzBqB;AAmCjC,aAAW,EAAE;AACT,WAAO,EAAE,IADA;AAET,eAAW,EAAE,0DAFJ;AAGT,QAAI,EAAE;AAHG,GAnCoB;AAwCjC,cAAY,EAAE;AACV,WAAO,EAAE,8CADC;AAEV,eAAW,EAAE,uFAFH;AAGV,QAAI,EAAE,OAHI;AAIV,SAAK,EAAE;AACH,UAAI,EAAE;AADH;AAJG;AAxCmB,CAArC;AAkDA,IAAM,MAAM,GAAmB;AAC3B,wBAAsB,EAAE,qCAAK;AAAA,WACzB,cAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,mBAAU,KAAV,CAAgB,KAAhB,CADE;AAER,aAAK,EAAE,mBAAU,eAAV,CAA0B,KAA1B;AAFC,OADX;AAKD,YAAM,EAAE,mBAAU,sBAAV,CAAiC,KAAjC;AALP,KAAL,EAMG,KANH,CADyB;AAAA,GADF;AAS3B,eAAa,EAAE,4BAAK;AAAA,WAChB,cAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,mBAAU,SAAV,CAAoB,KAApB,CADE;AAER,aAAK,EAAE,mBAAU,SAAV,CAAoB,KAApB;AAFC,OADX;AAKD,YAAM,EAAE,mBAAU,kBAAV,CAA6B,KAA7B;AALP,KAAL,EAMG,KANH,CADgB;AAAA,GATO;AAiB3B,iBAAe,EAAE,8BAAK;AAAA,WAClB,cAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,mBAAU,SAAV,CAAoB,KAApB,CADE;AAER,aAAK,EAAE,mBAAU,SAAV,CAAoB,KAApB;AAFC,OADX;AAKD,YAAM,EAAE,mBAAU,kBAAV,CAA6B,KAA7B;AALP,KAAL,EAMG,KANH,CADkB;AAAA,GAjBK;AAyB3B,wBAAsB,EAAE,qCAAK;AAAA,WACzB,cAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,mBAAU,SAAV,CAAoB,KAApB,CADE;AAER,aAAK,EAAE,mBAAU,SAAV,CAAoB,KAApB;AAFC,OADX;AAKD,YAAM,EAAE,mBAAU,kBAAV,CAA6B,KAA7B;AALP,KAAL,EAMG,KANH,CADyB;AAAA,GAzBF;AAiC3B,oBAAkB,EAAE,iCAAK;AAAA,WACrB,cAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,mBAAU,QAAV,CAAmB,KAAnB,CADE;AAER,aAAK,EAAE,mBAAU,QAAV,CAAmB,KAAnB;AAFC,OADX;AAKD,YAAM,EAAE,mBAAU,iBAAV,CAA4B,KAA5B;AALP,KAAL,EAMG,KANH,CADqB;AAAA;AAjCE,CAA/B;AA2CA,IAAM,YAAY,GAAmB,CACjC;AACI,OAAK,EAAE,SAAE,gBAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,kBADX;AAEI,UAAM,EAAE,uBAFZ;AAGI,UAAM,EAAE,YAHZ;AAII,WAAO,EAAE,mBAJb;AAKI,eAAW,EAAE;AACT,mBAAa,EAAE,SADN;AAET,mBAAa,EAAE,CAAC,QAAD;AAFN;AALjB,GADJ,CADI;AAFZ,CADiC,EAkBjC;AACI,OAAK,EAAE,SAAE,UAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,YAAF,CADX;AAEI,UAAM,EAAE,WAFZ;AAGI,UAAM,EAAE,iBAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAE,CACJ;AAAE,aAAK,EAAE,SAAE,aAAF,CAAT;AAA2B,aAAK,EAAE;AAAlC,OADI,EAEJ;AAAE,aAAK,EAAE,SAAE,SAAF,CAAT;AAAuB,aAAK,EAAE;AAA9B,OAFI;AADC;AAJjB,GADJ,CADI,EAcJ,C,gCAEW,qDAA2B;AAAE,kBAAc,EAAd,cAAF;AAAkB,yBAAqB,EAArB;AAAlB,GAA3B,C,GAAqE;AACxE,cAAU,EAAE;AAAA,UAAG,OAAH,QAAG,OAAH;AAAA,aAAiB,OAAO,CAAC,SAAR,KAAsB,SAAvC;AAAA;AAD4D,G,CAFhF,CAdI,EAoBJ,0BAAyB;AAAE,UAAM,EAAN;AAAF,GAAzB,CApBI;AAFZ,CAlBiC,CAArC;AA6CA;;AAEG;;AACH,IAAM,MAAM,GAAc;AACtB;;AAEG;AACH,KAAG,EAAE,eAJiB;;AAKtB;;AAEG;AACH,MAAI,EAAE,QARgB;AAStB,UAAQ,EAAE,0BAAY,IATA;AAUtB,QAAM,EAAE,SAVc;;AAWtB;;AAEG;AACH,MAAI,EAAE,4BAdgB;AAetB,cAAY,EAAZ,YAfsB;AAgBtB,MAAI,EAAJ,IAhBsB;AAiBtB,gBAAc,EAAd,cAjBsB;AAkBtB,eAAa,EAAb,aAlBsB;AAmBtB,cAAY,EAAZ,YAnBsB;AAoBtB,QAAM,EAAE,EApBc;AAqBtB,UAAQ,EAAE,CAAC,0BAAY,eAAb,EAA8B,0BAAY,MAA1C,EAAkD,0BAAY,WAA9D,CArBY;AAsBtB,QAAM,EAAN,MAtBsB;AAuBtB,eAAa,EAAE;AAvBO,CAA1B;AA0BA,kBAAe,4BAAc,MAAd,CAAf,C;;;;;;;ACtNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEO,IAAMmD,0BAA0B,GAAG,SAA7BA,0BAA6B;AAAA,MAAGC,cAAH;AAAA,MAAmBC,qBAAnB;AAAA,SAAgD;AACtFC,SAAK,EAAEC,+DAAC,CAD8E,oBAC9E,CAD8E;AAEtFC,UAAM,EAFgF;AAGtFC,WAAO,EAH+E;AAItFC,UAAM,EAJgF;AAKtFC,cAAU,EAAE;AAAA,UAAGC,OAAH;AAAA,aAAiBC,0EAAe,CAACD,OAAO,CAAxC,UAAgC,CAAhC;AAL0E;AAMtFE,eAAW,EAAE;AACTC,mBAAa,EADJ;AAETC,iBAAW,EAAET,+DAAC,CAFL,yBAEK,CAFL;AAGTU,gBAAU,EAAE,CACR;AACIX,aAAK,EAAEC,+DAAC,CADZ,QACY,CADZ;AAEIW,aAAK,EAFT;AAGIC,gBAAQ,EAAE;AACNC,oBAAU,EAAEhB,cAAc,CAACiB;AADrB;AAHd,OADQ,CAHH;AAYTC,mBAAa,EAAE,CACX;AACIhB,aAAK,EAAEC,+DAAC,CADZ,aACY,CADZ;AAEIW,aAAK,EAAE;AAFX,OADW,CAZN;AAkBTb,2BAAqB,EAArBA;AAlBS;AANyE,GAAhD;AAAnC,E","file":"Sankey.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 219);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { cloneDeep } from 'lodash';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n\n/**\n * helper to deeply merge objects while preserving arrays in earlier source objects\n * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object\n * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)\n *\n * @method deepMergeWithArrayOverrides\n * @param {Object} initial - target object to merge values into\n * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones\n *\n * @returns {Object}\n */\nexport const deepMergeWithArrayOverrides = (initial, ...sources) => {\n const clone = cloneDeep(initial);\n sources.forEach(sourceToApply => {\n Object.keys(sourceToApply).forEach(sourceKey => {\n if (!clone.hasOwnProperty(sourceKey)) {\n clone[sourceKey] = cloneDeep(sourceToApply[sourceKey]);\n }\n // object merging excluding arrays\n if (\n clone[sourceKey] &&\n typeof clone[sourceKey] === 'object' &&\n !Array.isArray(clone[sourceKey]) &&\n typeof sourceToApply[sourceKey] === 'object'\n ) {\n clone[sourceKey] = deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);\n }\n });\n });\n return clone;\n};\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport type { JSONSchema7Definition } from 'json-schema';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension, toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { pick } from 'lodash';\n\ninterface Props {\n enabled?: boolean;\n width?: number | string;\n height?: number | string;\n}\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey: string, sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: 'grey',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\n\nimport { withTheme } from 'styled-components';\nimport SplunkVisualization from './SplunkVisualization';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { VizConfig } from './interfaces/VizConfig';\nimport { VizProps } from './interfaces/VizProps';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { DataSource } from './interfaces/DataSource';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport { pickFieldFromJSONSchema } from './utils/JSONSchemaUtils';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\nimport { deepMergeWithArrayOverrides } from './utils/hocUtils';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const { ReactViz, vizConfig, computeVizProps = () => {}, useIconPlaceholder } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => (payload[p] = evaluatedOptions[p]));\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(withPlaceholder(withEditModeCover(DashboardViz), useIconPlaceholder));\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","export interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; //(This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n //noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; //noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import type { JSONSchema7Definition } from 'json-schema';\nimport { has, isEmpty, get } from 'lodash';\nimport { KV } from '../interfaces/Object';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport const pickFieldFromJSONSchema = (\n optionsSchema: OptionsSchema | JSONSchema7Definition,\n fieldName = 'default'\n): KV =>\n Object.keys(optionsSchema).reduce((accum: Record<string, unknown>, k): Record<string, unknown> => {\n if (has(optionsSchema[k], fieldName)) {\n accum[k] = optionsSchema[k][fieldName];\n } else if (get(optionsSchema, [k, 'type']) === 'object' && has(optionsSchema[k], 'properties')) {\n const nestedSchema = pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);\n if (!isEmpty(nestedSchema)) {\n accum[k] = nestedSchema;\n }\n }\n return accum;\n }, {});\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (Visualization: ExtendedDashViz): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n return (\n <Blocker>\n <Visualization {...props} />\n {mode === 'edit' && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholder = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={config.icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n themes,\n labelPosition,\n}) => [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"d3-array\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import styled from 'styled-components';\n\nconst VizStyleWrapper = styled.div.attrs(({ dataTestKey }) => ({\n 'data-test': dataTestKey,\n}))`\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nVizStyleWrapper.displayName = 'VizStyleWrapper';\n\nexport default VizStyleWrapper;\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"d3-scale\");","import * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport * as T from 'prop-types';\nimport { pick } from 'lodash';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { d3_sankey } from './lib/sankey';\nimport VizStyleWrapper from '../../common/components/VizStyleWrapper';\nimport {\n checkDigitsOnly,\n computeAllConnectedLinksToNodes,\n convertInputToSankeyDataFormat,\n getAllNodeNames,\n getColorCategoryMapping,\n getLinkId,\n getNodeId,\n} from './SankeyUtils';\nimport SankeyNode from './SankeyNode';\nimport SankeyLink from './SankeyLink';\nimport { COLOR_MODE_TYPES, NodeConnectionsMap, SankeyColors, SankeyDataLink } from './SankeyModels';\nimport SankeyTooltip from './SankeyTooltip';\n\nexport const DEFAULT_COLORS: SankeyColors = {\n backgroundColor: '#ffffff',\n nodeTextColor: '#2c2c2c',\n tooltip: {\n headerColor: 'rgba(0, 0, 0, 0.54)',\n linkHeaderColor: '#2c2c2c',\n rowColor: '#2c2c2c',\n },\n};\nexport const NODE_TEXT_FONT_SIZE = 10;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\nexport const DEFAULT_NODE_COLOR = '#909090';\nexport const DEFAULT_LINK_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLOR = VIZ_CATEGORICAL;\nexport const DEFAULT_LINK_OPACITY = 0.5;\nexport const DEFAULT_NODE_OPACITY = 1;\nexport const INACTIVE_OPACITY = 0.05;\nexport const CHART_MIN_WIDTH = 300;\nexport const CHART_MIN_HEIGHT = 200;\nexport const DEFAULT_CHART_WIDTH = 600;\nexport const DEFAULT_CHART_HEIGHT = 300;\nexport const DEFAULT_SOURCE_INDEX = 0;\nexport const DEFAULT_TARGET_INDEX = 1;\nexport const DEFAULT_LINK_VALUE_INDEX = 2;\n\ninterface PureSankeyProps {\n columns: (string[] | number[])[];\n width: string | number;\n height: string | number;\n mode?: string;\n backgroundColor: string;\n colorMode: COLOR_MODE_TYPES;\n nodeWidth: number;\n nodePadding: number;\n resultLimit: number;\n seriesColors: string[];\n linkColors?: string[];\n linkOpacity: number;\n linkValueField?: string;\n nodeTextColor: string;\n tooltipRowColor: string;\n tooltipLinkHeaderColor: string;\n tooltipHeaderColor: string;\n}\n\nconst SankeyContainer = styled.div<{\n width: number | string;\n height: number | string;\n}>`\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst PureSankey = (props: PureSankeyProps) => {\n const {\n width,\n height,\n columns,\n colorMode,\n nodeWidth,\n nodePadding,\n resultLimit,\n seriesColors,\n linkColors,\n linkOpacity,\n linkValueField,\n backgroundColor,\n nodeTextColor,\n tooltipRowColor,\n tooltipLinkHeaderColor,\n tooltipHeaderColor,\n } = props;\n\n const margin = {\n top: 17,\n right: 25,\n bottom: 17,\n left: 30,\n };\n // This is to translate the svg's root g based on margin\n // The y position is same as margin top & bottom\n // The x position is an avg of margin right & left\n const translatePos = { x: 28, y: 17 };\n\n const [activeLinks, setActiveLinks] = useState([]);\n const [activeNodes, setActiveNodes] = useState([]);\n const [nodeHovered, setNodeHovered] = useState(null);\n const [hoveredNodeElement, setHoveredNodeElement] = useState(null);\n const [openNodeToolTip, setOpenNodeToolTip] = useState(false);\n const [hoveredLinkElement, setHoveredLinkElement] = useState(null);\n const [openLinkToolTip, setOpenLinkToolTip] = useState(false);\n const sankeyContainerElement = useRef(null);\n const [sankeyWidth, setSankeyWidth] = useState(DEFAULT_CHART_WIDTH - margin.left - margin.right);\n const [sankeyHeight, setSankeyHeight] = useState(DEFAULT_CHART_HEIGHT - margin.top - margin.bottom);\n\n useEffect(() => {\n if (sankeyContainerElement && sankeyContainerElement.current) {\n const w = sankeyContainerElement.current.getBoundingClientRect().width;\n const h = sankeyContainerElement.current.getBoundingClientRect().height;\n const sWidth = checkDigitsOnly(width as string) ? parseInt(width as string) : w;\n const sHeight = checkDigitsOnly(height as string) ? parseInt(height as string) : h;\n setSankeyWidth(sWidth - margin.left - margin.right);\n setSankeyHeight(sHeight - margin.top - margin.bottom);\n }\n }, [width, height]);\n\n const sankeyData = convertInputToSankeyDataFormat(\n columns,\n DEFAULT_SOURCE_INDEX,\n DEFAULT_TARGET_INDEX,\n DEFAULT_LINK_VALUE_INDEX,\n resultLimit\n );\n if (!sankeyData || !columns || !Array.isArray(columns) || columns.length < 3) {\n return <Message width={width} height={height} message={_('Invalid data to render')} level=\"info\" />;\n }\n const sortAndAssignLinkIds = (links: SankeyDataLink[]): void => {\n links.sort((a, b) => a.dy - b.dy);\n links.forEach(link => {\n link.id = `link-${link.source.index}-${link.target.index}`;\n });\n };\n const d3sankey = (d3_sankey() as any)\n .nodeWidth(nodeWidth)\n .nodePadding(nodePadding)\n .size([sankeyWidth, sankeyHeight]);\n const path = d3sankey.reversibleLink();\n d3sankey.nodes(sankeyData.nodes).links(sankeyData.links).layout(500);\n sortAndAssignLinkIds(sankeyData.links);\n const nodeConnectionsMap: NodeConnectionsMap = computeAllConnectedLinksToNodes(\n sankeyData.nodes,\n sankeyData.links\n );\n const uniqCategory = getAllNodeNames(sankeyData);\n const colorCategoryMapping = getColorCategoryMapping({\n category: uniqCategory,\n colorMode,\n seriesColors,\n linkColors,\n });\n\n const resetStates = () => {\n setActiveLinks([]);\n setActiveNodes([]);\n setHoveredLinkElement(null);\n setHoveredNodeElement(null);\n setNodeHovered(null);\n setOpenLinkToolTip(false);\n setOpenNodeToolTip(false);\n };\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n if (containerWidth < CHART_MIN_WIDTH || containerHeight < CHART_MIN_HEIGHT) {\n return (\n <Message\n width={containerWidth}\n height={containerHeight}\n message={_('Too small to render content')}\n level=\"info\"\n />\n );\n }\n\n const renderLinks = links => {\n return links.map(link => {\n return (\n <SankeyLink\n link={link}\n activeLinks={activeLinks}\n linkOpacity={linkOpacity}\n path={path}\n key={getLinkId(link)}\n data-test={getLinkId(link)}\n colorCategoryMapping={colorCategoryMapping}\n colorMode={colorMode}\n handleMouseOver={ev => {\n setActiveLinks([link]);\n setActiveNodes([link.source, link.target]);\n setHoveredLinkElement(ev.currentTarget.querySelector('circle'));\n setOpenNodeToolTip(false);\n setOpenLinkToolTip(true);\n }}\n handleMouseLeave={() => {\n resetStates();\n }}\n ></SankeyLink>\n );\n });\n };\n\n const renderNodes = nodes => {\n const chartWidth = typeof width === 'number' ? width : Number.parseInt(width);\n return nodes.map(node => {\n return (\n <SankeyNode\n node={node}\n key={getNodeId(node)}\n data-test={getNodeId(node)}\n activeNodes={activeNodes}\n nodeWidth={nodeWidth}\n chartWidth={chartWidth}\n colorCategoryMapping={colorCategoryMapping}\n nodeTextColor={nodeTextColor}\n handleMouseOver={ev => {\n const connections = nodeConnectionsMap[node.index];\n setActiveLinks(connections.links);\n setNodeHovered(node);\n setActiveNodes([...connections.sourceNodes, ...connections.targetNodes]);\n setHoveredNodeElement(ev.currentTarget);\n setOpenLinkToolTip(false);\n setOpenNodeToolTip(true);\n }}\n handleMouseLeave={() => resetStates()}\n ></SankeyNode>\n );\n });\n };\n\n return (\n <VizStyleWrapper\n backgroundColor={backgroundColor}\n dataTestKey=\"SankeyWrapper\"\n onMouseLeave={() => resetStates()}\n >\n <svg height=\"100%\" width=\"100%\" data-test=\"sankey-svg\">\n <g transform={`translate(${translatePos.x},${translatePos.y})`}>\n <g className=\"link-group\" data-test=\"link-group\">\n {renderLinks(sankeyData.links)}\n {openLinkToolTip && (\n <SankeyTooltip\n mode=\"link\"\n open={openLinkToolTip}\n handleTooltipRequestClose={() => resetStates()}\n linkValue={linkValueField}\n connectionsMap={nodeConnectionsMap}\n anchor={hoveredLinkElement}\n link={activeLinks[0]}\n height={sankeyHeight}\n width={sankeyWidth}\n colorCategoryMapping={colorCategoryMapping}\n tooltipRowColor={tooltipRowColor}\n tooltipLinkHeaderColor={tooltipLinkHeaderColor}\n tooltipHeaderColor={tooltipHeaderColor}\n ></SankeyTooltip>\n )}\n </g>\n <g className=\"node-group\" data-test=\"node-group\">\n {renderNodes(sankeyData.nodes)}\n {openNodeToolTip && (\n <SankeyTooltip\n mode=\"node\"\n open={openNodeToolTip}\n handleTooltipRequestClose={() => resetStates()}\n linkValue={linkValueField}\n connectionsMap={nodeConnectionsMap}\n anchor={hoveredNodeElement}\n node={nodeHovered}\n height={sankeyHeight}\n width={sankeyWidth}\n colorCategoryMapping={colorCategoryMapping}\n tooltipRowColor={tooltipRowColor}\n tooltipLinkHeaderColor={tooltipLinkHeaderColor}\n tooltipHeaderColor={tooltipHeaderColor}\n ></SankeyTooltip>\n )}\n </g>\n </g>\n </svg>\n </VizStyleWrapper>\n );\n };\n\n return (\n <SankeyContainer height={height} width={width} ref={sankeyContainerElement}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </SankeyContainer>\n );\n};\n\nPureSankey.propTypes = {\n columns: T.array,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n mode: T.string,\n colorMode: T.string,\n nodeWidth: T.number,\n nodePadding: T.number,\n resultLimit: T.number,\n seriesColors: T.arrayOf(T.string),\n linkColors: T.arrayOf(T.string),\n linkOpacity: T.number,\n linkValueField: T.string,\n backgroundColor: T.string,\n nodeTextColor: T.string,\n tooltipRowColor: T.string,\n tooltipLinkHeaderColor: T.string,\n tooltipHeaderColor: T.string,\n};\n\nPureSankey.defaultProps = {\n columns: [],\n width: DEFAULT_CHART_WIDTH,\n height: DEFAULT_CHART_HEIGHT,\n mode: 'view',\n colorMode: 'categorical',\n nodeWidth: 12,\n nodePadding: 18,\n resultLimit: 1000,\n seriesColors: DEFAULT_SERIES_COLOR,\n linkColors: [],\n linkOpacity: DEFAULT_LINK_OPACITY,\n linkValueField: 'value',\n backgroundColor: '#0b0c0e',\n nodeTextColor: 'rgba(255, 255, 255, 0.98)',\n tooltipRowColor: 'rgba(255, 255, 255, 0.98)',\n tooltipLinkHeaderColor: 'rgba(255, 255, 255, 0.98)',\n tooltipHeaderColor: 'rgba(255, 255, 255, 0.5)',\n};\n\nexport default PureSankey;\n","module.exports = require(\"@splunk/visualizations-shared/dataSourceUtils\");","module.exports = require(\"@splunk/themes\");","import { ScaleOrdinal, scaleOrdinal } from 'd3-scale';\nimport {\n COLOR_MODE_TYPES,\n Connections,\n Coordinates,\n NodeConnectionsMap,\n SankeyData,\n SankeyDataLink,\n SankeyDataNode,\n} from './SankeyModels';\n\nexport const getColorCategoryMapping = ({\n category,\n colorMode,\n seriesColors,\n linkColors,\n}: {\n category: string[];\n colorMode: COLOR_MODE_TYPES;\n seriesColors: string[];\n linkColors?: string[];\n}): ScaleOrdinal<string, unknown, string> | string[] => {\n if (colorMode !== 'categorical') {\n return linkColors;\n }\n return seriesColors ? scaleOrdinal().domain(category).range(seriesColors).unknown(seriesColors[0]) : null;\n};\n\nexport const convertInputToSankeyDataFormat = (\n columns: (string[] | number[])[],\n sourceFieldIdx: number,\n targetFieldIdx: number,\n linkValueFieldIdx: number,\n resultLimit: number\n): SankeyData => {\n if (\n !columns ||\n !Array.isArray(columns) ||\n !columns.length ||\n !columns[sourceFieldIdx] ||\n !columns[targetFieldIdx] ||\n !columns[linkValueFieldIdx] ||\n columns.length < 3 ||\n !Array.isArray(columns[sourceFieldIdx]) ||\n !Array.isArray(columns[targetFieldIdx]) ||\n !Array.isArray(columns[linkValueFieldIdx]) ||\n !columns[sourceFieldIdx] ||\n typeof columns[sourceFieldIdx][0] !== 'string' ||\n !columns[targetFieldIdx] ||\n typeof columns[targetFieldIdx][0] !== 'string' ||\n !columns[linkValueFieldIdx] ||\n typeof columns[linkValueFieldIdx][0] !== 'number'\n ) {\n return null;\n }\n\n const sankeyData: SankeyData = {\n nodes: [],\n links: [],\n };\n\n const maxlen = Math.min(\n columns[sourceFieldIdx].length,\n columns[targetFieldIdx].length,\n columns[linkValueFieldIdx].length,\n resultLimit\n );\n\n for (let i = 0; i < maxlen; i++) {\n if (\n typeof columns[sourceFieldIdx][i] !== 'string' ||\n typeof columns[targetFieldIdx][i] !== 'string' ||\n typeof columns[linkValueFieldIdx][i] !== 'number'\n ) {\n console.error(\n 'Link excluded. Invalid type in column input, row :- ',\n i,\n `[${columns[sourceFieldIdx][i]}, ${columns[targetFieldIdx][i]}, ${columns[linkValueFieldIdx][i]}]`\n );\n return;\n }\n\n const sourceNodeName = (columns[sourceFieldIdx][i] as string).trim();\n const targetNodeName = (columns[targetFieldIdx][i] as string).trim();\n\n insertNodeIfNotExist(sankeyData, sourceNodeName);\n insertNodeIfNotExist(sankeyData, targetNodeName);\n // If same link exists then sum up the value and donot insert new link\n const sourceNodeIdx = getNodesIndex(sankeyData, sourceNodeName);\n const targetNodeIdx = getNodesIndex(sankeyData, targetNodeName);\n const linkExist = sankeyData.links.find(link => {\n return (\n link.source === ((sourceNodeIdx as unknown) as SankeyDataNode) &&\n link.target === ((targetNodeIdx as unknown) as SankeyDataNode)\n );\n });\n if (linkExist) {\n linkExist.value += columns[linkValueFieldIdx][i] as number;\n } else {\n insertLink(sankeyData, sourceNodeIdx, targetNodeIdx, columns[linkValueFieldIdx][i] as number, i);\n }\n }\n return sankeyData;\n};\n\nexport const getNodeId = (node: SankeyDataNode): string => {\n if (!node) {\n return '';\n }\n return `node-${node.index}`;\n};\n\nexport const getLinkId = (link: SankeyDataLink): string => {\n if (!link) {\n return '';\n }\n return `link-${link.id}`;\n};\n\nconst insertNodeIfNotExist = (sankeyData: SankeyData, nodeName: string): void => {\n let nodes = sankeyData.nodes;\n nodes = nodes ? nodes : [];\n if (typeof nodeName !== 'string') {\n console.error('Node not created, invalid nodename:', nodeName);\n return;\n }\n nodeName = nodeName.trim();\n if (!nodes.find(node => node.name.toLocaleLowerCase() === nodeName.toLocaleLowerCase())) {\n nodes.push({ name: nodeName });\n }\n};\n\nconst insertLink = (\n sankeyData: SankeyData,\n sourceFieldIdx: number,\n targetFieldIdx: number,\n linkValue: number,\n index: number\n): void => {\n let links = sankeyData.links;\n links = links ? links : [];\n links.push({\n source: (sourceFieldIdx as unknown) as SankeyDataNode,\n target: (targetFieldIdx as unknown) as SankeyDataNode,\n value: linkValue,\n index,\n });\n};\n\nexport const getAllNodeNames = (sankeyData: SankeyData): string[] => {\n if (!sankeyData || !sankeyData.nodes || !sankeyData.nodes.length) {\n return [];\n }\n return sankeyData.nodes.map(node => node.name);\n};\n\nexport const getNodesIndex = (sankeyData: SankeyData, nodeName: string): number => {\n if (!sankeyData || !sankeyData.nodes || !sankeyData.nodes.length) {\n return -1;\n }\n return sankeyData.nodes.findIndex(node => node.name.toLocaleLowerCase() === nodeName.toLocaleLowerCase());\n};\n\nexport const extractLinkMidPoint = (pathStr: string): Coordinates => {\n if (!pathStr) {\n return null;\n }\n const mIndex = pathStr.indexOf('M');\n const cIndexFirst = pathStr.indexOf('C');\n const lIndex = pathStr.indexOf('L');\n const cIndexLast = pathStr.lastIndexOf('C');\n const zIndex = pathStr.lastIndexOf('Z');\n if (mIndex < 0 || cIndexLast < 0 || cIndexLast < 0 || zIndex < 0) {\n console.error('Extract link midpoint error. Invalid path -', pathStr);\n return null;\n }\n const section1 = pathStr.slice(mIndex + 1, cIndexFirst).trim();\n const section2 = pathStr.slice(cIndexFirst + 1, lIndex).trim();\n const section3 = pathStr.slice(lIndex + 1, cIndexLast).trim();\n const section4 = pathStr.slice(cIndexLast + 1, zIndex).trim();\n if (!section1.length || !section2.length || !section3.length || !section4.length) {\n console.error('Extract link midpoint error. Invalid path -', pathStr);\n return null;\n }\n const points = [];\n points.push(section1.split(',').map(i => Number.parseFloat(i)));\n const point2Arr = section2.split(' ');\n points.push(point2Arr[point2Arr.length - 1].split(',').map(i => Number.parseFloat(i)));\n points.push(section3.split(',').map(i => Number.parseFloat(i)));\n const point4Arr = section4.split(' ');\n points.push(point4Arr[point4Arr.length - 1].split(',').map(i => Number.parseFloat(i)));\n const width = Math.abs(points[0][0] - points[1][0]) / 2;\n const x = Math.min(points[0][0], points[1][0]) + width;\n const height = Math.abs(points[0][1] - points[2][1]) / 2;\n const y = Math.min(points[0][1], points[2][1]) + height;\n return { x, y };\n};\n\nexport const getAllConnectedLinks = (links: SankeyDataLink[], nodeIdx: number): Connections => {\n const result: Connections = { links: [], sourceNodes: [], targetNodes: [] };\n if (!links || !links.length) {\n return result;\n }\n\n links.forEach(link => {\n if (link.source.index === nodeIdx || link.target.index === nodeIdx) {\n const linkAdded = result.links.find(l => l.id === link.id);\n if (!linkAdded) {\n result.links.push(link);\n }\n\n const sourceNodeAdded = result.sourceNodes.find(n => n.index === link.source.index);\n if (!sourceNodeAdded) {\n result.sourceNodes.push(link.source);\n }\n\n const targetNodeAdded = result.targetNodes.find(n => n.index === link.target.index);\n if (!targetNodeAdded) {\n result.targetNodes.push(link.target);\n }\n }\n });\n return result;\n};\n\nexport const computeAllConnectedLinksToNodes = (\n nodes: SankeyDataNode[],\n links: SankeyDataLink[]\n): NodeConnectionsMap => {\n const connectionsMap: NodeConnectionsMap = {};\n if (!nodes || !links) {\n return connectionsMap;\n }\n\n nodes.forEach(node => {\n const connections = getAllConnectedLinks(links, node.index);\n connectionsMap[node.index] = connections;\n });\n\n return connectionsMap;\n};\n\nexport const checkDigitsOnly = (input: string): boolean => {\n return /^\\d+$/.test(input);\n};\n\n//Truncate the node text and show ellipsis at the end if text string width exceeds the max limit\nexport const truncateSVGTextWithEllipsis = (\n textElement: SVGTextElement,\n textString: string,\n width: number\n): void => {\n if (textElement && textElement.getSubStringLength !== undefined) {\n textElement.textContent = textString;\n //ellipsis is needed\n if (textElement.getSubStringLength(0, textString.length) >= width) {\n for (let x = textString.length - 3; x > 0; x -= 3) {\n if (textElement.getSubStringLength(0, x) <= width) {\n textElement.textContent = textString.substring(0, x) + '...';\n return;\n }\n }\n textElement.textContent = '...'; //can't place at all\n }\n }\n};\n","module.exports = require(\"d3-interpolate\");","module.exports = require(\"d3-collection\");","import { get, isEqual } from 'lodash';\nimport { getDataSourceStateInfo, DataSourceState } from '@splunk/visualizations-shared/dataSourceUtils';\nimport { isArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport withDashboardViz, { DashboardVizOpts } from '../common/withDashboardViz';\nimport PureSankey from './PureSankey/PureSankey';\nimport config from './config';\nimport { DataSource } from '../common/interfaces/DataSource';\n\n/**\n * @method showPlaceHolderIcon\n * @param {Object} dataSources\n * @returns {Boolean} return true if loading, error, non existent state or without columns in dataSources\n */\nexport const showPlaceHolderIcon = dataSources => {\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const noColumns = columns === undefined;\n const dataSourceState = getDataSourceStateInfo(dataSources);\n return (\n dataSourceState === DataSourceState.ERROR ||\n dataSourceState === DataSourceState.LOADING ||\n dataSourceState === DataSourceState.NONEXISTENT ||\n noColumns\n );\n};\n\nexport const computeVizProps = ({ themeFunc, dataSources, linkValues, seriesColors }) => {\n // Compute all themeColor variables needed for PureSankey\n const themeColorVariables = [\n 'defaultBackgroundColor',\n 'nodeTextColor',\n 'tooltipRowColor',\n 'tooltipLinkHeaderColor',\n 'tooltipHeaderColor',\n ];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n\n // Sanitize seriesColors prop\n // (Note:- This is handled outside SanitizeProps because it would impact seriesColors option used in splunk-charting viz as the types are different.\n // The type used in splunk-charting viz expects a string of comma separated colors, but here the type is an array of string)\n seriesColors = isArrayOfColors(seriesColors) ? seriesColors : undefined;\n\n // Compute the columns props and linkValueField props for pure Sankey\n // The columns props is computed as [primary.data.columns[0], primary.data.columns[1], linkValues].\n // The source and target columns are the default as columns[0] and columns[1] respectively\n // The linkValueField props is the fieldName which is set as the source of linkValues\n let columnsFromDataSource = [];\n let linkValueField = '';\n if (\n dataSources?.primary?.data?.columns &&\n dataSources?.primary?.data?.columns?.length >= 2 &&\n Array.isArray(linkValues)\n ) {\n const columns = dataSources.primary.data.columns;\n columnsFromDataSource = columns ? [columns[0], columns[1], linkValues] : null;\n const linkIndex = columns.findIndex(col => isEqual(col, linkValues));\n if (dataSources?.primary?.data?.fields) {\n const linkField = dataSources?.primary?.data?.fields[linkIndex];\n if (typeof linkField === 'object' && linkField !== null) {\n linkValueField = linkField.name;\n } else {\n linkValueField = linkField ?? '';\n }\n }\n }\n return { ...themeColors, columns: columnsFromDataSource, linkValueField, seriesColors };\n};\n\nconst Sankey = withDashboardViz({\n ReactViz: PureSankey,\n vizConfig: config,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }, loading: boolean) =>\n showPlaceHolderIcon(dataSources),\n} as DashboardVizOpts);\nconst themes = config.themes;\nexport default Sankey;\nexport { themes, config, PureSankey };\n","export * from './Sankey';\nexport { default } from './Sankey';\n","// reference link :- https://github.com/csaladenes/sankey\n/* eslint-disable */\nimport { interpolateNumber as d3interpolateNumber } from 'd3-interpolate';\nimport { sum as d3sum, min as d3min, ascending as d3ascending } from 'd3-array';\nimport { nest as d3nest } from 'd3-collection';\n\nexport const d3_sankey = function () {\n var sankey = {},\n nodeWidth = 24,\n nodePadding = 8,\n size = [1, 1],\n nodes = [],\n links = [],\n components = [];\n\n sankey.nodeWidth = function (_) {\n if (!arguments.length) return nodeWidth;\n nodeWidth = +_;\n return sankey;\n };\n\n sankey.nodePadding = function (_) {\n if (!arguments.length) return nodePadding;\n nodePadding = +_;\n return sankey;\n };\n\n sankey.nodes = function (_) {\n if (!arguments.length) return nodes;\n nodes = _;\n return sankey;\n };\n\n sankey.links = function (_) {\n if (!arguments.length) return links;\n links = _;\n return sankey;\n };\n\n sankey.size = function (_) {\n if (!arguments.length) return size;\n size = _;\n return sankey;\n };\n\n sankey.layout = function (iterations) {\n computeNodeLinks();\n computeNodeValues();\n\n computeNodeStructure();\n computeNodeBreadths();\n\n computeNodeDepths(iterations);\n computeLinkDepths();\n\n return sankey;\n };\n\n sankey.relayout = function () {\n computeLinkDepths();\n return sankey;\n };\n\n // A more involved path generator that requires 3 elements to render --\n // It draws a starting element, intermediate and end element that are useful\n // while drawing reverse links to get an appropriate fill.\n //\n // Each link is now an area and not a basic spline and no longer guarantees\n // fixed width throughout.\n //\n // Sample usage:\n //\n // linkNodes = this._svg.append(\"g\").selectAll(\".link\")\n // .data(this.links)\n // .enter().append(\"g\")\n // .attr(\"fill\", \"none\")\n // .attr(\"class\", \".link\")\n // .sort(function(a, b) { return b.dy - a.dy; });\n //\n // linkNodePieces = [];\n // for (var i = 0; i < 3; i++) {\n // linkNodePieces[i] = linkNodes.append(\"path\")\n // .attr(\"class\", \".linkPiece\")\n // .attr(\"d\", path(i))\n // .attr(\"fill\", ...)\n // }\n sankey.reversibleLink = function () {\n var curvature = 0.5;\n\n // Used when source is behind target, the first and last paths are simple\n // lines at the start and end node while the second path is the spline\n function forwardLink(part, d) {\n var x0 = d.source.x + d.source.dx,\n x1 = d.target.x,\n xi = d3interpolateNumber(x0, x1),\n x2 = xi(curvature),\n x3 = xi(1 - curvature),\n y0 = d.source.y + d.sy,\n y1 = d.target.y + d.ty,\n y2 = d.source.y + d.sy + d.dy,\n y3 = d.target.y + d.ty + d.dy;\n\n switch (part) {\n case 0:\n return 'M' + x0 + ',' + y0 + 'L' + x0 + ',' + (y0 + d.dy);\n\n case 1:\n return (\n 'M' +\n x0 +\n ',' +\n y0 +\n 'C' +\n x2 +\n ',' +\n y0 +\n ' ' +\n x3 +\n ',' +\n y1 +\n ' ' +\n x1 +\n ',' +\n y1 +\n 'L' +\n x1 +\n ',' +\n y3 +\n 'C' +\n x3 +\n ',' +\n y3 +\n ' ' +\n x2 +\n ',' +\n y2 +\n ' ' +\n x0 +\n ',' +\n y2 +\n 'Z'\n );\n\n case 2:\n return 'M' + x1 + ',' + y1 + 'L' + x1 + ',' + (y1 + d.dy);\n }\n }\n\n // Used for self loops and when the source is actually in front of the\n // target; the first element is a turning path from the source to the\n // destination, the second element connects the two twists and the last\n // twists into the target element.\n //\n //\n // /--Target\n // \\----------------------\\\n // Source--/\n //\n function backwardLink(part, d) {\n var curveExtension = 30;\n var curveDepth = 15;\n\n function getDir(d) {\n return d.source.y + d.sy > d.target.y + d.ty ? -1 : 1;\n }\n\n function p(x, y) {\n return x + ',' + y + ' ';\n }\n\n var dt = getDir(d) * curveDepth,\n x0 = d.source.x + d.source.dx,\n y0 = d.source.y + d.sy,\n x1 = d.target.x,\n y1 = d.target.y + d.ty;\n\n switch (part) {\n case 0:\n return (\n 'M' +\n p(x0, y0) +\n 'C' +\n p(x0, y0) +\n p(x0 + curveExtension, y0) +\n p(x0 + curveExtension, y0 + dt) +\n 'L' +\n p(x0 + curveExtension, y0 + dt + d.dy) +\n 'C' +\n p(x0 + curveExtension, y0 + d.dy) +\n p(x0, y0 + d.dy) +\n p(x0, y0 + d.dy) +\n 'Z'\n );\n case 1:\n return (\n 'M' +\n p(x0 + curveExtension, y0 + dt) +\n 'C' +\n p(x0 + curveExtension, y0 + 3 * dt) +\n p(x1 - curveExtension, y1 - 3 * dt) +\n p(x1 - curveExtension, y1 - dt) +\n 'L' +\n p(x1 - curveExtension, y1 - dt + d.dy) +\n 'C' +\n p(x1 - curveExtension, y1 - 3 * dt + d.dy) +\n p(x0 + curveExtension, y0 + 3 * dt + d.dy) +\n p(x0 + curveExtension, y0 + dt + d.dy) +\n 'Z'\n );\n\n case 2:\n return (\n 'M' +\n p(x1 - curveExtension, y1 - dt) +\n 'C' +\n p(x1 - curveExtension, y1) +\n p(x1, y1) +\n p(x1, y1) +\n 'L' +\n p(x1, y1 + d.dy) +\n 'C' +\n p(x1, y1 + d.dy) +\n p(x1 - curveExtension, y1 + d.dy) +\n p(x1 - curveExtension, y1 + d.dy - dt) +\n 'Z'\n );\n }\n }\n\n return function (part) {\n return function (d) {\n if (d.source.x < d.target.x) {\n return forwardLink(part, d);\n } else {\n return backwardLink(part, d);\n }\n };\n };\n };\n\n // The standard link path using a constant width spline that needs a\n // single path element.\n sankey.link = function () {\n var curvature = 0.5;\n\n function link(d) {\n var x0 = d.source.x + d.source.dx,\n x1 = d.target.x,\n xi = d3interpolateNumber(x0, x1),\n x2 = xi(curvature),\n x3 = xi(1 - curvature),\n y0 = d.source.y + d.sy + d.dy / 2,\n y1 = d.target.y + d.ty + d.dy / 2;\n return 'M' + x0 + ',' + y0 + 'C' + x2 + ',' + y0 + ' ' + x3 + ',' + y1 + ' ' + x1 + ',' + y1;\n }\n\n link.curvature = function (_) {\n if (!arguments.length) return curvature;\n curvature = +_;\n return link;\n };\n\n return link;\n };\n\n // Populate the sourceLinks and targetLinks for each node.\n // Also, if the source and target are not objects, assume they are indices.\n function computeNodeLinks() {\n nodes.forEach(function (node) {\n node.sourceLinks = [];\n node.targetLinks = [];\n });\n\n links.forEach(function (link) {\n var source = link.source,\n target = link.target;\n if (typeof source === 'number') source = link.source = nodes[link.source];\n if (typeof target === 'number') target = link.target = nodes[link.target];\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n });\n }\n\n // Compute the value (size) of each node by summing the associated links.\n function computeNodeValues() {\n nodes.forEach(function (node) {\n if (!node.value)\n //if not already given\n node.value = Math.max(d3sum(node.sourceLinks, value), d3sum(node.targetLinks, value));\n });\n }\n\n // Take the list of nodes and create a DAG of supervertices, each consisting\n // of a strongly connected component of the graph\n //\n // Based off:\n // http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm\n function computeNodeStructure() {\n var nodeStack = [],\n index = 0;\n\n nodes.forEach(function (node) {\n if (!node.index) {\n connect(node);\n }\n });\n\n function connect(node) {\n node.index = index++;\n node.lowIndex = node.index;\n node.onStack = true;\n nodeStack.push(node);\n\n if (node.sourceLinks) {\n node.sourceLinks.forEach(function (sourceLink) {\n var target = sourceLink.target;\n if (!target.hasOwnProperty('index')) {\n connect(target);\n node.lowIndex = Math.min(node.lowIndex, target.lowIndex);\n } else if (target.onStack) {\n node.lowIndex = Math.min(node.lowIndex, target.index);\n }\n });\n\n if (node.lowIndex === node.index) {\n var component = [],\n currentNode;\n do {\n currentNode = nodeStack.pop();\n currentNode.onStack = false;\n component.push(currentNode);\n } while (currentNode != node);\n components.push({\n root: node,\n scc: component,\n });\n }\n }\n }\n\n components.forEach(function (component, i) {\n component.index = i;\n component.scc.forEach(function (node) {\n node.component = i;\n });\n });\n }\n\n // Assign the breadth (x-position) for each strongly connected component,\n // followed by assigning breadth within the component.\n function computeNodeBreadths() {\n layerComponents();\n\n components.forEach(function (component, i) {\n bfs(component.root, function (node) {\n var result = node.sourceLinks\n .filter(function (sourceLink) {\n return sourceLink.target.component == i;\n })\n .map(function (sourceLink) {\n return sourceLink.target;\n });\n return result;\n });\n });\n\n var max = 0;\n var componentsByBreadth = d3nest()\n .key(function (d) {\n return d.x;\n })\n .sortKeys(d3ascending)\n .entries(components)\n .map(function (d) {\n return d.values;\n });\n\n var max = -1,\n nextMax = -1;\n componentsByBreadth.forEach(function (c) {\n c.forEach(function (component) {\n component.x = max + 1;\n component.scc.forEach(function (node) {\n if (node.layer) node.x = node.layer;\n else node.x = component.x + node.x;\n nextMax = Math.max(nextMax, node.x);\n });\n });\n max = nextMax;\n });\n\n nodes\n .filter(function (node) {\n var outLinks = node.sourceLinks.filter(function (link) {\n return link.source.name != link.target.name;\n });\n return outLinks.length == 0;\n })\n .forEach(function (node) {\n node.x = node.layer ? node.x : max;\n });\n\n scaleNodeBreadths((size[0] - nodeWidth) / Math.max(max, 1));\n\n function flatten(a) {\n return [].concat.apply([], a);\n }\n\n function layerComponents() {\n var remainingComponents = components,\n nextComponents,\n visitedIndex,\n x = 0;\n\n while (remainingComponents.length) {\n nextComponents = [];\n visitedIndex = {};\n\n remainingComponents.forEach(function (component) {\n component.x = x;\n\n component.scc.forEach(function (n) {\n n.sourceLinks.forEach(function (l) {\n if (\n !visitedIndex.hasOwnProperty(l.target.component) &&\n l.target.component != component.index\n ) {\n nextComponents.push(components[l.target.component]);\n visitedIndex[l.target.component] = true;\n }\n });\n });\n });\n\n remainingComponents = nextComponents;\n ++x;\n }\n }\n\n function bfs(node, extractTargets) {\n var queue = [node],\n currentCount = 1,\n nextCount = 0;\n var x = 0;\n\n while (currentCount > 0) {\n var currentNode = queue.shift();\n currentCount--;\n\n if (!currentNode.hasOwnProperty('x')) {\n currentNode.x = x;\n currentNode.dx = nodeWidth;\n\n var targets = extractTargets(currentNode);\n\n queue = queue.concat(targets);\n nextCount += targets.length;\n }\n\n if (currentCount == 0) {\n // level change\n x++;\n currentCount = nextCount;\n nextCount = 0;\n }\n }\n }\n\n //extra code for fixed layout - x part\n /*\n if (fixedlayout && fixedlayout.length > 0) {\n sankey.nodes().forEach(function (d, i) {\n d.x = fixedlayout[i][0];\n });\n }\n */\n }\n\n function moveSourcesRight() {\n nodes.forEach(function (node) {\n if (!node.targetLinks.length) {\n node.x =\n d3min(node.sourceLinks, function (d) {\n return d.target.x;\n }) - 1;\n }\n });\n }\n\n function moveSinksRight(x) {\n nodes.forEach(function (node) {\n if (!node.sourceLinks.length) {\n node.x = x - 1;\n }\n });\n }\n\n function scaleNodeBreadths(kx) {\n nodes.forEach(function (node) {\n node.x *= kx;\n });\n }\n\n function computeNodeDepths(iterations) {\n var nodesByBreadth = d3nest()\n .key(function (d) {\n return d.x;\n })\n .sortKeys(d3ascending)\n .entries(nodes)\n .map(function (d) {\n return d.values;\n });\n\n initializeNodeDepth();\n resolveCollisions();\n\n for (var alpha = 1; iterations > 0; --iterations) {\n relaxRightToLeft((alpha *= 0.99));\n resolveCollisions();\n relaxLeftToRight(alpha);\n resolveCollisions();\n }\n\n function initializeNodeDepth() {\n var ky = d3min(nodesByBreadth, function (nodes) {\n return (size[1] - (nodes.length - 1) * nodePadding) / d3sum(nodes, value);\n });\n\n nodesByBreadth.forEach(function (nodes) {\n nodes.forEach(function (node, i) {\n node.y = i;\n node.dy = node.value * ky;\n });\n });\n\n links.forEach(function (link) {\n link.dy = link.value * ky;\n });\n }\n\n function relaxLeftToRight(alpha) {\n nodesByBreadth.forEach(function (nodes, breadth) {\n nodes.forEach(function (node) {\n if (node.targetLinks.length) {\n var y = d3sum(node.targetLinks, weightedSource) / d3sum(node.targetLinks, value);\n node.y += (y - center(node)) * alpha;\n }\n });\n });\n\n function weightedSource(link) {\n return center(link.source) * link.value;\n }\n }\n\n function relaxRightToLeft(alpha) {\n nodesByBreadth\n .slice()\n .reverse()\n .forEach(function (nodes) {\n nodes.forEach(function (node) {\n if (node.sourceLinks.length) {\n var y = d3sum(node.sourceLinks, weightedTarget) / d3sum(node.sourceLinks, value);\n node.y += (y - center(node)) * alpha;\n }\n });\n });\n\n function weightedTarget(link) {\n return center(link.target) * link.value;\n }\n }\n\n function resolveCollisions() {\n nodesByBreadth.forEach(function (nodes) {\n var node,\n dy,\n y0 = 0,\n n = nodes.length,\n i;\n\n // Push any overlapping nodes down.\n nodes.sort(ascendingDepth);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node) {\n dy = y0 - node.y;\n if (dy > 0) node.y += dy;\n y0 = node.y + node.dy + nodePadding;\n }\n }\n\n // If the bottommost node goes outside the bounds, push it back up.\n dy = y0 - nodePadding - size[1];\n if (node && dy > 0) {\n y0 = node.y -= dy;\n\n // Push any overlapping nodes back up.\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.y + node.dy + nodePadding - y0;\n if (dy > 0) node.y -= dy;\n y0 = node.y;\n }\n }\n });\n }\n\n function ascendingDepth(a, b) {\n return a.y - b.y;\n }\n\n //extra code for fixed layout - y part\n /*\n if (fixedlayout.length > 0) {\n sankey.nodes().forEach(function (d, i) {\n d.y = fixedlayout[i][1];\n });\n }\n */\n }\n\n function computeLinkDepths() {\n nodes.forEach(function (node) {\n const parallelrendering = false;\n if (parallelrendering) {\n } else node.sourceLinks.sort(ascendingTargetDepth);\n node.targetLinks.sort(ascendingSourceDepth);\n });\n nodes.forEach(function (node) {\n var sy = 0,\n ty = 0;\n node.sourceLinks.forEach(function (link) {\n link.sy = sy;\n sy += link.dy;\n });\n node.targetLinks.forEach(function (link) {\n link.ty = ty;\n ty += link.dy;\n });\n });\n\n function ascendingSourceDepth(a, b) {\n return a.source.y - b.source.y;\n }\n\n function ascendingTargetDepth(a, b) {\n return a.target.y - b.target.y;\n }\n }\n\n function center(node) {\n return node.y + node.dy / 2;\n }\n\n function value(link) {\n return link.value;\n }\n\n return sankey;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { ScaleOrdinal } from 'd3-scale';\nimport styled from 'styled-components';\nimport {\n DEFAULT_FONT_FAMILY,\n DEFAULT_NODE_COLOR,\n DEFAULT_NODE_OPACITY,\n INACTIVE_OPACITY,\n} from './PureSankey';\nimport { SankeyDataNode } from './SankeyModels';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\nimport { truncateSVGTextWithEllipsis } from './SankeyUtils';\n\nconst MAX_NODE_TEXT_WIDTH = 150;\nexport interface SankeyNodeProps {\n node: SankeyDataNode;\n activeNodes: SankeyDataNode[];\n nodeWidth: number;\n chartWidth: number;\n handleMouseOver: (...args: any[]) => void;\n handleMouseLeave: (...args: any[]) => void;\n nodeTextColor: string;\n colorCategoryMapping: ScaleOrdinal<string, unknown, string> | string[];\n}\n\nconst getNodeOpacity = (nodeIndex: number, activeNodes: SankeyDataNode[]): number => {\n if (!activeNodes || !activeNodes.length) {\n return DEFAULT_NODE_OPACITY;\n }\n const isActiveNode = activeNodes.find(node => node.index === nodeIndex);\n return isActiveNode ? DEFAULT_NODE_OPACITY : INACTIVE_OPACITY;\n};\n\nconst getNodeHeight = (node): number => {\n return node.dy < 0 ? 1 : node.dy;\n};\n\nconst NodeGroup = styled.g<{ node: SankeyDataNode; activeNodes: SankeyDataNode[] }>`\n opacity: ${props => getNodeOpacity(props.node.index, props.activeNodes)};\n`;\nNodeGroup.displayName = 'NodeGroup';\n\nconst NodeRect = styled.rect<{\n node: SankeyDataNode;\n colorCategoryMapping: any;\n}>`\n fill: ${props =>\n typeof props.colorCategoryMapping === 'function'\n ? props.colorCategoryMapping(props.node.name)\n : DEFAULT_NODE_COLOR};\n`;\n\nconst NodeText = styled.text<{ node: SankeyDataNode; chartWidth: number; nodeTextColor: string }>`\n text-anchor: ${props => (props.node.x < props.chartWidth / 2 ? 'start' : 'end')};\n font-size: 12px;\n font-family: ${DEFAULT_FONT_FAMILY};\n letter-spacing: 0.02em;\n fill: ${props => props.nodeTextColor};\n`;\n\nconst SankeyNode = (props: SankeyNodeProps) => {\n const {\n node,\n activeNodes,\n nodeWidth,\n chartWidth,\n handleMouseOver,\n handleMouseLeave,\n colorCategoryMapping,\n nodeTextColor,\n } = props;\n\n const nodeTextRef = useRef();\n\n useEffect(() => {\n truncateSVGTextWithEllipsis(nodeTextRef.current, node.name, MAX_NODE_TEXT_WIDTH);\n });\n\n return (\n <NodeGroup\n node={node}\n activeNodes={activeNodes}\n className=\"node\"\n key={`node-${node.index}`}\n data-test={`node-${node.index}`}\n transform={`translate(${node.x},${node.y})`}\n >\n <React.Fragment>\n <NodeRect\n node={node}\n height={getNodeHeight(node)}\n width={nodeWidth}\n colorCategoryMapping={colorCategoryMapping}\n onMouseOver={ev => handleMouseOver(ev)}\n onMouseLeave={ev => handleMouseLeave(ev)}\n ></NodeRect>\n <NodeText\n ref={nodeTextRef}\n node={node}\n chartWidth={chartWidth}\n x={node.x < (chartWidth as number) / 2 ? 6 + nodeWidth : -6}\n y={node.dy / 2}\n dy=\".35em\"\n nodeTextColor={nodeTextColor}\n >\n {node.name}\n </NodeText>\n </React.Fragment>\n </NodeGroup>\n );\n};\n\nSankeyNode.propTypes = {\n node: T.object,\n activeNodes: T.arrayOf(T.object),\n nodeWidth: T.number,\n chartWidth: T.number,\n handleMouseOver: T.func,\n handleMouseLeave: T.func,\n colorCategoryMapping: T.oneOfType([T.func, T.arrayOf(T.string)]),\n nodeTextColor: T.string,\n};\n\nSankeyNode.defaultProps = {\n handleMouseOver: () => {},\n handleMouseLeave: () => {},\n};\n\nexport default SankeyNode;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { DEFAULT_LINK_COLOR, INACTIVE_OPACITY } from './PureSankey';\nimport { COLOR_MODE_TYPES, SankeyDataLink } from './SankeyModels';\nimport { ScaleOrdinal } from 'd3-scale';\nimport { extractLinkMidPoint } from './SankeyUtils';\n\nexport interface SankeyLinkProps {\n link: SankeyDataLink;\n activeLinks: SankeyDataLink[];\n linkOpacity: number;\n colorMode: COLOR_MODE_TYPES;\n handleMouseOver: (...args: any[]) => void;\n handleMouseLeave: (...args: any[]) => void;\n colorCategoryMapping: ScaleOrdinal<string, unknown, string> | string[];\n path: (a: number) => (link: SankeyDataLink) => string;\n}\n\nconst getLinkFill = (link, colorCategoryMapping, colorMode) => {\n if (colorMode === 'categorical') {\n return colorCategoryMapping ? colorCategoryMapping(link.source.name) : DEFAULT_LINK_COLOR;\n } else {\n return colorCategoryMapping && colorCategoryMapping[link.index]\n ? colorCategoryMapping[link.index]\n : DEFAULT_LINK_COLOR;\n }\n};\n\nconst getLinkOpacity = (link: SankeyDataLink, activeLinks: SankeyDataLink[], linkOpacity: number) => {\n if (!activeLinks || !activeLinks.length) {\n return linkOpacity;\n }\n const isActiveLink = activeLinks.find(l => l.id === link.id);\n return isActiveLink ? linkOpacity : INACTIVE_OPACITY;\n};\n\nconst SankeyLink = (props: SankeyLinkProps) => {\n const {\n link,\n colorCategoryMapping,\n activeLinks,\n linkOpacity,\n colorMode,\n path,\n handleMouseOver,\n handleMouseLeave,\n } = props;\n // This is to draw an invisible circle added to the link's path midpoint,\n // which acts as an anchor for the link tooltip\n const circlePoints = extractLinkMidPoint(path(1)(link));\n return (\n <g\n className=\"link\"\n key={link.id}\n id={link.id}\n data-test={link.id}\n fill={getLinkFill(link, colorCategoryMapping, colorMode)}\n opacity={getLinkOpacity(link, activeLinks, linkOpacity)}\n onMouseOver={ev => {\n handleMouseOver(ev);\n }}\n onMouseLeave={ev => {\n const relatedTarget = ev.relatedTarget as HTMLElement;\n let isRelatedTargetPopover = false;\n // This is to verify if the mouseLeave is being triggered because of mouseover on a the popover itself.\n // In that case the relatedTarget will have the popover elements and this logic will check on the class name used.\n // If detects the relatedTarget is a popover, then mouseLeave event handler wont be triggered.\n if (relatedTarget && relatedTarget.classList) {\n const classList = relatedTarget.classList;\n classList.forEach(name => {\n if (\n name.toLocaleLowerCase().indexOf('sankeytooltip') > -1 ||\n name.toLocaleLowerCase().indexOf('popoverstyles') > -1\n ) {\n isRelatedTargetPopover = true;\n return;\n }\n });\n }\n if (!isRelatedTargetPopover) {\n handleMouseLeave(ev);\n }\n }}\n >\n <path d={path(0)(link)} />\n <path d={path(1)(link)} />\n <path d={path(2)(link)} />\n {circlePoints && (\n <circle cx={circlePoints.x} cy={circlePoints.y} r={5} fill=\"transparent\"></circle>\n )}\n </g>\n );\n};\n\nSankeyLink.propTypes = {\n link: T.object,\n activeLinks: T.arrayOf(T.object),\n linkOpacity: T.number,\n path: T.func,\n handleMouseOver: T.func,\n handleMouseLeave: T.func,\n colorCategoryMapping: T.oneOfType([T.func, T.arrayOf(T.string)]),\n};\n\nSankeyLink.defaultProps = {\n handleMouseOver: () => {},\n handleMouseLeave: () => {},\n};\n\nexport default SankeyLink;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { ScaleOrdinal } from 'd3-scale';\nimport {\n Connections,\n NodeConnectionsMap,\n SankeyDataLink,\n SankeyDataNode,\n TooltipColors,\n} from './SankeyModels';\nimport Popover from '@splunk/react-ui/Popover';\nimport styled from 'styled-components';\nimport { DEFAULT_NODE_COLOR } from './PureSankey';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\n\nconst DEFAULT_PLACEMENT = 'below';\n\nexport interface SankeyTooltipProps {\n mode: 'node' | 'link';\n node?: SankeyDataNode;\n link?: SankeyDataLink;\n linkValue: string;\n open: boolean;\n connectionsMap: NodeConnectionsMap;\n anchor?: any;\n colorCategoryMapping: ScaleOrdinal<string, unknown, string> | string[];\n width: number;\n height: number;\n tooltipRowColor: string;\n tooltipLinkHeaderColor: string;\n tooltipHeaderColor: string;\n handleTooltipRequestClose: (...args: any[]) => void;\n}\n\nconst StyledTooltipContainer = styled.div`\n display: flex;\n min-width: 200px;\n max-width: 300px;\n padding: 16px;\n flex-direction: column;\n`;\n\nconst StyledTooltipSection = styled.div`\n display: flex;\n flex-direction: column;\n > div:nth-child(1) {\n margin-top: 8px;\n }\n > div:last-child {\n margin-bottom: 8px;\n }\n`;\n\nconst StyledTooltipHeader = styled.div<{ headerColor: string }>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 14px;\n color: ${props => props.headerColor};\n`;\n\nconst StyledTooltipLinkHeader = styled.div<{ linkHeaderColor: string }>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 14px;\n margin-bottom: 8px;\n color: ${props => props.linkHeaderColor};\n`;\n\nconst StyledTooltipRow = styled.div<{ rowColor: string }>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 12px;\n color: ${props => props.rowColor};\n margin-bottom: 6px;\n`;\n\nconst StyledTooltipLeftCell = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n`;\n\nconst StyledTooltipRightCell = styled.div`\n margin-left: 5px;\n`;\n\nconst ColorTile = styled.div<{ node: SankeyDataNode; colorCategoryMapping: any }>`\n width: 6px;\n height: 16px;\n background-color: ${props =>\n typeof props.colorCategoryMapping === 'function'\n ? props.colorCategoryMapping(props.node.name)\n : DEFAULT_NODE_COLOR};}\n`;\n\nconst NodeValue = styled.div`\n margin-left: 8px;\n max-width: 200px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\n\nconst SankeyTooltip = (props: SankeyTooltipProps) => {\n const {\n mode,\n node,\n link,\n open,\n connectionsMap,\n anchor,\n linkValue,\n colorCategoryMapping,\n width,\n tooltipRowColor,\n tooltipLinkHeaderColor,\n tooltipHeaderColor,\n handleTooltipRequestClose,\n } = props;\n\n const showSection = (\n connection: Connections,\n nodeData: SankeyDataNode,\n section: 'source' | 'target'\n ): boolean => {\n if (!connection) {\n return false;\n }\n const connectionNodes = section === 'source' ? connection.sourceNodes : connection.targetNodes;\n const filteredNodes = connectionNodes.filter(cNode => cNode.index !== nodeData.index);\n return filteredNodes.length > 0;\n };\n\n const getPopoverPlacement = (anchorElement): 'above' | 'below' | 'left' | 'right' => {\n if (!anchorElement) {\n return DEFAULT_PLACEMENT;\n }\n const bBox = anchorElement.getBoundingClientRect();\n\n // TODO: Depending on the testing result in dashboard reg tooltip position, might need further optimization\n // If anchorElement is too close to the left border of the chart, place it to the right side of anchorElement\n if (bBox.x <= 15) {\n return 'right';\n } else if (bBox.x >= width - 15) {\n // If anchorElement is too close to the right border of the chart, place it to the right side of anchorElement\n return 'left';\n }\n\n return DEFAULT_PLACEMENT;\n };\n\n const renderNodeToolTip = () => {\n if (!node) {\n return null;\n }\n const connections = connectionsMap[node.index];\n return (\n <Popover\n open={open}\n anchor={anchor}\n onRequestClose={() => handleTooltipRequestClose()}\n defaultPlacement={getPopoverPlacement(anchor)}\n >\n <StyledTooltipContainer className=\"sankeyToolTip\">\n <StyledTooltipRow rowColor={tooltipRowColor} data-test=\"main-row\">\n <StyledTooltipLeftCell data-test=\"main-row-name\">\n <ColorTile node={node} colorCategoryMapping={colorCategoryMapping}></ColorTile>\n <NodeValue>{node?.name}</NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"main-row-value\">\n {formatNumber(node?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n {showSection(connections, node, 'source') && (\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Source</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n )}\n <StyledTooltipSection>\n {connections &&\n connections.sourceNodes.map((sNode, idx) => {\n if (\n sNode?.index !== node?.index ||\n connections.sourceNodes[idx]?.index ===\n connections.targetNodes[idx]?.index\n ) {\n return (\n <StyledTooltipRow\n key={sNode.index}\n rowColor={tooltipRowColor}\n data-test=\"source-row\"\n >\n <StyledTooltipLeftCell>\n <ColorTile\n node={sNode}\n colorCategoryMapping={colorCategoryMapping}\n ></ColorTile>\n <NodeValue data-test=\"source-row-name\">\n {sNode?.name}\n </NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"source-row-value\">\n {formatNumber(sNode?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n );\n }\n })}\n </StyledTooltipSection>\n {showSection(connections, node, 'target') && (\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Target</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n )}\n <StyledTooltipSection>\n {connections &&\n connections.targetNodes.map((tNode, idx) => {\n if (\n tNode?.index !== node?.index ||\n connections.sourceNodes[idx]?.index ===\n connections.targetNodes[idx]?.index\n ) {\n return (\n <StyledTooltipRow\n key={tNode.index}\n rowColor={tooltipRowColor}\n data-test=\"target-row\"\n >\n <StyledTooltipLeftCell>\n <ColorTile\n node={tNode}\n colorCategoryMapping={colorCategoryMapping}\n ></ColorTile>\n <NodeValue data-test=\"target-row-name\">\n {tNode?.name}\n </NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"target-row-value\">\n {formatNumber(tNode?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n );\n }\n })}\n </StyledTooltipSection>\n </StyledTooltipContainer>\n </Popover>\n );\n };\n\n const renderLinkToolTip = () => {\n if (!link) {\n return null;\n }\n return (\n <Popover open={open} anchor={anchor} onRequestClose={() => handleTooltipRequestClose()}>\n <StyledTooltipContainer className=\"sankeyToolTip\">\n <StyledTooltipLinkHeader linkHeaderColor={tooltipLinkHeaderColor} data-test=\"main-row\">\n <StyledTooltipLeftCell data-test=\"main-row-name\">Link Size</StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"main-row-value\">\n {formatNumber(link?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipLinkHeader>\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Source</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n <StyledTooltipSection>\n <StyledTooltipRow rowColor={tooltipRowColor} data-test=\"source-row\">\n <StyledTooltipLeftCell>\n <ColorTile\n node={link?.source}\n colorCategoryMapping={colorCategoryMapping}\n ></ColorTile>\n <NodeValue data-test=\"source-row-name\">{link?.source?.name}</NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"source-row-value\">\n {formatNumber(link?.source?.value, 0, { useTrendUnits: true })}{' '}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n </StyledTooltipSection>\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Target</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n <StyledTooltipSection>\n <StyledTooltipRow rowColor={tooltipRowColor} data-test=\"target-row\">\n <StyledTooltipLeftCell>\n <ColorTile\n node={link?.target}\n colorCategoryMapping={colorCategoryMapping}\n ></ColorTile>\n <NodeValue data-test=\"target-row-name\">{link?.target?.name}</NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"target-row-value\">\n {formatNumber(link?.target?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n </StyledTooltipSection>\n </StyledTooltipContainer>\n </Popover>\n );\n };\n\n return mode === 'node' ? renderNodeToolTip() : renderLinkToolTip();\n};\n\nSankeyTooltip.propTypes = {\n mode: T.string,\n node: T.object,\n linkValue: T.string,\n open: T.bool,\n connectionsMap: T.object,\n anchor: T.object,\n colorCategoryMapping: T.oneOfType([T.func, T.arrayOf(T.string)]),\n tooltipRowColor: T.string,\n tooltipLinkHeaderColor: T.string,\n tooltipHeaderColor: T.string,\n width: T.number,\n height: T.number,\n handleTooltipRequestClose: T.func,\n};\n\nSankeyTooltip.defaultProps = {\n handleTooltipRequestClose: () => {},\n};\n\nexport default SankeyTooltip;\n","module.exports = require(\"@splunk/react-ui/Popover\");","import { Sankey as SankeyIcon } from '@splunk/visualization-icons';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { getDynamicLinkColorsEditor } from '../common/editorConfig/DynamicLinkColorsEditor';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n linkColorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 600,\n initialHeight: 300,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n colorMode: {\n default: 'categorical',\n description:\n 'Specify the coloring method used for the links. When set to \"categorical\" the nodes and links will be colored based on the \"seriesColors\". When set to \"dynamic\" the links will be colored based on the dynamic string assigned to \"linkColors\".',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n linkOpacity: {\n default: 0.5,\n description: 'Specify the opacity of the links. Choose a number in the range of 0 - 1 (inclusive).',\n type: 'number',\n },\n linkValues: {\n default: `> primary | seriesByType('number')`,\n description: 'Specify the dataSource to apply link width.',\n type: 'string',\n },\n linkColors: {\n default: `> linkValues | rangeValue(linkColorRangeConfig)`,\n description:\n 'Specify the coloring method used for the links when the colorMode “dynamic” is specified.',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n resultLimit: {\n default: 1000,\n description: 'Specify the maximum length of link data points rendered.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n nodeTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipRowColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipLinkHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textGray(props),\n },\n prisma: variables.contentColorMuted(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data Selection'),\n layout: [\n [\n {\n label: 'Link Value Field',\n editor: 'editor.columnSelector',\n option: 'linkValues',\n context: 'linkValuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n filterByTypes: ['number'],\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: _('Color Mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Categorical'), value: 'categorical' },\n { label: _('Dynamic'), value: 'dynamic' },\n ],\n },\n },\n ],\n [\n {\n ...getDynamicLinkColorsEditor({ defaultContext, defaultPalettesConfig }),\n showEditor: ({ options }) => options.colorMode === 'dynamic',\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.sankey',\n /**\n * viz name\n */\n name: 'Sankey',\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: SankeyIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {},\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicLinkColorsEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Link Color'),\n option: 'linkColors',\n context: 'linkColorRangeConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.linkColors),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Links'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n linkValues: defaultContext.linkColorRangeConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Link Colors'),\n value: 'linkValues',\n },\n ],\n defaultPalettesConfig,\n },\n});\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/version.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/utils/JSONSchemaUtils.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///external \"d3-array\"","webpack:///./src/common/components/VizStyleWrapper.jsx","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/themes\"","webpack:///external \"d3-scale\"","webpack:///./src/Sankey/PureSankey/PureSankey.tsx","webpack:///external \"@splunk/visualizations-shared/dataSourceUtils\"","webpack:///./src/Sankey/PureSankey/SankeyUtils.ts","webpack:///external \"d3-interpolate\"","webpack:///external \"d3-collection\"","webpack:///./src/Sankey/Sankey.tsx","webpack:///./src/Sankey/index.ts","webpack:///./src/Sankey/PureSankey/lib/sankey.js","webpack:///./src/Sankey/PureSankey/SankeyNode.tsx","webpack:///./src/Sankey/PureSankey/SankeyLink.tsx","webpack:///./src/Sankey/PureSankey/SankeyTooltip.tsx","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///./src/Sankey/config.ts","webpack:///./src/common/editorConfig/DynamicLinkColorsEditor.js"],"names":["VizStyleWrapper","dataTestKey","props","d3_sankey","sankey","nodeWidth","nodePadding","size","nodes","links","components","arguments","computeNodeLinks","computeNodeValues","computeNodeStructure","computeNodeBreadths","computeNodeDepths","computeLinkDepths","curvature","x0","d","x1","xi","d3interpolateNumber","x2","x3","y0","y1","y2","y3","curveExtension","curveDepth","x","dt","getDir","p","forwardLink","backwardLink","link","node","source","target","Math","d3sum","nodeStack","index","connect","sourceLink","component","currentNode","root","scc","layerComponents","bfs","result","max","componentsByBreadth","nextMax","c","outLinks","scaleNodeBreadths","remainingComponents","nextComponents","visitedIndex","n","l","queue","currentCount","nextCount","targets","extractTargets","nodesByBreadth","initializeNodeDepth","resolveCollisions","alpha","iterations","relaxRightToLeft","relaxLeftToRight","ky","d3min","y","center","i","dy","a","b","parallelrendering","sy","ty","getDynamicLinkColorsEditor","defaultContext","defaultPalettesConfig","label","_","option","context","editor","showEditor","options","isDynamicOption","editorProps","labelPosition","flyoutTitle","formatters","value","defaults","linkValues","linkColorRangeConfig","dataSelectors"],"mappings":"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","file":"Sankey.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 222);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { cloneDeep } from 'lodash';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n\n/**\n * helper to deeply merge objects while preserving arrays in earlier source objects\n * deeply nested primitive keys are merged similarly to lodash's defaultsDeep, while keys with arrays will be preserved if already present in the resultant merged object\n * this prevents default arrays from appending values to user-defined arrays (this occurs if the default array is longer than the user-defined one)\n *\n * @method deepMergeWithArrayOverrides\n * @param {Object} initial - target object to merge values into\n * @param {Object[]} sources - other default options to be merged into the resultant object if no explicit value is provided, with earlier args taking precedence over later ones\n *\n * @returns {Object}\n */\nexport const deepMergeWithArrayOverrides = (initial, ...sources) => {\n const clone = cloneDeep(initial);\n sources.forEach(sourceToApply => {\n Object.keys(sourceToApply).forEach(sourceKey => {\n if (!Object.prototype.hasOwnProperty.call(clone, sourceKey)) {\n clone[sourceKey] = cloneDeep(sourceToApply[sourceKey]);\n }\n // object merging excluding arrays\n if (\n clone[sourceKey] &&\n typeof clone[sourceKey] === 'object' &&\n !Array.isArray(clone[sourceKey]) &&\n typeof sourceToApply[sourceKey] === 'object'\n ) {\n clone[sourceKey] = deepMergeWithArrayOverrides(clone[sourceKey], sourceToApply[sourceKey]);\n }\n });\n });\n return clone;\n};\n","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { version } from '../version';\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={version}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","export const version = '24.2.0';\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: 'grey',\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\n\nimport { withTheme } from 'styled-components';\nimport SplunkVisualization from './SplunkVisualization';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { VizConfig } from './interfaces/VizConfig';\nimport { VizProps } from './interfaces/VizProps';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { DataSource } from './interfaces/DataSource';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport { pickFieldFromJSONSchema } from './utils/JSONSchemaUtils';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\nimport { deepMergeWithArrayOverrides } from './utils/hocUtils';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const { ReactViz, vizConfig, computeVizProps = () => {}, useIconPlaceholder } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(withPlaceholder(withEditModeCover(DashboardViz), useIconPlaceholder));\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","/* eslint-disable no-param-reassign */\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { has, isEmpty, get } from 'lodash';\nimport { KV } from '../interfaces/Object';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\n\nexport const pickFieldFromJSONSchema = (\n optionsSchema: OptionsSchema | JSONSchema7Definition,\n fieldName = 'default'\n): KV =>\n Object.keys(optionsSchema).reduce((accum: Record<string, unknown>, k): Record<string, unknown> => {\n if (has(optionsSchema[k], fieldName)) {\n accum[k] = optionsSchema[k][fieldName];\n } else if (get(optionsSchema, [k, 'type']) === 'object' && has(optionsSchema[k], 'properties')) {\n const nestedSchema = pickFieldFromJSONSchema(optionsSchema[k].properties, fieldName);\n if (!isEmpty(nestedSchema)) {\n accum[k] = nestedSchema;\n }\n }\n return accum;\n }, {});\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\nimport { version } from '../version';\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': version,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (Visualization: ExtendedDashViz): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n return (\n <Blocker>\n <Visualization {...props} />\n {mode === 'edit' && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={config.icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","module.exports = require(\"d3-array\");","import styled from 'styled-components';\n\nconst VizStyleWrapper = styled.div.attrs(({ dataTestKey }) => ({\n 'data-test': dataTestKey,\n}))`\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nVizStyleWrapper.displayName = 'VizStyleWrapper';\n\nexport default VizStyleWrapper;\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"d3-scale\");","import * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport * as T from 'prop-types';\nimport { pick } from 'lodash';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\n// eslint-disable-next-line camelcase\nimport { d3_sankey } from './lib/sankey';\nimport VizStyleWrapper from '../../common/components/VizStyleWrapper';\nimport {\n checkDigitsOnly,\n computeAllConnectedLinksToNodes,\n convertInputToSankeyDataFormat,\n getAllNodeNames,\n getColorCategoryMapping,\n getLinkId,\n getNodeId,\n} from './SankeyUtils';\nimport SankeyNode from './SankeyNode';\nimport SankeyLink from './SankeyLink';\nimport { COLOR_MODE_TYPES, NodeConnectionsMap, SankeyColors, SankeyDataLink } from './SankeyModels';\nimport SankeyTooltip from './SankeyTooltip';\n\nexport const DEFAULT_COLORS: SankeyColors = {\n backgroundColor: '#ffffff',\n nodeTextColor: '#2c2c2c',\n tooltip: {\n headerColor: 'rgba(0, 0, 0, 0.54)',\n linkHeaderColor: '#2c2c2c',\n rowColor: '#2c2c2c',\n },\n};\nexport const NODE_TEXT_FONT_SIZE = 10;\nexport const DEFAULT_FONT_FAMILY =\n '\"Splunk Platform Sans\", \"Proxima Nova\", \"Helvetica Neue\", Helvetica, Arial, sans-serif';\nexport const DEFAULT_NODE_COLOR = '#909090';\nexport const DEFAULT_LINK_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLOR = VIZ_CATEGORICAL;\nexport const DEFAULT_LINK_OPACITY = 0.5;\nexport const DEFAULT_NODE_OPACITY = 1;\nexport const INACTIVE_OPACITY = 0.05;\nexport const CHART_MIN_WIDTH = 300;\nexport const CHART_MIN_HEIGHT = 200;\nexport const DEFAULT_CHART_WIDTH = 600;\nexport const DEFAULT_CHART_HEIGHT = 300;\nexport const DEFAULT_SOURCE_INDEX = 0;\nexport const DEFAULT_TARGET_INDEX = 1;\nexport const DEFAULT_LINK_VALUE_INDEX = 2;\n\ninterface PureSankeyProps {\n columns: (string[] | number[])[];\n width: string | number;\n height: string | number;\n mode?: string;\n backgroundColor: string;\n colorMode: COLOR_MODE_TYPES;\n nodeWidth: number;\n nodePadding: number;\n resultLimit: number;\n seriesColors: string[];\n linkColors?: string[];\n linkOpacity: number;\n linkValueField?: string;\n nodeTextColor: string;\n tooltipRowColor: string;\n tooltipLinkHeaderColor: string;\n tooltipHeaderColor: string;\n}\n\nconst SankeyContainer = styled.div<{\n width: number | string;\n height: number | string;\n}>`\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nconst PureSankey = (props: PureSankeyProps) => {\n const {\n width,\n height,\n columns,\n colorMode,\n nodeWidth,\n nodePadding,\n resultLimit,\n seriesColors,\n linkColors,\n linkOpacity,\n linkValueField,\n backgroundColor,\n nodeTextColor,\n tooltipRowColor,\n tooltipLinkHeaderColor,\n tooltipHeaderColor,\n } = props;\n\n const margin = {\n top: 17,\n right: 25,\n bottom: 17,\n left: 30,\n };\n // This is to translate the svg's root g based on margin\n // The y position is same as margin top & bottom\n // The x position is an avg of margin right & left\n const translatePos = { x: 28, y: 17 };\n\n const [activeLinks, setActiveLinks] = useState([]);\n const [activeNodes, setActiveNodes] = useState([]);\n const [nodeHovered, setNodeHovered] = useState(null);\n const [hoveredNodeElement, setHoveredNodeElement] = useState(null);\n const [openNodeToolTip, setOpenNodeToolTip] = useState(false);\n const [hoveredLinkElement, setHoveredLinkElement] = useState(null);\n const [openLinkToolTip, setOpenLinkToolTip] = useState(false);\n const sankeyContainerElement = useRef(null);\n const [sankeyWidth, setSankeyWidth] = useState(DEFAULT_CHART_WIDTH - margin.left - margin.right);\n const [sankeyHeight, setSankeyHeight] = useState(DEFAULT_CHART_HEIGHT - margin.top - margin.bottom);\n\n useEffect(() => {\n if (sankeyContainerElement && sankeyContainerElement.current) {\n const w = sankeyContainerElement.current.getBoundingClientRect().width;\n const h = sankeyContainerElement.current.getBoundingClientRect().height;\n const sWidth = checkDigitsOnly(width as string) ? parseInt(width as string, 10) : w;\n const sHeight = checkDigitsOnly(height as string) ? parseInt(height as string, 10) : h;\n setSankeyWidth(sWidth - margin.left - margin.right);\n setSankeyHeight(sHeight - margin.top - margin.bottom);\n }\n }, [width, height]);\n\n const sankeyData = convertInputToSankeyDataFormat(\n columns,\n DEFAULT_SOURCE_INDEX,\n DEFAULT_TARGET_INDEX,\n DEFAULT_LINK_VALUE_INDEX,\n resultLimit\n );\n if (!sankeyData || !columns || !Array.isArray(columns) || columns.length < 3) {\n return <Message width={width} height={height} message={_('Invalid data to render')} level=\"info\" />;\n }\n const sortAndAssignLinkIds = (links: SankeyDataLink[]): void => {\n links.sort((a, b) => a.dy - b.dy);\n links.forEach(link => {\n // eslint-disable-next-line no-param-reassign\n link.id = `link-${link.source.index}-${link.target.index}`;\n });\n };\n const d3sankey = (d3_sankey() as any)\n .nodeWidth(nodeWidth)\n .nodePadding(nodePadding)\n .size([sankeyWidth, sankeyHeight]);\n const path = d3sankey.reversibleLink();\n d3sankey.nodes(sankeyData.nodes).links(sankeyData.links).layout(500);\n sortAndAssignLinkIds(sankeyData.links);\n const nodeConnectionsMap: NodeConnectionsMap = computeAllConnectedLinksToNodes(\n sankeyData.nodes,\n sankeyData.links\n );\n const uniqCategory = getAllNodeNames(sankeyData);\n const colorCategoryMapping = getColorCategoryMapping({\n category: uniqCategory,\n colorMode,\n seriesColors,\n linkColors,\n });\n\n const resetStates = () => {\n setActiveLinks([]);\n setActiveNodes([]);\n setHoveredLinkElement(null);\n setHoveredNodeElement(null);\n setNodeHovered(null);\n setOpenLinkToolTip(false);\n setOpenNodeToolTip(false);\n };\n\n const renderVisualization = ({ width: containerWidth, height: containerHeight }) => {\n if (containerWidth < CHART_MIN_WIDTH || containerHeight < CHART_MIN_HEIGHT) {\n return (\n <Message\n width={containerWidth}\n height={containerHeight}\n message={_('Too small to render content')}\n level=\"info\"\n />\n );\n }\n\n const renderLinks = links => {\n return links.map(link => {\n return (\n <SankeyLink\n link={link}\n activeLinks={activeLinks}\n linkOpacity={linkOpacity}\n path={path}\n key={getLinkId(link)}\n data-test={getLinkId(link)}\n colorCategoryMapping={colorCategoryMapping}\n colorMode={colorMode}\n handleMouseOver={ev => {\n setActiveLinks([link]);\n setActiveNodes([link.source, link.target]);\n setHoveredLinkElement(ev.currentTarget.querySelector('circle'));\n setOpenNodeToolTip(false);\n setOpenLinkToolTip(true);\n }}\n handleMouseLeave={() => {\n resetStates();\n }}\n />\n );\n });\n };\n\n const renderNodes = nodes => {\n const chartWidth = typeof width === 'number' ? width : Number.parseInt(width, 10);\n return nodes.map(node => {\n return (\n <SankeyNode\n node={node}\n key={getNodeId(node)}\n data-test={getNodeId(node)}\n activeNodes={activeNodes}\n nodeWidth={nodeWidth}\n chartWidth={chartWidth}\n colorCategoryMapping={colorCategoryMapping}\n nodeTextColor={nodeTextColor}\n handleMouseOver={ev => {\n const connections = nodeConnectionsMap[node.index];\n setActiveLinks(connections.links);\n setNodeHovered(node);\n setActiveNodes([...connections.sourceNodes, ...connections.targetNodes]);\n setHoveredNodeElement(ev.currentTarget);\n setOpenLinkToolTip(false);\n setOpenNodeToolTip(true);\n }}\n handleMouseLeave={() => resetStates()}\n />\n );\n });\n };\n\n return (\n <VizStyleWrapper\n backgroundColor={backgroundColor}\n dataTestKey=\"SankeyWrapper\"\n onMouseLeave={() => resetStates()}\n >\n <svg height=\"100%\" width=\"100%\" data-test=\"sankey-svg\">\n <g transform={`translate(${translatePos.x},${translatePos.y})`}>\n <g className=\"link-group\" data-test=\"link-group\">\n {renderLinks(sankeyData.links)}\n {openLinkToolTip && (\n <SankeyTooltip\n mode=\"link\"\n open={openLinkToolTip}\n handleTooltipRequestClose={() => resetStates()}\n linkValue={linkValueField}\n connectionsMap={nodeConnectionsMap}\n anchor={hoveredLinkElement}\n link={activeLinks[0]}\n height={sankeyHeight}\n width={sankeyWidth}\n colorCategoryMapping={colorCategoryMapping}\n tooltipRowColor={tooltipRowColor}\n tooltipLinkHeaderColor={tooltipLinkHeaderColor}\n tooltipHeaderColor={tooltipHeaderColor}\n />\n )}\n </g>\n <g className=\"node-group\" data-test=\"node-group\">\n {renderNodes(sankeyData.nodes)}\n {openNodeToolTip && (\n <SankeyTooltip\n mode=\"node\"\n open={openNodeToolTip}\n handleTooltipRequestClose={() => resetStates()}\n linkValue={linkValueField}\n connectionsMap={nodeConnectionsMap}\n anchor={hoveredNodeElement}\n node={nodeHovered}\n height={sankeyHeight}\n width={sankeyWidth}\n colorCategoryMapping={colorCategoryMapping}\n tooltipRowColor={tooltipRowColor}\n tooltipLinkHeaderColor={tooltipLinkHeaderColor}\n tooltipHeaderColor={tooltipHeaderColor}\n />\n )}\n </g>\n </g>\n </svg>\n </VizStyleWrapper>\n );\n };\n\n return (\n <SankeyContainer height={height} width={width} ref={sankeyContainerElement}>\n <SizeAwareWrapper>\n {containerDimension => renderVisualization(containerDimension)}\n </SizeAwareWrapper>\n </SankeyContainer>\n );\n};\n\nPureSankey.propTypes = {\n columns: T.array,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // need this to satisfy props interface\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n colorMode: T.string,\n nodeWidth: T.number,\n nodePadding: T.number,\n resultLimit: T.number,\n seriesColors: T.arrayOf(T.string),\n linkColors: T.arrayOf(T.string),\n linkOpacity: T.number,\n linkValueField: T.string,\n backgroundColor: T.string,\n nodeTextColor: T.string,\n tooltipRowColor: T.string,\n tooltipLinkHeaderColor: T.string,\n tooltipHeaderColor: T.string,\n};\n\nPureSankey.defaultProps = {\n columns: [],\n width: DEFAULT_CHART_WIDTH,\n height: DEFAULT_CHART_HEIGHT,\n mode: 'view',\n colorMode: 'categorical',\n nodeWidth: 12,\n nodePadding: 18,\n resultLimit: 1000,\n seriesColors: DEFAULT_SERIES_COLOR,\n linkColors: [],\n linkOpacity: DEFAULT_LINK_OPACITY,\n linkValueField: 'value',\n backgroundColor: '#0b0c0e',\n nodeTextColor: 'rgba(255, 255, 255, 0.98)',\n tooltipRowColor: 'rgba(255, 255, 255, 0.98)',\n tooltipLinkHeaderColor: 'rgba(255, 255, 255, 0.98)',\n tooltipHeaderColor: 'rgba(255, 255, 255, 0.5)',\n};\n\nexport default PureSankey;\n","module.exports = require(\"@splunk/visualizations-shared/dataSourceUtils\");","/* eslint-disable no-param-reassign */\nimport { ScaleOrdinal, scaleOrdinal } from 'd3-scale';\nimport {\n COLOR_MODE_TYPES,\n Connections,\n Coordinates,\n NodeConnectionsMap,\n SankeyData,\n SankeyDataLink,\n SankeyDataNode,\n} from './SankeyModels';\n\nconst insertNodeIfNotExist = (sankeyData: SankeyData, nodeName: string): void => {\n let { nodes } = sankeyData;\n nodes = nodes || [];\n if (typeof nodeName !== 'string') {\n console.error('Node not created, invalid nodename:', nodeName);\n return;\n }\n nodeName = nodeName.trim();\n if (!nodes.find(node => node.name.toLocaleLowerCase() === nodeName.toLocaleLowerCase())) {\n nodes.push({ name: nodeName });\n }\n};\n\nconst insertLink = (\n sankeyData: SankeyData,\n sourceFieldIdx: number,\n targetFieldIdx: number,\n linkValue: number,\n index: number\n): void => {\n let { links } = sankeyData;\n links = links || [];\n links.push({\n source: (sourceFieldIdx as unknown) as SankeyDataNode,\n target: (targetFieldIdx as unknown) as SankeyDataNode,\n value: linkValue,\n index,\n });\n};\n\nexport const getNodesIndex = (sankeyData: SankeyData, nodeName: string): number => {\n if (!sankeyData || !sankeyData.nodes || !sankeyData.nodes.length) {\n return -1;\n }\n return sankeyData.nodes.findIndex(node => node.name.toLocaleLowerCase() === nodeName.toLocaleLowerCase());\n};\n\nexport const getColorCategoryMapping = ({\n category,\n colorMode,\n seriesColors,\n linkColors,\n}: {\n category: string[];\n colorMode: COLOR_MODE_TYPES;\n seriesColors: string[];\n linkColors?: string[];\n}): ScaleOrdinal<string, unknown, string> | string[] => {\n if (colorMode !== 'categorical') {\n return linkColors;\n }\n return seriesColors ? scaleOrdinal().domain(category).range(seriesColors).unknown(seriesColors[0]) : null;\n};\n\nexport const convertInputToSankeyDataFormat = (\n columns: (string[] | number[])[],\n sourceFieldIdx: number,\n targetFieldIdx: number,\n linkValueFieldIdx: number,\n resultLimit: number\n): SankeyData => {\n if (\n !columns ||\n !Array.isArray(columns) ||\n !columns.length ||\n !columns[sourceFieldIdx] ||\n !columns[targetFieldIdx] ||\n !columns[linkValueFieldIdx] ||\n columns.length < 3 ||\n !Array.isArray(columns[sourceFieldIdx]) ||\n !Array.isArray(columns[targetFieldIdx]) ||\n !Array.isArray(columns[linkValueFieldIdx]) ||\n !columns[sourceFieldIdx] ||\n typeof columns[sourceFieldIdx][0] !== 'string' ||\n !columns[targetFieldIdx] ||\n typeof columns[targetFieldIdx][0] !== 'string' ||\n !columns[linkValueFieldIdx] ||\n typeof columns[linkValueFieldIdx][0] !== 'number'\n ) {\n return null;\n }\n\n const sankeyData: SankeyData = {\n nodes: [],\n links: [],\n };\n\n const maxlen = Math.min(\n columns[sourceFieldIdx].length,\n columns[targetFieldIdx].length,\n columns[linkValueFieldIdx].length,\n resultLimit\n );\n\n for (let i = 0; i < maxlen; i += 1) {\n if (\n typeof columns[sourceFieldIdx][i] !== 'string' ||\n typeof columns[targetFieldIdx][i] !== 'string' ||\n typeof columns[linkValueFieldIdx][i] !== 'number'\n ) {\n console.error(\n 'Link excluded. Invalid type in column input, row :- ',\n i,\n `[${columns[sourceFieldIdx][i]}, ${columns[targetFieldIdx][i]}, ${columns[linkValueFieldIdx][i]}]`\n );\n return; // eslint-disable-line consistent-return\n }\n\n const sourceNodeName = (columns[sourceFieldIdx][i] as string).trim();\n const targetNodeName = (columns[targetFieldIdx][i] as string).trim();\n\n insertNodeIfNotExist(sankeyData, sourceNodeName);\n insertNodeIfNotExist(sankeyData, targetNodeName);\n // If same link exists then sum up the value and donot insert new link\n const sourceNodeIdx = getNodesIndex(sankeyData, sourceNodeName);\n const targetNodeIdx = getNodesIndex(sankeyData, targetNodeName);\n const linkExist = sankeyData.links.find(link => {\n return (\n link.source === ((sourceNodeIdx as unknown) as SankeyDataNode) &&\n link.target === ((targetNodeIdx as unknown) as SankeyDataNode)\n );\n });\n if (linkExist) {\n linkExist.value += columns[linkValueFieldIdx][i] as number;\n } else {\n insertLink(sankeyData, sourceNodeIdx, targetNodeIdx, columns[linkValueFieldIdx][i] as number, i);\n }\n }\n return sankeyData;\n};\n\nexport const getNodeId = (node: SankeyDataNode): string => {\n if (!node) {\n return '';\n }\n return `node-${node.index}`;\n};\n\nexport const getLinkId = (link: SankeyDataLink): string => {\n if (!link) {\n return '';\n }\n return `link-${link.id}`;\n};\n\nexport const getAllNodeNames = (sankeyData: SankeyData): string[] => {\n if (!sankeyData || !sankeyData.nodes || !sankeyData.nodes.length) {\n return [];\n }\n return sankeyData.nodes.map(node => node.name);\n};\n\nexport const extractLinkMidPoint = (pathStr: string): Coordinates => {\n if (!pathStr) {\n return null;\n }\n const mIndex = pathStr.indexOf('M');\n const cIndexFirst = pathStr.indexOf('C');\n const lIndex = pathStr.indexOf('L');\n const cIndexLast = pathStr.lastIndexOf('C');\n const zIndex = pathStr.lastIndexOf('Z');\n if (mIndex < 0 || cIndexLast < 0 || cIndexLast < 0 || zIndex < 0) {\n console.error('Extract link midpoint error. Invalid path -', pathStr);\n return null;\n }\n const section1 = pathStr.slice(mIndex + 1, cIndexFirst).trim();\n const section2 = pathStr.slice(cIndexFirst + 1, lIndex).trim();\n const section3 = pathStr.slice(lIndex + 1, cIndexLast).trim();\n const section4 = pathStr.slice(cIndexLast + 1, zIndex).trim();\n if (!section1.length || !section2.length || !section3.length || !section4.length) {\n console.error('Extract link midpoint error. Invalid path -', pathStr);\n return null;\n }\n const points = [];\n points.push(section1.split(',').map(i => Number.parseFloat(i)));\n const point2Arr = section2.split(' ');\n points.push(point2Arr[point2Arr.length - 1].split(',').map(i => Number.parseFloat(i)));\n points.push(section3.split(',').map(i => Number.parseFloat(i)));\n const point4Arr = section4.split(' ');\n points.push(point4Arr[point4Arr.length - 1].split(',').map(i => Number.parseFloat(i)));\n const width = Math.abs(points[0][0] - points[1][0]) / 2;\n const x = Math.min(points[0][0], points[1][0]) + width;\n const height = Math.abs(points[0][1] - points[2][1]) / 2;\n const y = Math.min(points[0][1], points[2][1]) + height;\n return { x, y };\n};\n\nexport const getAllConnectedLinks = (links: SankeyDataLink[], nodeIdx: number): Connections => {\n const result: Connections = { links: [], sourceNodes: [], targetNodes: [] };\n if (!links || !links.length) {\n return result;\n }\n\n links.forEach(link => {\n if (link.source.index === nodeIdx || link.target.index === nodeIdx) {\n const linkAdded = result.links.find(l => l.id === link.id);\n if (!linkAdded) {\n result.links.push(link);\n }\n\n const sourceNodeAdded = result.sourceNodes.find(n => n.index === link.source.index);\n if (!sourceNodeAdded) {\n result.sourceNodes.push(link.source);\n }\n\n const targetNodeAdded = result.targetNodes.find(n => n.index === link.target.index);\n if (!targetNodeAdded) {\n result.targetNodes.push(link.target);\n }\n }\n });\n return result;\n};\n\nexport const computeAllConnectedLinksToNodes = (\n nodes: SankeyDataNode[],\n links: SankeyDataLink[]\n): NodeConnectionsMap => {\n const connectionsMap: NodeConnectionsMap = {};\n if (!nodes || !links) {\n return connectionsMap;\n }\n\n nodes.forEach(node => {\n const connections = getAllConnectedLinks(links, node.index);\n connectionsMap[node.index] = connections;\n });\n\n return connectionsMap;\n};\n\nexport const checkDigitsOnly = (input: string): boolean => {\n return /^\\d+$/.test(input);\n};\n\n// Truncate the node text and show ellipsis at the end if text string width exceeds the max limit\nexport const truncateSVGTextWithEllipsis = (\n textElement: SVGTextElement,\n textString: string,\n width: number\n): void => {\n if (textElement && textElement.getSubStringLength !== undefined) {\n textElement.textContent = textString;\n // ellipsis is needed\n if (textElement.getSubStringLength(0, textString.length) >= width) {\n for (let x = textString.length - 3; x > 0; x -= 3) {\n if (textElement.getSubStringLength(0, x) <= width) {\n textElement.textContent = `${textString.substring(0, x)}...`;\n return;\n }\n }\n textElement.textContent = '...'; // can't place at all\n }\n }\n};\n","module.exports = require(\"d3-interpolate\");","module.exports = require(\"d3-collection\");","import { get, isEqual } from 'lodash';\nimport { getDataSourceStateInfo, DataSourceState } from '@splunk/visualizations-shared/dataSourceUtils';\nimport { isArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport withDashboardViz, { DashboardVizOpts } from '../common/withDashboardViz';\nimport PureSankey from './PureSankey/PureSankey';\nimport config from './config';\nimport { DataSource } from '../common/interfaces/DataSource';\n\n/**\n * @method showPlaceHolderIcon\n * @param {Object} dataSources\n * @returns {Boolean} return true if loading, error, non existent state or without columns in dataSources\n */\nexport const showPlaceHolderIcon = dataSources => {\n const columns = get(dataSources, 'primary.data.columns', undefined);\n const noColumns = columns === undefined;\n const dataSourceState = getDataSourceStateInfo(dataSources);\n return (\n dataSourceState === DataSourceState.ERROR ||\n dataSourceState === DataSourceState.LOADING ||\n dataSourceState === DataSourceState.NONEXISTENT ||\n noColumns\n );\n};\n\nexport const computeVizProps = ({ themeFunc, dataSources, linkValues, seriesColors }) => {\n // Compute all themeColor variables needed for PureSankey\n const themeColorVariables = [\n 'defaultBackgroundColor',\n 'nodeTextColor',\n 'tooltipRowColor',\n 'tooltipLinkHeaderColor',\n 'tooltipHeaderColor',\n ];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n\n // Sanitize seriesColors prop\n // (Note:- This is handled outside SanitizeProps because it would impact seriesColors option used in splunk-charting viz as the types are different.\n // The type used in splunk-charting viz expects a string of comma separated colors, but here the type is an array of string)\n // eslint-disable-next-line no-param-reassign\n seriesColors = isArrayOfColors(seriesColors) ? seriesColors : undefined;\n\n // Compute the columns props and linkValueField props for pure Sankey\n // The columns props is computed as [primary.data.columns[0], primary.data.columns[1], linkValues].\n // The source and target columns are the default as columns[0] and columns[1] respectively\n // The linkValueField props is the fieldName which is set as the source of linkValues\n let columnsFromDataSource = [];\n let linkValueField = '';\n if (\n dataSources?.primary?.data?.columns &&\n dataSources?.primary?.data?.columns?.length >= 2 &&\n Array.isArray(linkValues)\n ) {\n const { columns } = dataSources.primary.data;\n columnsFromDataSource = columns ? [columns[0], columns[1], linkValues] : null;\n const linkIndex = columns.findIndex(col => isEqual(col, linkValues));\n if (dataSources?.primary?.data?.fields) {\n const linkField = dataSources?.primary?.data?.fields[linkIndex];\n if (typeof linkField === 'object' && linkField !== null) {\n linkValueField = linkField.name;\n } else {\n linkValueField = linkField ?? '';\n }\n }\n }\n return { ...themeColors, columns: columnsFromDataSource, linkValueField, seriesColors };\n};\n\nconst Sankey = withDashboardViz({\n ReactViz: PureSankey,\n vizConfig: config,\n computeVizProps,\n useIconPlaceholder: (dataSources: { [name: string]: DataSource }) => showPlaceHolderIcon(dataSources),\n} as DashboardVizOpts);\nconst { themes } = config;\nexport default Sankey;\nexport { themes, config, PureSankey };\n","export * from './Sankey';\nexport { default } from './Sankey';\n","// reference link :- https://github.com/csaladenes/sankey\n/* eslint-disable */\nimport { interpolateNumber as d3interpolateNumber } from 'd3-interpolate';\nimport { sum as d3sum, min as d3min, ascending as d3ascending } from 'd3-array';\nimport { nest as d3nest } from 'd3-collection';\n\nexport const d3_sankey = function () {\n var sankey = {},\n nodeWidth = 24,\n nodePadding = 8,\n size = [1, 1],\n nodes = [],\n links = [],\n components = [];\n\n sankey.nodeWidth = function (_) {\n if (!arguments.length) return nodeWidth;\n nodeWidth = +_;\n return sankey;\n };\n\n sankey.nodePadding = function (_) {\n if (!arguments.length) return nodePadding;\n nodePadding = +_;\n return sankey;\n };\n\n sankey.nodes = function (_) {\n if (!arguments.length) return nodes;\n nodes = _;\n return sankey;\n };\n\n sankey.links = function (_) {\n if (!arguments.length) return links;\n links = _;\n return sankey;\n };\n\n sankey.size = function (_) {\n if (!arguments.length) return size;\n size = _;\n return sankey;\n };\n\n sankey.layout = function (iterations) {\n computeNodeLinks();\n computeNodeValues();\n\n computeNodeStructure();\n computeNodeBreadths();\n\n computeNodeDepths(iterations);\n computeLinkDepths();\n\n return sankey;\n };\n\n sankey.relayout = function () {\n computeLinkDepths();\n return sankey;\n };\n\n // A more involved path generator that requires 3 elements to render --\n // It draws a starting element, intermediate and end element that are useful\n // while drawing reverse links to get an appropriate fill.\n //\n // Each link is now an area and not a basic spline and no longer guarantees\n // fixed width throughout.\n //\n // Sample usage:\n //\n // linkNodes = this._svg.append(\"g\").selectAll(\".link\")\n // .data(this.links)\n // .enter().append(\"g\")\n // .attr(\"fill\", \"none\")\n // .attr(\"class\", \".link\")\n // .sort(function(a, b) { return b.dy - a.dy; });\n //\n // linkNodePieces = [];\n // for (var i = 0; i < 3; i++) {\n // linkNodePieces[i] = linkNodes.append(\"path\")\n // .attr(\"class\", \".linkPiece\")\n // .attr(\"d\", path(i))\n // .attr(\"fill\", ...)\n // }\n sankey.reversibleLink = function () {\n var curvature = 0.5;\n\n // Used when source is behind target, the first and last paths are simple\n // lines at the start and end node while the second path is the spline\n function forwardLink(part, d) {\n var x0 = d.source.x + d.source.dx,\n x1 = d.target.x,\n xi = d3interpolateNumber(x0, x1),\n x2 = xi(curvature),\n x3 = xi(1 - curvature),\n y0 = d.source.y + d.sy,\n y1 = d.target.y + d.ty,\n y2 = d.source.y + d.sy + d.dy,\n y3 = d.target.y + d.ty + d.dy;\n\n switch (part) {\n case 0:\n return 'M' + x0 + ',' + y0 + 'L' + x0 + ',' + (y0 + d.dy);\n\n case 1:\n return (\n 'M' +\n x0 +\n ',' +\n y0 +\n 'C' +\n x2 +\n ',' +\n y0 +\n ' ' +\n x3 +\n ',' +\n y1 +\n ' ' +\n x1 +\n ',' +\n y1 +\n 'L' +\n x1 +\n ',' +\n y3 +\n 'C' +\n x3 +\n ',' +\n y3 +\n ' ' +\n x2 +\n ',' +\n y2 +\n ' ' +\n x0 +\n ',' +\n y2 +\n 'Z'\n );\n\n case 2:\n return 'M' + x1 + ',' + y1 + 'L' + x1 + ',' + (y1 + d.dy);\n }\n }\n\n // Used for self loops and when the source is actually in front of the\n // target; the first element is a turning path from the source to the\n // destination, the second element connects the two twists and the last\n // twists into the target element.\n //\n //\n // /--Target\n // \\----------------------\\\n // Source--/\n //\n function backwardLink(part, d) {\n var curveExtension = 30;\n var curveDepth = 15;\n\n function getDir(d) {\n return d.source.y + d.sy > d.target.y + d.ty ? -1 : 1;\n }\n\n function p(x, y) {\n return x + ',' + y + ' ';\n }\n\n var dt = getDir(d) * curveDepth,\n x0 = d.source.x + d.source.dx,\n y0 = d.source.y + d.sy,\n x1 = d.target.x,\n y1 = d.target.y + d.ty;\n\n switch (part) {\n case 0:\n return (\n 'M' +\n p(x0, y0) +\n 'C' +\n p(x0, y0) +\n p(x0 + curveExtension, y0) +\n p(x0 + curveExtension, y0 + dt) +\n 'L' +\n p(x0 + curveExtension, y0 + dt + d.dy) +\n 'C' +\n p(x0 + curveExtension, y0 + d.dy) +\n p(x0, y0 + d.dy) +\n p(x0, y0 + d.dy) +\n 'Z'\n );\n case 1:\n return (\n 'M' +\n p(x0 + curveExtension, y0 + dt) +\n 'C' +\n p(x0 + curveExtension, y0 + 3 * dt) +\n p(x1 - curveExtension, y1 - 3 * dt) +\n p(x1 - curveExtension, y1 - dt) +\n 'L' +\n p(x1 - curveExtension, y1 - dt + d.dy) +\n 'C' +\n p(x1 - curveExtension, y1 - 3 * dt + d.dy) +\n p(x0 + curveExtension, y0 + 3 * dt + d.dy) +\n p(x0 + curveExtension, y0 + dt + d.dy) +\n 'Z'\n );\n\n case 2:\n return (\n 'M' +\n p(x1 - curveExtension, y1 - dt) +\n 'C' +\n p(x1 - curveExtension, y1) +\n p(x1, y1) +\n p(x1, y1) +\n 'L' +\n p(x1, y1 + d.dy) +\n 'C' +\n p(x1, y1 + d.dy) +\n p(x1 - curveExtension, y1 + d.dy) +\n p(x1 - curveExtension, y1 + d.dy - dt) +\n 'Z'\n );\n }\n }\n\n return function (part) {\n return function (d) {\n if (d.source.x < d.target.x) {\n return forwardLink(part, d);\n } else {\n return backwardLink(part, d);\n }\n };\n };\n };\n\n // The standard link path using a constant width spline that needs a\n // single path element.\n sankey.link = function () {\n var curvature = 0.5;\n\n function link(d) {\n var x0 = d.source.x + d.source.dx,\n x1 = d.target.x,\n xi = d3interpolateNumber(x0, x1),\n x2 = xi(curvature),\n x3 = xi(1 - curvature),\n y0 = d.source.y + d.sy + d.dy / 2,\n y1 = d.target.y + d.ty + d.dy / 2;\n return 'M' + x0 + ',' + y0 + 'C' + x2 + ',' + y0 + ' ' + x3 + ',' + y1 + ' ' + x1 + ',' + y1;\n }\n\n link.curvature = function (_) {\n if (!arguments.length) return curvature;\n curvature = +_;\n return link;\n };\n\n return link;\n };\n\n // Populate the sourceLinks and targetLinks for each node.\n // Also, if the source and target are not objects, assume they are indices.\n function computeNodeLinks() {\n nodes.forEach(function (node) {\n node.sourceLinks = [];\n node.targetLinks = [];\n });\n\n links.forEach(function (link) {\n var source = link.source,\n target = link.target;\n if (typeof source === 'number') source = link.source = nodes[link.source];\n if (typeof target === 'number') target = link.target = nodes[link.target];\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n });\n }\n\n // Compute the value (size) of each node by summing the associated links.\n function computeNodeValues() {\n nodes.forEach(function (node) {\n if (!node.value)\n //if not already given\n node.value = Math.max(d3sum(node.sourceLinks, value), d3sum(node.targetLinks, value));\n });\n }\n\n // Take the list of nodes and create a DAG of supervertices, each consisting\n // of a strongly connected component of the graph\n //\n // Based off:\n // http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm\n function computeNodeStructure() {\n var nodeStack = [],\n index = 0;\n\n nodes.forEach(function (node) {\n if (!node.index) {\n connect(node);\n }\n });\n\n function connect(node) {\n node.index = index++;\n node.lowIndex = node.index;\n node.onStack = true;\n nodeStack.push(node);\n\n if (node.sourceLinks) {\n node.sourceLinks.forEach(function (sourceLink) {\n var target = sourceLink.target;\n if (!target.hasOwnProperty('index')) {\n connect(target);\n node.lowIndex = Math.min(node.lowIndex, target.lowIndex);\n } else if (target.onStack) {\n node.lowIndex = Math.min(node.lowIndex, target.index);\n }\n });\n\n if (node.lowIndex === node.index) {\n var component = [],\n currentNode;\n do {\n currentNode = nodeStack.pop();\n currentNode.onStack = false;\n component.push(currentNode);\n } while (currentNode != node);\n components.push({\n root: node,\n scc: component,\n });\n }\n }\n }\n\n components.forEach(function (component, i) {\n component.index = i;\n component.scc.forEach(function (node) {\n node.component = i;\n });\n });\n }\n\n // Assign the breadth (x-position) for each strongly connected component,\n // followed by assigning breadth within the component.\n function computeNodeBreadths() {\n layerComponents();\n\n components.forEach(function (component, i) {\n bfs(component.root, function (node) {\n var result = node.sourceLinks\n .filter(function (sourceLink) {\n return sourceLink.target.component == i;\n })\n .map(function (sourceLink) {\n return sourceLink.target;\n });\n return result;\n });\n });\n\n var max = 0;\n var componentsByBreadth = d3nest()\n .key(function (d) {\n return d.x;\n })\n .sortKeys(d3ascending)\n .entries(components)\n .map(function (d) {\n return d.values;\n });\n\n var max = -1,\n nextMax = -1;\n componentsByBreadth.forEach(function (c) {\n c.forEach(function (component) {\n component.x = max + 1;\n component.scc.forEach(function (node) {\n if (node.layer) node.x = node.layer;\n else node.x = component.x + node.x;\n nextMax = Math.max(nextMax, node.x);\n });\n });\n max = nextMax;\n });\n\n nodes\n .filter(function (node) {\n var outLinks = node.sourceLinks.filter(function (link) {\n return link.source.name != link.target.name;\n });\n return outLinks.length == 0;\n })\n .forEach(function (node) {\n node.x = node.layer ? node.x : max;\n });\n\n scaleNodeBreadths((size[0] - nodeWidth) / Math.max(max, 1));\n\n function flatten(a) {\n return [].concat.apply([], a);\n }\n\n function layerComponents() {\n var remainingComponents = components,\n nextComponents,\n visitedIndex,\n x = 0;\n\n while (remainingComponents.length) {\n nextComponents = [];\n visitedIndex = {};\n\n remainingComponents.forEach(function (component) {\n component.x = x;\n\n component.scc.forEach(function (n) {\n n.sourceLinks.forEach(function (l) {\n if (\n !visitedIndex.hasOwnProperty(l.target.component) &&\n l.target.component != component.index\n ) {\n nextComponents.push(components[l.target.component]);\n visitedIndex[l.target.component] = true;\n }\n });\n });\n });\n\n remainingComponents = nextComponents;\n ++x;\n }\n }\n\n function bfs(node, extractTargets) {\n var queue = [node],\n currentCount = 1,\n nextCount = 0;\n var x = 0;\n\n while (currentCount > 0) {\n var currentNode = queue.shift();\n currentCount--;\n\n if (!currentNode.hasOwnProperty('x')) {\n currentNode.x = x;\n currentNode.dx = nodeWidth;\n\n var targets = extractTargets(currentNode);\n\n queue = queue.concat(targets);\n nextCount += targets.length;\n }\n\n if (currentCount == 0) {\n // level change\n x++;\n currentCount = nextCount;\n nextCount = 0;\n }\n }\n }\n\n //extra code for fixed layout - x part\n /*\n if (fixedlayout && fixedlayout.length > 0) {\n sankey.nodes().forEach(function (d, i) {\n d.x = fixedlayout[i][0];\n });\n }\n */\n }\n\n function moveSourcesRight() {\n nodes.forEach(function (node) {\n if (!node.targetLinks.length) {\n node.x =\n d3min(node.sourceLinks, function (d) {\n return d.target.x;\n }) - 1;\n }\n });\n }\n\n function moveSinksRight(x) {\n nodes.forEach(function (node) {\n if (!node.sourceLinks.length) {\n node.x = x - 1;\n }\n });\n }\n\n function scaleNodeBreadths(kx) {\n nodes.forEach(function (node) {\n node.x *= kx;\n });\n }\n\n function computeNodeDepths(iterations) {\n var nodesByBreadth = d3nest()\n .key(function (d) {\n return d.x;\n })\n .sortKeys(d3ascending)\n .entries(nodes)\n .map(function (d) {\n return d.values;\n });\n\n initializeNodeDepth();\n resolveCollisions();\n\n for (var alpha = 1; iterations > 0; --iterations) {\n relaxRightToLeft((alpha *= 0.99));\n resolveCollisions();\n relaxLeftToRight(alpha);\n resolveCollisions();\n }\n\n function initializeNodeDepth() {\n var ky = d3min(nodesByBreadth, function (nodes) {\n return (size[1] - (nodes.length - 1) * nodePadding) / d3sum(nodes, value);\n });\n\n nodesByBreadth.forEach(function (nodes) {\n nodes.forEach(function (node, i) {\n node.y = i;\n node.dy = node.value * ky;\n });\n });\n\n links.forEach(function (link) {\n link.dy = link.value * ky;\n });\n }\n\n function relaxLeftToRight(alpha) {\n nodesByBreadth.forEach(function (nodes, breadth) {\n nodes.forEach(function (node) {\n if (node.targetLinks.length) {\n var y = d3sum(node.targetLinks, weightedSource) / d3sum(node.targetLinks, value);\n node.y += (y - center(node)) * alpha;\n }\n });\n });\n\n function weightedSource(link) {\n return center(link.source) * link.value;\n }\n }\n\n function relaxRightToLeft(alpha) {\n nodesByBreadth\n .slice()\n .reverse()\n .forEach(function (nodes) {\n nodes.forEach(function (node) {\n if (node.sourceLinks.length) {\n var y = d3sum(node.sourceLinks, weightedTarget) / d3sum(node.sourceLinks, value);\n node.y += (y - center(node)) * alpha;\n }\n });\n });\n\n function weightedTarget(link) {\n return center(link.target) * link.value;\n }\n }\n\n function resolveCollisions() {\n nodesByBreadth.forEach(function (nodes) {\n var node,\n dy,\n y0 = 0,\n n = nodes.length,\n i;\n\n // Push any overlapping nodes down.\n nodes.sort(ascendingDepth);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node) {\n dy = y0 - node.y;\n if (dy > 0) node.y += dy;\n y0 = node.y + node.dy + nodePadding;\n }\n }\n\n // If the bottommost node goes outside the bounds, push it back up.\n dy = y0 - nodePadding - size[1];\n if (node && dy > 0) {\n y0 = node.y -= dy;\n\n // Push any overlapping nodes back up.\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.y + node.dy + nodePadding - y0;\n if (dy > 0) node.y -= dy;\n y0 = node.y;\n }\n }\n });\n }\n\n function ascendingDepth(a, b) {\n return a.y - b.y;\n }\n\n //extra code for fixed layout - y part\n /*\n if (fixedlayout.length > 0) {\n sankey.nodes().forEach(function (d, i) {\n d.y = fixedlayout[i][1];\n });\n }\n */\n }\n\n function computeLinkDepths() {\n nodes.forEach(function (node) {\n const parallelrendering = false;\n if (parallelrendering) {\n } else node.sourceLinks.sort(ascendingTargetDepth);\n node.targetLinks.sort(ascendingSourceDepth);\n });\n nodes.forEach(function (node) {\n var sy = 0,\n ty = 0;\n node.sourceLinks.forEach(function (link) {\n link.sy = sy;\n sy += link.dy;\n });\n node.targetLinks.forEach(function (link) {\n link.ty = ty;\n ty += link.dy;\n });\n });\n\n function ascendingSourceDepth(a, b) {\n return a.source.y - b.source.y;\n }\n\n function ascendingTargetDepth(a, b) {\n return a.target.y - b.target.y;\n }\n }\n\n function center(node) {\n return node.y + node.dy / 2;\n }\n\n function value(link) {\n return link.value;\n }\n\n return sankey;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { ScaleOrdinal } from 'd3-scale';\nimport styled from 'styled-components';\nimport { useRef, useEffect } from 'react';\nimport {\n DEFAULT_FONT_FAMILY,\n DEFAULT_NODE_COLOR,\n DEFAULT_NODE_OPACITY,\n INACTIVE_OPACITY,\n} from './PureSankey';\nimport { SankeyDataNode } from './SankeyModels';\n\nimport { truncateSVGTextWithEllipsis } from './SankeyUtils';\n\nconst MAX_NODE_TEXT_WIDTH = 150;\nexport interface SankeyNodeProps {\n node: SankeyDataNode;\n activeNodes: SankeyDataNode[];\n nodeWidth: number;\n chartWidth: number;\n handleMouseOver: (...args: any[]) => void;\n handleMouseLeave: (...args: any[]) => void;\n nodeTextColor: string;\n colorCategoryMapping: ScaleOrdinal<string, unknown, string> | string[];\n}\n\nconst getNodeOpacity = (nodeIndex: number, activeNodes: SankeyDataNode[]): number => {\n if (!activeNodes || !activeNodes.length) {\n return DEFAULT_NODE_OPACITY;\n }\n const isActiveNode = activeNodes.find(node => node.index === nodeIndex);\n return isActiveNode ? DEFAULT_NODE_OPACITY : INACTIVE_OPACITY;\n};\n\nconst getNodeHeight = (node): number => {\n return node.dy < 0 ? 1 : node.dy;\n};\n\nconst NodeGroup = styled.g<{ node: SankeyDataNode; activeNodes: SankeyDataNode[] }>`\n opacity: ${props => getNodeOpacity(props.node.index, props.activeNodes)};\n`;\nNodeGroup.displayName = 'NodeGroup';\n\nconst NodeRect = styled.rect<{\n node: SankeyDataNode;\n colorCategoryMapping: any;\n}>`\n fill: ${props =>\n typeof props.colorCategoryMapping === 'function'\n ? props.colorCategoryMapping(props.node.name)\n : DEFAULT_NODE_COLOR};\n`;\n\nconst NodeText = styled.text<{ node: SankeyDataNode; chartWidth: number; nodeTextColor: string }>`\n text-anchor: ${props => (props.node.x < props.chartWidth / 2 ? 'start' : 'end')};\n font-size: 12px;\n font-family: ${DEFAULT_FONT_FAMILY};\n letter-spacing: 0.02em;\n fill: ${props => props.nodeTextColor};\n`;\n\nconst SankeyNode = (props: SankeyNodeProps) => {\n const {\n node,\n activeNodes,\n nodeWidth,\n chartWidth,\n handleMouseOver,\n handleMouseLeave,\n colorCategoryMapping,\n nodeTextColor,\n } = props;\n\n const nodeTextRef = useRef();\n\n useEffect(() => {\n truncateSVGTextWithEllipsis(nodeTextRef.current, node.name, MAX_NODE_TEXT_WIDTH);\n });\n\n return (\n <NodeGroup\n node={node}\n activeNodes={activeNodes}\n className=\"node\"\n key={`node-${node.index}`}\n data-test={`node-${node.index}`}\n transform={`translate(${node.x},${node.y})`}\n >\n <React.Fragment>\n <NodeRect\n node={node}\n height={getNodeHeight(node)}\n width={nodeWidth}\n colorCategoryMapping={colorCategoryMapping}\n onMouseOver={ev => handleMouseOver(ev)}\n onMouseLeave={ev => handleMouseLeave(ev)}\n />\n <NodeText\n ref={nodeTextRef}\n node={node}\n chartWidth={chartWidth}\n x={node.x < (chartWidth as number) / 2 ? 6 + nodeWidth : -6}\n y={node.dy / 2}\n dy=\".35em\"\n nodeTextColor={nodeTextColor}\n >\n {node.name}\n </NodeText>\n </React.Fragment>\n </NodeGroup>\n );\n};\n\nSankeyNode.propTypes = {\n node: T.object,\n activeNodes: T.arrayOf(T.object),\n nodeWidth: T.number,\n chartWidth: T.number,\n handleMouseOver: T.func,\n handleMouseLeave: T.func,\n colorCategoryMapping: T.oneOfType([T.func, T.arrayOf(T.string)]),\n nodeTextColor: T.string,\n};\n\nSankeyNode.defaultProps = {\n handleMouseOver: () => {},\n handleMouseLeave: () => {},\n};\n\nexport default SankeyNode;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { ScaleOrdinal } from 'd3-scale';\nimport { DEFAULT_LINK_COLOR, INACTIVE_OPACITY } from './PureSankey';\nimport { COLOR_MODE_TYPES, SankeyDataLink } from './SankeyModels';\nimport { extractLinkMidPoint } from './SankeyUtils';\n\nexport interface SankeyLinkProps {\n link: SankeyDataLink;\n activeLinks: SankeyDataLink[];\n linkOpacity: number;\n colorMode: COLOR_MODE_TYPES;\n handleMouseOver: (...args: any[]) => void;\n handleMouseLeave: (...args: any[]) => void;\n colorCategoryMapping: ScaleOrdinal<string, unknown, string> | string[];\n path: (a: number) => (link: SankeyDataLink) => string;\n}\n\nconst getLinkFill = (link, colorCategoryMapping, colorMode) => {\n if (colorMode === 'categorical') {\n return colorCategoryMapping ? colorCategoryMapping(link.source.name) : DEFAULT_LINK_COLOR;\n }\n return colorCategoryMapping && colorCategoryMapping[link.index]\n ? colorCategoryMapping[link.index]\n : DEFAULT_LINK_COLOR;\n};\n\nconst getLinkOpacity = (link: SankeyDataLink, activeLinks: SankeyDataLink[], linkOpacity: number) => {\n if (!activeLinks || !activeLinks.length) {\n return linkOpacity;\n }\n const isActiveLink = activeLinks.find(l => l.id === link.id);\n return isActiveLink ? linkOpacity : INACTIVE_OPACITY;\n};\n\nconst SankeyLink = (props: SankeyLinkProps): React.ReactElement => {\n const {\n link,\n colorCategoryMapping,\n activeLinks,\n linkOpacity,\n colorMode,\n path,\n handleMouseOver,\n handleMouseLeave,\n } = props;\n // This is to draw an invisible circle added to the link's path midpoint,\n // which acts as an anchor for the link tooltip\n const circlePoints = extractLinkMidPoint(path(1)(link));\n return (\n <g\n className=\"link\"\n key={link.id}\n id={link.id}\n data-test={link.id}\n fill={getLinkFill(link, colorCategoryMapping, colorMode)}\n opacity={getLinkOpacity(link, activeLinks, linkOpacity)}\n onMouseOver={ev => {\n handleMouseOver(ev);\n }}\n onMouseLeave={ev => {\n const relatedTarget = ev.relatedTarget as HTMLElement;\n let isRelatedTargetPopover = false;\n // This is to verify if the mouseLeave is being triggered because of mouseover on a the popover itself.\n // In that case the relatedTarget will have the popover elements and this logic will check on the class name used.\n // If detects the relatedTarget is a popover, then mouseLeave event handler wont be triggered.\n if (relatedTarget && relatedTarget.classList) {\n const { classList } = relatedTarget;\n classList.forEach(name => {\n if (\n name.toLocaleLowerCase().indexOf('sankeytooltip') > -1 ||\n name.toLocaleLowerCase().indexOf('popoverstyles') > -1\n ) {\n isRelatedTargetPopover = true;\n }\n });\n }\n if (!isRelatedTargetPopover) {\n handleMouseLeave(ev);\n }\n }}\n >\n <path d={path(0)(link)} />\n <path d={path(1)(link)} />\n <path d={path(2)(link)} />\n {circlePoints && <circle cx={circlePoints.x} cy={circlePoints.y} r={5} fill=\"transparent\" />}\n </g>\n );\n};\n\nSankeyLink.propTypes = {\n link: T.object,\n activeLinks: T.arrayOf(T.object),\n linkOpacity: T.number,\n path: T.func,\n handleMouseOver: T.func,\n handleMouseLeave: T.func,\n colorCategoryMapping: T.oneOfType([T.func, T.arrayOf(T.string)]),\n};\n\nSankeyLink.defaultProps = {\n handleMouseOver: () => {},\n handleMouseLeave: () => {},\n};\n\nexport default SankeyLink;\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { ScaleOrdinal } from 'd3-scale';\nimport Popover from '@splunk/react-ui/Popover';\nimport styled from 'styled-components';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { DEFAULT_NODE_COLOR } from './PureSankey';\nimport { Connections, NodeConnectionsMap, SankeyDataLink, SankeyDataNode } from './SankeyModels';\n\nconst DEFAULT_PLACEMENT = 'below';\n\nexport interface SankeyTooltipProps {\n mode: 'node' | 'link';\n node?: SankeyDataNode;\n link?: SankeyDataLink;\n linkValue: string;\n open: boolean;\n connectionsMap: NodeConnectionsMap;\n anchor?: any;\n colorCategoryMapping: ScaleOrdinal<string, unknown, string> | string[];\n width: number;\n height: number;\n tooltipRowColor: string;\n tooltipLinkHeaderColor: string;\n tooltipHeaderColor: string;\n handleTooltipRequestClose: (...args: any[]) => void;\n}\n\nconst StyledTooltipContainer = styled.div`\n display: flex;\n min-width: 200px;\n max-width: 300px;\n padding: 16px;\n flex-direction: column;\n`;\n\nconst StyledTooltipSection = styled.div`\n display: flex;\n flex-direction: column;\n > div:nth-child(1) {\n margin-top: 8px;\n }\n > div:last-child {\n margin-bottom: 8px;\n }\n`;\n\nconst StyledTooltipHeader = styled.div<{ headerColor: string }>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 14px;\n color: ${props => props.headerColor};\n`;\n\nconst StyledTooltipLinkHeader = styled.div<{ linkHeaderColor: string }>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 14px;\n margin-bottom: 8px;\n color: ${props => props.linkHeaderColor};\n`;\n\nconst StyledTooltipRow = styled.div<{ rowColor: string }>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: 12px;\n color: ${props => props.rowColor};\n margin-bottom: 6px;\n`;\n\nconst StyledTooltipLeftCell = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n`;\n\nconst StyledTooltipRightCell = styled.div`\n margin-left: 5px;\n`;\n\nconst ColorTile = styled.div<{ node: SankeyDataNode; colorCategoryMapping: any }>`\n width: 6px;\n height: 16px;\n background-color: ${props =>\n typeof props.colorCategoryMapping === 'function'\n ? props.colorCategoryMapping(props.node.name)\n : DEFAULT_NODE_COLOR};}\n`;\n\nconst NodeValue = styled.div`\n margin-left: 8px;\n max-width: 200px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\n\nconst SankeyTooltip = (props: SankeyTooltipProps): React.ReactElement => {\n const {\n mode,\n node,\n link,\n open,\n connectionsMap,\n anchor,\n linkValue,\n colorCategoryMapping,\n width,\n tooltipRowColor,\n tooltipLinkHeaderColor,\n tooltipHeaderColor,\n handleTooltipRequestClose,\n } = props;\n\n const showSection = (\n connection: Connections,\n nodeData: SankeyDataNode,\n section: 'source' | 'target'\n ): boolean => {\n if (!connection) {\n return false;\n }\n const connectionNodes = section === 'source' ? connection.sourceNodes : connection.targetNodes;\n const filteredNodes = connectionNodes.filter(cNode => cNode.index !== nodeData.index);\n return filteredNodes.length > 0;\n };\n\n const getPopoverPlacement = (anchorElement): 'above' | 'below' | 'left' | 'right' => {\n if (!anchorElement) {\n return DEFAULT_PLACEMENT;\n }\n const bBox = anchorElement.getBoundingClientRect();\n\n // TODO: Depending on the testing result in dashboard reg tooltip position, might need further optimization\n // If anchorElement is too close to the left border of the chart, place it to the right side of anchorElement\n if (bBox.x <= 15) {\n return 'right';\n }\n if (bBox.x >= width - 15) {\n // If anchorElement is too close to the right border of the chart, place it to the right side of anchorElement\n return 'left';\n }\n\n return DEFAULT_PLACEMENT;\n };\n\n const renderNodeToolTip = () => {\n if (!node) {\n return null;\n }\n const connections = connectionsMap[node.index];\n return (\n <Popover\n open={open}\n anchor={anchor}\n onRequestClose={() => handleTooltipRequestClose()}\n defaultPlacement={getPopoverPlacement(anchor)}\n >\n <StyledTooltipContainer className=\"sankeyToolTip\">\n <StyledTooltipRow rowColor={tooltipRowColor} data-test=\"main-row\">\n <StyledTooltipLeftCell data-test=\"main-row-name\">\n <ColorTile node={node} colorCategoryMapping={colorCategoryMapping} />\n <NodeValue>{node?.name}</NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"main-row-value\">\n {formatNumber(node?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n {showSection(connections, node, 'source') && (\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Source</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n )}\n <StyledTooltipSection>\n {connections &&\n connections.sourceNodes.map((sNode, idx) => {\n if (\n sNode?.index !== node?.index ||\n connections.sourceNodes[idx]?.index ===\n connections.targetNodes[idx]?.index\n ) {\n return (\n <StyledTooltipRow\n key={sNode.index}\n rowColor={tooltipRowColor}\n data-test=\"source-row\"\n >\n <StyledTooltipLeftCell>\n <ColorTile\n node={sNode}\n colorCategoryMapping={colorCategoryMapping}\n />\n <NodeValue data-test=\"source-row-name\">\n {sNode?.name}\n </NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"source-row-value\">\n {formatNumber(sNode?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n );\n }\n return null;\n })}\n </StyledTooltipSection>\n {showSection(connections, node, 'target') && (\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Target</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n )}\n <StyledTooltipSection>\n {connections &&\n connections.targetNodes.map((tNode, idx) => {\n if (\n tNode?.index !== node?.index ||\n connections.sourceNodes[idx]?.index ===\n connections.targetNodes[idx]?.index\n ) {\n return (\n <StyledTooltipRow\n key={tNode.index}\n rowColor={tooltipRowColor}\n data-test=\"target-row\"\n >\n <StyledTooltipLeftCell>\n <ColorTile\n node={tNode}\n colorCategoryMapping={colorCategoryMapping}\n />\n <NodeValue data-test=\"target-row-name\">\n {tNode?.name}\n </NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"target-row-value\">\n {formatNumber(tNode?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n );\n }\n return null;\n })}\n </StyledTooltipSection>\n </StyledTooltipContainer>\n </Popover>\n );\n };\n\n const renderLinkToolTip = () => {\n if (!link) {\n return null;\n }\n return (\n <Popover open={open} anchor={anchor} onRequestClose={() => handleTooltipRequestClose()}>\n <StyledTooltipContainer className=\"sankeyToolTip\">\n <StyledTooltipLinkHeader linkHeaderColor={tooltipLinkHeaderColor} data-test=\"main-row\">\n <StyledTooltipLeftCell data-test=\"main-row-name\">Link Size</StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"main-row-value\">\n {formatNumber(link?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipLinkHeader>\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Source</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n <StyledTooltipSection>\n <StyledTooltipRow rowColor={tooltipRowColor} data-test=\"source-row\">\n <StyledTooltipLeftCell>\n <ColorTile node={link?.source} colorCategoryMapping={colorCategoryMapping} />\n <NodeValue data-test=\"source-row-name\">{link?.source?.name}</NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"source-row-value\">\n {formatNumber(link?.source?.value, 0, { useTrendUnits: true })}{' '}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n </StyledTooltipSection>\n <StyledTooltipHeader headerColor={tooltipHeaderColor}>\n <StyledTooltipLeftCell>Target</StyledTooltipLeftCell>\n <StyledTooltipRightCell>{linkValue}</StyledTooltipRightCell>\n </StyledTooltipHeader>\n <StyledTooltipSection>\n <StyledTooltipRow rowColor={tooltipRowColor} data-test=\"target-row\">\n <StyledTooltipLeftCell>\n <ColorTile node={link?.target} colorCategoryMapping={colorCategoryMapping} />\n <NodeValue data-test=\"target-row-name\">{link?.target?.name}</NodeValue>\n </StyledTooltipLeftCell>\n <StyledTooltipRightCell data-test=\"target-row-value\">\n {formatNumber(link?.target?.value, 0, { useTrendUnits: true })}\n </StyledTooltipRightCell>\n </StyledTooltipRow>\n </StyledTooltipSection>\n </StyledTooltipContainer>\n </Popover>\n );\n };\n\n return mode === 'node' ? renderNodeToolTip() : renderLinkToolTip();\n};\n\nSankeyTooltip.propTypes = {\n mode: T.string,\n node: T.object,\n linkValue: T.string,\n open: T.bool,\n connectionsMap: T.object,\n anchor: T.object,\n colorCategoryMapping: T.oneOfType([T.func, T.arrayOf(T.string)]),\n tooltipRowColor: T.string,\n tooltipLinkHeaderColor: T.string,\n tooltipHeaderColor: T.string,\n width: T.number,\n height: T.number,\n handleTooltipRequestClose: T.func,\n};\n\nSankeyTooltip.defaultProps = {\n handleTooltipRequestClose: () => {},\n};\n\nexport default SankeyTooltip;\n","module.exports = require(\"@splunk/react-ui/Popover\");","import { Sankey as SankeyIcon } from '@splunk/visualization-icons';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { getDynamicLinkColorsEditor } from '../common/editorConfig/DynamicLinkColorsEditor';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n linkColorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 600,\n initialHeight: 300,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n colorMode: {\n default: 'categorical',\n description:\n 'Specify the coloring method used for the links. When set to \"categorical\" the nodes and links will be colored based on the \"seriesColors\". When set to \"dynamic\" the links will be colored based on the dynamic string assigned to \"linkColors\".',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n linkColors: {\n default: `> linkValues | rangeValue(linkColorRangeConfig)`,\n description:\n 'Specify the coloring method used for the links when the colorMode “dynamic” is specified.',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n linkOpacity: {\n default: 0.5,\n description: 'Specify the opacity of the links. Choose a number in the range of 0 - 1 (inclusive).',\n type: 'number',\n },\n linkValues: {\n default: `> primary | seriesByType('number')`,\n description: 'Specify the dataSource to apply link width.',\n type: 'string',\n },\n resultLimit: {\n default: 1000,\n description: 'Specify the maximum length of link data points rendered.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n nodeTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipRowColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipLinkHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textGray(props),\n },\n prisma: variables.contentColorMuted(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data Selection'),\n layout: [\n [\n {\n label: 'Link Value Field',\n editor: 'editor.columnSelector',\n option: 'linkValues',\n context: 'linkValuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n filterByTypes: ['number'],\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: _('Color Mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Categorical'), value: 'categorical' },\n { label: _('Dynamic'), value: 'dynamic' },\n ],\n },\n },\n ],\n [\n {\n ...getDynamicLinkColorsEditor({ defaultContext, defaultPalettesConfig }),\n showEditor: ({ options }) => options.colorMode === 'dynamic',\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.sankey',\n /**\n * viz name\n */\n name: 'Sankey',\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: SankeyIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {},\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicLinkColorsEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Link Color'),\n option: 'linkColors',\n context: 'linkColorRangeConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.linkColors),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Links'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n linkValues: defaultContext.linkColorRangeConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Link Colors'),\n value: 'linkValues',\n },\n ],\n defaultPalettesConfig,\n },\n});\n"],"sourceRoot":""}
|