import { createComponent } from "./create-component"

export const CodeAnatomy = createComponent((props) => {
  const { palette, ...rest } = props
  return (
    <svg
      width={400}
      height={300}
      viewBox="0 0 400 300"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      {...rest}
    >
      <rect
        x={83.762}
        y={125.095}
        width={232.476}
        height={49.2381}
        rx={3.80952}
        fill={palette[2]}
      />
      <path
        d="M112.105 156.509H114.634C114.116 159.191 111.556 161.019 108.509 161.019C104.181 161.019 101.042 157.362 101.042 152.455C101.042 147.518 104.15 143.952 108.417 143.952C111.495 143.952 113.964 145.781 114.421 148.463H111.922C111.465 147.091 110.124 146.238 108.417 146.238C105.491 146.238 103.602 148.768 103.602 152.425C103.602 156.173 105.552 158.733 108.539 158.733C110.276 158.733 111.678 157.88 112.105 156.509ZM126.417 161.019C122.272 161.019 119.224 157.453 119.224 152.486C119.224 147.518 122.272 143.952 126.417 143.952C130.561 143.952 133.609 147.518 133.609 152.486C133.609 157.453 130.561 161.019 126.417 161.019ZM126.417 158.703C129.129 158.703 131.019 156.143 131.019 152.486C131.019 148.829 129.129 146.269 126.417 146.269C123.704 146.269 121.815 148.829 121.815 152.486C121.815 156.143 123.704 158.703 126.417 158.703ZM138.809 160.714V144.257H141.216V146.756H141.338C142.222 144.989 143.837 143.952 145.91 143.952C148.957 143.952 150.969 146.208 150.969 149.591V160.714H148.409V149.804C148.409 147.549 147.22 146.116 145.33 146.116C143.014 146.116 141.369 148.219 141.369 151.206V160.714H138.809ZM156.778 156.509H159.277C159.49 157.88 161.136 158.916 163.147 158.916C165.22 158.916 166.621 157.789 166.621 156.112C166.621 154.771 165.738 154.101 163.482 153.735L162.72 153.644C159.063 153.065 157.387 151.632 157.387 149.072C157.387 146.055 159.703 143.952 163.056 143.952C166.256 143.952 168.816 145.872 168.968 148.463H166.56C166.347 147.122 164.915 146.147 163.086 146.147C161.197 146.147 159.886 147.213 159.886 148.798C159.886 150.139 160.8 150.84 162.903 151.175L163.635 151.297C167.414 151.846 169.151 153.309 169.151 155.899C169.151 158.977 166.652 161.141 163.025 161.141C159.581 161.141 156.9 159.16 156.778 156.509ZM181.604 161.019C177.459 161.019 174.411 157.453 174.411 152.486C174.411 147.518 177.459 143.952 181.604 143.952C185.749 143.952 188.796 147.518 188.796 152.486C188.796 157.453 185.749 161.019 181.604 161.019ZM181.604 158.703C184.316 158.703 186.206 156.143 186.206 152.486C186.206 148.829 184.316 146.269 181.604 146.269C178.891 146.269 177.002 148.829 177.002 152.486C177.002 156.143 178.891 158.703 181.604 158.703ZM199.817 155.198C199.817 157.667 200.883 158.855 203.078 158.855C203.992 158.855 204.906 158.642 205.82 158.185V160.318C204.967 160.775 203.87 161.019 202.651 161.019C199.116 161.019 197.257 159.008 197.257 155.198V140.448H192.35V138.162H199.817V155.198ZM213.489 152.973C213.671 156.478 215.53 158.764 218.334 158.764C220.041 158.764 221.412 157.88 221.9 156.509H224.338C223.729 159.221 221.29 161.019 218.273 161.019C214.007 161.019 210.959 157.423 210.959 152.394C210.959 147.457 213.854 143.952 217.938 143.952C221.9 143.952 224.643 147.244 224.643 151.998V152.973H213.489ZM217.938 146.177C215.652 146.177 214.007 148.036 213.58 150.962H222.113C221.991 148.067 220.254 146.177 217.938 146.177ZM233.713 158.611C233.713 157.301 234.749 156.265 236.06 156.265C237.37 156.265 238.406 157.301 238.406 158.611C238.406 159.922 237.37 160.958 236.06 160.958C234.749 160.958 233.713 159.922 233.713 158.611ZM254.272 155.198C254.272 157.667 255.339 158.855 257.533 158.855C258.448 158.855 259.362 158.642 260.276 158.185V160.318C259.423 160.775 258.326 161.019 257.107 161.019C253.571 161.019 251.712 159.008 251.712 155.198V140.448H246.806V138.162H254.272V155.198ZM272.241 161.019C268.097 161.019 265.049 157.453 265.049 152.486C265.049 147.518 268.097 143.952 272.241 143.952C276.386 143.952 279.434 147.518 279.434 152.486C279.434 157.453 276.386 161.019 272.241 161.019ZM272.241 158.703C274.954 158.703 276.843 156.143 276.843 152.486C276.843 148.829 274.954 146.269 272.241 146.269C269.529 146.269 267.64 148.829 267.64 152.486C267.64 156.143 269.529 158.703 272.241 158.703ZM285.273 149.469C285.273 146.269 287.711 143.952 291.064 143.952C291.795 143.952 292.466 144.044 293.106 144.257H298.469V146.391H296.001V146.421C296.549 147.274 296.885 148.311 296.885 149.469C296.885 152.699 294.416 155.076 291.064 155.076C290.241 155.076 289.449 154.924 288.748 154.65C288.077 154.985 287.65 155.503 287.65 156.173C287.65 156.966 288.26 157.545 289.083 157.545H293.197C296.519 157.545 298.683 159.221 298.683 161.811C298.683 164.92 295.574 167.114 291.155 167.114C287.071 167.114 284.146 165.194 284.146 162.482C284.146 160.897 285.151 159.587 286.706 158.916V158.794C285.913 158.276 285.426 157.423 285.426 156.417C285.426 155.229 286.066 154.284 287.163 153.705C285.974 152.699 285.273 151.206 285.273 149.469ZM289.144 159.952C287.65 159.952 286.492 160.958 286.492 162.238C286.492 163.884 288.382 164.981 291.216 164.981C294.172 164.981 296.123 163.823 296.123 162.055C296.123 160.745 294.965 159.952 293.014 159.952H289.144ZM291.064 152.912C293.045 152.912 294.386 151.541 294.386 149.56C294.386 147.579 293.045 146.208 291.064 146.208C289.113 146.208 287.772 147.579 287.772 149.56C287.772 151.541 289.113 152.912 291.064 152.912Z"
        fill={palette[0]}
      />
    </svg>
  )
})
