flexmonster
Version:
Pivot table component for web reporting. The most powerful JavaScript tool to visualize your business data.
588 lines (540 loc) • 276 kB
JavaScript
/**
* Flexmonster Pivot Table & Charts [https://www.flexmonster.com/]
* September 2025 (v. 2.9.112)
* Copyright 2025 Flexmonster All rights reserved
*
* Flexmonster Pivot Table & Charts is a part of Flexmonster Software that is distributed under the terms and conditions of Flexmonster Software License Agreement:
* https://www.flexmonster.com/software-license-agreement/
*
* By downloading, installing, and/or otherwise using Flexmonster Pivot Table & Charts, you accept and agree to be bound by and require each of your Representatives,
* clients and/or end-users, as the case may be, to be bound by all the terms and conditions of
* Flexmonster Software License Agreement: https://www.flexmonster.com/software-license-agreement/
*
* Pricing for Commercial License Models can be found on Flexmonster pricing page:
* https://www.flexmonster.com/pivot-table-editions-and-pricing/
*/
var FlexmonsterToolbar = function (pivotContainer, pivot, _, width, labels, dataSourceType) {
this.pivot = pivot;
this.pivotContainer = pivotContainer;
this.width = (typeof width == "number" || (width.indexOf("px") < 0 && width.indexOf("%") < 0)) ? width + "px" : width;
this.Labels = labels;
this.dataSourceType = dataSourceType || 5;
this.showShareReportTab = false;
this.singleAggregationFormatting = false;
}
FlexmonsterToolbar.prototype.getTabs = function () {
var tabs = [];
var Labels = this.Labels;
// Connect tab
tabs.push({
title: Labels.connect,
id: "fm-tab-connect",
icon: this.icons.connect,
menu: [{
title: Labels.connect_local_csv,
id: "fm-tab-connect-local-csv",
handler: this.connectLocalCSVHandler,
mobile: false,
icon: this.icons.connect_csv
},
{
title: Labels.connect_local_json,
id: "fm-tab-connect-local-json",
handler: this.connectLocalJSONHandler,
mobile: false,
icon: this.icons.connect_json
},
{
title: this.osUtils.isMobile ? Labels.connect_remote_csv_mobile : Labels.connect_remote_csv,
id: "fm-tab-connect-remote-csv",
handler: this.connectRemoteCSV,
icon: this.icons.connect_csv_remote
},
{
title: this.osUtils.isMobile ? Labels.connect_remote_json_mobile : Labels.connect_remote_json,
id: "fm-tab-connect-remote-json",
handler: this.connectRemoteJSON,
icon: this.icons.connect_json_remote
},
{
title: this.osUtils.isMobile ? Labels.connect_olap_mobile : Labels.connect_olap,
id: "fm-tab-connect-olap",
handler: this.connectOLAP,
flat: false,
icon: this.icons.connect_olap
},
{
title: this.osUtils.isMobile ? Labels.connect_elastic_mobile : Labels.connect_elastic,
id: "fm-tab-connect-elastic",
handler: this.connectElastic,
flat: false,
icon: this.icons.connect_elastic
}
]
});
// Open tab
tabs.push({
title: Labels.open,
id: "fm-tab-open",
icon: this.icons.open,
menu: [{
title: Labels.local_report,
id: "fm-tab-open-local-report",
handler: this.openLocalReport,
mobile: false,
icon: this.icons.open_local
},
{
title: this.osUtils.isMobile ? Labels.remote_report_mobile : Labels.remote_report,
id: "fm-tab-open-remote-report",
handler: this.openRemoteReport,
icon: this.icons.open_remote
}
]
});
// Save tab
tabs.push({
title: Labels.save,
id: "fm-tab-save",
handler: this.saveHandler,
mobile: false,
icon: this.icons.save
});
// Export tab
tabs.push({
title: Labels.export,
id: "fm-tab-export",
mobile: false,
icon: this.icons.export,
menu: [{
title: Labels.export_print,
id: "fm-tab-export-print",
handler: this.printHandler,
icon: this.icons.export_print
},
{
title: Labels.export_html,
id: "fm-tab-export-html",
handler: this.exportHandler,
args: "html",
icon: this.icons.export_html
},
{
title: Labels.export_csv,
id: "fm-tab-export-csv",
handler: this.exportHandler,
args: "csv",
icon: this.icons.export_csv
},
{
title: Labels.export_excel,
id: "fm-tab-export-excel",
handler: this.exportHandler,
args: "excel",
icon: this.icons.export_excel
},
{
title: Labels.export_image,
id: "fm-tab-export-image",
handler: this.exportHandler,
args: "image",
icon: this.icons.export_image
},
{
title: Labels.export_pdf,
id: "fm-tab-export-pdf",
handler: this.exportHandler,
args: "pdf",
icon: this.icons.export_pdf
},
]
});
// Share tab
tabs.push({
title: Labels.share,
id: "fm-tab-share",
handler: this.shareReportHandler,
icon: this.icons.share,
visible: this.showShareReportTab
});
tabs.push({
divider: true
});
// Grid tab
tabs.push({
title: Labels.grid,
id: "fm-tab-grid",
handler: this.gridHandler,
icon: this.icons.grid
});
// Charts tab
tabs.push({
title: Labels.charts,
id: "fm-tab-charts",
onShowHandler: this.checkChartMultipleMeasures,
icon: this.icons.charts,
menu: [{
title: Labels.charts_column,
id: "fm-tab-charts-column",
handler: this.chartsHandler,
args: "column",
icon: this.icons.charts
},
{
title: Labels.charts_bar_horizontal,
id: "fm-tab-charts-bar-horizontal",
handler: this.chartsHandler,
args: "bar_h",
icon: this.icons.charts_bar
},
{
title: Labels.charts_line,
id: "fm-tab-charts-line",
handler: this.chartsHandler,
args: "line",
icon: this.icons.charts_line
},
{
title: Labels.charts_scatter,
id: "fm-tab-charts-scatter",
handler: this.chartsHandler,
args: "scatter",
icon: this.icons.charts_scatter
},
{
title: Labels.charts_pie,
id: "fm-tab-charts-pie",
handler: this.chartsHandler,
args: "pie",
icon: this.icons.charts_pie
},
{
title: Labels.charts_stacked_column,
id: "fm-tab-charts-stacked-column",
handler: this.chartsHandler,
args: "stacked_column",
flat: false,
icon: this.icons.charts_stacked_column
},
{
title: Labels.charts_column_line,
id: "fm-tab-charts-column-line",
handler: this.chartsHandler,
args: "column_line",
icon: this.icons.charts_column_line
},
{
title: Labels.charts_multiple,
id: "fm-tab-charts-multiple",
handler: this.chartsMultipleHandler,
flat: false,
mobile: false,
type: "checkbox"
}
]
});
tabs.push({
divider: true
});
// Format tab
tabs.push({
title: Labels.format,
id: "fm-tab-format",
icon: this.icons.format,
rightGroup: true,
menu: [{
title: this.osUtils.isMobile ? Labels.format_cells_mobile : Labels.format_cells,
id: "fm-tab-format-cells",
handler: this.formatCellsHandler,
icon: this.icons.format_number
},
{
title: this.osUtils.isMobile ? Labels.conditional_formatting_mobile : Labels.conditional_formatting,
id: "fm-tab-format-conditional",
handler: this.conditionalFormattingHandler,
icon: this.icons.format_conditional
}
]
});
// Options tab
tabs.push({
title: Labels.options,
id: "fm-tab-options",
handler: this.optionsHandler,
icon: this.icons.options,
rightGroup: true
});
// Fields tab
tabs.push({
title: Labels.fields,
id: "fm-tab-fields",
handler: this.fieldsHandler,
icon: this.icons.fields,
rightGroup: true
});
// Fullscreen tab
if (document["addEventListener"] != undefined) { // For IE8
tabs.push({
divider: true,
rightGroup: true
});
tabs.push({
title: Labels.fullscreen,
id: "fm-tab-fullscreen",
handler: this.fullscreenHandler,
mobile: false,
icon: this.icons.fullscreen,
rightGroup: true
});
}
return tabs;
}
FlexmonsterToolbar.prototype.create = function () {
this.popupManager = new FlexmonsterToolbar.PopupManager(this);
this.dataProvider = this.getTabs();
if (this.dataSourceType != 5) {
this.filterConnectMenu();
}
this.init();
}
FlexmonsterToolbar.prototype.dispose = function () {
this.popupManager = null;
this.pivot = null;
this.pivotContainer = null;
this.Labels = null;
this.dataProvider = null;
window.removeEventListener("resize", this._redrawToolbar);
this.toolbarWrapper.remove();
this.toolbarWrapper = null;
}
FlexmonsterToolbar.prototype.responsiveBreakpoints = [700];
FlexmonsterToolbar.prototype.applyToolbarLayoutClasses = function () {
if (!this.osUtils.isMobile) {
var _this = this;
var addLayoutClasses = function () {
if (!_this.toolbarWrapper) return;
var toolbarWidth = _this.toolbarWrapper.getBoundingClientRect().width;
if (toolbarWidth == 0) {
return;
}
_this.responsiveBreakpoints.forEach(function (bp) {
if (toolbarWidth < bp) {
_this.toolbarWrapper.classList.add("fm-layout-" + bp);
} else {
_this.toolbarWrapper.classList.remove("fm-layout-" + bp);
}
});
};
addLayoutClasses();
}
}
FlexmonsterToolbar.prototype.init = function () {
var _this = this;
this.container = this.pivotContainer;
var createToolbar = function () {
_this.container.style.position = (_this.container.style.position == "") ? "relative" : _this.container.style.position;
if (!_this.container.querySelector("#fm-toolbar-wrapper")) {
_this.toolbarWrapper = document.createElement("div");
_this.toolbarWrapper.id = "fm-toolbar-wrapper";
}
_this.listWrapper = document.createElement("div");
_this.listWrapper.classList.add("fm-list-wrapper");
_this.listWrapper.style.width = "100%";
_this.toolbarWrapper.style.width = "100%";
_this.toolbarWrapper.appendChild(_this.listWrapper);
_this.toolbar = document.createElement("ul");
_this.toolbar.setAttribute("role", "menubar");
_this.toolbar.setAttribute("aria-orientation", "horizontal");
_this.addClass(_this.toolbarWrapper, "fm-toolbar-ui");
_this.toolbar.id = "fm-toolbar";
if (!_this.osUtils.isMobile) { //left group and right group is only supported for desktop version
var leftGroup = document.createElement("div");
leftGroup.classList.add("fm-toolbar-group-left");
_this.toolbar.appendChild(leftGroup);
var rightGroup = document.createElement("div");
rightGroup.classList.add("fm-toolbar-group-right");
_this.toolbar.appendChild(rightGroup);
}
createToolbarContentFromTabs(leftGroup, rightGroup, _this.toolbar);
_this.listWrapper.appendChild(_this.toolbar);
_this.container.insertBefore(_this.toolbarWrapper, _this.container.firstChild);
_this.applyToolbarLayoutClasses();
if (!_this.osUtils.isMobile && (leftGroup.clientWidth + rightGroup.clientWidth > _this.toolbar.clientWidth)) { //checks if we have enouph space for all tabs
//if there is not enouph space we need to redraw toolbar content with all tabs in root for scrolling
_this.toolbar.removeChild(leftGroup);
_this.toolbar.removeChild(rightGroup);
leftGroup = null;
rightGroup = null;
createToolbarContentFromTabs(leftGroup, rightGroup, _this.toolbar);
_this.toolbar.classList.add("fm-scroll-toolbar");
//_this.listWrapper.classList.add("fm-scrollable");
}
_this.updateLabels(_this.Labels);
_this.pivot.on("numberformatting", function (data) {
_this.formatCellsHandler(data.measureName, data.aggregation);
});
_this.pivot.on("conditionalformatting", function (data) {
_this.conditionalFormattingHandler(data.measureName);
});
if (_this.osUtils.isMobile) {
_this.addClass(_this.listWrapper, "fm-mobile");
}
}
var createToolbarContentFromTabs = function (leftGroup, rightGroup, toolbar) { //fills toolbar with the defined tabs
for (var i = 0; i < _this.dataProvider.length; i++) {
if (_this.isDisabled(_this.dataProvider[i])) continue;
if (_this.osUtils.isMobile && _this.dataProvider[i].menu != null && _this.dataProvider[i].collapse != true) {
for (var j = 0; j < _this.dataProvider[i].menu.length; j++) {
if (_this.isDisabled(_this.dataProvider[i].menu[j])) continue;
toolbar.appendChild(_this.createTab(_this.dataProvider[i].menu[j]));
}
} else {
var tab = (_this.dataProvider[i].divider) ? _this.createDivider(_this.dataProvider[i]) : _this.createTab(_this.dataProvider[i]);
if (rightGroup && _this.dataProvider[i].rightGroup) {
rightGroup.appendChild(tab);
} else if (leftGroup) {
leftGroup.appendChild(tab);
} else {
toolbar.appendChild(tab);
}
}
}
}
var clear = function () { // clears old toolbar from DOM
if (_this.toolbarWrapper) {
var elementsToDelete = [];
var children = _this.toolbarWrapper.childNodes;
for (var i = 0; i < children.length; i++) {
var classList = children[i].classList;
if (!(classList.contains("fm-popup") ||
classList.contains("fm-modal-overlay") ||
classList.contains("fm-popup-modal-overlay"))) {
elementsToDelete.push(children[i]);
}
}
for (var i = 0; i < elementsToDelete.length; i++) {
_this.toolbarWrapper.removeChild(elementsToDelete[i]);
}
}
}
var enableToolbarScrolling = function () { //enables scrolling if possible
var singleArrowWidth = 20;
if (_this.toolbar.scrollWidth - _this.toolbar.clientWidth > singleArrowWidth) {
_this.leftScrollButton = document.createElement("div");
_this.leftScrollButton.classList.add("fm-left-scroll-button");
_this.rightScrollButton = document.createElement("div");
_this.rightScrollButton.classList.add("fm-right-scroll-button");
_this.addClass(_this.rightScrollButton, "fm-scroll-arrow");
_this.addClass(_this.listWrapper, "fm-one-arrow-scroll");
var changeListWrapperWidth = function (option) {
if (option == "add") {
_this.listWrapper.classList.remove("fm-one-arrow-scroll");
_this.listWrapper.classList.add("fm-two-arrow-scroll");
} else if (option = "remove") {
_this.listWrapper.classList.remove("fm-two-arrow-scroll");
_this.listWrapper.classList.add("fm-one-arrow-scroll");
}
}
var luft = 40;
var switchScrollArrows = function () {
var maxWidth = _this.toolbar.scrollWidth - _this.toolbar.clientWidth;
var epsillon = 0.3;
if (_this.toolbar.scrollLeft > 0 && !_this.leftScrollButton.classList.contains("fm-scroll-arrow")) {
changeListWrapperWidth("add");
_this.addClass(_this.leftScrollButton, "fm-scroll-arrow");
} else if (_this.toolbar.scrollLeft - luft * epsillon <= 0 && _this.leftScrollButton.classList.contains("fm-scroll-arrow")) {
changeListWrapperWidth("remove");
_this.leftScrollButton.classList.remove("fm-scroll-arrow");
}
if (_this.toolbar.scrollLeft + luft * epsillon >= maxWidth && _this.rightScrollButton.classList.contains("fm-scroll-arrow")) {
changeListWrapperWidth("remove");
_this.rightScrollButton.classList.remove("fm-scroll-arrow");
} else if (_this.toolbar.scrollLeft + luft * epsillon < maxWidth && !_this.rightScrollButton.classList.contains("fm-scroll-arrow")) {
changeListWrapperWidth("add");
_this.addClass(_this.rightScrollButton, "fm-scroll-arrow");
}
}
var scrollList = function (direction) {
if (direction == "left") {
_this.toolbar.scrollLeft -= luft;
} else if (direction == "right") {
_this.toolbar.scrollLeft += luft;
}
switchScrollArrows();
}
var scrollLeft = function () {
scrollList("left");
}
var scrollRight = function () {
scrollList("right");
}
_this.toolbar.onscroll = function () {
switchScrollArrows();
}
_this.leftScrollButton.onclick = scrollLeft;
_this.rightScrollButton.onclick = scrollRight;
_this.toolbarWrapper.insertBefore(_this.leftScrollButton, _this.toolbarWrapper.firstChild);
_this.toolbarWrapper.appendChild(_this.rightScrollButton);
}
}
_this._redrawToolbar = function () {
clear();
createToolbar();
enableToolbarScrolling();
var fullscreenTab = _this.pivotContainer.querySelector("#fm-tab-fullscreen");
if (fullscreenTab) {
var isFullscreen = _this.isFullscreen();
fullscreenTab.querySelector(".fm-svg-icon").innerHTML = _this.toTrustedHtml(isFullscreen ? _this.icons.minimize : _this.icons.fullscreen);
_this.setText(fullscreenTab.querySelector(".fm-tab-label"), isFullscreen ? _this.Labels.minimize : _this.Labels.fullscreen);
}
}
_this._redrawToolbar();
window.addEventListener("resize", _this._redrawToolbar);
}
// LABELS
FlexmonsterToolbar.prototype.updateLabels = function (labels) {
var Labels = this.Labels = labels;
this.setText(this.pivotContainer.querySelector("#fm-tab-connect .fm-tab-label"), Labels.connect);
this.setText(this.pivotContainer.querySelector("#fm-tab-connect-local-csv .fm-tab-label"), Labels.connect_local_csv);
this.setText(this.pivotContainer.querySelector("#fm-tab-connect-local-json .fm-tab-label"), Labels.connect_local_json);
this.setText(this.pivotContainer.querySelector("#fm-tab-connect-remote-csv .fm-tab-label"), this.osUtils.isMobile ? Labels.connect_remote_csv_mobile : Labels.connect_remote_csv);
this.setText(this.pivotContainer.querySelector("#fm-tab-connect-remote-json .fm-tab-label"), this.osUtils.isMobile ? Labels.connect_remote_json_mobile : Labels.connect_remote_json);
this.setText(this.pivotContainer.querySelector("#fm-tab-connect-olap .fm-tab-label"), this.osUtils.isMobile ? Labels.connect_olap_mobile : Labels.connect_olap);
this.setText(this.pivotContainer.querySelector("#fm-tab-connect-elastic .fm-tab-label"), this.osUtils.isMobile ? Labels.connect_elastic_mobile : Labels.connect_elastic);
this.setText(this.pivotContainer.querySelector("#fm-tab-open .fm-tab-label"), Labels.open);
this.setText(this.pivotContainer.querySelector("#fm-tab-open-local-report .fm-tab-label"), Labels.local_report);
this.setText(this.pivotContainer.querySelector("#fm-tab-open-remote-report .fm-tab-label"), this.osUtils.isMobile ? Labels.remote_report_mobile : Labels.remote_report);
this.setText(this.pivotContainer.querySelector("#fm-tab-save .fm-tab-label"), Labels.save);
this.setText(this.pivotContainer.querySelector("#fm-tab-share .fm-tab-label"), Labels.share);
this.setText(this.pivotContainer.querySelector("#fm-tab-grid .fm-tab-label"), Labels.grid);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts .fm-tab-label"), Labels.charts);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-column .fm-tab-label"), Labels.charts_column);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-bar-horizontal .fm-tab-label"), Labels.charts_bar_horizontal);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-line .fm-tab-label"), Labels.charts_line);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-scatter .fm-tab-label"), Labels.charts_scatter);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-pie .fm-tab-label"), Labels.charts_pie);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-stacked-column .fm-tab-label"), Labels.charts_stacked_column);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-column-line .fm-tab-label"), Labels.charts_column_line);
this.setText(this.pivotContainer.querySelector("#fm-tab-charts-multiple .fm-tab-label"), Labels.charts_multiple);
this.setText(this.pivotContainer.querySelector("#fm-tab-format .fm-tab-label"), Labels.format);
this.setText(this.pivotContainer.querySelector("#fm-tab-format-cells .fm-tab-label"), this.osUtils.isMobile ? Labels.format_cells_mobile : Labels.format_cells);
this.setText(this.pivotContainer.querySelector("#fm-tab-format-conditional .fm-tab-label"), this.osUtils.isMobile ? Labels.conditional_formatting_mobile : Labels.conditional_formatting);
this.setText(this.pivotContainer.querySelector("#fm-tab-options .fm-tab-label"), Labels.options);
this.setText(this.pivotContainer.querySelector("#fm-tab-fullscreen .fm-tab-label"), Labels.fullscreen);
this.setText(this.pivotContainer.querySelector("#fm-tab-export .fm-tab-label"), Labels.export);
this.setText(this.pivotContainer.querySelector("#fm-tab-export-print .fm-tab-label"), Labels.export_print);
this.setText(this.pivotContainer.querySelector("#fm-tab-export-html .fm-tab-label"), Labels.export_html);
this.setText(this.pivotContainer.querySelector("#fm-tab-export-csv .fm-tab-label"), Labels.export_csv);
this.setText(this.pivotContainer.querySelector("#fm-tab-export-excel .fm-tab-label"), Labels.export_excel);
this.setText(this.pivotContainer.querySelector("#fm-tab-export-image .fm-tab-label"), Labels.export_image);
this.setText(this.pivotContainer.querySelector("#fm-tab-export-pdf .fm-tab-label"), Labels.export_pdf);
this.setText(this.pivotContainer.querySelector("#fm-tab-fields .fm-tab-label"), Labels.fields);
}
// ICONS
FlexmonsterToolbar.prototype.icons = {
"connect": "<svg width=\"50\" height=\"50\" viewBox=\"0 0 50 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25 20.9C31.9036 20.9 37.5 18.5719 37.5 15.7C37.5 12.8281 31.9036 10.5 25 10.5C18.0964 10.5 12.5 12.8281 12.5 15.7C12.5 18.5719 18.0964 20.9 25 20.9Z\" class=\"fill-background\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 34.3002C13 34.8519 13.264 35.4186 13.8337 35.9799C14.4056 36.5434 15.2589 37.0721 16.3539 37.5258C18.5418 38.4323 21.5987 39.0002 25 39.0002C28.4013 39.0002 31.4582 38.4323 33.6461 37.5258C34.7411 37.0721 35.5944 36.5434 36.1663 35.9799C36.736 35.4186 37 34.8519 37 34.3002V15.7004C37 15.7004 37 15.7002 37.5 15.7002C38 15.7002 38 15.7004 38 15.7004V34.3002C38 35.1985 37.564 36.0067 36.8681 36.6923C36.1744 37.3757 35.1964 37.9658 34.0289 38.4496C31.6918 39.418 28.4987 40.0002 25 40.0002C21.5013 40.0002 18.3082 39.418 15.9711 38.4496C14.8036 37.9658 13.8256 37.3757 13.1319 36.6923C12.436 36.0067 12 35.1985 12 34.3002V15.7004C12 15.7004 12 15.7002 12.5 15.7002C13 15.7002 13 15.7004 13 15.7004V34.3002Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.8329 14.0324C13.2627 14.5933 13 15.1569 13 15.7004C13 16.2439 13.2627 16.8067 13.8329 17.3676C14.4049 17.9302 15.2583 18.4598 16.3532 18.9153C18.5408 19.8254 21.5976 20.4 25 20.4C28.4024 20.4 31.4592 19.8254 33.6468 18.9153C34.7417 18.4598 35.5951 17.9302 36.1671 17.3676C36.7373 16.8067 37 16.2439 37 15.7004C37 15.1569 36.7373 14.5933 36.1671 14.0324C35.5951 13.4698 34.7417 12.9402 33.6468 12.4847C31.4592 11.5746 28.4024 11 25 11C21.5976 11 18.5408 11.5746 16.3532 12.4847C15.2583 12.9402 14.4049 13.4698 13.8329 14.0324ZM15.9691 11.5614C18.3056 10.5894 21.4988 10 25 10C28.5012 10 31.6944 10.5894 34.0309 11.5614C35.198 12.0469 36.1752 12.6378 36.8683 13.3194C37.5631 14.0028 38 14.808 38 15.7004C38 16.5928 37.5631 17.3972 36.8683 18.0806C36.1752 18.7622 35.198 19.3531 34.0309 19.8386C31.6944 20.8106 28.5012 21.4 25 21.4C21.4988 21.4 18.3056 20.8106 15.9691 19.8386C14.802 19.3531 13.8248 18.7622 13.1317 18.0806C12.4369 17.3972 12 16.5928 12 15.7004C12 14.808 12.4369 14.0028 13.1317 13.3194C13.8248 12.6378 14.802 12.0469 15.9691 11.5614Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.3561 31.5894C18.5448 32.5084 21.6015 33.1004 25 33.1004C28.4013 33.1004 31.4582 32.5325 33.6461 31.626C34.7411 31.1723 35.5944 30.6436 36.1663 30.0801C36.736 29.5188 37 28.9521 37 28.4004H38C38 29.2987 37.564 30.1069 36.8681 30.7925C36.1744 31.4759 35.1964 32.066 34.0289 32.5498C31.6918 33.5182 28.4987 34.1004 25 34.1004C21.4985 34.1004 18.3052 33.4924 15.9689 32.5114C14.802 32.0214 13.8257 31.4287 13.1333 30.7516C12.4403 30.0741 12 29.2782 12 28.4004H13C13 28.9226 13.2597 29.4767 13.8324 30.0366C14.4056 30.5971 15.2605 31.1294 16.3561 31.5894Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.3539 25.126C18.5418 26.0325 21.5987 26.6004 25 26.6004C28.4013 26.6004 31.4582 26.0325 33.6461 25.126C34.7411 24.6722 35.5944 24.1436 36.1663 23.5801C36.736 23.0188 37 22.4521 37 21.9004H38C38 22.7987 37.564 23.6069 36.8681 24.2925C36.1744 24.9759 35.1964 25.566 34.0289 26.0498C31.6918 27.0182 28.4987 27.6004 25 27.6004C21.5013 27.6004 18.3082 27.0182 15.9711 26.0498C14.8036 25.566 13.8256 24.9759 13.1319 24.2925C12.436 23.6069 12 22.7987 12 21.9004H13C13 22.4521 13.264 23.0188 13.8337 23.5801C14.4056 24.1436 15.2589 24.6722 16.3539 25.126Z\" class=\"fill-border\"/></svg>",
"connect_olap": "<svg width=\"50\" height=\"51\" viewBox=\"0 0 50 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.7 29.1004V22.1004L24.9 25.9004V32.8004L18.7 29.1004Z\" class=\"fill-background\"/><path d=\"M37.5 32.8004V25.8004L31.3 29.6004V36.5004L37.5 32.8004Z\" class=\"fill-background\"/><path d=\"M31.2 14.8004L24.8 11.4004L18.7 14.8004L24.7 18.4004L31.2 14.8004Z\" class=\"fill-background\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24.9 25.4004C25.1762 25.4004 25.4 25.6242 25.4 25.9004V40.4004C25.4 40.6765 25.1762 40.9004 24.9 40.9004C24.6239 40.9004 24.4 40.6765 24.4 40.4004V25.9004C24.4 25.6242 24.6239 25.4004 24.9 25.4004Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M31.8 22.1006V36.6006H30.8V22.1006H31.8Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.2 22.1006V36.6006H18.2V22.1006H19.2Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.0715 18.2423C12.2139 18.0057 12.5211 17.9293 12.7577 18.0716L25.0577 25.4716C25.2943 25.614 25.3707 25.9212 25.2284 26.1578C25.086 26.3945 24.7788 26.4709 24.5422 26.3285L12.2422 18.9285C12.0056 18.7862 11.9292 18.4789 12.0715 18.2423Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24.5499 10.9674C24.702 10.8796 24.8889 10.878 25.0424 10.9632L37.8424 18.0632C38.0024 18.1519 38.1012 18.3209 38.0999 18.5038L37.9999 33.0038C37.9987 33.1805 37.9043 33.3434 37.7516 33.4324L25.0516 40.8324C24.8944 40.924 24.6999 40.923 24.5437 40.8297L12.1437 33.4297C11.9914 33.3389 11.8987 33.1742 11.8999 32.9969L11.9999 18.4969C12.0011 18.3195 12.0963 18.1561 12.2499 18.0674L24.5499 10.9674ZM24.8048 11.9749L12.9979 18.7902L12.9019 32.7177L24.8029 39.8199L37.0019 32.7119L37.0979 18.7937L24.8048 11.9749Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M37.9302 18.2454C38.0709 18.483 37.9923 18.7897 37.7547 18.9303L25.2547 26.3303C25.017 26.471 24.7104 26.3924 24.5697 26.1548C24.429 25.9172 24.5076 25.6105 24.7452 25.4698L37.2452 18.0698C37.4829 17.9291 37.7895 18.0077 37.9302 18.2454Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.4453 21.7701L30.9453 14.3701L31.4547 15.2306L18.9547 22.6306L18.4453 21.7701Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.9547 14.3701L25.2047 18.0701L31.4547 21.7701L30.9453 22.6306L18.4453 15.2306L18.9547 14.3701Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.6547 24.9697L25.1547 32.3697L24.6453 33.2302L12.1453 25.8302L12.6547 24.9697Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M37.6562 25.8294L25.2562 33.2294L24.7438 32.3707L37.1438 24.9707L37.6562 25.8294Z\" class=\"fill-border\"/></svg>",
"connect_csv": "<svg width=\"50\" height=\"51\" viewBox=\"0 0 50 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M36.5 18.6502H29.3V11.4502\" class=\"fill-background\"/><path d=\"M27.9 36.4502H9.5C8.4 36.4502 7.5 35.5502 7.5 34.4502V27.9502C7.5 26.8502 8.4 25.9502 9.5 25.9502H27.9C29 25.9502 29.9 26.8502 29.9 27.9502V34.4502C29.9 35.5502 29 36.4502 27.9 36.4502Z\" class=\"fill-background\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.2998 15.4502C18.0362 15.4502 17.7776 15.5403 17.5838 15.7341C17.3899 15.928 17.2998 16.1866 17.2998 16.4502V20.6502C17.2998 20.9138 17.3899 21.1724 17.5838 21.3662C17.7776 21.5601 18.0362 21.6502 18.2998 21.6502H21.1998V22.8506H20.3998C20.1236 22.8506 19.8998 23.0744 19.8998 23.3506C19.8998 23.6267 20.1236 23.8506 20.3998 23.8506H22.9998C23.2759 23.8506 23.4998 23.6267 23.4998 23.3506C23.4998 23.0744 23.2759 22.8506 22.9998 22.8506H22.1998V21.6502H24.9998C25.248 21.6502 25.5221 21.5701 25.7291 21.389C25.9403 21.2041 26.0722 20.9131 25.9998 20.5848V16.4502C25.9998 16.1866 25.9097 15.928 25.7159 15.7341C25.522 15.5403 25.2634 15.4502 24.9998 15.4502H18.2998ZM18.2998 20.6502V16.4502H24.9998V20.6502H18.2998Z\" class=\"fill-border\"/><path d=\"M23.9286 29.3014C24.0106 29.0962 24.2434 28.9965 24.4485 29.0785C24.6537 29.1606 24.7534 29.3934 24.6714 29.5985L23.2714 33.0985C23.2113 33.2487 23.0666 33.3479 22.9049 33.3499C22.7431 33.3519 22.5961 33.2562 22.5323 33.1075L21.0323 29.6075C20.9453 29.4044 21.0394 29.1693 21.2424 29.0823C21.4455 28.9952 21.6806 29.0893 21.7676 29.2923L22.8872 31.9047L23.9286 29.3014Z\" class=\"fill-border\"/><path d=\"M13.6 31.2498C13.6 30.7432 13.7662 30.4028 13.9896 30.1884C14.217 29.97 14.5377 29.8498 14.9 29.8498C15.17 29.8498 15.4733 29.9888 15.7172 30.2326C15.8734 30.3889 16.1267 30.3889 16.2829 30.2326C16.4391 30.0764 16.4391 29.8232 16.2829 29.667C15.9268 29.3108 15.4301 29.0498 14.9 29.0498C14.3624 29.0498 13.8331 29.2296 13.4355 29.6112C13.0339 29.9968 12.8 30.5564 12.8 31.2498C12.8 31.9278 12.9994 32.4898 13.3922 32.8826C13.7842 33.2746 14.3207 33.4498 14.9 33.4498C15.5172 33.4498 16.0161 33.1994 16.3829 32.8326C16.5391 32.6764 16.5391 32.4232 16.3829 32.267C16.2267 32.1108 15.9734 32.1108 15.8172 32.267C15.584 32.5002 15.2829 32.6498 14.9 32.6498C14.4794 32.6498 14.1659 32.525 13.9579 32.317C13.7507 32.1098 13.6 31.7718 13.6 31.2498Z\" class=\"fill-border\"/><path d=\"M18.8 29.6506C18.2146 29.6506 18 29.9646 18 30.1506C18 30.3815 18.0548 30.4754 18.1245 30.5358C18.2181 30.6169 18.4172 30.7056 18.8442 30.753C18.8557 30.7543 18.8671 30.7561 18.8785 30.7584C19.3939 30.8614 19.813 30.9999 20.1092 31.2138C20.4338 31.4482 20.6 31.7666 20.6 32.1506C20.6 32.5497 20.395 32.8913 20.0634 33.1182C19.7403 33.3392 19.304 33.4506 18.8 33.4506C18.0977 33.4506 17.6213 33.2122 17.2781 32.9834C17.0943 32.8609 17.0447 32.6125 17.1672 32.4287C17.2897 32.2449 17.5381 32.1952 17.7219 32.3178C17.9788 32.489 18.3023 32.6506 18.8 32.6506C19.196 32.6506 19.4597 32.5619 19.6116 32.458C19.755 32.3598 19.8 32.2515 19.8 32.1506C19.8 32.0345 19.7662 31.9529 19.6408 31.8624C19.4888 31.7526 19.2125 31.6423 18.738 31.5461C18.2727 31.4928 17.8784 31.3812 17.6005 31.1404C17.2952 30.8758 17.2 30.5197 17.2 30.1506C17.2 29.3366 17.9854 28.8506 18.8 28.8506C19.3769 28.8506 19.7383 28.9725 20.1789 29.1928C20.3765 29.2916 20.4566 29.5319 20.3578 29.7295C20.259 29.9271 20.0187 30.0072 19.8211 29.9084C19.4617 29.7286 19.2231 29.6506 18.8 29.6506Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.5 10.9502C14.1068 10.9502 13.1 12.0913 13.1 13.3502V25.4502H9.5C8.12386 25.4502 7 26.5741 7 27.9502V34.4502C7 35.8263 8.12386 36.9502 9.5 36.9502H13.1V38.4502C13.1 39.8433 14.2411 40.8502 15.5 40.8502H34.5C35.8931 40.8502 36.9 39.709 36.9 38.4502V18.4451L29.5091 10.9502H15.5ZM14.1 36.9502V38.4502C14.1 39.2571 14.7588 39.8502 15.5 39.8502H34.5C35.3069 39.8502 35.9 39.1913 35.9 38.4502V19.1502H29.3C29.0239 19.1502 28.8 18.9263 28.8 18.6502V11.9502H15.5C14.6931 11.9502 14.1 12.609 14.1 13.3502V25.4502H27.9C29.2761 25.4502 30.4 26.5741 30.4 27.9502V34.4502C30.4 35.8263 29.2761 36.9502 27.9 36.9502H14.1ZM29.8 18.1502V12.6694L35.2047 18.1502H29.8ZM8 27.9502C8 27.1263 8.67614 26.4502 9.5 26.4502H27.9C28.7239 26.4502 29.4 27.1263 29.4 27.9502V34.4502C29.4 35.2741 28.7239 35.9502 27.9 35.9502H9.5C8.67614 35.9502 8 35.2741 8 34.4502V27.9502Z\" class=\"fill-border\"/></svg>",
"connect_json": "<svg width=\"50\" height=\"51\" viewBox=\"0 0 50 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M36.5 18.6502H29.3V11.4502\" class=\"fill-background\"/><path d=\"M27.9 36.4502H9.5C8.4 36.4502 7.5 35.5502 7.5 34.4502V27.9502C7.5 26.8502 8.4 25.9502 9.5 25.9502H27.9C29 25.9502 29.9 26.8502 29.9 27.9502V34.4502C29.9 35.5502 29 36.4502 27.9 36.4502Z\" class=\"fill-background\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.2998 14.4502C18.0362 14.4502 17.7776 14.5403 17.5838 14.7341C17.3899 14.928 17.2998 15.1866 17.2998 15.4502V19.6502C17.2998 19.9138 17.3899 20.1724 17.5838 20.3662C17.7776 20.5601 18.0362 20.6502 18.2998 20.6502H21.1997V21.8506H20.3999C20.1238 21.8506 19.8999 22.0744 19.8999 22.3506C19.8999 22.6267 20.1238 22.8506 20.3999 22.8506H22.9999C23.276 22.8506 23.4999 22.6267 23.4999 22.3506C23.4999 22.0744 23.276 21.8506 22.9999 21.8506H22.1997V20.6502H24.9998C25.248 20.6502 25.5221 20.5701 25.7291 20.389C25.9403 20.2041 26.0722 19.9131 25.9998 19.5848V15.4502C25.9998 15.1866 25.9097 14.928 25.7159 14.7341C25.522 14.5403 25.2634 14.4502 24.9998 14.4502H18.2998ZM18.2998 19.6502V15.4502H24.9998V19.6502H18.2998Z\" class=\"fill-border\"/><path d=\"M15 30.1496C15 29.9636 15.2146 29.6496 15.8 29.6496C16.2231 29.6496 16.4617 29.7277 16.8211 29.9074C17.0187 30.0062 17.259 29.9261 17.3578 29.7285C17.4566 29.5309 17.3765 29.2906 17.1789 29.1918C16.7383 28.9715 16.3769 28.8496 15.8 28.8496C14.9854 28.8496 14.2 29.3356 14.2 30.1496C14.2 30.5187 14.2952 30.8748 14.6005 31.1394C14.8784 31.3802 15.2727 31.4918 15.738 31.5451C16.2125 31.6413 16.4888 31.7516 16.6408 31.8614C16.7662 31.952 16.8 32.0336 16.8 32.1496C16.8 32.2505 16.755 32.3589 16.6116 32.457C16.4597 32.561 16.196 32.6496 15.8 32.6496C15.3023 32.6496 14.9788 32.488 14.7219 32.3168C14.5381 32.1943 14.2897 32.2439 14.1672 32.4277C14.0447 32.6115 14.0943 32.8599 14.2781 32.9824C14.6213 33.2112 15.0977 33.4496 15.8 33.4496C16.304 33.4496 16.7403 33.3383 17.0634 33.1172C17.395 32.8903 17.6 32.5487 17.6 32.1496C17.6 31.7657 17.4338 31.4473 17.1092 31.2128C16.813 30.9989 16.3939 30.8605 15.8785 30.7574C15.8671 30.7551 15.8557 30.7533 15.8442 30.7521C15.4172 30.7046 15.2181 30.616 15.1245 30.5348C15.0548 30.4744 15 30.3805 15 30.1496Z\" class=\"fill-border\"/><path d=\"M13.0001 29.0498C13.221 29.0498 13.4001 29.2289 13.4001 29.4498V31.8498C13.4001 32.6932 12.6978 33.3498 11.8001 33.3498C11.2835 33.3498 10.7505 33.0966 10.4672 32.6717C10.3447 32.4879 10.3944 32.2395 10.5782 32.117C10.762 31.9944 11.0103 32.0441 11.1329 32.2279C11.2496 32.403 11.5166 32.5498 11.8001 32.5498C12.3023 32.5498 12.6001 32.2064 12.6001 31.8498V29.4498C12.6001 29.2289 12.7792 29.0498 13.0001 29.0498Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.2 29.0498C19.0189 29.0498 18.1 30.0566 18.1 31.2498C18.1 32.443 19.0189 33.4498 20.2 33.4498C21.381 33.4498 22.3 32.443 22.3 31.2498C22.3 30.0566 21.381 29.0498 20.2 29.0498ZM18.9 31.2498C18.9 30.4548 19.5032 29.8498 20.2 29.8498C20.8967 29.8498 21.5 30.4548 21.5 31.2498C21.5 32.0449 20.8967 32.6498 20.2 32.6498C19.5032 32.6498 18.9 32.0449 18.9 31.2498Z\" class=\"fill-border\"/><path d=\"M23.265 29.1729C23.424 29.1159 23.6016 29.1648 23.7089 29.2952L25.8001 31.8345V29.5494C25.8001 29.3285 25.9792 29.1494 26.2001 29.1494C26.421 29.1494 26.6001 29.3285 26.6001 29.5494V32.9494C26.6001 33.1183 26.4941 33.2689 26.3352 33.3259C26.1763 33.383 25.9987 33.334 25.8914 33.2037L23.8001 30.6644V32.9494C23.8001 33.1703 23.621 33.3494 23.4001 33.3494C23.1792 33.3494 23.0001 33.1703 23.0001 32.9494V29.5494C23.0001 29.3806 23.1061 29.2299 23.265 29.1729Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.1001 13.3502C13.1001 12.0913 14.107 10.9502 15.5001 10.9502H29.5093L36.9001 18.4451V38.4502C36.9001 39.709 35.8932 40.8502 34.5001 40.8502H15.5001C14.2413 40.8502 13.1001 39.8433 13.1001 38.4502V36.9502H9.5C8.12386 36.9502 7 35.8263 7 34.4502V27.9502C7 26.5741 8.12386 25.4502 9.5 25.4502H13.1001V13.3502ZM14.1001 38.4502V36.9502H27.9C29.2761 36.9502 30.4 35.8263 30.4 34.4502V27.9502C30.4 26.5741 29.2761 25.4502 27.9 25.4502H14.1001V13.3502C14.1001 12.609 14.6932 11.9502 15.5001 11.9502H28.8V18.6502C28.8 18.9263 29.0239 19.1502 29.3 19.1502H35.9001V38.4502C35.9001 39.1913 35.307 39.8502 34.5001 39.8502H15.5001C14.7589 39.8502 14.1001 39.2571 14.1001 38.4502ZM29.8 12.6693V18.1502H35.2048L29.8 12.6693ZM9.5 26.4502C8.67614 26.4502 8 27.1263 8 27.9502V34.4502C8 35.2741 8.67614 35.9502 9.5 35.9502H27.9C28.7239 35.9502 29.4 35.2741 29.4 34.4502V27.9502C29.4 27.1263 28.7239 26.4502 27.9 26.4502H9.5Z\" class=\"fill-border\"/></svg>",
"connect_csv_remote": "<svg width=\"50\" height=\"51\" viewBox=\"0 0 50 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M36.5 18.6512H29.3V11.4512\" class=\"fill-background\"/><path d=\"M27.9 36.4512H9.5C8.4 36.4512 7.5 35.5512 7.5 34.4512V27.9512C7.5 26.8512 8.4 25.9512 9.5 25.9512H27.9C29 25.9512 29.9 26.8512 29.9 27.9512V34.4512C29.9 35.5512 29 36.4512 27.9 36.4512Z\" class=\"fill-background\"/><path d=\"M22.5 21.6514C22.5 22.2037 22.0523 22.6514 21.5 22.6514C20.9477 22.6514 20.5 22.2037 20.5 21.6514C20.5 21.0991 20.9477 20.6514 21.5 20.6514C22.0523 20.6514 22.5 21.0991 22.5 21.6514Z\" class=\"fill-border\"/><path d=\"M21.5 15.8516C19.7236 15.8516 18.1536 16.505 17.0535 17.6051C16.8582 17.8004 16.5417 17.8004 16.3464 17.6051C16.1511 17.4099 16.1511 17.0933 16.3464 16.898C17.6463 15.5981 19.4763 14.8516 21.5 14.8516C23.4276 14.8516 25.2563 15.6008 26.5535 16.898C26.7488 17.0933 26.7488 17.4099 26.5535 17.6051C26.3582 17.8004 26.0417 17.8004 25.8464 17.6051C24.7436 16.5023 23.1723 15.8516 21.5 15.8516Z\" class=\"fill-border\"/><path d=\"M18.4323 18.9251C19.2672 18.1829 20.3539 17.6514 21.5001 17.6514C22.6708 17.6514 23.7542 18.1018 24.5679 18.8251C24.7743 19.0085 25.0903 18.9899 25.2738 18.7835C25.4573 18.5772 25.4387 18.2611 25.2323 18.0777C24.246 17.2009 22.9294 16.6514 21.5001 16.6514C20.0463 16.6514 18.733 17.3198 17.7679 18.1777C17.5615 18.3611 17.5429 18.6772 17.7264 18.8835C17.9099 19.0899 18.2259 19.1085 18.4323 18.9251Z\" class=\"fill-border\"/><path d=\"M21.4999 19.4512C20.8353 19.4512 20.2454 19.6975 19.72 20.1353C19.5079 20.3121 19.1926 20.2834 19.0158 20.0713C18.839 19.8591 18.8677 19.5438 19.0798 19.3671C19.7544 18.8049 20.5645 18.4512 21.4999 18.4512C22.4283 18.4512 23.2568 18.8009 23.8535 19.3976C24.0487 19.5929 24.0487 19.9095 23.8535 20.1047C23.6582 20.3 23.3416 20.3 23.1464 20.1047C22.7431 19.7014 22.1715 19.4512 21.4999 19.4512Z\" class=\"fill-border\"/><path d=\"M24.7698 29.403C24.8539 29.1987 24.7565 28.9649 24.5523 28.8808C24.348 28.7967 24.1142 28.8941 24.0301 29.0984L22.9873 31.6309L21.8659 29.0892C21.7768 28.8871 21.5406 28.7956 21.3385 28.8847C21.1364 28.9739 21.0448 29.21 21.134 29.4121L22.634 32.8121C22.6987 32.9588 22.8447 33.0527 23.0049 33.0507C23.1652 33.0487 23.3088 32.9512 23.3698 32.803L24.7698 29.403Z\" class=\"fill-border\"/><path d=\"M14.0895 29.9891C13.8661 30.2036 13.7 30.544 13.7 31.0506C13.7 31.5726 13.8507 31.9105 14.0579 32.1177C14.2659 32.3258 14.5794 32.4506 15 32.4506C15.3828 32.4506 15.684 32.301 15.9172 32.0677C16.0734 31.9115 16.3267 31.9115 16.4829 32.0677C16.6391 32.224 16.6391 32.4772 16.4829 32.6334C16.1161 33.0002 15.6172 33.2506 15 33.2506C14.4206 33.2506 13.8842 33.0754 13.4922 32.6834C13.0994 32.2906 12.9 31.7286 12.9 31.0506C12.9 30.3572 13.1339 29.7976 13.5355 29.412C13.933 29.0304 14.4624 28.8506 15 28.8506C15.5301 28.8506 16.0267 29.1116 16.3829 29.4677C16.5391 29.624 16.5391 29.8772 16.3829 30.0334C16.2267 30.1896 15.9734 30.1896 15.8172 30.0334C15.5733 29.7896 15.2699 29.6506 15 29.6506C14.6377 29.6506 14.317 29.7708 14.0895 29.9891Z\" class=\"fill-border\"/><path d=\"M18.2 29.9504C18.2 29.7644 18.4146 29.4504 19 29.4504C19.4231 29.4504 19.6617 29.5285 20.0211 29.7082C20.2187 29.807 20.4589 29.7269 20.5577 29.5293C20.6565 29.3317 20.5764 29.0914 20.3789 28.9926C19.9383 28.7723 19.5769 28.6504 19 28.6504C18.1854 28.6504 17.4 29.1364 17.4 29.9504C17.4 30.3195 17.4952 30.6756 17.8005 30.9402C18.0784 31.181 18.4727 31.2926 18.9379 31.3459C19.4125 31.4421 19.6888 31.5524 19.8408 31.6622C19.9662 31.7527 20 31.8343 20 31.9504C20 32.0513 19.955 32.1597 19.8116 32.2578C19.6596 32.3617 19.396 32.4504 19 32.4504C18.5023 32.4504 18.1787 32.2888 17.9218 32.1176C17.738 31.995 17.4897 32.0447 17.3671 32.2285C17.2446 32.4123 17.2943 32.6607 17.4781 32.7832C17.8212 33.012 18.2977 33.2504 19 33.2504C19.504 33.2504 19.9403 33.139 20.2633 32.918C20.5949 32.6911 20.8 32.3495 20.8 31.9504C20.8 31.5664 20.6337 31.248 20.3092 31.0136C20.0129 30.7997 19.5938 30.6612 19.0784 30.5582C19.0671 30.5559 19.0556 30.5541 19.0441 30.5528C18.6172 30.5054 18.418 30.4167 18.3244 30.3356C18.2547 30.2752 18.2 30.1813 18.2 29.9504Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.1001 13.3512C13.1001 12.0923 14.107 10.9512 15.5001 10.9512H29.3001C29.4339 10.9512 29.5622 11.0048 29.6561 11.1001L36.7561 18.3001C36.8484 18.3937 36.9001 18.5198 36.9001 18.6512V38.4512C36.9001 39.71 35.8932 40.8512 34.5001 40.8512H15.5001C14.2413 40.8512 13.1001 39.8443 13.1001 38.4512V36.9512H9.5C8.12386 36.9512 7 35.8273 7 34.4512V27.9512C7 26.575 8.12386 25.4512 9.5 25.4512H13.1001V13.3512ZM14.1001 38.4512V36.9512H27.9C29.2761 36.9512 30.4 35.8273 30.4 34.4512V27.9512C30.4 26.575 29.2761 25.4512 27.9 25.4512H14.1001V13.3512C14.1001 12.61 14.6932 11.9512 15.5001 11.9512H28.8V18.6512C28.8 18.9273 29.0239 19.1512 29.3 19.1512H35.9001V38.4512C35.9001 39.1923 35.307 39.8512 34.5001 39.8512H15.5001C14.7589 39.8512 14.1001 39.258 14.1001 38.4512ZM29.8 12.6703V18.1512H35.2048L29.8 12.6703ZM9.5 26.4512C8.67614 26.4512 8 27.1273 8 27.9512V34.4512C8 35.275 8.67614 35.9512 9.5 35.9512H27.9C28.7239 35.9512 29.4 35.275 29.4 34.4512V27.9512C29.4 27.1273 28.7239 26.4512 27.9 26.4512H9.5Z\" class=\"fill-border\"/></svg>",
"connect_json_remote": "<svg width=\"50\" height=\"51\" viewBox=\"0 0 50 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M36.5 18.6502H29.3V11.4502\" class=\"fill-background\"/><path d=\"M27.9 36.4502H9.5C8.4 36.4502 7.5 35.5502 7.5 34.4502V27.9502C7.5 26.8502 8.4 25.9502 9.5 25.9502H27.9C29 25.9502 29.9 26.8502 29.9 27.9502V34.4502C29.9 35.5502 29 36.4502 27.9 36.4502Z\" class=\"fill-background\"/><path d=\"M21.5 22.6504C22.0523 22.6504 22.5 22.2027 22.5 21.6504C22.5 21.0981 22.0523 20.6504 21.5 20.6504C20.9477 20.6504 20.5 21.0981 20.5 21.6504C20.5 22.2027 20.9477 22.6504 21.5 22.6504Z\" class=\"fill-border\"/><path d=\"M17.0535 17.6041C18.1536 16.504 19.7236 15.8506 21.5 15.8506C23.1723 15.8506 24.7436 16.5014 25.8464 17.6041C26.0417 17.7994 26.3582 17.7994 26.5535 17.6041C26.7488 17.4089 26.7488 17.0923 26.5535 16.897C25.2563 15.5998 23.4276 14.8506 21.5 14.8506C19.4763 14.8506 17.6463 15.5971 16.3464 16.897C16.1511 17.0923 16.1511 17.4089 16.3464 17.6041C16.5417 17.7994 16.8582 17.7994 17.0535 17.6041Z\" class=\"fill-border\"/><path d=\"M21.5 17.6504C20.3538 17.6504 19.2671 18.1819 18.4322 18.9241C18.2258 19.1076 17.9097 19.089 17.7263 18.8826C17.5428 18.6762 17.5614 18.3601 17.7678 18.1767C18.7328 17.3189 20.0462 16.6504 21.5 16.6504C22.9292 16.6504 24.2459 17.2 25.2322 18.0767C25.4386 18.2601 25.4571 18.5762 25.2737 18.7826C25.0902 18.989 24.7742 19.0076 24.5678 18.8241C23.7541 18.1008 22.6707 17.6504 21.5 17.6504Z\" class=\"fill-border\"/><path d=\"M19.7201 20.1343C20.2455 19.6965 20.8354 19.4502 21.5 19.4502C22.1717 19.4502 22.7432 19.7005 23.1465 20.1037C23.3417 20.299 23.6583 20.299 23.8536 20.1037C24.0489 19.9085 24.0489 19.5919 23.8536 19.3966C23.2569 18.7999 22.4284 18.4502 21.5 18.4502C20.5647 18.4502 19.7546 18.8039 19.0799 19.3661C18.8678 19.5429 18.8391 19.8581 19.0159 20.0703C19.1927 20.2824 19.508 20.3111 19.7201 20.1343Z\" class=\"fill-border\"/><path d=\"M15.8 29.6506C15.2146 29.6506 15 29.9646 15 30.1506C15 30.3815 15.0548 30.4754 15.1245 30.5358C15.2181 30.6169 15.4172 30.7056 15.8442 30.753C15.8557 30.7543 15.8671 30.7561 15.8785 30.7584C16.3939 30.8614 16.813 30.9999 17.1092 31.2138C17.4338 31.4482 17.6 31.7666 17.6 32.1506C17.6 32.5497 17.395 32.8913 17.0634 33.1182C16.7403 33.3392 16.304 33.4506 15.8 33.4506C15.0977 33.4506 14.6213 33.2122 14.2781 32.9834C14.0943 32.8609 14.0447 32.6125 14.1672 32.4287C14.2897 32.2449 14.5381 32.1952 14.7219 32.3178C14.9788 32.489 15.3023 32.6506 15.8 32.6506C16.196 32.6506 16.4597 32.5619 16.6116 32.458C16.755 32.3598 16.8 32.2515 16.8 32.1506C16.8 32.0345 16.7662 31.9529 16.6408 31.8624C16.4888 31.7526 16.2125 31.6423 15.738 31.5461C15.2727 31.4928 14.8784 31.3812 14.6005 31.1404C14.2952 30.8758 14.2 30.5197 14.2 30.1506C14.2 29.3366 14.9854 28.8506 15.8 28.8506C16.3769 28.8506 16.7383 28.9725 17.1789 29.1928C17.3765 29.2916 17.4566 29.5319 17.3578 29.7295C17.259 29.9271 17.0187 30.0072 16.8211 29.9084C16.4617 29.7286 16.2231 29.6506 15.8 29.6506Z\" class=\"fill-border\"/><path d=\"M13.3999 29.4498C13.3999 29.2289 13.2209 29.0498 12.9999 29.0498C12.779 29.0498 12.5999 29.2289 12.5999 29.4498V31.8498C12.5999 32.2064 12.3022 32.5498 11.7999 32.5498C11.5165 32.5498 11.2495 32.403 11.1328 32.2279C11.0102 32.0441 10.7619 31.9944 10.5781 32.117C10.3943 32.2395 10.3446 32.4879 10.4671 32.6717C10.7504 33.0966 11.2834 33.3498 11.7999 33.3498C12.6977 33.3498 13.3999 32.6932 13.3999 31.8498V29.4498Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.1 31.2498C18.1 30.0566 19.0189 29.0498 20.2 29.0498C21.381 29.0498 22.3 30.0566 22.3 31.2498C22.3 32.443 21.381 33.4498 20.2 33.4498C19.0189 33.4498 18.1 32.443 18.1 31.2498ZM20.2 29.8498C19.5032 29.8498 18.9 30.4548 18.9 31.2498C18.9 32.0449 19.5032 32.6498 20.2 32.6498C20.8967 32.6498 21.5 32.0449 21.5 31.2498C21.5 30.4548 20.8967 29.8498 20.2 29.8498Z\" class=\"fill-border\"/><path d=\"M23.7088 29.2961C23.6014 29.1658 23.4238 29.1169 23.2649 29.1739C23.106 29.2309 23 29.3816 23 29.5504V32.9504C23 33.1713 23.1791 33.3504 23.4 33.3504C23.6209 33.3504 23.8 33.1713 23.8 32.9504V30.6653L25.8912 33.2047C25.9986 33.335 26.1762 33.3839 26.3351 33.3269C26.494 33.2699 26.6 33.1192 26.6 32.9504V29.5504C26.6 29.3295 26.4209 29.1504 26.2 29.1504C25.9791 29.1504 25.8 29.3295 25.8 29.5504V31.8355L23.7088 29.2961Z\" class=\"fill-border\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.5 10.9502C14.1068 10.9502 13.1 12.0913 13.1 13.3502V25.4502H9.5C8.12386 25.4502 7 26.5741 7 27.9502V34.4502C7 35.8263 8.12386 36.9502 9.5 36.9502H13.1V38.4502C13.1 39.8433 14.2411 40.8502 15.5 40.8502H34.5C35.8931 40.8502 36.9 39.709 36.9 38.4502V18.4451L29.5091 10.950