import React, { memo } from 'react'
import type { ViewStyle } from 'react-native'
import type { SvgProps } from 'react-native-svg'
import { SvgXml } from 'react-native-svg'

interface ResultIconWarningProps extends SvgProps {
  width?: number
  height?: number
}

const SVG_STYLE: ViewStyle = {
  alignSelf: 'center',
}

const ResultIconWarning: React.FC<ResultIconWarningProps> = ({
  style,
  width = 150,
  height = 151,
  ...restProps
}) => {
  return (
    <SvgXml
      {...restProps}
      style={style || SVG_STYLE}
      width={width}
      height={height}
      xml={`<svg width="${width}" height="${height}" viewBox="0 0 150 151" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="50%" y1="0%" x2="50%" y2="70.234%" id="a"><stop stop-color="#DFE4EB" offset="0%"/><stop stop-color="#E0E4EA" stop-opacity="0" offset="100%"/></linearGradient><filter x="-13.5%" y="-66.7%" width="127%" height="233.3%" filterUnits="objectBoundingBox" id="b"><feGaussianBlur stdDeviation="4" in="SourceGraphic"/></filter><radialGradient cx="53.842%" cy="25.543%" fx="53.842%" fy="25.543%" r="92.917%" id="c"><stop stop-color="#E2E7EF" offset="0%"/><stop stop-color="#D2DAE7" offset="100%"/></radialGradient><linearGradient x1="38.106%" y1="79.339%" x2="63.043%" y2="50%" id="d"><stop stop-color="#DCE2EC" offset="0%"/><stop stop-color="#C9D4E5" offset="100%"/></linearGradient><linearGradient x1="20.522%" y1="58.699%" x2="82.327%" y2="50%" id="e"><stop stop-color="#DCE2EC" offset="0%"/><stop stop-color="#C9D4E5" offset="100%"/></linearGradient><linearGradient x1="45.149%" y1="79.339%" x2="55.32%" y2="50%" id="f"><stop stop-color="#DCE2EC" offset="0%"/><stop stop-color="#C9D4E5" offset="100%"/></linearGradient><linearGradient x1="20.522%" y1="79.339%" x2="82.327%" y2="50%" id="g"><stop stop-color="#DCE2EC" offset="0%"/><stop stop-color="#C9D4E5" offset="100%"/></linearGradient><linearGradient x1="20.522%" y1="65.452%" x2="82.327%" y2="50%" id="h"><stop stop-color="#DCE2EC" offset="0%"/><stop stop-color="#C9D4E5" offset="100%"/></linearGradient><linearGradient x1="20.522%" y1="64.459%" x2="82.327%" y2="50%" id="i"><stop stop-color="#DCE2EC" offset="0%"/><stop stop-color="#C9D4E5" offset="100%"/></linearGradient><linearGradient x1="100%" y1="53.192%" x2="0%" y2="53.192%" id="j"><stop stop-color="#B4BCC8" offset="0%"/><stop stop-color="#DADFE5" offset="43.204%"/><stop stop-color="#B3BBC7" offset="100%"/></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="k"><stop stop-color="#C9D4E5" stop-opacity="0" offset="0%"/><stop stop-color="#D1DAE8" offset="100%"/></linearGradient><filter x="0%" y="0%" width="100%" height="100%" filterUnits="objectBoundingBox" id="l"><feGaussianBlur in="SourceGraphic"/></filter></defs><g fill="none" fill-rule="evenodd"><g transform="translate(30 17)"><ellipse fill="url(#a)" filter="url(#b)" cx="44.5" cy="113" rx="44.5" ry="9"/><path d="M80.736 39.405c0 21.763-17.643 39.406-39.406 39.406-21.762 0-39.405-17.643-39.405-39.406C1.925 17.642 19.568 0 41.33 0c21.763 0 39.406 17.642 39.406 39.405z" fill="url(#c)" transform="translate(2.442 31.214)"/><path d="M16.147 85.806c3.282 6.485 3.416 14.31.786 15.642-2.631 1.331-8.356-3.799-11.638-10.284-3.282-6.485-3.733-13.69-1.102-15.021 2.63-1.331 8.673 3.178 11.954 9.663z" fill="#DBE2EC"/><path d="M12.38 55.13c3.281 6.485 3.809 12.821 1.178 14.153-2.63 1.33-7.424-2.847-10.705-9.333C-.43 53.465-.957 47.13 1.674 45.797c2.63-1.33 7.424 2.847 10.706 9.333z" fill="url(#d)" transform="translate(2.442 31.214)"/><path d="M58.892 108.344c-3.87 1.442-7.481 1.338-8.066-.232-.585-1.57 1.58-4.688 5.45-6.13 3.87-1.442 7.98-.661 8.564.908.585 1.57-2.078 4.012-5.948 5.454z" fill="#DBE2EC"/><path d="M56.45 77.13c-3.87 1.442-7.482 1.338-8.067-.232s2.078-4.011 5.949-5.453c3.87-1.442 7.481-1.338 8.066.232.585 1.57-2.078 4.011-5.948 5.453z" fill="url(#e)" transform="translate(2.442 31.214)"/><path d="M84.595 74.071c0 5.213-1.715 9.44-3.83 9.44-2.462.377-4.75-4.443-4.75-9.656 0-5.213 1.808-9.224 4.75-9.224 1.952 0 3.83 4.227 3.83 9.44z" fill="#E0E8F3"/><path d="M82.152 42.857c0 5.214-1.714 9.44-3.83 9.44-2.114 0-3.828-4.226-3.828-9.44 0-5.213 1.714-9.44 3.829-9.44s3.83 4.227 3.83 9.44z" fill="url(#f)" transform="translate(2.442 31.214)"/><path d="M62.906 69.286c-2.973 2.973-7.291 3.597-9.2 1.687-1.911-1.91-1.048-5.869 1.925-8.842 2.974-2.974 6.933-3.837 8.843-1.926 1.91 1.91 1.406 6.107-1.568 9.08z" fill="#EDF1F8"/><path d="M60.105 37.834c-2.973 2.973-6.932 3.836-8.842 1.925-1.91-1.91-1.048-5.868 1.926-8.842 2.974-2.973 6.932-3.836 8.842-1.926 1.91 1.91 1.048 5.87-1.926 8.843z" fill="url(#g)" transform="translate(2.442 31.214)"/><path d="M46.233 94.812c-3.479 1.459-7.3.452-8.206-1.71-.908-2.164 1.176-5.1 4.655-6.56 3.478-1.459 7.034-.888 7.941 1.275.908 2.163-.912 5.535-4.39 6.995z" fill="#EDF1F8"/><path d="M43.525 63.162c-3.478 1.46-7.034.889-7.94-1.275-.908-2.163 1.176-5.1 4.654-6.558 3.479-1.46 7.034-.889 7.942 1.274.907 2.163-1.177 5.1-4.656 6.559z" fill="url(#h)" transform="translate(2.442 31.214)"/><path d="M44.5 43.148c-3.351-.343-5.84-2.894-5.601-5.227.239-2.334 3.15-3.947 6.502-3.603 3.351.343 5.874 2.514 5.635 4.847-.24 2.334-3.184 4.327-6.536 3.983z" fill="#EDF1F8"/><path d="M42.091 11.554c-3.35-.344-5.874-2.514-5.635-4.847.24-2.334 3.15-3.947 6.502-3.603 3.352.344 5.875 2.514 5.636 4.847-.24 2.334-3.15 3.947-6.503 3.603z" fill="url(#i)" transform="translate(2.442 31.214)"/><path d="M25.898 69.552c-4.274 2.471-8.956 1.007-10.07-2.655-1.115-3.663 1.445-8.634 5.72-11.105 4.274-2.47 9.066-1.454 10.181 2.208 1.115 3.662-1.557 9.081-5.831 11.552z" fill="#EDF1F8"/><path d="M23.143 37.84c-4.274 2.472-8.643 1.505-9.758-2.157-1.115-3.662 1.446-8.634 5.72-11.105 4.275-2.47 8.644-1.504 9.759 2.158 1.115 3.663-1.446 8.634-5.721 11.105z" fill="url(#g)" transform="translate(2.442 31.214)"/><g><path fill="url(#j)" d="M11 10h1.615v31.231H11z" transform="translate(33)"/><path fill="url(#k)" filter="url(#l)" d="M10 37h4v5h-4z" transform="translate(33)"/><path d="M45.756 1.318l10.57 19.222a.828.828 0 0 1-.723 1.228l-21.197.047a.828.828 0 0 1-.727-1.228l10.626-19.27a.828.828 0 0 1 1.451.001z" fill="#FCC477"/><path d="M45.256 7a1.363 1.363 0 0 1 1.36 1.47l-.45 5.73a.867.867 0 0 1-.864.8.877.877 0 0 1-.874-.799l-.514-5.733A1.348 1.348 0 0 1 45.256 7zM45.375 16c.64 0 1.158.518 1.158 1.158v.173a1.158 1.158 0 0 1-2.316 0v-.173c0-.64.518-1.158 1.158-1.158z" fill="#FFF"/></g></g><path d="M107.058 23s-.602 4.51-1.018 5.089c-.416.578-3.354 1.203-3.354 1.203s2.242.74 2.891 1.226c.65.486 1.423 5.463 1.423 5.463s.59-4.677 1.03-5.209c.624-.74 3.284-1.48 3.284-1.48s-2.521-.532-3.123-1.087c-.601-.556-1.133-5.205-1.133-5.205zM105.536 46s-.392 2.776-.663 3.132c-.272.356-2.187.74-2.187.74s1.461.455 1.885.754c.424.3.89 3.374.89 3.374s.422-2.89.708-3.217c.408-.456 2.142-.911 2.142-.911s-1.644-.328-2.036-.67c-.392-.34-.739-3.202-.739-3.202zM121.605 31.25s-.675 6.768-1.254 7.635c-.58.868-4.665 1.804-4.665 1.804s3.118 1.11 4.021 1.84c.904.728 1.898 8.179 1.898 8.179s.901-7 1.512-7.798c.87-1.11 4.569-2.22 4.569-2.22s-3.507-.799-4.343-1.631c-.837-.833-1.738-7.808-1.738-7.808z" fill="#E0E5EE"/></g></svg>`}
    />
  )
}

export default memo(ResultIconWarning)
