def _read_typedesc(f):
typedesc = {}<EOL>typedesc['<STR_LIT>'] = _read_long(f)<EOL>typedesc['<STR_LIT>'] = _read_long(f)<EOL>if typedesc['<STR_LIT>'] & <NUM_LIT:2> == <NUM_LIT:2>:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>typedesc['<STR_LIT>'] = typedesc['<STR_LIT>'] & <NUM_LIT:4> == <NUM_LIT:4><EOL>typedesc['<STR_LIT>'] = typedesc['<STR_LIT>'] & <NUM_LIT:32> == <NUM_LIT:32><EOL>if typedesc['<STR_LIT>']:<EOL><INDENT>typedesc['<STR_LIT>'] = _read_arraydesc(f)<EOL>typedesc['<STR_LIT>'] = _read_structdesc(f)<EOL><DEDENT>elif typedesc['<STR_LIT>']:<EOL><INDENT>typedesc['<STR_LIT>'] = _read_arraydesc(f)<EOL><DEDENT>return typedesc<EOL>
Function to read in a type descriptor