(i)

(ii)

(iii)

(iv)

(v)

(vi)

(vii)

(a)

(b)

(c)

(d)

G = (7, 1)
radio = 2.53 (slider from 0 to 5, step 0.01)
c = Circle(G, radio)
B = Point(c)
E = (3.58, 2.96)
f = Segment(G, B)
i = OrthogonalLine(E, f)
j = Line(G, B)
C = Intersect(i, j)
k = Segment(C, G)
l = Line(G, xAxis)
Q = Point(l)
T: Q + (Distance[E, C], 0)
L = Midpoint(Q, T)
m = OrthogonalLine(L, l)
n = Segment(E, G)
p = Segment(E, C)
α = Angle(E, G, B)
Q' = Rotate(Q, (-α), T)
q = Line(Q', T)
r = OrthogonalLine(T, q)
H_1 = Intersect(m, r)
d = Circle(H_1, T)
s = Segment(Q, T)
e = CircleArc(H_1, Q, T)
I_1 = Intersect(e, m)
t = Segment(L, I_1)
F' = Point(t)
b = Line(Q, F')
P' = Intersect(e, b, 2)
BG = Distance(B, G)
FP = Distance(F', P')
o: abs(BG / 2 - FP)
F = Minimize(o, F')
f_1 = Line(Q, F)
P = Intersect(e, f_1, 2)
g_1 = Segment(Q, P)
h_1 = Segment(T, P)
i_1 = Segment(T, F)
j_1 = Line(P, m)
U = Intersect(j_1, i_1)
k_1 = Segment(P, U)
β = Angle(Q, P, U)
D = Rotate(B, β, G)
l_1 = Line(E, D)
Z = Intersect(j, l_1)
distanciaB'J = Distance(D, Z)
distanciaGJ = Distance(G, Z)
m_1 = Segment(E, Z)
n_1 = Segment(D, G)
g = OrthogonalLine(D, j)
I = Intersect(j, g)
h = Segment(D, I)
a, f_2 = Tangent(D, c)
K = Intersect(a, j)
p_1 = Segment(B, K)
q_1 = Segment(D, K)
r_1 = OrthogonalLine(U, j_1)
O = Intersect(f_1, r_1)
s_1 = OrthogonalLine(U, f_1)
t_1 = OrthogonalLine(T, f_1)
a_1 = OrthogonalLine(T, t_1)
H = Intersect(f_1, s_1)
N = Intersect(t_1, f_1)
S = Intersect(a_1, s_1)
b_1 = Segment(H, S)
c_1 = Segment(S, T)
d_1 = Segment(T, N)
e_1 = Segment(O, U)
u = false
v = false
w = false
o_1 = false
u_1 = false
v_1 = false
w_1 = false
a_2 = false
b_2 = false
c_2 = false
d_2 = false