Python 3.8.1rc1
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 327a421..a11be7a 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Oct 14 14:33:10 2019
+# Autogenerated by Sphinx on Mon Dec  9 18:44:17 2019
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -744,10 +744,11 @@
                      'returned.\n'
                      '\n'
                      'The "__dir__" function should accept no arguments, and '
-                     'return a list\n'
-                     'of strings that represents the names accessible on '
-                     'module. If present,\n'
-                     'this function overrides the standard "dir()" search on a '
+                     'return a\n'
+                     'sequence of strings that represents the names accessible '
+                     'on module. If\n'
+                     'present, this function overrides the standard "dir()" '
+                     'search on a\n'
                      'module.\n'
                      '\n'
                      'For a more fine grained customization of the module '
@@ -861,6 +862,22 @@
                      'created. The\n'
                      '   descriptor has been assigned to *name*.\n'
                      '\n'
+                     '   Note: "__set_name__()" is only called implicitly as '
+                     'part of the\n'
+                     '     "type" constructor, so it will need to be called '
+                     'explicitly with\n'
+                     '     the appropriate parameters when a descriptor is '
+                     'added to a class\n'
+                     '     after initial creation:\n'
+                     '\n'
+                     '        class A:\n'
+                     '           pass\n'
+                     '        descr = custom_descriptor()\n'
+                     '        A.attr = descr\n'
+                     "        descr.__set_name__(A, 'attr')\n"
+                     '\n'
+                     '     See Creating the class object for more details.\n'
+                     '\n'
                      '   New in version 3.6.\n'
                      '\n'
                      'The attribute "__objclass__" is interpreted by the '
@@ -1089,7 +1106,13 @@
                      'attributes created by\n'
                      '  slots (the other bases must have empty slot layouts) - '
                      'violations\n'
-                     '  raise "TypeError".\n',
+                     '  raise "TypeError".\n'
+                     '\n'
+                     '* If an iterator is used for *__slots__* then a '
+                     'descriptor is\n'
+                     '  created for each of the iterator’s values. However, '
+                     'the *__slots__*\n'
+                     '  attribute will be an empty iterator.\n',
  'attribute-references': 'Attribute references\n'
                          '********************\n'
                          '\n'
@@ -4216,6 +4239,17 @@
              '   Quit from the debugger.  The program being executed is '
              'aborted.\n'
              '\n'
+             'debug code\n'
+             '\n'
+             '   Enter a recursive debugger that steps through the code '
+             'argument\n'
+             '   (which is an arbitrary expression or statement to be executed '
+             'in\n'
+             '   the current environment).\n'
+             '\n'
+             'retval\n'
+             'Print the return value for the last return of a function.\n'
+             '\n'
              '-[ Footnotes ]-\n'
              '\n'
              '[1] Whether a frame is considered to originate in a certain '
@@ -6227,6 +6261,10 @@
            'that\n'
            'determine dynamically the modules to be loaded.\n'
            '\n'
+           'Raises an auditing event "import" with arguments "module", '
+           '"filename",\n'
+           '"sys.path", "sys.meta_path", "sys.path_hooks".\n'
+           '\n'
            '\n'
            'Future statements\n'
            '=================\n'
@@ -7450,9 +7488,9 @@
                    'to allow\n'
                    'efficient iteration through the container; for mappings, '
                    '"__iter__()"\n'
-                   'should be the same as "keys()"; for sequences, it should '
-                   'iterate\n'
-                   'through the values.\n'
+                   'should iterate through the object’s keys; for sequences, '
+                   'it should\n'
+                   'iterate through the values.\n'
                    '\n'
                    'object.__len__(self)\n'
                    '\n'
@@ -7604,12 +7642,12 @@
                    '\n'
                    'The membership test operators ("in" and "not in") are '
                    'normally\n'
-                   'implemented as an iteration through a sequence.  However, '
+                   'implemented as an iteration through a container. However, '
                    'container\n'
                    'objects can supply the following special method with a '
                    'more efficient\n'
                    'implementation, which also does not require the object be '
-                   'a sequence.\n'
+                   'iterable.\n'
                    '\n'
                    'object.__contains__(self, item)\n'
                    '\n'
@@ -8391,10 +8429,11 @@
                  'returned.\n'
                  '\n'
                  'The "__dir__" function should accept no arguments, and '
-                 'return a list\n'
-                 'of strings that represents the names accessible on module. '
-                 'If present,\n'
-                 'this function overrides the standard "dir()" search on a '
+                 'return a\n'
+                 'sequence of strings that represents the names accessible on '
+                 'module. If\n'
+                 'present, this function overrides the standard "dir()" search '
+                 'on a\n'
                  'module.\n'
                  '\n'
                  'For a more fine grained customization of the module behavior '
@@ -8508,6 +8547,22 @@
                  'The\n'
                  '   descriptor has been assigned to *name*.\n'
                  '\n'
