import { useContext, useEffect, useState } from 'react';
import { Stage, Layer, Image as KImage, Line, Path, Rect } from 'react-konva';
import { HandFrame } from './HandFrame';
import { ModeNames } from '../../../types/namesList';
import { canvasHandFrameDataContext } from '../../../context/canvasHandFrameDataContext';
import { canvasTextureContext } from '../../../context/canvasTextureContext';
import { canvasModeContext } from "../../../context/canvasModeContext";
import { canvasBackgroundContext } from "../../../context/canvasBackgroundContext";

interface ICanvasProps {
    img: string;
    backgroundImg: string;
    backgroundColor: string;
    mode: string;
    isSeamless: boolean;
    isSigned: boolean;
    canvasWidth: number;
    isFlipped: boolean;
    defaultGridCnt: number;
    gridCnt: number;
    addGridSide: 'left' | 'right';
    dragX: number;
    onDragXChange: (newDragX: number) => void;
}

export const Canvas = ({
                           canvasWidth,
                           img,
                           backgroundImg,
                           backgroundColor,
                           mode,
                           isSeamless,
                           isSigned,
                           isFlipped,
                           defaultGridCnt,
                           gridCnt,
                           addGridSide = 'right',
                           dragX,
                           onDragXChange,
                       }: ICanvasProps) => {
    const [grid, setGrid] = useState(canvasWidth / gridCnt);
    const { handFrameData, setHandFrameData } = useContext(canvasHandFrameDataContext);
    const { imgData } = useContext(canvasTextureContext);
    const [isFirstRender, setIsFirstRender] = useState(true);
    const [canvasImage, setCanvasImage] = useState<CanvasImageSource | null>(null);
    const [canvasBackgroundImage, setCanvasBackgroundImage] = useState<CanvasImageSource | null>(null);
    const [canvasHeight, setCanvasHeight] = useState(0);
    const realGridWidth = 95;
    const realWidth = 665;
    const realHeight = 290;
    const commonScaleX = 0.98;
    const commonScaleY = 0.95;
    const indentX = window.innerWidth > 991 ? 10 : 5;
    const indentY = 7;
    const scaleX = grid / realGridWidth;
    const outHeight = window.innerWidth > 991 ? 70 * scaleX : 0;
    const panelLines: any = [];
    const images: any = [];
    const backgroundImages: any = [];
    const url = new URL(window.location.href);
    const getHandFrameParam = url.searchParams.get('handFrame');
    const getHandFrame = getHandFrameParam?.replaceAll("'", "").replaceAll('%22', '"');

    // const getHandFrame = decodeURI(url.searchParams.get('handFrame')?.replaceAll("'", ""));
    const { fullscreen } = useContext(canvasModeContext);

    const initialHandFrame = {
        x: getHandFrame
            ? JSON.parse(getHandFrame).x * scaleX
            : handFrameData.x * scaleX,
            // : (canvasWidth - handFrameData.width * scaleX) / 2,
        y: getHandFrame
            ? JSON.parse(getHandFrame).y * scaleX
            : // : (canvasHeight - handFrameData.height) / 2
            handFrameData.y * scaleX,
        width: getHandFrame ? JSON.parse(getHandFrame).width * scaleX : handFrameData.width * scaleX,
        height: getHandFrame ? JSON.parse(getHandFrame).height * scaleX : handFrameData.height * scaleX,
        id: 'handFrame',
    };

    const [handFrame, setHandFrame] = useState<any>(initialHandFrame);
    const { backgroundData } = useContext(canvasBackgroundContext);

    const { setMode, setIsSeamless } = useContext(canvasModeContext);

    useEffect(() => {
        if(!img) return;
        if(!backgroundImg) return;

        const newGrid = canvasWidth / gridCnt;
        const imageObj = new window.Image();
        const backgroundImgObj = new window.Image();
        const addWidth = (gridCnt - defaultGridCnt) * newGrid;
        const newCanvasHeight = (canvasWidth - addWidth) * (realHeight / realWidth);

        imageObj.src = `${img}`;
        backgroundImgObj.src = `${backgroundImg}`;

        if(backgroundData.isSeamlessMode) {
            setMode(ModeNames.Panels);
            setIsSeamless(true);
        }

        setGrid(newGrid);
        setCanvasHeight(newCanvasHeight);

        imageObj.onload = function () {
            imageObj.width = imageObj.width * (newCanvasHeight / imageObj.height);
            imageObj.height = newCanvasHeight;
            backgroundImgObj.height = newCanvasHeight;
            setCanvasImage(imageObj);
            setCanvasBackgroundImage(backgroundImgObj);
        };

        if(canvasHeight && newCanvasHeight && mode === ModeNames.Panels) {
            const newDragX =
                addGridSide === 'right'
                    ? (dragX * newGrid) / grid
                    : newGrid < grid
                        ? (dragX * newGrid) / grid + newGrid
                        : (dragX * newGrid) / grid - newGrid;
            const newHandFrameData = {
                x:
                    addGridSide === 'right'
                        ? Math.floor(((handFrame.width + handFrame.x) * newCanvasHeight) / canvasHeight) <= canvasWidth
                            ? handFrame.x * (newCanvasHeight / canvasHeight)
                            : handFrame.x > 0
                                ? handFrame.x * (newCanvasHeight / canvasHeight) - newGrid
                                : handFrame.x * (newCanvasHeight / canvasHeight)
                        : newGrid < grid
                            ? handFrame.x * (newCanvasHeight / canvasHeight) + newGrid
                            : handFrame.x * (newCanvasHeight / canvasHeight) - newGrid > 0
                                ? handFrame.x * (newCanvasHeight / canvasHeight) - newGrid
                                : 0,
                width:
                    newCanvasHeight * (handFrame.width / handFrame.height) < canvasWidth
                        ? newCanvasHeight * (handFrame.width / handFrame.height)
                        : newCanvasHeight * (handFrame.width / handFrame.height) - newGrid > 0
                            ? // ? newCanvasHeight * (handFrame.width / handFrame.height) - newGrid
                            newCanvasHeight * (handFrame.width / handFrame.height)
                            : newGrid,
                y: handFrame.y,
                height: newCanvasHeight,
            };

            setHandFrame(newHandFrameData);
            onDragXChange(newDragX);
        }
    }, [img, backgroundImg, gridCnt, canvasHeight, handFrameData]);

    if(canvasWidth && !isSeamless && imgData.catalog) {
        const gridCount = Math.floor(canvasWidth / grid);
        for (let i = -gridCount; i < gridCount * 2; i++) {
            panelLines.push(
                <Line strokeWidth={2} stroke={'white'} points={[i * grid, 0, i * grid, canvasWidth]}
                      key={Math.random() * Math.random()}/>,
            );
        }
    }

    if(canvasImage && canvasImage.width !== undefined && canvasBackgroundImage && canvasWidth) {
        const imageCnt =
            Math.ceil((realGridWidth * gridCnt) / +canvasImage.width) === Infinity
                ? 3
                : Math.ceil((realGridWidth * gridCnt) / +canvasImage.width);

        for (let i = -imageCnt - 1; i <= (imageCnt + 1) * 2; i++) {
            //+1 to fullFill all background
            images.push(
                <KImage
                    image={canvasImage}
                    width={typeof canvasImage.width === 'number' ? canvasImage.width + 1 : 0}
                    height={canvasHeight}
                    x={i * (typeof canvasImage.width === 'number' ? canvasImage.width : 0)}
                    key={Math.random() * Math.random()}
                    scaleX={isFlipped ? -1 : 1}
                />,
            );
        }

        for (let i = -canvasWidth / grid; i < (canvasWidth / grid) * 2; i++) {
            if(backgroundColor) {
                backgroundImages.push(
                    <KImage
                        image={canvasBackgroundImage}
                        // width={canvasWidth}
                        width={grid + 1}
                        height={canvasHeight}
                        x={i * grid}
                        key={Math.random() * Math.random()}
                        fillEnabled={true}
                        fill={backgroundColor}
                        fillPatternOffset={{
                            x: 0,
                            y: 0,
                        }}
                        fillPatternRepeat={'repeat'}
                        fillPatternY={1000}
                        fillPriority={'color'}
                        stroke={backgroundColor}
                        strokeWidth={0.1}
                    />,
                );
            } else {
                backgroundImages.push(
                    // <KImage image={canvasBackgroundImage} width={grid + 1} height={canvasHeight} x={i * grid}
                    //         key={Math.random() * Math.random()}/>,
                    <KImage
                        image={canvasBackgroundImage}
                        width={grid + 1}
                        height={canvasHeight}
                        x={i * grid}
                        key={Math.random() * Math.random()}
                        fillEnabled={true}
                    />,
                );
            }

        }
    }

    const handleChangeSize = (newAttrs: any) => {
        setHandFrame(newAttrs);

        // setHandFrameData({
        //     width: backgroundData.isSeamlessMode ? newAttrs.width / scaleX*3 : newAttrs.width / scaleX,
        //     height: newAttrs.height / scaleX,
        //     x: backgroundData.isSeamlessMode ? newAttrs.x / scaleX - newAttrs.x / scaleX/3 : newAttrs.x / scaleX,
        //     y: newAttrs.y / scaleX,
        // });

        setHandFrameData({
            width: newAttrs.width / scaleX,
            height: newAttrs.height / scaleX,
            x: newAttrs.x / scaleX,
            y: newAttrs.y / scaleX,
        });
    };

    useEffect(() => {
        if(fullscreen) return;
        let width = handFrameData.width,
            height = handFrameData.height,
            x = handFrameData.x,
            y = handFrameData.y
        ;
        if(canvasWidth && handFrameData.x + handFrameData.width > canvasWidth / scaleX) { //больше по ширине
            width = canvasWidth / scaleX - handFrameData.x;
            setHandFrame({
                ...handFrame,
                width: width * scaleX,
            });
            setHandFrameData({
                ...handFrameData,
                width: width,
            });
        } else if(canvasWidth && handFrameData.width < 30) {
            width = 30;
            setHandFrame({
                ...handFrame,
                width: width * scaleX,
            });
            setHandFrameData({
                ...handFrameData,
                width: width,
            });
        } else if((handFrameData.y + handFrameData.height) > Math.round(realHeight + ((outHeight / scaleX)/2))) {
            height = canvasHeight / scaleX - handFrameData.y + (outHeight/2) / scaleX;
            setHandFrame({
                ...handFrame,
                height: height * scaleX,
            });
            setHandFrameData({
                ...handFrameData,
                height: height,
            });
        } else if(!isFirstRender) {
            setHandFrame({
                ...handFrame,
                x: x * scaleX,
                y: y * scaleX,
                width: width * scaleX,
                height: height * scaleX,
            });
        } else {
            setIsFirstRender(false);
        }
    }, [handFrameData]);

    useEffect(() => {
        function handleResize() {
            const newGrid = canvasWidth / gridCnt;
            const addWidth = (gridCnt - defaultGridCnt) * newGrid;
            const newCanvasHeight = (canvasWidth - addWidth) * (realHeight / realWidth);
            setCanvasHeight(newCanvasHeight);
        }

        window.addEventListener('resize', handleResize);
        handleResize();

        //CLEAR GET DATA
        const url = new URL(window.location.href);
        const params = new URLSearchParams(url.search);
        params.delete('handFrame');
        params.delete('dragX');
        // window.history.pushState({}, document.title, window.location.pathname + url.search);
        window.history.pushState('', '', window.location.pathname + '?' + params.toString());

        return () => window.removeEventListener('resize', handleResize);
    }, [canvasWidth]);

    return (
        <Stage width={canvasWidth} height={canvasHeight + outHeight} className={'js-canvas-pdf'} scaleY={commonScaleY}
               offsetY={-indentY - outHeight / 2}>
            <Layer x={dragX} scaleX={commonScaleX} offsetX={-indentX}>
                {canvasBackgroundImage &&
                    backgroundImages.map((image: string) => {
                        return image;
                    })}
                {canvasImage &&
                    images.map((image: string) => {
                        return image;
                    })}
                {handFrame &&
                    !isSeamless &&
                    panelLines.map((panel: any) => {
                        return panel;
                    })}
            </Layer>

            <Layer x={0} y={-1}>
                <Rect x={0} y={0} width={indentX} height={canvasHeight + 2} fill={'#FFFFFF'}/>
            </Layer>

            <Layer x={canvasWidth - (canvasWidth - canvasWidth * commonScaleX - indentX)} y={-1}>
                <Rect x={0} y={0} width={canvasWidth - canvasWidth * commonScaleX - indentX} height={canvasHeight + 2}
                      fill={'#FFFFFF'}/>
            </Layer>

            <Layer y={-1} scaleX={commonScaleX} offsetX={-indentX}>
                {handFrame && canvasImage && canvasWidth && (
                    <HandFrame
                        mode={mode}
                        shapeProps={handFrame}
                        gridWidth={grid}
                        maxWidth={canvasWidth}
                        realWidth={realWidth}
                        maxHeight={canvasHeight}
                        realHeight={realHeight}
                        dragX={dragX}
                        scale={scaleX}
                        commonScaleX={commonScaleX}
                        commonScaleY={commonScaleY}
                        indentX={indentX}
                        indentY={indentY}
                        onMoveBackground={function (newPos: number) {
                            onDragXChange(newPos);
                        }}
                        onChangeSize={handleChangeSize}
                        gridCount={Math.floor(canvasWidth / grid)}
                        outHeight={outHeight}
                    />
                )}
            </Layer>

            {/*Картинка подписи художника, не удалять!!!*/}
            {/*<Layer width={window.innerWidth > 991 ? 200 : 100} height={window.innerWidth > 991 ? 50 : 25}*/}
            {/*       x={window.innerWidth > 991 ? canvasWidth - 150 : canvasWidth - 90}*/}
            {/*       y={window.innerWidth > 991 ? canvasHeight - 110 : canvasHeight - 70}*/}
            {/*       scaleX={window.innerWidth > 991 ? 0.7 : 0.5} scaleY={window.innerWidth > 991 ? 0.7 : 0.5}>*/}
            {/*    {isSigned && (*/}
            {/*        <svg>*/}
            {/*            <Path data="M46.1 78.9C46.2 78.8 46.2 78.8 46.1 78.9Z" fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M73.5 53.8C74.3 53.6 74 52.3 73.2 52.5C70.3 53.4 67.4 54.5 64.8 56C62.1 57.5 59.5 59.3 57.2 61.3C55.2 63 53.4 64.9 51.7 66.8C51.5 66.4 51.3 66 51 65.6C50.3 64.9 49.2 64.8 48.4 65.4C47.6 65.9 47.2 66.7 46.7 67.5C46.2 68.4 45.6 69.2 45.1 70.1C44.4 71.1 43.8 72.2 43.1 73.2C42.9 72.4 42.8 71.5 43 70.6C43.1 70.1 42.5 69.6 42.1 69.5C42 69.5 41.9 69.5 41.9 69.5C41.9 69.3 41.8 69.2 41.7 69C41.1 67.7 39.6 67.3 38.4 68C37.5 68.5 37 69.4 36.6 70.3C36.6 69.5 36.5 68.7 36.4 67.8C36.3 66.8 36.2 65.6 35.7 64.7C34.9 63.9 33.8 63.5 32.9 64C32.3 64.3 31.8 64.9 31.5 65.4C31.1 66.1 31 66.8 30.8 67.6C30.6 68.5 30.3 69.4 30.2 70.4C29.8 72.5 29.4 74.7 29.2 76.9C29 78.7 28.7 80.5 29 82.3C29.1 83.4 29.5 84.5 30.3 85.2C30.5 85.4 30.7 85.5 31 85.6C31 85.7 30.9 85.8 30.9 85.9C30.8 86.1 30.7 86.4 30.7 86.5C30.7 86.6 30.5 86.9 30.4 87.1C29.6 88.9 28.7 90.7 27.7 92.3C27.2 93.1 26.7 93.9 26.2 94.6C26.1 94.7 26.1 94.8 26 94.8C26 94.8 25.9 94.9 25.9 95C25.8 95.2 25.7 95.3 25.5 95.5C25.2 95.8 25 96.1 24.7 96.4C24.5 96.7 24.2 96.9 24 97.2C25.4 93.3 26.6 89.4 27.5 85.4C28.4 81.3 28.8 77.2 29.1 73C29.3 70.7 29.4 68.4 29.5 66.1C29.6 63.7 29.7 61.2 29.8 58.8C29.8 57 29.8 55 29.1 53.2C28.8 52.3 28.3 51.6 27.5 51C26.6 50.4 25.3 50.3 24.3 50.6C21.8 51.2 19.8 53.4 18.4 55.5C17 57.6 16 59.9 15.2 62.3C13.4 67.6 12.2 73.1 11.7 78.7C11.4 81.5 11.4 84.3 11.4 87.1C11.5 89.8 11.6 92.6 12.4 95.1C13.2 97.5 14.7 99.7 17 100.9C17.9 101.4 19 101.6 20 101.6C19.3 102.7 18.5 103.7 17.4 104.4C16.6 105 15.6 105.4 14.6 105.5C13.6 105.6 12.7 105.4 11.9 104.9C10.3 103.9 9.20002 102 8.50002 100.3C6.80002 96.2 5.90002 91.7 5.90002 87.3C5.80002 82.8 6.60002 78.4 8.10002 74.2C8.80002 72.2 9.70002 70.2 10.8 68.4C11.2 67.8 10.2 67.2 9.80002 67.8C6.90002 71.9 5.20002 76.5 4.50002 81.3C3.70002 86.1 3.80002 91.2 4.90002 95.9C5.50002 98.2 6.20002 100.6 7.30002 102.7C8.40002 104.7 10 106.6 12.3 107.2C14.8 107.8 17.3 106.7 19.1 105.1C20.3 104 21.3 102.6 22 101.1C22.6 100.9 23.2 100.5 23.7 100.2C25.5 98.9 26.9 97.2 28.2 95.4C29.4 93.7 30.4 91.9 31.3 90.1C32 88.7 32.6 87.2 33.2 85.7C33.4 85.6 33.7 85.5 33.9 85.3C34.9 84.6 35.8 83.6 36.6 82.7C37.4 81.8 38.1 80.8 38.7 79.7C38.8 79.6 38.8 79.5 38.9 79.4C39.4 79.1 39.7 78.7 40 78.3C40.5 77.5 41 76.6 41.3 75.6C41.4 75.8 41.5 75.9 41.6 76.1C42 76.8 43 76.8 43.5 76.1C44.5 74.5 45.6 72.9 46.6 71.2C47.1 70.4 47.6 69.6 48.1 68.8C48.3 68.4 48.6 68.1 48.8 67.7C48.9 67.5 48.9 67.6 49 67.4L49.1 67.3C49.1 67.3 49.1 67.3 49.1 67.4C49.1 67.4 49.1 67.5 49.2 67.5C49.2 67.6 49.3 67.7 49.3 67.6C49.3 67.7 49.4 67.8 49.4 67.9C49.5 68.2 49.5 68.6 49.6 68.9C48 71 46.5 73.3 45.3 75.6C43.2 79.4 42.2 83.6 41.5 87.9C40.8 92.5 40.6 97.1 40.9 101.7C41 103.7 41.3 105.8 41.8 107.7C42.2 109.3 42.7 110.9 43.5 112.2C44.2 113.3 45.1 114.3 46.4 114.6C47.6 114.9 49 114.6 50 113.7C51 112.8 51.5 111.5 51.9 110.3C52.5 108.5 52.7 106.7 53 104.9C53.6 100.1 53.6 95.2 53.6 90.4C53.5 85.1 53.2 79.8 52.6 74.6C52.5 73.4 52.3 72.2 52.2 71C52.1 70.4 52 69.9 52 69.3C53.1 67.9 54.2 66.6 55.4 65.3C59.4 61.1 64.2 57.6 69.6 55.1C70.8 54.7 72.1 54.2 73.5 53.8ZM19.4 99.3C19.3 99.3 19.3 99.3 19.2 99.3C19.2 99.3 19.2 99.3 19.1 99.3H19C18.9 99.3 18.9 99.3 18.8 99.3C18.5 99.2 18.3 99.2 18.1 99.1H18C18 99.1 18 99.1 17.9 99.1C17.8 99 17.7 99 17.5 98.9C17.3 98.8 17 98.6 16.8 98.5C16.8 98.5 16.7 98.5 16.7 98.4L16.6 98.3C16.5 98.2 16.4 98.2 16.3 98.1C16.1 97.9 15.9 97.7 15.7 97.5C15.6 97.4 15.5 97.3 15.4 97.2C15.4 97.1 15.3 97.1 15.3 97C15.1 96.8 15 96.6 14.9 96.3C13.8 94.3 13.5 91.9 13.3 89.7C13.1 87.1 13 84.5 13.1 81.9C13.3 76.8 14.1 71.6 15.4 66.7C16.6 62.3 18 57.5 21.4 54.3C22.2 53.5 23.1 52.8 24.2 52.6C24.6 52.5 25.1 52.5 25.5 52.6C25.6 52.6 25.6 52.6 25.7 52.7C25.7 52.7 25.7 52.7 25.8 52.7C25.9 52.7 25.9 52.8 26 52.8C26 52.8 26.1 52.8 26.1 52.9C26.2 53 26.3 53.1 26.4 53.2C26.4 53.2 26.4 53.3 26.5 53.3C26.6 53.4 26.6 53.5 26.6 53.5C26.6 53.6 26.7 53.7 26.7 53.7L26.8 53.8C26.9 54 26.9 54.2 27 54.3C27.1 54.7 27.2 55.1 27.3 55.5V55.6C27.3 55.7 27.3 55.8 27.3 55.9C27.3 56.1 27.3 56.3 27.4 56.6C27.5 58.6 27.4 60.6 27.3 62.5C27.2 64.8 27.1 67.1 27 69.5C26.9 71.5 26.8 73.6 26.6 75.6C26.5 76.6 26.4 77.5 26.3 78.5C26.2 79.5 26.1 80.2 26 81.1C25.4 85 24.5 88.9 23.3 92.7C22.6 94.8 21.9 97 21 99.1C20.9 99.1 20.8 99.2 20.7 99.2C20.6 99.2 20.4 99.3 20.3 99.3H20.1C19.9 99.3 19.6 99.3 19.4 99.3ZM39.3 69.9C39.4 69.9 39.4 69.9 39.3 69.9ZM37.8 73.3C37.9 72.7 38 72.1 38.2 71.5C38.3 71.1 38.5 70.7 38.8 70.3C38.8 70.3 38.9 70.1 39 70.1L39.1 70L39.2 69.9H39.3C39.3 69.9 39.3 69.9 39.4 69.9C39.4 69.9 39.4 69.9 39.4 70C39.4 70 39.4 70.1 39.5 70.2V70.4C39.5 70.5 39.5 70.6 39.5 70.7C39.5 70.9 39.5 71.3 39.5 71.4C39.5 71.5 39.4 71.9 39.4 72.1C39.3 72.4 39.3 72.7 39.2 72.9C38.9 74 38.6 75.1 38.2 76.1C38.1 76.3 38 76.6 37.9 76.9V76.8C37.8 76.4 37.8 75.8 37.7 75.2C37.7 74.6 37.7 74 37.8 73.3ZM31 80.8C31 80 31.1 79.2 31.1 78.5C31.1 78 31.2 77.6 31.2 77.1C31.2 76.9 31.3 76.7 31.3 76.4C31.3 76.3 31.3 76.2 31.3 76C31.3 75.9 31.3 75.9 31.3 75.8C31.4 74.8 31.6 73.8 31.8 72.8C32.1 71 32.5 69.2 33 67.5C33.1 67.2 33.2 66.8 33.3 66.5C33.4 66.4 33.4 66.3 33.5 66.2L33.6 66.1C33.7 66.5 33.8 67 33.9 67.4V67.5C33.9 67.6 33.9 67.7 33.9 67.8C33.9 68 33.9 68.2 34 68.5C34 68.9 34.1 69.4 34.1 69.8C34.1 70.7 34.1 71.7 34 72.6C34 73.1 33.9 73.6 33.9 74C33.9 74.1 33.9 74.3 33.9 74.4V74.5C33.9 74.5 33.9 74.5 33.9 74.6C33.9 74.9 33.8 75.1 33.8 75.4C33.5 77.4 33 79.4 32.4 81.4C32.2 82.1 32 82.8 31.7 83.5L31.6 83.4L31.5 83.2C31.5 83.2 31.5 83.1 31.4 83.1V83V82.9V82.8C31.4 82.7 31.3 82.6 31.3 82.5C31.3 82.4 31.2 82.3 31.2 82.2C31.2 82.1 31.2 82.1 31.2 82C31 81.5 30.9 81.2 31 80.8ZM34.9 81.5C34.8 81.6 34.7 81.8 34.6 81.9C35 80.4 35.4 78.9 35.7 77.3C35.7 77.2 35.7 77.2 35.7 77.1C35.8 77.9 36.1 78.6 36.7 79.1C36.1 80 35.5 80.7 34.9 81.5ZM47.7 112.7C47.9 112.7 47.8 112.7 47.7 112.7ZM48.6 112.4C48.7 112.3 48.6 112.3 48.6 112.4ZM50.3 72.6C50.9 77.6 51.3 82.6 51.5 87.7C51.7 92.6 51.7 97.5 51.3 102.3C51.2 103.3 51.1 104.3 51 105.3V105.4C51 105.5 51 105.6 50.9 105.8C50.9 106 50.8 106.3 50.8 106.5C50.7 106.9 50.6 107.4 50.6 107.8C50.4 108.5 50.3 109.3 50 110C49.9 110.2 49.9 110.3 49.8 110.5C49.8 110.6 49.7 110.7 49.7 110.7V110.8C49.6 111 49.7 110.8 49.7 110.7C49.7 110.9 49.4 111.3 49.3 111.5C49.2 111.6 49.2 111.7 49.1 111.8C49.1 111.9 49 111.9 49 112C48.9 112.1 48.9 112.1 48.8 112.2C48.7 112.3 48.6 112.3 48.6 112.4C48.6 112.4 48.6 112.4 48.5 112.4C48.5 112.4 48.4 112.4 48.4 112.5C48.2 112.6 47.9 112.6 47.7 112.7H47.6C47.5 112.7 47.4 112.7 47.3 112.7C47.2 112.7 47.2 112.7 47.1 112.7C47 112.7 47 112.7 46.9 112.7L46.7 112.6C46.6 112.5 46.5 112.5 46.4 112.4L46.3 112.3C46.2 112.2 46.1 112.1 46 112C46 111.9 45.9 111.9 45.9 111.8C45.8 111.7 45.7 111.5 45.7 111.5C45.5 111.2 45.4 111 45.2 110.7C45.1 110.6 45.1 110.4 45 110.3V110.2C45 110.2 45 110.2 45 110.1C45 110 45 110 44.9 109.9C44.8 109.5 44.6 109.2 44.5 108.8C44.2 108 44 107.2 43.9 106.3C43.8 105.9 43.7 105.4 43.7 105C43.7 104.8 43.6 104.6 43.6 104.3V104.2C43.6 104.1 43.6 103.9 43.5 103.8C43 99.5 43.1 95.1 43.5 90.8C43.6 90.3 43.6 89.7 43.7 89.2V89.1V89C43.7 88.9 43.7 88.7 43.8 88.6C43.8 88.3 43.9 88 43.9 87.7C44.1 86.7 44.3 85.6 44.5 84.6C44.9 82.7 45.5 80.8 46.2 79C46.2 79 46.2 79 46.2 78.9C46.2 78.9 46.2 78.9 46.2 78.8C46.2 78.7 46.3 78.6 46.3 78.5C46.4 78.3 46.5 78.1 46.6 77.9C46.9 77.3 47.2 76.7 47.6 76.1C48.3 74.8 49.1 73.5 49.9 72.3C50 72.1 50.1 72 50.2 71.9C50.2 72.1 50.2 72.3 50.3 72.6Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M67.8 82.4C69.6 80.9 71.6 79.5 73.5 78.2C74 77.8 74.6 77.4 75.1 77.1C75.4 76.9 75.7 76.7 76 76.5C76.3 76.3 76.5 76.1 76.8 75.8C77 75.6 76.8 75.3 76.5 75.3C76.1 75.4 75.8 75.5 75.5 75.6C75.2 75.8 74.8 75.9 74.5 76.1C73.8 76.4 73.1 76.7 72.5 77.1C71.2 77.8 69.9 78.5 68.7 79.2C67.4 79.9 66.2 80.7 65 81.5C64.7 81.7 64.4 81.9 64.1 82.1C64 81.3 63.9 80.6 63.8 79.8C63.8 79.6 63.8 79.3 63.7 79.1C63.7 78.9 63.5 78.7 63.5 78.5C65.4 77.1 67.3 75.7 69.2 74.3C70.2 73.5 71.3 72.8 72.3 72C73.3 71.2 74.2 70.4 75.3 69.7C75.6 69.5 75.3 68.9 75 69.1C73.9 69.7 72.7 70.1 71.5 70.7C70.4 71.2 69.2 71.8 68.2 72.5C66.4 73.5 64.7 74.6 63.1 75.7C63 75.5 63 75.2 62.9 75C62.7 74.3 61.7 74.5 61.7 75.2C61.7 75.7 61.6 76.3 61.7 76.8C61.3 77.2 61.1 77.9 61.5 78.4C61.6 78.5 61.7 78.6 61.8 78.7C61.8 78.8 61.8 78.8 61.8 78.9C61.7 79.6 61.8 80.2 61.9 80.9C62 81.5 62 82.2 62.1 82.8C62.1 83.1 62.2 83.4 62.2 83.7C61.9 83.9 61.7 84.2 61.6 84.5C61.3 84.8 61.1 85.1 61 85.5C60.8 86.2 61.5 87 62.3 86.8C62.4 86.8 62.5 86.7 62.6 86.7C62.8 88 62.9 89.2 63.1 90.5C63.3 91.9 63.5 93.3 64.2 94.6C64.7 95.4 65.8 94.9 65.6 94C65.3 92.6 65.2 91.1 65.1 89.6C65 88.1 64.8 86.7 64.7 85.2C64.9 85 65.1 84.8 65.4 84.6C66 83.8 66.9 83.2 67.8 82.4Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path data="M121.6 44.5C121.7 44.6 121.5 44.5 121.6 44.5Z" fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M127.1 57C128.6 58.1 130.7 58.2 132.4 57.6C134.3 57 135.8 55.7 136.8 54C137.4 53 137.9 51.8 138.2 50.7C139.2 50.9 140.3 51.1 141.3 51.3C142.5 51.6 143.7 51.9 144.9 52.1C146.3 52.4 147.7 52.4 149.1 52.1C149.7 52 149.6 51 149 51C147.4 51 146 50.4 144.5 49.9C143 49.4 141.5 49 140 48.7C139.6 48.6 139.2 48.5 138.7 48.4V48.3C139 46.1 139.3 43.8 138.7 41.7C138.1 39.6 136.7 37.7 134.5 37.1C133.2 36.8 131.9 37 130.8 37.5C130.3 37.7 129.7 38 129.3 38.3C128.8 38.7 128.4 39.1 128 39.6C127.9 39.7 127.8 39.9 127.8 40C127.5 40.2 127.3 40.5 127.1 40.7C125.8 42.1 124.8 43.9 124.3 45.7C123.7 47.7 123.7 49.9 124.2 51.9C124.5 54 125.4 55.9 127.1 57ZM136.3 47.7C136.3 47.6 136.3 47.5 136.3 47.7ZM125.8 47.2C126 45.4 126.7 43.6 127.8 42.1C128.2 41.5 128.6 41 129.1 40.6C129.3 40.5 129.5 40.4 129.8 40.3C130.3 40.1 130.7 39.9 131.1 39.7C131.5 39.5 131.9 39.4 132.4 39.3H132.5C132.6 39.3 132.7 39.3 132.9 39.3C133 39.3 133.1 39.3 133.2 39.3C133.3 39.3 133.3 39.3 133.4 39.3C133.4 39.3 133.4 39.3 133.5 39.3C133.7 39.3 133.9 39.4 134 39.4L134.2 39.5C134.2 39.5 134.3 39.5 134.3 39.6C134.5 39.7 134.6 39.8 134.8 39.9C134.8 39.9 134.8 39.9 134.9 39.9C135 40 135.1 40 135.1 40.1C135.2 40.2 135.3 40.4 135.5 40.5C135.6 40.6 135.6 40.7 135.7 40.7C135.8 40.9 135.9 41 136 41.2C136 41.3 136.1 41.3 136.1 41.4C136.1 41.5 136.2 41.5 136.2 41.6C136.9 43.3 136.8 45.1 136.6 47C136.6 47.2 136.6 47.4 136.5 47.6C136.5 47.7 136.5 47.8 136.5 47.9C136.5 47.9 136.5 47.9 136.5 48C136.1 47.9 135.8 47.9 135.4 47.8C134.6 47.7 133.7 47.5 132.9 47.7C132.2 47.9 131.4 47.7 130.7 48.1C130.3 48.3 130.4 48.8 130.7 49C131.2 49.3 131.9 49.4 132.4 49.5C132.7 49.6 133 49.8 133.3 49.8C133.6 49.9 134 49.9 134.3 49.9C134.9 50 135.4 50 135.9 50.1C135.9 50.2 135.8 50.3 135.8 50.4C135.7 50.6 135.7 50.8 135.6 51C135.6 51.1 135.5 51.2 135.5 51.3V51.4C135.5 51.4 135.5 51.4 135.5 51.5C135.3 51.9 135.1 52.2 134.9 52.6C134.8 52.8 134.7 52.9 134.6 53.1C134.6 53.2 134.5 53.2 134.5 53.3L134.4 53.5C134.2 53.8 133.9 54 133.6 54.3C133.6 54.3 133.4 54.5 133.4 54.4L133.3 54.5C133.1 54.6 132.9 54.7 132.7 54.8C132.5 54.9 132.4 55 132.2 55C132.1 55 132 55.1 132.2 55C132.1 55 132 55.1 131.9 55.1C131.7 55.2 131.6 55.2 131.4 55.2C131.3 55.2 131.3 55.2 131.2 55.2C131.1 55.2 131.1 55.2 131 55.2C130.7 55.2 130.3 55.2 130 55.2C129.9 55.2 129.7 55.2 130 55.2C129.9 55.2 129.9 55.2 129.8 55.2C129.6 55.2 129.4 55.1 129.2 55C129.1 55 129 54.9 129 54.9C128.8 54.8 128.7 54.7 128.6 54.6L128.5 54.5C128.4 54.4 128.4 54.4 128.3 54.3C128.1 54.1 128 54 127.8 53.8C127.7 53.7 127.7 53.6 127.6 53.5C127.5 53.4 127.4 53.2 127.3 53C127.1 52.6 127 52.4 126.9 52C125.8 50.7 125.6 49 125.8 47.2Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M107.5 67C107.8 66.8 108.2 66.5 108.6 66.2C110.3 67.6 112.7 67.6 114.7 67C115.9 66.6 117 66.1 118.1 65.4C119.1 64.8 120.1 64.1 121 63.3C121.9 62.5 122.6 61.6 123.1 60.6C123.6 59.5 123.7 58.3 123.5 57.1C123.2 55.2 121.9 53.5 119.9 53.2C119 53.1 118 53.3 117.1 53.6C116.2 53.9 115.3 54.2 114.3 54.5C114 54.6 113.8 54.6 113.5 54.7C113.5 54.7 113.5 54.7 113.4 54.7C113.3 54.7 113.3 54.7 113.2 54.7C113 54.7 112.9 54.7 112.7 54.7C112.5 54.7 112.3 54.7 112.2 54.7C112.2 54.7 112.1 54.7 112 54.7C111.9 54.7 111.8 54.7 111.8 54.7C111.6 54.7 111.4 54.6 111.3 54.6C111.2 54.6 111.2 54.6 111.1 54.5C111.1 54.5 111 54.5 111 54.4C110.9 54.4 110.8 54.3 110.8 54.3L110.7 54.2L110.6 54.1C110.5 54 110.5 54 110.5 53.9C110.5 53.9 110.4 53.8 110.4 53.7L110.3 53.5C110.3 53.4 110.2 53.1 110.1 52.9C110.1 52.8 110.1 52.7 110 52.6V52.5C110 52.4 110 52.3 110 52.2V52.1V52C110 52 110 51.9 110 51.8C110 51.7 110 51.6 110.1 51.6C110.1 51.5 110.2 51.4 110.2 51.4C110.2 51.4 110.2 51.4 110.2 51.3V51.2C110.3 51.1 110.4 50.9 110.5 50.8C110.5 50.7 110.6 50.7 110.6 50.6C110.6 50.6 110.7 50.5 110.7 50.4C111 50.1 111.2 49.8 111.5 49.6C111.6 49.5 111.6 49.5 111.7 49.4L111.8 49.3C112 49.2 112.1 49.1 112.3 48.9C112.6 48.7 113 48.5 113.3 48.2C113.9 47.8 114.5 47.4 115.1 47.1C115.2 47 115.4 47 115.5 46.9C115.5 46.9 115.6 46.9 115.6 46.8C115.7 46.8 115.8 46.7 115.9 46.7C116.3 46.6 116.7 46.4 117.1 46.3C117.9 46.1 118.7 45.9 119.4 45.7C119.6 45.7 119.7 45.6 119.9 45.6H120C120.1 45.6 120.2 45.6 120.4 45.5C120.5 45.5 120.5 45.5 120.6 45.5H120.7C120.8 45.5 121 45.5 121.1 45.5C120.9 45.5 121.1 45.5 121.2 45.5C121.6 45.9 122.2 45.4 122.1 44.9C122 44.6 121.9 44.5 121.7 44.3C121.6 44.2 121.5 44.2 121.4 44.2C121.3 44.2 121.2 44.1 121 44.1C120.3 44 119.6 44 118.9 44.1C117.3 44.3 115.6 44.7 114.2 45.5C112.8 46.2 111.4 47.1 110.2 48.1C108.9 49.2 107.9 50.7 108.1 52.4C108.2 53.4 108.5 54.3 109.1 55.1C109.6 55.7 110.5 56.1 111.3 56.3C112 56.5 112.8 56.5 113.6 56.5C114.3 56.4 115 56.2 115.7 56C116.6 55.7 117.6 55.4 118.6 55.2C118.8 55.2 119 55.1 119.3 55.1H119.4C119.5 55.1 119.7 55.1 119.8 55.1H120H120.2C120.3 55.1 120.4 55.1 120.4 55.2C120.4 55.2 120.5 55.3 120.6 55.3L120.7 55.4C120.7 55.4 120.8 55.5 120.9 55.5C121 55.6 121 55.6 121.1 55.7L121.2 55.8C121.3 56 121.4 56.1 121.5 56.3C121.5 56.3 121.5 56.3 121.5 56.4C121.5 56.4 121.5 56.4 121.5 56.5C121.5 56.6 121.6 56.7 121.6 56.8C121.9 57.7 121.9 58.6 121.5 59.5C120.7 61.5 118.6 62.7 116.8 63.7C115.8 64.2 114.8 64.7 113.7 65C113.2 65.1 112.8 65.2 112.2 65.1C112.1 65.1 112 65.1 111.8 65.1C111.6 65.1 111.8 65.1 111.6 65.1C111.3 65.1 111 65 110.8 64.9C110.3 64.8 109.9 64.6 109.5 64.3C109 64 108.5 64.3 108.3 64.7C107.8 64.9 107.2 65.2 106.8 65.4C106.1 65.8 105.5 66.1 104.8 66.5C103.5 67.2 102.2 68 100.9 68.7C99.6 69.4 98.4 70.1 97.1 70.9C97 70.3 96.9 69.7 96.8 69.1C96.7 68.3 96.6 67.5 96.5 66.7C98.3 65.5 100.1 64.2 101.8 62.9C102.8 62.1 103.9 61.3 104.9 60.5C105.4 60.1 105.9 59.7 106.4 59.3C106.9 58.9 107.2 58.4 107.6 57.9C107.8 57.7 107.5 57.3 107.2 57.4C106.6 57.6 106 57.8 105.5 58.2C105 58.5 104.5 58.9 103.9 59.3C102.9 60 101.9 60.7 100.8 61.4C99.3 62.4 97.7 63.3 96.2 64.3C96.1 63.5 96 62.7 95.9 61.8C95.8 61.2 95.8 60.7 95.7 60.1C95.8 60 95.9 59.9 96 59.8L96.1 59.7C96.1 59.7 96.2 59.6 96.3 59.6C96.8 59.3 97.2 59 97.7 58.7C98.2 58.4 98.6 58.1 99.1 57.8C99.6 57.5 100 57.1 100.5 56.8C101.4 56.2 102.4 55.6 103.3 55C104.2 54.3 105.1 53.5 106 52.9C106.3 52.7 106 52.3 105.7 52.4C104.6 52.9 103.4 53.3 102.4 53.9C101.4 54.5 100.3 55.1 99.3 55.6C98.2 56.1 97.2 56.7 96.2 57.3C96 57.4 95.7 57.6 95.5 57.7C95.4 57.6 95.3 57.5 95.2 57.5C95 57.4 94.6 57.4 94.5 57.7C94.3 58.1 94.3 58.5 94.3 58.9C94.2 59.2 94.1 59.5 94.2 59.9C94.2 60 94.3 60.1 94.3 60.1C94.3 60.5 94.3 61 94.4 61.4C94.5 62.7 94.6 64 94.7 65.2V65.3C94.6 65.4 94.5 65.5 94.4 65.6C93.7 66.3 94.2 67.4 95 67.6C95.1 68.1 95.1 68.5 95.2 69C95.3 70 95.5 71.1 95.7 72.1C94.8 72.7 94.1 73.6 94.8 74.8C95 75.2 95.6 75.5 96.1 75.3C96.2 75.3 96.3 75.2 96.3 75.2C96.4 75.9 96.6 76.5 96.9 77.1C97.2 77.7 98.1 77.4 98.1 76.8C98.2 76.1 98 75.5 97.9 74.8C97.8 74.5 97.8 74.1 97.7 73.8C98.2 73.4 98.8 73.1 99.3 72.7C100.5 71.9 101.6 71.2 102.8 70.4C103.9 69.6 105.1 68.9 106.2 68.2C106.4 67.8 107 67.4 107.5 67ZM121.3 45.8C121.2 45.8 121.2 45.8 121.3 45.8Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M93.8 76.7C93 75.8 91.9 75.1 90.8 74.6C89.7 74.1 88.5 73.7 87.3 73.4C86.3 73.2 85.3 73 84.3 73C85.2 72.3 86.1 71.6 86.9 70.9C88.6 69.5 90.1 67.9 91.3 66.1C91.9 65.2 92.3 64.2 92.3 63.1C92.2 61.8 91.4 60.8 90.1 60.6C88.9 60.5 87.9 60.9 86.9 61.3C85.8 61.7 84.8 62.2 83.9 62.8C82 64 80.3 65.3 78.7 66.8C78.6 66.5 78.5 66.3 78.4 66C78.3 65.5 77.5 65.6 77.5 66.1C77.5 66.8 77.5 67.4 77.6 68.1C77.6 68.8 77.7 69.5 77.8 70.2C77.9 71.3 78 72.4 78.1 73.5C77.7 73.8 77.5 74.2 77.6 74.7C77.7 75.2 77.9 75.5 78.3 75.7C78.5 77.9 78.8 80.1 79 82.3C79.1 83 79.2 83.8 79.3 84.5C79.4 85.4 79.4 86.3 79.9 87.1C80.4 87.8 81.3 87.6 81.6 86.9C81.9 86.2 81.7 85.5 81.7 84.8C81.6 84.1 81.5 83.4 81.4 82.7C81.2 81.4 81 80 80.9 78.7C80.8 77.7 80.6 76.7 80.5 75.7C80.7 75.7 80.9 75.6 81.1 75.6C81.8 75.5 82.4 75.4 83 75.3C84.3 75.2 85.7 75.1 87 75.1C89.3 75.1 91.5 76.1 93.3 77.4C93.7 77.7 94.1 77.1 93.8 76.7ZM89.7 63.1C89.6 63.1 89.6 63.1 89.7 63.1C89.6 63.1 89.6 63 89.7 63.1ZM83.6 65C84.4 64.6 85.3 64.1 86.2 63.8C86.6 63.6 87.1 63.5 87.5 63.3C87.7 63.2 88 63.2 88.3 63.1C88.4 63.1 88.5 63.1 88.6 63C88.6 63 89 62.9 88.9 62.9C89 62.9 89 62.9 89.1 62.9C89.1 62.9 89.1 62.9 89.2 62.9C89.3 62.9 89.4 62.9 89.4 62.9H89.6C89.7 62.9 89.7 62.9 89.8 62.9C89.8 62.9 89.8 62.9 89.9 63C89.9 63 90 63.1 89.9 63.1C89.9 63.1 89.9 63.1 89.9 63.2V63.4C89.9 63.5 89.8 63.7 89.8 63.8L89.7 64C89.7 64.1 89.6 64.1 89.6 64.2C89.5 64.4 89.3 64.7 89.2 64.9C89.2 65 89.1 65 89.1 65.1L88.9 65.3C88.8 65.5 88.6 65.6 88.5 65.8C88.2 66.2 87.8 66.6 87.5 67C86.8 67.7 86.1 68.3 85.4 69C84.5 69.7 83.8 70.3 83 70.9C82.1 71.6 81.1 72.2 80.5 73.1C80.4 73.1 80.3 73.1 80.2 73.1C80.1 72.2 79.9 71.3 79.7 70.4C79.6 69.7 79.4 68.9 79.2 68.2C79.2 68.1 79.1 67.9 79.1 67.8C80.5 66.9 82 65.9 83.6 65Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M77.9 96.9C75.6 96.4 73 98.1 72.4 100.4C72.3 100.7 72.4 101 72.6 101.2C71.2 103.5 70.5 106.2 70.4 108.9C70.3 110.6 70.5 112.3 71 113.9C71.4 115.6 72.2 117.3 73.7 118.3C75.1 119.2 77.1 119.2 78.3 118.1C79 117.4 79.3 116.5 79.7 115.6C80 114.7 80.3 113.8 80.5 112.9C81 110.9 81.3 108.9 81.4 106.9C81.5 105 81.5 103.1 81.2 101.2C81 99.3 79.9 97.3 77.9 96.9ZM78.6 106.1C78.6 106.9 78.5 107.8 78.4 108.6C78.4 108.8 78.4 109 78.3 109.2V109.3C78.3 109.4 78.3 109.4 78.3 109.5C78.2 109.9 78.2 110.4 78.1 110.8C77.8 112.5 77.4 114.1 76.8 115.7C76.8 115.7 76.7 115.8 76.7 115.9C76.7 116 76.6 116 76.6 116.1C76.6 116.1 76.6 116.1 76.6 116.2C76.6 116.2 76.6 116.2 76.5 116.3C76.5 116.3 76.5 116.3 76.4 116.4C76.4 116.4 76.3 116.4 76.3 116.5C76.2 116.5 76.2 116.6 76.1 116.6C76 116.6 75.9 116.7 75.8 116.7C75.8 116.7 75.6 116.7 75.5 116.7C75.4 116.7 75.3 116.7 75.3 116.7C75.1 116.7 75 116.6 74.8 116.6C74.7 116.6 74.7 116.5 74.6 116.5C74.5 116.5 74.5 116.4 74.4 116.4L74.3 116.3C74 116.1 73.8 115.8 73.6 115.6C73.2 115 72.9 114.4 72.7 113.7C72.2 112.3 72 110.9 71.9 109.5C71.8 106.6 72.4 103.8 73.6 101.3C74.2 101 74.7 100.7 75.2 100.3C75.4 100.2 75.5 100.1 75.7 100L75.9 99.9C75.9 99.9 76 99.9 76 99.8C76.1 99.8 76.2 99.7 76.4 99.7C76.4 99.7 76.5 99.7 76.6 99.7C76.7 99.7 76.7 99.7 76.8 99.7C76.8 99.7 76.9 99.7 77 99.7C77.1 99.7 77.1 99.7 77.2 99.8C77.2 99.8 77.3 99.9 77.4 99.9L77.5 100C77.5 100 77.6 100.1 77.6 100.2C77.7 100.3 77.8 100.5 77.8 100.6V100.7C77.9 101 78 101.3 78.1 101.6C78.1 101.8 78.2 102 78.2 102.1C78.2 102.1 78.2 101.8 78.2 102C78.2 102.1 78.2 102.1 78.2 102.2C78.2 102.6 78.3 103 78.3 103.5C78.6 104.4 78.6 105.2 78.6 106.1Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M85.3 98.1C85.3 97.4 85.3 96.6 85.3 95.9C85.3 95.5 85.3 95.2 85.2 94.8C85.2 94.4 85.1 94.1 84.9 93.8C84.8 93.6 84.6 93.7 84.5 93.8C84.1 94.3 84 94.9 83.9 95.6C83.8 96.3 83.7 96.9 83.6 97.6C83.5 98.9 83.4 100.2 83.3 101.5C83.2 104.1 83.1 106.7 83.2 109.3C83.2 110.8 83.3 112.3 83.4 113.7C83.4 114.3 83.9 115 84.6 114.9C85.2 114.9 85.9 114.4 85.8 113.7C85.5 108.5 85.3 103.3 85.3 98.1Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M92.9 107.8C92.9 107.7 92.8 107.6 92.8 107.5C92.8 107.4 92.8 107.4 92.8 107.5V107.4C92.6 106.6 91.4 106.6 91.2 107.4V107.5C91.3 107.4 91.3 107.4 91.2 107.5C91.2 107.6 91.1 107.7 91.1 107.8C91.1 107.9 91.1 107.9 91.1 107.8C91 108 90.9 108.2 91 108.5C91 108.7 91.1 109 91.3 109.1C91.8 109.5 92.3 109.5 92.8 109.1C93 109 93.1 108.7 93.1 108.5C93.1 108.2 93 108 92.9 107.8C93 108 93 107.9 92.9 107.8Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M99.8 89.3C98.8 87.6 97.1 86.2 95 86.3C94.1 86.3 93.3 86.6 92.5 87.2C92.1 87.5 91.7 87.8 91.5 88.3C91.4 88.6 91.3 88.8 91.3 89.1C91.3 89 91.3 88.9 91.3 89.3C91.3 89.4 91.3 89.5 91.3 89.7C91.3 90.1 91.5 90.3 91.8 90.4C90.8 92.7 90.4 95.2 90.5 97.7C90.6 99.5 90.9 101.3 91.5 103C91.8 103.8 92.1 104.7 92.7 105.4C93.2 106.2 93.9 106.9 94.8 107.3C95.9 107.7 96.9 107.1 97.6 106.3C98.2 105.7 98.7 105 99.2 104.2C100.1 102.8 100.7 101.1 101.1 99.5C101.5 97.8 101.6 96.1 101.3 94.4C101.2 92.6 100.8 90.8 99.8 89.3ZM95.3 89C95.2 89 95.2 89 95.3 89C95.2 89 95.2 88.9 95.3 89ZM95.5 105.2C95.5 105.1 95.4 105.2 95.5 105.2ZM98.8 97.2C98.8 97.4 98.8 97.6 98.8 97.8C98.8 97.9 98.8 98 98.8 98C98.8 98 98.8 98 98.8 98.1C98.8 98.1 98.8 98.1 98.8 98.2C98.7 98.9 98.6 99.6 98.4 100.3C98.3 100.6 98.2 101 98.1 101.3C98 101.4 98 101.6 97.9 101.7C97.9 101.8 97.8 101.9 97.8 102C97.5 102.7 97.1 103.3 96.8 103.9C96.7 104 96.6 104.2 96.5 104.3C96.4 104.4 96.4 104.5 96.3 104.5C96.2 104.6 96.1 104.8 96 104.9L95.9 105H95.8C95.7 105 95.6 104.9 95.6 104.9L95.5 104.8C95.2 104.6 95 104.3 94.7 104C94.3 103.5 93.9 102.9 93.7 102.3C93.1 100.9 92.8 99.4 92.6 97.9C92.3 95 92.7 92 93.7 89.2C93.8 89.1 93.9 89 94.1 89C94.2 89 94.2 88.9 94.3 88.9C94.4 88.9 94.5 88.8 94.6 88.8C94.7 88.8 94.8 88.8 94.8 88.8C95 88.8 95.1 88.8 95.3 88.8C95.4 88.8 95.4 88.8 95.5 88.8C95.5 88.8 95.5 88.8 95.6 88.8C95.7 88.8 95.9 88.9 95.9 88.9H96C96 88.9 96 88.9 96.1 88.9C96.2 88.9 96.2 88.9 96.1 88.9C96.2 89 96.5 89.1 96.5 89.1C96.5 89.1 96.6 89.1 96.6 89.2L96.7 89.3C96.8 89.4 96.9 89.5 97.1 89.6C97.2 89.7 97.3 89.8 97.4 90C97.5 90.1 97.5 90.2 97.6 90.3C97.8 90.6 97.9 90.9 98.1 91.1C98.1 91.2 98.2 91.3 98.2 91.4C98.2 91.4 98.2 91.5 98.3 91.5C98.4 91.6 98.4 91.8 98.5 91.9C98.7 92.6 98.9 93.3 99 93.9C99 94 99 94.1 99 94.2C99 94.4 99 94.5 99.1 94.7C99.1 95.1 99.1 95.4 99.2 95.8C98.8 96.5 98.8 96.8 98.8 97.2Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M105.4 96.8C105.2 95.3 105 93.8 104.8 92.4C104.7 90.9 104.6 89.4 104.5 87.8C104.5 87 104.4 86.2 104.4 85.4C104.4 85 104.4 84.6 104.3 84.2C104.3 83.8 104.3 83.5 104.1 83.2C104 83 103.7 83 103.6 83.2C103.4 83.5 103.4 83.9 103.3 84.3C103.2 84.7 103.2 85.1 103.2 85.5C103.1 86.3 103.1 87.1 103.1 87.9C103.1 89.5 103.1 91 103.2 92.6C103.3 94.2 103.4 95.7 103.6 97.3C103.8 98.9 103.9 100.5 104.2 102.1C104.4 103.1 105.8 103.2 106.3 102.4C106.6 101.8 106.7 101.2 106.2 100.7C105.9 99.3 105.6 98.1 105.4 96.8Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M107.6 96.9C107.4 97.4 107.2 98 107.3 98.5C107.6 99.5 109 99.5 109.2 98.5C109.3 98 109.2 97.3 108.9 96.9C108.8 96.4 107.9 96.4 107.6 96.9Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M121.8 87.9C120.9 88.1 120.1 88.8 119.3 89.3C118.5 89.8 117.8 90.3 117.1 90.8C116.4 91.3 115.7 91.8 115 92.4C114.9 92.5 114.8 92.5 114.7 92.6C114.8 92.4 114.8 92.2 114.9 92V91.9V91.8C115 91.7 115 91.6 115.1 91.5C115.2 91.3 115.3 91 115.5 90.8C115.8 90.3 116 89.8 116.3 89.4C117.4 87.5 118.7 85.7 119.3 83.6C119.9 81.5 119.9 79 118.5 77.2C117.9 76.4 116.9 75.8 115.9 75.7C114.8 75.6 113.8 76.1 113.1 76.8C112.2 77.6 111.6 78.8 111.1 79.9C110.6 81 110.3 82.3 110.5 83.5C110.6 84 111.3 83.9 111.4 83.5C111.7 82.6 111.9 81.6 112.3 80.7C112.7 79.9 113.1 79 113.8 78.4C114.3 77.9 115 77.3 115.7 77.4C116.4 77.5 116.9 78.1 117.3 78.7C118.1 80.3 117.7 82 117 83.7C116.9 84 116.7 84.5 116.5 84.8C116.3 85.2 116 85.7 115.7 86.1C115.2 86.9 114.6 87.7 114.1 88.5C112.9 90.4 111.9 92.6 111.9 94.9C111.9 95.5 112.4 96.1 113.1 96.1C114.2 96 115 95.4 115.8 94.7C116.4 94.2 117.2 93.6 118 93.1C118.8 92.6 119.5 92 120.3 91.5C121.1 91 122.1 90.5 122.8 89.8C123.6 88.9 122.9 87.6 121.8 87.9Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M142.9 74.9C142 75.1 141.2 75.8 140.4 76.3C139.6 76.8 138.9 77.3 138.2 77.8C137.5 78.3 136.8 78.8 136.1 79.4C136 79.5 135.9 79.5 135.8 79.6C135.9 79.4 135.9 79.2 136 79V78.9V78.8C136.1 78.7 136.1 78.6 136.2 78.5C136.3 78.3 136.4 78 136.6 77.8C136.9 77.3 137.1 76.8 137.4 76.4C138.5 74.5 139.8 72.7 140.4 70.6C141 68.5 141 66 139.6 64.2C139 63.4 138 62.8 137 62.7C135.9 62.6 134.9 63.1 134.2 63.8C133.3 64.6 132.7 65.8 132.2 66.9C131.7 68 131.4 69.3 131.6 70.5C131.7 71 132.4 70.9 132.5 70.5C132.8 69.6 133 68.6 133.4 67.7C133.8 66.9 134.2 66 134.9 65.4C135.4 64.9 136.1 64.3 136.8 64.4C137.5 64.5 138 65.1 138.4 65.7C139.2 67.3 138.8 69 138.1 70.7C138 71 137.8 71.5 137.6 71.8C137.4 72.2 137.1 72.7 136.8 73.1C136.3 73.9 135.7 74.7 135.2 75.5C134 77.4 133 79.6 133 81.9C133 82.5 133.5 83.1 134.2 83.1C135.3 83 136.1 82.4 136.9 81.7C137.5 81.2 138.3 80.6 139.1 80.1C139.9 79.6 140.6 79 141.4 78.5C142.2 78 143.2 77.5 143.9 76.8C144.7 75.9 144 74.6 142.9 74.9Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M129.4 69.2C127.9 68.1 125.8 68.4 124.4 69.5C123.7 70.1 123.1 70.8 122.6 71.6C122.1 72.4 121.9 73.2 121.7 74.2C121.6 74.7 121.8 75.3 122.3 75.5C122.2 76.3 122.2 77.1 122.2 77.8C122.2 79.5 122.5 81.1 122.9 82.7C123.3 84.2 124 85.9 125.4 86.7C126.9 87.6 128.6 87.2 129.7 85.9C130.7 84.7 131.4 83.2 131.8 81.7C132.3 80.2 132.5 78.6 132.5 77.1C132.5 74.3 131.9 70.9 129.4 69.2ZM130 78.3C130 78.5 130 78.6 130 78.8C130 78.9 130 79 130 79.1V79.2C130 79.5 129.9 79.8 129.8 80.1C129.5 81.4 129.1 82.5 128.6 83.6C128.5 83.8 128.3 84.1 128.2 84.3C128.2 84.4 128.1 84.4 128.1 84.5C128.1 84.5 128.1 84.6 128 84.6C127.9 84.7 127.8 84.8 127.7 84.9C127.7 84.9 127.7 84.9 127.6 85C127.6 85 127.5 85.1 127.4 85.1L127.3 85.2H127.2H127.1C127 85.2 127 85.2 126.9 85.2H126.8C126.4 85.1 126 84.8 125.7 84.3C125.4 83.8 125.1 83.2 124.9 82.7C124.4 81.2 124.1 79.7 123.9 78.2C123.8 77.1 123.8 76 123.9 74.9C124.2 74.4 124.4 73.9 124.7 73.5C124.9 73.2 125 72.9 125.2 72.7C125.3 72.6 125.3 72.5 125.4 72.4L125.5 72.3C125.6 72.2 125.6 72.2 125.7 72.1C125.8 72 125.9 71.9 126 71.8C126 71.8 126 71.8 126.1 71.8L126.2 71.7C126.3 71.6 126.5 71.5 126.6 71.5C126.7 71.5 126.7 71.4 126.8 71.4C126.9 71.4 127.1 71.3 127.1 71.3C127.2 71.3 127.4 71.3 127.5 71.3H127.6C127.7 71.3 127.7 71.3 127.8 71.4H127.9C127.9 71.4 127.9 71.4 127.8 71.4C127.9 71.5 128 71.5 128.1 71.6C128.2 71.6 128.3 71.7 128.3 71.7C128.5 71.8 128.6 72 128.7 72.1C128.7 72.1 128.8 72.2 128.8 72.3C128.9 72.4 128.9 72.5 129 72.6C129.1 72.7 129.1 72.9 129.2 73C129.2 73.1 129.3 73.3 129.3 73.3C129.5 73.8 129.6 74.3 129.8 74.8C129.8 75 129.9 75.1 129.9 75.3C129.9 75.4 129.9 75.4 129.9 75.5C129.9 75.5 129.9 75.6 129.9 75.7V75.8C129.9 75.9 129.9 76 129.9 76.1C129.9 76.3 129.9 76.5 129.9 76.7C130 77 130 77.6 130 78.3Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*            <Path*/}
            {/*                data="M151.8 71.1C151.7 70.4 151.7 69.6 151.6 68.9C151.5 67.5 151.4 66 151.3 64.6C151.1 61.8 151 58.4 150.3 55.6C150.1 55 148.9 54.4 148.9 56.1C148.9 56.6 149.1 58 148.9 59.3C148.8 60.2 148.7 61.4 148.4 62.2C148 63.7 147.2 65.1 146.1 66.2C145.6 66.7 145 66.8 144.4 66.5C143.6 66.1 143.4 65.1 143.3 64.2C143 62.1 143 60.4 142.9 58.5C142.9 58 142 58 141.9 59.2C141.8 60.4 141.8 61 141.8 62.3C141.8 63.5 141.9 64.7 142 65.8C142.3 68 144.1 69.8 146.4 68.9C148.1 68.3 148.9 66.8 149.4 65.2C149.3 66.5 149.3 67.8 149.3 69C149.3 69.7 149.3 70.5 149.4 71.2C149.5 71.9 149.5 72.6 150.1 73.1C150.6 73.5 151.2 73.4 151.5 72.9C152 72.6 151.9 71.8 151.8 71.1Z"*/}
            {/*                fill="#ff5100"/>*/}
            {/*        </svg>*/}
            {/*    )}*/}
            {/*</Layer>*/}
        </Stage>
    );
};
