(i)

(ii)

(iii)

(iv)

(v)

(vi)

(vii)

(viii)

A = (1.88, 0.16)
B = (-1.28, 1.06)
l = Segment(A, B)
radio = 3.65 (slider from 0 to 5, step 0.01)
G = Intersect(xAxis, yAxis)
m = OrthogonalLine(G, l)
d = Circle(G, B, A)
R = Intersect(d, m, 2)
c = Circle(G, radio)
O = Intersect(c, m, 1)
b = Line(O, G)
n: ((Distance[G, O] * Distance[G, O])) / Distance[G, R]
q = Circle(G, n)
f = Line(G, B)
g = Line(G, A)
H, K = Intersect(c, f)
F, L = Intersect(c, g)
h = Segment(F, L)
i_1 = Segment(H, K)
j = LineBisector(G, B)
k = LineBisector(A, G)
Z = Intersect(j, k)
n_1 = Segment(G, R)
e = Circle(G, n)
N, C = Intersect(q, b)
r = OrthogonalLine(N, b)
M' = Point(r)
E = Intersect(b, l)
i: ((Distance[G, O] * Distance[G, O])) / ((4 * Distance[G, E]))
s_1 = Circle(G, i)
I, D = Intersect(s_1, b)
Y = Mirror(N, I)
t = Segment(G, Z)
f_1 = Line(Y, t)
M = Intersect(r, f_1)
s: sqrt((Distance[G, O] * Distance[G, O] / 2) + (Distance[G, I] * Distance[G, I]))
c_1 = Circle(I, s)
S = Intersect(c_1, b, 2)
X = Mirror(S, I)
a = Line(X, f_1)
g_1, l_1 = Tangent(X, c_1)
J = Point(g_1)
h_1 = Line(J, M)
P = Intersect(a, h_1)
j_1 = Line(J, f_1)
k_1 = Line(P, r)
Q = Intersect(j_1, k_1)
Q' = Mirror(Q, M)
S' = Mirror(S, M)
d_1 = Conic(Q, S, Q', S', X)
D_1, D_2, D_3, D_4 = Intersect(c, d_1)
m_1 = Segment(B, D_1)
q_1 = Segment(D_2, B)
p_1 = Segment(D_1, A)
r_1 = Segment(A, D_2)
o = false
u = false
v = false
w = false
a_1 = false
b_1 = false
e_1 = false
o_1 = false
t_1 = Segment(Y, X)
p = Segment(S, G)
f_2 = Segment(G, R)
g_2 = Segment(R, Y)