import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconPingIdentity16 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <g fill={color}>
                    <path d="M4.32 8.602c.323 0 .42-.04.527-.216.068-.113.096-.235.096-.432 0-.388-.199-.623-.532-.623h-.504v1.271zM5.176 11.798c-.16 0-.252.127-.261.382h.518a.6.6 0 0 0-.053-.274.23.23 0 0 0-.204-.108M4.23 12.683c.049-.036.07-.088.07-.088h-.002v-.653c-.058-.087-.142-.127-.276-.127a.24.24 0 0 0-.211.127c-.053.094-.072.182-.072.355 0 .144.01.25.046.321.052.104.122.144.227.144a.3.3 0 0 0 .219-.079M9.835 12.652v.06h.032c.019 0 .038-.005.038-.031 0-.024-.02-.029-.038-.029z" />
                    <path
                        fillRule="evenodd"
                        d="M9.737 12.727c0 .083.055.143.127.143.07 0 .127-.06.127-.143 0-.085-.055-.145-.127-.145-.07 0-.127.06-.127.144m.132-.104c.048 0 .072.017.072.06 0 .034-.02.05-.05.053l.05.089h-.036l-.05-.086h-.022v.088h-.036v-.204z"
                        clipRule="evenodd"
                    />
                    <path d="M11.412 8.283c-.288 0-.454.168-.454.456 0 .314.18.439.447.437.302 0 .465-.154.465-.437 0-.288-.168-.456-.458-.456" />
                    <path
                        fillRule="evenodd"
                        d="M1.75 1.75h12.5v12.5H1.75zm2.4 4.902c.669 0 .873.072 1.093.204.367.215.567.6.564 1.08 0 .551-.25.995-.679 1.21-.18.092-.35.14-.787.14h-.434v1.536h-.794v-4.17zm-.855 4.563h-.182v1.691h.182zm1.55.602a.42.42 0 0 1 .34-.17c.125 0 .231.048.305.132.099.108.125.225.13.518v.026h-.708v.03a.53.53 0 0 0 .053.268.31.31 0 0 0 .283.151c.11 0 .2-.036.278-.115l.07.122a.55.55 0 0 1-.384.154c-.314 0-.504-.245-.504-.653 0-.206.041-.34.137-.463m1.857.159a.307.307 0 0 0-.305-.326q-.18 0-.357.189c0-.101-.041-.192-.041-.192l-.173.053s.043.084.043.259v.947h.173v-.914c.082-.093.223-.173.315-.173.052 0 .1.022.124.053.031.041.041.075.041.204v.83h.18zm-.185-5.57c-.259 0-.475.222-.475.498 0 .275.211.499.463.499.26 0 .47-.224.47-.5 0-.273-.203-.496-.458-.496m.37 1.27-.758.127v3.016h.758zm.6 4.004H7.19v-.465H7.01v.465H6.86v.147h.15v.842c0 .125.03.204.11.245a.3.3 0 0 0 .148.033c.08 0 .101-.01.159-.04l-.024-.123-.027.014a.1.1 0 0 1-.043.003c-.113 0-.146-.046-.146-.183v-.791h.244zm-3.184-.465h.177v1.293c0 .211.007.324.034.396h-.182s-.022-.06-.024-.125a.34.34 0 0 1-.3.144c-.295 0-.463-.23-.463-.621q0-.395.235-.569a.33.33 0 0 1 .218-.077c.127 0 .24.058.307.156l-.002-.19zm5.096 1.735.388-1.272h-.206l-.223.806-.07.26h-.004s-.034-.19-.068-.305l-.232-.797-.176.065.248.768a6 6 0 0 1 .141.58c-.05.135-.108.187-.218.226l.053.13c.199-.051.29-.214.367-.461m.295-.223c0-.099.077-.18.17-.18s.168.079.17.18c0 .098-.076.18-.17.18-.093 0-.17-.082-.17-.18m1.598-2.695.408.005c.441.005.674.077.883.276.17.168.249.379.249.655a.9.9 0 0 1-.233.636c-.254.288-.69.396-1.144.396-.413 0-.838-.072-1.099-.332a.74.74 0 0 1-.238-.544.64.64 0 0 1 .068-.312h.703a.44.44 0 0 0-.034.197c0 .247.194.379.545.379.192 0 .355-.022.475-.101a.38.38 0 0 0 .187-.312c0-.276-.233-.362-.533-.367l-.324-.007c-.34-.008-.561-.036-.698-.096-.136-.053-.22-.19-.22-.4 0-.198.055-.385.532-.517-.42-.115-.624-.396-.624-.851 0-.631.483-1.04 1.224-1.04.163 0 .312.025.52.077.159.044.262.068.358.068a.89.89 0 0 0 .6-.264l.316.51a.7.7 0 0 1-.532.229c-.059 0-.12-.008-.166-.013l-.033-.004c.113.144.17.3.17.504 0 .528-.456.911-1.072.911-.034 0-.056 0-.113-.007-.192.096-.3.168-.3.252 0 .04.046.072.125.072M8.264 8.65c.177-.168.374-.276.528-.276.199 0 .254.103.254.447v1.998h.749V8.576c0-.192-.017-.324-.058-.437-.091-.264-.374-.444-.698-.444-.17 0-.367.048-.52.132-.123.07-.217.14-.326.222l-.008.006a.8.8 0 0 0-.108-.384l-.674.204c.067.204.1.456.1.72v2.226h.76zm.139 3.966v-.792h.235l.055-.146h-.285v-.465h-.183v.465h-.148v.146h.148v.842c0 .125.032.204.11.245a.3.3 0 0 0 .15.034c.079 0 .1-.01.158-.041l-.024-.122-.017.009c-.013.008-.013.008-.053.008-.112 0-.146-.046-.146-.183m-.54-.964-.184.03v1.224h.184z"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
