4 A  @  @  @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @  @ @  $ " @ @ @@  - @ -     @ @  B @ ; " @ - - - B @ E  H H H H  - - -   @  - @  @ - Z Z @ @ -  ` ` @ @  5 ` e ` e k k Z Z - @ @ @ t  ` `  - ` `! @"  # - -$% & Z& -' Z Z$ @( B) -* 5+ k, k- ./ 01 52 3 54 05 6 7 8 9 : ; -< = > ?@@ BA 53 BB eC @D E @F @G@ ?H ?I B+ JK L M kN O P 5Q R? eS eT ?U ?V ?W ?X BQ ?Y 5Z @[@$" ?\ ]^_ `a Bb B> B=c Bde f g h Bi Bj kl mn @o @p @q ]r @sA. Bt uv @w @x @y "z @{ @|}  B~   B  ` B B B B B B u B  B B B   B B @  @ - Z Z - ` - - - @ - ` ` ` ` - - - e e  BZ !  " " ; " ; ; ; - ; -  @ @ @ -  B kT Z 5) ; ` InnerClassesSortToolHeapItemsHeapItemverticesLjava/util/List; Signature8Ljava/util/List;tetsLjava/util/Set;4Ljava/util/Set;mapTrisLjava/util/Map;bLjava/util/Map;mapEdges_Ljava/util/Map; alphaEdges5Ljava/util/Set; alphaTris4Ljava/util/Set; alphaTetsalphaValDnrFlipsI clashFirstZclashclashes$Ljava/util/List; shortestEdgeerrormaxErrornrErrors numericalTimeanalyticalTimeflipTimelastTet#LProGAL/geom3d/kineticDelaunay/Tet;angles[Ljava/lang/Double; angleTotal angleLimit rotationAxisLProGAL/geom3d/Vector;rotIndx$Ljava/util/Set;heapLProGAL/dataStructures/Heap; testingPrint(Ljava/util/List;D)VCodeLineNumberTableLocalVariableTableipLProGAL/geom3d/Point;tetthis3LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex;pointsalphabigT#LProGAL/geom3d/volumes/Tetrahedron;LocalVariableTypeTable'Ljava/util/List; StackMapTable+(Ljava/util/List;D)V addToHeap\([Ljava/lang/Double;LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)Vtnt9([Ljava/lang/Double;LProGAL/geom3d/kineticDelaunay/Tet;)VnewItem;8Ljava/util/HashSet;6Ljava/util/Stack;initializeRadiusEvents()VT isGabriel'(LProGAL/geom3d/kineticDelaunay/Edge;)ZsLProGAL/geom3d/volumes/Sphere; &(LProGAL/geom3d/kineticDelaunay/Tri;)ZinitializeAlphaComplextmpv0v1v2v3countidxR0idxR1idxS0idxS1idxS2idxS3 noRotate(LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)Vtris0s1s2s3 oneRotatecenterCLProGAL/geom3d/Circle;distrd0d1d2a0a1a2 twoRotater0r1restoreNeighborhood(Ljava/util/List;)VjJc2c1newCells8(Ljava/util/List;)VsetRotationAxis(LProGAL/geom3d/Line;)VrotAxisangle rotMatrixLProGAL/math/Matrix;lLProGAL/geom3d/Line; translatedir/ewalk:(LProGAL/geom3d/Point;)LProGAL/geom3d/kineticDelaunay/Tet;angleCW/(LProGAL/geom3d/Vector;LProGAL/geom3d/Vector;)DretangleCCW getRootSRb(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;I)[Ljava/lang/Double;zABSintersectionPoints[LProGAL/geom3d/Point;j  getRootSSR(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;I)[Ljava/lang/Double; torusCenterR torusNormaltorusLProGAL/geom3d/volumes/Torus; circleRadiuscircle intersectionsK getRootSSSR(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;I)[Ljava/lang/Double;midpointcMinusa distToCenter vecToCentercenter0center1 rotationCS0intersectionPoints1S1intersectionPoints2 getRootSSRRLjava/lang/Double;radiusCnewDnew precision numOfAngles offRadiussign angleSoFar findAngle(DDLProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;I)Ljava/lang/Double;newSignstartendnewStartnewEnd getRootSSSSR(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;I)[Ljava/lang/Double;Eaabbccddeem[[DMdet40det41det42det43det44coefSincoefCoscoef getRootSSSRRddSindCoseSineCosaa_bbbb_cccc_aaM12M13M14M15M23M24M25M34M35M45 getRotAngle)([Ljava/lang/Double;I)[Ljava/lang/Double; oldAngles newAnglesgetRoota[(LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)[Ljava/lang/Double;oppToppV_(LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Vertex;I)[Ljava/lang/Double;initializeRotation&(Ljava/util/Set;LProGAL/geom3d/Line;)VpIndicesaxiscount4;(Ljava/util/Set;LProGAL/geom3d/Line;)Vflip23l(LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)[LProGAL/geom3d/kineticDelaunay/Tet;nR0idxRntit0t1vns0vns1 commonEdge commonTrivsknt0nt1nt2flip32(LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)[LProGAL/geom3d/kineticDelaunay/Tet;trianglen0idxn1n2t2vns foundEdgetri0tri1tri2 nrSharedFoundtn0tn1tn2 isDelaunay()Zcont rotatePoints(D)VLjava/lang/Integer;steps angleSteprotateTottrotAngle newanglesalphcircum onBoundary insideBothveccenterToRotate orthogonaledg angleCheckheapItemsetRotVertices(Ljava/util/Set;)VrotList'(Ljava/util/Set;)V()Ljava/util/Set;6()Ljava/util/Set;getAlphaTetrahedragetAlpha()D SourceFileKineticAlphaComplex.java tjava/util/ArrayList FGjava/util/HashSet JKjava/util/HashMap MN PN RK TK VK YZ [\ ]\ ^Gjava/lang/Double `X aX bX cZ dX eX fX ij kX X lX oKProGAL/dataStructures/Heap CProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$SortToolHeapItems t t qr s\  !ProGAL/geom3d/kineticDelaunay/Tet t gh     ProGAL/geom3d/Point  WX  :ProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$HeapItem t  mn   $ProGAL/geom3d/kineticDelaunay/Vertex t java/util/LinkedListjava/util/Stack     t       c   !ProGAL/geom3d/kineticDelaunay/Tri c  "ProGAL/geom3d/kineticDelaunay/Edge c ProGAL/geom3d/volumes/Sphere   t ProGAL/geom3d/Circle t     (ProGAL/geom3d/kineticDelaunay/EdgePoints t             ,ProGAL/geom3d/kineticDelaunay/TrianglePoints t      t  XProGAL/geom3d/Vector   ! t" #$ % &' () * + ,- ./ 01 2 34 56 7! 8 9:  ;<  _` => ?> @ProGAL/geom3d/volumes/Torus tA B: C D EF D GF tH I J> K> L> M> N> OP 23 Q6R STAll 99 iterations used!!!! U VW X[D ProGAL/math/Matrix tY Z[ \ ] ^_ `ab cd    ef ' gij k ch 9: L: l  java/lang/StringBuilder m no: np qr qs tW  u v w, polar angle: 0.0 x y  k z{ ;| } ~, initial polar angle:  > n    n     t    ce  "Did not find common edge of edges  V     is not empty: ujava/lang/Integer java/lang/RuntimeExceptionAngle is bigger than limit=360 tW         ___ rotated to angle = . flip. not convex but tt = null pq   } 1ProGAL/geom3d/kineticDelaunay/KineticAlphaComplexjava/lang/Object3ProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$1java/util/List!ProGAL/geom3d/volumes/Tetrahedronjava/util/IteratorProGAL/geom3d/Line java/util/SetProGAL/math/ConstantsTAUsizek(LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex;LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$1;)V$(ILProGAL/dataStructures/SortTool;)VregularTetrahedron%()LProGAL/geom3d/volumes/Tetrahedron;blowUp&(LProGAL/geom3d/volumes/Tetrahedron;)V getCorner)(I)LProGAL/geom3d/kineticDelaunay/Vertex;add(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;setTet&(LProGAL/geom3d/kineticDelaunay/Tet;)V (LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex;[Ljava/lang/Double;LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tri;LProGAL/geom3d/kineticDelaunay/Edge;LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$1;)Vinsert(Ljava/lang/Object;)VindexOf)(LProGAL/geom3d/kineticDelaunay/Vertex;)I neighbors hasVertex)(LProGAL/geom3d/kineticDelaunay/Vertex;)ZisEmptypopcontainsinsideCircumsphere(LProGAL/geom3d/Point;)Z*([LProGAL/geom3d/kineticDelaunay/Vertex;)Vapex&(LProGAL/geom3d/kineticDelaunay/Tet;)Iremoveget(I)Ljava/lang/Object;addAll(Ljava/util/Collection;)ZgetCount doubleValue getListOfTris()Ljava/util/List;getEdges getMidpointA(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;getCircumRadius(LProGAL/geom3d/Point;D)VB(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V getCenter()LProGAL/geom3d/Point;isAliveO(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)V java/util/Map containsKey getLengthput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;setEdge'(LProGAL/geom3d/kineticDelaunay/Edge;)VisAlpha(D)ZsetAlph(Z)V&(Ljava/lang/Object;)Ljava/lang/Object;(I)Vu(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)VsetTri'(LProGAL/geom3d/kineticDelaunay/Tri;I)VdistanceSquared(LProGAL/geom3d/Point;)D indexOf_slowvectorTo-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector;/(LProGAL/geom3d/Point;DLProGAL/geom3d/Vector;)VgetDistanceSquaredEPSILONgetP(I)D(DDD)VaddThis-(LProGAL/geom3d/Vector;)LProGAL/geom3d/Point;getDir isParallel(LProGAL/geom3d/Vector;)Zcross.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector; normalizeThis(LProGAL/geom3d/Vector;)DcreateRotationMatrix-(DLProGAL/geom3d/Vector;)LProGAL/math/Matrix; multiplyIn,(LProGAL/geomNd/Point;)LProGAL/geomNd/Point; insideFace(ILProGAL/geom3d/Point;)Zyxjava/lang/Mathatan2(DD)DgetCoord distanceXYgetIntersections.(LProGAL/geom3d/Circle;)[LProGAL/geom3d/Point;valueOf(D)Ljava/lang/Double;abs(D)Dsqrt normalize0(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;DD)VgetIntersectionCircle getNormalclonescaleToLengthThis(D)LProGAL/geom3d/Vector;multiplyW(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V getRadiussignum toDegreesfloorceil toRadians rotationCW(LProGAL/geom3d/Vector;D)Vpowjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)VgetSquaredPolarRadius([[D)Vminor(II)LProGAL/math/Matrix; determinant getSinAngle getCosAngleProGAL/math/TrigonometrysolveAsinXPlusBcosXplusC(DDD)[Ljava/lang/Double;java/util/Arrayssort([Ljava/lang/Object;)VnanoTime()JgetType VertexType3()LProGAL/geom3d/kineticDelaunay/Vertex$VertexType;/ProGAL/geom3d/kineticDelaunay/Vertex$VertexType1LProGAL/geom3d/kineticDelaunay/Vertex$VertexType;cleargetIdappend(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString(I)Ljava/lang/String;()Ljava/lang/String;printsetSquaredPolarRadiussetPolarRadius setPolarAngle setCosAngle setSinAnglesetType4(LProGAL/geom3d/kineticDelaunay/Vertex$VertexType;)V(I)Ljava/lang/Integer;distance polarAngleXY getPolarAngleProGAL/math/FunctionstoDeg(D)Ljava/lang/StringBuilder;polarAngleCosXYpolarAngleSinXY-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getTriK(LProGAL/geom3d/kineticDelaunay/Vertex;)LProGAL/geom3d/kineticDelaunay/Tri;getAlphsetAlive(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)Vequals nrRotating&(I)LProGAL/geom3d/kineticDelaunay/Tri;hasEdgeisBigsetCircumSphere circumSphere(Ljava/util/List;D)ZintValuepeek access$300Q(LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$HeapItem;)[Ljava/lang/Double;extract access$400a(LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$HeapItem;)LProGAL/geom3d/kineticDelaunay/Tet; access$500a(LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$HeapItem;)LProGAL/geom3d/kineticDelaunay/Tri; access$600 access$100isConvex&(LProGAL/geom3d/kineticDelaunay/Tet;)Z,ProGAL/geom3d/kineticDelaunay/KineticToolbox getThirdTetk(LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)LProGAL/geom3d/kineticDelaunay/Tet; isZeroVector access$700b(LProGAL/geom3d/kineticDelaunay/KineticAlphaComplex$HeapItem;)LProGAL/geom3d/kineticDelaunay/Edge;!@AFGHIJKHLMNHOPNHQRKHSTKHUVKHLWXYZ[\]\^GH_`XaXbXcZdXeXfXghijkXlXmnoKHpqrs\-tuv}**Y*Y*Y *Y *Y *Y *Y****Y********** *Y!*"Y*#$Y*%&'*():*,*-Y./6**/01W+2:345:*6*(7*8:3-4-:609*:w&p!"#%%0&;'F(Q*V+[,`-k.r/w0|1234789<>@qrst v+w1x4y9|Z}u~x|xRyZ+z{]yZZ|h}}~}G}X }3Hvb *';Y*+,-<=w x*}~ijhhvh ;Y*+,wx }~v0,+?>-:6,@``l2Sw '-x>yZ0}~00|h*Z $ v,*8M,3,4-N-+A-w *x  |h,}~,  v /BY+CM*,1W*+DNEYF:Y:GWHYI:-JWKL-N-M6-@2: +NcB:  ,S6    d- `p0S -Y O:  @S@-P S 1WM JWn-GW*-QW9*R-/*S*TWwz #,3<CKT`ir ".xz yZ W &h rhcZ/}~/z{ &h# G,< # ,<C C & v *8L+3+4-M**,0,0,0,0,UV**2W* **,X,Y2N-3R-4Z:**[[[\]**2W* **^,_8N-3L-4`:**aabc**2W* **dwB=U^|x*|A;h }~) S T NvZeY+a+af+ghM*2N-3/-45:+BYCi,jw7JUXx*7z{Z}~ZA#& vfeYkY+[+[+[lm+nhM*2N-3/-45:+BYCo,jw%CVadx*Cz{f}~f%A/& v *8L+3+4-M,p,0:,0:,0:,0:,U66 6 6 6 6 6 6 6 6 6   6 6 6 6   6 6 6 6  6 6 6 6 6 6 6 6 6 6 6 6 r 6 6 6 6 \ 6 6 6 6 F6 6 6 6 1 6 6 6 6 6 6 6 6   *,, 0, 0, 0,0q2,&   *,, 0, 0, 0, 0r%    *,, 0, 0, 0, 0s* tYuv`Yw:x* *x* tYuyW,z*7{|*}* ~W*bcN-6-2W* (*-d,* tYu`z* tYuv`Yw:x* *x* tYuyW,z*7{|*}* ~W*bcN-6-2W* (*-d,* tYu`z* tYuv`Yw:x* *x* tYuyW,z*7{|*}* ~W*bcN-6-2W* (*-d,* tYu`z* tYuv`Yw:x* *x* tYuyW,z*7{|*}* ~W*bcN-6-2W* (*-d,* tYu`z* tYuv`Yw:x* *x* tYuyW,z*7{|*}* ~W*bcN-6-2W* (*-d,* tYu`z* tYuv`Yw:x* *x* tYuyW,z*7{|*}* ~W*bcN-6-2W* (*-d,* tYu`zRwj' . 5 < CILORUX[ilorx !"#$%&'()*+,-./0123456789 :;<=>#?)@,A/B2C8DDEGFJGMHSIZJ]K`LcMfOrPRSU V&[=\J]`^wa}bcdehijlno p#q:t@uLvRw[xg{u|}*8JTo 2IVl /FLX^gsxijJuij 8ijijijVij.5<|CuIoZLlZ OiZ RfZ UcZ X`Z []Zh}~1 A     4'9C)9C)9C)9C)9C)9C)vx+*7*+~W+* Y,-v]ZY,-:* Y,-yW++?*7F*7* ~W(* Y,-Z:++?* Y,-v]ZY,-:* Y,-yW++?*7F*7* ~W(* Y,-Z:++?* Y-v^ZY-:* Y-yW++,?*7F*7* ~W(* Y-Z:++,?* Y,v^ZY,:* Y,yW++-?*7F*7* ~W(* Y,Z:++-?w, 2?Vbnt} ";G_m(4:C R lwxR?Mx}~xhxxxx p$p$r$r$v ,-9-9,9 ,9 -99+*7*+~W+@ 3+#    ++**+0+0+0+0+UV**2W* **+X* Y,-v]ZY,-:* Y,-yW++*7F*7* ~W(* Y,-Z:++?* Y,-vZY,-:* Y,-yW++?*7!** ~Wr,-f:kY*7,:9*7*7kc  (* Y,-Z:++?* Y,vZY,:* Y,yW++-?*7!** ~Ws,f:kY*7,:9*7*7kc  (* Y,Z:++-?* Y-vZY-:* Y-yW++,?*7!** ~Ws-f:kY*7-:9*7*7kc  (* Y-Z:++,?w6M'0;FN~ !$%&()*%+.,=0V2b4y5689:;<?@AB CDEG6IBKZLhMOPQRSVWXYZ[\^`%b=cKdcfngzhijmnopqrsuwyxM@{+"X@{+"X@{+"X }~ h    XXX X 'X0XVeN 7@p$p@$rA$rA$vR +*7*+~W+**+0+0+0+0+UV**2W* **+X* Y,-vZY,-:* Y,-yW++*7!** ~Wr,-f:kY*7,:9  *7*7kc  (* Y,-Z:++?* Y,-vZY,-:* Y,-yW++?*7!** ~Wr,-f:kY*7,:9  *7*7kc  (* Y,-Z:++?* Y,vZY,:* Y,yW++-?*7!** ~Wtf:kY*7:,9  *7*7kc  (* Y,Z:++-?* Y-vZY-:* Y-yW++,?*7!** ~Wsf:kY*7-:-9  *7*7kc  (* Y-Z:++,?w.K} ~;S\s0<S`w4BZeqw&>IU[ds|x@{+"X @{+"X @{*"X |?{*"X }~h0X@p@$p@$rB$rA$v +2M,3,4-N+2:34-:-6666 ^X-00 '-`006 6 -@S@ -SbDwF8AMYirxRD|yZGyZJvZZMsZ 8hh}~G L  $  Hv Y+w+w+wM*2N-3-45:,W+N*Y>-*>R-*>:W-*>9:*2:345:  Ww6 #KP^ i s y  x\ A{{ sEn5X,}~#nPin>-K v,*/M>!,+,@2M*,/,w" !$* x*#Z,}~,z{'hv0++,,gJ) )cJ))))w&'&(.)x*0}~0n0nX&v6++,,gJ) )kJ)) )gJ))w,-&.4/x*6}~6n6nX& v :eY+*7kh:kY5Y,,*>::}6:  6 6   g  2: 5Y,: $**   ,cS!**   ,cS *w:9:;7>@?L@OAiByC~DEFAJxp yG{ iWz{ OwyZ}~ Zij 7@  L[  C v :+,*7k*7k+,f:*7*7k+g9+: Y *7: -9 kY5Y- *>:   :6:66p2:a5Y-:$**-cS!**-cS*wRXYZ%\=_H`[cad~ghijklmnop jsxH{`z{}~ Zij%{=XHn [ aX ~  yZl | 6 v :kY+,-l:m:*7*7k+g9   9 :   W : :kY5Y*>:eY*7h::6:66k2:5Y:%**cS"**cS6eY*7h::~:66k2:5Y:%**cS"**cS*w"|}~+4>HP\n!$-0?HMgx~xJ{[z{~yZxJ{g[z{}~ XZij{+X >X Hn \t {nb!{A"2#)$ 0yZ?%H& ( 4   F ( F 'v 9:6 eY+,-*7g9  9 *99* g-::*>¶*>¶ûeY+,9*7g9   < 9 *g+,-: W*cS c9Y wf $+7NT[`n|x(M)XT*{[+{;yX}~ XZ,X ij-Z $.X +/X 70Xv; @ F1  23v: :   *>'¶ *>'¶ûeY  9  *7gǸɘ' *7g9'9)996cco9: :   *>¶ *>¶ûeY  9  *7gǸɘ  *7g9 99l˶wr -A]ilor| x4XuyZ}~5X6X XZ *{  +{ A)X i/Xl7Xo8XrXd-/@09:v%+9,9 -9 9 9kkc9YY+RY+RY+RYRYRSYY,RY,RY,RY RYRSYY-RY-RY-RY RYRSYYRYRYRY RYRSYYRYRYRYRYRS:Y:Զ9Զ9Զ9Զ9Զ9wkkck9kkgk9!kkgc9#*!#ص**wV   <l*6 M!c"v#$x}~ X;Z<X =X |>X u?X n@X<RXABCDX|EXpFX*dGX6XHXMAIXc+JX!vKX#L:v =+9,9 -9 9 kkc99kkc99999 g9  g9 g9!+k-kc,!kc9#+k-kc,!kc9%+,-gk-+,gkc,-+gkc9'+, k- kgk-+ k,kgkc,-k+ kgkc9)+k-kc,!kc9++,-gk-+,gkc,-+gkc9-+, k- kgk-+ k,kgkc,-k+ kgkc9/+,-gk-+,gkc,-+gkc91+, k- kgk-+ k,kgkc,-k+ kgkc93+,-k-,kgk-+,k,+kgkc,-+k+-kgkc95%kkkkgk' kkkkgkc)kkgkc+kkkkgkc- kkkkgkc/kkgkc97%kkkkgk'kk kkgkc)kkgkc+kkkkgkc- kkkkgkc/kkgkc99k#kkkgk1k kgkc3gkc5 gkc9;*79;ص**wv./ 01253<4X6_7f8m9t;{<=>?@A)BBCpDEFGjIJhKLMxV"}~ X;Z<X =X >X ?X 5MX<@XXkX_dNXf]OXmVPXtOQX{HRXASX:TX!!UX#VX%WX')XX)BYX+pSZX-[X/\X1]X3jY^X5IX7h[JX9KX;_`v ++2 +2N6+:66!2: -S:6-:66  T 2:  E Wg*c:  W*c * :  S wRUVWX3Y;ZA[DXJ]Q^T_m`uazbejk_mnx\ 3(mD( }~ijZajyZQnbjTkZ`    1     1   cv  *,+ڰ*+,ڰwv wxzx* }~   Z  cvb * *,-+۰ *+-,۰*+,-۰ *+,-۰*+-,۰*,-+۰w& #2;APYx4b}~bbbbZ  cv;  M*,-+ܰ*+-,ܰ7*-+,:*Yeoc<*+,-ܰ7*,+-:*Yeoc+7*+,-:*Yeoc*+,-ܰ ~ =*+,-ܰ7*,-+:*Yeoc +7*+-,:*Yeoc*+,-ܰ = +7*+,-:*Yeoc*+-,ܰ*,-+ܰw*,=BNbek|#&-2>RU`gnsxB#5Ndj#5dj#5dj#5dj2#5>djs#5dj}~Z ''. '. 5 cev)+U>,,+P0:`>*+w x4)}~)h)fh$Zg  chv ^*+0+0+0,+0*+0+0+0,+0*+0+0,+0+0>*+0+0+0,+0*+0+0,+0+0*+0+0,+0+0*+0+0+0+0,  ?*+0+0+0,+0*+0+0,+0+0 *+0+0,+0+0*+0+0+0+0, ? *+0+0,+0+0*+0+0+0+0,*+0+0+0+0,*+0+0+0+0,?*+0+0+0+0,*+0+0+0+0,*+0+0+0+0,*+0+0,+0+0?*+0+0+0+0,*+0+0,+0+0*+0+0,+0+0*+0+0+0,+0?*+0+0+0+0,*+0+0,+0+0*+0+0,+0+0*+0+0+0,+0?*+0+0,+0+0*+0+0+0,+0*+0+0+0,+0w- =]x}!<]x~)De +F g  x*}~hgZ! 0$ , & 2 & , &ijv *'*+*,*2N-3-4B:*()ʻYM*( *!QW\*(#ʻY>6:*8:34-:U66  @ 2:P0:P0>`>***q*2W* `***(MʻY*2W*2W̄ . *w) /\hntz !"#&'()*+ -./0273>4G5Q6V7d8{9~:;<=>4CDExf /dgAyZ 7h}~kKlZ mZh kp{ @,(DnL n nHopqv( B*Y`++,P0:,,+P0:`Yw:*7{|* ~W**aabc**2W* **d+: * QW B: 6 6  "+ 0  + 0S -: -Y 2 2 :  z  S-Y 2 2 :  z  S-Y 2 2 :z S6 2:ZY 2: `p2? `p2: `p2?\6[:[:[: $*74* ~W [:[:[: [:[:[: [:[:[:*7* ~WPf:kY*7:9*7*7kc  **[[[\]**2W* **^A+_8:34`:`Y 2w  zz`Y 2w  z z`Y 2w z zc`Y 2 2w  zB`Y 2 2w  z!`Y 2 2w z,_8:34`:`Y 2w  zzL`Y 2w  z z&`Y 2w z z{ z zz :662:U66666 $*7*~Wo*7*~W   6666  6666  6666 66660:0:0:0:999 9"9$9&"4$,$$& & "  **0000V**2W* **XC*+QW*,QW 9 9 2 9 2 9 2 9  2A @  2? S @  2?S  2A @  2? S @  2?S,@, 2?2:,, 2?: @ ?S  ?@,P S+@+ 2?2:++ 2?:  ? @ ?S@+P S  2A @  2? S @  2?S  2A @  2? S @  2?S,@, 2?2:,, 2?:  ? @ ?S@,P S+@+ 2?2:++ 2?:  ? @ ?S@+P S  2A@ 2? S@ 2? S  2A@ 2? S@ 2? S,@, 2?2:,, 2?:?@?S@,PS+@+ 2?2:++ 2?:?@?S@+PS*+QW+*,QW,-: S SS* ~W* ~W*~W**  *q*2W* `**  *(MʻY  *2W*2W** *q*2W* `** *(MʻY *2W*2W** *q*2W* `** *(MʻY *2W*2W6 @2: ** *q*2W* `** *(MʻY *2W*2W̄Y6 @2: ** *q*2W* `** *(MʻY *2W*2W̄Y6@2:  ***q*2W* `***(MʻY*2W*2W̄Y*Y!eocwQRST$V1W=XCYO[h\]`abdghiklmnop"q(r=sDtJwSxZyl{|~ &.6BJRZfr{ w0ELVkr|&;BLahr(1?BEHKX[^adqtwz} )/Qisy  )7FTgv "#$'()%*3,A-P.c/r023478 9 !: /< == L> _? n@ |B C D F G H I J K L M N O P R S ,T 8U W X Y Z \ ] .^ :_ d e f g h i j 2d 8o Ap Kq ^r js t u o z { | } ~ / ; z  x5%yZ D{+"XZhl}rhaZY#Q%IsMyZ0&o~ulXcXZX QX"HX$?X&ZtZZZZh uh yZ Kuh ;yZ uh yZ }~ vh wh 5 x$ y1 wz { | }Z  ~h  h = kh)h7q  OO:n~    F@ ;%%  ;%" ,  !C^LLLLLLvb-7*Y`B:++,P0S,,-P0S--+P0S6+_8:3J4`: , 2- )6   |*  QW޲+_8:304`: ʻY ̧̲ʶ,_8:304`: ʻY ̧̲ʶ-_8:304`: ʻY ̧+2: * QW ,2:   *  QW  -2:   *  QW  B: 6 6  3 -+ 0:,A-A   S -: -Y222 2 : S-Y222 2 : SZY222: 2? 2?\6[:[:[: $*74* ~W [:[:[: [:[:[: [:[:[:*7* ~WPf:kY*7:9*7*7kc  **[[[\]**2W* **^+_8:34`:`Y 22w z`Y 22w zj`Y 22w zI`Y 22w z(`Y22w zzA,_8:34`:`Y 22w z`Y 22w zj`Y 22w zI`Y 22w z(`Y22w zzA-_8:34`:`Y 22w z`Y 22w zj`Y 22w zI`Y 22w z(`Y22w zzA :662:U66666 $*7*~Wo*7*~W   6666  6666  6666 66660:0:0:0: 9! 9# 9%9'9) 9+'!4)!,)#$+%+%'%  **0000V**2W* **XC*+QW*,QW*-QW 29 29292929@ 2S@ 2S-:+2A +:,2A,:-:+2A +:,2A,:-:+2A +:,2A,:6@2::70 222P6 2A:@S:2@2S7@S:2@2S6@2::70 222P6 2A:@S:2@2S7@S:2@2S6@2::70 222P6 2A:@S:2@2S7@S:2@2S*+QW+*,QW,*-QW--:SS*~W*~W***q*2W* `***(MʻY*2W*2W6@2:***q*2W* `***(MʻY*2W*2W̄`6@2:***q*2W* `***(MʻY*2W*2W̄`*Yeocwb"/<?`ru{039Zx{ &,2KQjp"*2:FNV^jv .EO f p   3=T^u!"#$%& '!(+)B*L+c,j-q/t23456789:;>?@ABC D EFHI"J%K(L+N8O;P>QARDTQUTVWWZX]Zf[o\x]_`abcdfghjk0l:2@qatjusv|wx}~   ) 2 7 E X k y                . A T b k w               * = K T ` j s                  + 7 O [        L R [ e q }     xC`8   Z  6yZ D{+"X.fox~u lX!cX#ZX%QX'HX)?X+tZZZZh 2 )h wZ yZ  h kwZ yZ  h TwZ yZ uh yZ euh UyZ}~vhwhh 5 ? \  e  @  |  Z 2  K ~hj h  cZ [# S% Ks\h:hh 3_JM666$$/    F@ 6 $ 6 $ 6 $ ,  &C   >Y3>Y3>Y3vm<*8M,3Y,4-N---*-ʻY--*<w*    ) ->Xfhkx Ihm}~k\ >v Z>'o96K*!8:304:*RB:  *> ̄w& 2EP!SY(xHE  2y N}ZZ}~ZXXZRX 6vX#f'* !Y"#6 ** $***'%2*')*'&;:  '2W' *'(;N-):-*:a-+:*(;,p -,p -*-.*2W9  'p}pu* /0:*(J,p 1ʻY2-.2Wʶ*3W*(ʻY  4̧o5̧c*(.ʻY2-.2Wʶ*6W*(!ʻY  4** $$** $**1W** $)** $**1W*-.*2W9 p *  `* *g7* 86 U66666 6666T  66668  6666 66660:0:0:0:kYl:66m::964m:;gm:;c6m:;gm:;c6 & {*~Wf @ R*QW8*QW# *~W:6*:6 6!! .!2:" ""S!,:6    2S *X* *g7* 8*QW*~W: 6*:66.2:  S,:6 2S*X** $** $**1W*-.*2W9 <n * d* *g7*  6 \6666 6660 666  666[:[:[: <* QWf:==  / * ~W* ~W:6*:66.2: S,:62S*^** $$** $**1W->:*-.*2W9 ? * * *g7* |* QW|* ~W: *2 *2S* d** $$** $**1Wʱwv, -35$6,7?8K9]:h;n<t=y>?@ABDEFGIKL MOP Q1RVS\UgWZ`abdeg hi,k<lIm`uhvswxyz|}~!$'09BKZ]`lx"'-<BQV_eqwz  ,25Q]elouz         # & ) 6 9 < B N Q T Z f i l o x   ! " # $ % & ' ( ) + , . / 0 1& 2. 35 48 0> 6C 7J 8T 9^ 8d ;l =| > ? B D F G H I J L M N Q R T U V) W1 YA ZN [b be fx(7 hX ("Z "jBZ ;Z8tZ5Z2Z/Z09BKZ]\`\l|nxpni\wqjznyZQ(Z"j2qj 5nyZXhsdX !{(MZJ"jZ  }Z#ztZ&wZ)tZx%jyZX Lj K hnhtX f}~fXOYZ 6M 0I  P *2 1-03 f   0    1   .  1  3 ^ P  1  0  ]   0  vc*+!*2M,3,4BN-*!8M,3&,4>*RBױw u v, wb xx*"LyZc}~cK cp +Hv/*w {x }~Hv/*w ~x }~Hv/*7w x }~C"B$@D;@EuBh@