4 c ! !     @ !           !  ) ?  !   !  ) @ !TD-  @!TD- !"# $% & '( X) X* + ,!TD-- . /0 1 2 )3@ /4 /5 /6 7 8 / / 9 :; <= !> ! <? !@ !A <B CD CE !F !G !HIJK L> )M !NOPQ RS !T UV WXYcenterLProGAL/geom2d/Point;radiusD(LProGAL/geom2d/Point;D)VCodeLineNumberTableLocalVariableTablethisLProGAL/geom2d/Circle;(LProGAL/geom2d/Circle;)Vc-(LProGAL/geom2d/Point;LProGAL/geom2d/Point;)Vp1p2B(LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;)VabLProGAL/geom2d/Line;bcab StackMapTable/(LProGAL/geom2d/Circle;LProGAL/geom2d/Circle;)Vlc1c2E(LProGAL/geom2d/Circle;LProGAL/geom2d/Circle;LProGAL/geom2d/Circle;)Vcircle1circle2circle3c3tmpmec(LProGAL/geom2d/Triangle;)VtriLProGAL/geom2d/Triangle;()LProGAL/geom2d/Point; getRadius()D setCenter(LProGAL/geom2d/Point;)Vp setRadius(D)Vr translate(LProGAL/geom2d/Vector;)VvLProGAL/geom2d/Vector; enteringAngle@(LProGAL/geom2d/Point;LProGAL/geom2d/Circle;Z)Ljava/lang/Double;alphabetaCccwZ centerDist exitingAngleLjava/lang/Double;J>(LProGAL/geom2d/Point;LProGAL/geom2d/Line;Z)Ljava/lang/Double;qLdist intersections.(LProGAL/geom2d/Circle;)[LProGAL/geom2d/Point;dSqdRSqrSqd1xyret[LProGAL/geom2d/Point;,(LProGAL/geom2d/Line;)[LProGAL/geom2d/Point;dxdyx1y1x2y2dr2delta deltaRootminimumEnclosingCircle_Welzl((Ljava/util/List;)LProGAL/geom2d/Circle;pointsLjava/util/List;LocalVariableTypeTable'Ljava/util/List; Signature?(Ljava/util/List;)LProGAL/geom2d/Circle;findMEC@(ILjava/util/List;I[LProGAL/geom2d/Point;)LProGAL/geom2d/Circle;iInmW(ILjava/util/List;I[LProGAL/geom2d/Point;)LProGAL/geom2d/Circle;getPowerDistance(LProGAL/geom2d/Point;)D(LProGAL/geom2d/Circle;)DisEmpty(Ljava/util/List;D)ZepsZ+(Ljava/util/List;D)Z isOrthogonal(LProGAL/geom2d/Circle;)Z!minimumEnclosingCircle_bruteforce containsAlljkminRad minCircle DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated;contains(LProGAL/geom2d/Point;)Z(LProGAL/geom2d/Point;D)ZonCircletoString()Ljava/lang/String;(I)Ljava/lang/String;dec toConsole()V(I)VtoScene"(LProGAL/geom2d/viewer/J2DScene;)VsceneLProGAL/geom2d/viewer/J2DScene;2(LProGAL/geom2d/viewer/J2DScene;Ljava/awt/Color;)VclrLjava/awt/Color; getCenter SourceFile Circle.java m ij klProGAL/geom2d/Point m[ \] ^_ mn ` ab cd efjava/lang/Errorjava/lang/StringBuilder gh gi mj k lmProGAL/geom2d/Line mv noProGAL/geom2d/Circle mp qrs tu my vw xy z{java/lang/Math |{} ~alpha =  y g j    beta =   w _ y    w j l   Z   XWarning: Please only use Circle.minimumEnclosingCircle_bruteforce for testing purposes!!java/lang/DoubleminCircle not set .. g y  Circle[%s,%f]java/lang/Object    ProGAL/geom2d/Shapejava/util/Iterator(DD)VmidPointA(LProGAL/geom2d/Point;LProGAL/geom2d/Point;)LProGAL/geom2d/Point;distance(LProGAL/geomNd/Point;)Dequals getBisector@(LProGAL/geom2d/Point;LProGAL/geom2d/Point;)LProGAL/geom2d/Line;isParallelWith(LProGAL/geom2d/Line;)ZgetIntersection?(LProGAL/geom2d/Line;LProGAL/geom2d/Line;)LProGAL/geom2d/Point;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(Ljava/lang/String;)Vclonemax(DD)DgetPoint(D)LProGAL/geom2d/Point;ProGAL/geom2d/ApolloniusSolversolveApollonius](LProGAL/geom2d/Circle;LProGAL/geom2d/Circle;LProGAL/geom2d/Circle;III)LProGAL/geom2d/Circle;ProGAL/geom2d/Triangle getCorner(I)LProGAL/geom2d/Point;addThis-(LProGAL/geom2d/Vector;)LProGAL/geom2d/Point;acos(D)D rightTurnB(LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;)ZleftTurnjava/lang/SystemoutLjava/io/PrintStream;ProGAL/math/FunctionstoDeg(D)Ljava/lang/StringBuilder;java/io/PrintStreamprintlnvalueOf(D)Ljava/lang/Double; doubleValue getDistance projectPoint,(LProGAL/geom2d/Point;)LProGAL/geom2d/Point;vectorTo-(LProGAL/geom2d/Point;)LProGAL/geom2d/Vector;ProGAL/geom2d/Vector scaleToLength(D)LProGAL/geom2d/Vector;adddistanceSquaredsqrt normalizeThis()LProGAL/geom2d/Vector;rotate90 multiplyThis subtractThisProGAL/math/ConstantsEPSILONjava/util/Listsize()Iget(I)Ljava/lang/Object;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;err(I)Ljava/lang/StringBuilder;absjava/lang/Stringformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;java/awt/ColorblackProGAL/geom2d/viewer/J2DSceneaddShape((LProGAL/geom2d/Shape;Ljava/awt/Color;)V!!chijkl#mnoY**+*(p q rsijklmtof&**Y++*+p%q&rs&usmvoU*+,+,  o p  q rswjxjmyo*+, ,- *+-**+ +- *+,**+ +,:,-:F+:,:+, +- -:,-  ,:** I**+YY+,-**, pV#$%&,)4*=+L.S/Z0d1g2j3{45679:;>qRg=wjj:xjSz{Z|{rs}j~juj>.9 moR*+,*+*+,+*,*,{+, *+*+,PY+,N*-+, k+ og, oc **+ +cp:LM NO"P*Q5R@SNTYUkW{XY[q*{={rsss"*Lmot *+:,:-:!Y"Y:**!Y"Y:**!Y"Y:**#:**p. ]^_ ` c6d_eghijq\ rsssss s sss#6((moL*+$+$+$%p mnqrsio/*pqq rso/*prq rso:*+ptqrsjo:*'puqrslo> *+&Wpwq rs o *, 9,*c+*g,*gk+*g,*gkc*ko'9k**kc,,kg k*ko'9*,*+(*cg91g9',*+,c-g9 g9/Y01234p* z {|b}~qHblrlrsjs l "o*, 9+*g,*gk+*g,*gkc*ko'4:k**kc,,kg k*ko'4:8,*+(55g4:I55c4:6,*+,55g4:5w5g4:/Y05123p" VqHrsjs lV!o ,+69*,*7:+*g*gk+*g*gkc*ko'9*o'9 *+(--g9"w9 w9 *+, 8g9/Y0123/Y: 123 g4p:]imqRj]li~l rsj{lBotM*+ J)+*c&)*c+)+c*)*c+%,++*;+<=S,S,)+c*%,**+;*<=S,S,+*>9?9**k9 ++k9  g c9   ko9@k k  kg?o9*+;B:C:DW oDW,*=&S,*=ES,)+*c%,**+;*<=S,S,p~=Kgkm{ /@BPlprq lll {l ql flO}l? 8trstusocl;///o+FGI+FHw9+I*g9+I*g9(g9 g9 ((kkc9 k kg9**kkkg9JwJ6:Y*koc*(kogS:?9pY*k(kgoc*(kkcogSY*k(kcoc*(kkgogSmY*k(kcoc*(kkgogSY*k(kgoc*(kkcogSpZ#4:ALYmy6kq-rs{ll#l4ol:il Abl LWlYJllm6ll#y ;i o\L*K*+Lp q ~  o>!YY :!Y-2 :0!Y-2-2M:!Y-2-2-2%66+NO-+NS+`-L:p* (? U ^ q q>X9~s (2oG*+>**kgpqrsjoG*+P++kgpqrsuso/+Q:RS:*(Tp -q* j/rs//l / !oO*+Up"qrsus@ o0 VW3YHN6*K6*K~n!Y*N*NM:6*Q:R"S:  O 6' HN}h6*K6*K6*Ky!Y*N*N*N%:6*Q:  R" S:  O 6' HNdO:-#YY[*K\-p!&+ ,-.+/50T1W232678.-=>?@ABCEEKCNG]HcIf?l>r=xYZquj TLsWI ;j LsI ls N)%"4%#oZ*+>**kp_qrsj@of*+>**k(gpbq rsjl@oa"**+ +c]gpfq"rs"us @oa"*+>**kg_Jpjq"rs"j @o0*`plq rsoe1Ya\bcY*SY*4Sdpoq1rs1o0*eprq rso@ /*`3psq rs o= +*fgpuq rs oE+*,gpvq rso/*pzq rs