import React, { ForwardedRef, useContext } from 'react';
import { OriginIconProps } from '../type';
import { Context } from '../context';

function IconAutomaticOptimizationComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = true, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-automatic-optimization${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 16 16" {...rest} ref={ref}><path d="M.728 12.205c1.26-.212 2.199-1.5 2.303-2.313.326 1.354 1.045 1.686 2.29 2.313-1.978.88-1.978 1.775-2.29 2.36-.2-1.249-1.532-2.315-2.303-2.36Z"/><path fillRule="evenodd" d="M2.992 9.166a.727.727 0 0 1 .746.556c.133.554.326.836.573 1.053.286.252.67.445 1.31.767l.027.014a.727.727 0 0 1-.032 1.314c-.902.402-1.278.772-1.47 1.045-.1.142-.167.281-.232.438-.013.029-.026.064-.042.103a4.385 4.385 0 0 1-.2.451.727.727 0 0 1-1.36-.227c-.066-.417-.338-.86-.717-1.217-.399-.375-.77-.523-.91-.531a.727.727 0 0 1-.079-1.444c.424-.071.836-.335 1.166-.7.339-.377.51-.77.538-.988a.727.727 0 0 1 .682-.634Zm.042 2.38a4.253 4.253 0 0 1-.659.667 4.336 4.336 0 0 1 .691.717 3.8 3.8 0 0 1 .754-.712 3.989 3.989 0 0 1-.47-.35 3.095 3.095 0 0 1-.316-.322Z" clipRule="evenodd"/><path d="M.728 3.784C1.988 3.57 2.927 2.282 3.03 1.47c.326 1.354 1.045 1.686 2.29 2.314-1.978.88-1.978 1.774-2.29 2.359-.2-1.248-1.532-2.315-2.303-2.36Z"/><path fillRule="evenodd" d="M2.992.744a.727.727 0 0 1 .746.556c.133.554.326.835.573 1.053.286.251.67.445 1.31.767l.027.014a.727.727 0 0 1-.032 1.314c-.902.401-1.278.772-1.47 1.044-.1.142-.167.282-.232.438l-.042.103a4.396 4.396 0 0 1-.2.452.727.727 0 0 1-1.36-.227c-.066-.418-.338-.86-.717-1.217-.399-.376-.77-.524-.91-.532a.727.727 0 0 1-.079-1.443c.424-.071.836-.335 1.166-.701.339-.376.51-.77.538-.988a.727.727 0 0 1 .682-.633Zm.042 2.38a4.213 4.213 0 0 1-.659.667 4.355 4.355 0 0 1 .691.717c.193-.243.437-.48.754-.712a3.989 3.989 0 0 1-.47-.35 3.104 3.104 0 0 1-.316-.323Z" clipRule="evenodd"/><path d="M10.27 1.486a.728.728 0 0 1 .747.557c.533 2.218 2.434 4.21 4.584 5.293a.727.727 0 0 1-.033 1.313c-2.734 1.217-3.644 3.33-4.25 4.735a10.66 10.66 0 0 1-.367.8.727.727 0 0 1-1.36-.227c-.15-.938-.932-2.255-1.93-3.392a9.671 9.671 0 0 0-1.448-1.368c-.487-.36-.806-.479-.934-.486a.727.727 0 0 1-.08-1.443c.412-.07.889-.308 1.398-.71.503-.397.996-.921 1.437-1.492.44-.569.817-1.17 1.092-1.708.283-.556.43-.99.462-1.238a.728.728 0 0 1 .683-.634Z"/></svg>;
}

const IconAutomaticOptimization = React.forwardRef(IconAutomaticOptimizationComponent);
export default IconAutomaticOptimization;
