def __embed_branch(dfs_data):
u = dfs_data['<STR_LIT>'][<NUM_LIT:0>]<EOL>dfs_data['<STR_LIT>'] = []<EOL>dfs_data['<STR_LIT>'] = []<EOL>dfs_data['<STR_LIT>'] = {}<EOL>n = dfs_data['<STR_LIT>'].num_nodes()<EOL>f0 = (<NUM_LIT:0>, n)<EOL>g0 = (<NUM_LIT:0>, n)<EOL>L0 = {'<STR_LIT:u>': <NUM_LIT:0>, '<STR_LIT:v>': n}<EOL>R0 = {'<STR_LIT:x>': <NUM_LIT:0>, '<STR_LIT:y>': n}<EOL>dfs_data['<STR_LIT>'].append(f0)<EOL>dfs_data['<STR_LIT>'].append(g0)<EOL>dfs_data['<STR_LIT>'][<NUM_LIT:0>] = [L0, R0]<EOL>dfs_data['<STR_LIT>']['<STR_LIT:m>'] = <NUM_LIT:0><EOL>dfs_data['<STR_LIT>']['<STR_LIT:l>'] = <NUM_LIT:0><EOL>dfs_data['<STR_LIT>']['<STR_LIT:r>'] = <NUM_LIT:0><EOL>nonplanar = __embed_branch_recursive(u, dfs_data)<EOL>return not nonplanar<EOL>
Builds the combinatorial embedding of the graph. Returns whether the graph is planar.