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

function IconInferenceEngineComponent(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-inference_engine${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 20 20" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g clipPath="url(#svg_5cbef8d108__clip0_1556_12353)"><path d="M7.11133 17.2227C7.47917 17.2229 7.77711 17.5208 7.77734 17.8887V19.334C7.77699 19.7017 7.4791 19.9998 7.11133 20C6.74345 19.9999 6.44469 19.7018 6.44434 19.334V17.8887C6.44457 17.5208 6.74338 17.2228 7.11133 17.2227ZM9.88965 17.2227C10.2573 17.2231 10.5554 17.5209 10.5557 17.8887V19.334C10.5553 19.7016 10.2573 19.9996 9.88965 20C9.52168 20 9.22203 19.7019 9.22168 19.334V17.8887C9.22191 17.5207 9.5216 17.2227 9.88965 17.2227ZM12.667 17.2227C13.0348 17.2229 13.3328 17.5208 13.333 17.8887V19.334C13.3327 19.7017 13.0348 19.9998 12.667 20C12.2991 19.9999 12.0004 19.7018 12 19.334V17.8887C12.0002 17.5207 12.299 17.2227 12.667 17.2227ZM12.2227 3.33301C14.6769 3.33324 16.6668 5.32308 16.667 7.77734V12.2227C16.6667 14.6769 14.6769 16.6668 12.2227 16.667H7.77734C5.3231 16.6668 3.33325 14.6769 3.33301 12.2227V7.77734C3.33323 5.32308 5.32308 3.33324 7.77734 3.33301H12.2227ZM10.5957 5.93555C10.3596 5.42966 9.64039 5.42966 9.4043 5.93555L8.40137 8.08398C8.33609 8.22359 8.2236 8.33609 8.08398 8.40137L5.93555 9.4043C5.42966 9.64039 5.42966 10.3596 5.93555 10.5957L8.08398 11.5986C8.22361 11.6639 8.3361 11.7764 8.40137 11.916L9.4043 14.0645C9.64039 14.5704 10.3596 14.5704 10.5957 14.0645L11.5986 11.916C11.6639 11.7764 11.7764 11.6639 11.916 11.5986L14.0645 10.5957C14.5704 10.3596 14.5704 9.64039 14.0645 9.4043L11.916 8.40137C11.7764 8.3361 11.6639 8.2236 11.5986 8.08398L10.5957 5.93555ZM2.11133 12C2.47928 12.0002 2.77728 12.299 2.77734 12.667C2.77711 13.0348 2.47917 13.3328 2.11133 13.333H0.666016C0.29827 13.3327 0.000234332 13.0348 0 12.667C5.89262e-05 12.2991 0.298161 12.0004 0.666016 12H2.11133ZM19.334 12C19.7018 12.0004 19.9999 12.2991 20 12.667C19.9998 13.0348 19.7017 13.3327 19.334 13.333H17.8887C17.5208 13.3328 17.2229 13.0348 17.2227 12.667C17.2227 12.299 17.5207 12.0002 17.8887 12H19.334ZM2.11133 9.22168C2.47932 9.22191 2.77734 9.5216 2.77734 9.88965C2.77693 10.2573 2.47907 10.5554 2.11133 10.5557H0.666016C0.298378 10.5553 0.000409672 10.2573 0 9.88965C0 9.52168 0.298125 9.22203 0.666016 9.22168H2.11133ZM19.334 9.22168C19.7019 9.22203 20 9.52168 20 9.88965C19.9996 10.2573 19.7016 10.5553 19.334 10.5557H17.8887C17.5209 10.5554 17.2231 10.2573 17.2227 9.88965C17.2227 9.5216 17.5207 9.22191 17.8887 9.22168H19.334ZM2.11133 6.44434C2.47925 6.44457 2.77723 6.74338 2.77734 7.11133C2.77711 7.47917 2.47917 7.77711 2.11133 7.77734H0.666016C0.29827 7.77699 0.000234332 7.4791 0 7.11133C0.000117369 6.74345 0.298197 6.44469 0.666016 6.44434H2.11133ZM19.334 6.44434C19.7018 6.44469 19.9999 6.74345 20 7.11133C19.9998 7.4791 19.7017 7.77699 19.334 7.77734H17.8887C17.5208 7.77711 17.2229 7.47917 17.2227 7.11133C17.2228 6.74338 17.5208 6.44457 17.8887 6.44434H19.334ZM7.11133 0C7.4791 0.000234381 7.77699 0.29827 7.77734 0.666016V2.11133C7.77711 2.47917 7.47917 2.77711 7.11133 2.77734C6.74338 2.77723 6.44457 2.47925 6.44434 2.11133V0.666016C6.44469 0.298197 6.74345 0.000117385 7.11133 0ZM9.88965 0C10.2573 0.000409721 10.5553 0.298378 10.5557 0.666016V2.11133C10.5554 2.47907 10.2573 2.77693 9.88965 2.77734C9.5216 2.77734 9.22191 2.47932 9.22168 2.11133V0.666016C9.22203 0.298125 9.52168 1.60846e-08 9.88965 0ZM12.667 0C13.0348 0.000234381 13.3327 0.29827 13.333 0.666016V2.11133C13.3328 2.47917 13.0348 2.77711 12.667 2.77734C12.299 2.77728 12.0002 2.47928 12 2.11133V0.666016C12.0004 0.298161 12.2991 5.89423e-05 12.667 0Z"/></g><defs><clipPath id="svg_5cbef8d108__clip0_1556_12353"><path d="M0 0H20V20H0z"/></clipPath></defs></svg>;
}

const IconInferenceEngine = React.forwardRef(IconInferenceEngineComponent);
export default IconInferenceEngine;
