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

function IconComputingManagementComponent(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-Computing_management${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 opacity=".5"><path d="M5 2.91671C5 2.45647 5.3731 2.08337 5.83333 2.08337H17.0833C17.5436 2.08337 17.9167 2.45647 17.9167 2.91671V14.1667C17.9167 14.6269 17.5436 15 17.0833 15H11.2198C11.2625 14.8675 11.3013 14.7335 11.3359 14.5981 11.3766 14.4832 11.4419 14.3787 11.5273 14.2918 12.8661 13.3255 13.8893 11.985 14.4682 10.4387 15.0472 8.89252 15.1562 7.20964 14.7813 5.60168 14.762 5.50742 14.7154 5.42091 14.6473 5.35286 14.5793 5.28482 14.4928 5.23822 14.3985 5.21885 12.7885 4.84581 11.1046 4.95145 9.55391 5.52277 8.00317 6.0941 6.65323 7.10619 5.6701 8.43459 5.5938 8.53254 5.48531 8.60034 5.36383 8.626 5.2414 8.65655 5.12008 8.69052 5 8.72786V2.91671zM5.82323 14.1387C6.13632 14.4377 6.46018 14.725 6.79414 15H5.83333C5.3731 15 5 14.6269 5 14.1667V13.2139C5.26347 13.5316 5.53804 13.84 5.82323 14.1387z"/></g><path fillRule="evenodd" clipRule="evenodd" d="M14.6474 5.35282C14.7154 5.42087 14.762 5.50738 14.7814 5.60164C15.1562 7.2096 15.0473 8.89248 14.4683 10.4387C13.8893 11.9849 12.8661 13.3255 11.5274 14.2918C11.4419 14.3786 11.3766 14.4832 11.336 14.598C11.0361 15.7703 10.4281 16.8409 9.57496 17.6989C9.16214 18.0852 8.71348 18.4313 8.23507 18.7326C8.17133 18.7677 8.101 18.7892 8.02852 18.7958C7.95605 18.8024 7.88299 18.7939 7.81396 18.7708C7.74896 18.7513 7.6888 18.7184 7.63739 18.6741C7.58598 18.6298 7.54448 18.5752 7.51559 18.5138C7.4867 18.4524 7.47106 18.3856 7.4697 18.3177C7.46834 18.2499 7.48129 18.1825 7.5077 18.12C7.73049 17.4784 7.85943 16.8079 7.89052 16.1293C7.8929 16.0398 7.87318 15.951 7.83312 15.8709C7.79306 15.7908 7.73389 15.7218 7.66083 15.6699C7.01449 15.2015 6.40057 14.6899 5.82327 14.1386C5.272 13.5613 4.76039 12.9474 4.29196 12.3011C4.24013 12.228 4.17111 12.1688 4.09099 12.1288C4.01087 12.0887 3.92212 12.069 3.83257 12.0714C3.15404 12.1025 2.48355 12.2314 1.84188 12.4542C1.7727 12.4763 1.69978 12.4844 1.62744 12.4778C1.55511 12.4712 1.48483 12.4502 1.42077 12.4159C1.36255 12.3837 1.31133 12.3401 1.2701 12.2879C1.22887 12.2356 1.19847 12.1756 1.18065 12.1115C1.16283 12.0474 1.15796 11.9803 1.16633 11.9143C1.17469 11.8482 1.19612 11.7845 1.22936 11.7268C1.52095 11.2418 1.86781 10.7921 2.26299 10.387C3.11663 9.52808 4.18896 8.9191 5.36388 8.62596C5.48535 8.6003 5.59384 8.53249 5.67014 8.43454C6.65327 7.10615 8.00321 6.09405 9.55395 5.52273C11.1047 4.95141 12.7886 4.84577 14.3986 5.21881C14.4928 5.23818 14.5793 5.28478 14.6474 5.35282ZM11.4975 9.79645C12.3056 9.79645 12.9607 9.14139 12.9607 8.33333C12.9607 7.52528 12.3056 6.87022 11.4975 6.87022C10.6895 6.87022 10.0344 7.52528 10.0344 8.33333C10.0344 9.14139 10.6895 9.79645 11.4975 9.79645Z"/><path d="M2.30104 17.6998C1.87994 17.2787 3.41124 15.02 3.75578 14.6755C3.94045 14.5447 4.16116 14.4744 4.38744 14.4744C4.61373 14.4744 4.83444 14.5447 5.0191 14.6755C5.14393 14.757 5.25114 14.8627 5.3344 14.9864C5.41765 15.1101 5.47526 15.2492 5.50381 15.3956C5.53237 15.5419 5.53129 15.6925 5.50063 15.8384C5.46998 15.9843 5.41039 16.1226 5.32537 16.245C4.98082 16.5896 2.72215 18.1209 2.30104 17.6998Z"/></svg>;
}

const IconComputingManagement = React.forwardRef(IconComputingManagementComponent);
export default IconComputingManagement;
