Python 3.10.0b2
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 74f7d9c..9c19173 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 May  3 20:34:17 2021
+# Autogenerated by Sphinx on Mon May 31 12:30:19 2021
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -551,13 +551,65 @@
           'exception.\n'
           '    That new exception causes the old one to be lost.\n'
           '\n'
-          '[2] A string literal appearing as the first statement in the '
+          '[2] In pattern matching, a sequence is defined as one of the\n'
+          '    following:\n'
+          '\n'
+          '       * a class that inherits from "collections.abc.Sequence"\n'
+          '\n'
+          '       * a Python class that has been registered as\n'
+          '         "collections.abc.Sequence"\n'
+          '\n'
+          '       * a builtin class that has its (CPython) '
+          '"Py_TPFLAGS_SEQUENCE"\n'
+          '         bit set\n'
+          '\n'
+          '       * a class that inherits from any of the above\n'
+          '\n'
+          '    The following standard library classes are sequences:\n'
+          '\n'
+          '       * "array.array"\n'
+          '\n'
+          '       * "collections.deque"\n'
+          '\n'
+          '       * "list"\n'
+          '\n'
+          '       * "memoryview"\n'
+          '\n'
+          '       * "range"\n'
+          '\n'
+          '       * "tuple"\n'
+          '\n'
+          '    Note:\n'
+          '\n'
+          '      Subject values of type "str", "bytes", and "bytearray" do '
+          'not\n'
+          '      match sequence patterns.\n'
+          '\n'
+          '[3] In pattern matching, a mapping is defined as one of the '
+          'following:\n'
+          '\n'
+          '       * a class that inherits from "collections.abc.Mapping"\n'
+          '\n'
+          '       * a Python class that has been registered as\n'
+          '         "collections.abc.Mapping"\n'
+          '\n'
+          '       * a builtin class that has its (CPython) '
+          '"Py_TPFLAGS_MAPPING"\n'
+          '         bit set\n'
+          '\n'
+          '       * a class that inherits from any of the above\n'
+          '\n'
+          '    The standard library classes "dict" and '
+          '"types.MappingProxyType"\n'
+          '    are mappings.\n'
+          '\n'
+          '[4] A string literal appearing as the first statement in the '
           'function\n'
           '    body is transformed into the function’s "__doc__" attribute '
           'and\n'
           '    therefore the function’s *docstring*.\n'
           '\n'
-          '[3] A string literal appearing as the first statement in the class\n'
+          '[5] A string literal appearing as the first statement in the class\n'
           '    body is transformed into the namespace’s "__doc__" item and\n'
           '    therefore the class’s *docstring*.\n',
  'atom-identifiers': 'Identifiers (Names)\n'
@@ -1708,7 +1760,7 @@
           'original global namespace. (Usually, the suite contains mostly\n'
           'function definitions.)  When the class’s suite finishes execution, '
           'its\n'
-          'execution frame is discarded but its local namespace is saved. [3] '
+          'execution frame is discarded but its local namespace is saved. [5] '
           'A\n'
           'class object is then created using the inheritance list for the '
           'base\n'
@@ -3005,7 +3057,7 @@
              '\n'
              'A single underscore "_" is not a capture pattern (this is what '
              '"!\'_\'"\n'
-             'expresses). And is instead treated as a "wildcard_pattern".\n'
+             'expresses). It is instead treated as a "wildcard_pattern".\n'
              '\n'
              'In a given pattern, a given name can only be bound once.  E.g. '
              '"case\n'
@@ -3033,7 +3085,10 @@
              '\n'
              "   wildcard_pattern ::= '_'\n"
              '\n'
-             '"_" is a soft keyword.\n'
+             '"_" is a soft keyword within any pattern, but only within '
+             'patterns.\n'
+             'It is an identifier, as usual, even within "match" subject\n'
+             'expressions, "guard"s, and "case" blocks.\n'
              '\n'
              'In simple terms, "_" will always succeed.\n'
              '\n'
