We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
datetimes that are close together on silder used for ranges are illegible.
### Steps to reproduce

Here's an example:

```python

from datetime import date
import streamlit as st

dates = st.slider('date range',
                  min_value=date(2019, 8, 1), max_value=date(2021, 6, 4),
                  value=(date(2021, 5, 21), date(2021, 6, 4)))
```

**Expected behavior:**

Legible dates and handles on the slider.

**Actual behavior:**

![image](https://user-images.githubusercontent.com/632049/121186310-dcb0fe00-c85e-11eb-8b88-f201d69d51f3.png)

### Is this a regression?

 no

### Debug info

- Streamlit version: Streamlit, version 0.81.1
- Python version: Python 3.9.4
- Using Conda? yes
- OS version: Windows 10
- Browser version: Latest Chrome

### Additional information

It probably makes sense to right-align the lower end of the range and left-align the upper end of the range.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `e2e/scripts/st_slider.py`
Content:
```
1 # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 import streamlit as st
16 from streamlit import runtime
17 
18 s1 = st.sidebar.slider("Label A", 0, 12345678, 12345678)
19 st.sidebar.write("Value A:", s1)
20 
21 r1 = st.sidebar.slider("Range A", 10000, 25000, [10000, 25000])
22 st.sidebar.write("Range Value A:", r1)
23 
24 with st.sidebar.expander("Expander", expanded=True):
25     s2 = st.slider("Label B", 10000, 25000, 10000)
26     st.write("Value B:", s2)
27 
28     r2 = st.slider("Range B", 10000, 25000, [10000, 25000])
29     st.write("Range Value B:", r2)
30 
31 w1 = st.slider("Label 1", 0, 100, 25, 1)
32 st.write("Value 1:", w1)
33 
34 w2 = st.slider("Label 2", 0.0, 100.0, (25.0, 75.0), 0.5)
35 st.write("Value 2:", w2)
36 
37 w3 = st.slider(
38     "Label 3 - This is a very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very long label",
39     0,
40     100,
41     1,
42     1,
43 )
44 st.write("Value 3:", w3)
45 
46 w4 = st.slider("Label 4", 10000, 25000, 10000, disabled=True)
47 st.write("Value 4:", w4)
48 
49 w5 = st.slider("Label 5", 0, 100, 25, 1, label_visibility="hidden")
50 st.write("Value 5:", w5)
51 
52 w6 = st.slider("Label 6", 0, 100, 36, label_visibility="collapsed")
53 st.write("Value 6:", w6)
54 
55 if runtime.exists():
56 
57     def on_change():
58         st.session_state.slider_changed = True
59 
60     st.slider(
61         "Label 7",
62         min_value=0,
63         max_value=100,
64         value=25,
65         step=1,
66         key="slider7",
67         on_change=on_change,
68     )
69     st.write("Value 7:", st.session_state.slider7)
70     st.write("Slider changed:", "slider_changed" in st.session_state)
71
```
--- 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/e2e/scripts/st_slider.py b/e2e/scripts/st_slider.py
--- a/e2e/scripts/st_slider.py
+++ b/e2e/scripts/st_slider.py
@@ -12,6 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+from datetime import date
+
 import streamlit as st
 from streamlit import runtime
 
@@ -52,19 +54,27 @@
 w6 = st.slider("Label 6", 0, 100, 36, label_visibility="collapsed")
 st.write("Value 6:", w6)
 
+dates = st.slider(
+    "Label 7",
+    min_value=date(2019, 8, 1),
+    max_value=date(2021, 6, 4),
+    value=(date(2019, 8, 1), date(2019, 9, 1)),
+)
+st.write("Value 7:", dates[0], dates[1])
+
 if runtime.exists():
 
     def on_change():
         st.session_state.slider_changed = True
 
     st.slider(
-        "Label 7",
+        "Label 8",
         min_value=0,
         max_value=100,
         value=25,
         step=1,
-        key="slider7",
+        key="slider8",
         on_change=on_change,
     )
-    st.write("Value 7:", st.session_state.slider7)
+    st.write("Value 8:", st.session_state.slider8)
     st.write("Slider changed:", "slider_changed" in st.session_state)

{"golden_diff": "diff --git a/e2e/scripts/st_slider.py b/e2e/scripts/st_slider.py\n--- a/e2e/scripts/st_slider.py\n+++ b/e2e/scripts/st_slider.py\n@@ -12,6 +12,8 @@\n # See the License for the specific language governing permissions and\n # limitations under the License.\n \n+from datetime import date\n+\n import streamlit as st\n from streamlit import runtime\n \n@@ -52,19 +54,27 @@\n w6 = st.slider(\"Label 6\", 0, 100, 36, label_visibility=\"collapsed\")\n st.write(\"Value 6:\", w6)\n \n+dates = st.slider(\n+    \"Label 7\",\n+    min_value=date(2019, 8, 1),\n+    max_value=date(2021, 6, 4),\n+    value=(date(2019, 8, 1), date(2019, 9, 1)),\n+)\n+st.write(\"Value 7:\", dates[0], dates[1])\n+\n if runtime.exists():\n \n     def on_change():\n         st.session_state.slider_changed = True\n \n     st.slider(\n-        \"Label 7\",\n+        \"Label 8\",\n         min_value=0,\n         max_value=100,\n         value=25,\n         step=1,\n-        key=\"slider7\",\n+        key=\"slider8\",\n         on_change=on_change,\n     )\n-    st.write(\"Value 7:\", st.session_state.slider7)\n+    st.write(\"Value 8:\", st.session_state.slider8)\n     st.write(\"Slider changed:\", \"slider_changed\" in st.session_state)\n", "issue": "datetimes that are close together on silder used for ranges are illegible.\n### Steps to reproduce\r\n\r\nHere's an example:\r\n\r\n```python\r\n\r\nfrom datetime import date\r\nimport streamlit as st\r\n\r\ndates = st.slider('date range',\r\n                  min_value=date(2019, 8, 1), max_value=date(2021, 6, 4),\r\n                  value=(date(2021, 5, 21), date(2021, 6, 4)))\r\n```\r\n\r\n**Expected behavior:**\r\n\r\nLegible dates and handles on the slider.\r\n\r\n**Actual behavior:**\r\n\r\n![image](https://user-images.githubusercontent.com/632049/121186310-dcb0fe00-c85e-11eb-8b88-f201d69d51f3.png)\r\n\r\n### Is this a regression?\r\n\r\n no\r\n\r\n### Debug info\r\n\r\n- Streamlit version: Streamlit, version 0.81.1\r\n- Python version: Python 3.9.4\r\n- Using Conda? yes\r\n- OS version: Windows 10\r\n- Browser version: Latest Chrome\r\n\r\n### Additional information\r\n\r\nIt probably makes sense to right-align the lower end of the range and left-align the upper end of the range.\n", "before_files": [{"content": "# Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport streamlit as st\nfrom streamlit import runtime\n\ns1 = st.sidebar.slider(\"Label A\", 0, 12345678, 12345678)\nst.sidebar.write(\"Value A:\", s1)\n\nr1 = st.sidebar.slider(\"Range A\", 10000, 25000, [10000, 25000])\nst.sidebar.write(\"Range Value A:\", r1)\n\nwith st.sidebar.expander(\"Expander\", expanded=True):\n    s2 = st.slider(\"Label B\", 10000, 25000, 10000)\n    st.write(\"Value B:\", s2)\n\n    r2 = st.slider(\"Range B\", 10000, 25000, [10000, 25000])\n    st.write(\"Range Value B:\", r2)\n\nw1 = st.slider(\"Label 1\", 0, 100, 25, 1)\nst.write(\"Value 1:\", w1)\n\nw2 = st.slider(\"Label 2\", 0.0, 100.0, (25.0, 75.0), 0.5)\nst.write(\"Value 2:\", w2)\n\nw3 = st.slider(\n    \"Label 3 - This is a very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very long label\",\n    0,\n    100,\n    1,\n    1,\n)\nst.write(\"Value 3:\", w3)\n\nw4 = st.slider(\"Label 4\", 10000, 25000, 10000, disabled=True)\nst.write(\"Value 4:\", w4)\n\nw5 = st.slider(\"Label 5\", 0, 100, 25, 1, label_visibility=\"hidden\")\nst.write(\"Value 5:\", w5)\n\nw6 = st.slider(\"Label 6\", 0, 100, 36, label_visibility=\"collapsed\")\nst.write(\"Value 6:\", w6)\n\nif runtime.exists():\n\n    def on_change():\n        st.session_state.slider_changed = True\n\n    st.slider(\n        \"Label 7\",\n        min_value=0,\n        max_value=100,\n        value=25,\n        step=1,\n        key=\"slider7\",\n        on_change=on_change,\n    )\n    st.write(\"Value 7:\", st.session_state.slider7)\n    st.write(\"Slider changed:\", \"slider_changed\" in st.session_state)\n", "path": "e2e/scripts/st_slider.py"}], "after_files": [{"content": "# Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom datetime import date\n\nimport streamlit as st\nfrom streamlit import runtime\n\ns1 = st.sidebar.slider(\"Label A\", 0, 12345678, 12345678)\nst.sidebar.write(\"Value A:\", s1)\n\nr1 = st.sidebar.slider(\"Range A\", 10000, 25000, [10000, 25000])\nst.sidebar.write(\"Range Value A:\", r1)\n\nwith st.sidebar.expander(\"Expander\", expanded=True):\n    s2 = st.slider(\"Label B\", 10000, 25000, 10000)\n    st.write(\"Value B:\", s2)\n\n    r2 = st.slider(\"Range B\", 10000, 25000, [10000, 25000])\n    st.write(\"Range Value B:\", r2)\n\nw1 = st.slider(\"Label 1\", 0, 100, 25, 1)\nst.write(\"Value 1:\", w1)\n\nw2 = st.slider(\"Label 2\", 0.0, 100.0, (25.0, 75.0), 0.5)\nst.write(\"Value 2:\", w2)\n\nw3 = st.slider(\n    \"Label 3 - This is a very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very long label\",\n    0,\n    100,\n    1,\n    1,\n)\nst.write(\"Value 3:\", w3)\n\nw4 = st.slider(\"Label 4\", 10000, 25000, 10000, disabled=True)\nst.write(\"Value 4:\", w4)\n\nw5 = st.slider(\"Label 5\", 0, 100, 25, 1, label_visibility=\"hidden\")\nst.write(\"Value 5:\", w5)\n\nw6 = st.slider(\"Label 6\", 0, 100, 36, label_visibility=\"collapsed\")\nst.write(\"Value 6:\", w6)\n\ndates = st.slider(\n    \"Label 7\",\n    min_value=date(2019, 8, 1),\n    max_value=date(2021, 6, 4),\n    value=(date(2019, 8, 1), date(2019, 9, 1)),\n)\nst.write(\"Value 7:\", dates[0], dates[1])\n\nif runtime.exists():\n\n    def on_change():\n        st.session_state.slider_changed = True\n\n    st.slider(\n        \"Label 8\",\n        min_value=0,\n        max_value=100,\n        value=25,\n        step=1,\n        key=\"slider8\",\n        on_change=on_change,\n    )\n    st.write(\"Value 8:\", st.session_state.slider8)\n    st.write(\"Slider changed:\", \"slider_changed\" in st.session_state)\n", "path": "e2e/scripts/st_slider.py"}]}