We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Simple typo in the compact docstring for utils.functional
## Important Details

How are you running Sentry?

* [ ] On-Premise docker [Version xyz]
* [ ] Saas (sentry.io)
* [x] Other [briefly describe your environment]
Observed documentation - not running sentry.

## Description

Simple typo should be values rather than valules.

## Steps to Reproduce

1. Observe docstring in utils.functional.compact method

### What you expected to happen

Should be values rather than valules.

### Possible Solution

Replace valules with values.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/sentry/utils/functional.py`
Content:
```
1 from __future__ import absolute_import
2 
3 import six
4 
5 from django.utils.functional import empty
6 
7 
8 def extract_lazy_object(lo):
9     """
10     Unwrap a LazyObject and return the inner object. Whatever that may be.
11 
12     ProTip: This is relying on `django.utils.functional.empty`, which may
13     or may not be removed in the future. It's 100% undocumented.
14     """
15     if not hasattr(lo, "_wrapped"):
16         return lo
17     if lo._wrapped is empty:
18         lo._setup()
19     return lo._wrapped
20 
21 
22 def apply_values(function, mapping):
23     """\
24     Applies ``function`` to a sequence containing all of the values in the
25     provided mapping, returing a new mapping with the values replaced with
26     the results of the provided function.
27 
28     >>> apply_values(
29     ...   lambda values: map(u'{} fish'.format, values),
30     ...   {1: 'red', 2: 'blue'},
31     ... )
32     {1: u'red fish', 2: u'blue fish'}
33     """
34     if not mapping:
35         return {}
36 
37     keys, values = zip(*mapping.items())
38     return dict(zip(keys, function(values)))
39 
40 
41 def compact(seq):
42     """
43     Removes ``None`` values from various sequence-based data structures.
44 
45     dict:
46         Removes keys with a corresponding ``None`` value.
47 
48     list:
49         Removes ``None`` valules.
50 
51     >>> compact({'foo': 'bar', 'baz': None})
52     {'foo': 'bar'}
53 
54     >>> compact([1, None, 2])
55     [1, 2]
56     """
57     if isinstance(seq, dict):
58         return {k: v for k, v in six.iteritems(seq) if v is not None}
59 
60     elif isinstance(seq, list):
61         return [k for k in seq if k is not None]
62
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/src/sentry/utils/functional.py b/src/sentry/utils/functional.py
--- a/src/sentry/utils/functional.py
+++ b/src/sentry/utils/functional.py
@@ -46,7 +46,7 @@
         Removes keys with a corresponding ``None`` value.
 
     list:
-        Removes ``None`` valules.
+        Removes ``None`` values.
 
     >>> compact({'foo': 'bar', 'baz': None})
     {'foo': 'bar'}

{"golden_diff": "diff --git a/src/sentry/utils/functional.py b/src/sentry/utils/functional.py\n--- a/src/sentry/utils/functional.py\n+++ b/src/sentry/utils/functional.py\n@@ -46,7 +46,7 @@\n         Removes keys with a corresponding ``None`` value.\n \n     list:\n-        Removes ``None`` valules.\n+        Removes ``None`` values.\n \n     >>> compact({'foo': 'bar', 'baz': None})\n     {'foo': 'bar'}\n", "issue": "Simple typo in the compact docstring for utils.functional\n## Important Details\r\n\r\nHow are you running Sentry?\r\n\r\n* [ ] On-Premise docker [Version xyz]\r\n* [ ] Saas (sentry.io)\r\n* [x] Other [briefly describe your environment]\r\nObserved documentation - not running sentry.\r\n\r\n## Description\r\n\r\nSimple typo should be values rather than valules.\r\n\r\n## Steps to Reproduce\r\n\r\n1. Observe docstring in utils.functional.compact method\r\n\r\n### What you expected to happen\r\n\r\nShould be values rather than valules.\r\n\r\n### Possible Solution\r\n\r\nReplace valules with values.\r\n\n", "before_files": [{"content": "from __future__ import absolute_import\n\nimport six\n\nfrom django.utils.functional import empty\n\n\ndef extract_lazy_object(lo):\n    \"\"\"\n    Unwrap a LazyObject and return the inner object. Whatever that may be.\n\n    ProTip: This is relying on `django.utils.functional.empty`, which may\n    or may not be removed in the future. It's 100% undocumented.\n    \"\"\"\n    if not hasattr(lo, \"_wrapped\"):\n        return lo\n    if lo._wrapped is empty:\n        lo._setup()\n    return lo._wrapped\n\n\ndef apply_values(function, mapping):\n    \"\"\"\\\n    Applies ``function`` to a sequence containing all of the values in the\n    provided mapping, returing a new mapping with the values replaced with\n    the results of the provided function.\n\n    >>> apply_values(\n    ...   lambda values: map(u'{} fish'.format, values),\n    ...   {1: 'red', 2: 'blue'},\n    ... )\n    {1: u'red fish', 2: u'blue fish'}\n    \"\"\"\n    if not mapping:\n        return {}\n\n    keys, values = zip(*mapping.items())\n    return dict(zip(keys, function(values)))\n\n\ndef compact(seq):\n    \"\"\"\n    Removes ``None`` values from various sequence-based data structures.\n\n    dict:\n        Removes keys with a corresponding ``None`` value.\n\n    list:\n        Removes ``None`` valules.\n\n    >>> compact({'foo': 'bar', 'baz': None})\n    {'foo': 'bar'}\n\n    >>> compact([1, None, 2])\n    [1, 2]\n    \"\"\"\n    if isinstance(seq, dict):\n        return {k: v for k, v in six.iteritems(seq) if v is not None}\n\n    elif isinstance(seq, list):\n        return [k for k in seq if k is not None]\n", "path": "src/sentry/utils/functional.py"}], "after_files": [{"content": "from __future__ import absolute_import\n\nimport six\n\nfrom django.utils.functional import empty\n\n\ndef extract_lazy_object(lo):\n    \"\"\"\n    Unwrap a LazyObject and return the inner object. Whatever that may be.\n\n    ProTip: This is relying on `django.utils.functional.empty`, which may\n    or may not be removed in the future. It's 100% undocumented.\n    \"\"\"\n    if not hasattr(lo, \"_wrapped\"):\n        return lo\n    if lo._wrapped is empty:\n        lo._setup()\n    return lo._wrapped\n\n\ndef apply_values(function, mapping):\n    \"\"\"\\\n    Applies ``function`` to a sequence containing all of the values in the\n    provided mapping, returing a new mapping with the values replaced with\n    the results of the provided function.\n\n    >>> apply_values(\n    ...   lambda values: map(u'{} fish'.format, values),\n    ...   {1: 'red', 2: 'blue'},\n    ... )\n    {1: u'red fish', 2: u'blue fish'}\n    \"\"\"\n    if not mapping:\n        return {}\n\n    keys, values = zip(*mapping.items())\n    return dict(zip(keys, function(values)))\n\n\ndef compact(seq):\n    \"\"\"\n    Removes ``None`` values from various sequence-based data structures.\n\n    dict:\n        Removes keys with a corresponding ``None`` value.\n\n    list:\n        Removes ``None`` values.\n\n    >>> compact({'foo': 'bar', 'baz': None})\n    {'foo': 'bar'}\n\n    >>> compact([1, None, 2])\n    [1, 2]\n    \"\"\"\n    if isinstance(seq, dict):\n        return {k: v for k, v in six.iteritems(seq) if v is not None}\n\n    elif isinstance(seq, list):\n        return [k for k in seq if k is not None]\n", "path": "src/sentry/utils/functional.py"}]}