What is the format of the TLS extension field? In the TLS 1.2 protocol, the client may send extensions. My question is: what is the format of this field? is it a list?

In TLS 1.2 client hello, the standard says: 


  extensions
        Clients MAY request extended functionality from servers by sending
        data in the extensions field.  The actual "Extension" format is
        defined in Section 7.4.1.4.


At the server hello, the standard explicitly says it is a list. But I am not sure if this implies that the client also sends the extensions as a list:


  extensions A list of extensions.  Note that only extensions offered by
  the client can appear in the server's list.


I assume the same format is used in tLS 1.3 as well.
Section 7.4.1.2 of RFC 5246 defines the following ClientHello:


  struct {
      ProtocolVersion client_version;
      Random random;
      SessionID session_id;
      CipherSuite cipher_suites&lt;2..2^16-2&gt;;
      CompressionMethod compression_methods&lt;1..2^8-1&gt;;
      select (extensions_present) {
          case false:
              struct {};
          case true:
              Extension extensions&lt;0..2^16-1&gt;;
      };
  } ClientHello;



As you can see, you can add up to $2^{16}=65536$ bytes of extensions to your client hello in a list format as per section 4.3.