@@ -3124,8 +3179,9 @@
              'pattern\n'
              'against a subject value:\n'
              '\n'
-             '1. If the subject value is not an instance of a\n'
-             '   "collections.abc.Sequence" the sequence pattern fails.\n'
+             '1. If the subject value is not a sequence [2], the sequence '
+             'pattern\n'
+             '   fails.\n'
              '\n'
              '2. If the subject value is an instance of "str", "bytes" or\n'
              '   "bytearray" the sequence pattern fails.\n'
@@ -3180,7 +3236,7 @@
              'the\n'
              'following happens:\n'
              '\n'
-             '* "isinstance(<subject>, collections.abc.Sequence)"\n'
+             '* check "<subject>" is a sequence\n'
              '\n'
              '* "len(subject) == <N>"\n'
              '\n'
@@ -3224,8 +3280,9 @@
              'pattern\n'
              'against a subject value:\n'
              '\n'
-             '1. If the subject value is not an instance of\n'
-             '   "collections.abc.Mapping", the mapping pattern fails.\n'
+             '1. If the subject value is not a mapping [3],the mapping '
+             'pattern\n'
+             '   fails.\n'
              '\n'
              '2. If every key given in the mapping pattern is present in the '
              'subject\n'
@@ -3251,7 +3308,7 @@
              'the\n'
              'following happens:\n'
              '\n'
-             '* "isinstance(<subject>, collections.abc.Mapping)"\n'
+             '* check "<subject>" is a mapping\n'
              '\n'
              '* "KEY1 in <subject>"\n'
              '\n'
@@ -3456,7 +3513,7 @@
              '\n'
              'The function definition does not execute the function body; this '
              'gets\n'
-             'executed only when the function is called. [2]\n'
+             'executed only when the function is called. [4]\n'
              '\n'
              'A function definition may be wrapped by one or more *decorator*\n'
              'expressions. Decorator expressions are evaluated when the '
@@ -3661,7 +3718,7 @@
              'function definitions.)  When the class’s suite finishes '
              'execution, its\n'
              'execution frame is discarded but its local namespace is saved. '
-             '[3] A\n'
+             '[5] A\n'
              'class object is then created using the inheritance list for the '
              'base\n'
              'classes and the saved local namespace for the attribute '
@@ -3865,13 +3922,65 @@
              'exception.\n'
              '    That new exception causes the old one to be lost.\n'
              '\n'
-             '[2] A string literal appearing as the first statement in the '
+             '[2] In pattern matching, a sequence is defined as one of the\n'
+             '    following:\n'
+             '\n'
+             '       * a class that inherits from "collections.abc.Sequence"\n'
+             '\n'
+             '       * a Python class that has been registered as\n'
+             '         "collections.abc.Sequence"\n'
+             '\n'
+             '       * a builtin class that has its (CPython) '
+             '"Py_TPFLAGS_SEQUENCE"\n'
+             '         bit set\n'
+             '\n'
+             '       * a class that inherits from any of the above\n'
+             '\n'
+             '    The following standard library classes are sequences:\n'
+             '\n'
+             '       * "array.array"\n'
+             '\n'
+             '       * "collections.deque"\n'
+             '\n'
+             '       * "list"\n'
+             '\n'
+             '       * "memoryview"\n'
+             '\n'
+             '       * "range"\n'
+             '\n'
+             '       * "tuple"\n'
+             '\n'
+             '    Note:\n'
+             '\n'
+             '      Subject values of type "str", "bytes", and "bytearray" do '
+             'not\n'
+             '      match sequence patterns.\n'
+             '\n'
+             '[3] In pattern matching, a mapping is defined as one of the '
+             'following:\n'
+             '\n'
+             '       * a class that inherits from "collections.abc.Mapping"\n'
+             '\n'
+             '       * a Python class that has been registered as\n'
+             '         "collections.abc.Mapping"\n'
+             '\n'
+             '       * a builtin class that has its (CPython) '
+             '"Py_TPFLAGS_MAPPING"\n'
+             '         bit set\n'
+             '\n'
+             '       * a class that inherits from any of the above\n'
+             '\n'
+             '    The standard library classes "dict" and '
+             '"types.MappingProxyType"\n'
+             '    are mappings.\n'
+             '\n'
+             '[4] A string literal appearing as the first statement in the '
              'function\n'
              '    body is transformed into the function’s "__doc__" attribute '
              'and\n'
              '    therefore the function’s *docstring*.\n'
              '\n'
