<｜begin▁of▁sentence｜>### Instruction:
Given a tree graph with 5 vertices and each non-leaf vertex has 2 children, can you use the CairoGraphDrawer to draw the tree layout of the graph and save the visual representation to a PNG file?
### Response:
import igraph as ig
import cairo

g = ig.Graph.Tree(5, 2)
layout = g.layout('rt')  # Tree layout

surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 600, 400)
context = cairo.Context(surface)
drawer = ig.drawing.graph.CairoGraphDrawer(context, bbox=(600, 400))
drawer.draw(g, layout=layout)
surface.write_to_png('tree_graph.png')
<|EOT|>