+                 '   Note: "__set_name__()" is only called implicitly as part '
+                 'of the\n'
+                 '     "type" constructor, so it will need to be called '
+                 'explicitly with\n'
+                 '     the appropriate parameters when a descriptor is added '
+                 'to a class\n'
+                 '     after initial creation:\n'
+                 '\n'
+                 '        class A:\n'
+                 '           pass\n'
+                 '        descr = custom_descriptor()\n'
+                 '        A.attr = descr\n'
+                 "        descr.__set_name__(A, 'attr')\n"
+                 '\n'
+                 '     See Creating the class object for more details.\n'
+                 '\n'
                  '   New in version 3.6.\n'
                  '\n'
                  'The attribute "__objclass__" is interpreted by the "inspect" '
@@ -8734,6 +8789,12 @@
                  'violations\n'
                  '  raise "TypeError".\n'
                  '\n'
+                 '* If an iterator is used for *__slots__* then a descriptor '
+                 'is\n'
+                 '  created for each of the iterator’s values. However, the '
+                 '*__slots__*\n'
+                 '  attribute will be an empty iterator.\n'
+                 '\n'
                  '\n'
                  'Customizing class creation\n'
                  '==========================\n'
@@ -9179,9 +9240,9 @@
                  'allow\n'
                  'efficient iteration through the container; for mappings, '
                  '"__iter__()"\n'
-                 'should be the same as "keys()"; for sequences, it should '
-                 'iterate\n'
-                 'through the values.\n'
+                 'should iterate through the object’s keys; for sequences, it '
+                 'should\n'
+                 'iterate through the values.\n'
                  '\n'
                  'object.__len__(self)\n'
                  '\n'
@@ -9332,12 +9393,12 @@
                  '\n'
                  'The membership test operators ("in" and "not in") are '
                  'normally\n'
-                 'implemented as an iteration through a sequence.  However, '
+                 'implemented as an iteration through a container. However, '
                  'container\n'
                  'objects can supply the following special method with a more '
                  'efficient\n'
-                 'implementation, which also does not require the object be a '
-                 'sequence.\n'
+                 'implementation, which also does not require the object be '
+                 'iterable.\n'
                  '\n'
                  'object.__contains__(self, item)\n'
                  '\n'
@@ -9941,20 +10002,20 @@
                    '\n'
                    'str.isalnum()\n'
                    '\n'
-                   '   Return true if all characters in the string are '
+                   '   Return "True" if all characters in the string are '
                    'alphanumeric and\n'
-                   '   there is at least one character, false otherwise.  A '
-                   'character "c"\n'
-                   '   is alphanumeric if one of the following returns '
+                   '   there is at least one character, "False" otherwise.  A '
+                   'character\n'
+                   '   "c" is alphanumeric if one of the following returns '
                    '"True":\n'
                    '   "c.isalpha()", "c.isdecimal()", "c.isdigit()", or '
                    '"c.isnumeric()".\n'
                    '\n'
                    'str.isalpha()\n'
                    '\n'
-                   '   Return true if all characters in the string are '
+                   '   Return "True" if all characters in the string are '
                    'alphabetic and\n'
-                   '   there is at least one character, false otherwise.  '
+                   '   there is at least one character, "False" otherwise.  '
                    'Alphabetic\n'
                    '   characters are those characters defined in the Unicode '
                    'character\n'
@@ -9968,45 +10029,46 @@
                    '\n'
                    'str.isascii()\n'
                    '\n'
-                   '   Return true if the string is empty or all characters in '
-                   'the string\n'
-                   '   are ASCII, false otherwise. ASCII characters have code '
-                   'points in\n'
-                   '   the range U+0000-U+007F.\n'
+                   '   Return "True" if the string is empty or all characters '
+                   'in the\n'
+                   '   string are ASCII, "False" otherwise. ASCII characters '
+                   'have code\n'
+                   '   points in the range U+0000-U+007F.\n'
                    '\n'
                    '   New in version 3.7.\n'
                    '\n'
                    'str.isdecimal()\n'
                    '\n'
-                   '   Return true if all characters in the string are decimal '
-                   'characters\n'
-                   '   and there is at least one character, false otherwise. '
-                   'Decimal\n'
-                   '   characters are those that can be used to form numbers '
-                   'in base 10,\n'
-                   '   e.g. U+0660, ARABIC-INDIC DIGIT ZERO.  Formally a '
-                   'decimal character\n'
-                   '   is a character in the Unicode General Category “Nd”.\n'
+                   '   Return "True" if all characters in the string are '
+                   'decimal\n'
+                   '   characters and there is at least one character, "False" '
+                   'otherwise.\n'
+                   '   Decimal characters are those that can be used to form '
+                   'numbers in\n'
+                   '   base 10, e.g. U+0660, ARABIC-INDIC DIGIT ZERO.  '
+                   'Formally a decimal\n'
+                   '   character is a character in the Unicode General '
+                   'Category “Nd”.\n'
                    '\n'
                    'str.isdigit()\n'
                    '\n'