-             '[3] A string literal appearing as the first statement in the '
+             '[5] A string literal appearing as the first statement in the '
              'class\n'
              '    body is transformed into the namespace’s "__doc__" item and\n'
              '    therefore the class’s *docstring*.\n',
@@ -6095,19 +6204,19 @@
                   'complex\n'
                   'types. For integers, when binary, octal, or hexadecimal '
                   'output is\n'
-                  'used, this option adds the prefix respective "\'0b\'", '
-                  '"\'0o\'", or "\'0x\'"\n'
-                  'to the output value. For float and complex the alternate '
-                  'form causes\n'
-                  'the result of the conversion to always contain a '
-                  'decimal-point\n'
-                  'character, even if no digits follow it. Normally, a '
-                  'decimal-point\n'
-                  'character appears in the result of these conversions only '
-                  'if a digit\n'
-                  'follows it. In addition, for "\'g\'" and "\'G\'" '
-                  'conversions, trailing\n'
-                  'zeros are not removed from the result.\n'
+                  'used, this option adds the respective prefix "\'0b\'", '
+                  '"\'0o\'", "\'0x\'",\n'
+                  'or "\'0X\'" to the output value. For float and complex the '
+                  'alternate\n'
+                  'form causes the result of the conversion to always contain '
+                  'a decimal-\n'
+                  'point character, even if no digits follow it. Normally, a '
+                  'decimal-\n'
+                  'point character appears in the result of these conversions '
+                  'only if a\n'
+                  'digit follows it. In addition, for "\'g\'" and "\'G\'" '
+                  'conversions,\n'
+                  'trailing zeros are not removed from the result.\n'
                   '\n'
                   'The "\',\'" option signals the use of a comma for a '
                   'thousands separator.\n'
@@ -6224,8 +6333,12 @@
                   '+-----------+------------------------------------------------------------+\n'
                   '   | "\'X\'"     | Hex format. Outputs the number in base '
                   '16, using upper-    |\n'
-                  '   |           | case letters for the digits above '
-                  '9.                       |\n'
+                  '   |           | case letters for the digits above 9. In '
+                  'case "\'#\'" is      |\n'
+                  '   |           | specified, the prefix "\'0x\'" will be '
+                  'upper-cased to "\'0X\'" |\n'
+                  '   |           | as '
+                  'well.                                                   |\n'
                   '   '
                   '+-----------+------------------------------------------------------------+\n'
                   '   | "\'n\'"     | Number. This is the same as "\'d\'", '
@@ -6606,7 +6719,7 @@
              '\n'
              'The function definition does not execute the function body; this '
              'gets\n'
-             'executed only when the function is called. [2]\n'
+             'executed only when the function is called. [4]\n'
              '\n'
              'A function definition may be wrapped by one or more *decorator*\n'
              'expressions. Decorator expressions are evaluated when the '
@@ -7085,7 +7198,7 @@
            '                   | "from" relative_module "import" "(" '
            'identifier ["as" identifier]\n'
            '                   ("," identifier ["as" identifier])* [","] ")"\n'
-           '                   | "from" module "import" "*"\n'
+           '                   | "from" relative_module "import" "*"\n'
            '   module          ::= (identifier ".")* identifier\n'
            '   relative_module ::= "."* module | "."+\n'
            '\n'