Êþº¾4R _Û SÜ 6Ý 6Þ Sß Tà Sá@ 6â 6ãäå æ -ç 6è Léê Të ì í Tîï ð 6ñò?PbMÒñ©ü?6âëC- ó ô õ ö÷ #ø 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[DrSqxySq¢getCirclePoint(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!†"—#©$¼&Ô'Ý(î*pRïqrïabïcb Ïsi—Xtu©FvwÔxuÝyuzÿS{|| (}~n/*´¯o.p qr€nKš*´ ¯*´ ¯o2pqr�‚z ƒ€nQš *´¶&¯*´¶&¯o5pqr�‚z „…nWš*´¶¶'°*´¶¶'°o8pqr�‚z†‡n Z*´¶*´¶¶(H'*´¶&*´¶&kg*´¶&*´¶&kc'koJ*´¶*´¶*´¶¶)¶)¶°o=>:?p ZqrHˆi: ‰iŠ‹n> »*Y+·,¿oEp qr Œ�Ž~nÌ j*´¶&H*´¶&J*´¶*´¶¶(9¸9.')cgk')cgkk0)kg)kck2)kc0'kg'kck4ok¯oKLM#N*Op4jqrb�iZki#Gˆi*@si�‘n@»6Y*´¶*´¶·7°oSp qr’“n¶ »*´¶8+¶M,*´¶9¶:—žX*´´;+¶N-¶<9*´´=˜œ¯*´*´ o¸>9-*´¶9¶?9˜�*´´=g¯*+·@¯*´´;+¶N-¶<9*´*´ o¸>9.-*´¶9¶?g9˜�*´´=g¯*+·@¯o6 W YZ.[=]K^X_k`qcƒd‘e¢fµgpp (I”u.C•iK&–iX—i}>˜uƒ8™i‘*ši¢›i»qr»œw ¯�uz7þ=žžý-ÿ{ŸžÿC{Ÿžž “nÉW*´%+¶AM*´¶B*´¶BkJ,1,1k,1,1kc9)˜�,1¯,1,1kc)c*´¶Bk¸kg¸¯on op*q5rp4WqrWœw N¡¢>£i*-¤iz þ5¥¦§nh4*´¶8*´%´C'¸D*¶Ek¶*´%´F'¸G*¶Ek¶¶H¶°o}p4qr4¨i’©ne=»*´´;+´´;¶¶!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+´´=g¸I9*´´;+´´;¶*´´=g+´´=g¸I9 *´´;+´´;¶*´´=g+´´=g¸I9"*´´;+´´;¶*´´=g+´´=g¸I9$˜�˜�¯˜�˜� ¯ ˜�˜�"¯ ˜�˜�$¯:&:'.9(J9*J9,M92949698(—žb*6(Ooc·Q::+:·@92*6(Oog·Q:;+;·@9424˜œ::&6(*kc96§;:&6(*kg96(,k9(§ÿ›24¸R9..˜œ¯.9((—žb+8(Ooc·Q::*:·@92+8(Oog·Q:;*;·@9424˜œ::'8(*kc98§;:'8(*kg98(,k9(§ÿ›24¸R900˜œ¯&'¶:::*´¶9¶?9;;˜œ*´´;'¶*´´=g¯.;g˜œ*´´;'¶*´´=g¯:+´¶9¶?9;;˜œ+´´;&¶+´´=g¯.;g˜œ+´´;&¶+´´=g¯.0¸R¯oA�Ž*�@�V“c”p•‚–”—¥˜·™ÄšÒœà�îžüŸ  1¡X¢£¦¤¹¥̦ß§ò«ø¬­®±²-³5´DµL¶T·X¸eºi»s½z¾}¿†À‘–ßĮŶÆÅÇÍÈÕÉÙÊæÌêÍôÏûÑþÒÓØÙ)ÚFÛgÝuÞ’ß³ápˆ'-Mªw:D6«w;®Mªw:Å6«w;»qr»¬r¦­u*‘®u@{¯uVe°ucX±ipK²i‚9³i ”'´i ¥µi·¶iÄ÷·iÒé¸iàÛ–iîÍšiü¿¹i ±ºi1Š»iXc¼i <½i"¦¾i$õÆ¿w&øÃÀw'ý¾Ái(¹Âi*´Ãi,†5Äi.´Åi0 ¯Æi2¬Çi4©¨i6¦Èi8 Éu:)’Êi;zþÿ¹{{žžžžÿ"#{{žžžžŸŸýOŸŸ ù ÿ"{{žžžžŸŸýOŸŸ ù ÿ!{{žžžžŸŸý3ž * ËÌn �»SY»TY·U¸·VL»SY»TY·U¸·VM»6Y+,·7N»SY»TYW·U¸·V:»SY»TY2W·UY¸·V:»6Y·7:²[-¶\¶]±o"èé2ê<ðYñvòƒó�ôpH�ÍÎxÏb2^Ðb<TÑrY7ÒbvÓbƒ ÔrA�Õn/*¶^°op qrÖ×A�Øn/*¶^°op qrÙÚ