-                   '   Return true if all characters in the string are digits '
-                   'and there is\n'
-                   '   at least one character, false otherwise.  Digits '
-                   'include decimal\n'
-                   '   characters and digits that need special handling, such '
-                   'as the\n'
-                   '   compatibility superscript digits. This covers digits '
-                   'which cannot\n'
-                   '   be used to form numbers in base 10, like the Kharosthi '
-                   'numbers.\n'
-                   '   Formally, a digit is a character that has the property '
-                   'value\n'
-                   '   Numeric_Type=Digit or Numeric_Type=Decimal.\n'
+                   '   Return "True" if all characters in the string are '
+                   'digits and there\n'
+                   '   is at least one character, "False" otherwise.  Digits '
+                   'include\n'
+                   '   decimal characters and digits that need special '
+                   'handling, such as\n'
+                   '   the compatibility superscript digits. This covers '
+                   'digits which\n'
+                   '   cannot be used to form numbers in base 10, like the '
+                   'Kharosthi\n'
+                   '   numbers.  Formally, a digit is a character that has the '
+                   'property\n'
+                   '   value Numeric_Type=Digit or Numeric_Type=Decimal.\n'
                    '\n'
                    'str.isidentifier()\n'
                    '\n'
-                   '   Return true if the string is a valid identifier '
+                   '   Return "True" if the string is a valid identifier '
                    'according to the\n'
                    '   language definition, section Identifiers and keywords.\n'
                    '\n'
@@ -10025,32 +10087,33 @@
                    '\n'
                    'str.islower()\n'
                    '\n'
-                   '   Return true if all cased characters [4] in the string '
-                   'are lowercase\n'
-                   '   and there is at least one cased character, false '
-                   'otherwise.\n'
+                   '   Return "True" if all cased characters [4] in the string '
+                   'are\n'
+                   '   lowercase and there is at least one cased character, '
+                   '"False"\n'
+                   '   otherwise.\n'
                    '\n'
                    'str.isnumeric()\n'
                    '\n'
-                   '   Return true if all characters in the string are numeric '
-                   'characters,\n'
-                   '   and there is at least one character, false otherwise. '
-                   'Numeric\n'
-                   '   characters include digit characters, and all characters '
-                   'that have\n'
-                   '   the Unicode numeric value property, e.g. U+2155, VULGAR '
-                   'FRACTION\n'
-                   '   ONE FIFTH.  Formally, numeric characters are those with '
-                   'the\n'
-                   '   property value Numeric_Type=Digit, Numeric_Type=Decimal '
-                   'or\n'
+                   '   Return "True" if all characters in the string are '
+                   'numeric\n'
+                   '   characters, and there is at least one character, '
+                   '"False" otherwise.\n'
+                   '   Numeric characters include digit characters, and all '
+                   'characters\n'
+                   '   that have the Unicode numeric value property, e.g. '
+                   'U+2155, VULGAR\n'
+                   '   FRACTION ONE FIFTH.  Formally, numeric characters are '
+                   'those with\n'
+                   '   the property value Numeric_Type=Digit, '
+                   'Numeric_Type=Decimal or\n'
                    '   Numeric_Type=Numeric.\n'
                    '\n'
                    'str.isprintable()\n'
                    '\n'
-                   '   Return true if all characters in the string are '
+                   '   Return "True" if all characters in the string are '
                    'printable or the\n'
-                   '   string is empty, false otherwise.  Nonprintable '
+                   '   string is empty, "False" otherwise.  Nonprintable '
                    'characters are\n'
                    '   those characters defined in the Unicode character '
                    'database as\n'
@@ -10066,9 +10129,10 @@
                    '\n'
                    'str.isspace()\n'
                    '\n'
-                   '   Return true if there are only whitespace characters in '
-                   'the string\n'
-                   '   and there is at least one character, false otherwise.\n'
+                   '   Return "True" if there are only whitespace characters '
+                   'in the string\n'
+                   '   and there is at least one character, "False" '
+                   'otherwise.\n'
                    '\n'
                    '   A character is *whitespace* if in the Unicode character '
                    'database\n'
@@ -10080,20 +10144,21 @@
                    '\n'
                    'str.istitle()\n'
                    '\n'
-                   '   Return true if the string is a titlecased string and '
+                   '   Return "True" if the string is a titlecased string and '
                    'there is at\n'
                    '   least one character, for example uppercase characters '
                    'may only\n'
                    '   follow uncased characters and lowercase characters only '
                    'cased ones.\n'
-                   '   Return false otherwise.\n'
+                   '   Return "False" otherwise.\n'
                    '\n'
                    'str.isupper()\n'
                    '\n'
-                   '   Return true if all cased characters [4] in the string '
-                   'are uppercase\n'
-                   '   and there is at least one cased character, false '
-                   'otherwise.\n'
+                   '   Return "True" if all cased characters [4] in the string '
+                   'are\n'
+                   '   uppercase and there is at least one cased character, '
+                   '"False"\n'
+                   '   otherwise.\n'
                    '\n'
                    'str.join(iterable)\n'
                    '\n'