Êþº¾4, G°± M² M³ M´ Mµ M¶·¸ °¹ º »¼ ½ ¾¿ À MÁ  à Ä ÅÆ ÇÈÉ Ê@ Ë Ì Í?à Î 6Ï 6Ð 6Ñ Ò@@ ÅÓ MÔ ÕÖ .× .Ø Ù 6Ú 6Û 6Ü 6ÝÞ 6ß 6à 6á âãä åæ 6çèé 6Ê 6Ë 6Ì Mê ë Mìíî ì ïð Mñ@�@ò ó Mô Mõöp1LProGAL/geom3d/Point;p2p3LSSs[LProGAL/geom3d/Shape;faceLProGAL/geom3d/Shape;B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)VCodeLineNumberTableLocalVariableTablethisLProGAL/geom3d/Triangle;([LProGAL/geom3d/Point;)Vp[LProGAL/geom3d/Point;getP1()LProGAL/geom3d/Point;getP2getP3 getCorner(I)LProGAL/geom3d/Point;cIgetPoint StackMapTable getDimension()Iorient(LProGAL/geom3d/Point;)ZrmLProGAL/math/Matrix;detD¿ getCentergetArea()D getNormal()LProGAL/geom3d/Vector; circumradiusabs circumcenternLProGAL/geom3d/Vector;m1m2l1LProGAL/geom3d/Line;l2inradiusincenterPCgetIntersectionA(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;qdiruvw0 intersectionòÉÞ containsPointcontainsuuuvvvwwuwvttoString()Ljava/lang/String;(I)Ljava/lang/String;dec toConsole()V(I)VisBigclone()LProGAL/geom3d/Triangle;()Ljava/lang/Object; Exceptions÷ SourceFile Triangle.java Z¦ProGAL/geom3d/Shape VW RS TS US lijava/lang/Errorjava/lang/StringBuilderBadly specified point number ( øù øú). Should be between 0 and 2 ¡¢ ZûProGAL/math/Matrix Zü hi ýþ ÿ z  vProGAL/geom3d/Point z z  z Z     z |   {| ŽProGAL/geom3d/Line Z � |    eProGAL/geom3d/Vector Z   ! "#Normal is zero$ %û &' a is zero a is not zero ™q (q ¡£Triangle[p1=%s,p2=%s,p3=%s]java/lang/Object) *+ ¥§ProGAL/geom3d/Triangle ©e Z[ ©ªProGAL/geom3d/Simplex$java/lang/CloneNotSupportedExceptionappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;(Ljava/lang/String;)V(II)VgetCoord(I)Dset(IID)V determinantjava/lang/Mathabs(D)DProGAL/math/ConstantsEPSILONxyz(DDD)VvectorTo-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector; crossThis.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector;length normalizeThisdistance(LProGAL/geom3d/Point;)Dsqrt getMidpoint.(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)V+(LProGAL/geom3d/Line;)LProGAL/geom3d/Point;toVector multiplyThis(D)LProGAL/geom3d/Vector;addThis divideThistoPoint-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)Vcross isZeroVector()Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlndot(LProGAL/geom3d/Vector;)Dequalsjava/lang/Stringformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;!MGQRSTSUSVWXYZ[\x*·*½µ*+µ*,µ*-µ±] ^*_`RSTSUSZa\j"*·*½µ*+2µ*+2µ*+2µ±] !^"_`"bcde\/*´°]"^ _`fe\/*´°]$^ _`ge\/*´°]&^ _`hi\:*¶°](^_`jkli\›Kª* %*´°*´°*´°»Y» Y·  ¶ ¶ ¶ ¶·¿]+,!-&.+0^K_`Kjkmno\,¬]4^ _`pq\<{»Y·M>¢06¢,*¶¶¶„§ÿæ,¶„§ÿÑ>¢,+¶¶„§ÿí,¶,¶J)¸²˜œ¬)˜œ§¬]:7 89:+91<88>>E?P>V@]BbCoD^Hjk 2rk@jk{_`{bS qstbuvm! ý wüúú üúü @xe\“ Y»Y*´¶*´¶c*´¶co*´¶*´¶c*´¶co*´¶*´¶c*´¶co·°]IJ#K>LXI^ Y_`yz\K! *´*´¶"*´*´¶"¶#¶$k¯]R^ !_`{|\G*´*´¶"*´*´¶"¶#¶%°]W^ _`}z\» Y*´*´¶&H*´*´¶&J*´*´¶&9')cc'o9')kk)')cgk'cgk)cgk¸+ko¯]_ `a%b1c^4Y_` M~vAv%4jv1(€v�e\ÇW*¶,L*´*´¸-M*´*´¸-N».Y,*´*´¶"+¶#·/:».Y-*´*´¶"+¶#·/:¶0°]klmn6oOp^>W_`R‚ƒF„S:…S6!†‡Oˆ‡‰z\© G*´*´¶&H*´*´¶&J*´*´¶&9')cc'o9'g)gkgko¸+¯]t uv%w1x^4G_` ;~v/v%"jv1€vŠe\ç k*´*´¶&H*´*´¶&J*´*´¶&9')cc9*´¶1'¶2:  *´¶1)¶2¶3W *´¶1¶2¶3W ¶4W ¶5°]& | }~%-€:�K‚]ƒe„^>k_` _~vSv%Fjv->‹v:1Œƒ �Ž\à Ù»6Y+,·7N»6Y*´*´·7:»6Y*´*´·7:¶8:¶9™ ²:;¶<°»6Y*´+·7:¶=w9-¶=9  ¸²˜œ—š ²:>¶<°²:?¶<° o9  ˜œ°»Y+¶ -¶@kc+¶ -¶Akc+¶ -¶Bkc·:*¶C™°°]>ˆ Ž�,�5‘G’U“_”g•s–„—Ž™•šž�Ëž^z Ù_`ÙbSÙ�S Ï�ƒ¾‘ƒ,­’ƒ5¤‚ƒU„“ƒ_z~vgrv •Drv Ë”Sm1ÿG•––————þ<— üü8–˜q\g'*´+¶Dš*´+¶Dš*´+¶D™§¬]£^'_`'bSm!@™q\¦¥»6Y*´*´·7M»6Y*´*´·7N,,¶=9,-¶=9--¶=9»6Y*´+·7:  ,¶=9  -¶=9 kkg9 k kgo9˜› —ž¬ k kgo9˜› c—ž¬¬]:éê ë'ì.í5îCïKðSñ`ópô€õ�ö£÷^„ ¥_`¥bS•‘ƒ …’ƒ'~šv.w›v5pœvCb�ƒ KZžv SRŸv `Evvp5€v� vm%ÿ~ •–———ü ¡¢\0*¶E°]û^ _`¡£\_+F½GY*´¶HSY*´¶HSY*´¶HS¸I°]ÿ^+_`+¤k¥¦\0*¶J±]^ _`¥§\D ²:*¶E¶<±]  ^ _` ¤k¨q\p0+¶¸K—�+¶¸K—�+¶¸K—ž§¬] ^0_`0bSm*@©ª\G»MY*´¶N*´¶N*´¶N·O°]^ _`A©«\/*¶P°] ^ _`¬­®¯