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

function IconServiceRoutingComponent(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-Service_routing${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}><path opacity=".5" fillRule="evenodd" clipRule="evenodd" d="M11.8517 4.65196C11.8517 3.62941 11.0229 2.80054 10.0004 2.80054C8.97773 2.80054 8.14892 3.62941 8.14892 4.65196C8.14892 5.37898 8.56794 6.00817 9.17768 6.31106V8.11452C9.42963 8.00447 9.70789 7.94342 10.0004 7.94342C10.2931 7.94342 10.5714 8.00451 10.8234 8.11466V6.31084C11.433 6.00784 11.8517 5.37881 11.8517 4.65196ZM11.8864 9.17768C11.9964 9.42966 12.0576 9.70798 12.0576 10.0005C12.0576 10.2931 11.9964 10.5714 11.8864 10.8234H13.69C13.993 11.433 14.6218 11.852 15.349 11.852C16.3715 11.852 17.2003 11.0231 17.2003 10.0005C17.2003 8.978 16.3715 8.14908 15.349 8.14908C14.6218 8.14908 13.993 8.56804 13.69 9.17768H11.8864ZM10.8234 11.8864C10.5714 11.9966 10.2931 12.0577 10.0004 12.0577C9.70789 12.0577 9.42963 11.9967 9.17768 11.8866V13.7132C8.59233 14.0243 8.19397 14.6401 8.19397 15.3491C8.19397 16.3717 9.02277 17.2006 10.0454 17.2006C11.068 17.2006 11.8968 16.3717 11.8968 15.3491C11.8968 14.6044 11.4573 13.9626 10.8234 13.6686V11.8864ZM8.11441 10.8234C8.00432 10.5714 7.94326 10.2931 7.94326 10.0005C7.94326 9.70798 8.00433 9.42966 8.11444 9.17768H6.31068C6.00768 8.56804 5.37882 8.14908 4.65175 8.14908C3.62914 8.14908 2.80033 8.978 2.80033 10.0005C2.80033 11.0231 3.62914 11.852 4.65175 11.852C5.37882 11.852 6.00768 11.433 6.31068 10.8234H8.11441Z"/><path fillRule="evenodd" clipRule="evenodd" d="M10 19.0003C14.9706 19.0003 19.0001 14.9708 19.0001 10.0003C19.0001 5.02969 14.9706 1.00024 10 1.00024C5.02944 1.00024 1 5.02969 1 10.0003C1 14.9708 5.02944 19.0003 10 19.0003ZM10 2.80024C11.0225 2.80024 11.8514 3.62915 11.8514 4.65168C11.8514 5.37862 11.4325 6.00773 10.8228 6.31067V8.11425C11.2975 8.32158 11.6787 8.7028 11.8861 9.17738H13.6896C13.9926 8.56776 14.6217 8.14881 15.3486 8.14881C16.3711 8.14881 17.2 8.97773 17.2 10.0002C17.2 11.0227 16.3711 11.8516 15.3486 11.8516C14.6217 11.8516 13.9926 11.4327 13.6896 10.8232H11.8861C11.6787 11.2977 11.2975 11.6789 10.8228 11.8863V13.6682C11.4568 13.9621 11.8965 14.6041 11.8965 15.3488C11.8965 16.3713 11.0676 17.2002 10.0451 17.2002C9.02256 17.2002 8.19364 16.3713 8.19364 15.3488C8.19364 14.64 8.59203 14.0242 9.17714 13.713V11.8862C8.70262 11.6788 8.32143 11.2976 8.1141 10.8232H6.31042C6.00746 11.4327 5.37838 11.8516 4.65144 11.8516C3.62892 11.8516 2.80001 11.0227 2.80001 10.0002C2.80001 8.97773 3.62892 8.14881 4.65144 8.14881C5.37838 8.14881 6.00746 8.56776 6.31042 9.17738H8.11411C8.32145 8.70286 8.70263 8.32166 9.17714 8.11431V6.31064C8.56754 6.00768 8.1486 5.3786 8.1486 4.65168C8.1486 3.62915 8.97752 2.80024 10 2.80024Z"/></svg>;
}

const IconServiceRouting = React.forwardRef(IconServiceRoutingComponent);
export default IconServiceRouting;
