import PropTypes from 'prop-types';
import React from 'react';
import Icon from '../icon';

export default function Gear({
  fill,
  style: styleProp,
  ...rest // eslint-disable-line comma-dangle
}) {
  const style = {
    ...styleProp,
    ...Icon.defaultProps.style,
  };
  return (
    <svg style={style} {...rest}>
      <g stroke="none" fillRule="nonzero" fill={fill}>
        <path d="M4.654,16.639672 C5.198,17.041672 5.782,17.379672 6.401,17.649672 C7.063,16.284672 8.45,15.398672 10,15.398672 C11.55,15.398672 12.937,16.284672 13.599,17.649672 C14.218,17.379672 14.802,17.041672 15.346,16.639672 C14.495,15.383672 14.422,13.740672 15.196,12.398672 C15.908,11.164672 17.237,10.398672 18.663,10.398672 C18.756,10.398672 18.85,10.401672 18.943,10.408672 C18.981,10.072672 19,9.73467201 19,9.39967201 C19,9.06467201 18.981,8.72567201 18.943,8.39067201 C18.85,8.39767201 18.756,8.40067201 18.663,8.40067201 C17.237,8.40067201 15.908,7.63467201 15.196,6.40067201 C14.421,5.05867201 14.494,3.41467201 15.346,2.15967201 C14.802,1.75767201 14.218,1.41967201 13.599,1.14967201 C12.937,2.51467201 11.55,3.40067201 10,3.40067201 C8.45,3.40067201 7.063,2.51467201 6.401,1.14967201 C5.782,1.41967201 5.198,1.75767201 4.654,2.15967201 C5.505,3.41567201 5.578,5.05867201 4.804,6.40067201 C4.092,7.63467201 2.763,8.40067201 1.337,8.40067201 C1.244,8.40067201 1.15,8.39767201 1.057,8.39067201 C1.019,8.72667201 1,9.06467201 1,9.39967201 C1,9.73467201 1.019,10.073672 1.057,10.408672 C1.15,10.401672 1.244,10.398672 1.337,10.398672 C2.763,10.398672 4.092,11.165672 4.804,12.398672 C5.579,13.740672 5.506,15.384672 4.654,16.639672 Z M13.324,18.800672 C13.25,18.800672 13.176,18.784672 13.108,18.751672 C12.985,18.692672 12.892,18.586672 12.849,18.457672 C12.442,17.226672 11.297,16.399672 10,16.399672 C8.703,16.399672 7.557,17.226672 7.151,18.457672 C7.108,18.586672 7.015,18.692672 6.892,18.751672 C6.769,18.810672 6.628,18.816672 6.501,18.769672 C5.459,18.380672 4.495,17.822672 3.636,17.113672 C3.531,17.026672 3.466,16.901672 3.456,16.766672 C3.446,16.631672 3.491,16.497672 3.581,16.395672 C4.443,15.427672 4.587,14.023672 3.938,12.899672 C3.404,11.974672 2.407,11.399672 1.337,11.399672 C1.134,11.399672 0.93,11.420672 0.732,11.461672 C0.599,11.489672 0.46,11.461672 0.348,11.384672 C0.236,11.307672 0.16,11.188672 0.137,11.054672 C0.046,10.508672 0,9.95267201 0,9.40067201 C0,8.84867201 0.046,8.29267201 0.137,7.74667201 C0.159,7.61267201 0.235,7.49367201 0.348,7.41667201 C0.461,7.33967201 0.599,7.31167201 0.732,7.33967201 C0.93,7.38067201 1.134,7.40167201 1.337,7.40167201 C2.407,7.40167201 3.404,6.82667201 3.938,5.90167201 C4.586,4.77867201 4.443,3.37367201 3.581,2.40567201 C3.491,2.30467201 3.445,2.17067201 3.456,2.03467201 C3.467,1.89867201 3.531,1.77367201 3.636,1.68767201 C4.495,0.977672009 5.46,0.420672009 6.501,0.0316720087 C6.628,-0.0163279913 6.77,-0.00932799127 6.892,0.0496720087 C7.014,0.108672009 7.108,0.214672009 7.151,0.343672009 C7.558,1.57467201 8.703,2.40167201 10,2.40167201 C11.297,2.40167201 12.443,1.57467201 12.849,0.343672009 C12.892,0.214672009 12.985,0.108672009 13.108,0.0496720087 C13.231,-0.00932799127 13.372,-0.0153279913 13.499,0.0316720087 C14.541,0.420672009 15.505,0.978672009 16.364,1.68767201 C16.469,1.77467201 16.534,1.89967201 16.544,2.03467201 C16.554,2.16967201 16.509,2.30367201 16.419,2.40567201 C15.557,3.37367201 15.413,4.77767201 16.062,5.90167201 C16.596,6.82767201 17.593,7.40167201 18.663,7.40167201 C18.866,7.40167201 19.07,7.38067201 19.268,7.33967201 C19.401,7.31167201 19.54,7.33967201 19.652,7.41667201 C19.764,7.49367201 19.84,7.61267201 19.863,7.74667201 C19.954,8.29267201 20,8.84867201 20,9.40067201 C20,9.95267201 19.954,10.508672 19.863,11.054672 C19.841,11.188672 19.765,11.307672 19.652,11.384672 C19.539,11.461672 19.401,11.489672 19.268,11.461672 C19.07,11.420672 18.866,11.399672 18.663,11.399672 C17.593,11.399672 16.596,11.974672 16.062,12.899672 C15.414,14.022672 15.557,15.427672 16.419,16.395672 C16.509,16.496672 16.555,16.630672 16.544,16.766672 C16.533,16.902672 16.469,17.027672 16.364,17.113672 C15.505,17.823672 14.541,18.380672 13.499,18.769672 C13.442,18.790672 13.383,18.801672 13.324,18.801672 L13.324,18.800672 Z" />
        <path d="M10.0002,7.39847201 C8.8972,7.39847201 8.0002,8.29547201 8.0002,9.39847201 C8.0002,10.501472 8.8972,11.398472 10.0002,11.398472 C11.1032,11.398472 12.0002,10.501472 12.0002,9.39847201 C12.0002,8.29547201 11.1032,7.39847201 10.0002,7.39847201 M10.0002,12.398472 C8.3462,12.398472 7.0002,11.052472 7.0002,9.39847202 C7.0002,7.74447201 8.3462,6.39847201 10.0002,6.39847201 C11.6542,6.39847201 13.0002,7.74447201 13.0002,9.39847202 C13.0002,11.052472 11.6542,12.398472 10.0002,12.398472" />
      </g>
    </svg>
  );
}

Gear.propTypes = {
  ...Icon.propTypes,
  fill: PropTypes.string,
};

Gear.defaultProps = {
  ...Icon.defaultProps,
  viewBox: '0 0 20 19',
};
