O = Intersect(xAxis, yAxis)
F2 = Point(xAxis)
c = Circle(O, F2)
F1 = Intersect(c, xAxis, 2)
d = Circle(F2, O)
Y = Intersect(d, xAxis, 2)
e = Circle(F1, O)
X = Intersect(e, xAxis, 2)
L1 = Point(yAxis)
f = Circle(O, L1)
L2 = Intersect(f, yAxis, 2)
a = Segment(L1, L2)
g = CircleArc(Y, L1, L2)
h = CircleArc(X, L2, L1)
A = Point(xAxis)
b = OrthogonalLine(A, xAxis)
B = Point(b)
u = Vector(A, B)
i = Line(B, xAxis)
C = Intersect(i, a)
j = Ray(C, B)
k = Ray(C, F2)
l = Line(B, O)
m = Line(B, F1)
D = Intersect(m, a)
n = Ray(D, F1)
p = Line(D, xAxis)
s = Line(F2, C)
B' = Intersect(l, s)
q = Ray(D, B')
r = OrthogonalLine(B', xAxis)
A' = Intersect(r, xAxis)
v = Vector(A', B')
t = Line(A, A')