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

export const IconAwsCloudwatch24 = 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="M9.346 2.006l.041.013.164.066a18.598 18.598 0 00.566.217l.244.09.206.082a11.573 11.573 0 00.456.175l.222.082.215.085.225.09.243.089.208.076c.185.07.37.14.554.212l.19.076a14.984 14.984 0 00.43.166c.066.023.131.047.196.072.08.03.159.062.237.094l.252.099c.075.029.15.056.226.083.073.027.147.053.22.081l.21.084a11.554 11.554 0 00.473.18c.075.027.15.054.223.082l.21.084c.069.028.138.056.209.083.081.031.164.061.246.09l.207.077c.072.027.143.055.218.085l.069.027c0 1.332-.002 2.48-.003 3.626C16.5 9.519 16.5 10.667 16.5 12l-7 .456v4.46l-.176.035V2a.701.701 0 00.022.006zM21 17.57c-.023.008-.046.016-.068.027l-8.836 4.338a.493.493 0 01-.088.034l-.002-.014V18.88l.295-.102.396-.137a1887.202 1887.202 0 002.634-.921l.815-.284.813-.282.581-.203h.001l.58-.203a927.627 927.627 0 012.225-.773h.002l.544-.189a.195.195 0 00.043-.024.433.433 0 01.02-.012l.044-.006L21 17.57z" />
                    <path d="M3.02 17.564L3 17.57v-1.81h.015l.03-.002.03-.002.016.01c.013.008.025.016.04.021.513.18 1.027.358 1.54.537l1.94.676c.78.27 1.558.542 2.337.814l3.044 1.063.006.002.009.002v3.075l-.001.004v.004l.002.006-.034-.012-.023-.01a.627.627 0 01-.038-.016l-8.852-4.347-.04-.02zM9.324 2v14.951l-.034-.007-.06-.012-1.755-.532-.172-.053-.079-.024v-.4a1.49 1.49 0 01.002-.075V5.58l-.002-.11V3.026l.02-.011.039-.02 1.979-.973c.014-.007.03-.012.045-.017L9.324 2zM18.479 12.748H18.2v-.002a.492.492 0 00-.088-.008h-1.115l-.329.001-.164.001-.165.005-.276.009-.236.011-.092.006-.067.003-.201.013-.208.017-.306.023-.216.012-.135.006-.246.016-.22.017-.3.023c-.066.005-.131.008-.197.011a11.022 11.022 0 00-.579.039l-.305.023c-.132.01-.264.017-.396.024l-.156.009-.261.016h-.001l-.588.042-.132.008a7.598 7.598 0 00-.159.01c-.08.005-.16.011-.239.018l-.274.021-.225.012-.111.006h-.01c-.017 0-.033-.002-.038.022l.104.014.287.035c.039.004.078.006.116.008l.1.007.717.074h.001l.261.03.123.013.08.01.052.007.014-.003.017-.002a.881.881 0 01.065-.01l.145-.012.242-.02.242-.026.278-.03c.104-.01.21-.018.314-.027l.229-.02.455-.044.146-.014.097-.009.097-.009.15-.016a29.8 29.8 0 01.235-.024l.168-.014.204-.018.186-.02.185-.02c.07-.007.14-.012.211-.018l.176-.015.445-.043.149-.015.1-.009.1-.01.19-.019.196-.02.184-.016.188-.016.416-.041.114-.01.228-.022c.007 0 .013-.007.02-.012a.107.107 0 01.008-.008h.001l-.009.008c-.006.006-.012.011-.019.012l-.171.016a19.747 19.747 0 00-.337.033l-.25.024-.184.017-.188.016-.259.026-.127.013-.1.01-.1.009-.149.015a60.931 60.931 0 01-.638.06 12.598 12.598 0 00-.396.038l-.169.017a19.072 19.072 0 01-.372.033l-.233.024-.152.016-.097.009-.097.009-.256.025a51.508 51.508 0 01-.57.052l-.318.028-.277.03-.243.025c-.08.008-.161.014-.242.021a36.98 36.98 0 00-.145.012.873.873 0 00-.096.014l-.055-.006a41.313 41.313 0 00-.461-.052l-.718-.075a2.347 2.347 0 00-.103-.007c-.038-.002-.075-.004-.112-.008-.106-.012-.21-.025-.316-.039l-.076-.01-.079-.003v3.537c0 .024 0 .048-.002.072v.396l.006.002.066.021 1.433.424.27.077.146.041.062-.016c.042-.01.084-.02.125-.032a217.764 217.764 0 001.009-.3c.278-.083.557-.165.835-.246l.005-.002a808.737 808.737 0 001.057-.312l.422-.125.595-.176.008-.002.593-.175.483-.144h.001l.482-.144.723-.212h.002c.071-.02.071-.02.072-.095l.004-.36-.002-.025c-.002-.023-.004-.047-.004-.07v-2.546zM6.22 16.021l.108.031.014.001-.002-.013.001-.001.001-.074V5.297l-.027.004c-.018.002-.036.004-.053.01l-1.356.512c-.058.022-.088.065-.088.129v9.44l-.003.073-.002.029.008.098.022.007.049.016 1.113.344.215.062z" />
                </g>
            </svg>
        );
    }
);
