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

export const IconAzureBlobStorage24 = 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={24}
                height={24}
                fill="none"
                viewBox="0 0 24 24"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <g fill={color}>
                    <path d="M11.266 14.461l-.017.185a12.3 12.3 0 01-.046.46.854.854 0 01-.071.223c-.047.109-.137.166-.257.18-.29.034-.391-.11-.45-.353-.078-.322-.07-.649-.053-.976l.001-.024c.007-.123.013-.246.057-.363.027-.069.055-.138.094-.201.118-.195.457-.177.569-.028a.606.606 0 01.106.264c.023.152.037.305.05.456l.017.176v.001zM12.822 9.741c-.087.253-.093.514-.088.794-.009.25.006.515.088.772.037.116.107.207.23.23.136.024.276.027.382-.093a.69.69 0 00.156-.382 3.933 3.933 0 000-1.071 1.014 1.014 0 00-.092-.31c-.035-.07-.102-.148-.173-.17-.2-.063-.418-.02-.503.23z" />
                    <path
                        fillRule="evenodd"
                        d="M14.61 8.1v1.663h1.653l.005.06c.004.037.007.07.007.105v6.281c0 .117 0 .233-.057.343-.1.192-.247.317-.473.334l-.06.004c-.096.007-.192.014-.287.014h-6.91c-.107 0-.215-.006-.319-.026a.565.565 0 01-.449-.491 1.68 1.68 0 01-.005-.17V8.795c0-.145.007-.284.092-.414.107-.167.263-.241.45-.273a.955.955 0 01.162-.007h6.191zm-4.847 6.572a11.816 11.816 0 00-.011-.162c.006-.286.03-.57.125-.84.106-.3.288-.534.618-.632.282-.084.558-.071.82.045a.71.71 0 01.398.416c.153.434.18.878.128 1.33a2.09 2.09 0 01-.13.56.87.87 0 01-.768.575 1.448 1.448 0 01-.464-.019.774.774 0 01-.533-.416 1.47 1.47 0 01-.153-.51 5.518 5.518 0 01-.03-.347zm4.461-4.35l.02.168c-.014.29-.045.576-.138.853-.107.318-.306.554-.647.631-.333.076-.663.063-.95-.156-.154-.117-.233-.28-.284-.46-.118-.415-.117-.838-.07-1.26.027-.241.08-.484.231-.689.181-.247.431-.365.737-.385.186-.012.365.015.536.084.105.042.198.11.271.201.16.2.237.425.258.675.01.113.023.226.036.338zm-.08 5.316a.432.432 0 01-.068.285h-.001l-.033.002c-.03.002-.06.004-.092.004h-.445c-.33 0-.659-.001-.988.003-.143.002-.184-.05-.184-.176v-.05c0-.032 0-.063.002-.094.006-.092.038-.123.134-.126.083-.003.166-.002.249-.002h.225c.032-.106.041-1.67.014-1.869l-.036.013c-.025.009-.05.018-.072.03l-.131.077c-.059.035-.118.07-.178.102a.37.37 0 01-.114.034c-.053.008-.09-.013-.092-.069a2.18 2.18 0 01.001-.249c.002-.03.027-.065.052-.085.043-.036.092-.066.14-.097l.023-.014c.044-.029.089-.056.133-.083.084-.05.167-.102.246-.158a.573.573 0 01.352-.099c.059 0 .118.008.182.016l.098.01v2.43c.026 0 .05.003.072.004.04.004.076.007.113.008h.24c.114.005.15.041.158.153zM11.2 9.072v2.446l.001.002h.399c.132 0 .157.021.165.15.004.073-.007.148-.017.221-.007.05-.043.075-.096.073h-1.486c-.15 0-.163-.013-.18-.162a.467.467 0 01-.003-.04c-.01-.218.014-.243.232-.243h.295c.086-.004.097-.015.099-.103v-.321V9.653a1.18 1.18 0 01-.036.011c-.025.008-.046.014-.065.024l-.147.08c-.063.036-.126.071-.19.104a.586.586 0 01-.103.037l-.047.014a.487.487 0 01-.032-.342.183.183 0 01.074-.103c.19-.128.381-.253.577-.372a.358.358 0 01.126-.038l.039-.007a.713.713 0 01.23 0c.053.007.108.013.165.011z"
                        clipRule="evenodd"
                    />
                    <path
                        fillRule="evenodd"
                        d="M21.784 12.867l.216-.361-.082-.141a41.483 41.483 0 00-.563-.957l-.348-.601-.394-.68c-.19-.324-.381-.647-.573-.97l-.216-.36-.322-.542c-.113-.192-.225-.386-.337-.579a130.69 130.69 0 00-.224-.384c-.195-.335-.391-.671-.589-1.006l-.383-.642-.16-.27-.122-.202-.242-.405-.027-.046c-.124-.21-.25-.422-.368-.636-.035-.063-.077-.09-.148-.083a.534.534 0 01-.094 0H9.426c-.772 0-1.543 0-2.314-.002-.098 0-.15.033-.196.117-.234.41-.472.817-.71 1.224l-.12.204A203.265 203.265 0 014.98 7.417c-.21.354-.418.708-.625 1.062l-.236.406a79.386 79.386 0 01-.611 1.04l-.202.338a293.841 293.841 0 00-.461.78l-.152.253-.244.41c-.143.24-.283.482-.424.724-.025.043-.036.083-.005.133.06.099.117.198.174.297l.124.213.187.31c.086.144.173.287.257.432.097.166.192.333.288.5.114.202.23.403.347.603.142.242.287.483.432.724l.307.512a47.009 47.009 0 01.384.657l.27.457.268.458c.233.395.464.79.696 1.186l.166.287a51.102 51.102 0 00.512.869c.156.262.312.523.464.787.06.103.122.145.248.145 2.127-.004 4.255-.003 6.383-.003h3.354c.083.001.134-.017.179-.097.273-.482.554-.96.835-1.439.131-.223.264-.445.397-.668.122-.205.245-.411.366-.617l.486-.83.427-.732c.185-.316.373-.632.561-.946l.18-.298c.092-.151.183-.302.273-.455l.301-.522c.109-.19.217-.38.328-.568.188-.32.379-.638.57-.958zM6.968 16.203V8.81c0-.189.013-.374.082-.554.106-.28.285-.5.538-.662a1.5 1.5 0 01.837-.224h1.158c1.739 0 3.477 0 5.215-.003.112 0 .182.041.252.114.081.085.166.166.25.247l.136.132.136.136c.079.08.158.159.238.236l.41.392c.137.13.274.26.41.392.054.052.108.106.16.16.059.059.117.118.176.174.043.041.054.085.054.14-.001.185 0 .369 0 .553v6.15c0 .051 0 .102-.003.152-.032.493-.266.86-.702 1.111-.236.136-.49.168-.756.168h-7.15c-.197 0-.393-.01-.577-.089-.38-.164-.651-.424-.79-.816a1.512 1.512 0 01-.074-.516z"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
