4R _ S 6 6 S T S@ 6 6 - 6 L T   T  6?PbM?6C-     # 6 S T T  *@ !TD-@@@( 6    S  S -  6 #  # - 6 # -  -?@Y 6 - T S@@$  6  6s0LProGAL/geom3d/volumes/Sphere;s1equatorLProGAL/geom3d/Circle;planeLProGAL/geom3d/ParametricPlane;d0Dd1r?(LProGAL/geom3d/volumes/Sphere;LProGAL/geom3d/volumes/Sphere;)VCodeLineNumberTableLocalVariableTablethisLProGAL/geom3d/volumes/Lens;dnormalLProGAL/geom3d/Vector;centerLProGAL/geom3d/Point;xy StackMapTable getRadius()DgetFocalDistance(I)DiIgetSphereRadiusgetSphereCenter(I)LProGAL/geom3d/Point; getCenter()LProGAL/geom3d/Point;dSqd0poverlaps!(LProGAL/geom3d/volumes/Volume;)ZvolLProGAL/geom3d/volumes/Volume; getVolumeRclone()LProGAL/geom3d/volumes/Lens;distance(LProGAL/geom3d/Point;)Da0pa0pDista0Thetaa0Anglea1pa1pDista1Thetaa1Anglepcp discDistancexyz[DrSqxySqgetCirclePoint(D)LProGAL/geom3d/Point;s(LProGAL/geom3d/volumes/Lens;)DtmpPlustmpMinusla0b0a0b1a1b0a1b1 a0b0Angle a0b1Angle a1b0Angle a1b1Angle b0a0Angle b0a1Angle b1a0Angle b1a1Angleb0Thetab1Thetaa0b0Dista0b1Dista1b0Dista1b1Dist disc1Point disc2PointdeltascaledeltaRedsDisttDist tmpPlusDist tmpMinusDisttpApB pApBAnglemain([Ljava/lang/String;)Vargs[Ljava/lang/String;a0a1Ab0b1B()Ljava/lang/Object; Exceptions  ()LProGAL/geom3d/volumes/Volume; SourceFile Lens.java l! " ab cb #~ hi ji"java/lang/IllegalArgumentException1Lens spheres are not allowed to contain eachother l$ %& ki '(3Lens is undefined unless the lens-spheres intersect )* +, -, ./ProGAL/geom3d/Circle l0 deProGAL/geom3d/Vector l1 23 45 63ProGAL/geom3d/ParametricPlane l7 fg }~ 8 9,java/lang/RuntimeExceptionNot yet implementedjava/lang/MathProGAL/geom3d/volumes/Lens lm :5 ;< vw =~ >i ?& @< AB Cu D& Eu F& G3 HIjava/lang/Double JIProGAL/geom3d/volumes/SphereProGAL/geom3d/Point lKL MN O PQ java/lang/ObjectProGAL/geom3d/volumes/Volume$java/lang/CloneNotSupportedException()V ()LProGAL/geom3d/volumes/Sphere;getRadiusSquared(Ljava/lang/String;)Vsqrt(D)DisNaN(D)ZvectorTo-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector; divideThis(D)LProGAL/geom3d/Vector;multiplyadd-(LProGAL/geom3d/Vector;)LProGAL/geom3d/Point;/(LProGAL/geom3d/Point;DLProGAL/geom3d/Vector;)V(DDD)V crossThis.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector; normalizeThis()LProGAL/geom3d/Vector;crossD(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;LProGAL/geom3d/Vector;)VdistanceSquared multiplyThis getNormaldot(LProGAL/geom3d/Vector;)Dlengthradiusatanangle projectPoint(LProGAL/geom3d/Point;)[Dv1cosv2sinaddThismax(DD)Dmin(LProGAL/geom3d/Point;D)Vjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(D)V!6_`abcbdefghijikilmn **+*,+,J*))k,g+c)ko *)* g *  *  Y *+* * kg* Y+,):+* :*Y*Y !:":*#Y$%oB  7A] r!"#$&'(*pRqrabcb siXtuFvwxuyuzS{|| (}~n/*o.p qrnK* * o2pqrz nQ *&*&o5pqrz nW*'*'o8pqrznZ**(H'*&*&kg*&*&kc'koJ***))o=>:?p ZqrHi: in> *Y+,oEp qr ~n j*&H*&J**(99.')cgk')cgkk0)kg)kck2)kc0'kg'kck4okoKLM#N*Op4jqrbiZki#Gi*@sin@6Y**7oSp qrn *8+M,*9:X*;+N-<9*=** o>9-*9?9*=g*+@*;+N-<9** o>9.-*9?g9*=g*+@o6 W YZ.[=]K^X_k`qcdefgpp (Iu.CiK&iXi}>u8i*iiqrw uz7=-{C{nW*%+AM*B*BkJ,1,1k,1,1kc9),1,1,1kc)c*Bkkgon op*q5rp4WqrWw N>i*-iz 5nh4*8*%C'D*Ek*%F'G*EkHo}p4qr4ine=*;+;!M*;+;!N*;+;!:*;+;!:,*9?9-*9?9.*9?g9 .*9?g9 .,+9?g9.+9?g9-+9?9+9?9** o>9** o>9++ o>9++ o>9*;+;*=g+=gI9*;+;*=g+=gI9 *;+;*=g+=gI9"*;+;*=g+=gI9$  " $:&:'.9(J9*J9,M92949698(b*6(OocQ::+:@92*6(OogQ:;+;@9424::&6(*kc96;:&6(*kg96(,k9(24R9...9((b+8(OocQ::*:@92+8(OogQ:;*;@9424::'8(*kc98;:'8(*kg98(,k9(24R900&':::*9?9;;*;'*=g.;g*;'*=g:+9?9;;+;&+=g.;g+;&+=g.0RoA*@Vcp 1X-5DLTXeisz})Fgup'-Mw:D6w;Mw:6w;qrru*u@{uVeucXipKi9i 'i iiiiiii i1iXci <i"i$w&w'i(i*i,5i.i0 i2i4i6i8u:)i;z{{"#{{O "{{O !{{3 * n SYTYUVLSYTYUVM6Y+,7NSYTYWUV:SYTY2WUYV:6Y7:[-\]o"2<YvpHxb2^b<TrY7bvb rAn/*^op qrAn/*^op qr