{"version":3,"file":"iot-svg-library.umd.cjs","sources":["../src/visuals/shared/telemetryProps.js","../src/licensing/constants.js","../src/licensing/LicenseContext.js","../src/licensing/validateLicense.js","../src/licensing/LicenseProvider.jsx","../src/licensing/watermarkConfig.js","../src/licensing/PremiumLicenseGate.jsx","../src/visuals/shared/WidgetDetailCard.jsx","../src/utils/classNames.js","../src/core/SvgWrapper.jsx","../src/core/constants.js","../src/core/thresholds.js","../src/utils/validators.js","../src/visuals/free/TemperatureSVG/constants.js","../src/core/calculations.js","../src/visuals/free/TemperatureSVG/helpers.js","../src/visuals/free/TemperatureSVG/TemperatureSVG.jsx","../src/visuals/free/BatterySVG/constants.js","../src/visuals/free/BatterySVG/helpers.js","../src/visuals/free/BatterySVG/BatterySVG.jsx","../src/visuals/free/SignalStrengthSVG/constants.js","../src/visuals/free/SignalStrengthSVG/helpers.js","../src/visuals/free/SignalStrengthSVG/SignalStrengthSVG.jsx","../src/core/animation.js","../src/visuals/free/TankLevelSVG/constants.js","../src/visuals/free/TankLevelSVG/helpers.js","../src/visuals/free/TankLevelSVG/TankLevelSVG.jsx","../src/visuals/shared/legacyVisualUtils.jsx","../src/visuals/free/AcSVG/AcSVG.jsx","../src/visuals/free/AirSVG/AirSVG.jsx","../src/visuals/shared/dynamicSvgUtils.js","../src/visuals/free/dailyLifeDynamicFactory.jsx","../src/visuals/free/AirPurifierSVG/AirPurifierSVG.jsx","../src/visuals/free/AmbulanceSVG/AmbulanceSVG.jsx","../src/visuals/free/AnalyzerSVG/AnalyzerSVG.jsx","../src/visuals/free/AqiScaleSVG/AqiScaleSVG.jsx","../src/visuals/free/AqiSVG/AqiSVG.jsx","../src/visuals/free/BarrageSVG/BarrageSVG.jsx","../src/visuals/free/BreakerSVG/BreakerSVG.jsx","../src/visuals/free/DbDoorSVG/DbDoorSVG.jsx","../src/visuals/free/DoorLockSVG/DoorLockSVG.jsx","../src/visuals/free/ConveyorBeltSVG/ConveyorBeltSVG.jsx","../src/visuals/free/CoffeeMakerSVG/CoffeeMakerSVG.jsx","../src/visuals/free/CeilingFanSVG/CeilingFanSVG.jsx","../src/visuals/free/DoorBellSVG/DoorBellSVG.jsx","../src/visuals/free/ElectricKettleSVG/ElectricKettleSVG.jsx","../src/visuals/free/FireAlarmSVG/FireAlarmSVG.jsx","../src/visuals/free/GeneratorSVG/GeneratorSVG.jsx","../src/visuals/free/GuageSVG/GuageSVG.jsx","../src/visuals/free/GustSVG/GustSVG.jsx","../src/visuals/free/HeartMonitorSVG/HeartMonitorSVG.jsx","../src/visuals/free/HospitalBedSVG/HospitalBedSVG.jsx","../src/visuals/free/HospitalBuildingSVG/HospitalBuildingSVG.jsx","../src/visuals/free/HumiditySVG/HumiditySVG.jsx","../src/visuals/free/IlluminanceSVG/IlluminanceSVG.jsx","../src/visuals/free/InverterSVG/InverterSVG.jsx","../src/visuals/free/IVDripSVG/IVDripSVG.jsx","../src/visuals/free/KitchenScaleSVG/KitchenScaleSVG.jsx","../src/visuals/free/LegacyBatterySVG/LegacyBatterySVG.jsx","../src/visuals/free/LegacySignalSVG/LegacySignalSVG.jsx","../src/visuals/free/LegacyTankSVG/LegacyTankSVG.jsx","../src/visuals/free/LegacyTemperatureSVG/LegacyTemperatureSVG.jsx","../src/visuals/free/LaptopBatterySVG/LaptopBatterySVG.jsx","../src/visuals/free/LaundryBasketSVG/LaundryBasketSVG.jsx","../src/visuals/free/LightSVG/LightSVG.jsx","../src/visuals/free/LineProgressSVG/LineProgressSVG.jsx","../src/visuals/free/MachineATMSVG/MachineATMSVG.jsx","../src/visuals/free/MedicalCrossSVG/MedicalCrossSVG.jsx","../src/visuals/free/MedicineBottleSVG/MedicineBottleSVG.jsx","../src/visuals/free/MicrowaveSVG/MicrowaveSVG.jsx","../src/visuals/free/MotorSVG/MotorSVG.jsx","../src/visuals/free/OvenHeatSVG/OvenHeatSVG.jsx","../src/visuals/free/PackMachineSVG/PackMachineSVG.jsx","../src/visuals/free/ParkingSlotSVG/ParkingSlotSVG.jsx","../src/visuals/free/PhoneChargingSVG/PhoneChargingSVG.jsx","../src/visuals/free/PlantWateringSVG/PlantWateringSVG.jsx","../src/visuals/free/PipelineSVG/PipelineSVG.jsx","../src/visuals/free/PressureSVG/PressureSVG.jsx","../src/visuals/free/RadialProgressSVG/RadialProgressSVG.jsx","../src/visuals/free/RainSVG/RainSVG.jsx","../src/visuals/free/RefrigeratorSVG/RefrigeratorSVG.jsx","../src/visuals/free/RobotArmSVG/RobotArmSVG.jsx","../src/visuals/free/SecurityCameraSVG/SecurityCameraSVG.jsx","../src/visuals/free/ServerRackSVG/ServerRackSVG.jsx","../src/visuals/free/ShowerFlowSVG/ShowerFlowSVG.jsx","../src/visuals/free/SmartPlugSVG/SmartPlugSVG.jsx","../src/visuals/free/SoilTempretureSVG/SoilTempretureSVG.jsx","../src/visuals/free/SolarPanelSVG/SolarPanelSVG.jsx","../src/visuals/free/StethoscopeSVG/StethoscopeSVG.jsx","../src/visuals/free/ThreePhaseGuageSVG/ThreePhaseGuageSVG.jsx","../src/visuals/free/ThermostatDialSVG/ThermostatDialSVG.jsx","../src/visuals/free/ToasterSVG/ToasterSVG.jsx","../src/visuals/free/SyringeSVG/SyringeSVG.jsx","../src/visuals/free/TrafficLightSVG/TrafficLightSVG.jsx","../src/visuals/free/UvSVG/UvSVG.jsx","../src/visuals/free/ValveSVG/ValveSVG.jsx","../src/visuals/free/VacuumCleanerSVG/VacuumCleanerSVG.jsx","../src/visuals/free/WasteBinSVG/WasteBinSVG.jsx","../src/visuals/free/WaterPumpSVG/WaterPumpSVG.jsx","../src/visuals/free/WheelchairSVG/WheelchairSVG.jsx","../src/visuals/free/WashingMachineSVG/WashingMachineSVG.jsx","../src/visuals/free/WifiRouterSVG/WifiRouterSVG.jsx","../src/visuals/free/WindTurbineDynamicSVG/WindTurbineDynamicSVG.jsx","../src/visuals/free/WindDirectionSVG/WindDirectionSVG.jsx","../src/visuals/free/index.js","../src/visuals/Pro/CurtainSVG/CurtainSVG.jsx","../src/visuals/Pro/PremiumTemperatureSVG/PremiumTemperatureSVG.jsx","../src/visuals/Pro/index.js","../src/premium/PremiumComponents.jsx"],"sourcesContent":["const STATUS_COLORS = {\n  online: '#22c55e',\n  normal: '#22c55e',\n  running: '#22c55e',\n  active: '#22c55e',\n  idle: '#94a3b8',\n  offline: '#64748b',\n  stopped: '#64748b',\n  warning: '#f59e0b',\n  critical: '#ef4444',\n  error: '#ef4444',\n  fault: '#ef4444',\n};\n\nexport function firstFinite(...values) {\n  for (const value of values) {\n    const numericValue = Number(value);\n\n    if (Number.isFinite(numericValue)) {\n      return numericValue;\n    }\n  }\n\n  return 0;\n}\n\nexport function getTelemetryStatusColor(status, fallback = '#22c55e') {\n  if (!status) {\n    return fallback;\n  }\n\n  return STATUS_COLORS[String(status).toLowerCase()] || fallback;\n}\n\nexport function getTelemetryAccentColor({\n  accentColor,\n  status,\n  fallback = '#22c55e',\n}) {\n  return accentColor || getTelemetryStatusColor(status, fallback);\n}\n\nexport function getTelemetrySvgProps({\n  className,\n  style,\n  theme,\n  variant,\n  status,\n  accentColor,\n  fallbackAccentColor,\n}) {\n  const resolvedAccentColor = getTelemetryAccentColor({\n    accentColor,\n    status,\n    fallback: fallbackAccentColor,\n  });\n\n  return {\n    className,\n    style: {\n      '--iot-widget-accent-color': resolvedAccentColor,\n      ...style,\n    },\n    'data-theme': theme,\n    'data-variant': variant,\n    'data-status': status,\n  };\n}\n\nexport function mergeTelemetryConfig(config, nextConfig) {\n  return {\n    ...(config || {}),\n    ...nextConfig,\n  };\n}\n","export const LICENSE_PLANS = {\r\n  pro: 'pro',\r\n  premium: 'premium',\r\n};\r\n\r\n\nexport const LICENSE_VALIDATE_URL = 'https://s6.ottomatically.com/userportal/v1/validate/key';\n\nexport const PREMIUM_WIDGET_NAMES = [\n  'Button',\n  'Input',\n  'Textarea',\n  'Select',\n  'Checkbox',\n  'Radio',\n  'Switch',\n  'Slider',\n  'Rating',\n  'Avatar',\n  'Badge',\n  'Chip',\n  'Alert',\n  'Toast',\n  'Dialog',\n  'Drawer',\n  'Popover',\n  'Tooltip',\n  'Dropdown',\n  'Tabs',\n  'Accordion',\n  'Card',\n  'Table',\n  'DataGrid',\n  'Calendar',\n  'DatePicker',\n  'TimePicker',\n  'Chart',\n  'Gauge',\n  'Progress',\n  'Map',\n  'Image',\n  'Video',\n  'Carousel',\n  'Timeline',\n  'TreeView',\n  'Kanban',\n  'Dashboard',\n  'StatCard',\n  'MetricCard',\n  'ConnectionStatus',\n  'SignalIndicator',\n  'BatteryIndicator',\n  'TemperatureIndicator',\n  'HumidityIndicator',\n];\n\nexport const PREMIUM_WIDGET_SET = new Set(PREMIUM_WIDGET_NAMES);\r\n\r\nexport const ALL_WIDGETS_REQUIRE_PREMIUM_LICENSE = true;\n\nexport const INVALID_LICENSE_RESULT = {\n  isValid: false,\n  isLoading: false,\n  plan: null,\n  error: null,\n};\n\nexport const PENDING_LICENSE_RESULT = {\n  isValid: false,\n  isLoading: true,\n  plan: null,\n  error: null,\n};\r\n\r\n\r\n\r\n\r\n","import { createContext, useContext } from 'react';\nimport { INVALID_LICENSE_RESULT } from './constants';\n\nexport const LicenseContext = createContext({\n  licenseKey: '',\n  ...INVALID_LICENSE_RESULT,\n});\n\nexport function useLicense() {\n  return useContext(LicenseContext);\n}\n","import { INVALID_LICENSE_RESULT, LICENSE_PLANS, LICENSE_VALIDATE_URL } from './constants';\n\nfunction readValidFlag(payload) {\n  const explicitValid =\n    payload?.data?.isValid ??\n    payload?.data?.valid ??\n    payload?.license?.isValid ??\n    payload?.license?.valid ??\n    payload?.isValid ??\n    payload?.valid;\n\n  if (explicitValid !== undefined && explicitValid !== null) {\n    return Boolean(explicitValid);\n  }\n\n  return Boolean(payload?.data?.success ?? payload?.success);\n}\r\n\r\nfunction normalizePlan(plan) {\n  return typeof plan === 'string' ? plan.toLowerCase() : null;\n}\n\nfunction readPlan(payload) {\n  return normalizePlan(\n    payload?.plan ||\n      payload?.license?.plan ||\n      payload?.org?.plan ||\n      payload?.data?.plan ||\n      payload?.data?.license?.plan ||\n      payload?.data?.org?.plan ||\n      LICENSE_PLANS.premium\n  );\n}\n\nfunction readOrg(payload) {\n  return payload?.org || payload?.data?.org || null;\n}\n\nexport async function validateLicense(key, options = {}) {\n  const validateUrl = options.validateUrl || LICENSE_VALIDATE_URL;\n\n  if (!key) {\n    return {\n      ...INVALID_LICENSE_RESULT,\n      error: 'Missing license key.',\n    };\n  }\n\n  try {\n    const response = await fetch(validateUrl, {\n      method: 'GET',\n      headers: {\n        Authorization: `Bearer ${key}`,\n        Accept: 'application/json',\n      },\n    });\n\n    let payload = null;\n    const contentType = response.headers.get('content-type') || '';\n\n    if (contentType.includes('application/json')) {\n      payload = await response.json();\n    }\n\n    if (!response.ok || !readValidFlag(payload)) {\n      return {\n        ...INVALID_LICENSE_RESULT,\n        error: payload?.message || payload?.error || `License validation failed with status ${response.status}.`,\n      };\n    }\n\n    return {\n      isValid: true,\n      isLoading: false,\n      plan: readPlan(payload),\r\n      environment: payload?.environment || payload?.data?.environment || null,\r\n      keyPrefix: payload?.keyPrefix || payload?.data?.keyPrefix || null,\r\n      org: readOrg(payload),\r\n      requestId: payload?.request_id || payload?.requestId || null,\r\n      error: null,\r\n      payload,\n    };\n  } catch (error) {\n    const message = error instanceof Error ? error.message : 'License validation failed.';\n    const isNetworkOrCorsError =\n      message === 'Failed to fetch' ||\n      message.includes('NetworkError') ||\n      message.includes('Load failed');\n\n    return {\n      ...INVALID_LICENSE_RESULT,\n      error: isNetworkOrCorsError\n        ? `License validation request failed. In browser apps, validate through a same-origin backend or dev proxy instead of calling ${validateUrl} directly.`\n        : message,\n    };\n  }\n}\r\n\r\n\r\n\r\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { INVALID_LICENSE_RESULT, PENDING_LICENSE_RESULT } from './constants';\nimport { LicenseContext } from './LicenseContext';\nimport { validateLicense } from './validateLicense';\n\nexport function LicenseProvider({ licenseKey = '', validateUrl, children }) {\n  const [result, setResult] = useState(() => (licenseKey ? PENDING_LICENSE_RESULT : INVALID_LICENSE_RESULT));\n\n  useEffect(() => {\n    let isCurrent = true;\n\n    if (!licenseKey) {\n      setResult({\n        ...INVALID_LICENSE_RESULT,\n        error: 'Missing license key.',\n      });\n      return () => {\n        isCurrent = false;\n      };\n    }\n\n    setResult(PENDING_LICENSE_RESULT);\n\n    validateLicense(licenseKey, { validateUrl }).then((nextResult) => {\n      if (isCurrent) setResult(nextResult);\n    });\n\n    return () => {\n      isCurrent = false;\n    };\n  }, [licenseKey, validateUrl]);\n\n  const license = useMemo(\n    () => ({\n      licenseKey,\n      ...result,\n    }),\n    [licenseKey, result]\n  );\n\n  return <LicenseContext.Provider value={license}>{children}</LicenseContext.Provider>;\n}\r\n\r\n","export const LICENSE_WATERMARK_CONFIG = {\n  defaultPlan: 'licensed',\n  plans: {\n    licensed: {\n      name: 'LinkedThings Licensed Widget',\n      message: 'License required',\n      link: 'https://linkedthings.com',\n      logo: '',\n      position: 'center',\n      rotate: -12,\n      size: 'clamp(14px, 4vw, 26px)',\n      opacity: 0.28,\n    },\n    pro: {\n      name: 'LinkedThings Pro Widget',\n      message: 'Pro license required',\n      link: 'https://linkedthings.com',\n      logo: '',\n      position: 'center',\n      rotate: -12,\n      size: 'clamp(14px, 4vw, 26px)',\n      opacity: 0.3,\n    },\n  },\n};\n\n\n","import React from 'react';\nimport { useLicense } from './LicenseContext';\nimport { ALL_WIDGETS_REQUIRE_PREMIUM_LICENSE, LICENSE_PLANS, PREMIUM_WIDGET_SET } from './constants';\nimport { LICENSE_WATERMARK_CONFIG } from './watermarkConfig';\n\nconst watermarkHostStyle = {\n  position: 'relative',\n  width: '100%',\n  display: 'block',\n  boxSizing: 'border-box',\n};\nconst loaderStyle = {\n  width: '100%',\n  minHeight: 160,\n  display: 'grid',\n  placeItems: 'center',\n  padding: 18,\n  boxSizing: 'border-box',\n  color: '#0f172a',\n  fontFamily: 'Arial, sans-serif',\n};\n\nconst loaderContentStyle = {\n  display: 'inline-flex',\n  alignItems: 'center',\n  gap: 10,\n  fontSize: 13,\n  fontWeight: 800,\n};\n\nconst spinnerStyle = {\n  width: 18,\n  height: 18,\n  border: '2px solid rgba(100, 116, 139, 0.28)',\n  borderTopColor: '#0ea5e9',\n  borderRadius: '50%',\n  animation: 'iot-license-spin 0.8s linear infinite',\n};\n\nconst loaderKeyframes = '@keyframes iot-license-spin { to { transform: rotate(360deg); } }';\n\nfunction createLicensePromptId() {\n  const randomValue =\n    typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'\n      ? crypto.randomUUID()\n      : Math.random().toString(36).slice(2);\n\n  return 'iot-license-' + String(randomValue).replace(/[^a-zA-Z0-9_-]/g, '');\n}\n\nfunction getWatermarkPosition(position, rotate = -12) {\n  if (position === 'bottom-left') return { bottom: 10, left: 10 };\n  if (position === 'top-left') return { top: 10, left: 10 };\n  if (position === 'top-right') return { top: 10, right: 10 };\n  if (position === 'center') return { top: '50%', left: '50%', transform: 'translate(-50%, -50%) rotate(' + rotate + 'deg)' };\n  return { bottom: 10, right: 10 };\n}\n\nfunction getWatermarkConfig(requiredPlan) {\n  const planKey = requiredPlan === LICENSE_PLANS.pro ? LICENSE_PLANS.pro : LICENSE_WATERMARK_CONFIG.defaultPlan;\n  return LICENSE_WATERMARK_CONFIG.plans[planKey] || LICENSE_WATERMARK_CONFIG.plans[LICENSE_WATERMARK_CONFIG.defaultPlan];\n}\n\nfunction getScopedWatermarkCss(promptId, config) {\n  const position = getWatermarkPosition(config.position, config.rotate);\n  const positionCss = Object.entries(position)\n    .map(([key, value]) => `  ${key}: ${typeof value === 'number' ? `${value}px` : value} !important;`)\n    .join('\\n');\n\n  return [\n    '#' + promptId + ' {',\n    '  position: absolute !important;',\n    positionCss,\n    '  display: inline-flex !important;',\n    '  align-items: center !important;',\n    '  justify-content: center !important;',\n    '  gap: 10px !important;',\n    '  max-width: min(520px, calc(100% - 24px)) !important;',\n    '  padding: 0 !important;',\n    '  border: 0 !important;',\n    '  border-radius: 0 !important;',\n    '  background: transparent !important;',\n    '  color: rgba(15, 23, 42, 0.82) !important;',\n    '  box-shadow: none !important;',\n    '  box-sizing: border-box !important;',\n    '  font-family: Arial, sans-serif !important;',\n    '  line-height: 1.1 !important;',\n    '  opacity: ' + (config.opacity ?? 0.28) + ' !important;',\n    '  visibility: visible !important;',\n    '  pointer-events: auto !important;',\n    '  z-index: 2147483647 !important;',\n    '  backdrop-filter: none !important;',\n    '  -webkit-backdrop-filter: none !important;',\n    '  text-decoration: none !important;',\n    '  mix-blend-mode: multiply !important;',\n    '}',\n    '#' + promptId + ' img {',\n    '  width: 34px !important;',\n    '  height: 34px !important;',\n    '  object-fit: contain !important;',\n    '  flex: 0 0 auto !important;',\n    '  opacity: 0.9 !important;',\n    '}',\n    '#' + promptId + ' strong {',\n    '  display: block !important;',\n    '  margin: 0 !important;',\n    '  color: rgba(15, 23, 42, 0.82) !important;',\n    '  font-size: ' + (config.size || 'clamp(18px, 5vw, 38px)') + ' !important;',\n    '  font-weight: 950 !important;',\n    '  letter-spacing: 0.08em !important;',\n    '  text-transform: uppercase !important;',\n    '  white-space: nowrap !important;',\n    '  text-shadow: 0 1px 0 rgba(255,255,255,0.32) !important;',\n    '  -webkit-text-stroke: 1px rgba(255,255,255,0.28) !important;',\n    '}',\n    '#' + promptId + ' span {',\n    '  display: block !important;',\n    '  margin-top: 2px !important;',\n    '  color: rgba(71, 85, 105, 0.78) !important;',\n    '  font-size: clamp(10px, 2vw, 14px) !important;',\n    '  font-weight: 850 !important;',\n    '  text-align: center !important;',\n    '}',\n  ].join('\\n');\n}\nexport function LicenseValidationLoader({ className, style }) {\n  return (\n    <div className={className} style={{ ...loaderStyle, width: style?.width || loaderStyle.width, minHeight: style?.height || style?.minHeight || loaderStyle.minHeight }} role=\"status\" aria-live=\"polite\">\n      <style>{loaderKeyframes}</style>\n      <div style={loaderContentStyle}>\n        <span style={spinnerStyle} aria-hidden=\"true\" />\n        <span>loading...</span>\n      </div>\n    </div>\n  );\n}\nexport function isPremiumWidget(widgetName) {\n  return ALL_WIDGETS_REQUIRE_PREMIUM_LICENSE || PREMIUM_WIDGET_SET.has(widgetName);\n}\n\nfunction hasRequiredLicense(license, requiredPlan) {\n  if (!license.isValid) return false;\n  if (!requiredPlan) return true;\n  return license.plan === requiredPlan;\n}\n\nfunction getRequirementText(requiredPlan, config, isLoading) {\n  if (isLoading) return 'Checking license access...';\n  if (config.message) return config.message;\n  return requiredPlan === LICENSE_PLANS.pro ? 'Pro license required' : 'License required';\n}\n\nexport function LicenseWatermark({ isLoading = false, requiredPlan }) {\n  const promptId = React.useMemo(createLicensePromptId, []);\n  const config = getWatermarkConfig(requiredPlan);\n  const content = (\n    <>\n      {config.logo ? <img src={config.logo} alt=\"\" aria-hidden=\"true\" /> : null}\n      <span>\n        <strong>{config.name}</strong>\n        <span>{getRequirementText(requiredPlan, config, isLoading)}</span>\n      </span>\n    </>\n  );\n\n  const commonProps = {\n    id: promptId,\n    'aria-label': getRequirementText(requiredPlan, config, isLoading),\n    title: getRequirementText(requiredPlan, config, isLoading),\n  };\n\n  return (\n    <>\n      <style>{getScopedWatermarkCss(promptId, config)}</style>\n      {config.link ? (\n        <a {...commonProps} href={config.link} target=\"_blank\" rel=\"noreferrer\">\n          {content}\n        </a>\n      ) : (\n        <div {...commonProps}>{content}</div>\n      )}\n    </>\n  );\n}\n\nexport const PremiumLicenseFallback = LicenseWatermark;\n\nexport function PremiumLicenseGate({ widgetName, children, requiredPlan, className, style }) {\n  const license = useLicense();\n\n  if (license.isLoading) {\n    return <LicenseValidationLoader className={className} style={style} />;\n  }\n\n  if (!isPremiumWidget(widgetName) || hasRequiredLicense(license, requiredPlan)) {\n    return children;\n  }\n\n  return (\n    <div className={className} style={{ ...watermarkHostStyle, width: style?.width || watermarkHostStyle.width }}>\n      {children}\n      <LicenseWatermark isLoading={license.isLoading} requiredPlan={requiredPlan} />\n    </div>\n  );\n}\n\nexport function withPremiumLicense(Component, widgetName, options = {}) {\n  const PremiumLicensedWidget = ({ className, style, ...props } = {}) => (\n    <PremiumLicenseGate widgetName={widgetName} requiredPlan={options.requiredPlan} className={className} style={style}>\n      <Component {...props} className={className} style={style} />\n    </PremiumLicenseGate>\n  );\n\n  PremiumLicensedWidget.displayName = `PremiumLicensed${widgetName}`;\n  return PremiumLicensedWidget;\n}\n\n\n\n\n\n\n\n\n","import React from 'react';\nimport './WidgetDetailCard.css';\nimport { getTelemetryAccentColor } from './telemetryProps';\r\nimport { withPremiumLicense } from '../../licensing';\n\nconst DEFAULT_STATUS_LABELS = {\n  online: 'Online',\n  normal: 'Normal',\n  running: 'Running',\n  active: 'Active',\n  idle: 'Idle',\n  offline: 'Offline',\n  stopped: 'Stopped',\n  warning: 'Warning',\n  critical: 'Critical',\n  error: 'Error',\n  fault: 'Fault',\n};\n\nfunction joinClasses(...classes) {\n  return classes.filter(Boolean).join(' ') || undefined;\n}\n\n\nconst DEFAULT_WIDGET_ONLY_HEIGHT = 180;\n\nfunction toCssSize(value, fallback) {\n  if (value === undefined || value === null || value === '') return fallback;\n  return typeof value === 'number' ? `${value}px` : value;\n}\n\nfunction getWidgetFrameStyle({ width, height, style, fallbackHeight = DEFAULT_WIDGET_ONLY_HEIGHT }) {\n  return {\n    width: toCssSize(width ?? style?.width, '100%'),\n    height: toCssSize(height ?? style?.height, fallbackHeight),\n    maxWidth: '100%',\n    minWidth: 0,\n    minHeight: 0,\n    boxSizing: 'border-box',\n    ...style,\n  };\n}\r\nfunction normalizeDetails(details) {\n  if (!details) return null;\n  if (Array.isArray(details)) return { metrics: details };\n  if (details === true) return {};\n  return details;\n}\n\nfunction firstOptionalFinite(...values) {\n  for (const nextValue of values) {\n    const numericValue = Number(nextValue);\n    if (Number.isFinite(numericValue)) return numericValue;\n  }\n\n  return undefined;\n}\n\nfunction toTitleCase(value = '') {\n  return String(value)\n    .replace(/SVG$/, '')\n    .replace(/([a-z])([A-Z])/g, '$1 $2')\n    .replace(/[_-]+/g, ' ')\n    .trim();\n}\n\nfunction formatField(field, index) {\n  if (Array.isArray(field)) {\n    return { label: field[0] ?? `Metric ${index + 1}`, value: field[1], unit: field[2] };\n  }\n\n  if (field && typeof field === 'object') {\n    return field;\n  }\n\n  return { label: `Metric ${index + 1}`, value: field };\n}\n\nfunction normalizeFieldCollection(fields) {\n  if (!fields) return null;\n  if (Array.isArray(fields)) return fields.map(formatField);\n  if (typeof fields === 'object') {\n    return Object.entries(fields).map(([label, value]) => (value && typeof value === 'object' && !React.isValidElement(value) ? { label, ...value } : { label, value }));\n  }\n  return null;\n}\n\nfunction getDefaultMetrics({ props, details, widgetName, value }) {\n  const config = props.config || {};\n  const configuredMetrics = normalizeFieldCollection(details?.metrics || details?.fields || details?.items);\n\n  if (configuredMetrics) return configuredMetrics;\n\n  const metrics = [];\n  const unit = details?.unit || props.unit || config.unit || '%';\n  const primaryValue = firstOptionalFinite(details?.value, value, props.value, props.level, props.signal, props.strength, config.value);\n\n  if (primaryValue !== undefined) {\n    metrics.push({ label: details?.valueLabel || config.valueLabel || 'Value', value: primaryValue, unit, tone: 'primary', large: true });\n  }\n\n  if (details?.quantity !== undefined || props.quantity !== undefined || config.quantity !== undefined) {\n    metrics.push({ label: details?.quantityLabel || 'Qty', value: details?.quantity ?? props.quantity ?? config.quantity, unit: details?.quantityUnit || config.quantityUnit || '' });\n  }\n\n  if (details?.speed !== undefined || props.speed !== undefined || props.rpm !== undefined || config.speed !== undefined) {\n    metrics.push({ label: details?.speedLabel || 'Speed', value: details?.speed ?? props.speed ?? props.rpm ?? config.speed, unit: details?.speedUnit || config.speedUnit || 'rpm' });\n  }\n\n  if (details?.status || props.status || config.status) {\n    const statusValue = details?.status || props.status || config.status;\n    metrics.push({ label: details?.statusLabel || 'Status', value: DEFAULT_STATUS_LABELS[String(statusValue).toLowerCase()] || statusValue, tone: statusValue });\n  }\n\n  if (!metrics.length) metrics.push({ label: 'Widget', value: toTitleCase(widgetName) });\n  return metrics;\n}\n\nfunction formatValue(field, valueFormatter) {\n  if (!field) return '--';\n  if (typeof field.render === 'function') return field.render(field);\n  if (React.isValidElement(field.value)) return field.value;\n  if (field.value === undefined || field.value === null || field.value === '') return field.emptyText || '--';\n  if (typeof valueFormatter === 'function') return valueFormatter(field.value, field);\n  return `${field.value}${field.unit ? ` ${field.unit}` : ''}`;\n}\n\nfunction formatLastUpdate(value) {\n  if (!value) return '';\n  if (value instanceof Date) return value.toLocaleString();\n  return String(value);\n}\n\nfunction normalizeComparableText(value) {\n  return String(value || '').trim().toLowerCase();\n}\n\nfunction getComparableValue(field) {\n  if (!field || React.isValidElement(field.value) || typeof field.render === 'function') return null;\n  return [normalizeComparableText(field.label), String(field.value ?? ''), String(field.unit || '')].join('|');\n}\n\nfunction isDuplicateSummaryProgress(item, summaryMetric) {\n  if (!item || !summaryMetric) return false;\n  const itemLabel = normalizeComparableText(item.label);\n  const summaryLabel = normalizeComparableText(summaryMetric.label);\n  if (itemLabel && summaryLabel && itemLabel === summaryLabel) return true;\n\n  const itemValue = Number(item.value ?? item.percent ?? item.percentage);\n  const summaryValue = Number(summaryMetric.value);\n  return Number.isFinite(itemValue) && Number.isFinite(summaryValue) && itemValue === summaryValue;\n}\n\nfunction getWidgetImportantMetric({ props, details, widgetName, value }) {\n  const metrics = getDefaultMetrics({ props, details: details || {}, widgetName, value });\n  return details?.summary || metrics[0];\n}\n\nfunction getToneColor(tone, fallback) {\n  if (!tone) return fallback;\n  const normalized = String(tone).toLowerCase();\n  if (normalized === 'primary') return fallback;\n  return getTelemetryAccentColor({ status: normalized, fallback });\n}\n\nfunction getProgressValue(item) {\n  const value = Number(item.value ?? item.percent ?? item.percentage ?? 0);\n  if (!Number.isFinite(value)) return 0;\n  return Math.min(100, Math.max(0, value));\n}\n\nfunction buildTokens({ normalized, resolvedAccent, dark }) {\n  const customTokens = normalized.tokens || {};\n  return {\n    accent: resolvedAccent,\n    text: customTokens.text || (dark ? '#e2e8f0' : '#0f172a'),\n    muted: customTokens.muted || (dark ? '#94a3b8' : '#64748b'),\n    panel: customTokens.panel || (dark ? '#0f172a' : '#ffffff'),\n    visual: customTokens.visual || (dark ? 'radial-gradient(circle at 50% 35%, #1e293b 0%, #0f172a 100%)' : 'radial-gradient(circle at 50% 35%, #ffffff 0%, #e0f2fe 62%, #dbeafe 100%)'),\n    border: customTokens.border || (dark ? '1px solid rgba(148, 163, 184, 0.22)' : '1px solid rgba(15, 23, 42, 0.1)'),\n    shadow: customTokens.shadow || (dark ? '0 12px 28px rgba(0, 0, 0, 0.28)' : '0 10px 24px rgba(15, 23, 42, 0.1)'),\n    metricBackground: customTokens.metricBackground || (dark ? 'rgba(15, 23, 42, 0.72)' : '#f8fafc'),\n    metricBorder: customTokens.metricBorder || (dark ? '1px solid rgba(148, 163, 184, 0.18)' : '1px solid rgba(148, 163, 184, 0.22)'),\n    metricPadding: customTokens.metricPadding || '6px 7px',\n    metricRadius: customTokens.metricRadius || 7,\n    radius: customTokens.radius || 8,\n  };\n}\n\nfunction getLayoutStyles(layout, compact) {\n  if (layout === 'stacked') return { gridTemplateColumns: 'minmax(0, 1fr)', visualHeight: compact ? 160 : 190 };\n  if (layout === 'right') return { gridTemplateColumns: 'minmax(0, 40%) minmax(0, 60%)', reverse: true, visualHeight: compact ? 156 : 184 };\n  if (layout === 'inline' || layout === 'compact' || layout === 'split') return { gridTemplateColumns: 'minmax(0, 60%) minmax(0, 40%)', visualHeight: compact ? 156 : 184 };\n  return { gridTemplateColumns: 'minmax(0, 60%) minmax(0, 40%)', visualHeight: compact ? 156 : 184 };\n}\n\nfunction isDetailCardLayout(layout, normalized) {\n  return normalized.showVisual === false || ['detail-card', 'details-card', 'info-card', 'asset-card'].includes(layout);\n}\n\nfunction renderMetric(field, index, context) {\n  const { resolvedAccent, tokens, styles, classes, valueFormatter, detailCard, detailSplit } = context;\n  const toneColor = field.color || getToneColor(field.tone, resolvedAccent);\n\n  return (\n    <div\n      key={field.key || `${field.label}-${index}`}\n      className={classes.metric}\n      style={{\n        minWidth: 0,\n        minHeight: detailSplit ? 48 : detailCard ? 118 : undefined,\n        padding: field.padding || (detailSplit ? '6px 6px' : detailCard ? '20px 18px' : tokens.metricPadding),\n        borderRadius: field.radius || (detailSplit ? 8 : detailCard ? 16 : tokens.metricRadius),\n        background: field.background || (detailCard ? 'linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(239,248,255,0.72) 100%)' : tokens.metricBackground),\n        border: field.border || (detailCard ? '2px solid rgba(125, 184, 218, 0.32)' : tokens.metricBorder),\n        boxShadow: detailCard ? 'inset 0 1px 0 rgba(255,255,255,0.88)' : undefined,\n        boxSizing: 'border-box',\n        overflow: 'hidden',\n        display: detailCard ? 'grid' : undefined,\n        alignContent: detailCard ? 'center' : undefined,\n        flex: detailSplit ? '1 1 calc(50% - 3px)' : undefined,\n        ...styles.metric,\n        ...field.style,\n      }}\n    >\n      <div className={classes.metricLabel} style={{ color: field.labelColor || (detailCard ? '#40546d' : tokens.muted), fontSize: detailSplit ? 8 : detailCard ? 18 : 9, fontWeight: 900, lineHeight: 1.08, letterSpacing: 0, textTransform: 'uppercase', textAlign: detailCard ? 'center' : undefined, overflow: 'hidden', overflowWrap: 'anywhere', whiteSpace: detailSplit ? 'normal' : 'nowrap', display: detailSplit ? '-webkit-box' : undefined, WebkitLineClamp: detailSplit ? 2 : undefined, WebkitBoxOrient: detailSplit ? 'vertical' : undefined, textOverflow: detailSplit ? undefined : 'ellipsis', textShadow: detailCard ? '0 1px 0 rgba(255,255,255,0.9)' : undefined, ...styles.metricLabel }}>\n        {field.label}\n      </div>\n      <div className={classes.metricValue} style={{ color: field.color || (detailCard ? resolvedAccent : toneColor || tokens.text), fontSize: detailSplit ? 12.5 : detailCard ? 34 : field.large ? 14 : 12, fontWeight: 950, lineHeight: 1.05, marginTop: detailSplit ? 3 : detailCard ? 14 : 3, overflow: 'hidden', overflowWrap: 'anywhere', wordBreak: 'break-word', whiteSpace: detailSplit ? 'normal' : 'nowrap', textOverflow: detailSplit ? undefined : 'ellipsis', textAlign: detailCard ? 'center' : undefined, textShadow: detailCard ? '0 1px 0 rgba(255,255,255,0.9)' : undefined, ...styles.metricValue }}>\n        {formatValue(field, valueFormatter)}\n      </div>\n    </div>\n  );\n}\n\nfunction renderProgress(item, index, context) {\n  const { classes, styles, tokens, resolvedAccent } = context;\n  const value = getProgressValue(item);\n  const color = item.color || resolvedAccent;\n\n  return (\n    <div key={item.key || `${item.label}-${index}`} className={classes.progressItem} style={{ minWidth: 0, ...styles.progressItem, ...item.style }}>\n      <div style={{ display: 'flex', justifyContent: 'space-between', gap: 8, color: tokens.muted, fontSize: 10, fontWeight: 800, lineHeight: 1.1, ...styles.progressHeader }}>\n        <span>{item.label}</span>\n        <span>{item.displayValue ?? `${Math.round(value)}%`}</span>\n      </div>\n      <div className={classes.progressTrack} style={{ height: item.height || 6, marginTop: 4, borderRadius: 999, background: item.trackColor || (context.dark ? '#334155' : '#e2e8f0'), overflow: 'hidden', ...styles.progressTrack }}>\n        <div className={classes.progressBar} style={{ width: `${value}%`, height: '100%', borderRadius: 999, background: color, transition: 'width 500ms ease', ...styles.progressBar }} />\n      </div>\n    </div>\n  );\n}\n\nfunction renderSection(section, index, context) {\n  const { classes, styles, tokens } = context;\n  const rows = normalizeFieldCollection(section.rows || section.fields || section.metrics) || [];\n\n  return (\n    <div key={section.key || section.title || index} className={classes.section} style={{ minWidth: 0, paddingTop: index ? 8 : 0, ...styles.section, ...section.style }}>\n      {section.title ? <div className={classes.sectionTitle} style={{ color: tokens.text, fontSize: 11, fontWeight: 850, marginBottom: 6, ...styles.sectionTitle }}>{section.title}</div> : null}\n      <div style={{ display: 'grid', gridTemplateColumns: section.columns || 'repeat(2, minmax(0, 1fr))', gap: 6, ...styles.sectionGrid }}>\n        {rows.map((field, fieldIndex) => renderMetric(field, fieldIndex, context))}\n      </div>\n    </div>\n  );\n}\n\nexport function WidgetDetailCard({ children, widgetName = 'Widget', value, accentColor, status, config, details, className, style, widgetProps = {} }) {\n  const normalized = normalizeDetails(details);\n  if (!normalized) return children;\n\n  const widgetLabel = toTitleCase(widgetName);\n  const label = normalized.label || normalized.title || config?.label || widgetLabel;\n  const subtitle = normalized.subtitle || normalized.description || config?.subtitle || config?.deviceName || 'Live telemetry';\n  const density = normalized.density || 'compact';\n  const layout = normalized.layout || normalized.orientation || 'split';\n  const compact = density !== 'comfortable' || layout === 'compact' || layout === 'inline' || layout === 'split';\n  const detailCard = isDetailCardLayout(layout, normalized);\n  const showVisual = normalized.showVisual ?? true;\n  const detailSplit = detailCard && showVisual;\n  const dark = normalized.theme === 'dark' || normalized.variant === 'dark' || widgetProps.theme === 'dark' || widgetProps.variant === 'dark';\n  const resolvedAccent = normalized.accentColor || accentColor || config?.color || getTelemetryAccentColor({ status, fallback: '#0ea5e9' });\n  const tokens = buildTokens({ normalized, resolvedAccent, dark });\n  const layoutStyles = getLayoutStyles(layout, compact);\n  const styles = normalized.styles || {};\n  const classes = normalized.classNames || {};\n  const metrics = getDefaultMetrics({ props: { ...widgetProps, value, status, config, quantity: normalized.quantity ?? widgetProps.quantity, speed: normalized.speed ?? widgetProps.speed }, details: normalized, widgetName, value });\n  const summaryMetric = normalized.summary || metrics[0];\n  const showSummary = normalized.showSummary ?? !detailCard;\n  const summaryKey = getComparableValue(summaryMetric);\n  const detailMetrics = summaryKey && normalized.dedupeSummaryMetric !== false ? metrics.filter((metric) => getComparableValue(metric) !== summaryKey) : metrics;\n  const maxVisibleMetrics = normalized.maxVisibleMetrics ?? (detailCard ? 3 : compact ? 2 : 4);\n  const visibleMetrics = showSummary === false ? metrics.slice(0, maxVisibleMetrics) : detailMetrics.slice(0, maxVisibleMetrics);\n  const progressItems = Array.isArray(normalized.progress) ? normalized.progress : normalized.progress ? [normalized.progress] : [];\n  const progress = normalized.dedupeSummaryProgress === false ? progressItems : progressItems.filter((item) => !isDuplicateSummaryProgress(item, summaryMetric));\n  const sections = normalized.showSections || normalized.expanded ? (Array.isArray(normalized.sections) ? normalized.sections : []) : [];\n  const lastUpdate = formatLastUpdate(normalized.lastUpdate ?? normalized.lastUpdated ?? widgetProps.lastUpdate ?? widgetProps.lastUpdated ?? config?.lastUpdate ?? config?.lastUpdated);\n  const footerText = normalized.footer || '';\n  const context = { classes, styles, tokens, resolvedAccent, valueFormatter: normalized.valueFormatter, dark, detailCard, detailSplit };\n\n  const visual = (\n    <div\n      className={joinClasses('iot-pro-widget__visual', classes.visual)}\n      style={{\n        minWidth: 0,\n        '--iot-pro-visual-height': (normalized.visualHeight || (detailSplit ? 240 : detailCard ? 150 : layoutStyles.visualHeight)) + 'px',\n        display: 'flex',\n        alignItems: 'center',\n        justifyContent: 'center',\n        borderRadius: normalized.visualRadius || tokens.radius,\n        background: normalized.visualBackground || tokens.visual,\n        boxShadow: normalized.visualShadow || 'inset 0 0 0 1px rgba(14, 165, 233, 0.16)',\n        overflow: 'hidden',\n        ...styles.visual,\n      }}\n    >\n      <div className=\"iot-pro-widget__visualInner\" style={{ display: 'grid', placeItems: 'center' }}>\n        {typeof normalized.renderVisual === 'function' ? normalized.renderVisual({ children, widgetProps, details: normalized }) : children}\n      </div>\n    </div>\n  );\n\n  const content = (\n    <div className={joinClasses('iot-pro-widget__content', classes.content)} style={{ display: 'grid', alignContent: 'start', gap: detailSplit ? 8 : detailCard ? 16 : compact ? 7 : 10, minWidth: 0, overflow: 'hidden', ...styles.content }}>\n      <div className={classes.header} style={{ display: 'flex',flexDirection: 'column', gridTemplateColumns: showSummary === false ? 'minmax(0, 1fr)' : 'minmax(0, 1fr) minmax(76px, 96px)', gap: detailSplit ? 8 : detailCard ? 12 : 8, alignItems: 'start', minWidth: 0, overflow: 'hidden', ...styles.header }}>\n        <div style={{ minWidth: 0, display: 'grid', gap: 3 }}>\n          <div style={{ display: 'flex', alignItems: 'flex-start', gap: 7, minWidth: 0 }}>\n            {normalized.showStatusDot === false ? null : <span className={classes.statusDot} style={{ width: detailSplit ? 10 : detailCard ? 26 : 8, height: detailSplit ? 10 : detailCard ? 26 : 8, marginTop: detailSplit ? 2 : 3, borderRadius: 999, background: resolvedAccent, boxShadow: detailSplit ? `0 0 0 3px ${resolvedAccent}22` : detailCard ? `0 0 0 7px ${resolvedAccent}22` : `0 0 0 3px ${resolvedAccent}24`, flex: '0 0 auto', ...styles.statusDot }} />}\n            <h3 className={classes.title} style={{ margin: 0, minWidth: 0, fontSize: detailSplit ? 16 : detailCard ? 28 : compact ? 12 : 14, lineHeight: detailSplit ? 1.12 : detailCard ? 1.08 : 1.16, fontWeight: 900, color: tokens.text, overflow: 'hidden', overflowWrap: 'anywhere', whiteSpace: 'normal', display: '-webkit-box', WebkitLineClamp: normalized.titleLines || (detailCard ? (detailSplit ? 2 : 3) : 2), WebkitBoxOrient: 'vertical', ...styles.title }}>\n              {label}\n            </h3>\n          </div>\n          {subtitle ? <p className={classes.subtitle} style={{ margin: detailSplit ? '4px 0 0 17px' : detailCard ? '8px 0 0 33px' : 0, color: tokens.muted, fontSize: detailSplit ? 10.5 : detailCard ? 18 : 10, fontWeight: detailSplit ? 700 : detailCard ? 500 : 700, lineHeight: detailSplit ? 1.22 : detailCard ? 1.35 : 1.2, overflow: 'hidden', overflowWrap: 'anywhere', wordBreak: 'break-word', whiteSpace: 'normal', display: '-webkit-box', WebkitLineClamp: normalized.subtitleLines || (detailCard ? (detailSplit ? 3 : 3) : 2), WebkitBoxOrient: 'vertical', ...styles.subtitle }}>{subtitle}</p> : null}\n          {lastUpdate ? <p className={classes.lastUpdate} style={{ margin: detailSplit ? '6px 0 0 17px' : detailCard ? '12px 0 0 33px' : 0, color: tokens.muted, fontSize: detailSplit ? 9.5 : detailCard ? 16 : 9.5, fontWeight: detailCard ? 500 : 800, lineHeight: 1.22, overflow: 'hidden', overflowWrap: 'anywhere', wordBreak: 'break-word', whiteSpace: 'normal', display: detailSplit ? '-webkit-box' : undefined, WebkitLineClamp: detailSplit ? 2 : undefined, WebkitBoxOrient: detailSplit ? 'vertical' : undefined, ...styles.lastUpdate }}><strong style={{ color: tokens.muted, fontWeight: 850 }}>Last update:</strong> {lastUpdate}</p> : null}\n        </div>\n        {showSummary === false ? null : (\n          <div className={classes.summary} style={{  minWidth: 0, width: '100%', padding: '5px 7px', borderRadius: 8, background: `${resolvedAccent}12`, border: `1px solid ${resolvedAccent}30`, textAlign: 'right', overflow: 'hidden', boxSizing: 'border-box', ...styles.summary }}>\n             {normalized.badge || normalized.badges ? (\n        <div className={classes.badges} style={{ display: 'flex', flexWrap: 'wrap', gap: detailSplit ? 5 : detailCard ? 8 : 5, marginLeft: detailSplit ? 17 : detailCard ? 33 : 0, ...styles.badges }}>\n          {(Array.isArray(normalized.badges) ? normalized.badges : [normalized.badge]).filter(Boolean).map((badge, index) => {\n            const nextBadge = typeof badge === 'object' ? badge : { label: badge };\n            return <span key={nextBadge.key || nextBadge.label || index} className={classes.badge} style={{ padding: detailSplit ? '4px 8px' : detailCard ? '7px 18px' : '3px 6px', borderRadius: 999, background: nextBadge.background || `${resolvedAccent}18`, color: nextBadge.color || resolvedAccent, fontSize: detailSplit ? 10 : detailCard ? 18 : 9.5, fontWeight: 850, lineHeight: 1.1, ...styles.badge, ...nextBadge.style }}>{nextBadge.label}</span>;\n          })}\n        </div>\n      ) : null}\n            <div style={{ color: tokens.muted, fontSize: 8.5, fontWeight: 850, lineHeight: 1, textTransform: 'uppercase', ...styles.summaryLabel }}>{summaryMetric?.label || 'Value'}</div>\n            <div style={{ color: summaryMetric?.color || getToneColor(summaryMetric?.tone, resolvedAccent), fontSize: compact ? 14 : 17, fontWeight: 900, lineHeight: 1.1, marginTop: 2, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', ...styles.summaryValue }}>\n              {formatValue(summaryMetric, normalized.valueFormatter)}\n            </div>\n          </div>\n        )}\n      </div>\n\n     \n\n      {visibleMetrics.length ? <div className={classes.metrics} style={{ display: detailSplit ? 'flex' : 'grid', flexWrap: detailSplit ? 'wrap' : undefined, alignItems: detailSplit ? 'stretch' : undefined, gridTemplateColumns: detailSplit ? undefined : normalized.metricColumns || (detailCard ? 'repeat(3, minmax(0, 1fr))' : 'repeat(2, minmax(0, 1fr))'), gap: detailSplit ? 5 : detailCard ? 12 : 6, minWidth: 0, ...styles.metrics }}>{visibleMetrics.map((field, index) => renderMetric(field, index, context))}</div> : null}\n      {progress.length ? <div className={classes.progress} style={{ display: 'grid', gap: 6, ...styles.progress }}>{progress.slice(0, normalized.maxProgressItems ?? 1).map((item, index) => renderProgress(item, index, context))}</div> : null}\n      {sections.length ? <div className={classes.sections} style={{ display: 'grid', gap: 8, ...styles.sections }}>{sections.map((section, index) => renderSection(section, index, context))}</div> : null}\n      {typeof normalized.renderDetails === 'function' ? normalized.renderDetails({ metrics: detailMetrics, allMetrics: metrics, summaryMetric, widgetProps, details: normalized, tokens }) : normalized.children || null}\n      {footerText || normalized.actions ? <div className={classes.footer} style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 8, color: tokens.muted, fontSize: 10, fontWeight: 700, ...styles.footer }}><span>{footerText}</span>{normalized.actions ? <div className={classes.actions} style={{ display: 'flex', gap: 6, ...styles.actions }}>{normalized.actions}</div> : null}</div> : null}\n    </div>\n  );\n\n  return (\n    <section\n      className={joinClasses('iot-pro-widget', className || normalized.className || classes.root)}\n      style={{\n        width: normalized.width || '100%',\n        '--iot-pro-min-width': (normalized.minWidth || (detailCard ? 360 : compact ? 340 : 420)) + 'px',\n        '--iot-pro-min-height': (normalized.minHeight || (detailSplit ? 290 : detailCard ? 360 : compact ? 178 : 210)) + 'px',\n        '--iot-pro-grid': detailSplit ? normalized.gridTemplateColumns || 'minmax(0, 60%) minmax(0, 40%)' : detailCard ? 'minmax(0, 1fr)' : normalized.gridTemplateColumns || layoutStyles.gridTemplateColumns,\n        '--iot-pro-mobile-min-height': (normalized.mobileMinHeight || 300) + 'px',\n        gap: normalized.gap || (detailSplit ? 12 : detailCard ? 0 : compact ? 10 : 14),\n        alignItems: normalized.alignItems || (detailCard ? 'stretch' : 'center'),\n        padding: normalized.padding || (detailSplit ? 12 : detailCard ? 24 : compact ? 10 : 12),\n        borderRadius: normalized.radius || (detailCard ? 22 : tokens.radius),\n        background: normalized.background || tokens.panel,\n        border: normalized.border || tokens.border,\n        boxShadow: normalized.shadow || tokens.shadow,\n        boxSizing: 'border-box',\n        color: tokens.text,\n        fontFamily: normalized.fontFamily || 'Arial, sans-serif',\n        overflow: 'hidden',\n        ...style,\n        ...normalized.style,\n      }}\n      role=\"group\"\n      aria-label={label}\n      data-widget={widgetName}\n      data-layout={layout}\n      data-density={density}\n      data-theme={dark ? 'dark' : normalized.theme || widgetProps.theme}\n      data-status={status || config?.status}\n    >\n      {detailCard ? (showVisual ? visual : null) : layoutStyles.reverse ? content : visual}\n      {detailCard ? content : layoutStyles.reverse ? visual : content}\n    </section>\n  );\n}\n\nexport const ProWidgetShell = WidgetDetailCard;\n\nexport function withWidgetDetails(Component, widgetName) {\n  const DetailedWidget = ({ details, detail, pro, label, title, subtitle, lastUpdate, lastUpdated, showCard, showDetails, cardMode, showWidgetValue, widgetValueLabel, widgetValueClassName, widgetValueStyle, className, style, cardClassName, cardStyle, visualClassName, visualStyle, ...props } = {}) => {\n    const normalizedDetails = normalizeDetails(details ?? detail ?? pro);\n    const explicitMode = cardMode;\n    const shouldShowCard =\n      explicitMode === 'widget' || explicitMode === 'visual' || explicitMode === 'svg'\n        ? false\n        : explicitMode === 'card' || explicitMode === 'detail' || explicitMode === 'details'\n          ? true\n          : showCard ?? showDetails ?? Boolean(normalizedDetails);\n    const nextDetails = normalizedDetails\n      ? {\n          ...normalizedDetails,\n          label: label || title || normalizedDetails.label || normalizedDetails.title,\n          subtitle: subtitle || normalizedDetails.subtitle,\n          lastUpdate: lastUpdate ?? lastUpdated ?? normalizedDetails.lastUpdate ?? normalizedDetails.lastUpdated,\n        }\n      : shouldShowCard\n        ? { label: label || title, subtitle, lastUpdate: lastUpdate ?? lastUpdated }\n        : null;\n\n    const visualFrameStyle = getWidgetFrameStyle({\n      width: props.width,\n      height: props.height,\n      style: shouldShowCard ? visualStyle : style,\n      fallbackHeight: shouldShowCard ? '100%' : DEFAULT_WIDGET_ONLY_HEIGHT,\n    });\n    const visual = (\n      <div\n        className={joinClasses('iot-widget-frame', shouldShowCard ? visualClassName : className)}\n        style={visualFrameStyle}\n      >\n        <Component {...props} width=\"100%\" height=\"100%\" className=\"iot-widget-frame__svg\" style={shouldShowCard ? undefined : style} />\n      </div>\n    );\n    const importantMetric = getWidgetImportantMetric({ props: { ...props, lastUpdate, lastUpdated }, details: nextDetails, widgetName, value: props.value });\n    const showWidgetValueBadge = !shouldShowCard && showWidgetValue !== false && importantMetric?.value !== undefined && importantMetric?.value !== null && importantMetric?.value !== '';\n\n    if (!shouldShowCard) {\n      return showWidgetValueBadge ? (\n        <div className={joinClasses('iot-widget-only', widgetValueClassName)} style={{ ...getWidgetFrameStyle({ width: props.width, height: props.height, style: widgetValueStyle }), position: 'relative', display: 'inline-grid' }}>\n          {visual}\n          <div className=\"iot-widget-only__value\" aria-label={widgetValueLabel || importantMetric.label || 'Value'}>\n            <span>{widgetValueLabel || importantMetric.label || 'Value'}</span>\n            <strong>{formatValue(importantMetric, nextDetails?.valueFormatter)}</strong>\n          </div>\n        </div>\n      ) : visual;\n    }\n\n    return (\n      <WidgetDetailCard\n        widgetName={widgetName}\n        value={props.value}\n        accentColor={props.accentColor}\n        status={props.status}\n        config={props.config}\n        details={shouldShowCard ? nextDetails : null}\n        widgetProps={{ ...props, lastUpdate, lastUpdated }}\n        className={shouldShowCard ? cardClassName || className : undefined}\n        style={shouldShowCard ? cardStyle || style : undefined}\n      >\n        {visual}\n      </WidgetDetailCard>\n    );\n  };\n\n  DetailedWidget.displayName = `Detailed${widgetName}`;\n  return withPremiumLicense(DetailedWidget, widgetName);\n}\r\n\r\n\r\n\r\n","export function cx(...classes) {\n  return classes.filter(Boolean).join(' ');\n}\n","import React, { useId } from 'react';\nimport styles from './SvgWrapper.module.css';\nimport { cx } from '../utils/classNames';\n\nexport function SvgWrapper({\n  width = 160,\n  height = 160,\n  viewBox,\n  title,\n  description,\n  className,\n  children,\n  role = 'img',\n  preserveAspectRatio = 'xMidYMid meet',\n  ...svgProps\n}) {\n  const generatedId = useId().replace(/:/g, '');\n  const baseId = svgProps.id || `iot-svg-${generatedId}`;\n  const titleId = title ? `${baseId}-title` : undefined;\n  const descriptionId = description\n    ? `${baseId}-description`\n    : undefined;\n  const labelledBy = [titleId, descriptionId].filter(Boolean).join(' ') || undefined;\n\n  return (\n    <svg\n      className={cx(styles.svg, className)}\n      width={width}\n      height={height}\n      viewBox={viewBox}\n      role={role}\n      aria-hidden={title ? undefined : true}\n      aria-labelledby={labelledBy}\n      focusable=\"false\"\n      preserveAspectRatio={preserveAspectRatio}\n      {...svgProps}\n    >\n      {title ? <title id={titleId}>{title}</title> : null}\n      {description ? <desc id={descriptionId}>{description}</desc> : null}\n      {children}\n    </svg>\n  );\n}\n","export const STATUS_COLORS = {\n  normal: 'var(--iot-svg-color-normal)',\n  warning: 'var(--iot-svg-color-warning)',\n  critical: 'var(--iot-svg-color-critical)',\n};\n\nexport const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n","import { STATUS_COLORS } from './constants';\n\nexport const DEFAULT_THRESHOLDS = {\n  warning: 70,\n  critical: 90,\n};\n\nexport function normalizeThresholds(thresholds = DEFAULT_THRESHOLDS) {\n  return {\n    warning: Number.isFinite(thresholds.warning)\n      ? thresholds.warning\n      : DEFAULT_THRESHOLDS.warning,\n    critical: Number.isFinite(thresholds.critical)\n      ? thresholds.critical\n      : DEFAULT_THRESHOLDS.critical,\n    invert: Boolean(thresholds.invert),\n  };\n}\n\nexport function getStatus(value, thresholds = DEFAULT_THRESHOLDS, mode = 'high') {\n  const normalized = normalizeThresholds(thresholds);\n  const resolvedMode = normalized.invert ? 'low' : mode;\n\n  if (resolvedMode === 'low') {\n    if (value <= normalized.critical) return 'critical';\n    if (value <= normalized.warning) return 'warning';\n    return 'normal';\n  }\n\n  if (value >= normalized.critical) return 'critical';\n  if (value >= normalized.warning) return 'warning';\n  return 'normal';\n}\n\nexport function getStatusColor(\n  value,\n  thresholds = DEFAULT_THRESHOLDS,\n  mode = 'high',\n  colors = STATUS_COLORS,\n) {\n  return colors[getStatus(value, thresholds, mode)] || colors.normal;\n}\n\nexport function getStatusLabel(value, thresholds = DEFAULT_THRESHOLDS, mode = 'high') {\n  return getStatus(value, thresholds, mode).toUpperCase();\n}\n","export function toFiniteNumber(value, fallback = 0) {\n  const numberValue = Number(value);\n  return Number.isFinite(numberValue) ? numberValue : fallback;\n}\n\nexport function withDefaultUnit(unit, fallback = '%') {\n  return typeof unit === 'string' && unit.trim() ? unit : fallback;\n}\n","export const TEMPERATURE_VIEWBOX = '0 0 180 240';\nexport const DEFAULT_TEMPERATURE_PROPS = {\n  min: 0,\n  max: 100,\n  unit: 'C',\n  showValue: true,\n  animated: false,\n  thresholds: {\n    warning: 60,\n    critical: 85,\n  },\n};\n\nexport const TEMPERATURE_GEOMETRY = {\n  tubeX: 76,\n  tubeY: 38,\n  tubeWidth: 28,\n  tubeHeight: 124,\n  tubeRadius: 14,\n  bulbCx: 90,\n  bulbCy: 170,\n  bulbRadius: 34,\n};\n","export function clamp(value, min, max) {\n  if (!Number.isFinite(value)) {\n    return min;\n  }\n\n  return Math.min(Math.max(value, min), max);\n}\n\nexport function getPercentage(value, min = 0, max = 100) {\n  if (max === min) {\n    return 0;\n  }\n\n  return clamp(((value - min) / (max - min)) * 100, 0, 100);\n}\n\nexport function scaleToRange(value, inputMin, inputMax, outputMin, outputMax) {\n  const percentage = getPercentage(value, inputMin, inputMax) / 100;\n  return outputMin + (outputMax - outputMin) * percentage;\n}\n\nexport function polarToCartesian(centerX, centerY, radius, angleInDegrees) {\n  const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180;\n\n  return {\n    x: centerX + radius * Math.cos(angleInRadians),\n    y: centerY + radius * Math.sin(angleInRadians),\n  };\n}\n\nexport function describeArc(centerX, centerY, radius, startAngle, endAngle) {\n  const start = polarToCartesian(centerX, centerY, radius, endAngle);\n  const end = polarToCartesian(centerX, centerY, radius, startAngle);\n  const largeArcFlag = endAngle - startAngle <= 180 ? '0' : '1';\n\n  return [\n    'M',\n    start.x,\n    start.y,\n    'A',\n    radius,\n    radius,\n    0,\n    largeArcFlag,\n    0,\n    end.x,\n    end.y,\n  ].join(' ');\n}\n","import { getPercentage } from '../../../core/calculations';\nimport { getStatus } from '../../../core/thresholds';\n\nexport function getTemperatureFillHeight(value, min, max, tubeHeight) {\n  return (getPercentage(value, min, max) / 100) * tubeHeight;\n}\n\nexport function getTemperatureFillY(value, min, max, tubeY, tubeHeight) {\n  return tubeY + tubeHeight - getTemperatureFillHeight(value, min, max, tubeHeight);\n}\n\nexport function getTemperatureStatus(value, thresholds) {\n  return getStatus(value, thresholds);\n}\n","import React, { useId } from 'react';\nimport { SvgWrapper } from '../../../core/SvgWrapper';\nimport { getStatusColor, getStatusLabel } from '../../../core/thresholds';\nimport { cx } from '../../../utils/classNames';\nimport { toFiniteNumber, withDefaultUnit } from '../../../utils/validators';\nimport {\n  DEFAULT_TEMPERATURE_PROPS,\n  TEMPERATURE_GEOMETRY,\n  TEMPERATURE_VIEWBOX,\n} from './constants';\nimport { getTemperatureFillHeight, getTemperatureFillY } from './helpers';\nimport styles from './TemperatureSVG.module.css';\n\nexport function TemperatureSVG({\n  value = 0,\n  min = DEFAULT_TEMPERATURE_PROPS.min,\n  max = DEFAULT_TEMPERATURE_PROPS.max,\n  unit = DEFAULT_TEMPERATURE_PROPS.unit,\n  thresholds = DEFAULT_TEMPERATURE_PROPS.thresholds,\n  showValue = DEFAULT_TEMPERATURE_PROPS.showValue,\n  animated = DEFAULT_TEMPERATURE_PROPS.animated,\n  width = 190,\n  height = 250,\n  className,\n  title = 'Temperature reading',\n  style,\n  ...svgProps\n}) {\n  const generatedId = useId().replace(/:/g, '');\n  const clipId = `temperature-clip-${generatedId}`;\n  const fillGradientId = `temperature-fill-${generatedId}`;\n  const shellGradientId = `temperature-shell-${generatedId}`;\n  const shadowId = `temperature-shadow-${generatedId}`;\n  const numericValue = toFiniteNumber(value);\n  const fillHeight = getTemperatureFillHeight(\n    numericValue,\n    min,\n    max,\n    TEMPERATURE_GEOMETRY.tubeHeight,\n  );\n  const fillY = getTemperatureFillY(\n    numericValue,\n    min,\n    max,\n    TEMPERATURE_GEOMETRY.tubeY,\n    TEMPERATURE_GEOMETRY.tubeHeight,\n  );\n  const statusColor = getStatusColor(numericValue, thresholds);\n  const statusLabel = getStatusLabel(numericValue, thresholds);\n  const displayUnit = withDefaultUnit(unit, 'C');\n\n  return (\n    <SvgWrapper\n      className={cx(styles.root, animated && styles.animated, className)}\n      width={width}\n      height={height}\n      viewBox={TEMPERATURE_VIEWBOX}\n      title={title}\n      description={`${numericValue}${displayUnit} temperature visualization`}\n      style={style}\n      {...svgProps}\n    >\n      <defs>\n        <linearGradient id={shellGradientId} x1=\"0\" x2=\"1\" y1=\"0\" y2=\"1\">\n          <stop offset=\"0%\" stopColor=\"#ffffff\" />\n          <stop offset=\"52%\" stopColor=\"#f8fafc\" />\n          <stop offset=\"100%\" stopColor=\"#e2e8f0\" />\n        </linearGradient>\n        <linearGradient id={fillGradientId} x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n          <stop offset=\"0%\" stopColor=\"#ffffff\" stopOpacity=\"0.38\" />\n          <stop offset=\"18%\" stopColor={statusColor} stopOpacity=\"0.92\" />\n          <stop offset=\"100%\" stopColor={statusColor} />\n        </linearGradient>\n        <filter id={shadowId} x=\"-20%\" y=\"-15%\" width=\"140%\" height=\"135%\">\n          <feDropShadow dx=\"0\" dy=\"8\" stdDeviation=\"8\" floodColor=\"#0f172a\" floodOpacity=\"0.14\" />\n        </filter>\n        <clipPath id={clipId}>\n          <rect\n            x={TEMPERATURE_GEOMETRY.tubeX + 6}\n            y={TEMPERATURE_GEOMETRY.tubeY + 7}\n            width={TEMPERATURE_GEOMETRY.tubeWidth - 12}\n            height={TEMPERATURE_GEOMETRY.tubeHeight - 6}\n            rx=\"8\"\n          />\n        </clipPath>\n      </defs>\n\n      <g filter={`url(#${shadowId})`}>\n        <path\n          className={styles.shell}\n          fill={`url(#${shellGradientId})`}\n          d=\"M72 35a18 18 0 0 1 36 0v99.5a45 45 0 1 1-36 0V35Z\"\n        />\n      </g>\n      <rect\n        className={styles.tubeGlass}\n        x={TEMPERATURE_GEOMETRY.tubeX}\n        y={TEMPERATURE_GEOMETRY.tubeY}\n        width={TEMPERATURE_GEOMETRY.tubeWidth}\n        height={TEMPERATURE_GEOMETRY.tubeHeight}\n        rx={TEMPERATURE_GEOMETRY.tubeRadius}\n      />\n      <rect\n        className={styles.tubeTrack}\n        x={TEMPERATURE_GEOMETRY.tubeX + 6}\n        y={TEMPERATURE_GEOMETRY.tubeY + 7}\n        width={TEMPERATURE_GEOMETRY.tubeWidth - 12}\n        height={TEMPERATURE_GEOMETRY.tubeHeight - 6}\n        rx=\"8\"\n      />\n      <rect\n        className={styles.liquid}\n        x={TEMPERATURE_GEOMETRY.tubeX + 6}\n        y={fillY}\n        width={TEMPERATURE_GEOMETRY.tubeWidth - 12}\n        height={fillHeight}\n        rx=\"8\"\n        fill={`url(#${fillGradientId})`}\n        clipPath={`url(#${clipId})`}\n      />\n      <rect className={styles.tubeHighlight} x=\"83\" y=\"48\" width=\"5\" height=\"74\" rx=\"3\" />\n      <circle\n        className={styles.bulbOuter}\n        cx={TEMPERATURE_GEOMETRY.bulbCx}\n        cy={TEMPERATURE_GEOMETRY.bulbCy}\n        r={TEMPERATURE_GEOMETRY.bulbRadius}\n      />\n      <circle\n        className={styles.bulbLiquid}\n        cx={TEMPERATURE_GEOMETRY.bulbCx}\n        cy={TEMPERATURE_GEOMETRY.bulbCy}\n        r=\"25\"\n        fill={`url(#${fillGradientId})`}\n      />\n      <ellipse className={styles.bulbHighlight} cx=\"80\" cy=\"158\" rx=\"8\" ry=\"12\" />\n      <line className={styles.tick} x1=\"113\" y1=\"54\" x2=\"126\" y2=\"54\" />\n      <line className={styles.tick} x1=\"113\" y1=\"84\" x2=\"123\" y2=\"84\" />\n      <line className={styles.tick} x1=\"113\" y1=\"114\" x2=\"126\" y2=\"114\" />\n\n      {showValue ? (\n        <>\n          <rect className={styles.statusPill} x=\"48\" y=\"210\" width=\"84\" height=\"20\" rx=\"10\" />\n          <text className={styles.label} x=\"90\" y=\"79\">\n            {Math.round(numericValue)}\n          </text>\n          <text className={styles.unit} x=\"90\" y=\"96\">\n            {displayUnit}\n          </text>\n          <text className={styles.status} x=\"90\" y=\"224\">\n            {statusLabel}\n          </text>\n        </>\n      ) : null}\n    </SvgWrapper>\n  );\n}\n\r\n","export const BATTERY_VIEWBOX = '0 0 280 150';\nexport const DEFAULT_BATTERY_PROPS = {\n  min: 0,\n  max: 100,\n  unit: '%',\n  animated: false,\n  showPercentage: true,\n  thresholds: {\n    warning: 30,\n    critical: 15,\n  },\n};\n\nexport const BATTERY_GEOMETRY = {\n  shellX: 24,\n  shellY: 42,\n  shellWidth: 204,\n  shellHeight: 62,\n  terminalX: 232,\n  terminalY: 60,\n  terminalWidth: 20,\n  terminalHeight: 26,\n  innerX: 36,\n  innerY: 54,\n  innerWidth: 180,\n  innerHeight: 38,\n  segmentGap: 6,\n  segmentCount: 5,\n};\n","import { getPercentage } from '../../../core/calculations';\nimport { getStatus } from '../../../core/thresholds';\n\nexport function getBatteryFillWidth(value, min, max, availableWidth) {\n  return (getPercentage(value, min, max) / 100) * availableWidth;\n}\n\nexport function getBatterySegments(segmentCount, innerWidth, gap) {\n  const segmentWidth = (innerWidth - gap * (segmentCount - 1)) / segmentCount;\n\n  return Array.from({ length: segmentCount }, (_, index) => ({\n    xOffset: index * (segmentWidth + gap),\n    width: segmentWidth,\n  }));\n}\n\nexport function getBatteryStatus(value, thresholds) {\n  return getStatus(value, thresholds, 'low');\n}\n","import React, { useId } from 'react';\nimport { SvgWrapper } from '../../../core/SvgWrapper';\nimport { getStatusColor, getStatusLabel } from '../../../core/thresholds';\nimport { cx } from '../../../utils/classNames';\nimport { toFiniteNumber, withDefaultUnit } from '../../../utils/validators';\nimport { BATTERY_GEOMETRY, BATTERY_VIEWBOX, DEFAULT_BATTERY_PROPS } from './constants';\nimport { getBatteryFillWidth, getBatterySegments } from './helpers';\nimport styles from './BatterySVG.module.css';\n\nexport function BatterySVG({\n  value = 0,\n  min = DEFAULT_BATTERY_PROPS.min,\n  max = DEFAULT_BATTERY_PROPS.max,\n  unit = DEFAULT_BATTERY_PROPS.unit,\n  animated = DEFAULT_BATTERY_PROPS.animated,\n  showPercentage = DEFAULT_BATTERY_PROPS.showPercentage,\n  thresholds = DEFAULT_BATTERY_PROPS.thresholds,\n  width = 300,\n  height = 170,\n  className,\n  title = 'Battery level',\n  style,\n  ...svgProps\n}) {\n  const generatedId = useId().replace(/:/g, '');\n  const fillClipId = `battery-fill-clip-${generatedId}`;\n  const shellGradientId = `battery-shell-${generatedId}`;\n  const terminalGradientId = `battery-terminal-${generatedId}`;\n  const fillGradientId = `battery-fill-${generatedId}`;\n  const numericValue = toFiniteNumber(value);\n  const fillWidth = getBatteryFillWidth(\n    numericValue,\n    min,\n    max,\n    BATTERY_GEOMETRY.innerWidth,\n  );\n  const statusColor = getStatusColor(numericValue, thresholds, 'low');\n  const statusLabel = getStatusLabel(numericValue, thresholds, 'low');\n  const displayUnit = withDefaultUnit(unit);\n  const segments = getBatterySegments(\n    BATTERY_GEOMETRY.segmentCount,\n    BATTERY_GEOMETRY.innerWidth,\n    BATTERY_GEOMETRY.segmentGap,\n  );\n\n  return (\n    <SvgWrapper\n      className={cx(styles.root, animated && styles.animated, className)}\n      width={width}\n      height={height}\n      viewBox={BATTERY_VIEWBOX}\n      title={title}\n      description={`${numericValue}${displayUnit} battery visualization`}\n      style={style}\n      {...svgProps}\n    >\n      <defs>\n        <linearGradient id={shellGradientId} x1=\"0\" x2=\"1\" y1=\"0\" y2=\"1\">\n          <stop offset=\"0%\" stopColor=\"#ffffff\" />\n          <stop offset=\"58%\" stopColor=\"#f8fafc\" />\n          <stop offset=\"100%\" stopColor=\"#e2e8f0\" />\n        </linearGradient>\n        <linearGradient id={terminalGradientId} x1=\"0\" x2=\"1\" y1=\"0\" y2=\"1\">\n          <stop offset=\"0%\" stopColor=\"#cbd5e1\" />\n          <stop offset=\"100%\" stopColor=\"#64748b\" />\n        </linearGradient>\n        <linearGradient id={fillGradientId} x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\n          <stop offset=\"0%\" stopColor={statusColor} />\n          <stop offset=\"68%\" stopColor={statusColor} stopOpacity=\"0.88\" />\n          <stop offset=\"100%\" stopColor=\"#ffffff\" stopOpacity=\"0.35\" />\n        </linearGradient>\n        <clipPath id={fillClipId}>\n          <rect\n            x={BATTERY_GEOMETRY.innerX}\n            y={BATTERY_GEOMETRY.innerY}\n            width={fillWidth}\n            height={BATTERY_GEOMETRY.innerHeight}\n            rx=\"8\"\n          />\n        </clipPath>\n      </defs>\n\n      <rect className={styles.bodyShadow} x=\"30\" y=\"50\" width=\"204\" height=\"66\" rx=\"18\" />\n      <rect\n        className={styles.case}\n        x={BATTERY_GEOMETRY.shellX}\n        y={BATTERY_GEOMETRY.shellY}\n        width={BATTERY_GEOMETRY.shellWidth}\n        height={BATTERY_GEOMETRY.shellHeight}\n        rx=\"18\"\n        fill={`url(#${shellGradientId})`}\n      />\n      <rect\n        className={styles.terminal}\n        x={BATTERY_GEOMETRY.terminalX}\n        y={BATTERY_GEOMETRY.terminalY}\n        width={BATTERY_GEOMETRY.terminalWidth}\n        height={BATTERY_GEOMETRY.terminalHeight}\n        rx=\"7\"\n        fill={`url(#${terminalGradientId})`}\n      />\n      <rect\n        className={styles.innerTrack}\n        x={BATTERY_GEOMETRY.innerX}\n        y={BATTERY_GEOMETRY.innerY}\n        width={BATTERY_GEOMETRY.innerWidth}\n        height={BATTERY_GEOMETRY.innerHeight}\n        rx=\"10\"\n      />\n      {segments.map((segment) => (\n        <rect\n          className={styles.segment}\n          key={segment.xOffset}\n          x={BATTERY_GEOMETRY.innerX + segment.xOffset}\n          y={BATTERY_GEOMETRY.innerY}\n          width={segment.width}\n          height={BATTERY_GEOMETRY.innerHeight}\n          rx=\"7\"\n        />\n      ))}\n      <g clipPath={`url(#${fillClipId})`}>\n        {segments.map((segment) => (\n          <rect\n            className={styles.fill}\n            fill={`url(#${fillGradientId})`}\n            key={segment.xOffset}\n            x={BATTERY_GEOMETRY.innerX + segment.xOffset}\n            y={BATTERY_GEOMETRY.innerY}\n            width={segment.width}\n            height={BATTERY_GEOMETRY.innerHeight}\n            rx=\"7\"\n          />\n        ))}\n        <rect\n          className={styles.shine}\n          x={BATTERY_GEOMETRY.innerX + 4}\n          y={BATTERY_GEOMETRY.innerY + 5}\n          width={BATTERY_GEOMETRY.innerWidth - 8}\n          height=\"9\"\n          rx=\"5\"\n        />\n      </g>\n\n      {showPercentage ? (\n        <>\n          <text className={styles.status} x=\"126\" y=\"24\">\n            {statusLabel}\n          </text>\n          <text className={styles.value} x=\"126\" y=\"133\">\n            {Math.round(numericValue)}\n          </text>\n          <text className={styles.unit} x=\"158\" y=\"133\">\n            {displayUnit}\n          </text>\n        </>\n      ) : null}\n    </SvgWrapper>\n  );\n}\n\r\n","export const SIGNAL_VIEWBOX = '0 0 180 140';\n\nexport const DEFAULT_SIGNAL_PROPS = {\n  min: 0,\n  max: 100,\n  barCount: 5,\n  thresholds: {\n    warning: 40,\n    critical: 20,\n  },\n};\n\nexport const SIGNAL_BARS = [\n  { x: 28, y: 94, width: 18, height: 18, rx: 5 },\n  { x: 54, y: 78, width: 18, height: 34, rx: 5 },\n  { x: 80, y: 60, width: 18, height: 52, rx: 5 },\n  { x: 106, y: 40, width: 18, height: 72, rx: 5 },\n  { x: 132, y: 20, width: 18, height: 92, rx: 5 },\n];\n","import { clamp, getPercentage } from '../../../core/calculations';\n\nexport function getActiveSignalBars(strength, min, max, barCount) {\n  const percentage = getPercentage(strength, min, max);\n  return clamp(Math.ceil((percentage / 100) * barCount), 0, barCount);\n}\n","import React from 'react';\nimport { SvgWrapper } from '../../../core/SvgWrapper';\nimport { getStatusColor } from '../../../core/thresholds';\nimport { cx } from '../../../utils/classNames';\nimport { toFiniteNumber } from '../../../utils/validators';\nimport { DEFAULT_SIGNAL_PROPS, SIGNAL_BARS, SIGNAL_VIEWBOX } from './constants';\nimport { getActiveSignalBars } from './helpers';\nimport { firstFinite, getTelemetryAccentColor, getTelemetrySvgProps } from '../telemetryProps';\nimport styles from './SignalStrengthSVG.module.css';\n\nexport function SignalStrengthSVG({\n  strength = 0,\n  value,\n  signal,\n  status,\n  theme,\n  variant,\n  showIcon = true,\n  accentColor,\n  thresholds = DEFAULT_SIGNAL_PROPS.thresholds,\n  width = 220,\n  height = 170,\n  animated = false,\n  className,\n  title = 'Signal strength',\n  style,\n  ...svgProps\n}) {\n  const numericStrength = toFiniteNumber(firstFinite(signal, value, strength));\n  const activeBars = getActiveSignalBars(\n    numericStrength,\n    DEFAULT_SIGNAL_PROPS.min,\n    DEFAULT_SIGNAL_PROPS.max,\n    DEFAULT_SIGNAL_PROPS.barCount,\n  );\n  const statusColor = accentColor\n    ? getTelemetryAccentColor({ accentColor, status })\n    : getStatusColor(numericStrength, thresholds, 'low');\n  const telemetrySvgProps = getTelemetrySvgProps({\n    className: cx(styles.root, animated && styles.animated, className),\n    style,\n    theme,\n    variant,\n    status,\n    accentColor: statusColor,\n  });\n\n  return (\n    <SvgWrapper\n      className={telemetrySvgProps.className}\n      width={width}\n      height={height}\n      viewBox={SIGNAL_VIEWBOX}\n      title={title}\n      description={`${numericStrength}% signal strength visualization`}\n      style={telemetrySvgProps.style}\n      data-theme={telemetrySvgProps['data-theme']}\n      data-variant={telemetrySvgProps['data-variant']}\n      data-status={telemetrySvgProps['data-status']}\n      {...svgProps}\n    >\n      {showIcon ? SIGNAL_BARS.map((bar, index) => {\n        const isActive = index < activeBars;\n\n        return (\n          <rect\n            className={cx(styles.bar, isActive && styles.activeBar)}\n            fill={isActive ? statusColor : undefined}\n            key={bar.x}\n            x={bar.x}\n            y={bar.y}\n            width={bar.width}\n            height={bar.height}\n            rx={bar.rx}\n          />\n        );\n      }) : null}\n      {variant !== 'minimal' ? (\n        <>\n          <text className={styles.value} x=\"90\" y=\"130\">\n            {Math.round(numericStrength)}%\n          </text>\n          <text className={styles.label} x=\"90\" y=\"18\">\n            SIGNAL\n          </text>\n        </>\n      ) : null}\n    </SvgWrapper>\n  );\n}\n\r\n","export const DEFAULT_TRANSITION = '180ms ease-out';\n\nexport function getTransition(properties, duration = DEFAULT_TRANSITION) {\n  return properties.map((property) => `${property} ${duration}`).join(', ');\n}\n\nexport function getTransformOrigin(x = '50%', y = '50%') {\n  return `${x} ${y}`;\n}\n","export const TANK_VIEWBOX = '0 0 160 220';\nexport const DEFAULT_TANK_PROPS = {\n  min: 0,\n  capacity: 100,\n  unit: '%',\n  thresholds: {\n    warning: 80,\n    critical: 95,\n  },\n};\n","import { getPercentage } from '../../../core/calculations';\n\nexport function getTankFillHeight(value, min, capacity, tankHeight) {\n  return (getPercentage(value, min, capacity) / 100) * tankHeight;\n}\n","import React, { useId } from 'react';\nimport { SvgWrapper } from '../../../core/SvgWrapper';\nimport { getStatusColor } from '../../../core/thresholds';\nimport { getTransition } from '../../../core/animation';\nimport { cx } from '../../../utils/classNames';\nimport { toFiniteNumber, withDefaultUnit } from '../../../utils/validators';\nimport { DEFAULT_TANK_PROPS, TANK_VIEWBOX } from './constants';\nimport { getTankFillHeight } from './helpers';\nimport { getTelemetryAccentColor, getTelemetrySvgProps } from '../telemetryProps';\nimport styles from './TankLevelSVG.module.css';\n\nexport function TankLevelSVG({\n  value = 0,\n  level,\n  min = DEFAULT_TANK_PROPS.min,\n  capacity = DEFAULT_TANK_PROPS.capacity,\n  unit = DEFAULT_TANK_PROPS.unit,\n  thresholds = DEFAULT_TANK_PROPS.thresholds,\n  status,\n  theme,\n  variant,\n  showIcon = true,\n  accentColor,\n  width = 180,\n  height = 240,\n  className,\n  title = 'Tank level',\n  style,\n  ...svgProps\n}) {\n  const clipId = `tank-level-clip-${useId().replace(/:/g, '')}`;\n  const numericValue = toFiniteNumber(level ?? value);\n  const tankHeight = 150;\n  const fillHeight = getTankFillHeight(numericValue, min, capacity, tankHeight);\n  const fillY = 180 - fillHeight;\n  const statusColor = accentColor\n    ? getTelemetryAccentColor({ accentColor, status })\n    : getStatusColor(numericValue, thresholds);\n  const telemetrySvgProps = getTelemetrySvgProps({\n    className: cx(styles.root, className),\n    style,\n    theme,\n    variant,\n    status,\n    accentColor: statusColor,\n  });\n\n  return (\n    <SvgWrapper\n      className={telemetrySvgProps.className}\n      width={width}\n      height={height}\n      viewBox={TANK_VIEWBOX}\n      title={title}\n      description={`${numericValue}${withDefaultUnit(unit)} tank level visualization`}\n      style={telemetrySvgProps.style}\n      data-theme={telemetrySvgProps['data-theme']}\n      data-variant={telemetrySvgProps['data-variant']}\n      data-status={telemetrySvgProps['data-status']}\n      {...svgProps}\n    >\n      <clipPath id={clipId}>\n        <rect x=\"34\" y=\"30\" width=\"92\" height=\"150\" rx=\"16\" />\n      </clipPath>\n      <rect className={styles.track} x=\"34\" y=\"30\" width=\"92\" height=\"150\" rx=\"16\" />\n      <rect\n        x=\"34\"\n        y={fillY}\n        width=\"92\"\n        height={fillHeight}\n        fill={statusColor}\n        clipPath={`url(#${clipId})`}\n        style={{ transition: getTransition(['height', 'y', 'fill']) }}\n      />\n      <rect className={styles.shell} x=\"34\" y=\"30\" width=\"92\" height=\"150\" rx=\"16\" />\n      {showIcon ? (\n        <>\n          <line className={styles.mark} x1=\"132\" y1=\"60\" x2=\"144\" y2=\"60\" />\n          <line className={styles.mark} x1=\"132\" y1=\"105\" x2=\"144\" y2=\"105\" />\n          <line className={styles.mark} x1=\"132\" y1=\"150\" x2=\"144\" y2=\"150\" />\n        </>\n      ) : null}\n      {variant !== 'minimal' ? (\n        <>\n          <text className={styles.value} x=\"80\" y=\"101\">\n            {Math.round(numericValue)}\n          </text>\n          <text className={styles.unit} x=\"80\" y=\"119\">\n            {withDefaultUnit(unit)}\n          </text>\n        </>\n      ) : null}\n      <rect x=\"61\" y=\"16\" width=\"38\" height=\"14\" rx=\"5\" fill=\"var(--iot-svg-color-stroke)\" />\n      <rect x=\"52\" y=\"180\" width=\"56\" height=\"16\" rx=\"5\" fill=\"var(--iot-svg-color-stroke)\" />\n    </SvgWrapper>\n  );\n}\n\r\n","import { useEffect } from 'react';\r\n\r\nexport function getLegacyDisplayValue({ props = {}, liveValue, keys = [] } = {}) {\r\n  const config = props.config || {};\r\n  const candidates = [\r\n    ...keys.map((key) => props[key]),\r\n    props.value,\r\n    config.value,\r\n    config.defaultValue,\r\n  ];\r\n\r\n  for (const candidate of candidates) {\r\n    const numberValue = Number(candidate);\r\n    if (Number.isFinite(numberValue)) return numberValue;\r\n  }\r\n\r\n  if (liveValue && config.param && Object.prototype.hasOwnProperty.call(liveValue, config.param)) {\r\n    const numberValue = Number(liveValue[config.param]);\r\n    return Number.isFinite(numberValue) ? numberValue : 0;\r\n  }\r\n\r\n  return 0;\r\n}\n\nexport function LatestEventHandler({ deviceId, hubId, onChange, enabled = false, demo = false }) {\n  useEffect(() => {\n    if (!enabled && !demo) return undefined;\r\n    if (typeof onChange !== 'function' || (!deviceId && !hubId)) return undefined;\n\n    const emit = () => {\n      const seconds = Date.now() / 1000;\n      const binaryVisuals = [\n        'acsvg',\n        'breakersvg',\n        'curtainsvg',\n        'dbdoorsvg',\n        'doorlocksvg',\n        'lightsvg',\n        'machineatmsvg',\n        'motorsvg',\n        'packmachinesvg',\n        'valvesvg',\n      ];\n      const normalizedDeviceId = String(deviceId).toLowerCase();\n      const isBinaryVisual = binaryVisuals.some((name) => normalizedDeviceId.includes(name));\n      const binaryValue = Math.floor(seconds / 2) % 2;\n      const value = isBinaryVisual ? binaryValue : Math.round(50 + Math.sin(seconds) * 42);\n      const alternateValue = Math.round(50 + Math.cos(seconds * 0.8) * 36);\n\n      if (hubId) {\n        onChange({\n          target: {\n            value: [\n              { deviceId: 'demo-accumulative', value: value + 80 },\n              { deviceId: 'demo-phase-1', value },\n              { deviceId: 'demo-phase-2', value: value + 12 },\n              { deviceId: 'demo-phase-3', value: value + 24 },\n            ],\n          },\n        });\n        return;\n      }\n\n      onChange({\n        target: {\n            value: {\n              value,\n            status: isBinaryVisual ? binaryValue : value > 50 ? 1 : 0,\n            level: value,\n            percent: value,\n            temperature: alternateValue,\n          },\n        },\n      });\n    };\n\n    emit();\n    const intervalId = window.setInterval(emit, 1000);\n    return () => window.clearInterval(intervalId);\n  }, [demo, deviceId, enabled, hubId, onChange]);\n\n  return null;\n}\n\nexport function sentEvent() {\n  return undefined;\n}\n\nexport function idGenerator() {\n  return Math.random().toString(36).slice(2, 10);\n}\n\nexport function hexToHsl(hex = '#000000') {\n  const normalized = hex.replace('#', '');\n  const r = parseInt(normalized.slice(0, 2), 16) / 255;\n  const g = parseInt(normalized.slice(2, 4), 16) / 255;\n  const b = parseInt(normalized.slice(4, 6), 16) / 255;\n  const max = Math.max(r, g, b);\n  const min = Math.min(r, g, b);\n  let h = 0;\n  let s = 0;\n  const l = (max + min) / 2;\n\n  if (max !== min) {\n    const d = max - min;\n    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n    if (max === r) h = (g - b) / d + (g < b ? 6 : 0);\n    if (max === g) h = (b - r) / d + 2;\n    if (max === b) h = (r - g) / d + 4;\n    h /= 6;\n  }\n\n  return {\n    h: Math.round(h * 360),\n    s: Math.round(s * 100),\n    l: Math.round(l * 100),\n  };\n}\n\nexport function hslToHex(h, s, l) {\n  const hue = Number(h) / 360;\n  const saturation = Number(s) / 100;\n  const lightness = Number(l) / 100;\n\n  const hueToRgb = (p, q, t) => {\n    let next = t;\n    if (next < 0) next += 1;\n    if (next > 1) next -= 1;\n    if (next < 1 / 6) return p + (q - p) * 6 * next;\n    if (next < 1 / 2) return q;\n    if (next < 2 / 3) return p + (q - p) * (2 / 3 - next) * 6;\n    return p;\n  };\n\n  const q =\n    lightness < 0.5\n      ? lightness * (1 + saturation)\n      : lightness + saturation - lightness * saturation;\n  const p = 2 * lightness - q;\n  const channels = [\n    hueToRgb(p, q, hue + 1 / 3),\n    hueToRgb(p, q, hue),\n    hueToRgb(p, q, hue - 1 / 3),\n  ];\n\n  return `#${channels\n    .map((channel) =>\n      Math.round(channel * 255)\n        .toString(16)\n        .padStart(2, '0'),\n    )\n    .join('')}`;\n}\n\nexport function getAQISetting(value = 0) {\n  const numericValue = Number(value) || 0;\n  const max = 300;\n  const percentage = Math.min(100, Math.max(0, (numericValue / max) * 100));\n  const colorPalette =\n    'linear-gradient(90deg, #22c55e 0%, #eab308 25%, #f97316 50%, #ef4444 70%, #8b5cf6 88%, #7f1d1d 100%)';\n\n  if (numericValue <= 50) {\n    return { color: '#22c55e', label: 'Good', message: 'Good', max, percentage, colorPalette };\n  }\n  if (numericValue <= 100) {\n    return { color: '#eab308', label: 'Moderate', message: 'Moderate', max, percentage, colorPalette };\n  }\n  if (numericValue <= 150) {\n    return {\n      color: '#f97316',\n      label: 'Unhealthy SG',\n      message: 'Unhealthy_SG',\n      max,\n      percentage,\n      colorPalette,\n    };\n  }\n  if (numericValue <= 200) {\n    return { color: '#ef4444', label: 'Unhealthy', message: 'Unhealthy', max, percentage, colorPalette };\n  }\n  if (numericValue <= 300) {\n    return {\n      color: '#8b5cf6',\n      label: 'Very Unhealthy',\n      message: 'Very_Unhealthy',\n      max,\n      percentage,\n      colorPalette,\n    };\n  }\n  return { color: '#7f1d1d', label: 'Hazardous', message: 'Hazardous', max, percentage: 100, colorPalette };\n}\n\n\r\n\r\n\r\n","import React, { useState } from \"react\";\r\nimport './ac.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';\r\n\r\nconst Ac = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"0 0 26471 15474\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\", cursor: props?.config?.isControllable && \"pointer\" }}\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g>\r\n                <rect className=\"ac_0\" width=\"26471\" height=\"8910\" rx=\"1295\" ry=\"1295\" />\r\n                <path className=\"ac_1\" d=\"M2310 8910l21851 0 0 -2981c0,-149 -121,-270 -270,-270l-21311 0c-149,0 -270,121 -270,270l0 2981z\" />\r\n                <path style={{ opacity: value ? '1' : \"0\" }} y=\"1460\" r=\"253\" />\r\n                <circle fill={value ? '#00C900' : \"#000\"} className=\"ac_4\" cx=\"23908\" cy=\"1460\" r=\"253\" />\n                <path style={{ transform: value ? 'rotateX(-125deg)' : 'rotateX(0deg)' }} fill={value ? '#CCCCCC' : \"#9999FF\"} className=\"ac_1\" d=\"M2310 8910l21851 0 0 -2981c0,-149 -121,-270 -270,-270l-21311 0c-149,0 -270,121 -270,270l0 2981z\" />\n                <path style={{ opacity: value ? '1' : '0' }} className=\"ac_6\" d=\"M6489 12130l-200 232c-13,15 -36,16 -51,3 -15,-13 -16,-35 -3,-50l160 -185 -210 0c-20,0 -36,-16 -36,-36 0,-20 16,-36 36,-36l210 0 -160 -185c-13,-15 -12,-37 3,-50 15,-13 38,-11 51,4l200 231 96 0 0 -96 -231 -200c-15,-13 -17,-36 -4,-51 13,-15 35,-16 50,-3l185 160 0 -210c0,-19 16,-36 36,-36 20,0 36,17 36,36l0 210 185 -160c15,-13 37,-12 50,3 13,15 12,38 -3,51l-232 200 0 96 96 0 201 -231c13,-15 35,-17 50,-4 15,13 17,35 4,50l-161 185 210 0c20,0 36,16 36,36 0,20 -16,36 -36,36l-210 0 161 185c13,15 11,37 -4,50 -15,13 -37,12 -50,-3l-201 -232 -96 0 0 96 232 201c15,13 16,35 3,50 -13,15 -35,17 -50,4l-185 -161 0 210c0,20 -16,36 -36,36 -20,0 -36,-16 -36,-36l0 -210 -185 161c-15,13 -37,11 -50,-4 -13,-15 -11,-37 4,-50l231 -201 0 -96 -96 0zm13813 231l-349 403c-23,26 -62,29 -88,7 -26,-23 -28,-62 -6,-88l279 -322 -365 0c-34,0 -62,-28 -62,-62 0,-34 28,-62 62,-62l365 0 -279 -322c-22,-26 -20,-65 6,-88 26,-22 65,-19 88,7l349 403 167 0 0 -167 -403 -350c-26,-22 -29,-61 -6,-87 22,-26 61,-29 87,-6l322 278 0 -364c0,-35 28,-62 62,-62 35,0 63,27 63,62l0 364 322 -278c26,-23 65,-20 87,6 23,26 20,65 -6,87l-403 350 0 167 167 0 349 -403c22,-26 62,-29 88,-7 25,23 28,62 6,88l-279 322 365 0c34,0 62,28 62,62 0,34 -28,62 -62,62l-365 0 279 322c22,26 19,65 -6,88 -26,22 -66,19 -88,-7l-349 -403 -167 0 0 167 403 350c26,22 29,61 6,87 -22,26 -61,29 -87,6l-322 -278 0 364c0,35 -28,63 -63,63 -34,0 -62,-28 -62,-63l0 -364 -322 278c-26,23 -65,20 -87,-6 -23,-26 -20,-65 6,-87l403 -349 0 -168 -167 0zm-4674 2355l-349 403c-23,26 -62,29 -88,6 -26,-22 -28,-61 -6,-87l279 -322 -365 0c-34,0 -62,-28 -62,-62 0,-35 28,-63 62,-63l365 0 -279 -321c-22,-26 -20,-66 6,-88 26,-22 65,-20 88,6l349 403 167 0 0 -167 -403 -349c-26,-22 -29,-61 -6,-87 22,-26 61,-29 87,-7l322 279 0 -365c0,-34 28,-62 62,-62 35,0 63,28 63,62l0 365 322 -279c26,-22 65,-19 87,7 23,26 20,65 -6,87l-403 349 0 167 167 0 349 -403c22,-26 62,-28 88,-6 25,22 28,62 6,88l-279 321 365 0c34,0 62,28 62,63 0,34 -28,62 -62,62l-365 0 279 322c22,26 19,65 -6,87 -26,23 -66,20 -88,-6l-349 -403 -167 0 0 167 403 349c26,23 29,62 6,88 -22,26 -61,29 -87,6l-322 -279 0 365c0,34 -28,62 -63,62 -34,0 -62,-28 -62,-62l0 -365 -322 279c-26,23 -65,20 -87,-6 -23,-26 -20,-65 6,-88l403 -349 0 -167 -167 0z\" />\r\n                <text fill=\"black\" textAnchor='middle' x=\"50%\" y=\"20%\" style={{ fontSize: \"8000%\", fontWeight: \"bold\", fontFamily: \"arial\" }}>{value ? \"ON\" : 'OFF'}</text>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Ac\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport './air.scss'\r\n\r\nfunction Air({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            viewBox=\"0 0 2827 1500\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n        >\r\n            <g>\r\n                <path className=\"air_fil0 air_str0\" d=\"M49 617l1599 0c157,0 284,-127 284,-284 0,-157 -127,-284 -284,-284 -157,0 -284,127 -284,284\" />\r\n                <path className=\"air_fil0 air_str0\" d=\"M695 883l739 0c156,0 283,127 283,284 0,157 -127,284 -283,284 -157,0 -284,-127 -284,-284\" />\r\n                <path className=\"air_fil0 air_str0\" d=\"M2013 808l481 0c156,0 283,-127 283,-284 0,-157 -127,-284 -283,-284 -157,0 -284,127 -284,284\" />\r\n                <line className=\"air_fil0 air_str0\" x1=\"316\" y1=\"333\" x2=\"990\" y2=\"333\" />\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Air\r\n\r\n","export function clampValue(value, fallback = 0) {\n  const numberValue = Number(value);\n\n  if (!Number.isFinite(numberValue)) {\n    return fallback;\n  }\n\n  return Math.min(100, Math.max(0, numberValue));\n}\n\nexport function getLevelColor(value) {\n  if (value >= 75) return '#ef4444';\n  if (value >= 45) return '#f59e0b';\n  return '#14b8a6';\n}\n","import React from 'react';\nimport { clampValue, getLevelColor } from './dynamicSvgUtils';\n\nfunction progressBar(level, y = 214, color = getLevelColor(level)) {\n  return (\n    <>\n      <rect x=\"54\" y={y} width=\"132\" height=\"12\" rx=\"6\" fill=\"#e2e8f0\" />\n      <rect x=\"54\" y={y} width={(132 * level) / 100} height=\"12\" rx=\"6\" fill={color} />\n    </>\n  );\n}\n\nfunction applianceBox(x, y, width, height, color = '#dbeafe') {\n  return <rect x={x} y={y} width={width} height={height} rx=\"16\" fill={color} stroke=\"#2563eb\" strokeWidth=\"7\" />;\n}\n\nfunction renderDailyLifeScene(type, level) {\n  const color = getLevelColor(level);\n  const fillHeight = level * 0.92;\n  const spinDuration = `${Math.max(0.55, 4 - level * 0.032)}s`;\n  const glow = 0.2 + level / 130;\n  const angle = -50 + level;\n\n  switch (type) {\n    case 'coffee':\n      return (\n        <>\n          {applianceBox(62, 42, 116, 132)}\n          <rect x=\"84\" y=\"64\" width=\"72\" height=\"38\" rx=\"8\" fill=\"#0f172a\" />\n          <rect x=\"94\" y=\"118\" width=\"52\" height=\"54\" rx=\"10\" fill=\"#ffffff\" stroke=\"#0f172a\" strokeWidth=\"6\" />\n          <rect x=\"101\" y={160 - level * 0.36} width=\"38\" height={level * 0.36} rx=\"4\" fill=\"#92400e\" />\n          <path d=\"M146 134h15c12 0 12 22 0 22h-15\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"6\" />\n          <path d=\"M104 26c-11 11 10 17 0 29M127 26c-11 11 10 17 0 29\" stroke=\"#94a3b8\" strokeWidth=\"5\" strokeLinecap=\"round\" opacity={glow} />\n          <text x=\"120\" y=\"204\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% brew</text>\n        </>\n      );\n    case 'washing':\n      return (\n        <>\n          {applianceBox(62, 34, 116, 164)}\n          <rect x=\"82\" y=\"54\" width=\"76\" height=\"22\" rx=\"6\" fill=\"#eff6ff\" />\n          <circle cx=\"120\" cy=\"127\" r=\"44\" fill=\"#eff6ff\" stroke=\"#0f172a\" strokeWidth=\"7\" />\n          <g transform=\"translate(120 127)\">\n            <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0\" to=\"360\" dur={spinDuration} repeatCount=\"indefinite\" />\n            <path d=\"M-24 3c15-16 29-16 48 0 0 20-48 20-48 0Z\" fill=\"#38bdf8\" opacity=\"0.75\" />\n            <circle cx=\"-15\" cy=\"-14\" r=\"6\" fill=\"#93c5fd\" />\n            <circle cx=\"14\" cy=\"13\" r=\"7\" fill=\"#60a5fa\" />\n          </g>\n          {progressBar(level, 214, color)}\n        </>\n      );\n    case 'fridge':\n      return (\n        <>\n          {applianceBox(72, 26, 96, 180, '#eff6ff')}\n          <path d=\"M72 93h96M151 54v24M151 121v42\" stroke=\"#2563eb\" strokeWidth=\"6\" strokeLinecap=\"round\" />\n          <rect x=\"92\" y={180 - fillHeight * 0.9} width=\"36\" height={fillHeight * 0.9} rx=\"8\" fill=\"#38bdf8\" opacity=\"0.85\" />\n          <path d=\"M91 52h38M91 72h31\" stroke=\"#94a3b8\" strokeWidth=\"5\" strokeLinecap=\"round\" />\n          <text x=\"120\" y=\"226\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% cool</text>\n        </>\n      );\n    case 'microwave':\n      return (\n        <>\n          {applianceBox(36, 65, 168, 104)}\n          <rect x=\"54\" y=\"84\" width=\"92\" height=\"66\" rx=\"9\" fill=\"#0f172a\" />\n          <circle cx=\"100\" cy=\"117\" r=\"24\" fill=\"#facc15\" opacity={glow} />\n          <path d=\"M76 117c16-13 32 13 48 0\" fill=\"none\" stroke=\"#fde68a\" strokeWidth=\"6\" strokeLinecap=\"round\" opacity={glow} />\n          <circle cx=\"174\" cy=\"94\" r=\"8\" fill={color} />\n          <path d=\"M164 122h20M164 142h20\" stroke=\"#2563eb\" strokeWidth=\"6\" strokeLinecap=\"round\" />\n          {progressBar(level)}\n        </>\n      );\n    case 'fan':\n      return (\n        <>\n          <path d=\"M120 28v55\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <circle cx=\"120\" cy=\"100\" r=\"14\" fill=\"#0f172a\" />\n          <g transform=\"translate(120 100)\">\n            <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0\" to=\"360\" dur={spinDuration} repeatCount=\"indefinite\" />\n            <path d=\"M0 0c32-20 57-25 76-12 4 27-30 32-76 12Z\" fill=\"#bfdbfe\" stroke=\"#2563eb\" strokeWidth=\"5\" />\n            <path d=\"M0 0c-33 18-59 20-76 5-1-27 33-29 76-5Z\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"5\" />\n            <path d=\"M0 0c-2 38-13 62-34 72-24-13-5-42 34-72Z\" fill=\"#93c5fd\" stroke=\"#2563eb\" strokeWidth=\"5\" />\n          </g>\n          <path d=\"M69 171c34 15 68 15 102 0\" fill=\"none\" stroke=\"#38bdf8\" strokeWidth=\"7\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'plug':\n      return (\n        <>\n          <rect x=\"74\" y=\"50\" width=\"92\" height=\"100\" rx=\"22\" fill=\"#eff6ff\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <path d=\"M101 83v28M139 83v28\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <path d=\"M120 150v26c0 14 12 26 26 26h24\" fill=\"none\" stroke={color} strokeWidth=\"9\" strokeLinecap=\"round\" opacity={glow} />\n          <circle cx=\"120\" cy=\"123\" r=\"8\" fill={color} />\n          <text x=\"120\" y=\"31\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% power</text>\n        </>\n      );\n    case 'doorbell':\n      return (\n        <>\n          <rect x=\"78\" y=\"42\" width=\"84\" height=\"142\" rx=\"24\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <circle cx=\"120\" cy=\"114\" r=\"32\" fill=\"#ffffff\" stroke=\"#0f172a\" strokeWidth=\"7\" />\n          <circle cx=\"120\" cy=\"114\" r={10 + level * 0.12} fill={color} opacity=\"0.75\" />\n          <path d=\"M63 82c-17 18-17 46 0 64M177 82c17 18 17 46 0 64\" fill=\"none\" stroke={color} strokeWidth=\"7\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'thermostat':\n      return (\n        <>\n          <circle cx=\"120\" cy=\"116\" r=\"76\" fill=\"#eff6ff\" stroke=\"#2563eb\" strokeWidth=\"8\" />\n          <path d=\"M73 116a47 47 0 0 1 94 0\" fill=\"none\" stroke=\"#e2e8f0\" strokeWidth=\"15\" strokeLinecap=\"round\" />\n          <path d={`M120 116l${Math.cos((angle * Math.PI) / 180) * 45} ${Math.sin((angle * Math.PI) / 180) * 45}`} stroke={color} strokeWidth=\"9\" strokeLinecap=\"round\" />\n          <circle cx=\"120\" cy=\"116\" r=\"12\" fill=\"#0f172a\" />\n          <text x=\"120\" y=\"151\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"24\" fontWeight=\"900\">{level}</text>\n          {progressBar(level)}\n        </>\n      );\n    case 'shower':\n      return (\n        <>\n          <path d=\"M72 70c0-24 19-43 43-43h38\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <path d=\"M142 48h46v28h-46z\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n          {[72, 95, 118, 141, 164].map((x) => (\n            <path key={x} d={`M${x} 104v${38 + level * 0.5}`} stroke=\"#38bdf8\" strokeWidth=\"6\" strokeLinecap=\"round\" opacity={glow} />\n          ))}\n          <path d=\"M61 202h120\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <text x=\"120\" y=\"226\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% flow</text>\n        </>\n      );\n    case 'scale':\n      return (\n        <>\n          {applianceBox(53, 72, 134, 100, '#eff6ff')}\n          <rect x=\"82\" y=\"94\" width=\"76\" height=\"34\" rx=\"8\" fill=\"#0f172a\" />\n          <text x=\"120\" y=\"118\" textAnchor=\"middle\" fill={color} fontSize=\"21\" fontWeight=\"900\">{level}</text>\n          <path d=\"M84 72c9-19 63-19 72 0\" fill=\"none\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n          <path d=\"M77 172h86\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          {progressBar(level)}\n        </>\n      );\n    case 'toaster':\n      return (\n        <>\n          <path d={`M78 ${84 - level * 0.28}h34v42H78zM128 ${89 - level * 0.22}h34v37h-34z`} fill=\"#fbbf24\" stroke=\"#92400e\" strokeWidth=\"5\" />\n          {applianceBox(54, 104, 132, 72, '#fee2e2')}\n          <path d=\"M83 133h74M190 123h18v34h-18\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n          <circle cx=\"86\" cy=\"154\" r=\"8\" fill={color} />\n          <path d=\"M95 67c-8 10 8 15 0 25M144 67c-8 10 8 15 0 25\" stroke=\"#94a3b8\" strokeWidth=\"5\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'kettle':\n      return (\n        <>\n          <path d=\"M76 92c0-22 18-40 40-40h15c22 0 40 18 40 40v78H76V92Z\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <path d=\"M171 103h13c28 0 28 43 0 43h-13M76 104 46 88\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <rect x=\"95\" y={154 - level * 0.5} width=\"58\" height={level * 0.5} rx=\"8\" fill=\"#38bdf8\" opacity=\"0.82\" />\n          <path d=\"M104 29c-10 12 11 18 0 31M132 29c-10 12 11 18 0 31\" stroke=\"#94a3b8\" strokeWidth=\"5\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'vacuum':\n      return (\n        <>\n          <path d=\"M58 171h80c17 0 31-14 31-31v-26c0-18-15-33-33-33h-23\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <circle cx=\"82\" cy=\"175\" r=\"14\" fill=\"#0f172a\" />\n          <circle cx=\"145\" cy=\"175\" r=\"14\" fill=\"#0f172a\" />\n          <path d=\"M126 81 91 42M83 38h50\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <path d=\"M46 151c-12 8-12 22 0 30\" stroke={color} strokeWidth=\"7\" strokeLinecap=\"round\" opacity={glow} />\n          <text x=\"120\" y=\"219\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% suction</text>\n        </>\n      );\n    case 'purifier':\n      return (\n        <>\n          {applianceBox(70, 38, 100, 160, '#eff6ff')}\n          <circle cx=\"120\" cy=\"80\" r=\"18\" fill={color} opacity=\"0.85\" />\n          {[112, 132, 152].map((y) => <path key={y} d=\"M92 0h56\" transform={`translate(0 ${y})`} stroke=\"#2563eb\" strokeWidth=\"6\" strokeLinecap=\"round\" />)}\n          <path d=\"M37 87c25-20 48-20 70 0M133 35c24-18 47-18 70 0M134 204c23-18 47-18 70 0\" fill=\"none\" stroke=\"#38bdf8\" strokeWidth=\"6\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'router':\n      return (\n        <>\n          <rect x=\"61\" y=\"132\" width=\"118\" height=\"50\" rx=\"14\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <path d=\"M82 132V89M158 132V89\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <circle cx=\"94\" cy=\"157\" r=\"6\" fill={color} />\n          <circle cx=\"120\" cy=\"157\" r=\"6\" fill={level > 35 ? color : '#94a3b8'} />\n          <circle cx=\"146\" cy=\"157\" r=\"6\" fill={level > 70 ? color : '#94a3b8'} />\n          <path d=\"M79 79c26-22 56-22 82 0M57 56c40-34 86-34 126 0\" fill=\"none\" stroke=\"#38bdf8\" strokeWidth=\"7\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'phone':\n      return (\n        <>\n          <rect x=\"82\" y=\"30\" width=\"76\" height=\"150\" rx=\"18\" fill=\"#111827\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <rect x=\"95\" y=\"55\" width=\"50\" height=\"95\" rx=\"7\" fill=\"#f8fafc\" />\n          <rect x=\"105\" y={142 - level * 0.78} width=\"30\" height={level * 0.78} rx=\"5\" fill={color} />\n          <path d=\"M120 187v25M104 212h32\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <path d=\"M115 89h13l-9 21h13l-19 31 5-23h-12z\" fill=\"#facc15\" opacity={glow} />\n          <text x=\"120\" y=\"226\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}%</text>\n        </>\n      );\n    case 'laptop':\n      return (\n        <>\n          <rect x=\"58\" y=\"44\" width=\"124\" height=\"92\" rx=\"10\" fill=\"#111827\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n          <rect x=\"74\" y=\"62\" width=\"92\" height=\"56\" rx=\"6\" fill=\"#eff6ff\" />\n          <rect x=\"84\" y=\"78\" width={(72 * level) / 100} height=\"24\" rx=\"5\" fill={color} />\n          <path d=\"M37 155h166l-17 31H54z\" fill=\"#dbeafe\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n          <text x=\"120\" y=\"218\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% battery</text>\n        </>\n      );\n    case 'plant':\n      return (\n        <>\n          <path d=\"M82 132h76l-13 72H95z\" fill=\"#f59e0b\" stroke=\"#92400e\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n          <path d=\"M120 132V65\" stroke=\"#166534\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n          <path d=\"M120 91c-31-3-45-18-44-45 29 0 45 14 44 45ZM121 115c32-8 47-27 44-56-31 3-47 22-44 56Z\" fill=\"#22c55e\" stroke=\"#166534\" strokeWidth=\"5\" />\n          <path d=\"M170 41h38v28h-38zM170 69l-32 29\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n          <path d={`M151 97v${26 + level * 0.48}`} stroke=\"#38bdf8\" strokeWidth=\"6\" strokeLinecap=\"round\" opacity={glow} />\n          {progressBar(level)}\n        </>\n      );\n    case 'laundry':\n      return (\n        <>\n          <path d=\"M67 74h106l-15 126H82z\" fill=\"#eff6ff\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n          <path d=\"M88 74c0-22 64-22 64 0\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n          <rect x=\"85\" y={182 - level} width=\"70\" height={level} rx=\"12\" fill={color} opacity=\"0.75\" />\n          <path d=\"M86 106h68M82 136h76M78 166h84\" stroke=\"#94a3b8\" strokeWidth=\"5\" strokeLinecap=\"round\" opacity=\"0.75\" />\n          <text x=\"120\" y=\"226\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% full</text>\n        </>\n      );\n    case 'oven':\n      return (\n        <>\n          {applianceBox(50, 50, 140, 142, '#fee2e2')}\n          <rect x=\"70\" y=\"86\" width=\"100\" height=\"76\" rx=\"10\" fill=\"#0f172a\" />\n          <path d=\"M90 130c8-20 24-20 30 0 8-22 27-18 31 5\" fill=\"none\" stroke=\"#f97316\" strokeWidth=\"7\" strokeLinecap=\"round\" opacity={glow} />\n          <circle cx=\"86\" cy=\"69\" r=\"7\" fill={color} />\n          <circle cx=\"119\" cy=\"69\" r=\"7\" fill=\"#64748b\" />\n          <circle cx=\"152\" cy=\"69\" r=\"7\" fill=\"#64748b\" />\n          {progressBar(level)}\n        </>\n      );\n    default:\n      return progressBar(level);\n  }\n}\n\nexport function createDailyLifeDynamicSVG(type, title) {\n  const DailyLifeDynamicSVG = ({ value = 0, width = '100%', height = '100%', className, style }) => {\n    const level = clampValue(value);\n\n    return (\n      <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n        {renderDailyLifeScene(type, level)}\n      </svg>\n    );\n  };\n\n  DailyLifeDynamicSVG.displayName = title.replace(/\\s+/g, '');\n\n  return DailyLifeDynamicSVG;\n}\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst AirPurifierSVG = createDailyLifeDynamicSVG('purifier', 'Air purifier');\n\nexport default AirPurifierSVG;\n","import React from 'react';\n\nconst AmbulanceSVG = ({ width = '100%', height = '100%', title = 'Ambulance', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <path d=\"M28 119c0-12 10-22 22-22h75v80H28v-58Z\" fill=\"#ffffff\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <path d=\"M125 112h34l27 28h22c7 0 12 5 12 12v25h-95v-65Z\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <path d=\"M158 113v29h32\" fill=\"#93c5fd\" stroke=\"#1e40af\" strokeWidth=\"6\" strokeLinejoin=\"round\" />\n    <path d=\"M74 116v36M56 134h36\" stroke=\"#ef4444\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n    <path d=\"M30 177h188\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <circle cx=\"72\" cy=\"181\" r=\"18\" fill=\"#0f172a\" />\n    <circle cx=\"72\" cy=\"181\" r=\"8\" fill=\"#cbd5e1\" />\n    <circle cx=\"178\" cy=\"181\" r=\"18\" fill=\"#0f172a\" />\n    <circle cx=\"178\" cy=\"181\" r=\"8\" fill=\"#cbd5e1\" />\n    <path d=\"M91 80h34M108 63v34\" stroke=\"#f59e0b\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default AmbulanceSVG;\n","import React from 'react'\r\nimport \"./analyzer.scss\"\r\n\r\nfunction Analyzer({ width = '100%', height = '100%', className, style }) {\r\n  return (\r\n      <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className}  \n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      // preserveAspectRatio=\"none\" \r\n      xmlSpace=\"preserve\" \r\n      version=\"1.1\"\r\n      width={width}\r\n      height={height}\r\n      viewBox=\"0 0 307.28 307.28\"\r\n      xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n          <g>\r\n              <rect className=\"analyzer_fil0\" width=\"307.28\" height=\"307.28\" rx=\"6.42\" ry=\"6.42\"/>\r\n              <rect className=\"analyzer_fil1\" x=\"4.75\" y=\"17.63\" width=\"297.79\" height=\"272.01\" rx=\"3.06\" ry=\"2.79\"/>\r\n              <path className=\"analyzer_fil2\" d=\"M10.02 53.99l130.36 0 0 5.51c0,0.79 0.65,1.44 1.44,1.44l23.65 0c0.79,0 1.44,-0.65 1.44,-1.44l0 -5.51 130.36 0 0 199.29 -287.25 0 0 -199.29z\"/>\r\n              <rect className=\"analyzer_fil3 analyzer_str0\" x=\"34.61\" y=\"64.89\" width=\"238.07\" height=\"177.49\" rx=\"5.82\" ry=\"4.34\"/>\r\n              <rect className=\"analyzer_fil2\" x=\"143.23\" y=\"37.26\" width=\"20.83\" height=\"20.83\" rx=\"0.61\" ry=\"0.61\"/>\r\n              <rect className=\"analyzer_fil4 analyzer_str0\" x=\"40.33\" y=\"260.16\" width=\"52.64\" height=\"21.85\" rx=\"2.85\" ry=\"1.18\"/>\r\n              <rect className=\"analyzer_fil4 analyzer_str0\" x=\"98.32\" y=\"260.16\" width=\"52.64\" height=\"21.85\" rx=\"2.85\" ry=\"1.18\"/>\r\n              <rect className=\"analyzer_fil4 analyzer_str0\" x=\"156.31\" y=\"260.16\" width=\"52.64\" height=\"21.85\" rx=\"2.85\" ry=\"1.18\"/>\r\n              <rect className=\"analyzer_fil4 analyzer_str0\" x=\"214.31\" y=\"260.16\" width=\"52.64\" height=\"21.85\" rx=\"2.85\" ry=\"1.18\"/>\r\n              <circle className=\"analyzer_fil5\" cx=\"275.13\" cy=\"262.99\" r=\"2.83\"/>\r\n              <path className=\"analyzer_fil1\" d=\"M146.42 40.38l1.18 0 5.36 0 0 3.31c-0.56,0.07 -1.06,0.32 -1.44,0.7 -0.44,0.44 -0.71,1.05 -0.71,1.72 0,0.67 0.27,1.28 0.71,1.72 0.38,0.38 0.88,0.63 1.44,0.7l-0 0.02 0 6.42 -6.55 0 0 -14.58zm7.12 0l1.44 0c3.23,0 5.88,2.64 5.88,5.88l0 0c0,3.23 -2.64,5.88 -5.88,5.88l-1.44 0 0 -3.59 -0 -0.02c0.56,-0.07 1.06,-0.32 1.44,-0.7 0.44,-0.44 0.71,-1.05 0.71,-1.72 0,-0.67 -0.27,-1.28 -0.71,-1.72 -0.38,-0.38 -0.88,-0.63 -1.44,-0.7l0 -3.31zm1.03 4.41c-0.34,-0.34 -0.8,-0.54 -1.32,-0.54 -0.51,0 -0.98,0.21 -1.32,0.54 -0.34,0.34 -0.54,0.8 -0.54,1.32 0,0.51 0.21,0.98 0.54,1.32 0.34,0.34 0.8,0.54 1.32,0.54 0.51,0 0.98,-0.21 1.32,-0.54 0.34,-0.34 0.54,-0.8 0.54,-1.32 0,-0.51 -0.21,-0.98 -0.54,-1.32z\"/>\r\n              <polygon className=\"analyzer_fil6\" points=\"242.91,39.27 250.05,39.27 250.05,40.81 241.2,40.81 241.2,26.88 249.66,26.88 249.66,28.42 242.91,28.42 242.91,32.92 248.92,32.92 248.92,34.45 242.91,34.45 \"/>\r\n              <path className=\"analyzer_fil6\" d=\"M260.35 40.81l-0.78 0 -3.51 -8.32c-0.48,-1.14 -0.97,-2.39 -1.46,-3.74l-0.08 0c0.1,1.94 0.15,3.71 0.15,5.32l0 6.74 -1.71 0 0 -13.93 2.45 0 3.28 7.88c0.37,0.9 0.79,1.99 1.24,3.26l0.05 0c0.5,-1.41 0.91,-2.5 1.24,-3.26l3.28 -7.88 2.45 0 0 13.93 -1.71 0 0 -6.74c0,-1.57 0.05,-3.35 0.15,-5.32l-0.08 0c-0.52,1.42 -1,2.67 -1.46,3.74l-3.51 8.32z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M277.36 35.77c0,-0.58 -0.06,-1.09 -0.18,-1.55 -0.12,-0.45 -0.3,-0.85 -0.55,-1.17 -0.25,-0.32 -0.54,-0.57 -0.9,-0.75 -0.36,-0.17 -0.77,-0.26 -1.23,-0.26 -0.33,0 -0.64,0.05 -0.92,0.14 -0.27,0.09 -0.52,0.2 -0.75,0.34 -0.22,0.14 -0.42,0.29 -0.58,0.45 -0.16,0.16 -0.29,0.3 -0.39,0.42l0 5.18c0.34,0.35 0.73,0.63 1.17,0.83 0.44,0.2 0.91,0.31 1.41,0.31 0.31,0 0.63,-0.06 0.97,-0.17 0.34,-0.12 0.66,-0.32 0.95,-0.61 0.29,-0.3 0.53,-0.7 0.72,-1.21 0.19,-0.51 0.28,-1.15 0.28,-1.94zm1.69 -0.02c0,0.69 -0.07,1.29 -0.2,1.83 -0.14,0.53 -0.32,0.99 -0.54,1.39 -0.22,0.39 -0.48,0.73 -0.78,0.99 -0.3,0.27 -0.61,0.48 -0.93,0.65 -0.32,0.16 -0.64,0.28 -0.97,0.35 -0.33,0.07 -0.64,0.11 -0.93,0.11 -0.61,0 -1.13,-0.1 -1.58,-0.3 -0.44,-0.2 -0.85,-0.49 -1.2,-0.88l-0.03 0 0 5.76 -1.59 0 0 -14.74 1.22 0 0.34 1.12 0.03 0c0.09,-0.14 0.21,-0.27 0.35,-0.41 0.14,-0.13 0.33,-0.27 0.57,-0.42 0.24,-0.15 0.53,-0.28 0.86,-0.39 0.34,-0.11 0.7,-0.17 1.1,-0.17 0.56,0 1.09,0.09 1.61,0.28 0.52,0.19 0.97,0.49 1.37,0.9 0.39,0.41 0.71,0.93 0.95,1.57 0.24,0.64 0.36,1.42 0.36,2.34z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M287.03 32.23l-0.12 0c-0.38,0 -0.76,0.04 -1.12,0.1 -0.37,0.07 -0.71,0.18 -1.04,0.32 -0.32,0.14 -0.61,0.32 -0.87,0.52 -0.26,0.21 -0.48,0.45 -0.65,0.74l0 6.89 -1.62 0 0 -9.9 1.26 0 0.31 1.57 0.03 0c0.16,-0.26 0.36,-0.49 0.59,-0.71 0.23,-0.22 0.49,-0.42 0.79,-0.58 0.29,-0.17 0.61,-0.3 0.96,-0.39 0.35,-0.09 0.71,-0.14 1.1,-0.14 0.07,0 0.14,0 0.21,0 0.07,0 0.14,0.01 0.19,0.02l0 1.56z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M295.89 35.87c0,-0.61 -0.07,-1.16 -0.22,-1.63 -0.15,-0.48 -0.36,-0.88 -0.63,-1.21 -0.27,-0.33 -0.59,-0.58 -0.96,-0.75 -0.37,-0.17 -0.77,-0.26 -1.21,-0.26 -0.44,0 -0.84,0.09 -1.21,0.26 -0.37,0.17 -0.69,0.42 -0.96,0.75 -0.27,0.33 -0.48,0.74 -0.63,1.21 -0.15,0.48 -0.22,1.02 -0.22,1.63 0,0.6 0.07,1.14 0.22,1.62 0.15,0.48 0.36,0.88 0.63,1.21 0.27,0.33 0.59,0.58 0.96,0.75 0.37,0.17 0.78,0.26 1.21,0.26 0.44,0 0.84,-0.09 1.21,-0.26 0.37,-0.17 0.68,-0.42 0.95,-0.75 0.27,-0.33 0.48,-0.73 0.63,-1.21 0.15,-0.48 0.22,-1.02 0.22,-1.62zm1.69 0c0,0.78 -0.11,1.49 -0.33,2.12 -0.22,0.64 -0.54,1.19 -0.94,1.64 -0.41,0.46 -0.9,0.81 -1.48,1.06 -0.58,0.25 -1.23,0.37 -1.94,0.37 -0.74,0 -1.4,-0.12 -1.98,-0.37 -0.58,-0.25 -1.07,-0.6 -1.48,-1.06 -0.41,-0.45 -0.71,-1 -0.93,-1.64 -0.22,-0.64 -0.32,-1.34 -0.32,-2.12 0,-0.79 0.11,-1.5 0.33,-2.13 0.22,-0.64 0.54,-1.19 0.94,-1.65 0.41,-0.46 0.9,-0.81 1.48,-1.06 0.58,-0.25 1.23,-0.37 1.94,-0.37 0.73,0 1.39,0.12 1.97,0.37 0.59,0.25 1.08,0.6 1.48,1.06 0.4,0.46 0.71,1.01 0.93,1.65 0.22,0.64 0.32,1.35 0.32,2.13z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M87.95 273.3l-1.01 0 0 -6.44c-0.24,0.23 -0.56,0.47 -0.96,0.7 -0.39,0.23 -0.75,0.41 -1.07,0.52l0 -0.98c0.57,-0.26 1.06,-0.59 1.48,-0.97 0.42,-0.38 0.72,-0.74 0.9,-1.1l0.65 0 0 8.27z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M146.58 272.33l0 0.97 -5.45 0c-0.01,-0.24 0.03,-0.48 0.12,-0.7 0.14,-0.37 0.36,-0.74 0.67,-1.09 0.31,-0.36 0.75,-0.77 1.32,-1.24 0.89,-0.73 1.5,-1.31 1.81,-1.74 0.32,-0.43 0.48,-0.84 0.48,-1.22 0,-0.4 -0.14,-0.74 -0.43,-1.01 -0.29,-0.27 -0.66,-0.41 -1.13,-0.41 -0.49,0 -0.88,0.15 -1.17,0.44 -0.29,0.29 -0.44,0.69 -0.44,1.21l-1.03 -0.1c0.07,-0.77 0.34,-1.36 0.8,-1.77 0.47,-0.41 1.09,-0.61 1.87,-0.61 0.79,0 1.42,0.22 1.88,0.66 0.46,0.44 0.69,0.98 0.69,1.63 0,0.33 -0.07,0.65 -0.2,0.97 -0.13,0.32 -0.36,0.66 -0.67,1.01 -0.31,0.35 -0.83,0.84 -1.56,1.45 -0.61,0.51 -1,0.86 -1.17,1.04 -0.17,0.18 -0.31,0.36 -0.43,0.55l4.04 0z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M199.09 271.11l1.01 -0.14c0.12,0.57 0.31,0.99 0.59,1.24 0.28,0.25 0.62,0.38 1.02,0.38 0.48,0 0.88,-0.16 1.21,-0.49 0.33,-0.33 0.49,-0.74 0.49,-1.22 0,-0.46 -0.15,-0.85 -0.46,-1.15 -0.3,-0.3 -0.69,-0.45 -1.16,-0.45 -0.19,0 -0.43,0.04 -0.71,0.11l0.11 -0.89c0.07,0.01 0.12,0.01 0.16,0.01 0.43,0 0.82,-0.11 1.17,-0.34 0.35,-0.22 0.52,-0.57 0.52,-1.03 0,-0.37 -0.13,-0.68 -0.38,-0.92 -0.25,-0.24 -0.58,-0.36 -0.97,-0.36 -0.39,0 -0.72,0.12 -0.99,0.37 -0.26,0.25 -0.43,0.62 -0.51,1.12l-1.01 -0.18c0.12,-0.68 0.4,-1.21 0.84,-1.58 0.44,-0.37 0.98,-0.56 1.63,-0.56 0.45,0 0.86,0.1 1.24,0.29 0.38,0.19 0.67,0.45 0.87,0.79 0.2,0.33 0.3,0.69 0.3,1.06 0,0.35 -0.1,0.68 -0.29,0.97 -0.19,0.29 -0.48,0.52 -0.85,0.7 0.49,0.11 0.86,0.35 1.13,0.7 0.27,0.35 0.4,0.8 0.4,1.33 0,0.72 -0.26,1.33 -0.79,1.83 -0.52,0.5 -1.19,0.75 -1.99,0.75 -0.72,0 -1.32,-0.22 -1.8,-0.65 -0.48,-0.43 -0.75,-0.99 -0.82,-1.67z\"/>\r\n              <path className=\"analyzer_fil6\" d=\"M260.63 273.3l0 -1.97 -3.58 0 0 -0.93 3.76 -5.34 0.83 0 0 5.34 1.12 0 0 0.93 -1.12 0 0 1.97 -1.01 0zm0 -2.9l0 -3.7 -2.58 3.7 2.58 0z\"/>\r\n              <rect className=\"analyzer_fil7\" x=\"40.12\" y=\"70.55\" width=\"227.04\" height=\"166.19\"/>\r\n          </g>\r\n      </svg>\r\n  )\r\n}\r\n\r\nexport default Analyzer\r\n\r\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { getAQISetting, LatestEventHandler } from '../legacyVisualUtils';\nimport { firstFinite } from '../telemetryProps';\n\nconst AQI_TICKS = [0, 50, 100, 150, 200, 300];\nconst DEFAULT_GRADIENT = 'linear-gradient(90deg, #22c55e 0%, #eab308 17%, #f97316 34%, #ef4444 58%, #8b5cf6 82%, #7f1d1d 100%)';\n\nfunction getLiveValue(data, param) {\n  if (!data || !param || !(param in data)) return undefined;\n  return data[param];\n}\n\nconst AqiScaleSVG = ({ value, config, width = '100%', height = '100%', className, style, theme, variant, status } = {}) => {\n  const [liveValue, setLiveValue] = useState(null);\n  const param = config?.param || 'value';\n  const rawValue = firstFinite(getLiveValue(liveValue, param), value, config?.value, 0);\n  const aqiValue = Math.max(0, Math.round(rawValue));\n  const setting = useMemo(() => getAQISetting(aqiValue, config?.deviceType || 'AQI'), [aqiValue, config?.deviceType]);\n  const percentage = Math.min(100, Math.max(0, setting.percentage));\n  const gradient = setting.colorPaletteLinear || setting.colorPalette || DEFAULT_GRADIENT;\n\n  const handleChange = useCallback(\n    (event) => {\n      if (!config?.deviceId) {\n        setLiveValue(null);\n        return;\n      }\n\n      setLiveValue(event?.target?.value || null);\n    },\n    [config?.deviceId],\n  );\n\n  return (\n    <div\n      className={className}\n      data-theme={theme}\n      data-variant={variant}\n      data-status={status}\n      style={{\n        width,\n        height,\n        minWidth: 180,\n        minHeight: 118,\n        display: 'flex',\n        alignItems: 'center',\n        justifyContent: 'center',\n        boxSizing: 'border-box',\n        ...style,\n      }}\n      role=\"img\"\n      aria-label={`${config?.label || 'AQI'} ${aqiValue} ${config?.unit || 'index'} ${setting.label || setting.message}`}\n    >\n      {config?.deviceId ? <LatestEventHandler deviceId={config.deviceId} onChange={handleChange} /> : null}\n      <div style={{ width: '100%', maxWidth: 360, padding: '8px 10px 14px', boxSizing: 'border-box' }}>\n        <div style={{ position: 'relative', height: 38 }}>\n          <div\n            style={{\n              position: 'absolute',\n              left: `${percentage}%`,\n              top: 0,\n              transform: `translateX(-${percentage}%)`,\n              background: setting.color,\n              color: '#ffffff',\n              borderRadius: 6,\n              padding: '4px 8px',\n              fontSize: 14,\n              fontWeight: 800,\n              lineHeight: 1.15,\n              whiteSpace: 'nowrap',\n              boxShadow: '0 6px 14px rgba(15, 23, 42, 0.18)',\n              transition: 'left 450ms ease, transform 450ms ease, background-color 450ms ease',\n            }}\n          >\n            {aqiValue} {config?.unit || 'index'}\n          </div>\n        </div>\n        <div style={{ position: 'relative', height: 24 }}>\n          <div style={{ height: 14, borderRadius: 999, background: gradient, boxShadow: 'inset 0 0 0 1px rgba(15, 23, 42, 0.12)' }} />\n          <div\n            style={{\n              position: 'absolute',\n              left: `${percentage}%`,\n              top: -2,\n              transform: 'translateX(-50%)',\n              width: 0,\n              height: 0,\n              borderLeft: '7px solid transparent',\n              borderRight: '7px solid transparent',\n              borderTop: `10px solid ${setting.color}`,\n              filter: 'drop-shadow(0 2px 2px rgba(15, 23, 42, 0.25))',\n              transition: 'left 450ms ease, border-top-color 450ms ease',\n            }}\n          />\n        </div>\n        <div style={{ position: 'relative', height: 34 }}>\n          {AQI_TICKS.map((tick) => {\n            const left = Math.min(100, (tick / setting.max) * 100);\n            return (\n              <span\n                key={tick}\n                style={{\n                  position: 'absolute',\n                  left: `${left}%`,\n                  transform: tick === 0 ? 'translateX(0)' : tick === setting.max ? 'translateX(-100%)' : 'translateX(-50%)',\n                  color: '#334155',\n                  fontSize: 11,\n                  fontWeight: 700,\n                  lineHeight: 1,\n                }}\n              >\n                <i style={{ display: 'block', width: 1, height: 7, margin: '0 auto 5px', background: '#64748b' }} />\n                {tick}\n              </span>\n            );\n          })}\n        </div>\n        <div\n          style={{\n            display: 'inline-flex',\n            maxWidth: '100%',\n            background: setting.color,\n            color: '#ffffff',\n            borderRadius: 6,\n            padding: '4px 8px',\n            fontSize: 12,\n            fontWeight: 800,\n            lineHeight: 1.1,\n            boxSizing: 'border-box',\n          }}\n        >\n          {String(setting.message || setting.label).replace('_', ' ')}\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default AqiScaleSVG;\r\n","// All rights to the entire source code, it's associated documentation, and design are the property of Linked Things (Pvt) Ltd.\r\n// No part of the above can be copied, saved, or used, in any manner whatsoever by any entity or individual unless explicitly authorized to do so.\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';\r\nimport { getAQISetting, idGenerator  } from '../legacyVisualUtils';\r\nconst uniqueId = idGenerator()\r\nfunction AQI({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    let color = 'rgb(0,150,0)'\r\n    let message = 'Good'\r\n    let deg = 0\r\n    const [state, setState] = useState({\r\n        config: {\r\n            label: '',\r\n            deviceType: 'AQI',\r\n            colorPalette: ''\r\n        },\r\n    })\r\n    useEffect(() => {\r\n        let state1 = { ...state };\r\n        if (\"config\" in props) {\r\n            if (props.config) {\r\n                if (\"label\" in props.config) {\r\n                    state1.config.label = props.config.label;\r\n                }\r\n                if (\"deviceType\" in props.config) {\r\n                    state1.config.deviceType = props.config.deviceType;\r\n                }\r\n                const aqiset = getAQISetting(0, state1.config.deviceType)\r\n                state1.config.colorPalette = aqiset.colorPalette\r\n            }\r\n        }\r\n        setState(state1);\r\n    }, [props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n            const aqiset = getAQISetting(value, state.config.deviceType)\r\n            color = aqiset.color\r\n            message = aqiset.message\r\n            deg = (value <= aqiset.max ? value : aqiset.max) / aqiset.max * 180\r\n        } else {\r\n            value = 0\r\n            deg = 0\r\n            const aqiset = getAQISetting(0, state.config.deviceType)\r\n            color = aqiset.color\r\n            message = aqiset.message\r\n        }\r\n    }\r\n\r\n    return (\r\n    <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\" style={{ ...style, shapeRendering:\"geometricPrecision\", textRendering:\"geometricPrecision\", imageRendering: \"optimizeQuality\", fillRule: \"evenodd\", clipRule:\"evenodd\", width: '100%', height: '100%',}} viewBox=\"0 0 648.93 348.93\" xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n        {props?.config?.param?\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n        :null}\r\n      <clipPath id={uniqueId+\"0\"}>\r\n        <path d=\"M0.02 308.65c3.98,-80.68 37.62,-156.37 94.75,-213.5 61.12,-61.12 143.26,-95.15 229.7,-95.15 86.44,0 168.58,34.03 229.7,95.15 57.13,57.13 90.77,132.82 94.75,213.5 0.22,4.38 -1.21,8.23 -4.24,11.4 -3.02,3.18 -6.8,4.79 -11.18,4.79l-46.37 0c-8.19,0 -14.93,-6.37 -15.41,-14.54 -3.53,-60.72 -29.1,-117.58 -72.12,-160.59 -46.6,-46.6 -109.23,-72.54 -175.13,-72.54 -65.9,0 -128.53,25.94 -175.13,72.54 -43.02,43.02 -68.58,99.87 -72.12,160.59 -0.48,8.17 -7.22,14.54 -15.41,14.54l-46.37 0c-4.38,0 -8.16,-1.62 -11.18,-4.79 -3.02,-3.18 -4.45,-7.02 -4.24,-11.4z\"/>\r\n      </clipPath>\r\n      <mask id={uniqueId+\"1\"}>\r\n        <linearGradient id={uniqueId+\"2\"} gradientUnits=\"userSpaceOnUse\" x1=\"417.08\" y1=\"299.07\" x2=\"184.31\" y2=\"319.18\">\r\n          <stop offset=\"0\" style={{stopOpacity:1, stopColor:\"white\"}}/>\r\n          <stop offset=\"1\" style={{stopOpacity:0, stopColor:\"white\"}}/>\r\n        </linearGradient>\r\n        <rect style={{fill:\"url(#\"+uniqueId+\"2)\"}} x=\"174.61\" y=\"301.72\" width=\"149.74\" height=\"20.13\"/>\r\n      </mask>\r\n      <g style={{clipPath:\"url(#\"+uniqueId+\"0)\"}}>\r\n      <foreignObject x=\"0\" y=\"0\" width=\"648.93\" height=\"348.25\">\r\n        <div xmlns=\"http://www.w3.org/1999/xhtml\" style={{backgroundImage: state.config.colorPalette, width: '100%', height: '100%'}}>\r\n        </div>\r\n      </foreignObject>\r\n      <circle r='49%' fill='rgba(255,255,255,0.2)' cx='51%' cy='93.3%'/>\r\n      </g>\r\n      <text x=\"50%\" y=\"55%\" fill={color} style={{fontSize: '55px', fontWeight: 'bold'}} textAnchor=\"middle\">{value+ ' '+ (props?.config?.unit || 'index')}</text>\r\n      <text x=\"50%\" y=\"70%\" fill={color} style={{fontSize: '40px', fontWeight: 'bold'}} textAnchor=\"middle\">{message}</text>\r\n      <text x=\"50%\" y=\"77%\" fill={color} style={{fontSize: '25px', fontWeight: 'bold'}} textAnchor=\"middle\"></text>\r\n      <g className='arrow' style={{transition: \"all 1s\", transformOrigin: \"50% 93%\", transform: 'rotate('+deg+'deg)'}}>\r\n        <path fill='rgb(20, 20, 20)' d=\"M174.43 319.28l151.54 -20.37c1.55,-0.21 3.01,0.44 3.93,1.57l16.45 20.38c1.31,1.63 1.24,3.91 -0.05,5.46l-16.4 20.32c-1.01,1.25 -2.57,1.79 -4.05,1.55l-151.51 -20.37c-2.36,-0.32 -4.01,-2.48 -3.69,-4.84 0.27,-1.99 1.86,-3.48 3.77,-3.7z\"/>\r\n        <polygon fill='#fff' style={{mask:\"url(#\"+uniqueId+\"1)\"}} points=\"312.73,321.84 174.61,321.84 324.35,301.72 \"/>\r\n      </g>\r\n    </svg>\r\n\r\n    );\r\n}\r\nexport default AQI\r\n\r\n\r\n","// All rights to the entire source code, it's associated documentation, and design are the property of Linked Things (Pvt) Ltd.\r\n// No part of the above can be copied, saved, or used, in any manner whatsoever by any entity or individual unless explicitly authorized to do so.\r\nimport React, {  useState } from \"react\";\r\nimport './barrage.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';\r\n\r\n\r\nfunction Barrage({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    let per = 0 \r\n    const min = props.config?.min || 0\r\n    const max = props.config?.max || 100\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n            per = ((value - min) / (max - min) * 100)\r\n            per = (per > 100? 100: per < 0? 0: per)\r\n        } else {\r\n            value = 0\r\n            per = 0\r\n        }\r\n    }\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\"\r\n            style={{ ...style,  shapeRendering: \"geometricPrecision\", textRendering: \"geometricPrecision\", imageRendering: \"optimizeQuality\", fillRule: \"evenodd\", clipRule: \"evenodd\", width: \"100%\", height: \"100%\" }}\r\n            viewBox=\"0 0 21.81 21.81\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <defs>\r\n                <clipPath id=\"barrage_id0\">\r\n                    <path d=\"M2.18 0.12l17.45 0c1.13,0 2.06,0.93 2.06,2.06l0 17.45c0,1.13 -0.93,2.06 -2.06,2.06l-17.45 0c-1.13,0 -2.06,-0.93 -2.06,-2.06l0 -17.45c0,-1.13 0.93,-2.06 2.06,-2.06z\" />\r\n                </clipPath>\r\n            </defs>\r\n            <g>\r\n                <g style={{ clipPath: \"url(#barrage_id0)\" }}>\r\n                    <g className='levelHeight4' style={{ transform: 'translateY(-' + (per * 55 / 100) + '%)' }}>\r\n                        <path className=\"wave4 barrage_fil0\" d=\"M17.79 15.85c-1.56,0.18 -3.2,0.57 -5.03,0.44 -1.83,-0.13 -3.86,-0.78 -5.54,-0.73 -1.67,0.04 -2.99,0.78 -4.36,0.96 -0.9,0.12 -1.82,0 -2.75,-0.2l0 6.81 21.58 0 0 0 21.58 0 0 -7.39c-1.28,-0.03 -2.56,-0.03 -3.9,0.12 -1.56,0.18 -3.2,0.57 -5.03,0.44 -1.83,-0.13 -3.86,-0.78 -5.54,-0.73 -1.67,0.04 -2.99,0.78 -4.36,0.96 -2.05,0.28 -3.48,-1.03 -6.65,-0.67z\" />\r\n                    </g>\r\n                    <g className='levelHeight3' style={{ transform: 'translateY(-' + (per * 63 / 100) + '%)' }}>\r\n                        <path className=\"wave3 barrage_fil1\" d=\"M1.63 17.16c-0.58,0.1 -1.06,0.06 -1.51,-0.02l0 5.99 17.91 0 3.67 0 17.91 0 0 -6.79c-0.99,0.31 -2,0.57 -3.1,0.61 -1.44,0.06 -3.04,-0.26 -4.5,-0.19 -1.46,0.07 -2.78,0.54 -4.37,0.51 -1.59,-0.03 -3.45,-0.56 -4.87,-0.61 -1.37,-0.05 -2.7,0.43 -4.17,0.49 -1.27,0.05 -3.04,-0.46 -4.5,-0.39 -1.46,0.07 -2.78,0.54 -4.37,0.51 -1.59,-0.03 -3.45,-0.56 -4.87,-0.61 -1.42,-0.05 -2.41,0.36 -3.22,0.5z\" />\r\n                    </g>\r\n                    <g className='levelHeight2' style={{ transform: 'translateY(-' + (per * 67 / 100) + '%)' }}>\r\n                        <path className=\"wave2 barrage_fil2\" d=\"M3.01 17.82c-1.07,0.23 -1.99,0.28 -2.89,0.3l0 5.01c15.11,0 29.97,0 45.08,0l0 -5.74c-0.5,-0.11 -1.02,-0.18 -1.56,-0.2 -1.38,-0.04 -2.92,0.31 -4.53,0.49 -1.61,0.18 -3.3,0.21 -4.72,-0.01 -1.29,-0.19 -2.58,-0.67 -3.89,-0.64 -1.3,0.02 -2.74,0.53 -3.98,0.79 -2.65,0.56 -3.83,-0.56 -6.38,-0.63 -1.38,-0.04 -2.92,0.31 -4.53,0.49 -1.61,0.18 -3.3,0.21 -4.72,-0.01 -1.29,-0.19 -2.58,-0.67 -3.89,-0.64 -1.3,0.02 -2.74,0.53 -3.98,0.79z\" />\r\n                    </g>\r\n                    <g className='levelHeight1' style={{ transform: 'translateY(-' + (per * 80 / 100) + '%)' }}>\r\n                        <path className=\"wave1 barrage_fil3\" d=\"M2.74 18.81c-0.86,-0.08 -1.74,0.31 -2.63,0.77l0 3.55c14.32,0 28.64,0 42.96,0l0 -3.53c-0.81,0.09 -1.57,0.13 -2.24,0.07 -1.67,-0.13 -2.82,-0.8 -5,-0.76 -2.18,0.04 -5.4,0.78 -7.52,0.77 -2.12,-0.01 -3.15,-0.78 -4.2,-0.87 -1.6,-0.14 -2.08,1.07 -4.67,0.87 -1.67,-0.13 -2.82,-0.8 -5,-0.76 -2.18,0.04 -5.4,0.78 -7.52,0.77 -2.12,-0.01 -3.15,-0.78 -4.2,-0.87z\" />\r\n                    </g>\r\n                    <g className='levelHeight0' style={{ transform: 'translateY(-' + per + '%)' }}>\r\n                        <path className=\"wave0 barrage_fil4\" d=\"M22.76 21.24c-1.99,-0.15 -2.74,1.83 -5.18,1.61 -1.59,-0.14 -3.59,-1.48 -5.34,-1.53 -1.75,-0.05 -3.34,1.19 -4.9,1.2 -1.56,0.02 -3.1,-1.18 -4.47,-1.28 -0.99,-0.08 -1.88,0.43 -2.75,1.08l0 0.8c13.82,0 27.65,0 41.47,0l0 -1.82c-1.3,0.9 -2.62,1.69 -4.12,1.55 -1.69,-0.15 -3.59,-1.48 -5.34,-1.53 -1.75,-0.05 -3.34,1.19 -4.9,1.2 -1.56,0.02 -3.1,-1.18 -4.47,-1.28z\" />\r\n                        <rect className=\"barrage_fil4\" x=\"0.12\" y=\"23.03\" width=\"21.57\" height=\"22.24\" />\r\n                    </g>\r\n                </g>\r\n                <path className=\"barrage_fil5 barrage_str0\" d=\"M2.18 0.12l17.45 0c1.13,0 2.06,0.93 2.06,2.06l0 17.45c0,1.13 -0.93,2.06 -2.06,2.06l-17.45 0c-1.13,0 -2.06,-0.93 -2.06,-2.06l0 -17.45c0,-1.13 0.93,-2.06 2.06,-2.06z\" />\r\n                <g transform=\"matrix(1.00703 0 0 1 333.201 943.383)\">\r\n                    <text x=\"-318.5\" y=\"-931.74\" textAnchor=\"middle\" className=\"barrage_fil7 barrage_fnt0\">{value + ' ' + (props.config?.unit || 'in')}</text>\r\n                </g>\r\n                <g>\r\n                    <path className=\"barrage_fil8\" d=\"M3.26 1.29l-1.31 0c-0.39,0 -0.71,0.32 -0.71,0.71l0 17.81c0,0.39 0.32,0.71 0.71,0.71l1.31 0c0.39,0 0.71,-0.32 0.71,-0.71l0 -17.81c0,-0.39 -0.32,-0.71 -0.71,-0.71z\" />\r\n                    <path className=\"barrage_fil5 barrage_str2\" d=\"M1.82 2.25l1.57 0m-1.57 0.66l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l0.6 0m-0.6 0.67l1.57 0\" />\r\n                    <g transform=\"matrix(2.64845E-14 -1 1 2.64845E-14 935.124 -303.205)\">\r\n                        <text x=\"-322.51\" y=\"-931.74\" textAnchor=\"start\" className=\"barrage_fil9 barrage_fnt1\">{min + ' ' + (props.config?.unit || 'in')}</text>\r\n                    </g>\r\n                    <g transform=\"matrix(2.64845E-14 -1 1 2.64845E-14 935.124 -317.841)\">\r\n                        <text x=\"-320.3\" y=\"-931.74\" textAnchor=\"end\" className=\"barrage_fil9 barrage_fnt1\">{max + ' ' + (props.config?.unit || 'in')}</text>\r\n                    </g>\r\n                    <path className=\"barrage_fil10\" style={{ transform: 'translateY(calc(0.5% - ' + (per * 79.9 / 100) + '%))' }} d=\"M2.85 19.51l0.22 -0.22c0.15,-0.15 0.39,-0.15 0.54,0l0 0c0.15,0.15 0.15,0.39 0,0.54l-0 0c-0.15,0.15 -0.39,0.15 -0.54,0l-0.22 -0.22c-0.03,-0.03 -0.03,-0.07 0,-0.1z\" />\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    );\r\n}\r\nexport default Barrage\r\n\r\n\r\n","import React, { useState } from \"react\";\r\n\r\nimport './breaker.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';\r\nconst Breaker = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            viewBox=\"0 0 6745 10392\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\", cursor: props?.config?.isControllable && \"pointer\" }}\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g>\r\n                <g className={\"switch\" + (!value ? \" on\" : '')}>\r\n                    <path className=\"fil0\" d=\"M6286 3181l-259 -224 -1193 1386c98,61 185,136 260,223l1192 -1385z\" />\r\n                    <circle className=\"fil1\" transform=\"matrix(7.71884 6.64629 -6.64629 7.71884 6276.97 2929.46)\" r=\"46\" />\r\n                </g>\r\n                <path className=\"fil2\" d=\"M4198 4039c639,0 1158,518 1158,1157 0,640 -519,1158 -1158,1158 0,-962 0,-1353 0,-2315z\" />\r\n                <path className=\"fil3\" d=\"M4198 5676l0 -960c265,0 480,215 480,480 0,265 -215,480 -480,480z\" />\r\n                <path className=\"fil4\" d=\"M158 553l569 0c92,0 168,75 168,167l0 8952c0,93 -76,168 -168,168l-569 0 0 -9287z\" />\r\n                <rect className=\"fil5\" x=\"895\" y=\"1500\" width=\"3151\" height=\"7393\" />\r\n                <g id=\"_598327752\">\r\n                    <polygon className=\"fil6\" points=\"895,2725 895,2487 915,2486 3216,2605 \" />\r\n                    <polygon className=\"fil6\" points=\"895,4019 895,3782 915,3780 3216,3899 \" />\r\n                    <polygon className=\"fil6\" points=\"895,5313 895,5076 915,5075 3216,5193 \" />\r\n                    <polygon className=\"fil6\" points=\"895,6607 895,6370 915,6369 3216,6488 \" />\r\n                    <polygon className=\"fil6\" points=\"895,7901 895,7664 915,7663 3216,7782 \" />\r\n                </g>\r\n                <path className=\"fil7\" d=\"M4046 1500l-171 0 0 7393 171 0c94,0 171,-77 171,-171l0 -7051c0,-94 -77,-171 -171,-171z\" />\r\n                <rect className=\"fil2\" width=\"316\" height=\"10392\" />\r\n                <text x=\"3372.5\" y=\"5580\" fontSize=\"1000\" style={{ transform: 'rotate(90deg)', transformOrigin: \"center\" }} textAnchor=\"middle\" fill=\"black\" fontWeight=\"bold\">{value ? \"ON\" : \"OFF\"}</text>\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Breaker\r\n\r\n\r\n\r\n","import React, { useState } from \"react\";\r\nimport './dbDoor.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';const DbDoor = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            viewBox=\"50 0 6450 6450\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g>\r\n                <path className=\"db_1\" d=\"M4889.16 442.89l-3428.34 0 0 5867.67 3420.19 18.04c0.47,-617.41 6.19,-4938.46 8.15,-5885.71z\" />\r\n                <path className=\"db_2\" d=\"M1552.71 584.85c0,1867.33 0,3734.56 0,5601.79l3244.55 0 0 -5601.79 -3244.55 0z\" />\r\n                <rect className=\"db_3\" x=\"1615.13\" y=\"656.19\" width=\"3119.71\" height=\"5459.1\" />\r\n                <path className=\"db_2\" d=\"M5036.61 3358.91c0,16.35 -13.93,29.61 -31.1,29.61 -17.17,0 -31.1,-13.26 -31.1,-29.61 0,-16.35 13.93,-29.61 31.1,-29.61 17.17,0 31.1,13.26 31.1,29.61zm-82.93 0c0,27.24 23.21,49.35 51.83,49.35 28.62,0 51.83,-22.1 51.83,-49.35 0,-27.24 -23.21,-49.34 -51.83,-49.34 -28.62,0 -51.83,22.1 -51.83,49.34z\" />\r\n                <path className=\"db_1\" d=\"M4789.1 3251.9c0,68.16 0,136.32 0,204.48 77.19,0 154.38,0 231.58,0 102.92,0 102.92,-204.48 0,-204.48 -77.19,0 -154.38,0 -231.58,0zm164.58 107.01c0,-27.24 23.21,-49.34 51.83,-49.34 28.62,0 51.83,22.1 51.83,49.34 0,27.24 -23.21,49.35 -51.83,49.35 -28.62,0 -51.83,-22.1 -51.83,-49.35z\" />\r\n                <path className=\"db_4\" d=\"M1555.54 588.86l3244.55 0 0 115.9 99.02 -11.88 0.75 -246.44 -3428.34 0 0 657.75 84.03 -10.08c0,-149.31 0,-355.93 0,-505.24z\" />\r\n                <g>\r\n                    <g>\r\n                        <path className=\"db_1\" d=\"M1562.12 4755.14l-27.42 0c-0.61,0 -1.2,0.11 -1.78,0.33 -4.52,1.69 -7.97,9.66 -7.97,19.16l0 276.79c0,10.72 4.38,19.49 9.75,19.49l27.42 0 35.21 0c5.36,0 9.75,-8.77 9.75,-19.49l0 -276.79c0,-9.14 -3.19,-16.87 -7.46,-18.94 -0.73,-0.36 -1.5,-0.55 -2.29,-0.55l-35.21 0z\" />\r\n                        <path className=\"db_1\" d=\"M1597.84 4440.25l-35.72 0 -26.91 0c-5.36,0 -9.75,8.77 -9.75,19.49l0 276.79c0,9.14 3.19,16.87 7.46,18.94 0.58,-0.21 1.17,-0.33 1.78,-0.33l27.42 0 35.21 0c0.79,0 1.56,0.19 2.29,0.55 3.7,-1.38 6.68,-6.97 7.64,-14.17 0.21,-1.59 0.33,-3.27 0.33,-4.99l0 -276.79c0,-1.73 -0.11,-3.4 -0.33,-4.99 -1.11,-8.32 -4.92,-14.49 -9.42,-14.49z\" />\r\n                        <path className=\"db_4\" d=\"M1544.84 4755.14l-10.13 0c-0.61,0 -1.2,0.11 -1.78,0.33 -4.52,1.69 -7.97,9.66 -7.97,19.16l0 276.79c0,10.72 4.38,19.49 9.75,19.49l10.13 0 17.28 0 3.89 0 0 -315.76 -3.89 0 -17.28 0z\" />\r\n                        <path className=\"db_4\" d=\"M1534.71 4755.14l10.13 0 17.28 0 3.89 0 0 -314.89 -3.89 0 -17.28 0 -9.62 0c-5.36,0 -9.75,8.77 -9.75,19.49l0 276.79c0,9.14 3.19,16.87 7.46,18.94 0.58,-0.21 1.17,-0.33 1.78,-0.33z\" />\r\n                    </g>\r\n                    <g>\r\n                        <path className=\"db_1\" d=\"M1562.21 2034.83l35.77 0c0.94,0 1.85,-0.27 2.71,-0.77 3.2,-1.85 5.73,-6.89 6.65,-13.25 0.25,-1.69 0.38,-3.48 0.38,-5.32l0 -274.71c0,-1.85 -0.13,-3.63 -0.38,-5.32 -1.17,-8.07 -4.94,-14.02 -9.37,-14.02l-35.77 0 -26.86 0c-5.36,0 -9.75,8.7 -9.75,19.34l0 274.71c0,8.2 2.6,15.25 6.25,18.05 1.09,0.83 2.26,1.29 3.49,1.29l26.86 0z\" />\r\n                        <path className=\"db_1\" d=\"M1597.97 2034.83l-35.77 0 -26.86 0c-1.23,0 -2.41,-0.46 -3.49,-1.29 -4.05,2.34 -7.03,9.8 -7.03,18.57l0 274.71c0,10.64 4.38,19.34 9.75,19.34l27.64 0 34.99 0c5.36,0 9.75,-8.7 9.75,-19.34l0 -274.71c0,-8.2 -2.6,-15.25 -6.25,-18.05 -0.86,0.5 -1.77,0.77 -2.71,0.77z\" />\r\n                        <path className=\"db_4\" d=\"M1534.57 2346.15l10.35 0 17.28 0 3.89 0 0 -311.33 -3.89 0 -17.28 0 -9.57 0c-1.23,0 -2.41,-0.46 -3.49,-1.29 -4.05,2.34 -7.03,9.8 -7.03,18.57l0 274.71c0,10.64 4.38,19.34 9.75,19.34z\" />\r\n                        <path className=\"db_4\" d=\"M1531.86 2033.53c1.09,0.83 2.26,1.29 3.49,1.29l9.57 0 17.28 0 3.89 0 0 -313.39 -3.89 0 -17.28 0 -9.57 0c-5.36,0 -9.75,8.7 -9.75,19.34l0 274.71c0,8.2 2.61,15.25 6.25,18.05z\" />\r\n                    </g>\r\n                </g>\r\n                <g style={{\r\n                    transformOrigin: \"24.4% 0%\", transition: \"all 0.5s\", backfaceVisibility: \"visible\",\r\n                    transform: value ? 'rotateY(100deg) skewY(5deg)' : 'rotateY(0deg) skewY(0deg)'\r\n                }}>\r\n                    <path className=\"db_1\" d=\"M4789.1 3251.9c0,68.16 0,136.32 0,204.48 77.19,0 154.38,0 231.58,0 102.92,0 102.92,-204.48 0,-204.48 -77.19,0 -154.38,0 -231.58,0zm164.58 107.01c0,-27.24 23.21,-49.34 51.83,-49.34 28.62,0 51.83,22.1 51.83,49.34 0,27.24 -23.21,49.35 -51.83,49.35 -28.62,0 -51.83,-22.1 -51.83,-49.35z\" />\r\n                    <path className=\"db_2\" d=\"M5036.61 3358.91c0,16.35 -13.93,29.61 -31.1,29.61 -17.17,0 -31.1,-13.26 -31.1,-29.61 0,-16.35 13.93,-29.61 31.1,-29.61 17.17,0 31.1,13.26 31.1,29.61zm-82.93 0c0,27.24 23.21,49.35 51.83,49.35 28.62,0 51.83,-22.1 51.83,-49.35 0,-27.24 -23.21,-49.34 -51.83,-49.34 -28.62,0 -51.83,22.1 -51.83,49.34z\" />\r\n                    <path className=\"db_2\" d=\"M1552.71 585.54l0 1130.16 53.05 0c4.43,0 8.2,5.99 9.37,14.11l-0.4 595.55c-0.01,10.71 -4.39,19.48 -9.75,19.48l-52.27 0 0 2090.19 53 0c4.5,0 8.31,6.17 9.42,14.49l-0.18 596.38c-0,10.71 -4.39,19.48 -9.75,19.48l-52.49 0 0 1121.27 3244.55 0 0 -5601.1 -3244.55 0z\" />\r\n                    <path className=\"db_5\" d=\"M1615.13 655.95c0,1820.16 0,3640.22 0,5460.27l3119.71 0 0 -5460.27 -3119.71 0z\" />\r\n                    {/* <g style={{ transform: 'rotateY(100deg) skewY(5deg)', transform: 'rotateY(90deg)' }}> */}\r\n                    <g style={{\r\n                        transformOrigin: \"24.4% 0%\", transition: \"all 0.5s\", backfaceVisibility: \"visible\",\r\n                        transform: value ? 'rotateY(90deg)' : 'rotateY(0deg)'\r\n                    }}>\r\n                        <path className=\"db_2\" d=\"M2700.03 3788.18c316.64,-0.44 633.28,-0.88 949.91,-1.32 -158.53,-272.97 -317.06,-545.93 -475.59,-818.9 -158.11,273.41 -316.22,546.81 -474.33,820.22z\" />\r\n                        <path className=\"db_6\" d=\"M3570.32 3745.04c-131.09,-232.17 -266.68,-461.73 -393.13,-696.52 -40.69,70.89 -397.54,692.38 -397.54,695.28 0,0.81 722.61,1.18 790.67,1.23z\" />\r\n                        <path className=\"db_2\" d=\"M3133.39 3597.49c33.72,23.78 67.44,47.56 101.15,71.34 -0.56,-42.87 -1.12,-85.75 -1.4,-107.18 -0.28,-21.44 -0.28,-21.44 -0.28,-21.44 0,0 0,0 -5.92,3.63 -5.92,3.63 -17.75,10.88 -23.67,14.51 -5.92,3.63 -5.92,3.63 -12.5,-7.48 -6.59,-11.11 -19.76,-33.33 -26.35,-44.44 -6.59,-11.11 -6.59,-11.11 7.59,-11.22 14.18,-0.11 42.54,-0.34 56.72,-0.39 14.18,-0.06 14.18,0.06 14.18,0.11 0,0.06 0,0.06 0,-4.91 0,-4.97 0,-14.9 0,-19.87 0,-4.97 0,-4.97 0,-4.97 0,0 0,0 -17.47,-22.22 -17.47,-22.22 -52.42,-66.66 -87.37,-111.09 -8.71,6.81 -17.42,13.62 -26.13,20.43 30.37,36.96 60.74,73.91 75.92,92.39 15.18,18.48 15.18,18.48 15.18,18.48 0,0 0,0 -14.4,0 -14.4,0 -43.21,0 -57.61,0 -14.4,0 -14.4,0 -14.4,0 0,0 0,0 0.17,5.25 0.17,5.25 0.5,15.74 0.67,20.99 0.17,5.25 0.17,5.25 0.17,5.25 0,0 0,0 8.54,13.79 8.54,13.79 25.62,41.37 34.16,55.15 8.54,13.79 8.54,13.79 2.62,17.14 -5.92,3.35 -17.75,10.05 -29.59,16.75z\" />\r\n                        <rect className=\"db_7\" x=\"2392.3\" y=\"1359.99\" width=\"1565.36\" height=\"91.89\" rx=\"66.69\" ry=\"26.53\" />\r\n                        <rect className=\"db_7\" x=\"2392.3\" y=\"1527.54\" width=\"1565.36\" height=\"91.89\" rx=\"66.69\" ry=\"26.53\" />\r\n                        <rect className=\"db_7\" x=\"2392.3\" y=\"1695.09\" width=\"1565.36\" height=\"91.89\" rx=\"66.69\" ry=\"26.53\" />\r\n                        <rect className=\"db_7\" x=\"2392.3\" y=\"4978.33\" width=\"1565.36\" height=\"91.89\" rx=\"66.69\" ry=\"26.53\" />\r\n                        <rect className=\"db_7\" x=\"2392.3\" y=\"5145.88\" width=\"1565.36\" height=\"91.89\" rx=\"66.69\" ry=\"26.53\" />\r\n                        <rect className=\"db_7\" x=\"2392.3\" y=\"5313.43\" width=\"1565.36\" height=\"91.89\" rx=\"66.69\" ry=\"26.53\" />\r\n                    </g>\r\n                </g>\r\n                <path className=\"db_8\" d=\"M5195.01 454.16l-294.39 -439.48 -3444.91 0 -300.74 439.3c1346.46,0 2693.37,0.18 4040.04,0.18z\" />\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default DbDoor\r\n\r\n\r\n","import React, { useState } from 'react'\r\nimport './doorLock.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';const DoorLock = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            style={{ ...style, \r\n                shapeRendering: \"geometricPrecision\",\r\n                textRendering: \"geometricPrecision\",\r\n                imageRendering: \"optimizeQuality\",\r\n                fillRule: \"evenodd\",\r\n                clipRule: \"evenodd\",\r\n                width: \"100%\",\r\n                height: \"100%\",\r\n                cursor: props?.config?.isControllable && \"pointer\"\r\n            }}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n            viewBox=\"0 0 4671.61 3510.94\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g className=\"doorPerspective\">\r\n                <g className={\"doorRotate1\" + (value ? \" active\" : \"\")}>\r\n                    <polygon className=\"door2\" points=\"2303.08,3180.03 2303.08,330.91 310.89,330.91 310.89,3180.03 \" />\r\n                    <rect className=\"door1\" x=\"1988.55\" y=\"1391.61\" width=\"65.45\" height=\"727.72\" rx=\"32.72\" ry=\"32.72\" />\r\n                    <path className=\"door1\" d=\"M1991.29 1587.85c0,8.73 7.14,15.86 15.86,15.86l93.68 0c8.73,0 15.86,-7.14 15.86,-15.86 0,-8.73 -7.14,-15.86 -15.86,-15.86l-93.68 0c-8.73,0 -15.86,7.14 -15.86,15.86zm0 335.25c0,8.73 7.14,15.86 15.86,15.86l93.68 0c8.73,0 15.86,-7.14 15.86,-15.86 0,-8.73 -7.14,-15.86 -15.86,-15.86l-93.68 0c-8.73,0 -15.86,7.14 -15.86,15.86z\" />\r\n                </g>\r\n                <g className={\"doorRotate2\" + (value ? \" active\" : \"\")}>\r\n                    <polygon className=\"door2\" points=\"2368.53,330.91 2368.53,3180.03 4360.71,3180.03 4360.71,330.91 \" />\r\n                    <rect className=\"door1\" x=\"2617.61\" y=\"1391.61\" width=\"65.45\" height=\"727.72\" rx=\"32.72\" ry=\"32.72\" />\r\n                    <path className=\"door1\" d=\"M2680.31 1587.85c0,8.73 -7.14,15.86 -15.86,15.86l-93.68 0c-8.73,0 -15.86,-7.14 -15.86,-15.86 0,-8.73 7.14,-15.86 15.86,-15.86l93.68 0c8.73,0 15.86,7.14 15.86,15.86zm0 335.25c0,8.73 -7.14,15.86 -15.86,15.86l-93.68 0c-8.73,0 -15.86,-7.14 -15.86,-15.86 0,-8.73 7.14,-15.86 15.86,-15.86l93.68 0c8.73,0 15.86,7.14 15.86,15.86z\" />\r\n                </g>\r\n                <path className=\"door0\" d=\"M-0 0l4671.61 0 0 3510.94 -4671.61 0 0 -3510.94zm245.44 265.46l4180.72 0 0 2980.02 -4180.72 0 0 -2980.02z\" />\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\n\r\nexport default DoorLock\r\n\r\n\r\n","import React from 'react';\nimport { clampValue } from '../dynamicSvgUtils';\n\nconst ConveyorBeltSVG = ({ value = 0, width = '100%', height = '100%', title = 'Conveyor belt', className, style }) => {\n  const level = clampValue(value);\n  const x = 36 + (level / 100) * 116;\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <rect x=\"34\" y=\"132\" width=\"172\" height=\"44\" rx=\"22\" fill=\"#1e293b\" stroke=\"#0f172a\" strokeWidth=\"7\" />\n      <circle cx=\"58\" cy=\"154\" r=\"13\" fill=\"#94a3b8\" />\n      <circle cx=\"98\" cy=\"154\" r=\"13\" fill=\"#94a3b8\" />\n      <circle cx=\"138\" cy=\"154\" r=\"13\" fill=\"#94a3b8\" />\n      <circle cx=\"178\" cy=\"154\" r=\"13\" fill=\"#94a3b8\" />\n      <rect x={x} y=\"78\" width=\"48\" height=\"48\" rx=\"8\" fill=\"#f59e0b\" stroke=\"#92400e\" strokeWidth=\"6\" />\n      <path d=\"M58 186v24M182 186v24M45 210h150\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n      <path d=\"M68 113h104\" stroke=\"#38bdf8\" strokeWidth=\"7\" strokeLinecap=\"round\" strokeDasharray=\"12 12\" opacity={0.35 + level / 180} />\n      <text x=\"120\" y=\"50\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"20\" fontWeight=\"800\">{level}% speed</text>\n    </svg>\n  );\n};\n\nexport default ConveyorBeltSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst CoffeeMakerSVG = createDailyLifeDynamicSVG('coffee', 'Coffee maker');\n\nexport default CoffeeMakerSVG;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { LatestEventHandler } from '../legacyVisualUtils';\nimport { firstFinite, getTelemetryAccentColor } from '../telemetryProps';\n\nfunction readTelemetryValue(data, param) {\n  if (!data || !param || !(param in data)) return undefined;\n  return data[param];\n}\n\nfunction clampPercent(value) {\n  const numericValue = Number(value);\n  if (!Number.isFinite(numericValue)) return 50;\n  return Math.min(100, Math.max(0, numericValue));\n}\n\nconst CeilingFanSVG = ({\n  value,\n  speed,\n  config,\n  width = '100%',\n  height = '100%',\n  className,\n  style,\n  theme,\n  variant,\n  status,\n  accentColor,\n  animated = true,\n} = {}) => {\n  const [liveValue, setLiveValue] = useState(null);\n  const param = config?.param || 'value';\n  const rawValue = firstFinite(readTelemetryValue(liveValue, param), speed, value, config?.speed, config?.value, 50);\n  const level = clampPercent(rawValue);\n  const color = getTelemetryAccentColor({ accentColor: accentColor || config?.color, status, fallback: '#0ea5e9' });\n  const bladeDuration = `${Math.max(0.42, 3.1 - level * 0.026).toFixed(2)}s`;\n  const airflowOpacity = 0.2 + level / 140;\n  const isNight = theme === 'dark' || variant === 'dark';\n\n  const handleChange = useCallback(\n    (event) => {\n      if (!config?.deviceId) {\n        setLiveValue(null);\n        return;\n      }\n\n      setLiveValue(event?.target?.value || null);\n    },\n    [config?.deviceId],\n  );\n\n  const bladeGradientId = useMemo(() => `ceiling-fan-blade-${Math.random().toString(36).slice(2, 9)}`, []);\n  const glowId = useMemo(() => `ceiling-fan-glow-${Math.random().toString(36).slice(2, 9)}`, []);\n\n  return (\n    <svg\n      preserveAspectRatio=\"xMidYMid meet\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 0 240 240\"\n      width={width}\n      height={height}\n      role=\"img\"\n      aria-label={`${config?.label || 'Ceiling fan'} ${Math.round(level)}% speed`}\n      className={className}\n      data-theme={theme}\n      data-variant={variant}\n      data-status={status}\n      style={{ display: 'block', ...style }}\n    >\n      {config?.deviceId ? <LatestEventHandler deviceId={config.deviceId} onChange={handleChange} /> : null}\n      <defs>\n        <linearGradient id={bladeGradientId} x1=\"0\" x2=\"1\" y1=\"0\" y2=\"1\">\n          <stop offset=\"0\" stopColor=\"#f8fafc\" />\n          <stop offset=\"0.52\" stopColor=\"#bfdbfe\" />\n          <stop offset=\"1\" stopColor={color} stopOpacity=\"0.85\" />\n        </linearGradient>\n        <filter id={glowId} x=\"-30%\" y=\"-30%\" width=\"160%\" height=\"160%\">\n          <feGaussianBlur stdDeviation=\"4\" result=\"blur\" />\n          <feMerge>\n            <feMergeNode in=\"blur\" />\n            <feMergeNode in=\"SourceGraphic\" />\n          </feMerge>\n        </filter>\n      </defs>\n\n      <rect x=\"22\" y=\"22\" width=\"196\" height=\"196\" rx=\"38\" fill={isNight ? '#0f172a' : '#f8fafc'} />\n      <circle cx=\"120\" cy=\"116\" r=\"88\" fill={isNight ? '#1e293b' : '#e0f2fe'} opacity=\"0.72\" />\n      <path d=\"M88 30h64\" stroke={isNight ? '#cbd5e1' : '#0f172a'} strokeWidth=\"10\" strokeLinecap=\"round\" />\n      <path d=\"M120 34v54\" stroke={isNight ? '#cbd5e1' : '#0f172a'} strokeWidth=\"9\" strokeLinecap=\"round\" />\n      <rect x=\"98\" y=\"76\" width=\"44\" height=\"24\" rx=\"12\" fill={isNight ? '#334155' : '#dbeafe'} stroke={color} strokeWidth=\"5\" />\n\n      <g transform=\"translate(120 112)\" filter={`url(#${glowId})`}>\n        <g>\n          {animated && level > 0 ? <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0\" to=\"360\" dur={bladeDuration} repeatCount=\"indefinite\" /> : null}\n          <path d=\"M9 -8C44 -39 79 -48 103 -30C104 -2 62 6 9 8Z\" fill={`url(#${bladeGradientId})`} stroke=\"#2563eb\" strokeWidth=\"5\" strokeLinejoin=\"round\" />\n          <path d=\"M-9 8C-46 37 -82 42 -104 22C-101 -7 -58 -10 -9 -8Z\" fill={`url(#${bladeGradientId})`} stroke=\"#2563eb\" strokeWidth=\"5\" strokeLinejoin=\"round\" />\n          <path d=\"M-5 -11C-15 -58 -6 -91 19 -104C43 -89 30 -49 5 -11Z\" fill={`url(#${bladeGradientId})`} stroke=\"#2563eb\" strokeWidth=\"5\" strokeLinejoin=\"round\" />\n          <path d=\"M5 11C15 58 5 91 -20 104C-43 88 -30 49 -5 11Z\" fill={`url(#${bladeGradientId})`} stroke=\"#2563eb\" strokeWidth=\"5\" strokeLinejoin=\"round\" />\n        </g>\n      </g>\n\n      <circle cx=\"120\" cy=\"112\" r=\"22\" fill={isNight ? '#0f172a' : '#ffffff'} stroke={color} strokeWidth=\"7\" />\n      <circle cx=\"120\" cy=\"112\" r=\"9\" fill={color} />\n      <path d=\"M72 176c31 14 65 14 96 0M88 196c22 8 42 8 64 0\" fill=\"none\" stroke={color} strokeWidth=\"7\" strokeLinecap=\"round\" opacity={airflowOpacity} />\n      <path d=\"M64 158c38 18 74 18 112 0\" fill=\"none\" stroke=\"#38bdf8\" strokeWidth=\"5\" strokeLinecap=\"round\" opacity={Math.max(0.18, airflowOpacity - 0.12)} />\n\n      <rect x=\"54\" y=\"212\" width=\"132\" height=\"12\" rx=\"6\" fill={isNight ? '#334155' : '#e2e8f0'} />\n      <rect x=\"54\" y=\"212\" width={(132 * level) / 100} height=\"12\" rx=\"6\" fill={color} style={{ transition: 'width 500ms ease' }} />\n      <text x=\"120\" y=\"204\" textAnchor=\"middle\" fill={isNight ? '#e2e8f0' : '#0f172a'} fontFamily=\"Arial, sans-serif\" fontSize=\"17\" fontWeight=\"850\">\n        {Math.round(level)}% speed\n      </text>\n    </svg>\n  );\n};\n\nexport default CeilingFanSVG;\r\n\r\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst DoorBellSVG = createDailyLifeDynamicSVG('doorbell', 'Door bell');\n\nexport default DoorBellSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst ElectricKettleSVG = createDailyLifeDynamicSVG('kettle', 'Electric kettle');\n\nexport default ElectricKettleSVG;\n","import React from 'react';\nimport { clampValue, getLevelColor } from '../dynamicSvgUtils';\n\nconst FireAlarmSVG = ({ value = 0, width = '100%', height = '100%', title = 'Fire alarm', className, style }) => {\n  const level = clampValue(value);\n  const color = getLevelColor(level);\n  const scale = 0.75 + level / 180;\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <circle cx=\"120\" cy=\"118\" r=\"74\" fill=\"#fee2e2\" stroke=\"#ef4444\" strokeWidth=\"8\" />\n      <path d=\"M79 60 58 39M161 60l21-21M47 115H20M193 115h27\" stroke={color} strokeWidth=\"8\" strokeLinecap=\"round\" opacity={0.35 + level / 170} />\n      <g transform={`translate(120 122) scale(${scale}) translate(-120 -122)`}>\n        <path d=\"M121 172c-28-13-38-38-24-62 7-13 18-21 19-43 24 18 47 39 35 72 10-8 14-18 15-29 17 28 8 55-45 62Z\" fill=\"#ef4444\" />\n        <path d=\"M121 160c-15-9-21-23-12-37 6-9 13-14 13-27 17 14 28 29 20 48 6-4 9-10 11-17 9 17 2 31-32 33Z\" fill=\"#facc15\" />\n      </g>\n      <rect x=\"78\" y=\"188\" width=\"84\" height=\"18\" rx=\"9\" fill=\"#0f172a\" />\n      <text x=\"120\" y=\"33\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% alert</text>\n    </svg>\n  );\n};\n\nexport default FireAlarmSVG;\n","import React from 'react'\r\nimport \"./generator.scss\"\r\n\r\nfunction Generator({ width = '100%', height = '100%', className, style }) {\r\n  return (\r\n      <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className}  \n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      // preserveAspectRatio=\"none\" \r\n      xmlSpace=\"preserve\" \r\n      version=\"1.1\"\r\n      width={width}\r\n      height={height}\r\n      viewBox=\"0 0 6199.05 3590.41\"\r\n      xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n      <g>\r\n       <path className=\"gen_fil0\" d=\"M5781.12 359.7c0,55.15 -44.72,99.87 -99.87,99.87 -55.15,0 -99.87,-44.72 -99.87,-99.87 0,-105.7 34.36,-191.76 90.19,-253.62 62.27,-69 149.12,-106.08 244.18,-106.08l116.36 0c100.83,0 43.68,199.73 -31.29,199.73l-85.07 0c-38.47,0 -72.63,13.9 -95.95,39.75 -23.95,26.53 -38.69,67.02 -38.69,120.22z\"/>\r\n       <polygon className=\"gen_fil1\" points=\"1794.41,376.48 3412.52,376.48 3547.83,523.76 3547.83,3012.3 1929.71,3012.3 1929.71,523.76 \"/>\r\n       <polygon className=\"gen_fil2\" points=\"53.06,3012.3 53.06,528.9 205.49,376.48 1794.41,376.48 1929.71,523.76 1929.71,3012.3 \"/>\r\n       <polygon className=\"gen_fil1\" points=\"4384.13,376.48 6002.24,376.48 6137.54,523.76 6137.54,3012.3 4519.43,3012.3 4519.43,523.76 \"/>\r\n       <polygon className=\"gen_fil2\" points=\"3412.52,376.48 4384.13,376.48 4519.43,523.76 4519.43,3012.3 3547.83,3012.3 3547.83,523.76 \"/>\r\n       <rect className=\"gen_fil3\" x=\"329.48\" y=\"941.69\" width=\"1362.23\" height=\"2070.61\"/>\r\n       <rect className=\"gen_fil4\" x=\"444.95\" y=\"1050.15\" width=\"1131.29\" height=\"1962.15\"/>\r\n       <polygon className=\"gen_fil5\" points=\"584.57,1080.91 1576.24,1080.91 1576.24,1187.1 444.96,1187.1 \"/>\r\n       <g>\r\n        <path className=\"gen_fil5\" d=\"M584.57 1231.92c330.55,0 661.11,0 991.67,0 0,35.4 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 1382.92c330.55,0 661.11,0 991.67,0 0,35.4 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 1533.93c330.55,0 661.11,0 991.67,0 0,35.4 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 1684.94c330.55,0 661.11,0 991.67,0 0,35.39 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 1835.94c330.55,0 661.11,0 991.67,0 0,35.4 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 1986.94c330.55,0 661.11,0 991.67,0 0,35.4 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 2137.95c330.55,0 661.11,0 991.67,0 0,35.39 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 2288.95c330.55,0 661.11,0 991.67,0 0,35.4 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 2439.97c330.55,0 661.11,0 991.67,0 0,35.39 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 2590.97c330.55,0 661.11,0 991.67,0 0,35.39 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n        <path className=\"gen_fil5\" d=\"M584.57 2741.98c330.55,0 661.11,0 991.67,0 0,35.39 0,70.79 0,106.19 -377.1,0 -754.19,0 -1131.28,0 46.54,-35.4 93.08,-70.79 139.62,-106.19z\"/>\r\n       </g>\r\n       <polygon className=\"gen_fil5\" points=\"584.57,2892.98 1576.24,2892.98 1576.24,2999.17 444.96,2999.17 \"/>\r\n       <path className=\"gen_fil6 gen_str0\" d=\"M1929.71 669.17l1618.11 0m971.61 0l1618.11 0\"/>\r\n       <rect className=\"gen_fil1 gen_str0\" x=\"2241.22\" y=\"822.18\" width=\"1060.02\" height=\"1883.47\"/>\r\n       <path className=\"gen_fil7\" d=\"M2137.18 1080.91l98 0 0 81.46 -28.1 0.77c-4.5,0.13 -8.06,3.82 -8.09,8.29l0 90.52 -61.8 0c-3.99,0 -7.24,-3.25 -7.24,-7.24l0 -166.56c0,-3.99 3.25,-7.25 7.24,-7.25zm114.64 0l61.81 0c3.99,0 7.24,3.25 7.24,7.25l0 166.56c0,3.99 -3.25,7.24 -7.24,7.24l-98.01 0 0 -82.46 27.87 -0.75c4.6,0 8.32,-3.73 8.32,-8.32l0 -89.52z\"/>\r\n       <path className=\"gen_fil7\" d=\"M2137.18 2450.68l98 0 0 -81.45 -28.1 -0.78c-4.5,-0.12 -8.06,-3.82 -8.09,-8.29l0 -90.52 -61.8 0c-3.99,0 -7.24,3.25 -7.24,7.24l0 166.56c0,3.99 3.25,7.24 7.24,7.24zm114.64 0l61.81 0c3.99,0 7.24,-3.25 7.24,-7.24l0 -166.56c0,-3.99 -3.25,-7.24 -7.24,-7.24l-98.01 0 0 82.46 27.87 0.74c4.6,0 8.32,3.73 8.32,8.32l0 89.52z\"/>\r\n       <rect className=\"gen_fil7\" x=\"3048.63\" y=\"1682.6\" width=\"190.95\" height=\"181.05\" rx=\"10.65\" ry=\"10.65\"/>\r\n       <rect className=\"gen_fil2\" x=\"2449.03\" y=\"1014.35\" width=\"622.5\" height=\"445.06\" rx=\"34.73\" ry=\"26.19\"/>\r\n       <rect className=\"gen_fil6 gen_str0\" x=\"4805.58\" y=\"822.18\" width=\"1060.02\" height=\"1883.47\"/>\r\n       <path className=\"gen_fil7\" d=\"M5793.18 1080.91l98 0 0 81.46 -28.1 0.77c-4.5,0.13 -8.07,3.82 -8.1,8.29l0 90.52 -61.8 0c-3.99,0 -7.25,-3.25 -7.25,-7.24l0 -166.56c0,-3.99 3.25,-7.25 7.25,-7.25zm114.64 0l61.81 0c3.99,0 7.25,3.25 7.25,7.25l0 166.56c0,3.99 -3.25,7.24 -7.25,7.24l-98 0 0 -82.46 27.87 -0.75c4.59,0 8.32,-3.73 8.32,-8.32l0 -89.52z\"/>\r\n       <path className=\"gen_fil7\" d=\"M5793.18 2450.68l98 0 0 -81.45 -28.1 -0.78c-4.5,-0.12 -8.07,-3.82 -8.1,-8.29l0 -90.52 -61.8 0c-3.99,0 -7.25,3.25 -7.25,7.24l0 166.56c0,3.99 3.25,7.24 7.25,7.24zm114.64 0l61.81 0c3.99,0 7.25,-3.25 7.25,-7.24l0 -166.56c0,-3.99 -3.25,-7.24 -7.25,-7.24l-98 0 0 82.46 27.87 0.74c4.59,0 8.32,3.73 8.32,8.32l0 89.52z\"/>\r\n       <rect className=\"gen_fil7\" x=\"4867.25\" y=\"1682.6\" width=\"190.95\" height=\"181.05\" rx=\"10.65\" ry=\"10.65\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1207.97\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1215.72\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1223.48\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1231.23\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1305.91\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1403.85\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1501.79\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1599.73\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1697.67\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1795.61\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1893.55\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"1991.49\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"2089.42\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"2187.36\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1313.66\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1411.6\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1509.54\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1607.48\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1705.42\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1803.36\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1901.3\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"1999.24\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"2097.18\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"2195.12\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1321.42\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1419.36\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1517.29\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1615.23\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1713.17\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1811.11\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"1909.05\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"2006.99\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"2104.93\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"2202.87\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1329.17\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1427.11\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1525.05\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1622.99\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1720.93\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1818.86\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"1916.8\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"2014.74\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"2112.68\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5335.59\" y=\"2282.45\" width=\"74.18\" height=\"65.96\" rx=\"13.79\" ry=\"13.79\"/>\r\n       <rect className=\"gen_fil8\" x=\"5446.07\" y=\"2290.2\" width=\"56.74\" height=\"50.46\" rx=\"10.55\" ry=\"10.55\"/>\r\n       <rect className=\"gen_fil8\" x=\"5544.57\" y=\"2297.95\" width=\"39.31\" height=\"34.95\" rx=\"7.31\" ry=\"7.31\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"2207.77\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <rect className=\"gen_fil8\" x=\"5631.08\" y=\"2305.7\" width=\"21.87\" height=\"19.45\" rx=\"4.07\" ry=\"4.07\"/>\r\n       <polygon className=\"gen_fil9\" points=\"3464.86,433.45 4340.6,433.45 4423.57,524.2 4423.57,3024.7 3547.83,3024.7 3547.83,524.2 \"/>\r\n       <rect className=\"gen_fil10 gen_str1\" x=\"3783.48\" y=\"777.51\" width=\"443.69\" height=\"430.47\" rx=\"40.2\" ry=\"40.2\"/>\r\n       <ellipse className=\"gen_fil11\" cx=\"4041.77\" cy=\"981.5\" rx=\"97.56\" ry=\"120.6\"/>\r\n       <path className=\"gen_fil12\" d=\"M4132.78 912.97c41.53,0 51.22,28.45 51.22,74.49 0,46.05 -4.37,74.93 -45.9,74.93 -41.53,0 -111.87,-41.45 -111.87,-74.93 0,-33.48 65.02,-74.49 106.54,-74.49z\"/>\r\n       <rect className=\"gen_fil10 gen_str1\" x=\"3795.46\" y=\"2122.41\" width=\"326.68\" height=\"467.8\" rx=\"20.86\" ry=\"58.87\"/>\r\n       <polygon className=\"gen_fil9\" points=\"20.73,3286.33 6199.05,3286.33 5957.17,3590.41 255.7,3590.41 \"/>\r\n       <rect className=\"gen_fil9\" x=\"131.3\" y=\"3024.7\" width=\"5915.7\" height=\"274.02\"/>\r\n       <rect className=\"gen_fil13\" y=\"3012.3\" width=\"6178.31\" height=\"24.8\" rx=\"151.57\" ry=\"12.4\"/>\r\n       <polygon className=\"gen_fil13\" points=\"45.51,3318.4 6173.54,3318.4 6199.05,3286.33 6047.01,3286.33 131.3,3286.33 20.73,3286.33 \"/>\r\n      </g>\r\n     </svg>\r\n  )\r\n}\r\n\r\nexport default Generator\r\n\r\n","// All rights to the entire source code, it's associated documentation, and design are the property of Linked Things (Pvt) Ltd.\r\n// No part of the above can be copied, saved, or used, in any manner whatsoever by any entity or individual unless explicitly authorized to do so.\r\nimport React, { useMemo, useState, useEffect } from \"react\";\nimport \"./guage.scss\"\r\nimport { LatestEventHandler } from '../legacyVisualUtils';\nimport { idGenerator  } from '../legacyVisualUtils';\nimport { firstFinite, getTelemetrySvgProps } from '../telemetryProps';\n\nconst uniqueId = idGenerator()\nfunction Guage({\n    value,\n    pressure,\n    temperature,\n    thresholds,\n    status,\n    theme,\n    variant,\n    showIcon = true,\n    accentColor,\n    width = '100%',\n    height = '100%',\n    className,\n    style,\n    ...props\n} = {}) {\n    const [liveValue, setLiveValue] = useState( null )\n    let gaugeValue = firstFinite(value, pressure, temperature, props?.value, props?.config?.value, props?.config?.defaultValue)\n    const normalizedConfig = useMemo(() => ({\n        ...(props.config || {}),\n        ...(thresholds?.warning ? { lowest: thresholds.warning } : {}),\n        ...(thresholds?.critical ? { highest: thresholds.critical } : {}),\n        ...(accentColor ? { color: accentColor } : {}),\n    }), [accentColor, props.config, thresholds?.critical, thresholds?.warning])\n    const [state, setState] = useState({\n        color: {\r\n            green: \"rgb(0, 150, 0)\",\r\n            yellow: \"rgb(230, 230, 0)\",\r\n            orange: \"rgb(220, 102, 0)\",\r\n            red: \"rgb(200, 0, 0)\",\r\n            purple: \"rgb(100, 0, 100)\",\r\n        },\r\n        config: {\r\n            colorScale: [{ color: 'yellow', position: 0 }, { color: 'green', position: 0 }, { color: 'red', position: 100 }],\r\n            gradient: false,\r\n            minValue: 0,\r\n            maxValue: 100,\r\n            label: '',\r\n            labelVisible: true,\r\n        },\r\n        finalConfig: { color: null },\r\n    })\r\n    \r\n    const onChangeHandler = (e) => {\r\n        if(normalizedConfig?.deviceId){\n            const newData = e.target.value\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if(value === undefined && pressure === undefined && temperature === undefined && props?.value === undefined && normalizedConfig?.value === undefined && normalizedConfig?.defaultValue === undefined && liveValue && normalizedConfig?.param in liveValue){\n        if (liveValue[normalizedConfig.param] !== null) {\n            gaugeValue = liveValue[normalizedConfig.param]\n        } else {\n            gaugeValue = 0\n        }\n    }\n    useEffect(() => {\n        let state1 = { ...state }, conicColor = \"\";\n        if (normalizedConfig) {\n            if (normalizedConfig) {\n                // if(\"colorScale\" in props.config){\r\n                //     state1.config.colorScale = props.config.colorScale;\r\n                // }\r\n                // if(\"gradient\" in props.config){\r\n                //     state1.config.gradient = props.config.gradient;\r\n                // }\r\n                if (\"label\" in normalizedConfig) {\n                    state1.config.label = normalizedConfig.label;\n                }\n                if (\"labelVisible\" in normalizedConfig) {\n                    state1.config.labelVisible = normalizedConfig.labelVisible;\n                }\n                if (\"min\" in normalizedConfig) {\n                    state1.config.minValue = parseInt(normalizedConfig.min);\n                }\n                if (\"max\" in normalizedConfig) {\n                    state1.config.maxValue = parseInt(normalizedConfig.max);\n                }\n                if (\"lowest\" in normalizedConfig) {\n                    state1.config[\"lowestValue\"] = parseInt(normalizedConfig.lowest);\n                    state1.config.colorScale[1].position = state1.config[\"lowestValue\"]\n                }\n                if (\"highest\" in normalizedConfig) {\n                    state1.config[\"highestValue\"] = parseInt(normalizedConfig.highest);\n                    state1.config.colorScale[2].position = state1.config[\"highestValue\"]\n                } else {\n                    state1.config.colorScale[2].position = state1.config.maxValue\n                }\n                if (\"color\" in normalizedConfig && normalizedConfig.color) {\n                    state1.color.green = normalizedConfig.color;\n                }\n            }\n        }\n        if (state1.config.colorScale) {\r\n            state1.config.colorScale.map((e, key) => {\r\n                if (key > 0) {\r\n                    if (!state1.config.gradient) {\r\n                        conicColor += \", \" + state1.color[state1.config.colorScale[key - 1].color] + \" \" + (((e.position / state1.config.maxValue) * 100) * 180) / 100 + \"deg\";\r\n                    }\r\n                    conicColor += \", \"\r\n                }\r\n                if (\"color\" in e) {\r\n                    // state1.config.colorScale[key].color = state1.color[e.color]\r\n                    conicColor += state1.color[e.color];\r\n                }\r\n                if (\"position\" in e) {\r\n                    // state1.config.colorScale[key].position = (((e.position / state1.config.maxValue) * 100) * 180) / 100\r\n                    conicColor += \" \" + (((e.position / state1.config.maxValue) * 100) * 180) / 100 + \"deg\";\r\n\r\n                }\r\n            })\r\n            conicColor = \"conic-gradient(from -90deg at 50% 100%,\" + conicColor + \")\"\r\n            state1.finalConfig[\"color\"] = conicColor;\r\n        }\n        setState(state1);\n    }, [normalizedConfig])\n    const telemetrySvgProps = getTelemetrySvgProps({\n        className: className || props?.className,\n        style,\n        theme,\n        variant,\n        status,\n        accentColor,\n        fallbackAccentColor: state.color.green,\n    })\n\n    return state.finalConfig ? (\n        // <div\r\n        //     className=\"graph-guage\"\r\n        //     style={{\r\n        //         backgroundImage: state.finalConfig.color,\r\n        //         filter: nightMode ? \"brightness(3)\" : \"\"\r\n        //     }}\r\n        // >\r\n        //     <LatestEventHandler\r\n        //         deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n        //         onChange={onChangeHandler}\r\n        //     />\r\n        //     <div className=\"mask\"\r\n        //         style={nightMode ? \"maskBg\" in props.config ? { backgroundColor: props.config.maskBg } : { backgroundColor: \"rgb(3,3,3)\" } : \"maskBg\" in props.config ? { backgroundColor: props.config.maskBg } : null}\r\n        //     >\r\n        //         <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width}\r\n        //             className=\"guageArrow\"\r\n        //             style={{ ...style,  transform: \"translateX(-50%) rotate(calc(\" + ((((value > state.config.maxValue ? state.config.maxValue : value) / state.config.maxValue) * 100) * 180) / 100 + \"deg - 90deg))\" }}\r\n        //             xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\"\r\n        //             viewBox=\"0 0 12.96 110.84\"\r\n        //             xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n        //             <g>\r\n        //                 <polygon fill={nightMode ? \"white\" : \"black\"} style={{ transition: \"all 0.3s\" }} points=\"0,96.95 6.48,102.26 12.96,96.95 6.48,-0 \" />\r\n        //                 <circle fill=\"red\" cx=\"6.48\" cy=\"104.36\" r=\"6.48\" />\r\n        //             </g>\r\n        //             <text textAnchor=\"left\" x='10%' y='90%' style={{ fill: nightMode ? \"white\" : \"black\" }}>{state.config.minValue}</text>\r\n        //             <text textAnchor=\"right\" x='90%' y='90%' style={{ fill: nightMode ? \"white\" : \"black\" }}>{state.config.maxValue}</text>\r\n        //             <text textAnchor=\"middle\" x='50%' y='90%' style={{ fill: nightMode ? \"white\" : \"black\" }}>{state.config.maxValue}</text>\r\n        //         </svg>\r\n        //         <div className=\"label text-left\" style={{ color: nightMode ? \"white\" : \"black\", left: \"1%\", right: \"unset\", top: \"90%\", }}>{state.config.minValue}</div>\r\n        //         <div className=\"label text-right\" style={{ color: nightMode ? \"white\" : \"black\", left: \"unset\", right: \"1%\", top: \"90%\", }}>{state.config.maxValue}</div>\r\n        //         <div className=\"label\" style={{ color: nightMode ? \"white\" : \"black\" }}>{state.config.label} {value.toFixed(2)} {\"unit\" in props.config ? props.config.unit : \" \"}</div>\r\n        //     </div>\r\n        // </div>\r\n        \r\n    \r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={telemetrySvgProps.className} width={width} height={height} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\" style={{ ...telemetrySvgProps.style, shapeRendering:\"geometricPrecision\", textRendering:\"geometricPrecision\", imageRendering: \"optimizeQuality\", fillRule: \"evenodd\", clipRule:\"evenodd\", width: \"100%\", height: \"100%\",}} viewBox=\"0 0 648.93 348.93\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" data-theme={telemetrySvgProps['data-theme']} data-variant={telemetrySvgProps['data-variant']} data-status={telemetrySvgProps['data-status']}>\n            {normalizedConfig?.param? <LatestEventHandler\n                deviceId={normalizedConfig?.param? normalizedConfig?.deviceId: ''}\n                onChange={onChangeHandler}\n            />: null}\n            <clipPath id={uniqueId+\"0\"}>\r\n                <path d=\"M0.02 308.65c3.98,-80.68 37.62,-156.37 94.75,-213.5 61.12,-61.12 143.26,-95.15 229.7,-95.15 86.44,0 168.58,34.03 229.7,95.15 57.13,57.13 90.77,132.82 94.75,213.5 0.22,4.38 -1.21,8.23 -4.24,11.4 -3.02,3.18 -6.8,4.79 -11.18,4.79l-46.37 0c-8.19,0 -14.93,-6.37 -15.41,-14.54 -3.53,-60.72 -29.1,-117.58 -72.12,-160.59 -46.6,-46.6 -109.23,-72.54 -175.13,-72.54 -65.9,0 -128.53,25.94 -175.13,72.54 -43.02,43.02 -68.58,99.87 -72.12,160.59 -0.48,8.17 -7.22,14.54 -15.41,14.54l-46.37 0c-4.38,0 -8.16,-1.62 -11.18,-4.79 -3.02,-3.18 -4.45,-7.02 -4.24,-11.4z\"/>\r\n            </clipPath>\r\n            <mask id={uniqueId+\"1\"}>\r\n                <linearGradient id={uniqueId+\"2\"} gradientUnits=\"userSpaceOnUse\" x1=\"417.08\" y1=\"299.07\" x2=\"184.31\" y2=\"319.18\">\r\n                <stop offset=\"0\" style={{stopOpacity:1, stopColor:\"white\"}}/>\r\n                <stop offset=\"1\" style={{stopOpacity:0, stopColor:\"white\"}}/>\r\n                </linearGradient>\r\n                <rect style={{fill:\"url(#\"+uniqueId+\"2)\"}} x=\"174.61\" y=\"301.72\" width=\"149.74\" height=\"20.13\"/>\r\n            </mask>\r\n            <g style={{clipPath:\"url(#\"+uniqueId+\"0)\"}}>\r\n            <foreignObject x=\"0\" y=\"0\" width=\"648.93\" height=\"348.25\">\r\n                <div xmlns=\"http://www.w3.org/1999/xhtml\" style={{backgroundImage: state.finalConfig.color, width: '100%', height: '100%'}}>\r\n                </div>\r\n            </foreignObject>\r\n            <circle r='49%' fill='rgba(255,255,255,0.2)' cx='51%' cy='93.3%'/>\r\n            </g>\r\n            {state.config.labelVisible && showIcon?\n                <>\n                    <text textAnchor=\"left\" style={{fontSize: '35px',}} x='15%' y='90%'>{state.config.minValue}</text>\n                    <text textAnchor=\"end\" style={{fontSize: '35px',}} x='85%' y='90%'>{state.config.maxValue}</text>\n                    {variant !== 'minimal' ? <text textAnchor=\"middle\" style={{fontSize: '35px',}} x='50%' y='50%'>{(state.config.label?state.config.label:'Label') + ': ' + gaugeValue.toFixed(2) + ' ' + (normalizedConfig?.unit || '')}</text> : null}\n                </>\n            :null}\n            <g className='arrow' style={{transition: \"all 1s\", transformOrigin: \"50% 93%\", transform: 'rotate(calc(' + ((((gaugeValue > state.config.maxValue ? state.config.maxValue : gaugeValue) / state.config.maxValue) * 100) * 180) / 100 + 'deg)'}}>\n                <path fill='rgb(20, 20, 20)' d=\"M174.43 319.28l151.54 -20.37c1.55,-0.21 3.01,0.44 3.93,1.57l16.45 20.38c1.31,1.63 1.24,3.91 -0.05,5.46l-16.4 20.32c-1.01,1.25 -2.57,1.79 -4.05,1.55l-151.51 -20.37c-2.36,-0.32 -4.01,-2.48 -3.69,-4.84 0.27,-1.99 1.86,-3.48 3.77,-3.7z\"/>\r\n                <polygon fill='#fff' style={{mask:\"url(#\"+uniqueId+\"1)\"}} points=\"312.73,321.84 174.61,321.84 324.35,301.72 \"/>\r\n            </g>\r\n        </svg>\r\n\r\n    ) : null;\r\n}\r\nexport default Guage\r\n\r\n\r\n","import React from 'react'\r\nimport './gust.scss'\r\n\r\nfunction Gust({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\"\r\n            viewBox=\"0 0 1410 1517\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            <defs>\r\n                {/* <style type=\"text/css\">\r\n                    <![CDATA[\r\n                    .gust_fil4 {fill:#333333}\r\n                    .gust_fil1 {fill:gray}\r\n                    .gust_fil2 {fill:#FF5100}\r\n                    .gust_fil0 {fill:white}\r\n                    .gust_fil3 {fill:black;fill-opacity:0.200000}\r\n   ]]>\r\n                </style> */}\r\n            </defs>\r\n            <g>\r\n                <g>\r\n                    <path className=\"gust_fil0\" d=\"M200 181l1158 273c28,7 52,24 52,53l0 22c0,29 -24,46 -52,53l-1158 273c-27,6 -52,-24 -52,-52l0 -570c0,-28 25,-58 52,-52z\" />\r\n                    <rect className=\"gust_fil1\" x=\"32\" y=\"70\" width=\"75.9065\" height=\"1446.95\" rx=\"57\" ry=\"79\" />\r\n                    <path className=\"gust_fil2\" d=\"M362 817l0 -598 -162 -38c-27,-6 -52,24 -52,52l0 570c0,28 25,58 52,52l162 -38z\" />\r\n                    <polygon className=\"gust_fil2\" points=\"561,266 561,770 760,723 760,313 \" />\r\n                    <polygon className=\"gust_fil2\" points=\"960,360 960,676 1159,629 1159,407 \" />\r\n                    <path className=\"gust_fil3\" d=\"M1410 518l-1262 0 0 285c0,28 25,58 52,52l1158 -273c28,-7 52,-24 52,-53l0 -11z\" />\r\n                    <path className=\"gust_fil4\" d=\"M70 70l0 1447c21,0 38,-17 38,-38l0 -1371c0,-21 -17,-38 -38,-38z\" />\r\n                    <g>\r\n                        <circle className=\"gust_fil1\" transform=\"matrix(2.83809 2.83809 -2.83809 2.83809 69.9782 69.9781)\" r=\"17\" />\r\n                        <path className=\"gust_fil4\" d=\"M20 119c28,28 72,28 99,0 28,-27 28,-71 0,-99l-99 99z\" />\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Gust\r\n\r\n","import React from 'react';\n\nconst HeartMonitorSVG = ({ width = '100%', height = '100%', title = 'Heart monitor', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <rect x=\"34\" y=\"48\" width=\"172\" height=\"122\" rx=\"14\" fill=\"#0f172a\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <rect x=\"51\" y=\"66\" width=\"138\" height=\"86\" rx=\"8\" fill=\"#ecfeff\" />\n    <path d=\"M58 113h29l11-25 22 54 17-39 11 22h34\" fill=\"none\" stroke=\"#ef4444\" strokeWidth=\"7\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n    <path d=\"M90 170v24M150 170v24M72 196h96\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <circle cx=\"188\" cy=\"82\" r=\"7\" fill=\"#22c55e\" />\n    <circle cx=\"188\" cy=\"106\" r=\"7\" fill=\"#f59e0b\" />\n  </svg>\n);\n\nexport default HeartMonitorSVG;\n","import React from 'react';\n\nconst HospitalBedSVG = ({ width = '100%', height = '100%', title = 'Hospital bed', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <rect x=\"34\" y=\"98\" width=\"52\" height=\"72\" rx=\"8\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <rect x=\"82\" y=\"118\" width=\"124\" height=\"52\" rx=\"10\" fill=\"#bfdbfe\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <rect x=\"30\" y=\"83\" width=\"58\" height=\"31\" rx=\"10\" fill=\"#ffffff\" stroke=\"#1e40af\" strokeWidth=\"6\" />\n    <path d=\"M34 170h174M48 170v34M190 170v34M37 204h26M177 204h26\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <path d=\"M104 78h66c14 0 26 12 26 26v14\" fill=\"none\" stroke=\"#38bdf8\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <path d=\"M132 89v18M123 98h18\" stroke=\"#ef4444\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default HospitalBedSVG;\n","import React from 'react';\n\nconst HospitalBuildingSVG = ({ width = '100%', height = '100%', title = 'Hospital building', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <defs>\n      <linearGradient id=\"hospital-building-wall\" x1=\"42\" x2=\"198\" y1=\"24\" y2=\"218\" gradientUnits=\"userSpaceOnUse\">\n        <stop stopColor=\"#eff6ff\" />\n        <stop offset=\"1\" stopColor=\"#dbeafe\" />\n      </linearGradient>\n    </defs>\n    <rect x=\"44\" y=\"48\" width=\"152\" height=\"166\" rx=\"12\" fill=\"url(#hospital-building-wall)\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <rect x=\"74\" y=\"22\" width=\"92\" height=\"54\" rx=\"10\" fill=\"#ffffff\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <path d=\"M120 34v30M105 49h30\" stroke=\"#ef4444\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n    <rect x=\"73\" y=\"96\" width=\"28\" height=\"30\" rx=\"5\" fill=\"#93c5fd\" />\n    <rect x=\"139\" y=\"96\" width=\"28\" height=\"30\" rx=\"5\" fill=\"#93c5fd\" />\n    <rect x=\"73\" y=\"144\" width=\"28\" height=\"30\" rx=\"5\" fill=\"#93c5fd\" />\n    <rect x=\"139\" y=\"144\" width=\"28\" height=\"30\" rx=\"5\" fill=\"#93c5fd\" />\n    <path d=\"M106 214v-52c0-8 6-14 14-14s14 6 14 14v52\" fill=\"#ffffff\" stroke=\"#1e40af\" strokeWidth=\"6\" />\n    <path d=\"M32 214h176\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default HospitalBuildingSVG;\n","import React from 'react'\r\nimport \"./humidity.scss\"\r\n\r\nfunction Humidity({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            viewBox=\"0 0 2966 3072\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            <defs>\r\n                {/* <style type=\"text/css\">\r\n                <![CDATA[\r\n                .humidity_str0 {stroke:#fffffff9;stroke-width:83.6469;stroke-linecap:round}\r\n                .humidity_fil1 {fill:none}\r\n                .humidity_fil0 {fill:#fffffff9}\r\n   ]]>\r\n            </style> */}\r\n            </defs>\r\n            <g>\r\n                <g>\r\n                    <path className=\"humidity_fil0\" d=\"M819 0c969,1228 1089,1626 1089,2118 0,527 -427,954 -954,954 -527,0 -954,-427 -954,-954 0,-821 620,-812 819,-2118z\" />\r\n                    <g>\r\n                        <path className=\"humidity_fil1 humidity_str0\" d=\"M1678 1616c27,4 57,-13 140,-65 117,-72 132,2 241,56 56,27 75,11 128,-26 187,-128 138,-27 305,34 87,32 166,-132 254,-91 40,18 146,101 178,102\" />\r\n                        <path className=\"humidity_fil1 humidity_str0\" d=\"M1226 2194c93,28 157,-122 278,-67 165,76 111,115 281,9 117,-73 132,1 241,55 57,28 75,11 128,-25 188,-128 139,-27 305,33 87,32 166,-131 254,-91 41,18 147,102 179,102\" />\r\n                        <path className=\"humidity_fil1 humidity_str0\" d=\"M911 2738c147,-120 138,-3 282,41 94,28 158,-123 278,-67 166,75 111,115 282,8 117,-72 131,2 240,56 57,27 75,11 129,-26 187,-128 138,-27 304,34 87,32 166,-132 255,-91 40,18 146,102 178,102\" />\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Humidity\r\n\r\n","import React from 'react'\r\nimport './illuminance.scss'\r\n\r\nfunction Illuminance({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"0 0 697 883\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            <defs>\r\n                {/* <style type=\"text/css\">\r\n                <![CDATA[\r\n                .illuminance_fil2 {fill:#FF9900}\r\n                .illuminance_fil3 {fill:#FFCC00}\r\n                .illuminance_fil1 {fill:yellow}\r\n                .illuminance_fil0 {fill:#FFFF5E}\r\n   ]]>\r\n            </style> */}\r\n                <mask id=\"illuminance_id0\">\r\n                    <linearGradient id=\"illuminance_id1\" gradientUnits=\"userSpaceOnUse\" x1=\"353.534\" y1=\"391.815\" x2=\"348.57\" y2=\"899.604\">\r\n                        <stop offset=\"0\" style={{ stopOpacity: 0, stopColor: \"white\" }} />\r\n                        <stop offset=\"1\" style={{ stopOpacity: 1, stopColor: \"white\" }} />\r\n                    </linearGradient>\r\n                    <rect style={{ fill: \"url(#illuminance_id1)\" }} y=\"349\" width=\"279\" height=\"524\" />\r\n                </mask>\r\n                <mask id=\"illuminance_id2\">\r\n                    <linearGradient id=\"illuminance_id3\" gradientUnits=\"userSpaceOnUse\" x1=\"353.534\" y1=\"391.815\" x2=\"348.57\" y2=\"899.604\">\r\n                        <stop offset=\"0\" style={{ stopOpacity: 0, stopColor: \"white\" }} />\r\n                        <stop offset=\"1\" style={{ stopOpacity: 1, stopColor: \"white\" }} />\r\n                    </linearGradient>\r\n                    <rect style={{ fill: \"url(#illuminance_id3)\" }} x=\"417\" y=\"349\" width=\"279\" height=\"524\" />\r\n                </mask>\r\n            </defs>\r\n            <g>\r\n                <g>\r\n                    <ellipse className=\"illuminance_fil0\" cx=\"349\" cy=\"797\" rx=\"349\" ry=\"86\" />\r\n                    <path className=\"illuminance_fil1\" style={{ mask: \"url(#illuminance_id0)\" }} d=\"M214 718l65 -369 -92 0 -180 431 -7 17c0,33 76,62 187,77l27 -156z\" />\r\n                    <path className=\"illuminance_fil1\" style={{ mask: \"url(#illuminance_id2)\" }} d=\"M482 718l-65 -369 92 0 180 431 7 17c0,33 -76,62 -187,77l-27 -156z\" />\r\n                    <g>\r\n                        <circle className=\"illuminance_fil2\" cx=\"349\" cy=\"261\" r=\"179\" />\r\n                        <path className=\"illuminance_fil3\" d=\"M347 0l28 69c-8,-1 -17,-2 -26,-2 -11,0 -21,1 -31,3l29 -70zm57 75l56 -50 -4 75c-16,-11 -34,-19 -52,-25zm75 42l72 -20 -36 65c-10,-17 -22,-32 -36,-45zm49 71l74 13 -61 43c-1,-20 -6,-38 -13,-56zm14 85l61 44 -74 12c7,-17 11,-36 13,-56zm-25 83l36 66 -71 -21c14,-13 26,-28 35,-45zm-58 63l4 76 -55 -50c18,-6 36,-15 51,-26zm-79 33l-30 70 -28 -70c9,2 18,2 27,2 10,0 20,-1 31,-2zm-86 -6l-57 50 4 -74c16,10 34,19 53,24zm-75 -42l-73 21 36 -66c10,17 22,32 37,45zm-50 -71l-74 -13 61 -43c1,20 6,39 13,56zm-14 -85l-61 -44 74 -12c-7,18 -11,37 -13,56zm25 -82l-36 -67 71 21c-14,14 -26,29 -35,46zm58 -64l-4 -75 55 50c-18,5 -36,14 -51,25z\" />\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Illuminance\r\n\r\n\r\n","import React from 'react'\r\nconst InverterImg = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'%3E%3Crect width='160' height='100' rx='14' fill='%23e5e7eb'/%3E%3Crect x='26' y='26' width='108' height='48' rx='8' fill='%23374151'/%3E%3Ccircle cx='48' cy='50' r='8' fill='%2322c55e'/%3E%3Cpath d='M72 42h42v6H72zm0 12h30v6H72z' fill='%23f8fafc'/%3E%3C/svg%3E\";const Inverter = () => {\r\n    return (\r\n        <img src={InverterImg} alt=\"inverter\" style={{ width: \"100%\", height: \"100%\", objectFit: 'contain' }} />\r\n    )\r\n}\r\n\r\nexport default Inverter\r\n\r\n","import React from 'react';\n\nconst IVDripSVG = ({ width = '100%', height = '100%', title = 'IV drip', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <path d=\"M64 218h84M106 218V33M82 33h48\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n    <rect x=\"130\" y=\"47\" width=\"54\" height=\"92\" rx=\"16\" fill=\"#eff6ff\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <path d=\"M133 88h48\" stroke=\"#93c5fd\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <path d=\"M157 64v24M145 76h24\" stroke=\"#ef4444\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <path d=\"M157 139v22c0 19-15 34-34 34H96\" fill=\"none\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <path d=\"M83 184c-8 8-8 17 0 25 8-8 8-17 0-25Z\" fill=\"#38bdf8\" stroke=\"#0ea5e9\" strokeWidth=\"5\" />\n  </svg>\n);\n\nexport default IVDripSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst KitchenScaleSVG = createDailyLifeDynamicSVG('scale', 'Kitchen scale');\n\nexport default KitchenScaleSVG;\n","import React, { useState, useEffect } from \"react\";\r\nimport './battery.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';\r\n\r\nconst Battery = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    const [state, setState] = useState({\r\n        config: {\r\n            label: '',\r\n        },\r\n        data: null,\r\n    })\r\n    useEffect(() => {\r\n        let state1 = { ...state };\r\n        if (\"config\" in props) {\r\n            if (props.config) {\r\n                if (\"label\" in props.config) {\r\n                    state1.config.label = props.config.label;\r\n                }\r\n            }\r\n        }\r\n        setState(state1);\r\n    }, [props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width}\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"0 0 21192 34770\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n        > \r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g>\r\n                <path\r\n                    className=\"battery_fil0 battery_str0\"\r\n                    d=\"M3857 3301l3826 0 0 -946c0,-817 669,-1486 1487,-1486l2853 0c817,0 1486,669 1486,1486l0 946 3826 0c1644,0 2989,1344 2989,2988l0 24624c0,1644 -1345,2989 -2989,2989l-13478 0c-1643,0 -2988,-1345 -2988,-2989l0 -24624c0,-1644 1345,-2988 2988,-2988z\"\r\n                />\r\n                <rect\r\n                    className=\"battery_fil1\"\r\n                    x=\"3098\"\r\n                    y=\"31493\"\r\n                    rx=\"1200\"\r\n                    width=\"14996.5\"\r\n                    height={value <= 100 ? (value * 75) / 100 + \"%\" : \"75%\"}\r\n                />\r\n                <text\r\n                    x=\"50%\"\r\n                    y=\"55%\"\r\n                    dominantBaseline=\"middle\"\r\n                    textAnchor=\"middle\"\r\n                    className=\"battery_fil3 battery_fnt0 battery_str1\"\r\n                >\r\n                    {value.toFixed(0)}%\r\n                </text>\r\n                <text\r\n                    x=\"50%\"\r\n                    y=\"55%\"\r\n                    dominantBaseline=\"middle\"\r\n                    textAnchor=\"middle\"\r\n                    className=\"battery_fil3 battery_fnt0\"\r\n                >\r\n                    {value.toFixed(0)}%\r\n                </text>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Battery\r\n\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport \"./signal.scss\"\r\nimport { LatestEventHandler } from '../legacyVisualUtils';function Signal({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = null\r\n    const [config, setConfig] = useState({\r\n        cssColor: \"#DBB240\",\r\n        strengthLevel: [1,21,41,61,81]\r\n    })\r\n    // const [events, setEvents] = useState({\r\n    //     Status: {},\r\n    //     Connection: {}\r\n    // })\r\n\r\n    useEffect(() => {\r\n        if (props?.config) {\r\n            let config1 = { ...config }\r\n            if (\"strengthLevel\" in props.config && props.config?.strengthLevel) {\r\n                config1.strengthLevel = [...props.config.strengthLevel ? props.config.strengthLevel : \"\"]\r\n            }\r\n            setConfig(config1)\r\n        }\r\n    }, [props.config])\r\n\r\n    // useEffect(async () => {\r\n    //     let events1 = { ...events }\r\n    //     let hubId = props?.config?.deviceId?.split(\"_\")\r\n    //     if (hubId) {\r\n    //         hubId = hubId[0] + \"_\" + hubId[1]\r\n    //     }\r\n    //     let Events = props?.eventReducer?.deviceEvents\r\n\r\n    //     if (Events.deviceId === props?.config?.deviceId) {\r\n    //         events1.Status = Events\r\n    //         setEvents(events1)\r\n    //     } else if (Events.deviceId === hubId) {\r\n    //         events1.Connection = Events\r\n    //         setEvents(events1)\r\n    //     }\r\n    // }, [props.eventReducer.deviceEvents])\r\n\r\n    // useEffect(() => {\r\n    //     if (props?.config?.param in events?.Status) {\r\n    //         let config1 = { ...config }\r\n    //         if (events.Status[props.config.param] !== null) {\r\n    //             config1.value = events.Status[props.config.param]\r\n    //         } else {\r\n    //             config1.value = 0\r\n    //         }\r\n    //         setConfig(config1)\r\n    //     }\r\n    // }, [events.Status])\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if(liveValue && props?.config?.param in liveValue){\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n  return (\r\n    <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className} xmlns=\"http://www.w3.org/2000/svg\"\n        // preserveAspectRatio=\"none\" \r\n        xmlSpace=\"preserve\" \r\n        version=\"1.1\"\r\n        width={width}\r\n        height={height}\r\n        viewBox=\"0 0 120 120\"\r\n        xmlnsXlink=\"http://www.w3.org/1999/xlink\" >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n        <g>\r\n            {/* <rect className={'signal_strength'+(config.value === 0?' offline':'')} rx=\"5\" x=\"10\" y=\"90\" width=\"13\" height=\"20\"/>\r\n            <rect className={'signal_strength'+(config.value === 0?' offline':'')} rx=\"5\" x=\"31.75\" y=\"70\" width=\"13\" height=\"40\"/>\r\n            <rect className={'signal_strength'+(config.value === 0?' offline':'')} rx=\"5\" x=\"53.5\" y=\"50\" width=\"13\" height=\"60\"/>\r\n            <rect className={'signal_strength'+(config.value === 0?' offline':'')} rx=\"5\" x=\"75.25\" y=\"30\" width=\"13\" height=\"80\"/>\r\n            <rect className={'signal_strength'+(config.value === 0?' offline':'')} rx=\"5\" x=\"97\" y=\"10\" width=\"13\" height=\"100\"/> */}\r\n            <rect className={'signal_strength'+((value >= config.strengthLevel[0])?' active':value === 0 || value === null?' offline': '')} rx=\"5\" x=\"10\" y=\"90\" width=\"13\" height=\"20\"/>\r\n            <rect className={'signal_strength'+((value >= config.strengthLevel[1])?' active':value === 0 || value === null?' offline': '')} rx=\"5\" x=\"31.75\" y=\"70\" width=\"13\" height=\"40\"/>\r\n            <rect className={'signal_strength'+((value >= config.strengthLevel[2])?' active':value === 0 || value === null?' offline': '')} rx=\"5\" x=\"53.5\" y=\"50\" width=\"13\" height=\"60\"/>\r\n            <rect className={'signal_strength'+((value >= config.strengthLevel[3])?' active':value === 0 || value === null?' offline': '')} rx=\"5\" x=\"75.25\" y=\"30\" width=\"13\" height=\"80\"/>\r\n            <rect className={'signal_strength'+((value >= config.strengthLevel[4])?' active':value === 0 || value === null?' offline': '')} rx=\"5\" x=\"97\" y=\"10\" width=\"13\" height=\"100\"/>\r\n            {value === 0 || value === null?\r\n                <rect className={'signal_strength'} rx=\"5\" x=\"0\" y=\"-15\" width=\"13\" height=\"155\"/>\r\n            :null}\r\n        </g>\r\n    </svg>\r\n  )\r\n}\r\nexport default Signal\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport { hexToHsl, hslToHex  } from '../legacyVisualUtils';import \"./tank.scss\"\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';function Tank({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    const [backColor, setBackColor] = useState(\"#cde7fe\")\r\n    const [secondaryColor, setSecondaryColor] = useState(\"#025197\")\r\n    const [config, setConfig] = useState({\r\n        cssColor: \"#1791fc\",\r\n    })\r\n\r\n    useEffect(() => {\r\n        if (props?.config) {\r\n            let config1 = { ...config }\r\n            if (\"color\" in props.config && props.config?.color) {\r\n                if (props.config.color.match(\"#\")) {\r\n                    config1.cssColor = props.config.color;\r\n                    let hsl = hexToHsl(config1.cssColor)\r\n                    let back = \"#000000\"\r\n                    if (hsl) {\r\n                        back = hslToHex(hsl.h, hsl.s, 90);\r\n                        hsl = hslToHex(hsl.h, hsl.s, 30);\r\n                    }\r\n                    setSecondaryColor(hsl)\r\n                    setBackColor(back)\r\n                }\r\n            }\r\n            setConfig(config1)\r\n        }\r\n    }, [props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            width={width}\r\n            height={height}\r\n            viewBox=\"0 0 78909 121519\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\" >\r\n\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <defs>\r\n                <linearGradient id=\"id0\" gradientUnits=\"userSpaceOnUse\" x1=\"9416.58\" y1=\"-24420.1\" x2=\"108743\" y2=\"-24420.4\">\r\n                    <stop offset=\"0\" style={{ stopOpacity: 1, stopColor: \"#fde4a3\" }} />\r\n                    <stop offset=\"1\" style={{ stopOpacity: 1, stopColor: \"#faf4e5\" }} />\r\n                </linearGradient>\r\n            </defs>\r\n            <g>\r\n                <rect fill={backColor} x=\"2656\" y=\"5674\" width=\"73597\" height=\"111323\" />\r\n                <g className=\"tank_wave\" style={{ transition: \"all 0.5s\", transform: 'translateY(-' + value + '%)' }}>\r\n                    <path fill={config.cssColor} className={\"tank_wave1\"} d=\"M2656 63635c20021,-12355 30087,7721 73597,0l0 6888 -73597 0 0 -6888z\" />\r\n                    <path fill={config.cssColor} className={\"tank_wave2\"} d=\"M76253 63635c-20021,-12355 -30087,7721 -73597,0l0 6888 73597 0 0 -6888z\" />\r\n                </g>\r\n                <rect fill={config.cssColor} x=\"2656\" y=\"0%\" width=\"73597\" height={value + \"%\"} style={{ transition: \"all 0.5s\", transform: 'rotate(180deg)', transformOrigin: 'center' }} />\r\n                <path className=\"tank_fil4\" d=\"M7880 8719l3073 0c644,0 1171,527 1171,1172l0 102888c0,644 -527,1172 -1171,1172l-3073 0c-644,0 -1171,-528 -1171,-1172l0 -102888c0,-645 527,-1172 1171,-1172z\" />\r\n                <path className=\"tank_fil4\" d=\"M41123 8719l29228 0c917,0 1668,751 1668,1669l0 101894c0,918 -751,1669 -1668,1669l-29228 0c-918,0 -1669,-751 -1669,-1669l0 -101894c0,-918 751,-1669 1669,-1669z\" />\r\n                <path fill={secondaryColor} d=\"M39454 40063c5893,9546 12860,21240 12860,29193 0,8631 -6827,13351 -12860,13351 -6032,0 -12859,-4720 -12859,-13351 0,-7953 7014,-19722 12859,-29193z\" />\r\n                <path fill={secondaryColor} d=\"M2781 115957l73347 0c1530,0 2781,1252 2781,2781l0 0c0,1530 -1251,2781 -2781,2781l-73347 0c-1530,0 -2781,-1251 -2781,-2781l0 0c0,-1529 1251,-2781 2781,-2781zm0 -115957l73347 0c1530,0 2781,1251 2781,2781l0 0c0,1529 -1251,2781 -2781,2781l-73347 0c-1530,0 -2781,-1252 -2781,-2781l0 0c0,-1530 1251,-2781 2781,-2781zm0 23644l73347 0c1530,0 2781,1251 2781,2781l0 0c0,1529 -1251,2781 -2781,2781l-73347 0c-1530,0 -2781,-1252 -2781,-2781l0 0c0,-1530 1251,-2781 2781,-2781zm0 68669l73347 0c1530,0 2781,1252 2781,2781l0 0c0,1530 -1251,2781 -2781,2781l-73347 0c-1530,0 -2781,-1251 -2781,-2781l0 0c0,-1529 1251,-2781 2781,-2781z\" />\r\n                <text x=\"50%\" y=\"57%\" dominantBaseline=\"middle\" textAnchor=\"middle\" className=\"tank_fnt0\">{value.toFixed(0) + \"%\"}</text>\r\n            </g>\r\n        </svg >\r\n    )\r\n}\r\n\r\nexport default Tank\r\n\r\n\r\n","// All rights to the entire source code, it's associated documentation, and design are the property of Linked Things (Pvt) Ltd.\r\n// No part of the above can be copied, saved, or used, in any manner whatsoever by any entity or individual unless explicitly authorized to do so.\r\nimport React, { useState, useEffect } from \"react\";\r\nimport './temperature.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';\r\n\r\nfunction Temperature({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    let per = 0\r\n    const [state, setState] = useState({\r\n        config: {\r\n            value: 0,\r\n            per: 0,\r\n            label: '',\r\n        },\r\n        data: null,\r\n    })\r\n    useEffect(() => {\r\n        let state1 = { ...state };\r\n        if (\"config\" in props) {\r\n            if (props.config) {\r\n                if (\"label\" in props.config) {\r\n                    state1.config.label = props.config.label;\r\n                }\r\n            }\r\n        }\r\n        setState(state1);\r\n    }, [props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n            per = value\r\n            per = per + 40\r\n            per = per / 90 * 100\r\n            per = per * 67.4 / 100\r\n        } else {\r\n            value = 0\r\n            per = 0\r\n        }\r\n    }\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\"\r\n            version=\"1.1\" style={{ ...style,  shapeRendering: \"geometricPrecision\", textRendering: \"geometricPrecision\", imageRendering: \"optimizeQuality\", fillRule: \"evenodd\", clipRule: \"evenodd\", width: \"100%\", height: \"100%\" }}\r\n            viewBox=\"0 0 415.34 737.96\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">   \r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <defs>\r\n                <clipPath id=\"temperature_id0\">\r\n                    <path d=\"M207.67 79.42c6.93,0 12.59,5.67 12.59,12.59l0 496.68c0,4.24 3.69,5.77 3.63,5.75 11.85,5.95 19.99,18.22 19.99,32.38 0,20 -16.21,36.21 -36.22,36.21 -20,0 -36.21,-16.21 -36.21,-36.21 0,-14.3 8.29,-26.65 20.31,-32.54 -0,0 3.2,-1.57 3.31,-5.33l0 -496.94c0,-6.93 5.67,-12.59 12.59,-12.59z\" />\r\n                </clipPath>\r\n                <linearGradient id=\"temperature_id1\" gradientUnits=\"userSpaceOnUse\" x1=\"207.47\" y1=\"304.26\" x2=\"207.47\" y2=\"455.53\">\r\n                    <stop offset=\"0\" style={{ stopOpacity: \"1\", stopColor: \"red\" }} />\r\n                    <stop offset=\"0.588235\" style={{ stopOpacity: \"1\", stopColor: \"yellow\" }} />\r\n                    <stop offset=\"1\" style={{ stopOpacity: \"1\", stopColor: \"#00CCFF\" }} />\r\n                </linearGradient>\r\n            </defs>\r\n            <g>\r\n                <rect className=\"temperature_fil0\" x=\"-0\" y=\"0\" width=\"415.34\" height=\"737.96\" rx=\"75.29\" ry=\"66.41\" />\r\n                <g style={{ transform: 'translateY(-2%)' }}>\r\n                    <path className=\"temperature_fil1\" d=\"M334.07 28.02c37.8,0 68.74,30.94 68.74,68.74l0 438.79c0,27.73 -14.23,61.81 -41.95,61.51 -47.7,-0.52 -70.92,23.03 -70.92,45.76 0,46.15 -34.65,67.12 -61.51,67.12 -13.84,0 -27.67,0 -41.51,0 -26.86,0 -61.51,-20.97 -61.51,-67.12 0,-22.73 -23.22,-46.27 -70.92,-45.76 -27.72,0.3 -41.95,-33.78 -41.95,-61.51l0 -438.79c0,-37.8 30.94,-68.74 68.74,-68.74 84.27,0 168.54,0 252.81,0zm-267.66 590.41c23.17,0 41.96,18.79 41.96,41.96 0,23.17 -18.79,41.96 -41.96,41.96 -23.17,0 -41.96,-18.79 -41.96,-41.96 0,-23.17 18.79,-41.96 41.96,-41.96z\" />\r\n                    <path className=\"temperature_fil2\" d=\"M207.67 709.94l20.75 0c26.86,0 61.51,-20.97 61.51,-67.12 0,-22.73 23.22,-46.27 70.92,-45.76 27.72,0.3 41.95,-33.78 41.95,-61.51l0 -438.79c0,-37.8 -30.94,-68.74 -68.74,-68.74l-126.4 0 0 681.92zm141.26 -91.51c23.17,0 41.96,18.79 41.96,41.96 0,23.17 -18.79,41.96 -41.96,41.96 -23.17,0 -41.96,-18.79 -41.96,-41.96 0,-23.17 18.79,-41.96 41.96,-41.96z\" />\r\n                    <path className=\"temperature_fil3 temperature_str0\" d=\"M234.14 584.32c14.49,9.01 23.64,25 23.64,42.56 0,27.67 -22.44,50.11 -50.11,50.11 -27.67,0 -50.11,-22.44 -50.11,-50.11 0,-17.56 9.15,-33.55 23.64,-42.56l0 -496.88c0,-14.58 11.88,-26.47 26.47,-26.47 14.58,0 26.47,11.88 26.47,26.47l0 496.88z\" />\r\n                    <path fill=\"url(#temperature_id1)\" d=\"M207.67 79.42c6.93,0 12.59,5.67 12.59,12.59l0 496.68c0,4.24 3.69,5.77 3.63,5.75 11.85,5.95 19.99,18.22 19.99,32.38 0,20 -16.21,36.21 -36.22,36.21 -20,0 -36.21,-16.21 -36.21,-36.21 0,-14.3 8.29,-26.65 20.31,-32.54 -0,0 3.2,-1.57 3.31,-5.33l0 -496.94c0,-6.93 5.67,-12.59 12.59,-12.59z\" />\r\n                    <g style={{ clipPath: \"url(#temperature_id0)\" }}>\r\n                        <g>\r\n                            <path style={{ transition: 'transform 1s', transform: \"translateY(-\" + per + \"%)\" }} className=\"temperature_fil5\" d=\"M207.67 72.58c6.84,0 12.4,5.53 12.59,12.33l0 -0.75 3.31 0 0 505.01 -3.31 0 -0 0 0 -0.36c-0.19,-6.76 -5.78,-12.24 -12.59,-12.24 -6.81,0 -12.4,5.47 -12.59,12.24l0 0.36 -0 0 -3.31 0 0 -505.01 3.31 0 0 0.65c0.19,-6.76 5.78,-12.24 12.59,-12.24z\" />\r\n                        </g>\r\n                    </g>\r\n                    <path className=\"temperature_fil3\" d=\"M207.67 79.42c6.93,0 12.59,5.67 12.59,12.59l0 496.68c0,4.24 3.69,5.77 3.63,5.75 11.85,5.95 19.99,18.22 19.99,32.38 0,20 -16.21,36.21 -36.22,36.21 -20,0 -36.21,-16.21 -36.21,-36.21 0,-14.3 8.29,-26.65 20.31,-32.54 -0,0 3.2,-1.57 3.31,-5.33l0 -496.94c0,-6.93 5.67,-12.59 12.59,-12.59z\" />\r\n                    <text x=\"106.1\" y=\"576.04\" className=\"temperature_fil6 temperature_fnt0\">-40</text>\r\n                    <text x=\"106.1\" y=\"522.01\" className=\"temperature_fil6 temperature_fnt0\">-30</text>\r\n                    <text x=\"106.1\" y=\"467.99\" className=\"temperature_fil6 temperature_fnt0\">-20</text>\r\n                    <text x=\"106.1\" y=\"413.97\" className=\"temperature_fil6 temperature_fnt0\">-10</text>\r\n                    <text x=\"113.07\" y=\"359.95\" className=\"temperature_fil6 temperature_fnt0\">0</text>\r\n                    <text x=\"108.13\" y=\"305.93\" className=\"temperature_fil6 temperature_fnt0\">10</text>\r\n                    <text x=\"108.76\" y=\"251.9\" className=\"temperature_fil6 temperature_fnt0\">20</text>\r\n                    <text x=\"108.65\" y=\"197.88\" className=\"temperature_fil6 temperature_fnt0\">30</text>\r\n                    <text x=\"108.89\" y=\"143.86\" className=\"temperature_fil6 temperature_fnt0\">40</text>\r\n                    <text x=\"108.65\" y=\"89.84\" className=\"temperature_fil6 temperature_fnt0\">50</text>\r\n                    <text x=\"283.69\" y=\"576.04\" className=\"temperature_fil6 temperature_fnt0\">-40</text>\r\n                    <text x=\"283.69\" y=\"514.45\" className=\"temperature_fil6 temperature_fnt0\">-20</text>\r\n                    <text x=\"292.75\" y=\"452.88\" className=\"temperature_fil6 temperature_fnt0\">0</text>\r\n                    <text x=\"287.15\" y=\"391.3\" className=\"temperature_fil6 temperature_fnt0\">20</text>\r\n                    <text x=\"287.32\" y=\"329.73\" className=\"temperature_fil6 temperature_fnt0\">40</text>\r\n                    <text x=\"287.05\" y=\"268.16\" className=\"temperature_fil6 temperature_fnt0\">60</text>\r\n                    <text x=\"287.02\" y=\"206.59\" className=\"temperature_fil6 temperature_fnt0\">80</text>\r\n                    <text x=\"280.59\" y=\"145.26\" className=\"temperature_fil6 temperature_fnt0\">100</text>\r\n                    <text x=\"280.59\" y=\"83.69\" className=\"temperature_fil6 temperature_fnt0\">120</text>\r\n                    <text x=\"349.48\" y=\"545.23\" className=\"temperature_fil6 temperature_fnt0\">-30</text>\r\n                    <text x=\"349.48\" y=\"483.69\" className=\"temperature_fil6 temperature_fnt0\">-10</text>\r\n                    <text x=\"354.13\" y=\"422.16\" className=\"temperature_fil6 temperature_fnt0\">10</text>\r\n                    <text x=\"352.94\" y=\"360.62\" className=\"temperature_fil6 temperature_fnt0\">30</text>\r\n                    <text x=\"353.11\" y=\"299.08\" className=\"temperature_fil6 temperature_fnt0\">50</text>\r\n                    <text x=\"352.84\" y=\"237.54\" className=\"temperature_fil6 temperature_fnt0\">70</text>\r\n                    <text x=\"352.81\" y=\"176\" className=\"temperature_fil6 temperature_fnt0\">90</text>\r\n                    <text x=\"346.82\" y=\"114.47\" className=\"temperature_fil6 temperature_fnt0\">110</text>\r\n                    <path className=\"temperature_fil3 temperature_str1\" d=\"M364.34 118.1l-34.82 0m-179.77 -24.62l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.02l-34.82 0m34.82 54.03l-34.82 0m183.61 0l-34.82 0m34.82 -61.59l-34.82 0m34.82 -61.57l-34.82 0m34.82 -61.57l-34.82 0m34.82 -61.57l-34.82 0m34.82 -61.57l-34.82 0m34.82 -61.57l-34.82 0m34.82 -61.33l-34.82 0m34.82 -61.57l-34.82 0m100.61 461.55l-34.82 0m34.82 -61.54l-34.82 0m34.82 -61.54l-34.82 0m34.82 -61.54l-34.82 0m34.82 -61.54l-34.82 0m34.82 -61.54l-34.82 0m34.82 -61.54l-34.82 0\" />\r\n                    <path className=\"temperature_fil3 temperature_str2\" d=\"M329.52 493.47l10.94 0m-190.72 -394.6l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.59l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.59l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.59l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.69l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.64l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.57l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.63l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 48.6l-10.64 0m10.64 43.22l-10.64 0m10.64 -21.61l-17.77 0m17.77 16.21l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m10.64 -10.8l-10.64 0m10.64 -5.4l-10.64 0m10.64 -5.4l-10.64 0m124.62 -387.54l10.94 0m-10.94 -30.77l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 116.74l10.94 0m-10.94 -30.77l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 116.97l10.94 0m-10.94 -30.77l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.21l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m54.85 -375.39l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 85.98l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 86.2l18.27 0m-18.27 24.62l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0m-10.94 -12.31l10.94 0m-10.94 -6.16l10.94 0m-10.94 -6.16l10.94 0\" />\r\n                    <text x=\"321.41\" y=\"674.52\" className=\"temperature_fil6 temperature_fnt1\">°F</text>\r\n                    <text x=\"37.65\" y=\"674.28\" className=\"temperature_fil6 temperature_fnt1\">°C</text>\r\n                    <text x=\"50%\" y=\"101%\" textAnchor=\"middle\" className=\"temperature_fnt1\">{value + \"°C\"}</text>\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    );\r\n}\r\nexport default Temperature\r\n\r\n\r\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst LaptopBatterySVG = createDailyLifeDynamicSVG('laptop', 'Laptop battery');\n\nexport default LaptopBatterySVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst LaundryBasketSVG = createDailyLifeDynamicSVG('laundry', 'Laundry basket');\n\nexport default LaundryBasketSVG;\n","import React, { useState } from \"react\";\r\nimport './light.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';\r\nconst Light = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"-25 0 234.59 234.59\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\", cursor: props?.config?.isControllable && \"pointer\", }}\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g style={{ transition: \"transform 0.5s\", transform: value ? 'translateY(0%)' : 'translateY(-7%)' }}  >\n                <path style={{ transition: \"0.5s\", fill: value ? '#FEC90E' : \"#B3B3B3\" }} fill=\"#B3B3B3\" d=\"M32.56 96.34c0,13.93 4.58,26.78 12.32,37.14 12.82,17.16 23.08,21.46 23.08,46.61l0.03 0 0 37.71c0,7.8 8.9,13.91 19.88,13.96 0.05,0 0.09,0 0.14,0l6.67 0 6.67 -0c0.05,0 0.09,0 0.14,0 10.98,-0.05 19.88,-6.16 19.88,-13.96l0 -37.71 0.03 0c0,-25.15 10.26,-29.45 23.08,-46.61 7.74,-10.36 12.32,-23.22 12.32,-37.14 0,-34.32 -27.82,-62.13 -62.13,-62.13 -34.32,0 -62.13,27.82 -62.13,62.13z\" />\r\n\r\n                <g style={{ transition: \"0.5s\", opacity: value ? 1 : 0 }}>\n                    <path className=\"light_str\" stroke=\"#FEC90E\" d=\"M31.7 162.19l14.6 -15.79m111.41 15.79l-14.6 -15.79m44.07 -49.65l-21.49 -0.56m-4.8 -66.21l-15.4 15m-50.78 -42.76l0 21.5m-66.18 6.26l15.4 15m-41.7 51.77l21.49 -0.56\" />\r\n                    <path className=\"light_str\" stroke=\"#FEA101\" d=\"M172.29 129.03l-12.36 -5.58m-142.82 5.58l12.36 -5.58m-13.73 -59.93l12.63 4.93m33.25 -51.72l5.3 12.48m60.85 -12.48l-5.3 12.48m51.19 34.31l-12.63 4.93\" />\r\n                </g>\r\n                <path className=\"light_str\" stroke=\"white\" d=\"M88.6 183.85c-0.26,-25.62 -0.65,-57.31 -11.94,-80.74 -1.61,-3.35 -10.8,-21.19 -17.73,-15.49 -7.55,6.21 6.21,28.22 22.96,27.11 5.7,-0.38 9.33,-2.61 12.96,-5.19 -12.1,-8.31 -12.73,-33.1 0,-33.66 12.73,0.56 12.1,25.35 0,33.66 3.62,2.58 7.26,4.81 12.96,5.19 16.75,1.11 30.62,-21.02 22.96,-27.11 -6.67,-5.3 -16.11,12.15 -17.73,15.49 -11.29,23.43 -11.68,55.12 -11.94,80.74\" />\r\n                <g>\r\n                    <path className=\"lightfil2\" fill=\"#474E5E\" d=\"M121.39 182.59l-53.39 0 0 35.22c0,7.8 8.9,13.91 19.88,13.96 0,0 0,0 0,0 0,1.56 3.04,2.82 6.8,2.82 0,0 0.01,0 0.01,0 0,0 0.01,0 0.01,0 3.76,0 6.8,-1.26 6.8,-2.82 0,-0 0,-0 0,-0 10.98,-0.05 19.88,-6.16 19.88,-13.96l0 -35.22zm-33.5 49.18l0.13 0 6.67 0 -6.67 0 -0.13 -0zm6.81 0l6.67 -0 0.13 0 -0.13 0 -6.67 0z\" />\r\n                    <path className=\"lightfil3\" fill=\"#303747\" d=\"M94.14 234.59c3,-0.02 6.61,-0.11 7.27,-2.92 9.09,-0.19 19.74,-5.02 19.99,-14.19 0.31,-11.32 0.12,-23.52 -0,-34.89l-19.15 -0.02 -4.29 0.03 -6.91 -0.03 -4.21 0 -5.26 0.03c0,9.11 0.6,8.52 -1.28,9.01 -3.66,0.95 -9.56,-0.44 -8.8,3.65 0.49,2.64 2.66,1.5 4.82,1.21 2.02,-0.27 4.32,-0.41 6.39,-0.68 4.58,-0.59 22.62,-3.57 25.26,-3.54l0.01 4.2 -26.05 3.74c-0.85,0.2 -1.25,0.44 -2.33,0.58 -4.67,0.61 -7.99,0.12 -8.14,2.83 -0.22,3.93 4.09,2.02 7.45,1.57l19.35 -2.53c2.68,-0.4 7.21,-1.35 9.71,-1.31l0.01 4.2c-6,0.53 -12.95,1.82 -19,2.72l-7.05 1.02c-6.5,1.51 -10.31,0.45 -10.47,3.41 -0.09,1.7 1.04,2.82 2.78,2.43 4.74,-1.06 9.23,-1.23 14.37,-2.02l19.36 -2.68 0.01 4.2c-4.77,0.42 -31.65,4.14 -33.62,5.66 -0.42,2.12 -0.24,2.35 0.98,3.45l8.34 -0.83c7.87,-1.11 16.58,-2.66 24.16,-3.46 -0.58,5.56 -3.73,11.66 -9.59,12.03 -0.38,3.16 -2.21,2.56 -3.5,2.89l-0.41 0.15c-0.05,0.02 -0.13,0.05 -0.19,0.09z\" />\r\n                </g>\r\n            </g>\r\n        </svg >\r\n    )\r\n}\r\nexport default Light\r\n\r\n\r\n","import React, { useEffect,  useState } from 'react'\r\nimport './lineProgress.scss'\r\nimport { LatestEventHandler } from '../legacyVisualUtils';const LinearProgress = (props) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = 70\r\n    const [night, setNight] = useState(false)\r\n    const [config, setConfig] = useState({\r\n        classColor: \"primary-gradient\",\r\n        cssColor: \"\",\r\n        label: \"Label\"\r\n    })\r\n    useEffect(() => {\r\n        setNight(props?.night)\r\n        if (props?.config) {\r\n            let config1 = { ...config }\r\n            if (\"color\" in props.config && props.config?.color) {\r\n                if (props.config.color.match(\"#\")) {\r\n                    config1.cssColor = props.config.color;\r\n                    config1.classColor = \"\";\r\n                } else {\r\n                    config1.classColor = props.config.color;\r\n                    config1.cssColor = \"\";\r\n                }\r\n            }\r\n            if (\"label\" in props.config && props.config?.label) {\r\n                config1.label = props.config.label\r\n            } else {\r\n                config1.label = \"Label\"\r\n\r\n            }\r\n            setConfig(config1)\r\n        }\r\n    }, [props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if(liveValue && props?.config?.param in liveValue){\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n            \r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n    // setNight(props?.night)\r\n    return (\r\n        <div style={{ width: \"100%\", height: \"100%\" }} className={'linearProgress ' + (night ? \"active2\" : \"\")}>\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: null}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <div className='d-flex justify-content-between' >\r\n                <b>{config.label}</b>\r\n                <div>{value}%</div>\r\n            </div>\r\n            <div className='progress'>\r\n                <div className={'innerProgress ' + config.classColor} style={config.cssColor ? { backgroundColor: config.cssColor, width: (value + \"%\") } : { width: (value + \"%\") }}></div>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\nexport default LinearProgress\r\n\r\n\r\n","import React, { useState } from \"react\";\r\nimport './machineATM.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';function MachineATM({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n  const [liveValue, setLiveValue] = useState(null)\r\n  let value = getLegacyDisplayValue({ props, liveValue })\r\n  const onChangeHandler = (e) => {\r\n      if(props?.config?.deviceId){\r\n          const newData = e.target.value\r\n          if(newData){\r\n              setLiveValue(newData)\r\n          }\r\n      }else{\r\n          setLiveValue(null)\r\n      }\r\n  }\r\n  if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n      if (liveValue[props.config.param] !== null) {\r\n          value = liveValue[props.config.param]\r\n      } else {\r\n          value = 0\r\n      }\r\n  }\r\n\r\n  return (\r\n    <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" width={width} height={height} version=\"1.1\" viewBox=\"0 0 12912.42 19648.75\" xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n    <LatestEventHandler\r\n        deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n        onChange={onChangeHandler}\r\n    />\r\n     <g>\r\n      <path className=\"machine_ATMfil0\" d=\"M1561.4 18353.44l0 -369.11c-973.14,178.52 -1561.4,410.86 -1561.4,664.9 0,1332.7 12912.42,1332.7 12912.42,0 0,-249.95 -569.46,-478.89 -1514.65,-656.22l0 360.44c-1831.23,0 -6440.06,0 -9836.37,0z\"/>\r\n      <polygon className=\"machine_ATMfil1\" points=\"11385.15,18507.46 11385.15,2604.75 11385.15,719.73 11385.15,0 1565.9,0 1565.9,18507.46 \"/>\r\n      <polygon className=\"machine_ATMfil2\" points=\"10554.77,18434.15 10554.77,2531.45 2432.05,2531.45 2432.05,18434.15 \"/>\r\n      <polygon className=\"machine_ATMfil3\" points=\"10541.03,729.5 2418.32,729.5 2418.32,2614.52 10541.03,2614.52 \"/>\r\n      <polygon className=\"machine_ATMfil4\" points=\"10349.14,913.88 2594.83,913.88 2594.83,2439.04 10349.14,2439.04 \"/>\r\n      <path className=\"machine_ATMfil5\" d=\"M4851.14 1633.62l-2082.09 0c-49.48,0 -89.97,40.48 -89.97,89.97 0,49.48 40.48,89.97 89.97,89.97l2082.09 0c49.48,0 89.97,-40.48 89.97,-89.97 0,-49.48 -40.48,-89.97 -89.97,-89.97z\"/>\r\n      <path className=\"machine_ATMfil5\" d=\"M8117.86 1637.82c-49.48,0 -89.97,40.48 -89.97,89.97 0,49.48 40.48,89.97 89.97,89.97l2082.09 0c49.48,0 89.97,-40.48 89.97,-89.97 0,-49.48 -40.48,-89.97 -89.97,-89.97l-2082.09 0z\"/>\r\n      <text x=\"5484.01\" y=\"2039.31\"  className=\"machine_ATMfil6 machine_ATMfnt0\">ATM</text>\r\n      <polygon className=\"machine_ATMfil7\" points=\"3444.63,8286.9 9521.15,8286.9 9521.15,3883.47 3444.63,3883.47 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"8098.01,4547.18 8098.01,5061.28 9151.9,5061.28 9151.9,4547.18 \"/>\r\n      <path className=\"machine_ATMfil8\" d=\"M4311.17 8867.94c-54.05,0 -107.87,-0 -161.68,-0.05 -53.93,-0.05 -107.74,0 -161.56,0 -1.2,0 -2.39,0.98 -2.76,2.23 -7.42,25.3 -14.93,50.67 -22.29,75.91 -7.37,25.26 -14.9,50.63 -22.29,75.85 -0.39,1.33 0.24,2.34 1.56,2.34 55.97,0 112.06,0.03 168.15,0.05 56.09,0.03 112.18,0.06 168.39,0.11 1.19,0 2.6,-0.96 2.87,-2.29 5.23,-25.23 10.49,-50.65 15.7,-75.91 5.21,-25.23 10.45,-50.63 15.7,-75.96 0.26,-1.27 -0.6,-2.29 -1.8,-2.29z\"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"6652,9361.48 6356.39,8577.49 3815.89,8577.49 3522.43,9363.63 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"5318.44,8824.36 6149.57,8824.36 6134.15,8676.56 5303.03,8676.56 \"/>\r\n      <path className=\"machine_ATMfil0\" d=\"M2701.94 9721.71l7574.35 0 -932.46 -1572.81 -5709.44 0 -932.46 1572.81zm3660.68 -1149.22l295.6 784 -3129.57 2.14 293.46 -786.14 2540.5 0z\"/>\r\n      <polygon className=\"machine_ATMfil9\" points=\"3634.4,8148.91 3634.4,4011.49 2701.94,3209.83 2701.94,9721.71 \"/>\r\n      <polygon className=\"machine_ATMfil10\" points=\"3634.4,4011.49 9343.84,4011.49 10276.29,3209.83 2701.94,3209.83 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"3794.4,6776.37 4017.17,6776.37 4017.17,6553.6 3794.4,6553.6 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"4017.17,6829.92 3794.4,6829.92 3794.4,7052.7 4017.17,7052.7 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"4019.31,7119.1 3796.54,7119.1 3796.54,7341.88 4019.31,7341.88 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"4018.25,7409.39 3795.48,7409.39 3795.48,7632.17 4018.25,7632.17 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"4050.62,8670.49 4003.28,8824.65 4324.83,8827.04 4359.11,8672.84 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"4277.02,9057.48 3937.24,9057.31 3889.66,9211.36 4244.54,9213.91 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"4337.42,9059.82 4308.17,9211.74 4666.16,9212.01 4682.22,9060.04 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"4347.6,9019.44 4684.14,9019.61 4702.84,8865.35 4377.57,8863.01 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"4384.4,8827.04 4704.64,8827.15 4723.21,8672.84 4414.6,8670.49 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"4764.2,8827.15 5084.44,8827.2 5087.44,8672.84 4778.47,8670.49 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"5083.12,9057.97 4740.71,9060.09 4726.93,9212.12 5082.4,9214.62 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"5083.36,9019.82 5086.6,8865.46 4760.97,8863.12 4744.55,9017.37 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"7667.26,6795.65 7890.03,6795.65 7890.03,6572.88 7667.26,6572.88 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"7888.43,6847.06 7665.66,6847.06 7665.66,7069.83 7888.43,7069.83 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"7887.89,7126.6 7665.12,7126.6 7665.12,7349.38 7887.89,7349.38 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"7887.89,7413.63 7665.12,7413.63 7665.12,7636.41 7887.89,7636.41 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"8095.67,6135.89 8095.67,6804.22 9158.13,6804.22 9158.13,6135.89 \"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"9160.55,5639.56 8098.08,5639.56 8098.08,5853.77 9160.55,5853.77 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"5341.42,9039.56 5356.84,9187.36 6187.96,9187.36 6172.55,9039.56 \"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"5340.72,9002.07 6171.85,9002.07 6156.44,8854.27 5325.31,8854.27 \"/>\r\n      <rect className=\"machine_ATMfil5 machine_ATMstr0\" x=\"4165.08\" y=\"4704.89\" width=\"3358.77\" height=\"2964.63\"/>\r\n      <rect fill={value?\"#AFE7F6\":\"#4d4d4d\"} className=\"machine_ATMstr0\" x=\"4247.65\" y=\"4779.64\" width=\"3193.64\" height=\"2815.13\"/>\r\n      <polygon className=\"machine_ATMfil8\" points=\"3993.54,8850.95 3943.41,9021.74 4283.92,9024.39 4320.21,8853.54 \"/>\r\n      <polygon className=\"machine_ATMfil4\" points=\"8132.63,6178.76 8132.63,6761.35 9114.77,6761.35 9114.77,6178.76 \"/>\r\n      <polygon className=\"machine_ATMfil4\" points=\"8124.06,4575.23 8124.06,5033.24 9123.34,5033.24 9123.34,4575.23 \"/>\r\n      <path className=\"machine_ATMfil12\" d=\"M5477.6 8947.49l541.95 0c25.99,0 21.98,-39.63 -4.13,-39.63l-541.95 0c-25.98,0 -21.97,39.63 4.13,39.63z\"/>\r\n      <path className=\"machine_ATMfil13\" d=\"M6033.95 9106l-541.95 0c-25.99,0 -21.98,39.63 4.13,39.63l541.95 0c25.99,0 21.98,-39.63 -4.13,-39.63z\"/>\r\n      <path className=\"machine_ATMfil14\" d=\"M5462.39 8770.77l541.95 0c10.9,0 18.88,-8.91 17.75,-19.81 -1.14,-10.9 -10.98,-19.82 -21.88,-19.82l-541.95 0c-10.9,0 -18.88,8.91 -17.74,19.81 1.14,10.9 10.98,19.82 21.88,19.82z\"/>\r\n      <path className=\"machine_ATMfil1\" d=\"M9688.32 18469.34l0 -6700.11 -6477.63 0 0 6700.11c2044.61,501.26 4195.38,538.22 6477.63,0z\"/>\r\n      <polygon className=\"machine_ATMfil5\" points=\"4924.35,10659.25 8034.63,10659.25 8034.63,10008.06 4924.35,10008.06 \"/>\r\n      <polygon className=\"machine_ATMfil4\" points=\"5091.43,10477.21 7867.55,10477.21 7867.55,10228.73 5091.43,10228.73 \"/>\r\n      {value && \r\n        <polygon className=\"machine_ATMfil13\" points=\"9114.77,5689.1 8146.56,5689.1 8146.56,5800.49 9114.77,5800.49 \"/>\r\n      }\r\n      <path className=\"machine_ATMfil5\" d=\"M6303.84 12420.41c0,127.77 103.58,231.34 231.34,231.34 127.77,0 231.34,-103.58 231.34,-231.34 0,-127.77 -103.58,-231.34 -231.34,-231.34 -127.77,0 -231.34,103.58 -231.34,231.34z\"/>\r\n      <polygon className=\"machine_ATMfil9\" points=\"9343.84,4011.49 9343.84,8148.91 10276.29,9721.71 10276.29,3209.83 \"/>\r\n      {value && <>\r\n        <text x=\"36%\" y=\"28%\"  className=\"machine_ATMfil20\">machine</text>\r\n        <text x=\"36%\" y=\"30%\"  className=\"machine_ATMfil20\">is ready...</text>\r\n      </>\r\n      }\r\n     </g>\r\n    </svg>\r\n  )\r\n}\r\nexport default MachineATM\r\n\r\n\r\n\r\n","import React from 'react';\n\nconst MedicalCrossSVG = ({ width = '100%', height = '100%', title = 'Medical cross', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <path d=\"M96 32h48c8 0 14 6 14 14v36h36c8 0 14 6 14 14v48c0 8-6 14-14 14h-36v36c0 8-6 14-14 14H96c-8 0-14-6-14-14v-36H46c-8 0-14-6-14-14V96c0-8 6-14 14-14h36V46c0-8 6-14 14-14Z\" fill=\"#ef4444\" stroke=\"#991b1b\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n    <path d=\"M107 52h26c6 0 10 4 10 10v35h35c6 0 10 4 10 10v26\" fill=\"none\" stroke=\"#fecaca\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n    <circle cx=\"120\" cy=\"120\" r=\"77\" fill=\"none\" stroke=\"#dbeafe\" strokeWidth=\"10\" opacity=\"0.8\" />\n  </svg>\n);\n\nexport default MedicalCrossSVG;\n","import React from 'react';\n\nconst MedicineBottleSVG = ({ width = '100%', height = '100%', title = 'Medicine bottle', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <rect x=\"86\" y=\"28\" width=\"68\" height=\"32\" rx=\"8\" fill=\"#bfdbfe\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <path d=\"M96 60h48v24c0 8 8 13 16 20 9 8 14 18 14 32v55c0 13-10 23-23 23H89c-13 0-23-10-23-23v-55c0-14 5-24 14-32 8-7 16-12 16-20V60Z\" fill=\"#eff6ff\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <rect x=\"82\" y=\"122\" width=\"76\" height=\"54\" rx=\"8\" fill=\"#ffffff\" stroke=\"#93c5fd\" strokeWidth=\"5\" />\n    <path d=\"M120 135v28M106 149h28\" stroke=\"#ef4444\" strokeWidth=\"9\" strokeLinecap=\"round\" />\n    <path d=\"M88 92h64\" stroke=\"#0f172a\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default MedicineBottleSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst MicrowaveSVG = createDailyLifeDynamicSVG('microwave', 'Microwave');\n\nexport default MicrowaveSVG;\n","import React, { useState } from \"react\";\nimport './motor.scss'\nimport { LatestEventHandler } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';\nimport { firstFinite, getTelemetrySvgProps } from '../telemetryProps';\n\nfunction Motor({\n  speed,\n  rpm,\n  value,\n  status,\n  theme,\n  variant,\n  showIcon = true,\n  accentColor,\n  width = '100%',\n  height = '100%',\n  className,\n  style,\n  ...props\n} = {}) {\n  const [liveValue, setLiveValue] = useState(null)\n  let motorValue = firstFinite(speed, rpm, value, props?.config?.value, props?.config?.defaultValue)\n  const onChangeHandler = (e) => {\n    if (props?.config?.deviceId) {\r\n      const newData = e.target.value\r\n      if (newData) {\r\n        setLiveValue(newData)\r\n      }\r\n    } else {\r\n      setLiveValue(null)\r\n    }\r\n  }\r\n  if (speed === undefined && rpm === undefined && value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\n    if (liveValue[props.config.param] !== null) {\n      motorValue = liveValue[props.config.param]\n    } else {\n      motorValue = 0\n    }\n  }\n  const isRunning = status\n    ? ['online', 'running', 'active'].includes(String(status).toLowerCase())\n    : motorValue > 0\n  const telemetrySvgProps = getTelemetrySvgProps({\n    className: [className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \"),\n    style,\n    theme,\n    variant,\n    status,\n    accentColor,\n    fallbackAccentColor: '#6CAADD',\n  })\n\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\"\n      viewBox=\"-500 0 2432.95 1426.05\"\n      xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n      style={{ ...telemetrySvgProps.style, width: '100%', height: '100%' }}\n      className={telemetrySvgProps.className}\n      data-theme={telemetrySvgProps['data-theme']}\n      data-variant={telemetrySvgProps['data-variant']}\n      data-status={telemetrySvgProps['data-status']}\n      onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\n    >\n      {showIcon ? null : <title>{`${motorValue} RPM motor`}</title>}\n      <LatestEventHandler\n        deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n        onChange={onChangeHandler}\r\n      />\r\n      <g style={{ cursor: props?.config?.isControllable && \"pointer\" }} onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}>\r\n        <g\r\n        // className={value ? \"motorVibrate\" : \"\"}\r\n        >\r\n          <path className=\"motorAnime0\" d=\"M297.9 893.67c-67.16,-63.45 -66.58,-120.05 -67.11,-232.83l2.66 -10.08 5.74 -43.89 2.81 -9.26c17.54,9.53 37.94,22.59 56.01,32.65l394.32 227.36 47.18 -24.36 25.16 -69.78 -9.53 2.74c-0.05,0.02 4.66,6.79 -23.18,-9.88 -53.64,-32.11 -367.46,-216.4 -385.75,-220.49 -8.26,8.08 -89.18,53.51 -103.3,59.66 31.54,-125.27 68.95,-217.11 218.05,-365.31 62.92,-49.52 153.47,-119.77 270.9,-87.52 -8.97,-12.25 -138.92,-83.66 -159.61,-95.73 -65.31,-38.99 -108.77,-64.36 -201.6,-32.56 -219.33,75.11 -420.44,419.07 -359.65,648.64 21.68,81.87 59.55,100.24 121.12,136.48 27.58,16.24 147.17,88.37 165.79,94.15z\" />\r\n          <path className=\"motorAnime0\" d=\"M812.87 1182.97c10.76,12.51 30.21,16.87 43.25,26.31 11.92,1.43 21.8,5.62 34.09,6.91 6.69,0.7 12.8,0.53 19.4,0.69l12.15 0.73c0.88,0.15 1.82,0.44 2.58,0.61 0.73,0.16 1.85,0.62 2.42,0.78 0.56,0.15 1.6,0.46 2.33,0.86 18.25,-8.38 84.17,-8.04 111.41,-9.79 -19.5,-12.32 -57.28,-6.08 -90.63,-63.33 -20.1,-34.51 -27.57,-81.94 -25.19,-130.2 8.72,-176.69 170.12,-418.54 338.66,-431.75 71.16,-5.58 90.97,33.56 110.26,43.25 -4.59,-16.06 -18.81,-41.22 -26.06,-55.99 -8.7,-17.72 -17.21,-36.4 -26.7,-53.78 -16.9,-30.97 -59.2,-69.48 -85.42,-75.06 -29.36,-1.18 -41.51,-8.25 -76.68,-4.21 -133.74,15.34 -251.68,144.6 -317.75,251.76 -41.63,67.53 -76.3,146.25 -90.8,237.76 -15.57,98.28 2.23,209.22 62.66,254.46z\" />\r\n          <path className=\"motorAnime1\" d=\"M1076.29 1074.71c5.65,-17.23 18.76,-33.87 27.16,-50.81 20.66,1.32 34.08,3.29 52.02,-5.51l1.17 46.54c-21.97,12 -52.21,16.63 -80.36,9.78zm-50.42 -83.78c13.53,-7.75 26.45,-16.46 41.71,-22.91 3.39,26.51 9.67,30.87 20.71,46.2 -4.92,11.55 -20.5,37.84 -28.37,49.91 -18.84,-11.85 -32.03,-40.23 -34.05,-73.2zm0.41 -26.67c0.44,-38.09 17.23,-81.52 32.53,-110.35 10.44,4.62 18.76,10.43 28.78,14 -4.54,19.67 -12.65,38.11 -18.68,63.32 -3.95,16.5 -18.83,22.05 -42.64,33.03zm50.47 -137.56c5.18,-22.87 58.23,-74.95 78.35,-83.91 1.13,70.37 -0.16,35.84 -39.28,84.2l-14.06 15.04 -25.01 -15.34zm169.59 -48.28c8.47,-18.43 18.91,-30.45 26.25,-48.56 21.2,10.96 35.54,42.43 34.98,73.26l-39.62 22.12c-9.91,-26.04 -7.39,-25.72 -21.62,-46.81zm-68.56 -50.43c21.79,-9.84 55.22,-21.32 79.86,-7.03l-26.41 48.52c-32,-2.43 -29.48,1.58 -53.62,4.94l0.17 -46.44zm-137.26 482.07l17.11 -0.75c73.07,-1.23 132.8,-43.1 180.29,-86.28l44.99 -45.42c6.12,-11.42 12.79,-14.47 19.43,-28.83l-74.1 -43.68c-4.44,12.17 -11.38,17.64 -21.22,25.78 -8.83,7.31 -15.84,14.63 -28.61,19.84l-0.02 -48.15 23.92 -12.96c-4.82,-2.61 -11.51,-5.13 -16.88,-7.44 -5.25,0.81 -35.47,28.28 -63.45,-2.36 -42.12,-7.36 -20.45,-80.38 -4.84,-106.28 12.06,-20.02 52.71,-73.93 90.74,-46.92 32.46,11.21 33.53,26.76 35.01,64.47l14.81 9.27c0.95,-45.17 13.84,-57.53 50.7,-71.38 -1.39,16.52 -4.07,31.98 -8.22,47.41 -9.91,36.83 -7.54,35.17 -19.25,38.18l40.11 22.02c13.87,7.75 24.43,14.81 37.67,20.74 30.17,-52.91 45.38,-116.74 50.2,-175.26 4.92,-59.73 -7.54,-114.74 -35.31,-154.01 -19.29,-9.69 -39.1,-48.83 -110.26,-43.25 -168.54,13.2 -329.94,255.06 -338.66,431.75 -2.38,48.26 5.08,95.69 25.19,130.2 33.35,57.25 71.13,51.01 90.63,63.33z\" />\r\n          <path className=\"motorAnime1\" d=\"M652.76 611.06c-7.46,-73.97 76.95,-30.1 82.98,32.47 6.65,68.98 -76.69,29.89 -82.98,-32.47zm-118.7 -67.59c-5.98,-34.1 18.16,-50.22 45.98,-31.04 13.8,9.51 33.48,33.71 36.53,60.23 8.28,71.96 -71.24,35.04 -82.51,-29.19zm-141.36 -152.74c6.33,8.3 53.57,33.26 65.94,40.35 38.92,22.29 58.19,26.32 58.03,48.77l-165 -98.33c-0.33,0.81 -0.54,1.91 -0.65,2.52l-4.78 151.81c18.29,4.09 332.11,188.38 385.75,220.49 27.84,16.66 23.13,9.9 23.18,9.88 -4.57,-20.95 -3.63,-189.56 -0.06,-214.12 -14.05,-3.45 -99.36,-54.69 -117.06,-65.53 -38.85,-23.79 -81.64,-44.14 -118.02,-68.11 -1.5,-7.97 1.81,-0.72 7.06,-12.97 -22.77,-8.39 -99.04,-58.58 -132.53,-75.31l-1.84 60.55z\" />\r\n          <path className=\"motorAnime1\" d=\"M1088.68 430.62l-32.57 11.53c-15.31,9.56 -32.06,16.22 -47.77,26.39 -16.89,10.93 -31.66,20.96 -45.37,31.9 -8.84,7.05 -14.58,10.31 -21.55,17.19 -5,4.94 -4.36,5.16 -9.28,9.8l-29.61 28.54c-48.81,57.25 -74.11,85.09 -112.59,157.68 -8.72,16.45 -17.25,38.91 -25.27,49.83l-25.16 69.78c-1.2,11.74 -1.38,10.21 -7.64,18.58 1.09,11.48 -0.06,13.39 -2.52,23.42l-3.55 12.1c-0.2,0.58 -0.68,1.71 -0.85,2.17 -0.17,0.45 -0.77,2.55 -0.89,2.1 -0.12,-0.44 -0.62,1.37 -0.94,2.05 0.58,9.9 -0.36,10.64 -4.37,16.88 2.48,3.66 1.85,0.86 2.2,7.73 0.07,1.46 -0.82,9.54 -1.06,11.3 -1.02,7.42 -2.31,13.96 -3.04,19.04 -0.28,11.01 -0.15,9.74 -4.54,16.25l2.36 37.05 -4.2 13.75c8.83,6.16 3.97,-10.3 9.07,14.64 1.16,5.67 0.36,13.09 0,18.94l3.97 13.19c3.54,6.72 9.11,21.17 6.05,28.71 -11.23,3.62 -45.41,-20.88 -56.91,-27.67l-282.97 -164.42c-19.2,-11.1 -36.63,-21.03 -57.22,-32.86 -14.08,-8.08 -46.11,-23.03 -53.54,-34.98 -4.25,8.45 -4.37,-10.8 -2.51,10.97 0.99,11.6 9.83,10.6 20.84,17.24 22.16,13.37 -2.36,12.96 23,28.64 13.6,8.41 55.21,28.88 63.71,39.43 21.01,7.1 45.07,23.98 64.51,35.11 22.3,12.76 40.2,23.85 60.96,35.59 42.91,24.26 82.75,46.89 123.81,71.54l49.26 29.86c21.29,7.43 46.22,27.09 67.5,37.72 27.94,13.95 28.15,34.41 62.84,45.64 -60.43,-45.24 -78.23,-156.18 -62.66,-254.46 14.5,-91.51 49.16,-170.23 90.8,-237.76 66.07,-107.16 184.01,-236.42 317.75,-251.76 35.17,-4.03 47.32,3.03 76.68,4.21 -32.6,-30.12 -101.53,-23.98 -146.76,-12.59z\" />\r\n          <path className=\"motorAnime2\" d=\"M755.08 552.1c-3.58,24.55 -4.51,193.16 0.06,214.12l9.53 -2.74c8.02,-10.93 16.55,-33.39 25.27,-49.83 38.49,-72.59 63.78,-100.43 112.59,-157.68l29.61 -28.54c4.92,-4.65 4.28,-4.86 9.28,-9.8 6.97,-6.88 12.71,-10.14 21.55,-17.19 13.71,-10.94 28.48,-20.96 45.37,-31.9 15.71,-10.17 32.46,-16.83 47.77,-26.39l0.31 -26.37c1.67,-12.69 2.74,-30.53 -1,-40.31l-300.33 176.64z\" />\r\n          <path className=\"motorAnime2\" d=\"M242.91 595.51c14.12,-6.15 95.04,-51.58 103.3,-59.66l4.78 -151.81c0.11,-0.62 0.33,-1.72 0.65,-2.52 23.38,-9.44 16.69,2.83 41.04,9.22l1.84 -60.55c7.75,-6 8.81,-9.36 19.11,-5.56 10.88,4.02 11.44,8.65 23.91,11.4l1.56 -47.89c11.99,-17.73 23.4,-2.17 38.73,4.48 7.66,-7.72 1.06,3.62 4.1,-7.23 1.27,-4.53 1.13,-7.46 1.2,-12.23 0.18,-12.53 -2.62,-13.36 2.61,-22.61 13.05,-12.76 26.8,3.83 41.21,9.34 0.05,-5.96 -0.41,-13.42 -0.22,-19.13 0.1,-2.88 0.23,-6.36 0.74,-9.16 1.24,-6.84 0.53,-4.32 2.54,-7.97 20.91,-10.15 21.34,3.8 41.53,10.89 0.03,-4.34 -0.49,-12.45 -0.2,-16.26 0.29,-3.82 0.02,-2.33 0.67,-5.73 1.37,-7.12 -0.03,-3.2 2.53,-7.2 15.57,-6.81 24.13,2.12 37.21,10.24 3.61,-4.29 4.29,4.66 4.51,-13.54 17.94,-15.99 21.96,-2.89 42.14,6.72 6.56,-5.8 6.12,-6.5 16.09,-9.74 20.29,10.65 40.08,23.14 60.02,33.84 10.95,-1.3 57.65,-30.08 58.55,-30.95 7.14,-6.87 4.39,-1.12 7.44,-12.46 -15.5,-5.81 -40.61,-33.97 -68.62,-46.76 -225.58,-67.2 -461.34,256.61 -488.95,452.83z\" />\r\n          <path className=\"motorAnime0\" d=\"M485.73 250.56c5.39,8.32 103.56,63.63 113.28,66.26l-1.93 44.84c-12.04,-5.49 -112.32,-62.54 -119.25,-69.04 -15.33,-6.64 -26.74,-22.21 -38.73,-4.48l74.91 42.45c24.5,14.34 49.96,28.33 73.39,41.88 -3.79,4.8 -30.09,21.28 -37.68,24.03 -15.48,5.61 -109.96,-57.93 -112.18,-60.47 -12.46,-2.75 -13.03,-7.38 -23.91,-11.4 -10.3,-3.81 -11.36,-0.44 -19.11,5.56 33.5,16.74 109.76,66.92 132.53,75.31 -5.26,12.24 -8.57,4.99 -7.06,12.97 36.38,23.97 79.17,44.32 118.02,68.11 17.7,10.83 103.01,62.08 117.06,65.53l300.33 -176.64 -75.17 -45.19c-10.3,10.85 -4.76,41.73 -6.14,69.04l-205.53 119.28c-10.76,3.93 -32.03,-12.29 -43.65,-19.09 -24.83,-14.54 -110.64,-66.37 -126.12,-70.62l0.43 -113.56c8.11,-5.99 20.57,-1.03 7.73,-8.11 -24.92,-15.87 -55.2,-29.46 -80.02,-47.31 -14.41,-5.51 -28.17,-22.1 -41.21,-9.34z\" />\r\n          <path className=\"motorAnime3\" d=\"M1178.37 977.98c-17.2,20.71 -51.77,13.11 -56.46,-19.66 -11.87,-83.07 118.17,-187.16 115.71,-70.41 -14.58,-5.95 -26.95,-19.04 -44.22,-15.91 -20.69,3.75 -53.21,42.28 -46.23,76.85 3.17,15.68 18.85,20.7 31.21,29.12zm-56.37 1.83c22.13,29.29 59.23,5.97 63.45,2.36 6.22,2.84 11.51,4.52 16.88,7.44l25.92 15.5 74.1 43.68c-6.64,14.37 -13.31,17.42 -19.43,28.83l160.89 -90.46 -74.42 -49.18 -10.65 19.33c-13.24,-5.93 -23.8,-12.98 -37.67,-20.74l-40.11 -22.02 -23.23 -14.2 -14.81 -9.27c-1.48,-37.71 -2.55,-53.26 -35.01,-64.47 -33.45,10.44 -54.43,20.5 -73.61,57.71 -15.27,29.62 -27.84,71.29 -12.29,95.49z\" />\r\n          <path className=\"motorAnime4\" d=\"M1282.91 1077.62l-44.99 45.42c-47.49,43.18 -107.22,85.05 -180.29,86.28 -10.04,10.6 -43.76,27.43 -58.22,35.66 -20.61,11.72 -39.05,22.7 -59.04,34.3 -20.18,11.71 -39.07,23.85 -58.81,34.48 -20.94,11.28 -42.65,27.02 -63.47,34.8l1.15 45.78c6.62,-2.66 601,-344.74 623.7,-361.65l0.86 -45.54 -160.89 90.46z\" />\r\n          <path className=\"motorAnime4\" d=\"M762.39 408.84c2.9,18.6 1.08,63.35 0.98,86.49 -0.11,25.13 2.52,20.2 5.2,23.26l205.53 -119.28c2.83,-55.94 -1.35,-67.92 -1.38,-110.75 -24.44,15.22 -195.72,115.53 -210.32,120.27z\" />\r\n          <path className=\"motorAnime0\" d=\"M235.98 649.7c8.89,16.13 95.32,61.02 110.96,70.07l224.05 129.98c22.24,12.58 97.49,59.16 115.13,64.55 11.81,-7.49 23.85,-14.87 37.01,-20.6 0.31,-0.68 0.81,-2.49 0.94,-2.05 0.12,0.44 0.73,-1.65 0.89,-2.1 0.17,-0.46 0.64,-1.59 0.85,-2.17l3.55 -12.1c2.46,-10.04 3.62,-11.95 2.52,-23.42 -13.51,7.41 -24.5,14.67 -38.59,20.62l-314.82 -180.89c-19.96,-12.05 -89.68,-55.35 -107.42,-60.47 -6.77,4.51 -26.2,16.83 -35.07,18.61z\" />\r\n          <path className=\"motorAnime5\" d=\"M768.56 518.6c-2.67,-3.07 -5.31,1.87 -5.2,-23.26 0.1,-23.15 1.92,-67.89 -0.98,-86.49 -27.19,-15.05 -53.71,-30.23 -80.71,-46.37 -25.81,-15.42 -57.02,-34.76 -82.45,-47.15l-0.43 113.56c15.47,4.25 101.29,56.08 126.12,70.62 11.62,6.81 32.89,23.02 43.65,19.09z\" />\r\n          <path className=\"motorAnime0\" d=\"M233.69 706.08c15.91,5.74 41.87,23.33 58.34,33.18 36.44,21.8 378.91,221.88 392.94,226.04l31.89 -16.67c0.73,-5.08 2.02,-11.62 3.04,-19.04 0.24,-1.76 1.14,-9.84 1.06,-11.3 -0.35,-6.87 0.28,-4.07 -2.2,-7.73l-34.26 19.09c-56.99,-26.19 -396.43,-236.79 -422.24,-241.34 -10.65,4.66 -22.13,9.9 -28.58,17.76z\" />\r\n          <path className=\"motorAnime6\" d=\"M606.97 1145.37c10.19,10.2 70.12,42.1 88.58,52.97 28.84,16.98 62.43,34.93 90.24,52.27l64.3 -36.23c7.8,-5.92 1.7,-1.11 6.02,-5.1 -13.04,-9.43 -32.49,-13.8 -43.25,-26.31 -34.69,-11.23 -34.89,-31.69 -62.84,-45.64 -21.28,-10.62 -46.21,-30.29 -67.5,-37.72 -18.7,12.97 -60.97,31.99 -75.56,45.76z\" />\r\n          <path className=\"motorAnime5\" d=\"M819.24 1394.34l-1.15 -45.78 -42.44 -24.18c-2.86,-1.8 -3.66,-2.24 -6.09,-4.23 -4.32,-3.54 -2.46,-1.66 -5.5,-5.76 -14.1,-0.2 -34.83,-16.49 -47.7,-24.24 -16.56,-9.98 -31.17,-17.95 -47.06,-27.01 -30.16,-17.19 -62.75,-35.73 -91.56,-53.72 -21.08,-11.46 -71.57,-37.89 -86.99,-50.74 -5.33,9.67 -3.14,31.16 -2.26,44.58 10.87,9.69 29.24,17.88 41.78,25.17 13.71,7.97 26.01,15.35 40.7,23.63 28.1,15.84 230.85,135.86 248.26,142.27z\" />\r\n          <path className=\"motorAnime0\" d=\"M241.72 748.45c5.52,12.25 1.26,5.68 25.07,19.26l85.37 49.81c38.36,21.66 75.05,42.4 111.79,65.14l225.98 130.11 24.76 -10.84 -2.36 -37.05 -23.5 13.85c-2.5,0.9 -1.45,1.52 -6.78,0.62 -2.18,-0.37 -4.46,-1.21 -6.47,-2.13 -1.77,-0.81 -11.1,-6.72 -14.21,-8.68l-343.79 -200.18c-12.41,-7.47 -43.46,-29.85 -56.08,-26.81l-19.78 6.91z\" />\r\n          <path className=\"motorAnime3\" d=\"M800.33 1308.23c14.8,-9.97 36.87,-13.9 37.62,7.7 -7.23,6.76 -9.44,8.02 -21.74,6.82 -12.26,-1.19 -13.48,-4.52 -15.88,-14.52zm128.77 -88.37c-24.39,10.48 -58.18,32.72 -82.3,46.35 -17.71,10.01 -68.58,42.59 -82.72,45.4l-0.02 2.79c3.04,4.1 1.18,2.23 5.5,5.76 2.44,1.99 3.23,2.43 6.09,4.23l42.44 24.18c20.82,-7.78 42.53,-23.52 63.47,-34.8 19.73,-10.63 38.62,-22.77 58.81,-34.48 19.99,-11.6 38.43,-22.57 59.04,-34.3 14.46,-8.23 48.18,-25.05 58.22,-35.66l-17.11 0.75c-27.25,1.75 -93.16,1.41 -111.41,9.79z\" />\r\n          <path className=\"motorAnime7\" d=\"M577.91 1193.07c30.3,16.86 59.36,35.12 89.91,52.3 14.96,8.41 29,16.68 44.96,25.83 14.81,8.49 30.38,19.94 45.51,24.81 8.46,-3.67 9.33,-9.38 15,-19.76 5.43,-9.93 9.27,-16.13 12.51,-25.66 -27.81,-17.34 -61.41,-35.29 -90.24,-52.27 -18.46,-10.86 -78.39,-42.76 -88.58,-52.97 -11.79,11.65 -20.06,33.31 -29.07,47.71z\" />\r\n          <path className=\"motorAnime0\" d=\"M256.64 794.17c8.84,11.54 205.46,122.11 222.3,131.52 30.83,17.22 211.29,126.84 226.55,128.88l14.07 -5.31c0.36,-5.84 1.16,-13.27 -0,-18.94 -5.1,-24.94 -0.24,-8.49 -9.07,-14.64l-17.66 9.81c-6.74,5.01 -43.35,-20.14 -50.83,-24.64l-264.51 -153.84c-18.69,-10.44 -98.92,-59.15 -109.55,-61.53l-11.3 8.7z\" />\r\n          <path className=\"motorAnime3\" d=\"M545.67 1142.18c11.82,0.42 15.39,4.07 18.74,12.82 -10.45,14.19 -29.71,13.47 -38.47,0 2.84,-9.63 6.14,-13.3 19.73,-12.82zm-54.91 16.51c15.42,12.85 65.91,39.27 86.99,50.74l0.16 -16.35c9,-14.4 17.28,-36.05 29.07,-47.71 14.59,-13.77 56.86,-32.78 75.56,-45.76l-49.26 -29.86c-7.97,13.02 -58.31,38.14 -72.09,45.96 -14.8,8.4 -62.02,34.38 -70.42,42.97z\" />\r\n          <path className=\"motorAnime8\" d=\"M267.94 785.47c10.62,2.39 90.85,51.09 109.55,61.53l264.51 153.84c7.48,4.51 44.08,29.65 50.83,24.64l-2.9 -12.72 -225.98 -130.11c-36.73,-22.73 -73.43,-43.48 -111.79,-65.14l-85.37 -49.81c-23.82,-13.58 -19.55,-7.01 -25.07,-19.26 -11.61,23.64 15.69,23.39 26.22,37.02z\" />\r\n          <path className=\"motorAnime1\" d=\"M437.54 336.03c2.22,2.54 96.7,66.08 112.18,60.47 7.59,-2.75 33.89,-19.23 37.68,-24.03 -23.43,-13.55 -48.89,-27.54 -73.39,-41.88l-74.91 -42.45 -1.56 47.89z\" />\r\n          <path className=\"motorAnime8\" d=\"M230.79 660.84c5.68,10.4 4.24,8.08 15.73,14.44 10.49,5.81 11,3.24 15.75,13.04 25.81,4.55 365.25,215.15 422.24,241.34l1.61 -15.36c-17.64,-5.39 -92.89,-51.97 -115.13,-64.55l-224.05 -129.98c-15.63,-9.05 -102.07,-53.94 -110.96,-70.07l-2.53 1.06 -2.66 10.08z\" />\r\n          <path className=\"motorAnime8\" d=\"M239.19 606.88l5.4 5.45c16.14,13.77 -9.33,-6.31 3.84,3.01 7.22,5.11 14.99,6.68 22.62,15.75 17.73,5.12 87.45,48.42 107.42,60.47l314.82 180.89 -0.95 -14.84 -394.32 -227.36c-18.07,-10.06 -38.48,-23.12 -56.01,-32.65l-2.81 9.26z\" />\r\n          <path className=\"motorAnime8\" d=\"M282 830.18c14.89,0.53 89.46,48.31 108.33,58.68 45.21,24.86 295.48,176.2 316.28,181.31l-1.11 -15.6c-15.26,-2.04 -195.72,-111.66 -226.55,-128.88 -16.84,-9.4 -213.45,-119.98 -222.3,-131.52 -0.42,0.65 -8.12,1.2 -1.54,13.95 2.85,5.53 5.01,4.89 9.07,7.15 9.86,5.51 13.24,4.4 17.83,14.91z\" />\r\n          <path className=\"motorAnime8\" d=\"M261.5 741.54c12.61,-3.04 43.67,19.34 56.08,26.81l343.79 200.18c3.11,1.96 12.44,7.88 14.21,8.68 2.02,0.92 4.29,1.76 6.47,2.13 5.33,0.9 4.29,0.28 6.78,-0.62 -9.75,0.67 -5.68,-4.08 -3.86,-13.43 -14.03,-4.16 -356.5,-204.24 -392.94,-226.04 -16.47,-9.86 -42.43,-27.45 -58.34,-33.18l0.18 14.1c5.06,2.11 9.12,4.05 14.51,7.53 13.06,8.43 7.63,2.25 13.11,13.84z\" />\r\n          <path className=\"motorAnime9\" d=\"M652.76 611.06c6.29,62.36 89.63,101.46 82.98,32.47 -6.03,-62.58 -90.44,-106.45 -82.98,-32.47z\" />\r\n          <path className=\"motorAnime9\" d=\"M534.05 543.47c11.27,64.23 90.79,101.15 82.51,29.19 -3.05,-26.52 -22.73,-50.72 -36.53,-60.23 -27.82,-19.17 -51.96,-3.06 -45.98,31.04z\" />\r\n          <path className=\"motorAnime9\" d=\"M785.8 1250.6c-3.24,9.52 -7.08,15.72 -12.51,25.66 -5.67,10.37 -6.55,16.09 -15,19.76 2.55,9.29 -0.04,8.66 5.81,15.58 14.14,-2.8 65,-35.39 82.72,-45.4 24.12,-13.63 57.91,-35.87 82.3,-46.35 -0.73,-0.4 -1.78,-0.71 -2.33,-0.86 -0.57,-0.15 -1.69,-0.61 -2.42,-0.78 -0.76,-0.17 -1.7,-0.46 -2.58,-0.61l-12.15 -0.73c-6.6,-0.15 -12.72,0.01 -19.4,-0.69 -12.3,-1.29 -22.17,-5.48 -34.09,-6.91 -4.32,3.99 1.77,-0.82 -6.02,5.1l-64.3 36.23z\" />\r\n          <path className=\"motorAnime6\" d=\"M1178.37 977.98c-12.36,-8.42 -28.05,-13.44 -31.21,-29.12 -6.98,-34.57 25.54,-73.1 46.23,-76.85 17.28,-3.13 29.65,9.95 44.22,15.91 2.46,-116.75 -127.58,-12.66 -115.71,70.41 4.68,32.77 39.26,40.37 56.46,19.66z\" />\r\n          <path className=\"motorAnime2\" d=\"M297.9 893.67c15.94,17.92 55.8,30.8 86.07,33.85 -8.5,-10.55 -50.1,-31.03 -63.71,-39.43 -25.36,-15.68 -0.84,-15.27 -23,-28.64 -11.01,-6.64 -19.84,-5.64 -20.84,-17.24 -1.86,-21.77 -1.74,-2.52 2.51,-10.97l3.05 -1.05c-4.59,-10.52 -7.97,-9.41 -17.83,-14.91 -4.05,-2.26 -6.21,-1.62 -9.07,-7.15 -6.57,-12.74 1.12,-13.29 1.54,-13.95l11.3 -8.7c-10.53,-13.63 -37.83,-13.38 -26.22,-37.02l19.78 -6.91c-5.49,-11.59 -0.05,-5.41 -13.11,-13.84 -5.39,-3.48 -9.45,-5.42 -14.51,-7.53l-0.18 -14.1c6.45,-7.86 17.93,-13.1 28.58,-17.76 -4.75,-9.8 -5.25,-7.23 -15.75,-13.04 -11.49,-6.36 -10.05,-4.04 -15.73,-14.44 0.53,112.78 -0.05,169.38 67.11,232.83z\" />\r\n          <path className=\"motorAnime1\" d=\"M477.82 292.62c6.94,6.51 107.22,63.55 119.25,69.04l1.93 -44.84c-9.72,-2.63 -107.89,-57.94 -113.28,-66.26 -5.24,9.24 -2.43,10.08 -2.61,22.61 -0.07,4.76 0.07,7.7 -1.2,12.23 -3.04,10.84 3.56,-0.49 -4.1,7.23z\" />\r\n          <path className=\"motorAnime0\" d=\"M723.53 1062.45l-16.93 7.72c-20.8,-5.11 -271.07,-156.44 -316.28,-181.31 -18.87,-10.38 -93.44,-58.15 -108.33,-58.68l-3.05 1.05c7.43,11.95 39.46,26.9 53.54,34.98 20.59,11.83 38.02,21.75 57.22,32.86l282.97 164.42c11.5,6.79 45.67,31.29 56.91,27.67 3.07,-7.55 -2.51,-21.99 -6.05,-28.71z\" />\r\n          <path className=\"motorAnime10\" d=\"M1121.99 979.81c-15.55,-24.2 -2.98,-65.87 12.29,-95.49 22.06,-36.85 42.32,-48.71 73.61,-57.71 -38.03,-27.02 -78.68,26.9 -90.74,46.92 -15.61,25.9 -37.28,98.93 4.84,106.28z\" />\r\n          <path className=\"motorAnime9\" d=\"M1026.28 964.26c23.81,-10.99 38.69,-16.53 42.64,-33.03 6.03,-25.21 14.14,-43.64 18.68,-63.32 -10.02,-3.57 -18.34,-9.38 -28.78,-14 -15.3,28.83 -32.09,72.25 -32.53,110.35z\" />\r\n          <path className=\"motorAnime9\" d=\"M1177.78 728l-0.17 46.44c24.15,-3.36 21.63,-7.37 53.62,-4.94l26.41 -48.52c-24.65,-14.29 -58.08,-2.81 -79.86,7.03z\" />\r\n          <path className=\"motorAnime9\" d=\"M1025.87 990.93c2.02,32.97 15.21,61.35 34.05,73.2 7.88,-12.07 23.45,-38.36 28.37,-49.91 -11.04,-15.33 -17.32,-19.7 -20.71,-46.2 -15.25,6.46 -28.18,15.17 -41.71,22.91z\" />\r\n          <path className=\"motorAnime9\" d=\"M1246.34 778.42c14.22,21.1 11.7,20.77 21.62,46.81l39.62 -22.12c0.55,-30.83 -13.78,-62.3 -34.98,-73.26 -7.34,18.11 -17.78,30.13 -26.25,48.56z\" />\r\n          <path className=\"motorAnime9\" d=\"M1076.74 826.7l25.01 15.34 14.06 -15.04c39.12,-48.36 40.42,-13.83 39.28,-84.2 -20.12,8.95 -73.18,61.03 -78.35,83.91z\" />\r\n          <path className=\"motorAnime9\" d=\"M1076.29 1074.71c28.15,6.85 58.38,2.21 80.36,-9.78l-1.17 -46.54c-17.95,8.8 -31.36,6.83 -52.02,5.51 -8.4,16.94 -21.51,33.58 -27.16,50.81z\" />\r\n          <path className=\"motorAnime1\" d=\"M526.94 259.9c24.82,17.85 55.09,31.44 80.02,47.31 12.56,9.12 43.67,-8.99 32.72,-17.52 -9.03,-3.53 -101.83,-53.68 -109.67,-66.05 -2.01,3.64 -1.29,1.13 -2.54,7.97 -0.51,2.81 -0.65,6.28 -0.74,9.16 -0.19,5.72 0.27,13.17 0.22,19.13z\" />\r\n          <path className=\"motorAnime6\" d=\"M577.74 1209.42c28.81,17.99 61.4,36.52 91.56,53.72 15.89,9.06 30.51,17.03 47.06,27.01 12.86,7.75 33.6,24.04 47.7,24.24l0.02 -2.79c-5.85,-6.93 -3.26,-6.3 -5.81,-15.58 -15.13,-4.87 -30.69,-16.32 -45.51,-24.81 -15.96,-9.15 -30,-17.42 -44.96,-25.83 -30.54,-17.18 -59.6,-35.44 -89.91,-52.3l-0.16 16.35z\" />\r\n          <path className=\"motorAnime11\" d=\"M616.25 202.04c20.48,10.67 72.81,39.27 86.37,52.09 11.36,-6.64 23.84,-10.69 31.89,-21.27 -19.94,-10.7 -39.72,-23.19 -60.02,-33.84 -9.97,3.24 -9.53,3.94 -16.09,9.74 -20.18,-9.61 -24.21,-22.71 -42.14,-6.72z\" />\r\n          <path className=\"motorAnime9\" d=\"M1257.72 900.35l23.23 14.2c11.7,-3.01 9.33,-1.35 19.25,-38.18 4.15,-15.43 6.83,-30.89 8.22,-47.41 -36.86,13.86 -49.75,26.22 -50.7,71.38z\" />\r\n          <path className=\"motorAnime0\" d=\"M351.65 381.52l165 98.33c0.17,-22.45 -19.11,-26.48 -58.03,-48.77 -12.37,-7.08 -59.61,-32.05 -65.94,-40.35 -24.35,-6.39 -17.66,-18.65 -41.04,-9.22z\" />\r\n          <path className=\"motorAnime1\" d=\"M571.54 234.53c21.79,16.72 55.22,32.17 79.52,46.62 6.45,5.28 13.59,-3.65 22.91,-11.27 -7.04,-9.44 -38.64,-24.78 -51.27,-31.89 -9.83,-5.53 -16.56,-9.39 -26.5,-15.28 -10.25,-6.07 -17.15,-6.3 -21.68,-17.38 -2.56,4 -1.16,0.08 -2.53,7.2 -0.65,3.4 -0.38,1.91 -0.67,5.73 -0.29,3.81 0.23,11.92 0.2,16.26z\" />\r\n          <path className=\"motorAnime9\" d=\"M1228.24 1005.1l-25.92 -15.5 -23.92 12.96 0.02 48.15c12.77,-5.21 19.78,-12.53 28.61,-19.84 9.83,-8.14 16.78,-13.61 21.22,-25.78z\" />\r\n          <path className=\"motorAnime0\" d=\"M530.01 223.63c7.85,12.37 100.64,62.52 109.67,66.05 5.65,5.15 25.68,-2.98 11.38,-8.54 -24.3,-14.45 -57.73,-29.91 -79.52,-46.62 -20.19,-7.1 -20.62,-21.04 -41.53,-10.89z\" />\r\n          <path className=\"motorAnime0\" d=\"M574.53 205.33c4.53,11.08 11.43,11.31 21.68,17.38 9.94,5.89 16.67,9.75 26.5,15.28 12.63,7.1 44.23,22.44 51.27,31.89l15.83 -10.36 -78.06 -43.95c-13.08,-8.12 -21.64,-17.05 -37.21,-10.24z\" />\r\n          <path className=\"motorAnime8\" d=\"M611.74 215.58l78.06 43.95 12.82 -5.39c-13.55,-12.82 -65.89,-41.43 -86.37,-52.09 -0.23,18.2 -0.9,9.25 -4.51,13.54z\" />\r\n          <path className=\"motorAnime12\" d=\"M233.46 650.76l2.53 -1.06c8.86,-1.78 28.3,-14.1 35.07,-18.61 -7.63,-9.07 -15.4,-10.65 -22.62,-15.75 -13.17,-9.31 12.3,10.76 -3.84,-3.01l-5.4 -5.45 -5.74 43.89z\" />\r\n          <path className=\"motorAnime13\" d=\"M692.33 857.62l0.95 14.84c14.09,-5.95 25.08,-13.21 38.59,-20.62 6.25,-8.37 6.44,-6.84 7.64,-18.58l-47.18 24.36z\" />\r\n          <path className=\"motorAnime14\" d=\"M525.94 1155c8.76,13.47 28.02,14.19 38.47,0 -3.36,-8.75 -6.93,-12.39 -18.74,-12.82 -13.59,-0.49 -16.88,3.18 -19.73,12.82z\" />\r\n          <path className=\"motorAnime14\" d=\"M800.33 1308.23c2.4,10 3.62,13.33 15.88,14.52 12.3,1.2 14.51,-0.06 21.74,-6.82 -0.75,-21.6 -22.82,-17.67 -37.62,-7.7z\" />\r\n          <path className=\"motorAnime2\" d=\"M686.12 914.29l-1.61 15.36 34.26 -19.09c4,-6.23 4.95,-6.98 4.37,-16.88 -13.16,5.74 -25.2,13.12 -37.01,20.6z\" />\r\n          <path className=\"motorAnime2\" d=\"M684.97 965.3c-1.82,9.35 -5.89,14.1 3.86,13.43l23.5 -13.85c4.39,-6.51 4.25,-5.24 4.54,-16.25l-31.89 16.67z\" />\r\n          <path className=\"motorAnime15\" d=\"M1056.1 442.15l32.57 -11.53c-12.79,-1.69 -19.61,-10.37 -32.27,-14.85l-0.31 26.37z\" />\r\n          <polygon className=\"motorAnime13\" points=\"689.93,1012.77 692.83,1025.49 710.48,1015.68 714.69,1001.93 \" />\r\n          <polygon className=\"motorAnime16\" points=\"705.49,1054.57 706.6,1070.17 723.53,1062.45 719.56,1049.26 \" />\r\n          <path className=\"motorAnime14\" d=\"M1403.35 989.31c2.7,-6.44 -1.79,-14.3 -11.95,-15.09 -10.17,-0.8 -18.12,3.13 -21.74,8 -6.08,8.17 -0.26,14.89 8.97,16.48 9.11,1.56 21.58,-1.9 24.72,-9.38z\" />\r\n          <circle className=\"motorAnime6\" transform=\"matrix(0.67087 -0.0382541 -0.279501 0.96024 1332.47 1003.46)\" r=\"51.31\" />\r\n\r\n          <g className=\"rodeRotate1\">\r\n            <path className=\"motorAnime17 rodeRotate\" style={{ animationPlayState: isRunning ? \"running\" : \"paused\" }} d=\"M1306.64 1339.8l74.85 0c0,20.67 -16.75,37.42 -37.42,37.42 -20.67,0 -37.42,-16.76 -37.42,-37.42zm37.42 -49.12c-27.13,0 -49.12,21.99 -49.12,49.12 0,27.13 21.99,49.12 49.12,49.12 27.13,0 49.12,-21.99 49.12,-49.12 0,-27.13 -21.99,-49.12 -49.12,-49.12z\" />\n          </g>\r\n          <path className=\"motorAnime3\" d=\"M599.23 315.32c25.44,12.39 56.64,31.73 82.45,47.15 27,16.13 53.52,31.32 80.71,46.37 14.6,-4.74 185.88,-105.05 210.32,-120.27l-172.22 -99.12 -201.26 125.87z\" />\r\n          <rect className=\"motorAnime6 rodeCut\" style={{ animationPlayState: isRunning ? \"running\" : \"paused\" }} width=\"104.66\" height=\"9.5\" rx=\"4.75\" ry=\"4.75\" />\n        </g>\r\n      </g>\r\n    </svg>\r\n  )\r\n}\r\nexport default Motor\r\n\r\n\r\n\r\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst OvenHeatSVG = createDailyLifeDynamicSVG('oven', 'Oven heat');\n\nexport default OvenHeatSVG;\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport './packMachine.scss'\r\nimport { LatestEventHandler } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';\r\nconst PackMachine = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    const rootRef = useRef(null)\r\n    const configuredValue = props.value ?? props?.config?.value ?? props?.config?.defaultValue\r\n    let sku = Boolean(Number(configuredValue))\r\n    let play = Boolean(Number(configuredValue))\r\n    // let night = false\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            sku = true\r\n            play = liveValue[props.config.param]\r\n        } else {\r\n            sku = false\r\n            play = false\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        const root = rootRef.current\r\n        if (!root) return\r\n\r\n        root.querySelectorAll(\".animationVisibility\").forEach(box => {\r\n            box.style.visibility = sku ? \"visible\" : \"hidden\"\r\n        })\r\n        root.querySelectorAll(\".animationState\").forEach(box => {\r\n            box.style.animationPlayState = sku && play ? \"running\" : \"paused\"\r\n        })\r\n\r\n        if (sku && !play) {\r\n            root.querySelectorAll(\".boxMovement.animationVisibility,.boxMovement2.animationVisibility,.boxOpen.animationVisibility,.box90.animationVisibility\").forEach(box => {\r\n                box.style.visibility = \"hidden\"\r\n            })\r\n        }\r\n    }, [sku, play])\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} ref={rootRef} xmlns=\"http://www.w3.org/2000/svg\" id=\"packMachine\" version=\"1.1\" viewBox=\"0 0 1689881 480899\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n            style={{ ...style,  cursor: props?.config?.isControllable && \"pointer\" }}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <defs>\r\n                <linearGradient id=\"id0\" gradientUnits=\"userSpaceOnUse\" x1=\"640562\" y1=\"217875\" x2=\"640564\" y2=\"240824\">\r\n                    <stop offset=\"0\" style={{ stopOpacity: 0.588235, stopColor: \"black\" }} />\r\n                    <stop offset=\"1\" style={{ stopOpacity: 0, stopColor: \"black\" }} />\r\n                </linearGradient>\r\n            </defs>\r\n            <g id=\"Layer_x0020_1\" >\r\n                <g id=\"_534883304\">\r\n                    <polygon className=\"pack_fil1\" points=\"194453,289009 194453,187983 134806,187983 134806,289009 \" />\r\n                    <path className=\"pack_fil2\" d=\"M180520 259427l40802 0 0 -29972 4136 0 0 29972 14710 0 0 33023 -59648 0 0 -33023zm884992 0c43309,0 4417,0 40100,0l0 33023 -40100 0 0 -33023z\" />\r\n                    <rect className=\"pack_fil3\" x=\"1426523\" y=\"206949\" width=\"191446\" height=\"117677\" />\r\n                    <ellipse className=\"pack_fil4\" cx=\"1596779\" cy=\"419860\" rx=\"12992\" ry=\"5498\" />\r\n                    <path className=\"pack_fil5\" d=\"M1593534 406464l6490 0 0 10021c0,760 -1461,1383 -3245,1383l0 0c-1784,0 -3245,-622 -3245,-1383l0 -10021z\" />\r\n                    <g style={{ transform: \"translateX(-2%)\" }}>\r\n                        <g className=\"box90 animationTime animationState animationVisibility\" style={{ transformOrigin: \"86.75% 56%\" }}>\r\n                            <path className=\"pack_fil6\" d=\"M1466904 270093l-46051 0c0,-7888 -17,-7849 0,-15721l46051 0c0,5206 0,10600 0,15721z\" />\r\n                            <path className=\"pack_fil7\" d=\"M1420853 270093l1191 -7265 43669 0 1191 7265 0 -15721 -1191 7265 -43669 0 -1191 -7265c-17,7872 0,7833 0,15721z\" />\r\n                        </g>\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1171166 270093l-46052 0c0,-7888 -16,-7849 0,-15721l46052 0c0,5206 0,10600 0,15721z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1125114 270093l1192 -7265 43668 0 1192 7265 0 -15721 -1192 7265 -43668 0 -1192 -7265c-16,7872 0,7833 0,15721z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1248692 270093l-46051 0c0,-7888 -17,-7849 0,-15721l46051 0c0,5206 0,10600 0,15721z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1202641 270093l1191 -7265 43668 0 1192 7265 0 -15721 -1192 7265 -43668 0 -1191 -7265c-17,7872 0,7833 0,15721z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1326218 270093l-46051 0c0,-7888 -17,-7849 0,-15721l46051 0c0,5206 0,10600 0,15721z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1280167 270093l1191 -7265 43669 0 1191 7265 0 -15721 -1191 7265 -43669 0 -1191 -7265c-17,7872 0,7833 0,15721z\" />\r\n                    </g>\r\n                    <rect className=\"pack_fil8\" x=\"1180334\" y=\"377591\" width=\"416445\" height=\"12070\" />\r\n                    <path className=\"pack_fil9\" d=\"M1183295 304537c19942,5257 40230,10015 60864,13514 20630,3499 41602,5738 62911,5957l-10 1236c-21392,-220 -42426,-2465 -63105,-5971 -20675,-3506 -41000,-8273 -60975,-13539l315 -1197z\" />\r\n                    <rect className=\"pack_fil10\" x=\"1591212\" y=\"328920\" width=\"11134\" height=\"78311\" />\r\n                    <ellipse className=\"pack_fil4\" cx=\"1180334\" cy=\"419860\" rx=\"12992\" ry=\"5498\" />\r\n                    <rect className=\"pack_fil8\" x=\"538736\" y=\"296062\" width=\"15307\" height=\"110261\" />\r\n                    <circle className=\"pack_fil11\" cx=\"540674\" cy=\"417705\" r=\"7653\" />\r\n                    <path className=\"pack_fil1\" d=\"M552878 406433c-4311,0 -8622,0 -12934,0 -1195,5289 -4601,12178 -1507,14272 4306,2913 12160,-4939 14441,-14272z\" />\r\n                    <rect className=\"pack_fil12\" x=\"537547\" y=\"405632\" width=\"17815\" height=\"1602\" rx=\"767\" ry=\"801\" />\r\n                    <circle className=\"pack_fil13\" cx=\"540674\" cy=\"417705\" r=\"2069\" />\r\n                    <rect className=\"pack_fil14\" x=\"92813\" y=\"381343\" width=\"1006832\" height=\"8318\" />\r\n                    <rect className=\"pack_fil14\" x=\"117051\" y=\"334231\" width=\"958355\" height=\"8318\" />\r\n                    <circle className=\"pack_fil11\" cx=\"79567\" cy=\"417705\" r=\"7653\" />\r\n                    <path className=\"pack_fil1\" d=\"M78642 407234c-1324,5162 -4253,11481 -1313,13471 4183,2829 11711,-4497 14230,-13471l1855 0 0 -4344 19030 -40790 6633 -6633 24241 -24240 909289 0 24214 24214 6659 6659 19030 40790 0 4344 1855 0c2520,8974 10048,16300 14230,13471 2940,-1990 11,-8309 -1313,-13471l1363 0 0 -59700 -14744 -14744 0 1 -36728 -36729 0 -8943 -526523 0 0 -107852 -144230 0 0 107852 -267668 0 0 8943 0 0 -36729 36729 0 -1 -14368 14369 -376 375 0 0 0 59700 1363 0z\" />\r\n                    <rect className=\"pack_fil12\" x=\"76439\" y=\"405632\" width=\"17815\" height=\"1602\" rx=\"767\" ry=\"801\" />\r\n                    <circle className=\"pack_fil13\" cx=\"79567\" cy=\"417705\" r=\"2069\" />\r\n                    <circle className=\"pack_fil11\" cx=\"1116358\" cy=\"417705\" r=\"7653\" />\r\n                    <rect className=\"pack_fil12\" x=\"1101670\" y=\"405632\" width=\"17815\" height=\"1602\" rx=\"767\" ry=\"801\" />\r\n                    <circle className=\"pack_fil13\" cx=\"1116358\" cy=\"417705\" r=\"2069\" />\r\n                    <path className=\"pack_fil15\" d=\"M1160320 247527l0 0c4551,0 8275,3723 8275,8274l0 43243 -16549 0 0 -43243c0,-4551 3724,-8274 8274,-8274z\" />\r\n                    <circle className=\"pack_fil11\" cx=\"1160320\" cy=\"255632\" r=\"3446\" />\r\n                    <path className=\"pack_fil5\" d=\"M1177090 406464l6489 0 0 10021c0,760 -1461,1383 -3245,1383l0 0c-1784,0 -3244,-622 -3244,-1383l0 -10021z\" />\r\n                    <path className=\"pack_fil3\" d=\"M1131663 289259c-31,-29 -360,-351 -359,-354 -1934,-1997 -3125,-4718 -3125,-7718 0,-6127 4967,-11094 11094,-11094l46628 0 33 50123 -54271 -30957z\" />\r\n                    <circle className=\"pack_fil13\" cx=\"1139273\" cy=\"281187\" r=\"6601\" />\r\n                    <rect className=\"pack_fil10\" x=\"1174767\" y=\"270093\" width=\"11134\" height=\"137139\" />\r\n                    <rect className=\"pack_fil16\" x=\"1174767\" y=\"270093\" width=\"443201\" height=\"6075\" />\r\n                    <path className=\"pack_fil10\" d=\"M1293708 194632l399 0c18203,-9467 38889,-14818 60825,-14818 21936,0 42622,5351 60825,14818l3 0 0 122092 -9250 0 0 13937 -4107 0 0 -13937 -95338 0 0 13937 -4107 0 0 -13937 -9250 0 0 -122092z\" />\r\n                    <rect className=\"pack_fil17 pack_str0\" x=\"1310505\" y=\"211013\" width=\"88458\" height=\"88458\" />\r\n                    <path className=\"pack_fil1\" d=\"M1324697 225205l60074 0 0 60074 -60074 0 0 -60074zm30037 -10025c1205,0 2183,978 2183,2183 0,1206 -978,2184 -2183,2184 -1206,0 -2183,-978 -2183,-2184 0,-1205 977,-2183 2183,-2183zm0 75757c1205,0 2183,977 2183,2183 0,1206 -978,2183 -2183,2183 -1206,0 -2183,-977 -2183,-2183 0,-1206 977,-2183 2183,-2183zm37429 0c1206,0 2183,977 2183,2183 0,1206 -977,2183 -2183,2183 -1205,0 -2183,-977 -2183,-2183 0,-1206 978,-2183 2183,-2183zm-74858 0c-1206,0 -2184,977 -2184,2183 0,1206 978,2183 2184,2183 1205,0 2183,-977 2183,-2183 0,-1206 -978,-2183 -2183,-2183zm74858 -37878c1206,0 2183,977 2183,2183 0,1205 -977,2183 -2183,2183 -1205,0 -2183,-978 -2183,-2183 0,-1206 978,-2183 2183,-2183zm0 -37879c1206,0 2183,978 2183,2183 0,1206 -977,2184 -2183,2184 -1205,0 -2183,-978 -2183,-2184 0,-1205 978,-2183 2183,-2183zm-74858 0c-1206,0 -2184,978 -2184,2183 0,1206 978,2184 2184,2184 1205,0 2183,-978 2183,-2184 0,-1205 -978,-2183 -2183,-2183zm0 37879c-1206,0 -2184,977 -2184,2183 0,1205 978,2183 2184,2183 1205,0 2183,-978 2183,-2183 0,-1206 -978,-2183 -2183,-2183z\" />\r\n                    <rect className=\"pack_fil16\" x=\"1324697\" y=\"225205\" width=\"60074\" height=\"30037\" />\r\n                    <rect className=\"pack_fil4 blind animationTime animationState\" x=\"1328731\" y=\"229139\" width=\"52007\" height=\"22168\" />\r\n                    <rect className=\"pack_fil8\" x=\"1185901\" y=\"324626\" width=\"432067\" height=\"12070\" />\r\n                    <rect className=\"pack_fil16\" x=\"1464868\" y=\"270093\" width=\"119940\" height=\"119568\" />\r\n                    <rect className=\"pack_fil1\" x=\"1464868\" y=\"311994\" width=\"119940\" height=\"1519\" />\r\n                    <path className=\"pack_fil10\" d=\"M1464868 295322c36374,17543 83566,17543 119939,0l0 -25229 -119939 0 0 25229z\" />\r\n                    <rect className=\"pack_fil11\" x=\"1515832\" y=\"278871\" width=\"18011\" height=\"18011\" />\r\n                    <path className=\"pack_fil8\" d=\"M1605094 298878c7110,0 12874,5764 12874,12874l0 24944 -25748 0 0 -24944c0,-7110 5764,-12874 12874,-12874z\" />\r\n                    <rect className=\"pack_fil16\" x=\"1204651\" y=\"324626\" width=\"122052\" height=\"65034\" />\r\n                    <path className=\"pack_fil13\" d=\"M1222964 334723c-2371,-1946 -5878,-1813 -8092,401 -2356,2357 -2356,6178 0,8535 2357,2356 6178,2356 8535,0 2214,-2215 2347,-5721 401,-8092l-3824 3824c-233,233 -612,233 -845,0l0 0c-232,-232 -232,-611 0,-844l3825 -3824z\" />\r\n                    <path className=\"pack_fil18 blink animationTime animationState\" d=\"M1265838 335318c2249,0 4073,1824 4073,4074 0,2249 -1824,4073 -4073,4073 -2250,0 -4073,-1824 -4073,-4073 0,-2250 1823,-4074 4073,-4074zm0 -1961c3333,0 6035,2702 6035,6035 0,3332 -2702,6034 -6035,6034 -3333,0 -6035,-2702 -6035,-6034 0,-3333 2702,-6035 6035,-6035z\" />\r\n                    <circle className=\"pack_fil19\" cx=\"1265838\" cy=\"339392\" r=\"3385\" />\r\n                    <circle className=\"pack_fil20\" cx=\"1218903\" cy=\"377591\" r=\"1693\" />\r\n                    <circle className=\"pack_fil20\" cx=\"1230972\" cy=\"377591\" r=\"2067\" />\r\n                    <circle className=\"pack_fil20\" cx=\"1243041\" cy=\"377591\" r=\"1635\" />\r\n                    <circle className=\"pack_fil20\" cx=\"1255111\" cy=\"377591\" r=\"955\" />\r\n                    <circle className=\"pack_fil20\" cx=\"1266500\" cy=\"377591\" r=\"955\" />\r\n                    <g className=\"boxMovement2 animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1515445 270093l0 -46052c7887,0 7849,-16 15720,0l0 46052c-5205,0 -10599,0 -15720,0z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1515445 224041l7264 1192 0 43668 -7264 1192 15720 0 -7264 -1192 0 -43668 7264 -1192c-7871,-16 -7832,0 -15720,0z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement2 animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1532197 270093l0 -46052c7888,0 7849,-16 15721,0l0 46052c-5206,0 -10600,0 -15721,0z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1532197 224041l7265 1192 0 43668 -7265 1192 15721 0 -7265 -1192 0 -43668 7265 -1192c-7872,-16 -7833,0 -15721,0z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement2 animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1548950 270093l0 -46052c7888,0 7849,-16 15720,0l0 46052c-5205,0 -10599,0 -15720,0z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1548950 224041l7265 1192 0 43668 -7265 1192 15720 0 -7264 -1192 0 -43668 7264 -1192c-7871,-16 -7832,0 -15720,0z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement2 animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1565703 270093l0 -46052c7887,0 7848,-16 15720,0l0 46052c-5206,0 -10599,0 -15720,0z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1565703 224041l7264 1192 0 43668 -7264 1192 15720 0 -7265 -1192 0 -43668 7265 -1192c-7872,-16 -7833,0 -15720,0z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement2 animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1582455 270093l0 -46052c7888,0 7849,-16 15721,0l0 46052c-5206,0 -10600,0 -15721,0z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1582455 224041l7265 1192 0 43668 -7265 1192 15721 0 -7265 -1192 0 -43668 7265 -1192c-7872,-16 -7833,0 -15721,0z\" />\r\n                    </g>\r\n                    <g className=\"boxMovement2 animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1599208 270093l0 -46052c7888,0 7849,-16 15720,0l0 46052c-5205,0 -10599,0 -15720,0z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1599208 224041l7264 1192 0 43668 -7264 1192 15720 0 -7264 -1192 0 -43668 7264 -1192c-7871,-16 -7832,0 -15720,0z\" />\r\n                    </g>\r\n                    <rect x=\"95.78%\" y=\"45%\"  style={{ transition: \"all 1s\" }} width=\"3%\" height=\"15%\"></rect>\r\n                    <path className=\"pack_fil13\" d=\"M1099115 258918c-9260,0 -16766,7507 -16766,16766 0,9260 7506,16766 16766,16766 9259,0 16765,-7506 16765,-16766 0,-9259 -7506,-16766 -16765,-16766z\" />\r\n                    <path className=\"pack_fil21\" d=\"M1099117 295759c5524,0 10543,-2257 14179,-5894 3637,-3637 5894,-8657 5894,-14181 0,-5524 -2257,-10544 -5894,-14181 -3636,-3637 -8655,-5894 -14179,-5894l-72793 0 0 6619 72793 0c3697,0 7060,1515 9499,3955 2440,2440 3955,5804 3955,9501 0,3698 -1515,7061 -3955,9502 -2439,2439 -5802,3954 -9499,3954l0 6619z\" />\r\n                    <path className=\"pack_fil1 wheelAnimation animationTime animationState\" style={{ transformOrigin: \"65.05% 57.3%\" }} d=\"M1099115 258918c-9260,0 -16766,7507 -16766,16766 0,9260 7506,16766 16766,16766 9259,0 16765,-7506 16765,-16766 0,-9259 -7506,-16766 -16765,-16766zm-1667 11545c-294,94 -577,211 -847,351l-5435 -5436c1784,-1378 3935,-2303 6282,-2603l0 7688zm-8639 -2727l5435 5435c-139,270 -257,553 -350,846l-7689 0c301,-2347 1226,-4498 2604,-6281zm-2604 9615l7689 0c93,293 211,576 350,846l-5435 5436c-1378,-1784 -2304,-3935 -2604,-6282zm4961 8639l5435 -5435c270,139 553,257 847,350l0 7688c-2347,-300 -4498,-1225 -6282,-2603zm9615 2603l0 -7688c294,-93 577,-211 847,-350l5435 5435c-1784,1378 -3935,2303 -6282,2603zm8639 -4960l-5435 -5436c140,-270 257,-552 351,-846l7688 0c-300,2347 -1225,4498 -2604,6282zm2604 -9616l-7688 0c-94,-293 -212,-576 -351,-846l5435 -5435c1378,1784 2304,3934 2604,6281zm-4961 -8639l-5435 5436c-270,-140 -553,-257 -847,-351l0 -7688c2347,300 4498,1225 6282,2603zm-7948 7053c-1797,0 -3254,1456 -3254,3253 0,1797 1457,3253 3254,3253 1796,0 3253,-1456 3253,-3253 0,-1797 -1457,-3253 -3253,-3253z\" />\r\n                    <rect className=\"pack_fil15\" x=\"634252\" y=\"168999\" width=\"11584\" height=\"127063\" />\r\n                    <path className=\"pack_fil15\" d=\"M640197 216574l0 0c3186,0 5792,2606 5792,5792l0 73696 -11583 0 0 -73696c0,-3186 2606,-5792 5791,-5792z\" />\r\n                    <rect className=\"pack_fil25\" x=\"638553\" y=\"190630\" width=\"2973\" height=\"1810\" rx=\"127\" ry=\"127\" />\r\n                    <path className=\"pack_fil13\" d=\"M638332 191508l3414 0c484,0 879,395 879,878l0 22651c0,484 -395,879 -879,879l-27 0 -33 58 -1124 1901c-285,483 -723,532 -973,109l-1222 -2068 -35 0c-483,0 -878,-395 -878,-879l0 -22651c0,-483 395,-878 878,-878z\" />\r\n                    <path className=\"pack_fil17 pack_str1\" d=\"M640039 190630c-34,-838 -1869,-4355 -463,-8248 1741,-4822 1753,-6437 698,-12234 -12,-64 -4,-1007 -4,-1149\" />\r\n                    <polygon className=\"pack_fil26 printSpray animationTime animationState\" points=\"621172,240824 658916,240824 640044,218271 \" />\r\n                    <rect className=\"pack_fil10\" x=\"636887\" y=\"195606\" width=\"6305\" height=\"1810\" />\r\n                    <rect className=\"pack_fil10\" x=\"636887\" y=\"203985\" width=\"6305\" height=\"1810\" />\r\n\r\n\r\n                    <path className=\"pack_fil6 animationVisibility\" d=\"M297326 150779l5293 3588 21064 36484 -5293 -3587 -21064 -36485zm76545 -44193l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36485 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36484 -5293 -3587 -21064 -36484zm-2835 1636l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36485 -5293 -3588 -21064 -36484zm-2835 1636l5293 3588 21064 36484 -5293 -3587 -21064 -36485zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36485 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36484 -5293 -3587 -21064 -36484zm-2835 1636l5293 3588 21064 36484 -5293 -3587 -21064 -36485zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36485 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36484 -5293 -3587 -21064 -36484zm-2835 1636l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36484 -5293 -3587 -21064 -36484zm-2835 1636l5293 3588 21064 36484 -5293 -3587 -21064 -36485zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3588 21064 36484 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36485 -5293 -3588 -21064 -36484zm-2835 1637l5293 3587 21064 36484 -5293 -3587 -21064 -36484z\" />\r\n                    <polygon className=\"pack_fil15\" points=\"459355,141130 475903,141130 475903,287119 459355,287119 \" />\r\n                    <polygon className=\"pack_fil13\" points=\"255988,74991 267104,68573 357792,225649 346676,232067 \" />\r\n                    <g className=\"boxOpen animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M271735 239678l5747 1359c661,156 1234,556 1234,1234l0 10771c0,547 -463,876 -997,997l-5984 1359 0 6982 -46052 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -997,-450 -997,-997l0 -10771c0,-678 575,-1079 1234,-1234l5747 -1359 0 0 8 -6982 46052 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M225675 239678l46060 0 0 15720 -46060 0 0 -15720zm2353 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M269383 240481l-5161 1220c-592,140 -1108,499 -1108,1108l0 9671c0,491 415,786 895,895l5374 1220 0 -14114zm-41355 0l5160 1220c592,140 1108,499 1108,1108l0 9671c0,491 -415,786 -895,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"228028,240481 269383,240481 269383,254595 228028,254595 \" />\r\n                    </g>\r\n                    <polygon className=\"pack_fil15\" points=\"128752,179267 327427,179267 352104,222008 151712,222008 151712,287119 128752,287119 \" />\r\n                    <polygon className=\"pack_fil27\" points=\"155704,179267 257449,77522 255988,74991 151712,179267 \" />\r\n                    <path className=\"pack_fil28\" d=\"M151712 255924l202394 0 1197 0 122 -43c3309,0 6619,0 8725,-1045 2105,-1045 3007,-3135 2608,-5652 -296,-1866 -1307,-3968 -2503,-6129l-165 -286 -110 -190 -99566 -172453 -8426 4866 -104276 104275 0 63303 0 13354z\" />\r\n                    <path className=\"pack_fil29\" d=\"M280423 198970c922,0 1668,747 1668,1668 0,921 -746,1668 -1668,1668 -921,0 -1668,-747 -1668,-1668 0,-921 747,-1668 1668,-1668zm-124046 -16959c925,0 1675,750 1675,1676 0,925 -750,1675 -1675,1675 -926,0 -1676,-750 -1676,-1675 0,-926 750,-1676 1676,-1676zm0 32951c925,0 1675,750 1675,1676 0,925 -750,1675 -1675,1675 -926,0 -1676,-750 -1676,-1675 0,-926 750,-1676 1676,-1676zm167920 -32951c925,0 1675,750 1675,1676 0,925 -750,1675 -1675,1675 -926,0 -1676,-750 -1676,-1675 0,-926 750,-1676 1676,-1676zm17685 32951c925,0 1675,750 1675,1676 0,925 -750,1675 -1675,1675 -926,0 -1676,-750 -1676,-1675 0,-926 750,-1676 1676,-1676zm-55105 -28105c921,0 1668,746 1668,1667 0,923 -747,1669 -1668,1669 -921,0 -1668,-746 -1668,-1669 0,-921 747,-1667 1668,-1667zm0 24226c921,0 1668,746 1668,1668 0,921 -747,1668 -1668,1668 -921,0 -1668,-747 -1668,-1668 0,-922 747,-1668 1668,-1668z\" />\r\n                    <circle className=\"pack_fil10\" cx=\"262601\" cy=\"76362\" r=\"1676\" />\r\n                    <path className=\"pack_fil13\" d=\"M415914 138188l-14330 6105 -69448 40096 -26 15 1554 2690 14 -8 82850 -47834 -614 -1064zm-6317 -28776l-90498 52249 -107 62 4293 7435 78 -44 90527 -52266c-1430,-2479 -2861,-4958 -4293,-7436zm-18542 -14063l-82700 47747 -165 95 1553 2690 154 -89 69907 -40361 11804 -9124 -553 -958z\" />\r\n                    <path className=\"pack_fil13\" d=\"M208712 258918c9260,0 16766,7507 16766,16766 0,9260 -7506,16766 -16766,16766 -9259,0 -16766,-7506 -16766,-16766 0,-9259 7507,-16766 16766,-16766z\" />\r\n                    <path className=\"pack_fil21\" d=\"M208710 295759c-5524,0 -10544,-2257 -14180,-5894 -3636,-3637 -5893,-8657 -5893,-14181 0,-5524 2257,-10544 5893,-14181 3636,-3637 8656,-5894 14180,-5894l72792 0 0 6619 -72792 0c-3697,0 -7060,1515 -9500,3955 -2440,2440 -3954,5804 -3954,9501 0,3698 1514,7061 3954,9502 2440,2439 5803,3954 9500,3954l0 6619z\" />\r\n                    <path className=\"pack_fil1 wheelAnimation animationTime animationState\" style={{ transformOrigin: \"12.34% 57.28%\" }} d=\"M208712 258918c9260,0 16766,7507 16766,16766 0,9260 -7506,16766 -16766,16766 -9259,0 -16766,-7506 -16766,-16766 0,-9259 7507,-16766 16766,-16766zm1667 11545c294,94 577,211 846,351l5436 -5436c-1784,-1378 -3935,-2303 -6282,-2603l0 7688zm8639 -2727l-5435 5435c139,270 257,553 350,846l7688 0c-300,-2347 -1225,-4498 -2603,-6281zm2603 9615l-7688 0c-93,293 -211,576 -350,846l5435 5436c1378,-1784 2304,-3935 2603,-6282zm-4960 8639l-5436 -5435c-269,139 -552,257 -846,350l0 7688c2347,-300 4498,-1225 6282,-2603zm-9616 2603l0 -7688c-293,-93 -576,-211 -846,-350l-5435 5435c1784,1378 3935,2303 6281,2603zm-8639 -4960l5436 -5436c-140,-270 -257,-552 -351,-846l-7688 0c300,2347 1225,4498 2603,6282zm-2603 -9616l7688 0c94,-293 212,-576 351,-846l-5436 -5435c-1378,1784 -2303,3934 -2603,6281zm4961 -8639l5435 5436c270,-140 553,-257 846,-351l0 -7688c-2346,300 -4498,1225 -6281,2603zm7948 7053c1797,0 3254,1456 3254,3253 0,1797 -1457,3253 -3254,3253 -1797,0 -3253,-1456 -3253,-3253 0,-1797 1456,-3253 3253,-3253z\" />\r\n\r\n\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M271735 239678l5747 1359c661,156 1234,556 1234,1234l0 10771c0,547 -463,876 -997,997l-5984 1359 0 6982 -46052 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -997,-450 -997,-997l0 -10771c0,-678 575,-1079 1234,-1234l5747 -1359 0 0 8 -6982 46052 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M225675 239678l46060 0 0 15720 -46060 0 0 -15720zm2353 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M269383 240481l-5161 1220c-592,140 -1108,499 -1108,1108l0 9671c0,491 415,786 895,895l5374 1220 0 -14114zm-41355 0l5160 1220c592,140 1108,499 1108,1108l0 9671c0,491 -415,786 -895,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"228028,240481 269383,240481 269383,254595 228028,254595 \" />\r\n                        <polygon className=\"pack_fil21\" style={{ transform: \"translateX(-4.6%)\" }} points=\"290170,255609 362963,255609 362963,262228 290170,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M349596 239678l5748 1359c660,156 1234,556 1234,1234l0 10771c0,547 -463,876 -998,997l-5984 1359 0 6982 -46051 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -998,-450 -998,-997l0 -10771c0,-678 575,-1079 1235,-1234l5747 -1359 0 0 8 -6982 46051 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M303537 239678l46059 0 0 15720 -46059 0 0 -15720zm2352 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M347244 240481l-5160 1220c-592,140 -1109,499 -1109,1108l0 9671c0,491 416,786 896,895l5373 1220 0 -14114zm-41355 0l5160 1220c593,140 1109,499 1109,1108l0 9671c0,491 -415,786 -896,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"305889,240481 347244,240481 347244,254595 305889,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"290170,255609 362963,255609 362963,262228 290170,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M431009 239678l5748 1359c661,156 1234,556 1234,1234l0 10771c0,547 -463,876 -997,997l-5985 1359 0 6982 -46051 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -997,-450 -997,-997l0 -10771c0,-678 574,-1079 1234,-1234l5747 -1359 0 0 8 -6982 46051 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M384950 239678l46059 0 0 15720 -46059 0 0 -15720zm2352 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M428658 240481l-5161 1220c-592,140 -1108,499 -1108,1108l0 9671c0,491 415,786 895,895l5374 1220 0 -14114zm-41355 0l5160 1220c592,140 1108,499 1108,1108l0 9671c0,491 -415,786 -895,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"387302,240481 428657,240481 428657,254595 387302,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"371584,255609 444376,255609 444376,262228 371584,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M508536 239678l5747 1359c661,156 1234,556 1234,1234l0 10771c0,547 -463,876 -997,997l-5984 1359 0 6982 -46052 0 0 -6982 58 0 -65 -145 0 145 -5985 -1359c-535,-121 -997,-450 -997,-997l0 -10771c0,-678 575,-1079 1234,-1234l5748 -1359 0 0 7 -6982 46052 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M462477 239678l46059 0 0 15720 -46059 0 0 -15720zm2352 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M506184 240481l-5161 1220c-592,140 -1108,499 -1108,1108l0 9671c0,491 415,786 895,895l5374 1220 0 -14114zm-41355 0l5160 1220c592,140 1108,499 1108,1108l0 9671c0,491 -415,786 -895,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"464829,240481 506184,240481 506184,254595 464829,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"449110,255609 521902,255609 521902,262228 449110,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M586062 239678l5747 1359c661,156 1235,556 1235,1234l0 10771c0,547 -464,876 -998,997l-5984 1359 0 6982 -46051 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -998,-450 -998,-997l0 -10771c0,-678 575,-1079 1234,-1234l5748 -1359 0 0 8 -6982 46051 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M540003 239678l46059 0 0 15720 -46059 0 0 -15720zm2352 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M583710 240481l-5160 1220c-593,140 -1109,499 -1109,1108l0 9671c0,491 415,786 896,895l5373 1220 0 -14114zm-41355 0l5160 1220c592,140 1109,499 1109,1108l0 9671c0,491 -416,786 -896,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"542355,240481 583710,240481 583710,254595 542355,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"526636,255609 599429,255609 599429,262228 526636,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M663588 239678l5747 1359c661,156 1235,556 1235,1234l0 10771c0,547 -464,876 -998,997l-5984 1359 0 6982 -46051 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -998,-450 -998,-997l0 -10771c0,-678 575,-1079 1235,-1234l5747 -1359 0 0 8 -6982 46051 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M617529 239678l46059 0 0 15720 -46059 0 0 -15720zm2352 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M661236 240481l-5160 1220c-593,140 -1109,499 -1109,1108l0 9671c0,491 416,786 896,895l5373 1220 0 -14114zm-41355 0l5160 1220c593,140 1109,499 1109,1108l0 9671c0,491 -416,786 -896,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"619881,240481 661236,240481 661236,254595 619881,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"604162,255609 676955,255609 676955,262228 604162,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M741114 239678l5748 1359c660,156 1234,556 1234,1234l0 10771c0,547 -463,876 -997,997l-5985 1359 0 6982 -46051 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -998,-450 -998,-997l0 -10771c0,-678 575,-1079 1235,-1234l5747 -1359 0 0 8 -6982 46051 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M695055 239678l46059 0 0 15720 -46059 0 0 -15720zm2352 803l41355 0 0 14114 -41355 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M738762 240481l-5160 1220c-592,140 -1109,499 -1109,1108l0 9671c0,491 416,786 896,895l5373 1220 0 -14114zm-41355 0l5160 1220c593,140 1109,499 1109,1108l0 9671c0,491 -415,786 -895,895l-5374 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"697407,240481 738762,240481 738762,254595 697407,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"681688,255609 754481,255609 754481,262228 681688,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M818641 239678l5747 1359c661,156 1234,556 1234,1234l0 10771c0,547 -463,876 -997,997l-5984 1359 0 6982 -46052 0 0 -6982 58 0 -66 -145 0 145 -5984 -1359c-535,-121 -997,-450 -997,-997l0 -10771c0,-678 575,-1079 1234,-1234l5747 -1359 0 0 8 -6982 46052 0 0 6982z\" />\r\n                        <path className=\"pack_fil22\" d=\"M772581 239678l46060 0 0 15720 -46060 0 0 -15720zm2353 803l41354 0 0 14114 -41354 0 0 -14114z\" />\r\n                        <path className=\"pack_fil23\" d=\"M816289 240481l-5161 1220c-592,140 -1108,499 -1108,1108l0 9671c0,491 415,786 895,895l5374 1220 0 -14114zm-41355 0l5160 1220c592,140 1108,499 1108,1108l0 9671c0,491 -415,786 -895,895l-5373 1220 0 -14114z\" />\r\n                        <polygon className=\"pack_fil24\" points=\"774934,240481 816288,240481 816288,254595 774934,254595 \" />\r\n                        <polygon className=\"pack_fil21\" points=\"759215,255609 832007,255609 832007,262228 759215,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <g style={{ transform: \"translateX(-4.6%)\" }}>\r\n                            <path className=\"pack_fil6\" d=\"M975675 255609l-46051 0c0,-7888 -17,-7849 0,-15721l46051 0c0,5206 0,10600 0,15721z\" />\r\n                            <path className=\"pack_fil7\" d=\"M929624 255609l1191 -7265 43669 0 1191 7265 0 -15721 -1191 7265 -43669 0 -1191 -7265c-17,7872 0,7833 0,15721z\" />\r\n                            <polygon className=\"pack_fil21\" points=\"916249,255609 989042,255609 989042,262228 916249,262228 \" />\r\n                        </g>\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M975675 255609l-46051 0c0,-7888 -17,-7849 0,-15721l46051 0c0,5206 0,10600 0,15721z\" />\r\n                        <path className=\"pack_fil7\" d=\"M929624 255609l1191 -7265 43669 0 1191 7265 0 -15721 -1191 7265 -43669 0 -1191 -7265c-17,7872 0,7833 0,15721z\" />\r\n                        <polygon className=\"pack_fil21\" points=\"916249,255609 989042,255609 989042,262228 916249,262228 \" />\r\n                    </g>\r\n                    <g className=\"boxMovement animationTime animationState animationVisibility\">\r\n                        <path className=\"pack_fil6\" d=\"M1053201 255609l-46051 0c0,-7888 -16,-7849 0,-15721l46051 0c0,5206 0,10600 0,15721z\" />\r\n                        <path className=\"pack_fil7\" d=\"M1007150 255609l1191 -7265 43669 0 1191 7265 0 -15721 -1191 7265 -43669 0 -1191 -7265c-16,7872 0,7833 0,15721z\" />\r\n                    </g>\r\n                    <polygon className=\"pack_fil21\" points=\"993775,255609 1066568,255609 1066568,262228 993775,262228 \" />\r\n\r\n\r\n                    <rect className=\"pack_fil30\" x=\"180521\" y=\"258918\" width=\"918594\" height=\"6892\" />\r\n                    <path className=\"pack_fil12\" d=\"M816685 230761l120113 0c1571,0 2857,1286 2857,2857l0 48660 -125827 0 0 -48660c0,-1571 1286,-2857 2857,-2857z\" />\r\n                    <rect className=\"pack_fil3\" x=\"446322\" y=\"169336\" width=\"42613\" height=\"42635\" rx=\"3284\" ry=\"3286\" />\r\n                    <rect className=\"pack_fil10\" x=\"448097\" y=\"171112\" width=\"39063\" height=\"39083\" rx=\"3011\" ry=\"3012\" />\r\n                    <g>\r\n                        <path className=\"pack_fil13\" d=\"M469705 188349c-1170,-961 -2901,-895 -3994,198 -1163,1163 -1163,3049 0,4212 1163,1164 3049,1164 4212,0 1093,-1093 1159,-2823 198,-3993l-1887 1887c-115,115 -302,115 -417,0l0 0c-114,-114 -114,-302 0,-416l1888 -1888z\" />\r\n                        <g>\r\n                            <path className=\"pack_fil13\" d=\"M455603 187687c-1507,148 -2684,1418 -2684,2964 0,1645 1333,2979 2979,2979 1645,0 2978,-1334 2978,-2979 0,-1546 -1177,-2816 -2684,-2964l0 2669c0,163 -132,295 -294,295l0 0c-163,0 -295,-132 -295,-295l0 -2669z\" />\r\n                            <path className=\"pack_fil13\" d=\"M476940 192390c881,1231 2570,1616 3909,843 1425,-823 1913,-2645 1090,-4069 -822,-1425 -2644,-1913 -4069,-1090 -1338,772 -1850,2427 -1225,3806l2312 -1335c141,-81 322,-32 403,108l0 0c81,140 32,322 -108,403l-2312 1334z\" />\r\n                        </g>\r\n                    </g>\r\n                    <g>\r\n                        <g>\r\n                            <circle className=\"pack_fil29\" cx=\"455896\" cy=\"201869\" r=\"2977\" />\r\n                            <circle className=\"pack_fil13\" cx=\"455896\" cy=\"201869\" r=\"2072\" />\r\n                        </g>\r\n                        <g>\r\n                            <circle className=\"pack_fil29\" cx=\"467441\" cy=\"201869\" r=\"2977\" />\r\n                            <circle className=\"pack_fil13\" cx=\"467441\" cy=\"201869\" r=\"2072\" />\r\n                        </g>\r\n                        <g>\r\n                            <circle className=\"pack_fil29\" cx=\"479360\" cy=\"201869\" r=\"2977\" />\r\n                            <circle className=\"pack_fil13\" cx=\"479360\" cy=\"201869\" r=\"2072\" />\r\n                        </g>\r\n                    </g>\r\n                    <g>\r\n                        <circle className=\"pack_fil31\" cx=\"455896\" cy=\"179440\" r=\"2977\" />\r\n                        <circle className=\"pack_fil32 lightBlink animationTime animationState\" style={{ transformOrigin: \"27.6% 37.5%\" }} cx=\"467441\" cy=\"179440\" r=\"2977\" />\r\n                        <circle className=\"pack_fil33 lightBlink animationTime animationState\" style={{ transformOrigin: \"28.4% 37.5%\" }} cx=\"479360\" cy=\"179440\" r=\"2977\" />\r\n                    </g>\r\n                    <rect className=\"pack_fil10\" x=\"77279\" y=\"282278\" width=\"1041365\" height=\"13784\" />\r\n                    <path className=\"pack_fil13 tooltipText\" d=\"M819414 156457l119269 0c3072,0 5586,2517 5586,5586l0 39695c0,3069 -2517,5586 -5586,5586l-47998 0 -11636 13350 -12220 -13350 -47415 0c-3069,0 -5586,-2514 -5586,-5586l0 -39695c0,-3072 2514,-5586 5586,-5586zm25210 20290l0 -13503 4372 0c1657,0 2735,66 3238,202 773,204 1420,644 1942,1323 522,679 783,1556 783,2631 0,829 -151,1524 -450,2090 -302,565 -682,1009 -1144,1332 -462,321 -933,535 -1411,638 -651,129 -1591,195 -2823,195l-1772 0 0 5092 -2735 0zm2735 -11221l0 3847 1486 0c1072,0 1786,-72 2147,-213 362,-142 644,-362 849,-667 204,-301 308,-650 308,-1053 0,-493 -145,-899 -431,-1219 -289,-321 -650,-522 -1094,-604 -323,-59 -974,-91 -1955,-91l-1310 0zm11748 4451l-2338 -415c264,-956 720,-1663 1364,-2122 644,-459 1603,-688 2873,-688 1153,0 2014,135 2580,409 563,273 962,619 1191,1040 230,421 346,1191 346,2316l-38 3018c0,858 41,1493 123,1901 82,409 236,846 462,1311l-2565 0c-66,-170 -151,-421 -248,-754 -41,-154 -72,-255 -91,-302 -440,434 -912,757 -1415,974 -502,217 -1037,327 -1606,327 -1002,0 -1794,-273 -2373,-820 -578,-544 -867,-1236 -867,-2072 0,-550 132,-1043 396,-1477 264,-430 632,-764 1109,-993 475,-229 1160,-431 2056,-603 1207,-227 2046,-440 2511,-635l0 -261c0,-503 -122,-861 -367,-1078 -249,-214 -714,-321 -1396,-321 -462,0 -820,91 -1078,277 -261,182 -468,506 -629,968zm3470 2093c-330,110 -855,242 -1574,396 -717,154 -1188,305 -1408,450 -337,242 -506,543 -506,911 0,365 135,676 405,940 270,264 613,396 1031,396 465,0 911,-154 1336,-459 311,-236 518,-519 616,-858 66,-220 100,-641 100,-1260l0 -516zm13619 -2206l-2546 452c-85,-506 -280,-886 -584,-1144 -305,-254 -698,-383 -1182,-383 -645,0 -1160,223 -1543,669 -384,447 -576,1191 -576,2238 0,1163 195,1983 585,2464 390,481 911,720 1565,720 491,0 893,-142 1204,-421 314,-280 534,-761 663,-1446l2546 434c-264,1169 -770,2052 -1518,2649 -748,597 -1751,896 -3011,896 -1427,0 -2568,-453 -3417,-1355 -851,-905 -1276,-2156 -1276,-3756 0,-1618 428,-2875 1280,-3777 851,-903 2005,-1352 3460,-1352 1188,0 2134,258 2838,770 701,512 1204,1292 1512,2342zm1870 6883l0 -13503 2584 0 0 7163 3026 -3448 3187 0 -3337 3577 3583 6211 -2791 0 -2471 -4416 -1197 1282 0 3134 -2584 0zm10583 -11108l0 -2395 2583 0 0 2395 -2583 0zm0 11108l0 -9788 2583 0 0 9788 -2583 0zm14140 0l-2583 0 0 -4988c0,-1056 -57,-1738 -167,-2046 -113,-311 -292,-550 -544,-723 -251,-173 -553,-258 -905,-258 -453,0 -858,123 -1216,368 -362,245 -607,572 -739,974 -135,406 -201,1154 -201,2247l0 4426 -2584 0 0 -9788 2395 0 0 1437c858,-1097 1936,-1644 3241,-1644 572,0 1097,104 1571,308 478,208 836,468 1078,786 246,320 415,682 510,1087 97,406 144,984 144,1738l0 6076zm2373 622l2961 358c50,349 163,588 339,720 249,186 635,280 1163,280 676,0 1182,-101 1521,-305 227,-135 400,-352 516,-654 78,-213 119,-613 119,-1188l13 -1430c-780,1066 -1760,1597 -2942,1597 -1314,0 -2357,-556 -3124,-1666 -604,-877 -905,-1971 -905,-3275 0,-1641 396,-2892 1185,-3756 788,-864 1772,-1298 2948,-1298 1210,0 2209,531 2995,1594l0 -1387 2414 0 0 8776c0,1153 -94,2018 -286,2587 -189,572 -456,1018 -802,1345 -342,323 -801,581 -1376,763 -575,186 -1301,277 -2178,277 -1660,0 -2835,-286 -3530,-855 -695,-572 -1040,-1292 -1040,-2169 0,-84 3,-191 9,-314zm2320 -5714c0,1037 201,1795 600,2276 402,481 899,723 1487,723 628,0 1163,-249 1596,-742 437,-494 654,-1223 654,-2191 0,-1012 -207,-1763 -625,-2253 -415,-491 -943,-736 -1581,-736 -620,0 -1129,242 -1531,723 -399,481 -600,1213 -600,2200zm-60804 26160l-4831 -13503 2955 0 3429 9995 3291 -9995 2904 0 -4803 13503 -2945 0zm8766 -11108l0 -2395 2584 0 0 2395 -2584 0zm0 11108l0 -9788 2584 0 0 9788 -2584 0zm7163 -6771l-2338 -414c264,-956 719,-1663 1364,-2122 644,-459 1603,-688 2873,-688 1153,0 2014,135 2580,408 563,274 962,620 1191,1041 230,421 346,1191 346,2316l-38 3017c0,858 41,1493 123,1902 81,409 235,845 462,1311l-2565 0c-66,-170 -151,-422 -248,-755 -41,-154 -73,-254 -91,-302 -440,434 -912,758 -1415,975 -503,217 -1037,327 -1606,327 -1002,0 -1794,-274 -2373,-821 -578,-543 -867,-1235 -867,-2071 0,-550 132,-1043 396,-1477 264,-431 631,-764 1109,-993 475,-230 1160,-431 2056,-604 1207,-226 2046,-440 2511,-635l0 -261c0,-502 -123,-861 -368,-1078 -248,-213 -713,-320 -1395,-320 -462,0 -821,91 -1078,276 -261,183 -469,506 -629,968zm3470 2094c-330,110 -855,242 -1575,396 -716,154 -1188,305 -1408,449 -336,242 -506,544 -506,912 0,364 135,675 406,939 270,264 613,396 1031,396 465,0 911,-154 1335,-458 312,-236 519,-519 616,-858 66,-220 101,-642 101,-1261l0 -515zm16633 -283l0 -2282 5865 0 0 5387c-569,556 -1396,1044 -2480,1468 -1081,421 -2178,632 -3291,632 -1411,0 -2640,-296 -3690,-890 -1046,-594 -1835,-1446 -2363,-2549 -528,-1103 -792,-2307 -792,-3605 0,-1408 295,-2659 883,-3756 591,-1093 1452,-1936 2587,-2520 867,-450 1942,-673 3231,-673 1675,0 2985,352 3928,1056 940,707 1547,1678 1817,2923l-2716 509c-188,-663 -546,-1188 -1071,-1574 -522,-384 -1176,-576 -1962,-576 -1188,0 -2134,378 -2835,1135 -700,757 -1052,1880 -1052,3366 0,1606 355,2810 1065,3612 714,801 1644,1203 2797,1203 569,0 1141,-113 1713,-336 575,-223 1066,-497 1478,-817l0 -1713 -3112 0zm8370 4960l0 -13503 2583 0 0 13503 -2583 0zm11708 0l0 -1465c-359,522 -827,937 -1409,1248 -581,308 -1194,462 -1838,462 -660,0 -1251,-145 -1773,-434 -525,-289 -902,-698 -1134,-1220 -236,-524 -353,-1247 -353,-2171l0 -6208 2584 0 0 4507c0,1380 47,2222 145,2534 94,311 267,559 521,738 252,182 572,274 962,274 443,0 839,-123 1191,-365 352,-242 591,-544 720,-905 129,-362 195,-1242 195,-2647l0 -4136 2584 0 0 9788 -2395 0zm10708 -3093l2583 434c-330,946 -855,1665 -1568,2162 -717,493 -1612,742 -2684,742 -1700,0 -2961,-557 -3775,-1669 -644,-893 -968,-2018 -968,-3379 0,-1622 424,-2895 1270,-3812 845,-921 1917,-1380 3212,-1380 1452,0 2599,481 3442,1442 839,962 1241,2436 1203,4423l-6468 0c19,767 226,1364 626,1791 396,428 892,641 1483,641 405,0 745,-110 1018,-330 277,-220 484,-575 626,-1065zm151 -2621c-19,-752 -211,-1324 -579,-1713 -367,-393 -814,-588 -1342,-588 -562,0 -1027,207 -1395,619 -368,412 -547,974 -541,1682l3857 0z\" />\r\n                    <path className=\"pack_fil13 tooltipText\" d=\"M605063 119106l72602 0c3072,0 5586,2518 5586,5586l0 18415c0,3068 -2518,5586 -5586,5586l-25037 0 -11637 13350 -12220 -13350 -23708 0c-3068,0 -5586,-2514 -5586,-5586l0 -18415c0,-3072 2514,-5586 5586,-5586zm2581 19784l0 -13264 4295 0c1627,0 2686,65 3180,198 759,200 1396,633 1908,1300 513,667 769,1528 769,2584 0,815 -148,1497 -442,2053 -296,556 -670,991 -1124,1309 -453,315 -917,525 -1386,627 -639,126 -1562,191 -2772,191l-1742 0 0 5002 -2686 0zm2686 -11022l0 3779 1461 0c1053,0 1753,-71 2108,-210 355,-139 633,-355 834,-655 201,-296 303,-639 303,-1034 0,-485 -142,-883 -423,-1198 -284,-315 -639,-512 -1075,-593 -318,-58 -957,-89 -1920,-89l-1288 0zm12078 11022l-2537 0 0 -9614 2352 0 0 1364c405,-645 769,-1068 1093,-1269 324,-200 692,-299 1102,-299 581,0 1140,160 1677,478l-787 2217c-430,-278 -828,-417 -1195,-417 -358,0 -661,99 -908,294 -247,197 -441,549 -583,1062 -142,512 -214,1587 -214,3220l0 2964zm4783 -10911l0 -2353 2538 0 0 2353 -2538 0zm0 10911l0 -9614 2538 0 0 9614 -2538 0zm13890 0l-2537 0 0 -4900c0,-1037 -56,-1707 -164,-2010 -111,-305 -287,-540 -534,-710 -247,-170 -544,-253 -889,-253 -445,0 -843,120 -1195,361 -355,241 -596,562 -726,957 -133,399 -197,1133 -197,2208l0 4347 -2538 0 0 -9614 2352 0 0 1411c843,-1078 1902,-1615 3184,-1615 561,0 1077,102 1543,302 470,204 822,460 1059,772 241,315 408,670 500,1069 96,398 142,966 142,1707l0 5968zm6963 -9614l0 2019 -1742 0 0 3893c0,790 16,1250 50,1380 34,130 108,238 228,324 118,84 260,127 429,127 238,0 578,-80 1025,-244l214 1976c-590,253 -1257,380 -2004,380 -457,0 -868,-77 -1235,-232 -368,-154 -636,-355 -806,-599 -173,-247 -290,-577 -358,-997 -53,-296 -80,-895 -80,-1800l0 -4208 -1168 0 0 -2019 1168 0 0 -1908 2537 -1501 0 3409 1742 0zm1778 -1297l0 -2353 2538 0 0 2353 -2538 0zm0 10911l0 -9614 2538 0 0 9614 -2538 0zm13891 0l-2538 0 0 -4900c0,-1037 -56,-1707 -164,-2010 -111,-305 -287,-540 -534,-710 -247,-170 -543,-253 -889,-253 -445,0 -843,120 -1195,361 -355,241 -596,562 -726,957 -132,399 -197,1133 -197,2208l0 4347 -2538 0 0 -9614 2353 0 0 1411c842,-1078 1901,-1615 3183,-1615 562,0 1077,102 1543,302 470,204 822,460 1059,772 241,315 408,670 501,1069 95,398 142,966 142,1707l0 5968zm2331 611l2908 352c49,343 161,578 334,707 243,182 623,275 1142,275 664,0 1161,-99 1494,-299 223,-133 392,-346 507,-643 77,-210 117,-602 117,-1167l12 -1404c-765,1046 -1729,1568 -2890,1568 -1290,0 -2315,-547 -3069,-1636 -592,-862 -889,-1936 -889,-3218 0,-1611 389,-2840 1164,-3689 775,-849 1742,-1275 2896,-1275 1189,0 2171,522 2943,1565l0 -1361 2371 0 0 8620c0,1133 -93,1982 -281,2541 -185,562 -448,1000 -787,1321 -337,318 -788,571 -1353,750 -565,183 -1278,272 -2139,272 -1631,0 -2785,-281 -3468,-840 -682,-562 -1022,-1269 -1022,-2130 0,-83 3,-188 10,-309zm2278 -5613c0,1019 198,1763 590,2236 395,472 883,710 1460,710 618,0 1143,-244 1569,-729 429,-485 642,-1201 642,-2152 0,-994 -204,-1732 -614,-2214 -408,-481 -927,-722 -1553,-722 -609,0 -1109,238 -1504,710 -392,472 -590,1192 -590,2161z\" />\r\n                    <path className=\"pack_fil13 tooltipText\" d=\"M294104 55541l78899 0c3072,0 5586,2518 5586,5586l0 17121c0,3067 -2518,5586 -5586,5586l-31335 0 -11637 13350 -12220 -13350 -23707 0c-3069,0 -5586,-2514 -5586,-5586l0 -17121c0,-3073 2514,-5586 5586,-5586zm9369 14777l2293 705c-352,1291 -939,2249 -1758,2877 -819,625 -1856,939 -3115,939 -1559,0 -2839,-532 -3844,-1597 -1002,-1065 -1504,-2520 -1504,-4368 0,-1952 505,-3470 1513,-4551 1007,-1081 2334,-1621 3977,-1621 1436,0 2602,426 3497,1275 535,502 934,1223 1201,2165l-2342 556c-139,-606 -429,-1086 -868,-1438 -442,-352 -977,-527 -1605,-527 -871,0 -1578,311 -2119,936 -543,623 -813,1633 -813,3031 0,1479 267,2536 800,3164 535,630 1228,944 2083,944 630,0 1173,-199 1627,-600 453,-402 780,-1030 977,-1890zm5981 -1556l-2031 -360c229,-830 625,-1444 1185,-1843 560,-398 1392,-598 2495,-598 1002,0 1750,118 2241,355 489,238 836,538 1035,904 199,366 300,1035 300,2012l-32 2621c0,745 35,1296 106,1651 71,355 205,735 401,1139l-2227 0c-58,-148 -131,-366 -216,-656 -35,-133 -63,-221 -79,-262 -382,377 -792,658 -1229,847 -436,188 -900,284 -1395,284 -870,0 -1558,-238 -2061,-713 -502,-472 -753,-1073 -753,-1799 0,-478 115,-906 344,-1283 229,-374 549,-663 963,-863 413,-199 1008,-374 1786,-524 1048,-196 1777,-382 2181,-551l0 -227c0,-437 -106,-748 -319,-936 -216,-186 -620,-279 -1212,-279 -402,0 -713,79 -937,240 -226,159 -407,440 -546,841zm3014 1818c-287,96 -742,211 -1368,344 -622,134 -1032,265 -1223,391 -292,210 -439,472 -439,792 0,316 117,586 352,816 235,229 532,344 895,344 404,0 792,-134 1161,-399 270,-205 450,-450 535,-745 57,-191 87,-557 87,-1095l0 -448zm6571 4063l-2244 0 0 -8501 2080 0 0 1206c358,-570 680,-944 967,-1122 286,-177 611,-265 974,-265 514,0 1008,142 1483,424l-696 1960c-380,-246 -732,-369 -1057,-369 -317,0 -584,87 -803,259 -218,175 -390,486 -515,940 -126,453 -189,1403 -189,2847l0 2621zm8111 -8501l0 1785 -1540 0 0 3442c0,699 14,1106 44,1221 30,114 95,210 202,286 104,74 229,112 379,112 211,0 511,-71 907,-215l188 1747c-521,224 -1111,336 -1772,336 -404,0 -767,-69 -1092,-205 -325,-137 -562,-314 -712,-530 -153,-218 -257,-510 -317,-882 -46,-262 -71,-791 -71,-1591l0 -3721 -1032 0 0 -1785 1032 0 0 -1688 2244 -1326 0 3014 1540 0zm1048 4146c0,-748 183,-1471 552,-2170 368,-702 890,-1234 1564,-1602 674,-369 1425,-555 2258,-555 1285,0 2336,418 3158,1253 822,839 1231,1892 1231,3170 0,1288 -415,2356 -1242,3202 -830,846 -1873,1270 -3131,1270 -778,0 -1521,-178 -2228,-530 -704,-352 -1242,-868 -1610,-1551 -369,-679 -552,-1509 -552,-2487zm2310 120c0,844 199,1491 598,1939 401,450 892,674 1479,674 584,0 1076,-224 1472,-674 395,-448 595,-1100 595,-1955 0,-833 -200,-1474 -595,-1922 -396,-450 -888,-674 -1472,-674 -587,0 -1078,224 -1479,674 -399,448 -598,1095 -598,1938zm15951 4235l-2244 0 0 -4333c0,-917 -49,-1509 -145,-1777 -98,-270 -254,-478 -472,-628 -219,-150 -481,-224 -786,-224 -393,0 -746,107 -1057,320 -314,213 -527,497 -641,846 -118,352 -175,1002 -175,1952l0 3844 -2244 0 0 -8501 2080 0 0 1247c745,-953 1682,-1428 2815,-1428 497,0 952,90 1365,268 415,180 726,407 936,682 213,279 360,593 442,945 85,352 126,854 126,1510l0 5277zm2274 -9648l0 -2080 2244 0 0 2080 -2244 0zm0 9648l0 -8501 2244 0 0 8501 -2244 0zm12282 0l-2244 0 0 -4333c0,-917 -49,-1509 -145,-1777 -98,-270 -254,-478 -472,-628 -218,-150 -480,-224 -786,-224 -393,0 -746,107 -1057,320 -314,213 -527,497 -641,846 -118,352 -175,1002 -175,1952l0 3844 -2244 0 0 -8501 2080 0 0 1247c746,-953 1682,-1428 2815,-1428 497,0 953,90 1365,268 415,180 726,407 936,682 213,279 361,593 442,945 85,352 126,854 126,1510l0 5277zm2061 540l2572 311c43,303 142,511 295,626 215,161 551,243 1010,243 587,0 1026,-88 1321,-265 197,-118 347,-306 448,-568 68,-186 103,-532 103,-1032l11 -1242c-677,925 -1528,1387 -2555,1387 -1141,0 -2047,-484 -2713,-1447 -525,-762 -787,-1712 -787,-2845 0,-1425 344,-2511 1029,-3262 686,-751 1540,-1128 2561,-1128 1051,0 1919,462 2602,1384l0 -1203 2096 0 0 7622c0,1002 -81,1752 -248,2246 -164,497 -396,885 -696,1169 -298,281 -696,505 -1196,663 -499,161 -1130,240 -1892,240 -1441,0 -2462,-248 -3065,-742 -604,-497 -904,-1122 -904,-1884 0,-74 3,-166 8,-273zm2015 -4963c0,901 175,1559 521,1977 350,417 781,627 1292,627 546,0 1010,-215 1386,-644 380,-428 568,-1062 568,-1903 0,-879 -180,-1531 -543,-1957 -360,-426 -819,-639 -1373,-639 -538,0 -980,210 -1330,628 -346,418 -521,1054 -521,1911z\" />\r\n                    <path className=\"pack_fil13 tooltipText\" d=\"M1293708 127355l122052 0c3072,0 5586,2527 5586,5586l0 17121c0,3064 -2522,5586 -5586,5586l-51716 0 -11637 13351 -12220 -13351 -46479 0c-3066,0 -5586,-2513 -5586,-5586l0 -17121c0,-3072 2513,-5586 5586,-5586zm2138 19747l0 -12342 3744 0 2212 8418 2186 -8418 3752 0 0 12342 -2310 0 -8 -9716 -2434 9716 -2401 0 -2422 -9716 -9 9716 -2310 0zm19548 -2827l2361 397c-302,865 -781,1522 -1433,1976 -655,451 -1474,678 -2454,678 -1554,0 -2706,-508 -3450,-1525 -589,-816 -885,-1845 -885,-3089 0,-1482 388,-2645 1160,-3484 773,-842 1753,-1262 2937,-1262 1327,0 2376,440 3145,1319 768,879 1135,2227 1101,4042l-5913 0c18,701 207,1247 572,1638 362,391 816,586 1356,586 371,0 681,-101 931,-302 253,-201 442,-525 572,-974zm137 -2396c-17,-686 -192,-1209 -528,-1565 -336,-360 -744,-538 -1227,-538 -514,0 -939,190 -1275,566 -337,377 -500,891 -495,1537l3525 0zm8364 -3723l0 1879 -1621 0 0 3623c0,735 15,1163 46,1284 32,121 101,221 213,302 109,77 241,117 399,117 221,0 537,-74 954,-227l198 1839c-549,236 -1169,353 -1864,353 -426,0 -808,-71 -1150,-215 -341,-144 -591,-330 -749,-557 -161,-230 -270,-538 -334,-928 -48,-276 -74,-834 -74,-1675l0 -3916 -1086 0 0 -1879 1086 0 0 -1775 2361 -1397 0 3172 1621 0zm3413 2758l-2138 -379c241,-874 658,-1520 1247,-1939 589,-420 1465,-630 2626,-630 1054,0 1841,124 2359,374 514,250 879,566 1088,951 210,385 316,1089 316,2117l-34 2758c0,784 37,1365 112,1738 75,374 215,773 422,1198l-2344 0c-60,-155 -138,-385 -227,-689 -37,-141 -66,-233 -83,-276 -403,396 -833,692 -1293,891 -460,198 -948,298 -1468,298 -917,0 -1641,-250 -2169,-749 -529,-497 -793,-1130 -793,-1894 0,-502 120,-954 362,-1350 241,-394 577,-698 1014,-908 434,-210 1060,-393 1879,-551 1103,-207 1870,-403 2295,-581l0 -238c0,-460 -112,-787 -336,-986 -227,-195 -652,-293 -1275,-293 -423,0 -750,84 -986,253 -238,167 -428,463 -574,885zm3171 1913c-301,101 -781,222 -1439,362 -655,141 -1086,279 -1287,411 -308,221 -463,497 -463,833 0,334 124,618 371,859 247,242 560,362 942,362 425,0 833,-140 1221,-419 285,-216 474,-474 563,-784 61,-202 92,-586 92,-1152l0 -472zm4657 4275l0 -12342 2362 0 0 12342 -2362 0zm9596 -12342l4545 0c1025,0 1807,78 2344,236 721,212 1342,592 1856,1137 517,543 908,1210 1178,2000 267,787 402,1761 402,2916 0,1017 -126,1890 -379,2626 -307,899 -747,1626 -1319,2180 -431,423 -1014,750 -1746,986 -549,175 -1282,261 -2201,261l-4680 0 0 -12342zm2499 2086l0 8171 1853 0c693,0 1193,-41 1500,-118 405,-101 738,-273 1003,-514 267,-242 482,-638 649,-1190 169,-551 253,-1307 253,-2261 0,-954 -84,-1683 -253,-2195 -167,-511 -402,-908 -704,-1195 -302,-284 -684,-480 -1149,-580 -345,-78 -1026,-118 -2037,-118l-1115 0zm15103 7429l2362 397c-302,865 -782,1522 -1434,1976 -655,451 -1474,678 -2453,678 -1555,0 -2707,-508 -3451,-1525 -589,-816 -885,-1845 -885,-3089 0,-1482 388,-2645 1161,-3484 773,-842 1753,-1262 2936,-1262 1328,0 2376,440 3146,1319 767,879 1135,2227 1100,4042l-5912 0c17,701 207,1247 572,1638 362,391 816,586 1356,586 370,0 681,-101 931,-302 252,-201 442,-525 571,-974zm138 -2396c-17,-686 -192,-1209 -528,-1565 -337,-360 -745,-538 -1227,-538 -514,0 -940,190 -1276,566 -336,377 -500,891 -494,1537l3525 0zm8363 -3723l0 1879 -1620 0 0 3623c0,735 14,1163 46,1284 31,121 100,221 212,302 110,77 242,117 400,117 221,0 537,-74 954,-227l198 1839c-549,236 -1169,353 -1865,353 -425,0 -807,-71 -1149,-215 -342,-144 -592,-330 -750,-557 -161,-230 -270,-538 -333,-928 -49,-276 -75,-834 -75,-1675l0 -3916 -1086 0 0 -1879 1086 0 0 -1775 2362 -1397 0 3172 1620 0zm6826 6119l2362 397c-302,865 -782,1522 -1434,1976 -655,451 -1474,678 -2453,678 -1554,0 -2707,-508 -3451,-1525 -589,-816 -884,-1845 -884,-3089 0,-1482 387,-2645 1160,-3484 773,-842 1753,-1262 2936,-1262 1328,0 2376,440 3146,1319 767,879 1135,2227 1100,4042l-5912 0c17,701 207,1247 572,1638 362,391 816,586 1356,586 370,0 681,-101 931,-302 252,-201 442,-525 571,-974zm138 -2396c-17,-686 -192,-1209 -528,-1565 -337,-360 -745,-538 -1227,-538 -514,0 -940,190 -1276,566 -336,377 -500,891 -494,1537l3525 0zm12069 -1068l-2327 413c-77,-462 -255,-810 -534,-1045 -279,-233 -638,-351 -1080,-351 -589,0 -1060,204 -1411,612 -350,408 -526,1089 -526,2046 0,1062 178,1812 535,2252 356,439 833,658 1430,658 449,0 816,-130 1101,-385 287,-256 488,-695 606,-1322l2327 397c-241,1068 -704,1876 -1388,2422 -683,545 -1600,818 -2752,818 -1304,0 -2347,-413 -3123,-1238 -778,-827 -1166,-1971 -1166,-3433 0,-1480 391,-2629 1169,-3453 779,-825 1833,-1236 3163,-1236 1086,0 1951,236 2594,704 641,469 1101,1181 1382,2141zm5881 -2655l0 1879 -1620 0 0 3623c0,735 14,1163 46,1284 31,121 100,221 212,302 110,77 242,117 400,117 221,0 537,-74 954,-227l198 1839c-549,236 -1169,353 -1865,353 -425,0 -807,-71 -1149,-215 -342,-144 -592,-330 -750,-557 -161,-230 -270,-538 -333,-928 -49,-276 -75,-834 -75,-1675l0 -3916 -1086 0 0 -1879 1086 0 0 -1775 2362 -1397 0 3172 1620 0zm1103 4364c0,-787 193,-1549 581,-2284 388,-738 936,-1299 1646,-1686 710,-388 1500,-584 2376,-584 1353,0 2459,440 3324,1319 865,882 1295,1991 1295,3336 0,1356 -436,2479 -1307,3369 -873,891 -1971,1336 -3295,1336 -819,0 -1600,-186 -2344,-557 -741,-371 -1307,-914 -1695,-1632 -388,-715 -581,-1589 -581,-2617zm2431 126c0,888 210,1569 629,2040 422,474 939,710 1557,710 615,0 1132,-236 1549,-710 416,-471 626,-1158 626,-2057 0,-876 -210,-1551 -626,-2022 -417,-474 -934,-710 -1549,-710 -618,0 -1135,236 -1557,710 -419,471 -629,1152 -629,2039zm10908 4456l-2361 0 0 -8946 2189 0 0 1270c376,-601 715,-994 1017,-1181 302,-187 644,-279 1026,-279 540,0 1060,150 1560,446l-733 2062c-399,-258 -770,-387 -1112,-387 -333,0 -615,92 -844,273 -230,183 -411,511 -543,988 -133,477 -199,1477 -199,2996l0 2758z\" />\r\n                    <path className=\"pack_fil13 tooltipText\" d=\"M1110222 198245l106604 0c3072,0 5586,2519 5586,5586l0 17121c0,3069 -2518,5586 -5586,5586l-43750 0 -11637 13350 -12220 -13350 -38997 0c-3069,0 -5586,-2514 -5586,-5586l0 -17121c0,-3072 2514,-5586 5586,-5586zm15205 19715l-2677 0 -1060 -2795 -4924 0 -1020 2795 -2629 0 4766 -12276 2626 0 4918 12276zm-4543 -4870l-1706 -4543 -1658 4543 3364 0zm5849 -5229l0 -2177 2349 0 0 2177 -2349 0zm0 10099l0 -8899 2349 0 0 8899 -2349 0zm7010 0l-2349 0 0 -8899 2177 0 0 1263c375,-597 712,-989 1012,-1174 300,-186 640,-277 1020,-277 537,0 1055,148 1552,442l-729 2052c-397,-257 -766,-386 -1106,-386 -331,0 -611,92 -840,272 -228,183 -408,509 -540,983 -131,474 -197,1469 -197,2980l0 2744zm9207 0l0 -12276 3975 0c1506,0 2486,60 2943,182 703,186 1292,586 1766,1203 475,618 712,1415 712,2392 0,755 -137,1386 -409,1901 -274,514 -620,917 -1040,1211 -420,292 -849,486 -1283,580 -592,117 -1446,177 -2566,177l-1612 0 0 4630 -2486 0zm2486 -10202l0 3498 1352 0c974,0 1623,-66 1951,-195 329,-128 586,-328 772,-605 186,-275 280,-592 280,-958 0,-448 -131,-817 -391,-1108 -263,-292 -592,-475 -995,-549 -294,-54 -886,-83 -1777,-83l-1192 0zm11179 10202l-2349 0 0 -8899 2177 0 0 1263c375,-597 712,-989 1012,-1174 300,-186 640,-277 1020,-277 537,0 1055,148 1552,442l-729 2052c-397,-257 -766,-386 -1106,-386 -331,0 -611,92 -840,272 -228,183 -408,509 -540,983 -131,474 -197,1469 -197,2980l0 2744zm9570 -2812l2349 394c-300,860 -777,1515 -1426,1966 -652,449 -1466,675 -2440,675 -1546,0 -2692,-506 -3432,-1518 -586,-811 -881,-1834 -881,-3072 0,-1474 386,-2632 1155,-3466 769,-837 1743,-1254 2920,-1254 1321,0 2364,437 3129,1311 763,875 1129,2215 1095,4021l-5881 0c17,697 206,1240 569,1629 360,388 811,583 1348,583 369,0 678,-100 926,-300 252,-201 440,-523 569,-969zm137 -2383c-17,-683 -191,-1203 -526,-1558 -334,-357 -740,-534 -1220,-534 -511,0 -934,188 -1269,563 -334,374 -497,886 -491,1529l3506 0zm3415 2691l2366 -360c100,455 303,800 612,1035 305,237 737,354 1288,354 609,0 1066,-111 1375,-334 206,-157 308,-369 308,-632 0,-177 -57,-325 -168,-443 -117,-111 -380,-217 -786,-311 -1900,-420 -3103,-803 -3612,-1149 -706,-483 -1057,-1151 -1057,-2006 0,-774 305,-1423 914,-1949 609,-526 1552,-788 2829,-788 1217,0 2123,200 2715,597 591,400 1000,989 1223,1769l-2212 411c-94,-348 -277,-617 -543,-803 -266,-186 -646,-277 -1140,-277 -623,0 -1069,86 -1340,260 -180,123 -269,283 -269,477 0,169 77,312 234,429 215,157 949,377 2207,663 1257,286 2134,634 2631,1049 495,417 740,1003 740,1751 0,815 -340,1518 -1023,2103 -680,586 -1688,881 -3026,881 -1211,0 -2171,-246 -2880,-735 -706,-488 -1169,-1151 -1386,-1992zm9536 0l2366 -360c100,455 303,800 611,1035 306,237 737,354 1289,354 609,0 1066,-111 1374,-334 206,-157 309,-369 309,-632 0,-177 -57,-325 -168,-443 -118,-111 -381,-217 -786,-311 -1901,-420 -3104,-803 -3612,-1149 -706,-483 -1058,-1151 -1058,-2006 0,-774 306,-1423 915,-1949 608,-526 1551,-788 2829,-788 1217,0 2123,200 2715,597 591,400 1000,989 1223,1769l-2212 411c-95,-348 -277,-617 -543,-803 -266,-186 -646,-277 -1140,-277 -623,0 -1069,86 -1341,260 -180,123 -268,283 -268,477 0,169 77,312 234,429 215,157 949,377 2206,663 1258,286 2135,634 2632,1049 494,417 740,1003 740,1751 0,815 -340,1518 -1023,2103 -680,586 -1689,881 -3026,881 -1212,0 -2172,-246 -2880,-735 -706,-488 -1169,-1151 -1386,-1992zm16256 2504l0 -1332c-325,474 -751,852 -1280,1134 -528,281 -1086,421 -1671,421 -601,0 -1138,-132 -1612,-395 -477,-263 -820,-634 -1032,-1109 -214,-477 -320,-1134 -320,-1974l0 -5644 2349 0 0 4098c0,1254 43,2020 132,2303 85,283 242,509 474,672 229,165 520,248 874,248 403,0 763,-111 1083,-331 320,-220 538,-495 655,-823 117,-329 177,-1129 177,-2406l0 -3761 2349 0 0 8899 -2178 0zm6839 0l-2349 0 0 -8899 2177 0 0 1263c374,-597 712,-989 1012,-1174 300,-186 640,-277 1020,-277 537,0 1054,148 1552,442l-729 2052c-397,-257 -766,-386 -1106,-386 -332,0 -612,92 -840,272 -229,183 -409,509 -540,983 -132,474 -197,1469 -197,2980l0 2744zm9570 -2812l2349 394c-301,860 -778,1515 -1426,1966 -652,449 -1466,675 -2441,675 -1546,0 -2692,-506 -3432,-1518 -586,-811 -880,-1834 -880,-3072 0,-1474 386,-2632 1155,-3466 768,-837 1743,-1254 2920,-1254 1320,0 2363,437 3129,1311 763,875 1129,2215 1095,4021l-5881 0c17,697 205,1240 568,1629 360,388 812,583 1349,583 369,0 677,-100 926,-300 251,-201 440,-523 569,-969zm137 -2383c-17,-683 -192,-1203 -526,-1558 -334,-357 -740,-534 -1220,-534 -512,0 -935,188 -1269,563 -334,374 -497,886 -492,1529l3507 0z\" />\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\n\r\n// const mapStateToProps = (state) => ({\r\n//     eventReducer: state.eventReducer\r\n// });\r\nexport default PackMachine\r\n\r\n\r\n\r\n","import React from 'react';\nimport { clampValue, getLevelColor } from '../dynamicSvgUtils';\n\nconst ParkingSlotSVG = ({ value = 0, width = '100%', height = '100%', title = 'Parking slot', className, style }) => {\n  const level = clampValue(value);\n  const occupied = level > 50;\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <rect x=\"46\" y=\"32\" width=\"148\" height=\"176\" rx=\"12\" fill=\"#f8fafc\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeDasharray=\"14 11\" />\n      <text x=\"120\" y=\"92\" textAnchor=\"middle\" fill=\"#2563eb\" fontSize=\"56\" fontWeight=\"900\">P</text>\n      <g opacity={occupied ? 1 : 0.28} transform={`translate(${occupied ? 0 : -18} 0)`}>\n        <rect x=\"73\" y=\"126\" width=\"94\" height=\"42\" rx=\"14\" fill={getLevelColor(level)} stroke=\"#0f172a\" strokeWidth=\"6\" />\n        <path d=\"M91 126l15-23h28l15 23\" fill=\"#dbeafe\" stroke=\"#0f172a\" strokeWidth=\"6\" strokeLinejoin=\"round\" />\n        <circle cx=\"96\" cy=\"171\" r=\"10\" fill=\"#0f172a\" />\n        <circle cx=\"144\" cy=\"171\" r=\"10\" fill=\"#0f172a\" />\n      </g>\n      <text x=\"120\" y=\"224\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{occupied ? 'occupied' : 'available'}</text>\n    </svg>\n  );\n};\n\nexport default ParkingSlotSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst PhoneChargingSVG = createDailyLifeDynamicSVG('phone', 'Phone charging');\n\nexport default PhoneChargingSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst PlantWateringSVG = createDailyLifeDynamicSVG('plant', 'Plant watering');\n\nexport default PlantWateringSVG;\n","import React from 'react';\nimport { hexToHsl, hslToHex } from '../legacyVisualUtils';\nimport { getTelemetryAccentColor } from '../telemetryProps';\n\nfunction clampStep(value) {\n  const step = Number.parseInt(value, 10);\n  return Number.isFinite(step) ? ((step % 4) + 4) % 4 : 0;\n}\n\nfunction getThickness(value) {\n  const numericValue = Number(value);\n  if (!Number.isFinite(numericValue)) return 22;\n  return Math.min(42, Math.max(8, numericValue <= 8 ? numericValue * 10 : numericValue));\n}\n\nfunction darkenColor(color) {\n  if (!color || !String(color).startsWith('#')) return '#014070';\n  const hsl = hexToHsl(color);\n  return hsl ? hslToHex(hsl.h, hsl.s, Math.max(18, hsl.l - 18)) : '#014070';\n}\n\nfunction rotatePoint([x, y], step) {\n  if (step === 1) return [100 - y, x];\n  if (step === 2) return [100 - x, 100 - y];\n  if (step === 3) return [y, 100 - x];\n  return [x, y];\n}\n\nfunction pointsToPath(points, step) {\n  const rotated = points.map((point) => rotatePoint(point, step));\n  return `M ${rotated.map(([x, y]) => `${x} ${y}`).join(' L ')}`;\n}\n\nfunction PipeBody({ shape, rotateStep, thickness, color, joinColor, animated }) {\n  const center = 50;\n  const paths = {\n    i: [[center, 0], [center, 100]],\n    l: [[center, 0], [center, center], [100, center]],\n    t: [[center, 100], [center, center], [0, center], [center, center], [100, center]],\n  };\n  const path = pointsToPath(paths[shape] || paths.i, rotateStep);\n\n  return (\n    <>\n      <path d={path} fill=\"none\" stroke={joinColor} strokeWidth={thickness + 8} strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n      <path d={path} fill=\"none\" stroke={color} strokeWidth={thickness} strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n      <path\n        d={path}\n        fill=\"none\"\n        stroke=\"rgba(255,255,255,0.5)\"\n        strokeWidth={Math.max(3, thickness * 0.18)}\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n        strokeDasharray=\"10 16\"\n      >\n        {animated ? <animate attributeName=\"stroke-dashoffset\" from=\"0\" to=\"-52\" dur=\"1.2s\" repeatCount=\"indefinite\" /> : null}\n      </path>\n      <circle cx=\"50\" cy=\"50\" r={Math.max(7, thickness * 0.42)} fill={joinColor} opacity=\"0.92\" />\n    </>\n  );\n}\n\nfunction getPipelineColor(props) {\n  return props?.config?.color || getTelemetryAccentColor({\n    accentColor: props?.accentColor,\n    status: props?.status,\n    fallback: '#0471C4',\n  });\n}\n\nfunction PipelineBase({ shape = 'i', width = '100%', height = '100%', className, style = {}, config, theme, variant, status, accentColor, animated = true, flowRate, ...rest } = {}) {\n  const { rotateStep: styleRotateStep, thickness: styleThickness, ...svgStyle } = style || {};\n  const rotateStep = clampStep(rest.rotateStep ?? config?.rotateStep ?? styleRotateStep);\n  const thickness = getThickness(rest.thickness ?? config?.thickness ?? styleThickness);\n  const color = getPipelineColor({ config, accentColor, status });\n  const joinColor = config?.joinColor || darkenColor(color);\n  const label = config?.label || `${shape.toUpperCase()} pipeline`;\n\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 0 100 100\"\n      width={width}\n      height={height}\n      preserveAspectRatio=\"none\"\n      role=\"img\"\n      aria-label={label}\n      className={className}\n      data-theme={theme}\n      data-variant={variant}\n      data-status={status}\n      data-flow-rate={flowRate}\n      style={{ display: 'block', minWidth: 50, minHeight: 50, ...svgStyle }}\n    >\n      <rect width=\"100\" height=\"100\" fill=\"transparent\" />\n      <PipeBody shape={shape} rotateStep={rotateStep} thickness={thickness} color={color} joinColor={joinColor} animated={animated} />\n    </svg>\n  );\n}\n\nexport function PipeI(props) {\n  return <PipelineBase {...props} shape=\"i\" />;\n}\n\nexport function PipeL(props) {\n  return <PipelineBase {...props} shape=\"l\" />;\n}\n\nexport function PipeT(props) {\n  return <PipelineBase {...props} shape=\"t\" />;\n}\n\nconst PipelineSVG = (props = {}) => {\n  const shape = String(props?.type || props?.config?.type || props?.variant || 'i').toLowerCase();\n  if (shape.startsWith('l')) return <PipeL {...props} />;\n  if (shape.startsWith('t')) return <PipeT {...props} />;\n  return <PipeI {...props} />;\n};\n\nexport default PipelineSVG;\r\n","import React from 'react'\r\nimport './pressure.scss'\r\n\r\nfunction Pressure({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            viewBox=\"0 0 21751 21568\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n        >\r\n            <g>\r\n                <g>\r\n                    <path className=\"fil0_pressure\" d=\"M0 554c0,-306 248,-554 554,-554 305,0 553,248 553,554l0 902 3416 0c245,0 443,198 443,443 0,244 -198,443 -443,443l-3416 0c0,2331 0,795 0,3126l3416 0c245,0 443,199 443,443 0,245 -198,443 -443,443l-3416 0c0,2332 0,795 0,3127l3416 0c245,0 443,198 443,443 0,244 -198,443 -443,443l-3416 0c0,2331 0,795 0,3126l3416 0c245,0 443,199 443,443 0,245 -198,443 -443,443l-3416 0c0,2332 0,795 0,3127l3416 0c245,0 443,198 443,443 0,244 -198,443 -443,443l-3416 0c0,2069 0,1157 0,2622 0,306 -248,554 -553,554 -306,0 -554,-248 -554,-554l0 -20460zm7819 14923l735 0c-10,-32 -21,-66 -33,-105 -50,-150 -66,-199 -85,-252 -100,-290 -228,-660 -329,-1038 -75,-280 -142,-581 -178,-893 -38,-326 -44,-660 7,-992 58,-383 187,-738 317,-1097 77,-213 155,-428 211,-639 66,-250 106,-505 117,-756 12,-249 -4,-500 -48,-744 -60,-337 -172,-660 -279,-968 -65,-187 -128,-369 -173,-524 -82,-276 -139,-544 -160,-821 -21,-282 -5,-573 60,-890 79,-381 219,-762 350,-1115 71,-193 139,-378 181,-515 57,-185 87,-341 103,-482 18,-156 20,-285 23,-413 4,-305 255,-548 560,-543 304,5 547,256 542,560 -3,171 -6,341 -27,522 -22,196 -64,415 -146,681 -59,192 -127,377 -198,571 -119,322 -248,671 -306,955 -43,206 -53,398 -39,587 15,195 57,389 116,591 50,171 103,322 157,477 124,358 255,735 326,1137 56,315 76,646 61,982 -15,333 -66,667 -152,989 -68,255 -155,496 -241,734 -109,302 -217,601 -261,885 -35,229 -30,467 -3,702 29,248 85,497 148,734 103,385 215,709 303,964l94 270c54,164 87,287 108,387 5,20 9,40 12,59l818 0c305,0 553,247 553,553 0,120 -38,230 -102,321l-1264 2190c-152,264 -489,355 -753,203 -82,-47 -147,-112 -193,-187l-2 1 -1399 -2236c-161,-259 -82,-600 177,-761 91,-57 192,-84 292,-84l0 0zm5567 -12244c4,-305 255,-548 560,-543 304,5 547,256 542,560 -3,171 -6,341 -27,522 -22,196 -64,415 -146,681 -59,192 -127,377 -199,571 -118,322 -247,671 -306,955 -42,206 -52,398 -38,587 15,195 57,389 116,591 50,171 103,322 157,477 124,358 255,735 326,1137 56,315 76,646 61,982 -15,333 -66,667 -152,989 -68,255 -155,496 -241,734 -109,302 -217,601 -261,885 -35,229 -30,467 -3,702 29,248 85,497 148,734 103,385 215,709 303,964l94 270c54,164 87,287 108,387 5,20 9,40 12,59l844 0c306,0 554,247 554,553 0,120 -38,230 -102,321l-1265 2190c-151,264 -488,355 -752,203 -82,-47 -147,-112 -194,-187l-1 1 -1399 -2236c-162,-259 -82,-600 177,-761 91,-57 192,-84 292,-84l0 0 708 0c-10,-32 -21,-66 -33,-105 -50,-150 -67,-199 -85,-252 -100,-290 -228,-660 -329,-1038 -75,-280 -142,-581 -178,-893 -39,-326 -44,-660 7,-992 58,-383 187,-738 317,-1097 77,-213 155,-428 211,-639 66,-250 105,-505 117,-756 12,-249 -4,-500 -48,-744 -60,-337 -172,-660 -279,-968 -65,-187 -128,-369 -173,-524 -82,-276 -139,-544 -160,-821 -21,-282 -5,-573 60,-890 79,-381 219,-762 349,-1115 72,-193 140,-378 182,-515 57,-185 87,-341 103,-482 18,-156 20,-285 23,-413z\" />\r\n                    <path className=\"fil1_pressure\" d=\"M1107 15500l11 0 2118 0c245,0 443,198 443,442 0,245 -198,443 -443,443l-2119 0 -10 0c0,1131 0,1489 0,0l0 -885zm9565 -12532c511,-428 1170,-686 1888,-686 70,0 139,2 208,7 -207,253 -333,576 -339,928 -2,108 -4,213 -17,320 -12,106 -35,209 -67,311 -47,155 -108,312 -164,464 -152,412 -300,822 -389,1253 -79,382 -106,767 -77,1156 27,347 98,685 196,1018 56,191 122,380 188,567 92,267 191,544 241,823 31,175 42,354 33,532 -8,187 -38,374 -86,554 -50,189 -119,376 -186,560 -47,132 -94,262 -138,393 -551,-378 -967,-938 -1160,-1594 -51,51 -105,100 -160,147 12,-374 -12,-750 -78,-1118 -79,-443 -218,-859 -364,-1282 -50,-144 -100,-288 -143,-434 -38,-127 -70,-261 -80,-393 -8,-110 -1,-215 21,-322 55,-267 173,-561 267,-817 76,-206 151,-412 216,-622 85,-279 148,-562 182,-852 23,-205 29,-409 33,-615 2,-102 -7,-201 -25,-298zm-9565 16544l6 0 2123 0c245,0 443,198 443,443 0,245 -198,443 -443,443l-2124 0 -5 0c0,568 0,910 0,0l0 -886zm0 -8025l15 0 2114 0c245,0 443,198 443,443 0,245 -198,443 -443,443l-2115 0 -14 0c0,1142 0,1476 0,0l0 -886zm0 -4012l20 0 2109 0c245,0 443,198 443,443 0,244 -198,442 -443,442l-2110 0 -19 0c0,1139 0,1478 0,0l0 -885zm0 -4013l24 0 2105 0c245,0 443,198 443,443 0,245 -198,443 -443,443l-2106 0 -23 0c0,1142 0,1473 0,0l0 -886zm14331 50c469,-316 1033,-500 1640,-500 1391,0 2556,966 2861,2264 1064,442 1812,1491 1812,2715 0,1624 -1316,2940 -2939,2940 -994,0 -1872,-493 -2404,-1247 -226,670 -688,1232 -1286,1587 29,-93 57,-188 83,-283 103,-389 164,-789 183,-1191 18,-399 -5,-801 -75,-1194 -79,-443 -218,-859 -365,-1282 -49,-144 -99,-288 -142,-434 -38,-127 -70,-261 -80,-393 -8,-110 -1,-215 21,-322 55,-267 173,-561 267,-817 76,-206 151,-412 216,-622 85,-279 148,-562 182,-852 14,-124 22,-246 26,-369zm-7887 6657c-1031,-457 -1750,-1489 -1750,-2689 0,-1059 560,-1987 1400,-2505 -61,194 -115,389 -157,590 -79,382 -106,767 -77,1156 27,347 98,685 196,1018 56,191 122,380 188,567 92,267 191,544 241,823 31,175 42,354 34,532 -8,171 -34,341 -75,508z\" />\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Pressure\r\n\r\n\r\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { LatestEventHandler } from '../legacyVisualUtils';\nimport { firstFinite, getTelemetryAccentColor } from '../telemetryProps';\n\nfunction getLiveValue(data, param) {\n  if (!data || !param || !(param in data)) return undefined;\n  return data[param];\n}\n\nfunction normalizePercent(rawValue, min = 0, max = 100) {\n  const numericMin = Number.isFinite(Number(min)) ? Number(min) : 0;\n  const numericMax = Number.isFinite(Number(max)) && Number(max) !== numericMin ? Number(max) : 100;\n  const value = firstFinite(rawValue, 0);\n  return Math.min(100, Math.max(0, ((value - numericMin) / (numericMax - numericMin)) * 100));\n}\n\nconst RadialProgressSVG = ({ value, width = '100%', height = '100%', className, style, config, night, theme, variant, status, accentColor } = {}) => {\n  const [liveValue, setLiveValue] = useState(null);\n  const param = config?.param || 'value';\n  const rawValue = firstFinite(getLiveValue(liveValue, param), value, config?.value, 70);\n  const percent = normalizePercent(rawValue, config?.min, config?.max);\n  const displayValue = Math.round(firstFinite(rawValue, percent));\n  const color = config?.color?.startsWith?.('#')\n    ? config.color\n    : getTelemetryAccentColor({ accentColor: accentColor || config?.accentColor, status, fallback: '#0471C4' });\n  const label = config?.label || 'Label';\n  const unit = config?.unit || '%';\n  const isNight = night || theme === 'dark';\n\n  const handleChange = useCallback(\n    (event) => {\n      if (!config?.deviceId) {\n        setLiveValue(null);\n        return;\n      }\n\n      setLiveValue(event?.target?.value || null);\n    },\n    [config?.deviceId],\n  );\n\n  const trackColor = isNight ? 'rgba(226, 232, 240, 0.2)' : 'rgba(15, 23, 42, 0.12)';\n  const textColor = isNight ? '#e2e8f0' : '#0f172a';\n  const subtitleColor = isNight ? '#94a3b8' : '#475569';\n\n  const ringStyle = useMemo(\n    () => ({\n      transition: 'stroke-dashoffset 650ms ease, stroke 650ms ease',\n    }),\n    [],\n  );\n\n  return (\n    <svg\n      preserveAspectRatio=\"xMidYMid meet\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      height={height}\n      width={width}\n      viewBox=\"0 0 120 120\"\n      role=\"img\"\n      aria-label={`${label} ${displayValue}${unit}`}\n      data-theme={theme}\n      data-variant={variant}\n      data-status={status}\n      style={{ display: 'block', ...style }}\n    >\n      {config?.deviceId ? <LatestEventHandler deviceId={config.deviceId} onChange={handleChange} /> : null}\n      <circle cx=\"60\" cy=\"60\" r=\"46\" fill={isNight ? '#0f172a' : '#ffffff'} opacity=\"0.75\" />\n      <circle cx=\"60\" cy=\"60\" r=\"43\" fill=\"none\" stroke={trackColor} strokeWidth=\"12\" />\n      <circle\n        cx=\"60\"\n        cy=\"60\"\n        r=\"43\"\n        fill=\"none\"\n        stroke={color}\n        strokeWidth=\"12\"\n        strokeLinecap=\"round\"\n        pathLength=\"100\"\n        strokeDasharray=\"100\"\n        strokeDashoffset={100 - percent}\n        transform=\"rotate(-90 60 60)\"\n        style={ringStyle}\n      />\n      <circle cx=\"60\" cy=\"17\" r=\"4\" fill={color} opacity={percent > 98 ? 1 : 0} style={{ transition: 'opacity 650ms ease' }} />\n      <text x=\"60\" y=\"57\" textAnchor=\"middle\" fill={textColor} fontFamily=\"Arial, sans-serif\" fontSize=\"22\" fontWeight=\"800\">\n        {displayValue}{unit}\n      </text>\n      <text x=\"60\" y=\"76\" textAnchor=\"middle\" fill={subtitleColor} fontFamily=\"Arial, sans-serif\" fontSize=\"11\" fontWeight=\"700\">\n        {label}\n      </text>\n    </svg>\n  );\n};\n\nexport default RadialProgressSVG;\r\n","import React from 'react'\r\nimport './rain.scss'\r\n\r\nfunction Rain({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"0 0 2540 2540\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            <defs>\r\n                {/* <style type=\"text/css\">\r\n                    <![CDATA[\r\n                    .rain_fil0 {fill:#1B75BC}\r\n   ]]>\r\n                </style> */}\r\n            </defs>\r\n            <g>\r\n                <path className=\"rain_fil0\" d=\"M2334 1244c-1,-584 -474,-1058 -1058,-1058 -153,0 -298,33 -429,91 -119,53 -227,127 -318,218 -1,7 -1,15 -1,23 0,138 112,250 250,250 21,0 42,-2 61,-7 -18,39 -29,82 -29,128 0,164 133,297 298,297 7,0 14,-1 21,-1 -8,31 -12,64 -12,98 0,221 179,401 401,401 132,0 249,-65 322,-163 53,64 133,106 223,106 101,0 189,-51 240,-129 20,-82 31,-166 31,-254 0,0 0,0 0,0zm-1820 -296c-10,25 -30,48 -60,31 -30,-16 -21,-48 -3,-70 19,-25 38,-39 58,-69 67,-98 65,-127 29,8 -10,34 -14,68 -24,100zm-226 365c-10,25 -30,48 -60,31 -30,-17 -21,-48 -4,-70 20,-25 38,-40 59,-69 67,-98 65,-127 29,8 -10,34 -14,67 -24,100zm170 338c-10,25 -31,48 -61,31 -30,-16 -20,-48 -3,-70 19,-25 38,-39 58,-69 67,-98 66,-127 29,8 -10,34 -14,68 -23,100zm266 -320c-10,25 -31,48 -60,31 -30,-17 -21,-48 -4,-70 20,-25 38,-40 58,-69 68,-98 66,-127 29,8 -9,34 -14,67 -23,100zm-103 606c-10,25 -31,48 -61,32 -30,-17 -20,-49 -3,-70 19,-26 38,-40 58,-69 67,-99 66,-127 29,8 -10,33 -14,67 -23,99zm346 -378c-10,25 -31,48 -61,31 -30,-17 -21,-48 -3,-70 19,-25 38,-40 58,-69 67,-98 65,-127 29,8 -10,34 -14,67 -23,100zm-30 548c-10,25 -30,48 -60,31 -30,-17 -21,-48 -4,-70 20,-25 38,-40 58,-69 68,-98 66,-127 29,8 -9,34 -14,67 -23,100zm425 -146c-10,25 -31,48 -61,31 -30,-16 -20,-48 -3,-70 19,-25 38,-39 58,-68 67,-99 66,-128 29,7 -10,34 -14,68 -23,100zm18 349c-10,26 -31,48 -60,32 -30,-17 -21,-48 -4,-70 20,-25 38,-40 58,-69 68,-98 66,-127 29,8 -9,34 -14,67 -23,99zm422 -317c-10,25 -31,47 -61,31 -30,-17 -21,-48 -3,-70 19,-25 38,-40 58,-69 67,-98 65,-127 29,8 -10,34 -14,67 -23,100zm-532 -1993c351,0 668,142 898,372 230,230 372,547 372,898 0,351 -142,668 -372,898 -230,230 -547,372 -898,372 -351,0 -668,-142 -898,-372 -230,-230 -372,-547 -372,-898 0,-351 142,-668 372,-898 230,-230 547,-372 898,-372zm829 441c-212,-212 -505,-343 -829,-343 -324,0 -617,131 -829,343 -212,212 -343,505 -343,829 0,324 131,617 343,829 212,212 505,343 829,343 324,0 617,-131 829,-343 212,-212 343,-505 343,-829 0,-324 -131,-617 -343,-829z\" />\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default Rain\r\n\r\n\r\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst RefrigeratorSVG = createDailyLifeDynamicSVG('fridge', 'Refrigerator');\n\nexport default RefrigeratorSVG;\n","import React from 'react';\nimport { clampValue } from '../dynamicSvgUtils';\n\nconst RobotArmSVG = ({ value = 0, width = '100%', height = '100%', title = 'Robot arm', className, style }) => {\n  const level = clampValue(value);\n  const shoulder = -45 + level * 0.9;\n  const elbow = 38 - level * 0.55;\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <rect x=\"72\" y=\"190\" width=\"96\" height=\"24\" rx=\"8\" fill=\"#0f172a\" />\n      <circle cx=\"120\" cy=\"176\" r=\"25\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n      <g transform={`rotate(${shoulder} 120 176)`}>\n        <rect x=\"114\" y=\"86\" width=\"28\" height=\"92\" rx=\"14\" fill=\"#93c5fd\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n        <circle cx=\"128\" cy=\"86\" r=\"20\" fill=\"#eff6ff\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n        <g transform={`rotate(${elbow} 128 86)`}>\n          <rect x=\"126\" y=\"34\" width=\"24\" height=\"60\" rx=\"12\" fill=\"#bfdbfe\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n          <path d=\"M138 30l-16-18M138 30l20-13\" stroke=\"#ef4444\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n        </g>\n      </g>\n      <text x=\"120\" y=\"34\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"20\" fontWeight=\"800\">{level}% reach</text>\n    </svg>\n  );\n};\n\nexport default RobotArmSVG;\n","import React from 'react';\nimport { clampValue } from '../dynamicSvgUtils';\n\nconst SecurityCameraSVG = ({ value = 0, width = '100%', height = '100%', title = 'Security camera', className, style }) => {\n  const level = clampValue(value);\n  const angle = -24 + level * 0.48;\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <path d=\"M50 62h52\" stroke=\"#0f172a\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n      <rect x=\"92\" y=\"46\" width=\"96\" height=\"48\" rx=\"13\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" transform={`rotate(${angle} 140 70)`} />\n      <circle cx=\"174\" cy=\"70\" r=\"12\" fill=\"#0f172a\" transform={`rotate(${angle} 140 70)`} />\n      <path d=\"M70 62v74c0 24 19 43 43 43h13\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n      <path d=\"M158 102 214 138 146 168Z\" fill=\"#38bdf8\" opacity={0.16 + level / 260} />\n      <path d=\"M136 178h48\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n      <text x=\"120\" y=\"220\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% scan</text>\n    </svg>\n  );\n};\n\nexport default SecurityCameraSVG;\n","import React from 'react';\nimport { clampValue, getLevelColor } from '../dynamicSvgUtils';\n\nconst ServerRackSVG = ({ value = 0, width = '100%', height = '100%', title = 'Server rack', className, style }) => {\n  const level = clampValue(value);\n  const color = getLevelColor(level);\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <rect x=\"58\" y=\"28\" width=\"124\" height=\"184\" rx=\"14\" fill=\"#111827\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n      {[0, 1, 2, 3].map((row) => (\n        <g key={row} transform={`translate(0 ${row * 40})`}>\n          <rect x=\"74\" y=\"48\" width=\"92\" height=\"26\" rx=\"6\" fill=\"#e2e8f0\" />\n          <circle cx=\"88\" cy=\"61\" r=\"5\" fill={level > row * 25 ? color : '#94a3b8'} />\n          <path d=\"M104 61h44\" stroke=\"#64748b\" strokeWidth=\"5\" strokeLinecap=\"round\" />\n        </g>\n      ))}\n      <rect x=\"195\" y=\"55\" width=\"14\" height=\"118\" rx=\"7\" fill=\"#e2e8f0\" />\n      <rect x=\"195\" y={173 - level * 1.18} width=\"14\" height={level * 1.18} rx=\"7\" fill={color} />\n      <text x=\"120\" y=\"230\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"18\" fontWeight=\"800\">{level}% load</text>\n    </svg>\n  );\n};\n\nexport default ServerRackSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst ShowerFlowSVG = createDailyLifeDynamicSVG('shower', 'Shower flow');\n\nexport default ShowerFlowSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst SmartPlugSVG = createDailyLifeDynamicSVG('plug', 'Smart plug');\n\nexport default SmartPlugSVG;\n","import React from 'react'\r\nimport './soilTempreture.scss'\r\n\r\nfunction SoilTempreture({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" style={style} className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"0 0 1431 1431\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            {/* <defs>\r\n                <style type=\"text/css\">\r\n                    <![CDATA[\r\n                    .fil3 {fill:#004812}\r\n                    .fil2 {fill:#462C14}\r\n                    .fil1 {fill:#634B37}\r\n                    .fil0 {fill:#C5E19D}\r\n                    .fil5 {fill:red}\r\n                    .fil4 {fill:black;fill-rule:nonzero}\r\n   ]]>\r\n                </style>\r\n            </defs> */}\r\n            <g>\r\n                <circle className=\"fil0_soilTempreture\" cx=\"716\" cy=\"716\" r=\"716\" />\r\n                <path className=\"fil1_soilTempreture\" d=\"M715 1431c-184,0 -352,-70 -479,-184 13,-72 67,-105 143,-113 18,-38 42,-64 72,-83l0 100c-4,3 -7,5 -9,8 -4,5 -8,9 -11,15 -3,5 -5,11 -7,17 -1,6 -2,12 -2,18 0,10 2,20 6,28 3,9 9,18 16,24 6,7 14,12 23,16 9,4 19,6 28,6 10,0 20,-2 29,-6 9,-4 17,-9 23,-16 7,-6 13,-15 16,-24 4,-8 6,-18 6,-28 0,-6 -1,-12 -2,-18 -2,-6 -4,-12 -7,-17 -3,-6 -7,-10 -11,-15 -3,-3 -6,-5 -9,-8l0 -135c46,-11 96,-15 146,-20l33 1 0 434 -4 0z\" />\r\n                <path className=\"fil2_soilTempreture\" d=\"M1201 1242c-118,109 -273,179 -445,188 -3,0 -7,1 -10,1l-5 0c-3,0 -7,0 -11,0 -3,0 -7,0 -11,0l0 -434 38 -1c54,9 99,11 149,28 79,27 89,56 108,66 44,24 181,10 187,152z\" />\r\n                <path className=\"fil3_soilTempreture\" d=\"M789 768c35,-11 46,-63 183,-61 -14,68 -48,135 -102,156 22,19 43,20 75,18 25,-3 48,-10 65,-21 95,-59 169,-223 188,-334 -98,0 -197,16 -278,51 -83,35 -131,79 -131,191zm-102 234l32 1 37 -1 -25 -84c17,-14 34,-23 51,-36 42,-29 131,-97 144,-139 -41,11 -97,92 -203,125 -22,-329 132,-404 144,-460 -44,22 -81,90 -110,114 -27,-44 -35,-82 -56,-134 -12,34 20,96 34,130 21,50 -2,37 -34,133 -30,-25 -58,-102 -91,-113 35,91 88,97 66,202 -5,82 -13,133 11,262zm118 -590c18,-7 19,-18 43,-29 20,-8 45,-12 69,-15 -6,38 -15,57 -36,84 -16,21 -11,0 -15,25 118,13 174,-119 188,-230 -119,8 -257,42 -249,165zm-139 -3c8,-16 0,-44 21,-78 31,20 28,39 49,69 57,-91 -31,-163 -75,-204 -36,55 -69,172 5,213zm-51 169c-22,-19 -28,-30 -34,-70 36,4 48,10 68,32 24,-75 -85,-117 -154,-119 11,78 34,166 120,157z\" />\r\n                <path className=\"fil4_soilTempreture\" d=\"M530 1156c9,6 16,14 21,23 5,9 8,19 8,30 0,18 -7,34 -19,45 -11,11 -27,19 -45,19 -17,0 -33,-8 -44,-19 -12,-11 -19,-27 -19,-45 0,-11 3,-21 8,-30 5,-9 12,-17 21,-23l0 -457c0,-10 4,-19 10,-25 6,-6 15,-10 24,-10 10,0 19,4 25,10 6,6 10,15 10,25l0 457zm16 25c-4,-8 -11,-16 -20,-21l-1 -1 0 -460c0,-9 -3,-16 -9,-21 -5,-6 -12,-9 -21,-9 -8,0 -15,3 -20,9 -6,5 -9,12 -9,21l0 460 -1 1c-9,5 -16,13 -20,21 -5,9 -8,18 -8,28 0,16 7,31 17,41 11,11 25,18 41,18 17,0 31,-7 42,-18 10,-10 17,-25 17,-41 0,-10 -3,-19 -8,-28z\" />\r\n                <path className=\"fil5_soilTempreture\" d=\"M511 1168c17,6 28,22 28,41 0,25 -19,44 -44,44 -24,0 -44,-19 -44,-44 0,-19 12,-35 29,-41l0 -344c0,-9 7,-16 15,-16l0 0c9,0 16,7 16,16l0 344z\" />\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default SoilTempreture\r\n\r\n","import React from 'react';\nimport { clampValue, getLevelColor } from '../dynamicSvgUtils';\n\nconst SolarPanelSVG = ({ value = 0, width = '100%', height = '100%', title = 'Solar panel', className, style }) => {\n  const level = clampValue(value);\n  const color = getLevelColor(level);\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <circle cx=\"58\" cy=\"55\" r=\"23\" fill=\"#facc15\" opacity={0.55 + level / 240} />\n      <path d=\"M58 14v15M58 81v15M17 55h15M84 55h15M29 26l11 11M76 73l11 11M87 26 76 37M40 73 29 84\" stroke=\"#f59e0b\" strokeWidth=\"6\" strokeLinecap=\"round\" opacity={0.35 + level / 180} />\n      <path d=\"M64 104h128l24 88H40l24-88Z\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinejoin=\"round\" />\n      <path d=\"M82 104 64 192M120 104v88M158 104l18 88M52 134h152M45 164h166\" stroke=\"#1e40af\" strokeWidth=\"4\" opacity=\"0.85\" />\n      <rect x=\"64\" y=\"202\" width=\"112\" height=\"14\" rx=\"7\" fill=\"#e2e8f0\" />\n      <rect x=\"64\" y=\"202\" width={(112 * level) / 100} height=\"14\" rx=\"7\" fill={color} />\n      <text x=\"120\" y=\"88\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"24\" fontWeight=\"800\">{level}%</text>\n    </svg>\n  );\n};\n\nexport default SolarPanelSVG;\n","import React from 'react';\n\nconst StethoscopeSVG = ({ width = '100%', height = '100%', title = 'Stethoscope', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <path d=\"M64 45v56c0 31 22 56 50 56s50-25 50-56V45\" fill=\"none\" stroke=\"#2563eb\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n    <path d=\"M114 157v12c0 25 20 45 45 45s45-20 45-45v-18\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n    <circle cx=\"204\" cy=\"136\" r=\"19\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n    <circle cx=\"204\" cy=\"136\" r=\"8\" fill=\"#38bdf8\" />\n    <circle cx=\"64\" cy=\"43\" r=\"12\" fill=\"#ef4444\" />\n    <circle cx=\"164\" cy=\"43\" r=\"12\" fill=\"#ef4444\" />\n    <path d=\"M88 45h52\" stroke=\"#93c5fd\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default StethoscopeSVG;\n","// All rights to the entire source code, it's associated documentation, and design are the property of Linked Things (Pvt) Ltd.\r\n// No part of the above can be copied, saved, or used, in any manner whatsoever by any entity or individual unless explicitly authorized to do so.\r\nimport React, { useState, useEffect } from \"react\";\r\nimport \"./guage.scss\"\r\nimport { idGenerator  } from '../legacyVisualUtils';\r\nimport { LatestEventHandler } from '../legacyVisualUtils';\r\n\r\nconst uniqueId = idGenerator()\r\nfunction ThreePhaseGuage({ width = '100%', height = '100%', className, style, ...props } = {}){\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    const explicitValues = Array.isArray(props.value)\n        ? props.value\n        : Array.isArray(props.values)\n            ? props.values\n            : Array.isArray(props?.config?.values)\n                ? props.config.values\n                : null\n    const hasExplicitValues = Boolean(explicitValues) || props.accumulative !== undefined || props.phase1 !== undefined || props.phase2 !== undefined || props.phase3 !== undefined || props?.config?.accumulative !== undefined || props?.config?.phase1 !== undefined || props?.config?.phase2 !== undefined || props?.config?.phase3 !== undefined\n    let value = explicitValues\n        ? [explicitValues[0] || 0, explicitValues[1] || 0, explicitValues[2] || 0, explicitValues[3] || 0]\n        : [props.accumulative ?? props?.config?.accumulative ?? 0, props.phase1 ?? props?.config?.phase1 ?? 0, props.phase2 ?? props?.config?.phase2 ?? 0, props.phase3 ?? props?.config?.phase3 ?? 0]\r\n    const [state, setState] = useState({\r\n        color: {\r\n            green: \"rgb(0, 150, 0)\",\r\n            yellow: \"rgb(230, 230, 0)\",\r\n            orange: \"rgb(220, 102, 0)\",\r\n            red: \"rgb(200, 0, 0)\",\r\n            purple: \"rgb(100, 0, 100)\",\r\n      },\r\n      config: {\r\n        colorScale: [{color:'yellow',position:0},{color:'green',position:0},{color:'red',position:100}],\r\n        gradient:   false,\r\n        minValue:   0,\r\n        maxValue:   100,\r\n        label: '',\r\n        deviceIds: [null,null,null,null]\r\n      },\r\n      finalConfig: {color:null,linearColor:null},\r\n    })\r\n    useEffect(()=>{\r\n        let state1 = {...state}, conicColor = \"\", linearColor = \"\";\r\n        if(\"config\" in props){\r\n            if(props.config){\r\n                // if(\"colorScale\" in props.config){\r\n                //     state1.config.colorScale = props.config.colorScale;\r\n                // }\r\n                // if(\"gradient\" in props.config){\r\n                //     state1.config.gradient = props.config.gradient;\r\n                // }\r\n                let cnfg = Object.keys(props.config)\r\n                cnfg.map((row) => {\r\n                    if(row.match(\"Accumulative\")){\r\n                        state1.config.deviceIds[0] = props.config[row];\r\n                    }\r\n                    else if(row.match(\"Phase 1\")){\r\n                        state1.config.deviceIds[1] = props.config[row];\r\n                    }\r\n                    else if(row.match(\"Phase 2\")){\r\n                        state1.config.deviceIds[2] = props.config[row];\r\n                    }\r\n                    else if(row.match(\"Phase 3\")){\r\n                        state1.config.deviceIds[3] = props.config[row];\r\n                    }\r\n                })\r\n                if(\"label\" in props.config){\r\n                    state1.config.label = props.config.label;\r\n                }\r\n                if(\"min\" in props.config){\r\n                    state1.config.minValue = parseInt(props.config.min);\r\n                }\r\n                if(\"max\" in props.config){\r\n                    state1.config.maxValue = parseInt(props.config.max);\r\n                }\r\n                if(\"lowest\" in props.config){\r\n                    state1.config[\"lowestValue\"] = parseInt(props.config.lowest);\r\n                    state1.config.colorScale[1].position = state1.config[\"lowestValue\"]\r\n                }\r\n                if(\"highest\" in props.config){\r\n                    state1.config[\"highestValue\"] = parseInt(props.config.highest);\r\n                    state1.config.colorScale[2].position = state1.config[\"highestValue\"]\r\n                }else{\r\n                    state1.config.colorScale[2].position = state1.config.maxValue\r\n                }\r\n            }\r\n        }\r\n        if(state1.config.colorScale){\r\n            state1.config.colorScale.map((e,key)=>{\r\n                if(key > 0){\r\n                    if(!state1.config.gradient){\r\n                        conicColor += \", \" + state1.color[state1.config.colorScale[key-1].color] + \" \" + (((e.position / state1.config.maxValue) * 100) * 180) / 100+\"deg\";\r\n                        linearColor += \", \" + state1.color[state1.config.colorScale[key-1].color] + \" \" + ((e.position / state1.config.maxValue) * 100)+\"%\";\r\n                    }\r\n                    conicColor += \", \"\r\n                    linearColor += \", \"\r\n                }\r\n                if(\"color\" in e){\r\n                    conicColor += state1.color[e.color];\r\n                    linearColor += state1.color[e.color];\r\n                }\r\n                if(\"position\" in e){\r\n                    conicColor += \" \"+(((e.position / state1.config.maxValue) * 100) * 180) / 100+\"deg\";\r\n                    linearColor += \" \"+((e.position / state1.config.maxValue) * 100)+\"%\";\r\n                }\r\n            })\r\n            conicColor = \"conic-gradient(from -90deg at 50% 100%,\" + conicColor + \")\"\r\n            state1.finalConfig[\"color\"] = conicColor;\r\n            linearColor = \"linear-gradient(90deg,\" + linearColor + \")\"\r\n            state1.finalConfig[\"linearColor\"] = linearColor;\r\n        }\r\n        setState(state1);\r\n    },[props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        const newData = e.target.value\r\n        if(newData){\r\n            setLiveValue(newData)\r\n        }\r\n    }\r\n    const configKeys = Object.keys(props.config || {})\r\n    if(!hasExplicitValues && Array.isArray(liveValue) && configKeys.filter(keys => keys.match('deviceId&'))?.length && configKeys.filter(keys => keys.match('param&')).length){\r\n        for(const deviceEvent of liveValue){\r\n            if(props.config[\"deviceId&Accumulative\"] && props.config[\"param&Accumulative\"] && deviceEvent.deviceId === props.config[\"deviceId&Accumulative\"] && deviceEvent[props.config[\"param&Accumulative\"]]){\r\n                value[0] = deviceEvent[props.config[\"param&Accumulative\"]]\r\n            }\r\n            if(props.config[\"deviceId&Phase 1\"] && props.config[\"param&Phase 1\"] && deviceEvent.deviceId === props.config[\"deviceId&Phase 1\"] && deviceEvent[props.config[\"param&Phase 1\"]]){\r\n                value[1] = deviceEvent[props.config[\"param&Phase 1\"]]\r\n            }\r\n            if(props.config[\"deviceId&Phase 2\"] && props.config[\"param&Phase 2\"] && deviceEvent.deviceId === props.config[\"deviceId&Phase 2\"] && deviceEvent[props.config[\"param&Phase 2\"]]){\r\n                value[2] = deviceEvent[props.config[\"param&Phase 2\"]]\r\n            }\r\n            if(props.config[\"deviceId&Phase 3\"] && props.config[\"param&Phase 3\"] && deviceEvent.deviceId === props.config[\"deviceId&Phase 3\"] && deviceEvent[props.config[\"param&Phase 3\"]]){\r\n                value[3] = deviceEvent[props.config[\"param&Phase 3\"]]\r\n            }\r\n        }\r\n    }else if(!hasExplicitValues){\r\n        value = [0,0,0,0]\r\n    }\r\n\r\n    return state.finalConfig?(\r\n        <>\r\n        <LatestEventHandler\r\n            hubId={props?.config?.hubId? props?.config?.hubId: ''}\r\n            onChange={onChangeHandler}\r\n        />\r\n            <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\" style={{ ...style, shapeRendering:\"geometricPrecision\", textRendering:\"geometricPrecision\", imageRendering: \"optimizeQuality\", fillRule: \"evenodd\", clipRule:\"evenodd\", width: '100%', height: '100%',}} viewBox=\"0 0 648.93 500\" xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n                {props?.config?.param ? (\r\n                    <LatestEventHandler\r\n                        deviceId={props?.config?.deviceId || ''}\r\n                        onChange={onChangeHandler}\r\n                    />\r\n                ) : null}\r\n                <clipPath id={uniqueId+\"0\"}>\r\n                    <path d=\"M0.02 308.65c3.98,-80.68 37.62,-156.37 94.75,-213.5 61.12,-61.12 143.26,-95.15 229.7,-95.15 86.44,0 168.58,34.03 229.7,95.15 57.13,57.13 90.77,132.82 94.75,213.5 0.22,4.38 -1.21,8.23 -4.24,11.4 -3.02,3.18 -6.8,4.79 -11.18,4.79l-46.37 0c-8.19,0 -14.93,-6.37 -15.41,-14.54 -3.53,-60.72 -29.1,-117.58 -72.12,-160.59 -46.6,-46.6 -109.23,-72.54 -175.13,-72.54 -65.9,0 -128.53,25.94 -175.13,72.54 -43.02,43.02 -68.58,99.87 -72.12,160.59 -0.48,8.17 -7.22,14.54 -15.41,14.54l-46.37 0c-4.38,0 -8.16,-1.62 -11.18,-4.79 -3.02,-3.18 -4.45,-7.02 -4.24,-11.4z\"/>\r\n                </clipPath>\r\n                <mask id={uniqueId+\"1\"}>\r\n                    <linearGradient id={uniqueId+\"2\"} gradientUnits=\"userSpaceOnUse\" x1=\"417.08\" y1=\"299.07\" x2=\"184.31\" y2=\"319.18\">\r\n                    <stop offset=\"0\" style={{stopOpacity:1, stopColor:\"white\"}}/>\r\n                    <stop offset=\"1\" style={{stopOpacity:0, stopColor:\"white\"}}/>\r\n                    </linearGradient>\r\n                    <rect style={{fill:\"url(#\"+uniqueId+\"2)\"}} x=\"174.61\" y=\"301.72\" width=\"149.74\" height=\"20.13\"/>\r\n                </mask>\r\n                <g style={{clipPath:\"url(#\"+uniqueId+\"0)\"}}>\r\n                <foreignObject x=\"0\" y=\"0\" width=\"648.93\" height=\"348.25\">\r\n                    <div xmlns=\"http://www.w3.org/1999/xhtml\" style={{backgroundImage: state.finalConfig.color, width: '100%', height: '100%'}}>\r\n                    </div>\r\n                </foreignObject>\r\n                <circle r='45%' fill='rgba(255,255,255,0.2)' cx='51%' cy='65%'/>\r\n                </g>\r\n                <text textAnchor=\"left\" style={{fontSize: '35px',}} x='15%' y='65%'>{state.config.minValue}</text>\r\n                <text textAnchor=\"end\" style={{fontSize: '35px',}} x='85%' y='65%'>{state.config.maxValue}</text>\r\n                <text textAnchor=\"middle\" style={{fontSize: '35px',}} x='50%' y='30%'>{'Accumulative'}</text>\r\n                <text textAnchor=\"middle\" style={{fontSize: '35px',}} x='50%' y='37%'>{value[0].toFixed(2) + ' ' + (props?.config?.unit || '')}</text>\r\n                <g className='arrow' style={{transition: \"all 1s\", transformOrigin: \"50% 65%\", transform: 'rotate(calc(' + ((((value[0] > state.config.maxValue ? state.config.maxValue : value[0]) / state.config.maxValue) * 100) * 180) / 100 + 'deg)'}}>\r\n                    <path fill='rgb(20, 20, 20)' d=\"M174.43 319.28l151.54 -20.37c1.55,-0.21 3.01,0.44 3.93,1.57l16.45 20.38c1.31,1.63 1.24,3.91 -0.05,5.46l-16.4 20.32c-1.01,1.25 -2.57,1.79 -4.05,1.55l-151.51 -20.37c-2.36,-0.32 -4.01,-2.48 -3.69,-4.84 0.27,-1.99 1.86,-3.48 3.77,-3.7z\"/>\r\n                    <polygon fill='#fff' style={{mask:\"url(#\"+uniqueId+\"1)\"}} points=\"312.73,321.84 174.61,321.84 324.35,301.72 \"/>\r\n                </g>\r\n                <svg preserveAspectRatio=\"xMidYMid meet\" x=\"0\" y=\"36%\" viewBox=\"0 0 300 70\">\r\n                    <foreignObject width=\"100%\" height=\"100%\">\r\n                        <div className='row mx-0 justify-content-center'>\r\n                            {/* {props.config.threePhase.map((e, key) => */}\r\n                                <div className='col-xl-4 col-md-4 col-12 p-1 mt-2'>\r\n                                    <div\r\n                                    className={\"label\" in props?\"graph-range-label\":\"graph-range\"}\r\n                                        style={{\r\n                                        backgroundImage: state.finalConfig.linearColor,\r\n                                        height: \"10px\",\r\n                                        }}\r\n                                    >\r\n                                        <h6 className=\"label\">Phase 1</h6>\r\n                                        <i style={{left: (((value[1]>state.config.maxValue?state.config.maxValue:value[1]) / state.config.maxValue) * 100)+\"%\"}} className=\"indicator fa fa-caret-down\"></i>\r\n                                        <div className=\"text-value\">{value[1].toFixed(2)} {\"unit\" in props.config? props.config.unit: \" \"}</div>\r\n                                    </div>\r\n                                </div>\r\n                                <div className='col-xl-4 col-md-4 col-12 p-1 mt-2'>\r\n                                    <div\r\n                                    className={\"label\" in props?\"graph-range-label\":\"graph-range\"}\r\n                                        style={{\r\n                                        backgroundImage: state.finalConfig.linearColor,\r\n                                        height: \"10px\",\r\n                                        }}\r\n                                    >\r\n                                        <h6 className=\"label\">Phase 2</h6>\r\n                                        <i style={{left: (((value[2]>state.config.maxValue?state.config.maxValue:value[2]) / state.config.maxValue) * 100)+\"%\"}} className=\"indicator fa fa-caret-down\"></i>\r\n                                        <div className=\"text-value\">{value[2].toFixed(2)} {\"unit\" in props.config? props.config.unit: \" \"}</div>\r\n                                    </div>\r\n                                </div>\r\n                                <div className='col-xl-4 col-md-4 col-12 p-1 mt-2'>\r\n                                    <div\r\n                                    className={\"label\" in props?\"graph-range-label\":\"graph-range\"}\r\n                                        style={{\r\n                                        backgroundImage: state.finalConfig.linearColor,\r\n                                        height: \"10px\",\r\n                                        }}\r\n                                    >\r\n                                        <h6 className=\"label\">Phase 3</h6>\r\n                                        <i style={{left: (((value[3]>state.config.maxValue?state.config.maxValue:value[3]) / state.config.maxValue) * 100)+\"%\"}} className=\"indicator fa fa-caret-down\"></i>\r\n                                        <div className=\"text-value\">{value[3].toFixed(2)} {\"unit\" in props.config? props.config.unit: \" \"}</div>\r\n                                    </div>\r\n                                </div>\r\n                            {/* )} */}\r\n                            <b>{state.config.label}</b>\r\n                        </div>\r\n                    </foreignObject>\r\n                </svg>\r\n            </svg>\r\n\r\n        </>\r\n      \r\n    ):null;\r\n}\r\nexport default ThreePhaseGuage\r\n\r\n\r\n\r\n\r\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst ThermostatDialSVG = createDailyLifeDynamicSVG('thermostat', 'Thermostat dial');\n\nexport default ThermostatDialSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst ToasterSVG = createDailyLifeDynamicSVG('toaster', 'Toaster');\n\nexport default ToasterSVG;\n","import React from 'react';\n\nconst SyringeSVG = ({ width = '100%', height = '100%', title = 'Syringe', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <path d=\"M167 46l27 27M181 32l27 27M48 191l60-60\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n    <rect x=\"90\" y=\"88\" width=\"91\" height=\"47\" rx=\"8\" transform=\"rotate(-45 90 88)\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"6\" />\n    <path d=\"M77 157l-24 24M64 144l32 32M129 80l32 32M116 93l18 18M103 106l18 18\" stroke=\"#2563eb\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n    <path d=\"M149 73l18-18 18 18-18 18\" fill=\"#ffffff\" stroke=\"#ef4444\" strokeWidth=\"6\" strokeLinejoin=\"round\" />\n    <path d=\"M41 198l-14 14\" stroke=\"#ef4444\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default SyringeSVG;\n","import React from 'react';\nimport { clampValue } from '../dynamicSvgUtils';\n\nconst TrafficLightSVG = ({ value = 0, width = '100%', height = '100%', title = 'Traffic light', className, style }) => {\n  const level = clampValue(value);\n  const active = level < 34 ? 'red' : level < 67 ? 'yellow' : 'green';\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <rect x=\"77\" y=\"24\" width=\"86\" height=\"164\" rx=\"22\" fill=\"#1e293b\" stroke=\"#0f172a\" strokeWidth=\"8\" />\n      <circle cx=\"120\" cy=\"64\" r=\"23\" fill={active === 'red' ? '#ef4444' : '#475569'} />\n      <circle cx=\"120\" cy=\"106\" r=\"23\" fill={active === 'yellow' ? '#facc15' : '#475569'} />\n      <circle cx=\"120\" cy=\"148\" r=\"23\" fill={active === 'green' ? '#22c55e' : '#475569'} />\n      <path d=\"M120 188v30M91 218h58\" stroke=\"#0f172a\" strokeWidth=\"9\" strokeLinecap=\"round\" />\n      <rect x=\"54\" y=\"202\" width=\"132\" height=\"12\" rx=\"6\" fill=\"#e2e8f0\" />\n      <rect x=\"54\" y=\"202\" width={(132 * level) / 100} height=\"12\" rx=\"6\" fill={active === 'red' ? '#ef4444' : active === 'yellow' ? '#f59e0b' : '#22c55e'} />\n    </svg>\n  );\n};\n\nexport default TrafficLightSVG;\n","import React from 'react'\r\nimport './uv.scss'\r\n\r\nfunction UV({ width = '100%', height = '100%', className, style }) {\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width}\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            // style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\r\n            viewBox=\"0 0 1570 1432\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\">\r\n            <g>\r\n                <g>\r\n                    <g>\r\n                        <circle className=\"uv_fil0\" cx=\"621\" cy=\"636\" r=\"437\" />\r\n                        <path className=\"uv_fil1\" d=\"M617 0l69 169c-21,-3 -43,-5 -65,-5 -26,0 -51,2 -76,6l72 -170zm138 184l138 -123 -10 182c-39,-26 -82,-46 -128,-59zm183 103l178 -51 -89 160c-24,-41 -54,-78 -89,-109zm121 172l181 32 -149 105c-4,-48 -15,-94 -32,-137zm33 207l150 108 -180 30c17,-44 27,-90 30,-138zm-60 202l89 162 -175 -52c34,-32 63,-69 86,-110zm-141 155l10 185 -136 -122c46,-15 88,-36 126,-63zm-194 79l-72 170 -69 -168c21,3 43,4 65,4 26,0 51,-2 76,-6zm-210 -13l-138 122 11 -182c38,26 81,46 127,60zm-183 -103l-178 50 89 -159c24,40 54,77 89,109zm-120 -173l-182 -31 149 -105c4,48 15,94 33,136zm-34 -207l-150 -108 180 -29c-17,43 -27,89 -30,137zm60 -201l-89 -162 175 51c-34,32 -63,69 -86,111zm141 -156l-10 -184 136 122c-46,14 -88,35 -126,62z\" />\r\n                    </g>\r\n                    <g>\r\n                        <path className=\"uv_fil2 uv_str0\" d=\"M1543 1077c-6,-3 -9,-11 -19,-33 -14,-32 -27,-18 -57,-23 -16,-2 -17,-8 -23,-23 -20,-53 -25,-25 -67,-36 -23,-6 -16,-51 -40,-55 -11,-2 -44,0 -51,-5\" />\r\n                        <path className=\"uv_fil2 uv_str0\" d=\"M1554 1260c-23,-8 -15,-48 -47,-53 -45,-8 -39,8 -59,-38 -14,-32 -28,-19 -58,-23 -15,-2 -17,-9 -22,-24 -21,-52 -25,-25 -68,-36 -22,-6 -15,-50 -39,-55 -11,-2 -44,0 -51,-4\" />\r\n                        <path className=\"uv_fil2 uv_str0\" d=\"M1542 1416c-13,-45 -28,-20 -64,-31 -23,-8 -15,-48 -48,-54 -44,-8 -39,8 -59,-38 -13,-31 -27,-18 -57,-23 -15,-2 -17,-8 -23,-23 -20,-53 -24,-25 -67,-36 -22,-6 -15,-51 -39,-55 -11,-2 -45,0 -51,-4\" />\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\nexport default UV\r\n\r\n","import React, { useState } from 'react'\r\nimport './valve.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';import { sentEvent  } from '../legacyVisualUtils';\r\n\r\nconst Valve = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\" xmlSpace=\"preserve\" version=\"1.1\"\r\n            style={{ ...style, \r\n                shapeRendering: \"geometricPrecision\",\r\n                textRendering: \"geometricPrecision\",\r\n                imageRendering: \"optimizeQuality\",\r\n                fillRule: \"evenodd\",\r\n                clipRule: \"evenodd\",\r\n                width: \"100%\",\r\n                height: \"100%\",\r\n                cursor: props?.config?.isControllable && \"pointer\"\r\n            }}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n            viewBox=\"0 0 1046.2 662.7\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <g>\r\n                <g className={\"waveAnimation\" + (value ? \" active\" : \"\")}>\r\n                    <path className=\"valve0\" d=\"M131.07 615.16l498.06 0 0 -244.12c-45.38,6.1 -71.54,-21.33 -102.56,-18.64 -22.59,1.96 -47.48,23.25 -67.29,28.71 -19.81,5.46 -34.54,-4.9 -46.89,-13.08 -12.35,-8.19 -22.32,-14.2 -40.98,-9.35 -18.66,4.85 -46.02,20.57 -63.63,23.57 -17.61,3.01 -25.47,-6.7 -43.31,-15.7 -17.84,-9 -54.03,-15.29 -79.24,-9.19 -25.2,6.1 -35.14,10.15 -54.15,13.67l0 244.12z\" />\r\n                    <path className=\"valve02\" d=\"M131.07 615.16l498.06 0 0 -244.12c-45.38,6.1 -71.54,-21.33 -102.56,-18.64 -22.59,1.96 -47.48,23.25 -67.29,28.71 -19.81,5.46 -34.54,-4.9 -46.89,-13.08 -12.35,-8.19 -22.32,-14.2 -40.98,-9.35 -18.66,4.85 -46.02,20.57 -63.63,23.57 -17.61,3.01 -25.47,-6.7 -43.31,-15.7 -17.84,-9 -54.03,-15.29 -79.24,-9.19 -25.2,6.1 -35.14,10.15 -54.15,13.67l0 244.12z\" />\r\n                </g>\r\n                <rect fill=\"#336699\" style={{ opacity: value ? \"1\" : \"0\", x: \"20%\", y: \"72.9%\", width: \"50%\", height: \"20%\" }} />\r\n                <rect className=\"valve1\" x=\"461.77\" y=\"48.71\" width=\"76.12\" height=\"164.95\" rx=\"12.14\" ry=\"20.57\" />\r\n                <path className=\"valve2\" d=\"M401.7 158.93c-21.36,0 -38.68,-17.32 -38.68,-38.68 0,-21.36 17.32,-38.68 38.68,-38.68l187.9 0 70.23 -70.23c7.55,-7.55 17.45,-11.33 27.35,-11.33l0 -0 320.34 0c21.36,0 38.68,17.32 38.68,38.68 0,21.36 -17.32,38.68 -38.68,38.68l-304.32 0 -69.98 69.98c-7.02,7.15 -16.79,11.58 -27.6,11.58l-203.91 0z\" />\r\n                <path className=\"valve3\" d=\"M420.2 181.39l159.26 0c21.19,0 38.52,17.34 38.52,38.52l0 45.54 -236.3 0 0 -45.54c0,-21.19 17.34,-38.52 38.52,-38.52z\" />\r\n                <path className=\"valve4\" d=\"M-0 293.62l370.52 0 0 322.78 -370.52 0 0 -322.78zm629.13 0l366.99 0 0 322.78 -366.99 0 0 -322.78z\" />\r\n                <path className=\"valve5\" d=\"M-0 293.62l64.82 0 0 322.78 -64.82 0 0 -322.78zm383.62 -1.33l232.41 0c7.2,0 13.1,5.91 13.1,13.1l0 296.67c0,7.19 -5.91,13.1 -13.1,13.1l-232.41 0c-7.19,0 -13.1,-5.89 -13.1,-13.1l0 -296.67c0,-7.2 5.89,-13.1 13.1,-13.1zm547.67 1.33l64.82 0 0 322.78 -64.82 0 0 -322.78zm-553.65 -45.24l244.36 0c19.85,0 36.09,16.24 36.09,36.09l0 342.13c0,19.85 -16.24,36.09 -36.09,36.09l-244.36 0c-19.85,0 -36.09,-16.24 -36.09,-36.09l0 -342.13c0,-19.85 16.24,-36.09 36.09,-36.09z\" />\r\n            </g>\r\n        </svg>)\r\n}\r\n\r\nexport default Valve\r\n\r\n\r\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst VacuumCleanerSVG = createDailyLifeDynamicSVG('vacuum', 'Vacuum cleaner');\n\nexport default VacuumCleanerSVG;\n","import React, { useRef, useState } from \"react\";\r\nimport './wasteBin.scss'\r\nimport { idGenerator  } from '../legacyVisualUtils';import { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';const WasteBin = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const clipId = useRef(idGenerator())\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n    const onChangeHandler = (e) => {\r\n        if(props?.config?.deviceId){\r\n            const newData = e.target.value\r\n            if(newData){\r\n                setLiveValue(newData)\r\n            }\r\n        }else{\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\"\r\n            version=\"1.1\"\r\n            viewBox=\"0 0 118.99 178.47\"\r\n            xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n            style={{ ...style,  width: \"100%\", height: \"100%\" }}\r\n        >\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param? props?.config?.deviceId: ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <defs>\r\n                <clipPath id={clipId.current}>\r\n                    <path d=\"M7.82 53.49l51.67 30.5 51.67 -30.5 -7.31 98.79 -44.37 26.19 -35.01 -20.67c0.16,-0.56 0.29,-1.14 0.39,-1.76 1.16,-7.05 -1.76,-15.36 -6.52,-18.56 -1.51,-1.01 -3.02,-1.4 -4.41,-1.22l-6.12 -82.77z\" />\r\n                </clipPath>\r\n            </defs>\r\n            <g id=\"Layer_x0020_1\">\r\n                <path fill=\"#FC8B77\" d=\"M7.82 53.49l51.67 30.5 51.67 -30.5 -7.31 98.79 -44.37 26.19 -35.01 -20.67c0.16,-0.56 0.29,-1.14 0.39,-1.76 1.16,-7.05 -1.76,-15.36 -6.52,-18.56 -1.51,-1.01 -3.02,-1.4 -4.41,-1.22l-6.12 -82.77z\" />\r\n                <g style={{ clipPath: `url(#${clipId.current})` }}>\r\n                    <rect fill=\"#EB6A46\"\r\n                        style={{ transition: '0.5s', transform: \"rotate(180deg) skewY(-30deg)\", transformOrigin: \"center\" }}\r\n                        width=\"50%\" height={(53 * value) / 100 + \"%\"} />\r\n                    <rect fill=\"#EB6A46\"\r\n                        style={{ transition: \"0.5s\", transform: \"rotate(180deg) rotateY(180deg) skewY(-30deg)\", transformOrigin: \"center\" }}\r\n                        width=\"50%\" height={(53 * value) / 100 + \"%\"} />\r\n                </g>\r\n                <path fill=\"none\" d=\"M7.82 53.49l51.67 30.5 51.67 -30.5 -7.31 98.79 -44.37 26.19 -35.01 -20.67c0.16,-0.56 0.29,-1.14 0.39,-1.76 1.16,-7.05 -1.76,-15.36 -6.52,-18.56 -1.51,-1.01 -3.02,-1.4 -4.41,-1.22l-6.12 -82.77z\" />\r\n                <path fill=\"#0C0404\" d=\"M25.16 154.12c0.73,-1.47 0.83,-3.8 0.66,-5.4 -0.13,-1.2 -0.41,-2.41 -0.83,-3.57 -1.22,-3.38 -3.6,-6.39 -6.57,-7.93 -1,-0.52 -1.98,-0.82 -2.93,-0.94l-1.12 0.43 -2.61 1c0.13,-0.05 -3.17,0.97 -3.7,5.31 -0.6,4.87 2.53,10.61 7,12.83 2.05,1.02 4.03,1.11 5.63,0.45 0.64,-0.24 2,-0.94 4.48,-2.18z\" />\r\n                <circle fill=\"#757070\" transform=\"matrix(0.103859 0.0515277 -0.0139894 0.113201 16.1361 147.034)\" r=\"58.41\" />\r\n                <circle fill=\"#0C0404\" transform=\"matrix(0.0458706 0.0227578 -0.00617861 0.0499965 16.1361 147.034)\" r=\"58.41\" />\r\n                <polygon fill=\"#EB6A46\" style={{ filter: \"brightness(0.7)\", fillOpacity: 0.7 }} points=\"111.17,53.49 59.49,83.99 59.49,178.47 103.86,152.28 \" />\r\n                <path fill=\"#EA4D20\" d=\"M118.99 43.09l0 7.32 -59.49 34.42 -59.49 -34.42 0 -7.32 7.55 -4.37 0 -6.29c-0.02,-0.72 0.26,-1.92 1.08,-2.43l3.37 -2.51c0.56,-0.57 1.97,-0.71 2.67,-0.06l5.87 3.78 33.68 -19.48 0 -6.29c-0.02,-0.72 0.26,-1.92 1.08,-2.43l3.37 -2.51c0.56,-0.57 1.97,-0.71 2.67,-0.06l21.27 13.72 23.56 18.64c1.32,1.06 2.16,2.34 2.57,4.13l0.05 0.27 10.21 5.91z\" />\r\n                <polygon fill=\"#A53328\" points=\"59.49,77.51 -0,43.09 -0,46.75 7.81,51.27 59.49,81.17 111.18,51.27 118.99,46.75 118.99,43.09 \" />\r\n                <path fill=\"none\" d=\"M8.06 30.57c0.4,-0.65 1.3,-0.74 1.85,-0.23l22.7 14.52 22.07 17.26c0.9,0.67 2.39,2.22 2.85,3.73l1.96 7.54\" />\r\n                <path fill=\"#B63E26\" d=\"M56.57 3.35c-0.51,-0.47 -1.32,-0.43 -1.76,0.1 -0.41,0.53 -0.62,1.33 -0.6,1.99l0 1.09 0.78 -0.45 26 17.13 22.63 19.95 -1.55 0.89 4.08 2.36 -1.96 -7.54c-0.46,-1.51 -1.95,-3.06 -2.85,-3.73l-22.07 -17.26 -22.7 -14.52z\" />\r\n                <polygon fill=\"#EE4325\" points=\"80.99,23.2 54.99,6.07 16.28,28.47 20.54,31.21 30.8,37.84 35.94,41.15 41.88,45.85 \" />\r\n                <path fill=\"#B63E26\" d=\"M9.91 30.34c-0.51,-0.47 -1.32,-0.43 -1.76,0.1 -0.41,0.53 -0.62,1.33 -0.6,1.99l0 6.29 0 4.62 51.94 30.05 -1.96 -7.54c-0.46,-1.51 -1.95,-3.06 -2.85,-3.73l-22.07 -17.26 -22.7 -14.52z\" />\r\n                <path fill=\"#CD3C27\" d=\"M103.63 43.15l-22.63 -19.95 -39.11 22.65 17.61 13.93c1.32,1.06 2.16,2.34 2.57,4.13l0.49 2.84 41.07 -23.61z\" />\r\n                <polygon fill=\"#472A26\" points=\"62.56,66.76 63.05,69.64 104.97,45.39 103.63,43.15 \" />\r\n                <g style={{ transform: \"skewY(-32deg) skewX(-3deg) scaleX(0.70)\", transformOrigin: \"center\" }}>\r\n                    <text textAnchor=\"middle\" x=\"81%\" y=\"75%\" fill=\"#472A26\" style={{ fontWeight: \"bold\", fontSize: \"25.19px\", fontFamily: \"Arial\" }}>{value ? value.toFixed(0) : 0}%</text>\r\n                </g>\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\n\r\nexport default WasteBin\r\n\r\n\r\n","import React from 'react';\nimport { clampValue } from '../dynamicSvgUtils';\n\nconst WaterPumpSVG = ({ value = 0, width = '100%', height = '100%', title = 'Water pump', className, style }) => {\n  const level = clampValue(value);\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <rect x=\"54\" y=\"92\" width=\"92\" height=\"76\" rx=\"18\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"7\" />\n      <circle cx=\"100\" cy=\"130\" r=\"28\" fill=\"#ffffff\" stroke=\"#1e40af\" strokeWidth=\"6\" />\n      <path d={`M100 130l${Math.round((level - 50) / 2)} -24`} stroke=\"#ef4444\" strokeWidth=\"7\" strokeLinecap=\"round\" />\n      <path d=\"M145 119h34c11 0 20 9 20 20v32\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n      <path d=\"M52 169h96M71 190h58\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n      <rect x=\"188\" y={177 - level * 0.45} width=\"22\" height={18 + level * 0.45} rx=\"8\" fill=\"#38bdf8\" opacity=\"0.85\" />\n      <path d=\"M197 184c-10 9-10 20 0 31 10-11 10-22 0-31Z\" fill=\"#0ea5e9\" opacity={0.35 + level / 170} />\n      <text x=\"100\" y=\"48\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"20\" fontWeight=\"800\">{level}% flow</text>\n    </svg>\n  );\n};\n\nexport default WaterPumpSVG;\n","import React from 'react';\n\nconst WheelchairSVG = ({ width = '100%', height = '100%', title = 'Wheelchair', className, style }) => (\n  <svg preserveAspectRatio=\"xMidYMid meet\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 240 240\"\n    width={width}\n    height={height}\n    role=\"img\"\n    aria-label={title}\n    className={className}\n    style={style}\n  >\n    <circle cx=\"82\" cy=\"178\" r=\"36\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"8\" />\n    <circle cx=\"82\" cy=\"178\" r=\"14\" fill=\"#93c5fd\" />\n    <circle cx=\"108\" cy=\"43\" r=\"18\" fill=\"#ef4444\" />\n    <path d=\"M112 70l-7 45h57l22 50h23\" fill=\"none\" stroke=\"#0f172a\" strokeWidth=\"10\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n    <path d=\"M102 113l-13 41M86 87h54\" stroke=\"#2563eb\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n    <path d=\"M144 147h-29c-13 0-25 6-33 16\" fill=\"none\" stroke=\"#2563eb\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n  </svg>\n);\n\nexport default WheelchairSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst WashingMachineSVG = createDailyLifeDynamicSVG('washing', 'Washing machine');\n\nexport default WashingMachineSVG;\n","import { createDailyLifeDynamicSVG } from '../dailyLifeDynamicFactory';\n\nconst WifiRouterSVG = createDailyLifeDynamicSVG('router', 'Wifi router');\n\nexport default WifiRouterSVG;\n","import React from 'react';\nimport { clampValue } from '../dynamicSvgUtils';\n\nconst WindTurbineDynamicSVG = ({ value = 0, width = '100%', height = '100%', title = 'Wind turbine', className, style }) => {\n  const level = clampValue(value);\n  const duration = `${Math.max(0.45, 4.5 - level * 0.04)}s`;\n\n  return (\n    <svg preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width={width} height={height} role=\"img\" aria-label={title} className={className} style={style}>\n      <path d=\"M120 94v112\" stroke=\"#475569\" strokeWidth=\"10\" strokeLinecap=\"round\" />\n      <path d=\"M92 214h56\" stroke=\"#0f172a\" strokeWidth=\"8\" strokeLinecap=\"round\" />\n      <g transform=\"translate(120 94)\">\n        <g>\n          <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0\" to=\"360\" dur={duration} repeatCount=\"indefinite\" />\n          <path d=\"M0 0c10-35 16-53 30-68 5-5 14-2 14 6C43-36 28-15 0 0Z\" fill=\"#bae6fd\" stroke=\"#2563eb\" strokeWidth=\"5\" />\n          <path d=\"M0 0c-36-8-55-13-72-26-6-5-4-14 4-15 26-2 49 11 68 41Z\" fill=\"#dbeafe\" stroke=\"#2563eb\" strokeWidth=\"5\" />\n          <path d=\"M0 0c25 27 37 43 43 64 2 8-6 14-13 10C8 62-2 38 0 0Z\" fill=\"#93c5fd\" stroke=\"#2563eb\" strokeWidth=\"5\" />\n        </g>\n        <circle r=\"13\" fill=\"#0f172a\" />\n        <circle r=\"6\" fill=\"#f8fafc\" />\n      </g>\n      <path d=\"M36 72c22-18 44-18 66 0M145 50c22-16 42-16 59 0\" fill=\"none\" stroke=\"#38bdf8\" strokeWidth=\"6\" strokeLinecap=\"round\" opacity={0.35 + level / 180} />\n      <text x=\"120\" y=\"36\" textAnchor=\"middle\" fill=\"#0f172a\" fontSize=\"20\" fontWeight=\"800\">{level}% wind</text>\n    </svg>\n  );\n};\n\nexport default WindTurbineDynamicSVG;\n","import React, { useState } from \"react\";\r\nimport './windDirection.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../legacyVisualUtils';function WindDirection({ width = '100%', height = '100%', className, style, ...props } = {}) {\r\n  // const [liveValue, setLiveValue] = useState(null)\r\n  const [liveValue, setLiveValue] = useState(null)\r\n  let value = getLegacyDisplayValue({ props, liveValue })\r\n\r\n  const onChangeHandler = (e) => {\r\n    if(props?.config?.deviceId){\r\n      const newData = e.target.value\r\n      if(newData){\r\n            setLiveValue(newData)\r\n        }\r\n    }else{\r\n        setLiveValue(null)\r\n    }\r\n  }\r\n  if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n      if (liveValue[props.config.param] !== null) {\r\n          value = liveValue[props.config.param]\r\n      } else {\r\n          value = 0\r\n      }\r\n  }\r\n  return (\r\n    <svg preserveAspectRatio=\"xMidYMid meet\" className={className} height={height} width={width}\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          xmlSpace=\"preserve\"\r\n          version=\"1.1\"\r\n          style={{ ...style, \r\n            shapeRendering: \"geometricPrecision\",\r\n            textRendering: \"geometricPrecision\",\r\n            imageRendering: \"optimizeQuality\",\r\n            fillRule: \"evenodd\",\r\n            clipRule: \"evenodd\",\r\n            width: '100%',\r\n            height: '100%',\r\n          }}\r\n          viewBox=\"0 0 105978 104990\"\r\n          xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n        >\r\n          <LatestEventHandler\r\n              deviceId={props?.config?.deviceId}\r\n              onChange={onChangeHandler}\r\n          />\r\n          <defs>\r\n            <filter id=\"compass_filter\" x=\"-50%\" y=\"-50%\" width=\"150%\" height=\"150%\">\r\n              <feGaussianBlur\r\n                result=\"blurOut\"\r\n                in=\"offOut\"\r\n                stdDeviation=\"1000\"\r\n              />\r\n            </filter>\r\n          </defs>\r\n          <g>\r\n            <path\r\n              className=\"compass_fil0\"\r\n              d=\"M69787 31369l-97 4975 4901 -190 -1381 4781 4782 1084 -2571 4260 4339 2285 -3587 3450 3600 3330 -4357 2404 2615 4148 -4831 1195 1453 4684 -4976 -97 191 4900 -4781 -1381 -1084 4783 -4260 -2571 -2285 4338 -3450 -3586 -3330 3600 -2404 -4357 -4149 2615 -1194 -4831 -4684 1452 97 -4975 -4900 191 1380 -4781 -4782 -1084 2571 -4261 -4339 -2285 3587 -3449 -3600 -3331 4357 -2404 -2615 -4148 4831 -1194 -1453 -4684 4976 96 -191 -4900 4781 1381 1084 -4782 4261 2571 2284 -4339 3450 3586 3330 -3599 2404 4357 4149 -2615 1194 4830 4684 -1452zm-11076 -28376c11552,1093 21941,6177 29774,13857 7846,7694 13128,17994 14444,29499l-607 70c-1300,-11363 -6516,-21535 -14266,-29134 -7735,-7584 -17995,-12604 -29402,-13684l57 -608zm44218 54667c-1316,11506 -6598,21806 -14444,29500 -7833,7680 -18222,12763 -29774,13856l-57 -608c11407,-1079 21667,-6099 29402,-13684 7750,-7598 12966,-17770 14266,-29133l607 69zm-53606 43356c-11552,-1093 -21941,-6176 -29774,-13856 -7846,-7694 -13128,-17994 -14444,-29500l608 -69c1299,11363 6516,21535 14265,29133 7735,7585 17995,12605 29402,13684l-57 608zm-44218 -54667c1316,-11505 6598,-21805 14444,-29499 7833,-7680 18222,-12764 29774,-13857l57 608c-11407,1080 -21667,6100 -29402,13684 -7750,7599 -12966,17771 -14265,29134l-608 -70zm-1132 9733l-165 0c-173,-373 -371,-834 -599,-1383 -228,-549 -612,-1436 -1154,-2659 -540,-1225 -894,-1958 -1059,-2199 -166,-239 -318,-404 -458,-496 -139,-90 -262,-139 -371,-150 -112,-11 -167,-44 -167,-100 0,-66 136,-99 410,-99l2347 0c218,0 329,33 329,99 0,63 -54,96 -162,100 -463,25 -696,207 -696,547 0,75 20,178 61,309 38,128 295,765 769,1910 472,1144 849,2016 1124,2615 110,-277 346,-948 707,-2015 360,-1065 575,-1735 647,-2009 -259,-689 -448,-1078 -570,-1166 -119,-88 -282,-144 -492,-169 -147,-15 -220,-52 -220,-114 0,-72 130,-107 393,-107l2309 0c139,0 227,6 264,19 35,13 53,42 53,91 0,50 -91,90 -275,122 -393,60 -590,251 -590,573 0,503 566,2073 1697,4711 228,-579 449,-1174 665,-1787l583 -1635c169,-481 266,-782 290,-904 22,-119 35,-231 35,-332 0,-432 -226,-652 -678,-659 -101,-4 -151,-37 -151,-100 0,-42 17,-67 48,-80 33,-13 125,-19 276,-19l1304 0c391,0 613,4 670,11 55,8 83,41 83,99 0,56 -41,85 -123,89 -395,29 -704,244 -924,646 -222,402 -726,1729 -1508,3982 -413,1183 -691,1936 -830,2259l-156 0c-289,-789 -570,-1511 -840,-2165 -272,-652 -656,-1615 -1151,-2886l-1725 5051zm101312 -7113c105,402 206,966 307,1693 -16,28 -37,42 -57,42 -24,0 -51,-14 -79,-44 -248,-398 -485,-701 -711,-911 -226,-207 -453,-356 -681,-444 -228,-88 -619,-132 -1176,-132 -525,0 -938,31 -1243,91 -29,35 -44,101 -44,199 0,26 -4,70 -11,134 -35,288 -53,1067 -53,2336 0,53 3,129 11,226 273,11 459,17 560,17 453,0 780,-68 984,-202 202,-134 381,-425 531,-869 24,-75 57,-114 99,-114 65,0 96,51 96,156l-19 215c-23,283 -36,575 -36,874 0,487 7,926 22,1317 0,121 -33,182 -98,182 -47,0 -80,-42 -97,-129 -75,-422 -233,-727 -474,-914 -239,-186 -760,-279 -1563,-279 -11,262 -16,685 -16,1271 0,758 27,1239 80,1443 54,206 182,368 388,489 204,119 549,180 1038,180 1394,0 2294,-481 2698,-1442 49,-119 99,-178 152,-178 57,0 85,38 85,117 0,44 -9,90 -28,142 -20,68 -73,321 -156,764 -16,94 -86,373 -204,839l-2257 -5c-323,0 -799,-15 -1425,-42 -627,-28 -1181,-41 -1664,-43 -484,-2 -737,-13 -757,-29 -22,-18 -33,-39 -33,-61 0,-71 59,-106 178,-106 400,0 663,-107 790,-318 126,-211 189,-726 189,-1543l-6 -1102 17 -1032c0,-208 -13,-601 -35,-1181 -24,-579 -46,-909 -64,-992 -20,-83 -77,-163 -167,-244 -92,-81 -294,-162 -608,-245 -94,-25 -140,-66 -140,-121 0,-66 62,-99 189,-99l1099 61c387,18 1340,27 2859,27 1000,0 1508,2 1530,6zm-38540 -13470c9115,7030 10807,20118 3777,29233 -7029,9116 -20117,10808 -29233,3778 -9115,-7029 -10807,-20117 -3777,-29233 7029,-9116 20117,-10807 29233,-3778z\"\r\n            />\r\n            <path\r\n              className=\"compass_fil1\"\r\n              d=\"M54017 30087c6052,0 11532,2454 15498,6420 3966,3966 6420,9446 6420,15498 0,6052 -2454,11531 -6420,15498 -3966,3966 -9446,6419 -15498,6419 -6052,0 -11531,-2453 -15498,-6419 -3966,-3967 -6419,-9446 -6419,-15498 0,-6052 2453,-11532 6419,-15498 3967,-3966 9446,-6420 15498,-6420zm12304 9613c-3148,-3148 -7499,-5096 -12304,-5096 -4805,0 -9156,1948 -12304,5096 -3149,3149 -5097,7499 -5097,12305 0,4805 1948,9155 5097,12304 3148,3149 7499,5097 12304,5097 4805,0 9156,-1948 12304,-5097 3149,-3149 5097,-7499 5097,-12304 0,-4806 -1948,-9156 -5097,-12305z\"\r\n            />\r\n            <polygon\r\n              className=\"compass_fil2\"\r\n              points=\"94981,52005 60564,55338 75549,73537 57350,58552 54017,92969 50684,58552 32485,73537 47470,55338 13053,52005 47470,48671 32485,30472 50684,45458 54017,11041 57350,45458 75549,30472 60564,48671 \"\r\n            />\r\n            <path\r\n              className=\"compass_fil3\"\r\n              d=\"M52037 11c215,290 590,742 1120,1352l1725 1998 1659 1916c36,-648 55,-1492 55,-2527 0,-779 -17,-1299 -48,-1563 -33,-263 -152,-485 -360,-665 -207,-179 -466,-269 -775,-269 -145,0 -217,-31 -217,-91 0,-35 15,-63 46,-78 30,-16 272,-33 724,-49 452,-17 832,-24 1140,-24l726 6 117 0c113,0 168,31 168,93 0,55 -48,88 -145,99 -362,39 -623,134 -781,283 -160,149 -255,364 -285,643 -31,281 -46,1223 -46,2827l-53 2843c0,143 -35,215 -106,215 -19,0 -43,-7 -72,-22 -31,-15 -191,-197 -481,-544 -292,-347 -651,-762 -1075,-1247 -426,-483 -760,-876 -1005,-1177 -536,-650 -872,-1049 -1013,-1200 -520,-552 -827,-907 -921,-1065 -60,-108 -117,-162 -167,-162 -36,0 -55,70 -55,210l11 836c0,1059 30,1906 87,2540 56,632 117,1003 180,1113 62,108 170,218 326,330 157,112 322,168 496,168 237,0 355,42 355,128 0,64 -66,97 -199,97l-2584 -5c-121,0 -182,-31 -182,-92 0,-72 59,-106 177,-106 441,0 734,-98 881,-294 147,-197 221,-614 221,-1251l-41 -1894c-9,-1115 -44,-1770 -104,-1969 -61,-198 -197,-439 -408,-723 -211,-285 -452,-447 -720,-482 -121,-14 -182,-49 -182,-102 0,-70 79,-107 235,-107l1576 11z\"\r\n            />\r\n            <path\r\n              className=\"compass_fil4\"\r\n              d=\"M55553 98218c97,-97 161,-200 194,-305 30,-86 70,-130 123,-130 30,0 63,18 98,53 23,131 58,392 104,785l127 1015c0,65 -39,98 -118,98 -44,0 -80,-37 -113,-109 -191,-468 -474,-859 -849,-1170 -375,-308 -784,-463 -1227,-463 -435,0 -764,131 -986,392 -222,261 -333,538 -333,832 0,358 122,632 362,821 241,189 737,404 1488,644 553,173 968,340 1243,502 274,160 505,386 693,678 187,290 281,602 281,934 0,568 -235,1075 -704,1523 -468,448 -1041,672 -1721,672 -613,0 -1228,-191 -1846,-575 -123,102 -200,221 -236,359 -30,115 -78,172 -144,172 -59,0 -101,-73 -126,-220 -26,-149 -79,-847 -160,-2096 14,-42 51,-64 114,-64 53,0 95,40 128,119 551,1391 1323,2085 2311,2085 490,0 874,-149 1151,-445 278,-295 417,-635 417,-1019 0,-264 -75,-509 -224,-731 -149,-222 -347,-402 -593,-538 -246,-136 -636,-288 -1166,-457 -684,-219 -1146,-427 -1389,-621 -244,-195 -422,-415 -534,-661 -114,-247 -171,-484 -171,-713 0,-478 217,-900 650,-1269 433,-369 964,-555 1592,-555 237,0 487,37 748,112 259,75 533,191 816,345z\"\r\n            />\r\n            <path\r\n              className=\"compass_fil5\"\r\n              d=\"M54017 52005l0 0 0 0 0 0 0 0 0 0 0 0zm21532 -21533l-17915 17916 -3617 -37347 0 37161 0 0 0 -165 -179 18 -21353 -17583 17915 17916 -37347 3617 37162 0 -1 0 -164 0 17 179 -17582 21353 17915 -17915 3617 37347 0 -36997 179 -17 21353 17582 -17915 -17915 37347 -3617 -36997 0 -17 -179 17582 -21354z\"\r\n            />\r\n            <circle className=\"compass_fil0\" cx=\"54017\" cy=\"52005\" r=\"5120\" />\r\n            <circle className=\"compass_fil6\" cx=\"54017\" cy=\"52005\" r=\"4535\" />\r\n            <circle className=\"compass_fil0\" cx=\"54017\" cy=\"52005\" r=\"3521\" />\r\n            <g className=\"compass_vibrate_shadow2\" style={{transform: 'rotate('+(value)+'deg)'}}>\r\n              <g className=\"compass_vibrate_shadow\">\r\n                <path\r\n                  className=\"compass_fil7\"\r\n                  filter=\"url(#compass_filter)\"\r\n                  d=\"M6593 70398l1613 4253 -1613 -4253zm47329 -12818l-37260 11432 35470 -16149c169,-293 385,-565 651,-804 907,-815 2144,-1028 3223,-665l37260 -11433 -35470 16150c-168,293 -385,565 -650,803 -907,815 -2145,1028 -3224,666zm47795 -23255l-4278 4054 5891 198 -1613 -4252z\"\r\n                />\r\n              </g>\r\n            </g>\r\n            <g className=\"compass_vibrate2\" style={{transform: 'rotate('+(value)+'deg)'}}>\r\n              <g className=\"compass_vibrate\">\r\n                <polygon\r\n                  className=\"compass_fil8\"\r\n                  points=\"54959,54489 15715,66530 53075,49520 \"\r\n                />\r\n                <path\r\n                  className=\"compass_fil9\"\r\n                  d=\"M92319 37479l-37355 17008 -5 2 -1884 -4969 16 -5 39228 -12036zm8456 -5639l-4278 4055 5890 198 -1612 -4253z\"\r\n                />\r\n                <path\r\n                  className=\"compass_fil10\"\r\n                  d=\"M5646 67916l1613 4253m85060 -34690l-38302 14526 -942 -2485 -37360 17010 38302 -14525 942 2484 37360 -17010zm10068 -1386l-1988 -1623 -46 -38 -1420 539 -2436 924 1886 63 1190 40 2814 95z\"\r\n                />\r\n                <circle\r\n                  className=\"compass_fil0\"\r\n                  transform=\"matrix(32.9705 36.6894 -36.6894 32.9705 54017 52004.8)\"\r\n                  r=\"66\"\r\n                />\r\n                <polygon\r\n                  className=\"compass_fil11\"\r\n                  points=\"100775,31840 100363,34374 100353,34432 100399,34470 102387,36093 101206,32979 \"\r\n                />\r\n              </g>\r\n            </g>\r\n            <text className='compass_text' x=\"52%\" y=\"90%\" textAnchor=\"middle\">{value?.toFixed(0) || 0}°</text>\r\n          </g>\r\n        </svg>\r\n  )\r\n}\r\nexport default WindDirection\r\n\r\n\r\n","import { withWidgetDetails, WidgetDetailCard, ProWidgetShell } from './WidgetDetailCard';\nimport { TemperatureSVG as BaseTemperatureSVG } from './TemperatureSVG';\nimport { BatterySVG as BaseBatterySVG } from './BatterySVG';\nimport { SignalStrengthSVG as BaseSignalStrengthSVG, StatusIndicator as BaseStatusIndicator } from './SignalStrengthSVG';\nimport { TankLevelSVG as BaseTankLevelSVG, Tank as BaseTank } from './TankLevelSVG';\nimport { AcSVG as BaseAcSVG } from './AcSVG';\nimport { AirSVG as BaseAirSVG } from './AirSVG';\nimport { AirPurifierSVG as BaseAirPurifierSVG } from './AirPurifierSVG';\nimport { AmbulanceSVG as BaseAmbulanceSVG } from './AmbulanceSVG';\nimport { AnalyzerSVG as BaseAnalyzerSVG } from './AnalyzerSVG';\nimport { AqiScaleSVG as BaseAqiScaleSVG } from './AqiScaleSVG';\nimport { AqiSVG as BaseAqiSVG } from './AqiSVG';\nimport { BarrageSVG as BaseBarrageSVG } from './BarrageSVG';\nimport { BreakerSVG as BaseBreakerSVG } from './BreakerSVG';\nimport { DbDoorSVG as BaseDbDoorSVG } from './DbDoorSVG';\nimport { DoorLockSVG as BaseDoorLockSVG } from './DoorLockSVG';\nimport { ConveyorBeltSVG as BaseConveyorBeltSVG } from './ConveyorBeltSVG';\nimport { CoffeeMakerSVG as BaseCoffeeMakerSVG } from './CoffeeMakerSVG';\nimport { CeilingFanSVG as BaseCeilingFanSVG } from './CeilingFanSVG';\nimport { DoorBellSVG as BaseDoorBellSVG } from './DoorBellSVG';\nimport { ElectricKettleSVG as BaseElectricKettleSVG } from './ElectricKettleSVG';\nimport { FireAlarmSVG as BaseFireAlarmSVG } from './FireAlarmSVG';\nimport { GeneratorSVG as BaseGeneratorSVG } from './GeneratorSVG';\nimport { GuageSVG as BaseGuageSVG, Gauge as BaseGauge } from './GuageSVG';\nimport { GustSVG as BaseGustSVG } from './GustSVG';\nimport { HeartMonitorSVG as BaseHeartMonitorSVG } from './HeartMonitorSVG';\nimport { HospitalBedSVG as BaseHospitalBedSVG } from './HospitalBedSVG';\nimport { HospitalBuildingSVG as BaseHospitalBuildingSVG } from './HospitalBuildingSVG';\nimport { HumiditySVG as BaseHumiditySVG } from './HumiditySVG';\nimport { IlluminanceSVG as BaseIlluminanceSVG } from './IlluminanceSVG';\nimport { InverterSVG as BaseInverterSVG } from './InverterSVG';\nimport { IVDripSVG as BaseIVDripSVG } from './IVDripSVG';\nimport { KitchenScaleSVG as BaseKitchenScaleSVG } from './KitchenScaleSVG';\nimport { LegacyBatterySVG as BaseLegacyBatterySVG } from './LegacyBatterySVG';\nimport { LegacySignalSVG as BaseLegacySignalSVG } from './LegacySignalSVG';\nimport { LegacyTankSVG as BaseLegacyTankSVG } from './LegacyTankSVG';\nimport { LegacyTemperatureSVG as BaseLegacyTemperatureSVG } from './LegacyTemperatureSVG';\nimport { LaptopBatterySVG as BaseLaptopBatterySVG } from './LaptopBatterySVG';\nimport { LaundryBasketSVG as BaseLaundryBasketSVG } from './LaundryBasketSVG';\nimport { LightSVG as BaseLightSVG } from './LightSVG';\nimport { LineProgressSVG as BaseLineProgressSVG } from './LineProgressSVG';\nimport { MachineATMSVG as BaseMachineATMSVG } from './MachineATMSVG';\nimport { MedicalCrossSVG as BaseMedicalCrossSVG } from './MedicalCrossSVG';\nimport { MedicineBottleSVG as BaseMedicineBottleSVG } from './MedicineBottleSVG';\nimport { MicrowaveSVG as BaseMicrowaveSVG } from './MicrowaveSVG';\nimport { MotorSVG as BaseMotorSVG, Motor as BaseMotor } from './MotorSVG';\nimport { OvenHeatSVG as BaseOvenHeatSVG } from './OvenHeatSVG';\nimport { PackMachineSVG as BasePackMachineSVG } from './PackMachineSVG';\nimport { ParkingSlotSVG as BaseParkingSlotSVG } from './ParkingSlotSVG';\nimport { PhoneChargingSVG as BasePhoneChargingSVG } from './PhoneChargingSVG';\nimport { PlantWateringSVG as BasePlantWateringSVG } from './PlantWateringSVG';\nimport { PipelineSVG as BasePipelineSVG, PipelineFlow as BasePipelineFlow, PipeI as BasePipeI, PipeL as BasePipeL, PipeT as BasePipeT } from './PipelineSVG';\nimport { PressureSVG as BasePressureSVG } from './PressureSVG';\nimport { RadialProgressSVG as BaseRadialProgressSVG } from './RadialProgressSVG';\nimport { RainSVG as BaseRainSVG } from './RainSVG';\nimport { RefrigeratorSVG as BaseRefrigeratorSVG } from './RefrigeratorSVG';\nimport { RobotArmSVG as BaseRobotArmSVG } from './RobotArmSVG';\nimport { SecurityCameraSVG as BaseSecurityCameraSVG } from './SecurityCameraSVG';\nimport { ServerRackSVG as BaseServerRackSVG } from './ServerRackSVG';\nimport { ShowerFlowSVG as BaseShowerFlowSVG } from './ShowerFlowSVG';\nimport { SmartPlugSVG as BaseSmartPlugSVG } from './SmartPlugSVG';\nimport { SoilTempretureSVG as BaseSoilTempretureSVG } from './SoilTempretureSVG';\nimport { SolarPanelSVG as BaseSolarPanelSVG } from './SolarPanelSVG';\nimport { StethoscopeSVG as BaseStethoscopeSVG } from './StethoscopeSVG';\nimport { ThreePhaseGuageSVG as BaseThreePhaseGuageSVG } from './ThreePhaseGuageSVG';\nimport { ThermostatDialSVG as BaseThermostatDialSVG } from './ThermostatDialSVG';\nimport { ToasterSVG as BaseToasterSVG } from './ToasterSVG';\nimport { SyringeSVG as BaseSyringeSVG } from './SyringeSVG';\nimport { TrafficLightSVG as BaseTrafficLightSVG } from './TrafficLightSVG';\nimport { UvSVG as BaseUvSVG } from './UvSVG';\nimport { ValveSVG as BaseValveSVG } from './ValveSVG';\nimport { VacuumCleanerSVG as BaseVacuumCleanerSVG } from './VacuumCleanerSVG';\nimport { WasteBinSVG as BaseWasteBinSVG } from './WasteBinSVG';\nimport { WaterPumpSVG as BaseWaterPumpSVG } from './WaterPumpSVG';\nimport { WheelchairSVG as BaseWheelchairSVG } from './WheelchairSVG';\nimport { WashingMachineSVG as BaseWashingMachineSVG } from './WashingMachineSVG';\nimport { WifiRouterSVG as BaseWifiRouterSVG } from './WifiRouterSVG';\nimport { WindTurbineDynamicSVG as BaseWindTurbineDynamicSVG } from './WindTurbineDynamicSVG';\nimport { WindDirectionSVG as BaseWindDirectionSVG } from './WindDirectionSVG';\n\nexport { WidgetDetailCard, ProWidgetShell, withWidgetDetails };\n\nexport const TemperatureSVG = withWidgetDetails(BaseTemperatureSVG, 'TemperatureSVG');\nexport const BatterySVG = withWidgetDetails(BaseBatterySVG, 'BatterySVG');\nexport const SignalStrengthSVG = withWidgetDetails(BaseSignalStrengthSVG, 'SignalStrengthSVG');\nexport const StatusIndicator = withWidgetDetails(BaseStatusIndicator, 'StatusIndicator');\nexport const TankLevelSVG = withWidgetDetails(BaseTankLevelSVG, 'TankLevelSVG');\nexport const Tank = withWidgetDetails(BaseTank, 'Tank');\nexport const AcSVG = withWidgetDetails(BaseAcSVG, 'AcSVG');\nexport const AirSVG = withWidgetDetails(BaseAirSVG, 'AirSVG');\nexport const AirPurifierSVG = withWidgetDetails(BaseAirPurifierSVG, 'AirPurifierSVG');\nexport const AmbulanceSVG = withWidgetDetails(BaseAmbulanceSVG, 'AmbulanceSVG');\nexport const AnalyzerSVG = withWidgetDetails(BaseAnalyzerSVG, 'AnalyzerSVG');\nexport const AqiScaleSVG = withWidgetDetails(BaseAqiScaleSVG, 'AqiScaleSVG');\nexport const AqiSVG = withWidgetDetails(BaseAqiSVG, 'AqiSVG');\nexport const BarrageSVG = withWidgetDetails(BaseBarrageSVG, 'BarrageSVG');\nexport const BreakerSVG = withWidgetDetails(BaseBreakerSVG, 'BreakerSVG');\nexport const DbDoorSVG = withWidgetDetails(BaseDbDoorSVG, 'DbDoorSVG');\nexport const DoorLockSVG = withWidgetDetails(BaseDoorLockSVG, 'DoorLockSVG');\nexport const ConveyorBeltSVG = withWidgetDetails(BaseConveyorBeltSVG, 'ConveyorBeltSVG');\nexport const CoffeeMakerSVG = withWidgetDetails(BaseCoffeeMakerSVG, 'CoffeeMakerSVG');\nexport const CeilingFanSVG = withWidgetDetails(BaseCeilingFanSVG, 'CeilingFanSVG');\nexport const DoorBellSVG = withWidgetDetails(BaseDoorBellSVG, 'DoorBellSVG');\nexport const ElectricKettleSVG = withWidgetDetails(BaseElectricKettleSVG, 'ElectricKettleSVG');\nexport const FireAlarmSVG = withWidgetDetails(BaseFireAlarmSVG, 'FireAlarmSVG');\nexport const GeneratorSVG = withWidgetDetails(BaseGeneratorSVG, 'GeneratorSVG');\nexport const GuageSVG = withWidgetDetails(BaseGuageSVG, 'GuageSVG');\nexport const Gauge = withWidgetDetails(BaseGauge, 'Gauge');\nexport const GustSVG = withWidgetDetails(BaseGustSVG, 'GustSVG');\nexport const HeartMonitorSVG = withWidgetDetails(BaseHeartMonitorSVG, 'HeartMonitorSVG');\nexport const HospitalBedSVG = withWidgetDetails(BaseHospitalBedSVG, 'HospitalBedSVG');\nexport const HospitalBuildingSVG = withWidgetDetails(BaseHospitalBuildingSVG, 'HospitalBuildingSVG');\nexport const HumiditySVG = withWidgetDetails(BaseHumiditySVG, 'HumiditySVG');\nexport const IlluminanceSVG = withWidgetDetails(BaseIlluminanceSVG, 'IlluminanceSVG');\nexport const InverterSVG = withWidgetDetails(BaseInverterSVG, 'InverterSVG');\nexport const IVDripSVG = withWidgetDetails(BaseIVDripSVG, 'IVDripSVG');\nexport const KitchenScaleSVG = withWidgetDetails(BaseKitchenScaleSVG, 'KitchenScaleSVG');\nexport const LegacyBatterySVG = withWidgetDetails(BaseLegacyBatterySVG, 'LegacyBatterySVG');\nexport const LegacySignalSVG = withWidgetDetails(BaseLegacySignalSVG, 'LegacySignalSVG');\nexport const LegacyTankSVG = withWidgetDetails(BaseLegacyTankSVG, 'LegacyTankSVG');\nexport const LegacyTemperatureSVG = withWidgetDetails(BaseLegacyTemperatureSVG, 'LegacyTemperatureSVG');\nexport const LaptopBatterySVG = withWidgetDetails(BaseLaptopBatterySVG, 'LaptopBatterySVG');\nexport const LaundryBasketSVG = withWidgetDetails(BaseLaundryBasketSVG, 'LaundryBasketSVG');\nexport const LightSVG = withWidgetDetails(BaseLightSVG, 'LightSVG');\nexport const LineProgressSVG = withWidgetDetails(BaseLineProgressSVG, 'LineProgressSVG');\nexport const MachineATMSVG = withWidgetDetails(BaseMachineATMSVG, 'MachineATMSVG');\nexport const MedicalCrossSVG = withWidgetDetails(BaseMedicalCrossSVG, 'MedicalCrossSVG');\nexport const MedicineBottleSVG = withWidgetDetails(BaseMedicineBottleSVG, 'MedicineBottleSVG');\nexport const MicrowaveSVG = withWidgetDetails(BaseMicrowaveSVG, 'MicrowaveSVG');\nexport const MotorSVG = withWidgetDetails(BaseMotorSVG, 'MotorSVG');\nexport const Motor = withWidgetDetails(BaseMotor, 'Motor');\nexport const OvenHeatSVG = withWidgetDetails(BaseOvenHeatSVG, 'OvenHeatSVG');\nexport const PackMachineSVG = withWidgetDetails(BasePackMachineSVG, 'PackMachineSVG');\nexport const ParkingSlotSVG = withWidgetDetails(BaseParkingSlotSVG, 'ParkingSlotSVG');\nexport const PhoneChargingSVG = withWidgetDetails(BasePhoneChargingSVG, 'PhoneChargingSVG');\nexport const PlantWateringSVG = withWidgetDetails(BasePlantWateringSVG, 'PlantWateringSVG');\nexport const PipelineSVG = withWidgetDetails(BasePipelineSVG, 'PipelineSVG');\nexport const PipelineFlow = withWidgetDetails(BasePipelineFlow, 'PipelineFlow');\nexport const PipeI = withWidgetDetails(BasePipeI, 'PipeI');\nexport const PipeL = withWidgetDetails(BasePipeL, 'PipeL');\nexport const PipeT = withWidgetDetails(BasePipeT, 'PipeT');\nexport const PressureSVG = withWidgetDetails(BasePressureSVG, 'PressureSVG');\nexport const RadialProgressSVG = withWidgetDetails(BaseRadialProgressSVG, 'RadialProgressSVG');\nexport const RainSVG = withWidgetDetails(BaseRainSVG, 'RainSVG');\nexport const RefrigeratorSVG = withWidgetDetails(BaseRefrigeratorSVG, 'RefrigeratorSVG');\nexport const RobotArmSVG = withWidgetDetails(BaseRobotArmSVG, 'RobotArmSVG');\nexport const SecurityCameraSVG = withWidgetDetails(BaseSecurityCameraSVG, 'SecurityCameraSVG');\nexport const ServerRackSVG = withWidgetDetails(BaseServerRackSVG, 'ServerRackSVG');\nexport const ShowerFlowSVG = withWidgetDetails(BaseShowerFlowSVG, 'ShowerFlowSVG');\nexport const SmartPlugSVG = withWidgetDetails(BaseSmartPlugSVG, 'SmartPlugSVG');\nexport const SoilTempretureSVG = withWidgetDetails(BaseSoilTempretureSVG, 'SoilTempretureSVG');\nexport const SolarPanelSVG = withWidgetDetails(BaseSolarPanelSVG, 'SolarPanelSVG');\nexport const StethoscopeSVG = withWidgetDetails(BaseStethoscopeSVG, 'StethoscopeSVG');\nexport const ThreePhaseGuageSVG = withWidgetDetails(BaseThreePhaseGuageSVG, 'ThreePhaseGuageSVG');\nexport const ThermostatDialSVG = withWidgetDetails(BaseThermostatDialSVG, 'ThermostatDialSVG');\nexport const ToasterSVG = withWidgetDetails(BaseToasterSVG, 'ToasterSVG');\nexport const SyringeSVG = withWidgetDetails(BaseSyringeSVG, 'SyringeSVG');\nexport const TrafficLightSVG = withWidgetDetails(BaseTrafficLightSVG, 'TrafficLightSVG');\nexport const UvSVG = withWidgetDetails(BaseUvSVG, 'UvSVG');\nexport const ValveSVG = withWidgetDetails(BaseValveSVG, 'ValveSVG');\nexport const VacuumCleanerSVG = withWidgetDetails(BaseVacuumCleanerSVG, 'VacuumCleanerSVG');\nexport const WasteBinSVG = withWidgetDetails(BaseWasteBinSVG, 'WasteBinSVG');\nexport const WaterPumpSVG = withWidgetDetails(BaseWaterPumpSVG, 'WaterPumpSVG');\nexport const WheelchairSVG = withWidgetDetails(BaseWheelchairSVG, 'WheelchairSVG');\nexport const WashingMachineSVG = withWidgetDetails(BaseWashingMachineSVG, 'WashingMachineSVG');\nexport const WifiRouterSVG = withWidgetDetails(BaseWifiRouterSVG, 'WifiRouterSVG');\nexport const WindTurbineDynamicSVG = withWidgetDetails(BaseWindTurbineDynamicSVG, 'WindTurbineDynamicSVG');\nexport const WindDirectionSVG = withWidgetDetails(BaseWindDirectionSVG, 'WindDirectionSVG');\n\n\r\n\r\n\r\n\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport './curtain.scss'\r\nimport { LatestEventHandler, getLegacyDisplayValue } from '../../shared/legacyVisualUtils';import { hexToHsl, hslToHex, sentEvent  } from '../../shared/legacyVisualUtils';const Curtain = ({ width = '100%', height = '100%', className, style, ...props } = {}) => {\r\n    const colorRange = useRef([\r\n        \"#3C1E00\",\r\n        \"#7A3D00\",\r\n        \"#EEDDCC\",\r\n        \"#D9B38D\",\r\n        \"#c9935d\",\r\n        \"#7A3D00\",\r\n        \"#663300\",\r\n        \"#996633\",\r\n    ])\r\n    const [liveValue, setLiveValue] = useState(null)\r\n    let value = getLegacyDisplayValue({ props, liveValue })\r\n    const [backColor, setBackColor] = useState(\"#cde7fe\")\r\n    const [secondaryColor, setSecondaryColor] = useState(\"#025197\")\r\n    const [config, setConfig] = useState({\r\n        cssColor: \"#1791fc\",\r\n    })\r\n    console.log(backColor, secondaryColor)\r\n\r\n    useEffect(() => {\r\n        if (props?.config) {\r\n            let config1 = { ...config }\r\n            if (\"color\" in props.config && props.config?.color) {\r\n                if (props.config.color.match(\"#\")) {\r\n                    config1.cssColor = props.config.color;\r\n                    let hsl = hexToHsl(config1.cssColor)\r\n                    let back = \"#000000\"\r\n                    if (hsl) {\r\n                        colorRange.current[0] = hslToHex(hsl.h, hsl.s, 12);\r\n                        colorRange.current[1] = hslToHex(hsl.h, hsl.s, 24);\r\n                        colorRange.current[2] = hslToHex(hsl.h, hsl.s, 87);\r\n                        colorRange.current[3] = hslToHex(hsl.h, hsl.s, 70);\r\n                        colorRange.current[4] = hslToHex(hsl.h, hsl.s, 58);\r\n                        colorRange.current[5] = hslToHex(hsl.h, hsl.s, 24);\r\n                        colorRange.current[6] = hslToHex(hsl.h, hsl.s, 20);\r\n                        colorRange.current[7] = hslToHex(hsl.h, hsl.s, 40);\r\n                    }\r\n                    setSecondaryColor(hsl)\r\n                    setBackColor(back)\r\n                }\r\n            }\r\n            setConfig(config1)\r\n        }\r\n    }, [props.config])\r\n\r\n    const onChangeHandler = (e) => {\r\n        if (props?.config?.deviceId) {\r\n            const newData = e.target.value\r\n            if (newData) {\r\n                setLiveValue(newData)\r\n            }\r\n        } else {\r\n            setLiveValue(null)\r\n        }\r\n    }\r\n    if (props.value === undefined && props?.config?.value === undefined && props?.config?.defaultValue === undefined && liveValue && props?.config?.param in liveValue) {\r\n        if (liveValue[props.config.param] !== null) {\r\n            value = liveValue[props.config.param]\r\n        } else {\r\n            value = 0\r\n        }\r\n    }\r\n    return (\r\n        <svg preserveAspectRatio=\"xMidYMid meet\" height={height} width={width} xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlSpace=\"preserve\" version=\"1.1\"\r\n            style={{ ...style, \r\n                shapeRendering: \"geometricPrecision\",\r\n                textRendering: \"geometricPrecision\",\r\n                imageRendering: \"optimizeQuality\",\r\n                fillRule: \"evenodd\",\r\n                clipRule: \"evenodd\",\r\n                width: \"100%\",\r\n                height: \"100%\",\r\n                cursor: props?.config?.isControllable && \"pointer\"\r\n            }}\r\n            onClick={() => props?.config?.isControllable && sentEvent(liveValue, props?.config?.param)}\r\n            className={[className, props?.config?.isControllable ? \"controllable\" : \"\"].filter(Boolean).join(\" \")}\r\n            viewBox=\"0 0 81.46 81.46\">\r\n\r\n            <LatestEventHandler\r\n                deviceId={props?.config?.param ? props?.config?.deviceId : ''}\r\n                onChange={onChangeHandler}\r\n            />\r\n            <defs>\r\n                <clipPath id=\"hCurtain_id0\">\r\n                    <path d=\"M41.83 24.98l25.01 0 0 39.53 -25.01 0 0 -39.53z\" />\r\n                </clipPath>\r\n                <clipPath id=\"hCurtain_id1\">\r\n                    <path d=\"M14.09 24.98l25.01 0 0 39.53 -25.01 0 0 -39.53z\" />\r\n                </clipPath>\r\n            </defs>\r\n            <g >\r\n                <g style={{ transform: \"translateX(-1%)\" }}>\r\n                    <path fill={colorRange.current[0]} d=\"M12.38 21.31l56.83 0c0.04,0 0.07,0.03 0.07,0.07 0,3.96 0.02,45.94 -0.01,45.99l-56.89 -0.11 0 -45.95zm0.42 2.21l55.11 0 0 43.32 -55.11 0 0 -43.32z\" />\r\n                    <rect fill={colorRange.current[1]} x=\"40.46\" y=\"22.54\" width=\"27.75\" height=\"44.42\" />\r\n                    <rect fill={colorRange.current[1]} x=\"12.73\" y=\"22.54\" width=\"27.75\" height=\"44.42\" />\r\n                    <polygon fill={colorRange.current[2]} points=\"41.83,24.98 66.84,24.98 66.84,64.51 41.83,64.51 \" />\r\n                    <g style={{ clipPath: \"url(#hCurtain_id0)\" }}>\r\n                        <g>\r\n                            <path className=\"hCurtain4\" d=\"M78.64 45.58c-0.27,0.24 -2.85,-2.17 -3.13,-1.93 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.85,-2.17 -3.12,-1.93 -0.27,0.24 1.76,3.13 1.48,3.37 -0.28,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -5.09,-5.82 -10.18,-11.64 -15.26,-17.46 0.27,-0.24 2.85,2.17 3.13,1.93 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.28,-0.24 2.87,2.16 3.14,1.92 0.27,-0.24 -1.77,-3.11 -1.5,-3.35 0.27,-0.24 2.86,2.16 3.13,1.92 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.27,-0.24 2.86,2.16 3.13,1.93 0.27,-0.24 -1.77,-3.12 -1.49,-3.36 5.09,5.82 10.18,11.64 15.26,17.46zm-25.66 9.16c-0.27,0.24 -2.85,-2.17 -3.13,-1.93 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.85,-2.17 -3.12,-1.93 -0.27,0.24 1.76,3.13 1.48,3.37 -0.28,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -5.09,-5.82 -10.18,-11.64 -15.26,-17.46 0.27,-0.24 2.85,2.17 3.13,1.93 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.28,-0.24 2.87,2.16 3.14,1.92 0.27,-0.24 -1.77,-3.11 -1.5,-3.35 0.27,-0.24 2.86,2.16 3.13,1.92 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.27,-0.24 2.86,2.16 3.13,1.93 0.27,-0.24 -1.77,-3.12 -1.49,-3.36 5.09,5.82 10.18,11.64 15.26,17.46z\" />\r\n                        </g>\r\n                    </g>\r\n                    <polygon className=\"hCurtain0\" points=\"41.83,24.98 66.84,24.98 66.84,64.51 41.83,64.51 \" />\r\n                    <polygon fill={colorRange.current[2]} points=\"14.09,24.98 39.11,24.98 39.11,64.51 14.09,64.51 \" />\r\n                    <g style={{ clipPath: \"url(#hCurtain_id1)\" }}>\r\n                        <g>\r\n                            <path className=\"hCurtain4\" d=\"M49.99 42.92c-0.27,0.24 -2.85,-2.17 -3.13,-1.93 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.85,-2.17 -3.12,-1.93 -0.27,0.24 1.76,3.13 1.48,3.37 -0.28,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -5.09,-5.82 -10.18,-11.64 -15.26,-17.46 0.27,-0.24 2.85,2.17 3.13,1.93 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.28,-0.24 2.87,2.16 3.14,1.92 0.27,-0.24 -1.77,-3.11 -1.5,-3.35 0.27,-0.24 2.86,2.16 3.13,1.92 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.27,-0.24 2.86,2.16 3.13,1.93 0.27,-0.24 -1.77,-3.12 -1.49,-3.36 5.09,5.82 10.18,11.64 15.26,17.46zm-25.66 9.16c-0.27,0.24 -2.85,-2.17 -3.13,-1.93 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -0.27,0.24 -2.85,-2.17 -3.12,-1.93 -0.27,0.24 1.76,3.13 1.48,3.37 -0.28,0.24 -2.86,-2.16 -3.13,-1.92 -0.27,0.24 1.76,3.12 1.49,3.36 -5.09,-5.82 -10.18,-11.64 -15.26,-17.46 0.27,-0.24 2.85,2.17 3.13,1.93 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.28,-0.24 2.87,2.16 3.14,1.92 0.27,-0.24 -1.77,-3.11 -1.5,-3.35 0.27,-0.24 2.86,2.16 3.13,1.92 0.27,-0.24 -1.76,-3.12 -1.49,-3.36 0.27,-0.24 2.86,2.16 3.13,1.93 0.27,-0.24 -1.77,-3.12 -1.49,-3.36 5.09,5.82 10.18,11.64 15.26,17.46z\" />\r\n                        </g>\r\n                    </g>\r\n                    <polygon className=\"hCurtain0\" points=\"14.09,24.98 39.11,24.98 39.11,64.51 14.09,64.51 \" />\r\n                </g>\r\n                <g className={\"hCurtain_left\" + (value ? \" active\" : \"\")}>\r\n                    <path fill={colorRange.current[3]} d=\"M3.56 9.52l36.57 0c0,14.24 0,52.97 0,67.21 -1.51,0 -3.03,-1.49 -4.54,-1.49 -1.52,0 -3.03,1.49 -4.56,1.49 -1.52,0 -3.06,-1.49 -4.59,-1.49 -1.53,0 -3.07,1.49 -4.59,1.49 -1.52,0 -3,-1.49 -4.53,-1.49 -1.52,0 -3.08,1.49 -4.62,1.49 -1.53,0 -3.06,-1.49 -4.59,-1.49 -1.52,0 -3.04,1.49 -4.56,1.49l0 -67.21z\" />\r\n                    <path fill={colorRange.current[4]} d=\"M11.12 76.32c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38zm27.42 0c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38zm-9.14 0c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38zm-9.14 0c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38z\" />\r\n                </g>\r\n                <g className={\"hCurtain_right\" + (value ? \" active\" : \"\")}>\r\n                    <path fill={colorRange.current[3]} d=\"M40.13 9.52l36.67 0c0,14.24 0,52.97 0,67.21 -1.52,0 -3.04,-1.49 -4.56,-1.49 -1.52,0 -3.04,1.49 -4.57,1.49 -1.53,0 -3.07,-1.49 -4.6,-1.49 -1.53,0 -3.08,1.49 -4.6,1.49 -1.52,0 -3.01,-1.49 -4.54,-1.49 -1.53,0 -3.09,1.49 -4.63,1.49 -1.54,0 -3.07,-1.49 -4.6,-1.49 -1.53,0 -3.05,1.49 -4.57,1.49l0 -67.21z\" />\r\n                    <path fill={colorRange.current[4]} d=\"M47.68 76.32c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38zm27.42 0c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38zm-9.14 0c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38zm-9.14 0c-1,-0.44 -2,-1.08 -3,-1.08 -1,0 -1.99,0.64 -2.98,1.08 0.96,-4.23 1.63,-28.39 2.91,-28.38 1.28,0.01 2.06,24.12 3.08,28.38z\" />\r\n                </g>\r\n                <polygon fill={colorRange.current[5]} points=\"2.82,4.27 0.12,7.79 0.12,15.4 3.34,12.06 \" />\r\n                <polygon fill={colorRange.current[0]} points=\"76.94,15.4 79.3,12.92 76.94,12.61 \" />\r\n                <path fill={colorRange.current[6]} d=\"M3.59 13.02l75.16 0.01 -1.81 2.36 1.69 0c0.91,-1.18 1.81,-2.35 2.74,-3.52l-1.12 -0.21 -74.59 -0.24 -2.81 0.45c-0.91,1.17 -1.81,2.34 -2.71,3.52l1.69 0 1.78 -2.37z\" />\r\n                <rect fill={colorRange.current[7]} x=\"2.82\" y=\"4.27\" width=\"78.54\" height=\"7.61\" />\r\n            </g>\r\n        </svg>\r\n    )\r\n}\r\n\r\nexport default Curtain\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { TemperatureSVG } from '../../free/TemperatureSVG';\r\nimport { WidgetDetailCard } from '../../shared/WidgetDetailCard';\r\nimport { cx } from '../../../utils/classNames';\r\nimport styles from './PremiumTemperatureSVG.module.css';\r\n\r\nexport function PremiumTemperatureSVG({ className, details, detail, pro, label, title, subtitle, cardClassName, cardStyle, visualClassName, visualStyle, ...temperatureProps }) {\r\n  const detailConfig = details ?? detail ?? pro;\r\n\r\n  const visual = (\r\n    <div className={cx(styles.root, detailConfig ? visualClassName : className)} style={detailConfig ? visualStyle : undefined}>\r\n      <div className={styles.preview}>\r\n        <TemperatureSVG {...temperatureProps} />\r\n        <span className={styles.badge}>Pro</span>\r\n      </div>\r\n    </div>\r\n  );\r\n\r\n  if (!detailConfig) return visual;\r\n\r\n  return (\r\n    <WidgetDetailCard\r\n      widgetName=\"PremiumTemperatureSVG\"\r\n      value={temperatureProps.value}\r\n      accentColor={temperatureProps.accentColor}\r\n      status={temperatureProps.status}\r\n      config={temperatureProps.config}\r\n      details={{\r\n        ...(detailConfig === true ? {} : detailConfig),\r\n        label: label || title || detailConfig.label || detailConfig.title || 'Pro Temperature',\r\n        subtitle: subtitle || detailConfig.subtitle || 'Pro telemetry widget',\r\n        badge: detailConfig.badge || 'Pro',\r\n      }}\r\n      widgetProps={temperatureProps}\r\n      className={cardClassName || className}\r\n      style={cardStyle}\r\n    >\r\n      {visual}\r\n    </WidgetDetailCard>\r\n  );\r\n}\r\n\r\n\r\n","import { LICENSE_PLANS, withPremiumLicense } from '../../licensing';\r\n\r\nconst widgetModules = import.meta.glob('./*/index.js', { eager: true });\r\n\r\nfunction getWidgetName(modulePath) {\r\n  return modulePath.replace(/^\\.\\//, '').replace(/\\/index\\.js$/, '');\r\n}\r\n\r\nfunction getWidgetComponent(widgetName, module) {\r\n  const Component = module[widgetName] || module.default;\r\n\r\n  if (!Component) {\r\n    throw new Error('Missing Pro widget export for ' + widgetName + '.');\r\n  }\r\n\r\n  return Component;\r\n}\r\n\r\nfunction createProWidget(widgetName, module) {\r\n  return withPremiumLicense(getWidgetComponent(widgetName, module), widgetName, {\r\n    requiredPlan: LICENSE_PLANS.pro,\r\n  });\r\n}\r\n\r\nfunction createProWidgets(modules) {\r\n  return Object.fromEntries(\r\n    Object.entries(modules).map(([modulePath, module]) => {\r\n      const widgetName = getWidgetName(modulePath);\r\n      return [widgetName, createProWidget(widgetName, module)];\r\n    })\r\n  );\r\n}\r\n\r\nexport const proPlanConfig = {\r\n  plan: LICENSE_PLANS.pro,\r\n  requiredPlan: LICENSE_PLANS.pro,\r\n  widgets: Object.keys(widgetModules).map(getWidgetName).sort(),\r\n};\r\n\r\nexport const proPlanWidgets = createProWidgets(widgetModules);\r\n\r\nexport const PremiumTemperatureSVG = proPlanWidgets.PremiumTemperatureSVG;\r\nexport const CurtainSVG = proPlanWidgets.CurtainSVG;\r\n\r\n","import React from 'react';\nimport { PremiumLicenseGate } from '../licensing';\n\nfunction mergeStyles(defaultStyle, style) {\n  return style ? { ...defaultStyle, ...style } : defaultStyle;\n}\n\nfunction createPremiumNative(widgetName, tagName, defaults = {}) {\n  const PremiumComponent = ({ children, className, style, premiumFallback, ...props } = {}) => (\n    <PremiumLicenseGate widgetName={widgetName} fallback={premiumFallback} className={className} style={style}>\n      {React.createElement(\n        tagName,\n        {\n          ...defaults.props,\n          ...props,\n          className,\n          style: mergeStyles(defaults.style, style),\n          'data-premium-widget': widgetName,\n        },\n        children ?? defaults.children ?? null\n      )}\n    </PremiumLicenseGate>\n  );\n\n  PremiumComponent.displayName = widgetName;\n  return PremiumComponent;\n}\n\nfunction createPremiumWidget(widgetName, defaults = {}) {\n  return createPremiumNative(widgetName, 'div', {\n    ...defaults,\n    props: {\n      role: 'group',\n      'aria-label': widgetName,\n      ...defaults.props,\n    },\n  });\n}\n\nconst controlStyle = {\n  boxSizing: 'border-box',\n  borderRadius: 8,\n};\n\nconst panelStyle = {\n  boxSizing: 'border-box',\n  borderRadius: 8,\n};\n\nexport const Button = createPremiumNative('Button', 'button', { style: controlStyle });\nexport const Input = createPremiumNative('Input', 'input', { style: controlStyle });\nexport const Textarea = createPremiumNative('Textarea', 'textarea', { style: controlStyle });\nexport const Select = createPremiumNative('Select', 'select', { style: controlStyle });\nexport const Checkbox = createPremiumNative('Checkbox', 'input', { props: { type: 'checkbox' } });\nexport const Radio = createPremiumNative('Radio', 'input', { props: { type: 'radio' } });\nexport const Switch = createPremiumNative('Switch', 'button', { props: { role: 'switch', type: 'button' }, style: controlStyle });\nexport const Slider = createPremiumNative('Slider', 'input', { props: { type: 'range' } });\nexport const Rating = createPremiumWidget('Rating', { style: panelStyle });\nexport const Avatar = createPremiumWidget('Avatar', { style: panelStyle });\nexport const Badge = createPremiumNative('Badge', 'span');\nexport const Chip = createPremiumNative('Chip', 'span');\nexport const Alert = createPremiumWidget('Alert', { props: { role: 'alert' }, style: panelStyle });\nexport const Toast = createPremiumWidget('Toast', { props: { role: 'status' }, style: panelStyle });\nexport const Dialog = createPremiumWidget('Dialog', { props: { role: 'dialog' }, style: panelStyle });\nexport const Drawer = createPremiumWidget('Drawer', { style: panelStyle });\nexport const Popover = createPremiumWidget('Popover', { style: panelStyle });\nexport const Tooltip = createPremiumWidget('Tooltip', { props: { role: 'tooltip' } });\nexport const Dropdown = createPremiumWidget('Dropdown', { style: panelStyle });\nexport const Tabs = createPremiumWidget('Tabs', { props: { role: 'tablist' }, style: panelStyle });\nexport const Accordion = createPremiumWidget('Accordion', { style: panelStyle });\nexport const Card = createPremiumWidget('Card', { style: panelStyle });\nexport const Table = createPremiumNative('Table', 'table');\nexport const DataGrid = createPremiumWidget('DataGrid', { props: { role: 'grid' }, style: panelStyle });\nexport const Calendar = createPremiumWidget('Calendar', { style: panelStyle });\nexport const DatePicker = createPremiumNative('DatePicker', 'input', { props: { type: 'date' }, style: controlStyle });\nexport const TimePicker = createPremiumNative('TimePicker', 'input', { props: { type: 'time' }, style: controlStyle });\nexport const Chart = createPremiumWidget('Chart', { style: panelStyle });\nexport const Progress = createPremiumNative('Progress', 'progress');\nexport const Map = createPremiumWidget('Map', { style: panelStyle });\nexport const Image = createPremiumNative('Image', 'img');\nexport const Video = createPremiumNative('Video', 'video');\nexport const Carousel = createPremiumWidget('Carousel', { style: panelStyle });\nexport const Timeline = createPremiumWidget('Timeline', { style: panelStyle });\nexport const TreeView = createPremiumWidget('TreeView', { props: { role: 'tree' }, style: panelStyle });\nexport const Kanban = createPremiumWidget('Kanban', { style: panelStyle });\nexport const Dashboard = createPremiumWidget('Dashboard', { style: panelStyle });\nexport const StatCard = createPremiumWidget('StatCard', { style: panelStyle });\nexport const MetricCard = createPremiumWidget('MetricCard', { style: panelStyle });\nexport const ConnectionStatus = createPremiumWidget('ConnectionStatus', { props: { role: 'status' }, style: panelStyle });\nexport const SignalIndicator = createPremiumWidget('SignalIndicator', { props: { role: 'status' }, style: panelStyle });\nexport const BatteryIndicator = createPremiumWidget('BatteryIndicator', { props: { role: 'status' }, style: panelStyle });\nexport const TemperatureIndicator = createPremiumWidget('TemperatureIndicator', { props: { role: 'status' }, style: panelStyle });\nexport const HumidityIndicator = createPremiumWidget('HumidityIndicator', { props: { role: 'status' }, style: panelStyle });\r\n"],"names":["STATUS_COLORS","firstFinite","values","value","numericValue","getTelemetryStatusColor","status","fallback","getTelemetryAccentColor","accentColor","getTelemetrySvgProps","className","style","theme","variant","fallbackAccentColor","resolvedAccentColor","LICENSE_PLANS","LICENSE_VALIDATE_URL","PREMIUM_WIDGET_NAMES","PREMIUM_WIDGET_SET","ALL_WIDGETS_REQUIRE_PREMIUM_LICENSE","INVALID_LICENSE_RESULT","PENDING_LICENSE_RESULT","LicenseContext","createContext","useLicense","useContext","readValidFlag","payload","explicitValid","_a","_b","_c","_d","_e","normalizePlan","plan","readPlan","_g","_f","readOrg","validateLicense","key","options","validateUrl","response","error","message","isNetworkOrCorsError","LicenseProvider","licenseKey","children","result","setResult","useState","useEffect","isCurrent","nextResult","license","useMemo","LICENSE_WATERMARK_CONFIG","watermarkHostStyle","loaderStyle","loaderContentStyle","spinnerStyle","loaderKeyframes","createLicensePromptId","randomValue","getWatermarkPosition","position","rotate","getWatermarkConfig","requiredPlan","planKey","getScopedWatermarkCss","promptId","config","positionCss","LicenseValidationLoader","React","isPremiumWidget","widgetName","hasRequiredLicense","getRequirementText","isLoading","LicenseWatermark","content","commonProps","PremiumLicenseFallback","PremiumLicenseGate","withPremiumLicense","Component","PremiumLicensedWidget","props","DEFAULT_STATUS_LABELS","joinClasses","classes","DEFAULT_WIDGET_ONLY_HEIGHT","toCssSize","getWidgetFrameStyle","width","height","fallbackHeight","normalizeDetails","details","firstOptionalFinite","nextValue","toTitleCase","formatField","field","index","normalizeFieldCollection","fields","label","getDefaultMetrics","configuredMetrics","metrics","unit","primaryValue","statusValue","formatValue","valueFormatter","formatLastUpdate","normalizeComparableText","getComparableValue","isDuplicateSummaryProgress","item","summaryMetric","itemLabel","summaryLabel","itemValue","summaryValue","getWidgetImportantMetric","getToneColor","tone","normalized","getProgressValue","buildTokens","resolvedAccent","dark","customTokens","getLayoutStyles","layout","compact","isDetailCardLayout","renderMetric","context","tokens","styles","detailCard","detailSplit","toneColor","renderProgress","color","renderSection","section","rows","fieldIndex","WidgetDetailCard","widgetProps","widgetLabel","subtitle","density","showVisual","layoutStyles","showSummary","summaryKey","detailMetrics","metric","maxVisibleMetrics","visibleMetrics","progressItems","progress","sections","lastUpdate","footerText","visual","badge","nextBadge","ProWidgetShell","withWidgetDetails","DetailedWidget","detail","pro","title","lastUpdated","showCard","showDetails","cardMode","showWidgetValue","widgetValueLabel","widgetValueClassName","widgetValueStyle","cardClassName","cardStyle","visualClassName","visualStyle","normalizedDetails","explicitMode","shouldShowCard","nextDetails","visualFrameStyle","importantMetric","showWidgetValueBadge","cx","SvgWrapper","viewBox","description","role","preserveAspectRatio","svgProps","generatedId","useId","baseId","titleId","descriptionId","labelledBy","SVG_NAMESPACE","DEFAULT_THRESHOLDS","normalizeThresholds","thresholds","getStatus","mode","getStatusColor","colors","getStatusLabel","toFiniteNumber","numberValue","withDefaultUnit","TEMPERATURE_VIEWBOX","DEFAULT_TEMPERATURE_PROPS","TEMPERATURE_GEOMETRY","clamp","min","max","getPercentage","polarToCartesian","centerX","centerY","radius","angleInDegrees","angleInRadians","describeArc","startAngle","endAngle","start","end","largeArcFlag","getTemperatureFillHeight","tubeHeight","getTemperatureFillY","tubeY","TemperatureSVG","showValue","animated","clipId","fillGradientId","shellGradientId","shadowId","fillHeight","fillY","statusColor","statusLabel","displayUnit","BATTERY_VIEWBOX","DEFAULT_BATTERY_PROPS","BATTERY_GEOMETRY","getBatteryFillWidth","availableWidth","getBatterySegments","segmentCount","innerWidth","gap","segmentWidth","_","BatterySVG","showPercentage","fillClipId","terminalGradientId","fillWidth","segments","segment","SIGNAL_VIEWBOX","DEFAULT_SIGNAL_PROPS","SIGNAL_BARS","getActiveSignalBars","strength","barCount","percentage","SignalStrengthSVG","signal","showIcon","numericStrength","activeBars","telemetrySvgProps","bar","isActive","DEFAULT_TRANSITION","getTransition","properties","duration","property","TANK_VIEWBOX","DEFAULT_TANK_PROPS","getTankFillHeight","capacity","tankHeight","TankLevelSVG","level","getLegacyDisplayValue","liveValue","keys","candidates","candidate","LatestEventHandler","deviceId","hubId","onChange","enabled","demo","emit","seconds","binaryVisuals","normalizedDeviceId","isBinaryVisual","name","binaryValue","alternateValue","intervalId","sentEvent","idGenerator","hexToHsl","hex","r","g","b","h","s","l","d","hslToHex","hue","saturation","lightness","hueToRgb","p","q","t","next","channel","getAQISetting","colorPalette","Ac","setLiveValue","onChangeHandler","e","newData","Air","clampValue","getLevelColor","progressBar","y","applianceBox","x","renderDailyLifeScene","type","spinDuration","glow","angle","createDailyLifeDynamicSVG","DailyLifeDynamicSVG","AirPurifierSVG","AmbulanceSVG","Analyzer","AQI_TICKS","DEFAULT_GRADIENT","getLiveValue","data","param","AqiScaleSVG","rawValue","aqiValue","setting","gradient","handleChange","useCallback","event","tick","left","uniqueId","AQI","deg","state","setState","state1","aqiset","Barrage","per","_h","_i","_j","Breaker","DbDoor","DoorLock","ConveyorBeltSVG","CoffeeMakerSVG","readTelemetryValue","clampPercent","CeilingFanSVG","speed","bladeDuration","airflowOpacity","isNight","bladeGradientId","glowId","DoorBellSVG","ElectricKettleSVG","FireAlarmSVG","scale","Generator","Guage","pressure","temperature","gaugeValue","normalizedConfig","conicColor","Gust","HeartMonitorSVG","HospitalBedSVG","HospitalBuildingSVG","Humidity","Illuminance","InverterImg","Inverter","IVDripSVG","KitchenScaleSVG","Battery","Signal","setConfig","config1","Tank","backColor","setBackColor","secondaryColor","setSecondaryColor","hsl","back","Temperature","LaptopBatterySVG","LaundryBasketSVG","Light","LinearProgress","night","setNight","MachineATM","MedicalCrossSVG","MedicineBottleSVG","MicrowaveSVG","Motor","rpm","motorValue","isRunning","OvenHeatSVG","PackMachine","rootRef","useRef","configuredValue","sku","play","root","box","ParkingSlotSVG","occupied","PhoneChargingSVG","PlantWateringSVG","clampStep","step","getThickness","darkenColor","rotatePoint","pointsToPath","points","point","PipeBody","shape","rotateStep","thickness","joinColor","paths","path","getPipelineColor","PipelineBase","flowRate","rest","styleRotateStep","styleThickness","svgStyle","PipeI","PipeL","PipeT","PipelineSVG","Pressure","normalizePercent","numericMin","numericMax","RadialProgressSVG","percent","displayValue","trackColor","textColor","subtitleColor","ringStyle","Rain","RefrigeratorSVG","RobotArmSVG","shoulder","elbow","SecurityCameraSVG","ServerRackSVG","row","ShowerFlowSVG","SmartPlugSVG","SoilTempreture","SolarPanelSVG","StethoscopeSVG","ThreePhaseGuage","explicitValues","hasExplicitValues","linearColor","configKeys","deviceEvent","_k","_l","_m","_n","_o","ThermostatDialSVG","ToasterSVG","SyringeSVG","TrafficLightSVG","active","UV","Valve","VacuumCleanerSVG","WasteBin","WaterPumpSVG","WheelchairSVG","WashingMachineSVG","WifiRouterSVG","WindTurbineDynamicSVG","WindDirection","BaseTemperatureSVG","BaseBatterySVG","BaseSignalStrengthSVG","StatusIndicator","BaseStatusIndicator","BaseTankLevelSVG","BaseTank","AcSVG","BaseAcSVG","AirSVG","BaseAirSVG","BaseAirPurifierSVG","BaseAmbulanceSVG","AnalyzerSVG","BaseAnalyzerSVG","BaseAqiScaleSVG","AqiSVG","BaseAqiSVG","BarrageSVG","BaseBarrageSVG","BreakerSVG","BaseBreakerSVG","DbDoorSVG","BaseDbDoorSVG","DoorLockSVG","BaseDoorLockSVG","BaseConveyorBeltSVG","BaseCoffeeMakerSVG","BaseCeilingFanSVG","BaseDoorBellSVG","BaseElectricKettleSVG","BaseFireAlarmSVG","GeneratorSVG","BaseGeneratorSVG","GuageSVG","BaseGuageSVG","Gauge","BaseGauge","GustSVG","BaseGustSVG","BaseHeartMonitorSVG","BaseHospitalBedSVG","BaseHospitalBuildingSVG","HumiditySVG","BaseHumiditySVG","IlluminanceSVG","BaseIlluminanceSVG","InverterSVG","BaseInverterSVG","BaseIVDripSVG","BaseKitchenScaleSVG","LegacyBatterySVG","BaseLegacyBatterySVG","LegacySignalSVG","BaseLegacySignalSVG","LegacyTankSVG","BaseLegacyTankSVG","LegacyTemperatureSVG","BaseLegacyTemperatureSVG","BaseLaptopBatterySVG","BaseLaundryBasketSVG","LightSVG","BaseLightSVG","LineProgressSVG","BaseLineProgressSVG","MachineATMSVG","BaseMachineATMSVG","BaseMedicalCrossSVG","BaseMedicineBottleSVG","BaseMicrowaveSVG","MotorSVG","BaseMotorSVG","BaseMotor","BaseOvenHeatSVG","PackMachineSVG","BasePackMachineSVG","BaseParkingSlotSVG","BasePhoneChargingSVG","BasePlantWateringSVG","BasePipelineSVG","PipelineFlow","BasePipelineFlow","BasePipeI","BasePipeL","BasePipeT","PressureSVG","BasePressureSVG","BaseRadialProgressSVG","RainSVG","BaseRainSVG","BaseRefrigeratorSVG","BaseRobotArmSVG","BaseSecurityCameraSVG","BaseServerRackSVG","BaseShowerFlowSVG","BaseSmartPlugSVG","SoilTempretureSVG","BaseSoilTempretureSVG","BaseSolarPanelSVG","BaseStethoscopeSVG","ThreePhaseGuageSVG","BaseThreePhaseGuageSVG","BaseThermostatDialSVG","BaseToasterSVG","BaseSyringeSVG","BaseTrafficLightSVG","UvSVG","BaseUvSVG","ValveSVG","BaseValveSVG","BaseVacuumCleanerSVG","WasteBinSVG","BaseWasteBinSVG","BaseWaterPumpSVG","BaseWheelchairSVG","BaseWashingMachineSVG","BaseWifiRouterSVG","BaseWindTurbineDynamicSVG","WindDirectionSVG","BaseWindDirectionSVG","Curtain","colorRange","PremiumTemperatureSVG","temperatureProps","detailConfig","widgetModules","getWidgetName","modulePath","getWidgetComponent","module","createProWidget","createProWidgets","modules","proPlanConfig","proPlanWidgets","CurtainSVG","mergeStyles","defaultStyle","createPremiumNative","tagName","defaults","PremiumComponent","premiumFallback","createPremiumWidget","controlStyle","panelStyle","Button","Input","Textarea","Select","Checkbox","Radio","Switch","Slider","Rating","Avatar","Badge","Chip","Alert","Toast","Dialog","Drawer","Popover","Tooltip","Dropdown","Tabs","Accordion","Card","Table","DataGrid","Calendar","DatePicker","TimePicker","Chart","Progress","Map","Image","Video","Carousel","Timeline","TreeView","Kanban","Dashboard","StatCard","MetricCard","ConnectionStatus","SignalIndicator","BatteryIndicator","TemperatureIndicator","HumidityIndicator"],"mappings":"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"}