code: def gen_txt_repr(self, hdrs, register=True):
          # type: (Union[H2Frame, List[HPackHeaders]], Optional[bool]) -> str
          
          lst = []
          if isinstance(hdrs, H2Frame):
              hdrs = hdrs.payload.hdrs
  
          for hdr in hdrs:
              try:
                  if isinstance(hdr, HPackIndexedHdr):
                      lst.append('{}'.format(self[hdr.index]))
                  elif isinstance(hdr, (
                      HPackLitHdrFldWithIncrIndexing,
                      HPackLitHdrFldWithoutIndexing
                  )):
                      if hdr.index != 0:
                          name = self[hdr.index].name()
                      else:
                          name = hdr.hdr_name.getfieldval('data').origin()
                      if name.startswith(':'):
                          lst.append(
                              '{} {}'.format(
                                  name,
                                  hdr.hdr_value.getfieldval('data').origin()
                              )
                          )
                      else:
                          lst.append(
                              '{}: {}'.format(
                                  name,
                                  hdr.hdr_value.getfieldval('data').origin()
                              )
                          )
                  if register and isinstance(hdr, HPackLitHdrFldWithIncrIndexing):  # noqa: E501
                      self.register(hdr)
              except KeyError as e:  # raised when an index is out-of-bound
                  print(e)
                  continue
          return '\n'.join(lst)
docs: gen_txt_repr returns a "textual" representation of the provided
          headers.
  
          The output of this function is compatible with the input of
          parse_txt_hdrs.
          @param H2Frame|list of HPackHeaders hdrs: the list of headers to convert to textual representation  # noqa: E501
          @param bool: whether incremental headers should be added to the dynamic table as we generate the text  # noqa: E501
              representation
          @return str: the textual representation of the provided headers
          @raise AssertionError