Generate chord structures that harmonize with the provided piece of music.
|: gf | g2 G2 G2 dc | Bd g2 gbag | a2 A2 A2 AG | FA d2 d2 ef | gfed edcB | 
 cBAG GFED | EG"^d^c" GB"^f#G" B2 G2 G2 :: dc | Bdgd Bdgd | 
 e2 c2 c2 ed | ^ceae ceae | f2 d2 d2 B2 | c2 e2 edcB | cBAG GFED | 
 EG"^d^c" GB"^f#G" B2 G2 G2 :|  
X:1
L:1/8
M:4/4
K:G
|: gf |"G" g2 G2 G2 dc |"G" Bd g2 gbag |"A7" a2 A2 A2 AG |"D7" FA d2 d2 ef |"G" gfed"C" edcB | 
"Am" cBAG"D7" GFED |"C" EG"^d"FA"^c" GB"^f#"Ac |"G" B2 G2 G2 :: dc |"G" Bdgd Bdgd | 
"C" e2 c2 c2 ed |"A7" ^ceae ceae |"D" f2 d2 d2 B2 |"C" c2 e2 edcB |"Am" cBAG"D7" GFED | 
"C" EG"^d"FA"^c" GB"^f#"Ac |"G" B2 G2 G2 :|  