def _parse_hello_extensions(data):
if data == b'<STR_LIT>':<EOL><INDENT>return<EOL><DEDENT>extentions_length = int_from_bytes(data[<NUM_LIT:0>:<NUM_LIT:2>])<EOL>extensions_start = <NUM_LIT:2><EOL>extensions_end = <NUM_LIT:2> + extentions_length<EOL>pointer = extensions_start<EOL>while pointer < extensions_end:<EOL><INDENT>extension_type = int_from_bytes(data[pointer:pointer + <NUM_LIT:2>])<EOL>extension_length = int_from_bytes(data[pointer + <NUM_LIT:2>:pointer + <NUM_LIT:4>])<EOL>yield (<EOL>extension_type,<EOL>data[pointer + <NUM_LIT:4>:pointer + <NUM_LIT:4> + extension_length]<EOL>)<EOL>pointer += <NUM_LIT:4> + extension_length<EOL><DEDENT>
Creates a generator returning tuples of information about each extension
from a byte string of extension data contained in a ServerHello ores
ClientHello message

:param data:
    A byte string of a extension data from a TLS ServerHello or ClientHello
    message

:return:
    A generator that yields 2-element tuples:
    [0] Byte string of extension type
    [1] Byte string of extension data