=  java/lang/Object()V   java/util/Listsize()I/zombie/vehicles/CircleLineIntersect$PointVector5zombie/vehicles/CircleLineIntersect$Collideclassindex   get(I)Ljava/lang/Object;  java/lang/Mathmin(II)I/zombie/vehicles/CircleLineIntersect$ForceCircle ! "java/util/ArrayList !%.zombie/vehicles/CircleLineIntersect$StaticLine $' ()getX1()D $+ ,)getY1 $. /)getX2 $1 2)getY2 4 5)getX 7 8)getY :;< =>.zombie/vehicles/CircleLineIntersect$VectorMathclosestpointonline3(DDDDDD)Lzombie/vehicles/CircleLineIntersect$Point; @4A)zombie/vehicles/CircleLineIntersect$Point @7 @D EF distanceSq(DDDD)D H I) getRadiusSq $K LMgetP1-()Lzombie/vehicles/CircleLineIntersect$Point; $O PMgetP2 @R STmidpoint(Lzombie/vehicles/CircleLineIntersect$Point;Lzombie/vehicles/CircleLineIntersect$Point;)Lzombie/vehicles/CircleLineIntersect$Point; @V WXdistance.(Lzombie/vehicles/CircleLineIntersect$Point;)D Z EX \ ]) getRadius@ a bcpow(DD)D V f g(DD)V i jgsetPoint l mn getVector.()Lzombie/vehicles/CircleLineIntersect$Vector; p qr addCollidedB(Ljava/lang/Object;ILzombie/vehicles/CircleLineIntersect$Vector;)V t ur setCollided w x) getLength z c | }cmax  sqrt(D)D @ WF  )getvy  )getvx . 1  ) getnormvx  ) getnormvy  collided()Z    getColliders()Ljava/util/ArrayList;,zombie/vehicles/CircleLineIntersect$Collider  getCollideobj()Ljava/lang/Object; getCollidewith()Ljava/lang/Integer;  java/lang/IntegerintValue 4(Lzombie/vehicles/CircleLineIntersect$PointVector;)V>Ey0:.zombie/vehicles/CircleLineIntersect$RectVector f n getUnitVector  abs  ceil ! (I)V  isFrozen gsetRect  getRestitution(Ljava/lang/Object;)D ngetCollideforce *zombie/vehicles/CircleLineIntersect$Vector 4 7 valueOf(I)Ljava/lang/Integer; ! add(Ljava/lang/Object;)Z  equals1zombie/vehicles/CircleLineIntersect$Collideresult ([Lzombie/vehicles/CircleLineIntersect$PointVector;[Lzombie/vehicles/CircleLineIntersect$Collideclassindex;Ljava/util/ArrayList;[D[D[Z)V  #zombie/vehicles/CircleLineIntersectcheckforcecirclescollidetime_(Ljava/util/List;Ljava/util/ArrayList;[D[ZZ)Lzombie/vehicles/CircleLineIntersect$Collideresult; !  resultants2[Lzombie/vehicles/CircleLineIntersect$PointVector;  collideinto8[Lzombie/vehicles/CircleLineIntersect$Collideclassindex;  setPointVector checkforcecirclescollideorg/joml/Vector3f  (FFF)V cross<(Lorg/joml/Vector3fc;Lorg/joml/Vector3f;)Lorg/joml/Vector3f;  xF  z     #zombie/core/physics/WorldSimulationinstance%Lzombie/core/physics/WorldSimulation;   offsetX   offsetY $ (DDDD)V  zombie/characters/IsoPlayer getInstance()Lzombie/characters/IsoPlayer;   !y # $nx & 'ny?Gz + ,(DDDDD)V> /01 2!zombie/core/physics/CarController drawCircle 4 5Z(Ljava/util/List;Ljava/util/ArrayList;)Lzombie/vehicles/CircleLineIntersect$Collideresult; 7 89 collidelistLjava/util/ArrayList; !; <isEmpty>org/lwjgl/util/vector/Vector2f =@ A(FF)V =C DElength()F =G HI normalise ()Lorg/lwjgl/util/vector/Vector; KLM NOzombie/debug/LineDraweraddLine(FFFFFFFFFLjava/lang/String;Z)V @Q RD @T !R V WXset(FFF)Lorg/joml/Vector3f; Z [\ normalize()Lorg/joml/Vector3f; = =  :a bF dotproductCodeLineNumberTable StackMapTableg[Di[Z Signature(Ljava/util/List;Ljava/util/ArrayList;[D[ZZ)Lzombie/vehicles/CircleLineIntersect$Collideresult;(Ljava/util/List;Ljava/util/ArrayList;)Lzombie/vehicles/CircleLineIntersect$Collideresult;TEST=(Lorg/joml/Vector3f;FFFFLzombie/core/physics/CarController;)Z SourceFileCircleLineIntersect.java NestMembersu)zombie/vehicles/CircleLineIntersect$Force InnerClasses PointVectorCollideclassindex ForceCircle StaticLine VectorMathPointVectorCollider RectVector CollideresultForce!c*d c K* :*:*:*: *d6  3 R YS *  S  R *,d6   - 3* :+ d6  + #$:  & * - 0369:  ? B36C9G99< J NQ: J NU9Y9[^oc^`]d93?go96Bgo9?[^ockc9B[^ockc93969 1 YeS 2h 1 2  ko 2  ks RK[^oc^`v& & -y ? ? & -{ * 0y B B * 0{~93 ?go96 Bgo9 ?[kc9 B[kc9 1 YeS 2h 1 2  ko 2  ks R!36 & *CG36 & *93 &go96 *go9 &[kc9 *[kc9 1 YeS 2h 1 2  ko 2  ks RE36 - 0CG36 - 093 -go96 0go9 -[kc9 0[kc9 1 YeS 2h 1 2  ko 2  ks R i 0 *g9 & -g9 0 *g &k & -g *kc99w93kw6kc9kkg999 #kkgo9kkgo9  & * - 09:"36 & *9:#36 - 09:$"?"BCG[ & -y"?E"? & -{/ * 0y"B"B * 0{#?#B & *CGs33cy#?W#?33c{;66cy#B#B66c{$?$B - 0CGs33cy$?W$?33c{;66cy$B$B66c{33cy33c{66cy h 66c{O & -y< & -{) * 0y   * 0{C & *CG# - 0CG w9%9'%3k'6kc9)'k%kg9+9-9/+ 'k)kg+o9-)k%kg+o9/ 36[k-/36o911wkc9 1wkc9 %k' kc93'k3kg+o953k%kg+o97 & -y55 & -{ * 0y77 * 0{-99/9;-5gc9-/ 7gc9/3g^` 6g^`c9== 1  1P:? 2 1=6@@ 2 2 2@#i 1=^ 2@# Y* 2@# S 2@#R@f-/36C &9gc * ;gc -9gc 0 ;gc9:@Y@?@?gc3g@B@Bgc6g:??:?Y?vk?vk:?YY3^-gkgg6^/ gkg g:??:?Y?vk?vk:??:?Y?vk?vk:? 1 Y eS 2 h 1= 2  ?o 2  ?s =R [[k9936 & *9:;;?;B & *C9<;?;B36C9>36 - 09:@@?@B - 0C9A@?@B36C9C9E>CI<AA9CI<AA9Ag~9E@?Ekg9@BEkg9  -9- 09/6<A>C57 & *C9A957 - 0C9A9Ag~9E@?Ekg9@BEkg9  -9- 09/.9CA99Ag~9E@?Ekg9@BEkg9  -9- 09/3g^` 6g^`c9GG 1  1c:I 2 1G6JJ 2 2 2J#i 1G^ 2J# Y* 2J# S 2J#RJfY-ggg / gg g:II:IYIvkIvk:I 1 Y eS 2 h 1G 2  Io 2  Is GR @ !Y* l: 6   2* : 2ç9 9696 2 2#:*  2#c9$S 2#=  2#ʹc9  2#ʹc9] 2 o9 1 Y 2 2ҷeS 2 kk  ӶW  1~* vkf 1   RS 1"   1~* voR*  *  2d* voR, \1  1, 1gkcR 2* ۚ- T  Y , -d-   * 9AM]c i} !"#$%&'()#*,+D,K-T.d/t01234679:;= ?@A8B;DVElFGHIJKLMNPQR&T7V=W@X`Zy[\]^_`bcdfhij<lUmenuopqrtuvxz{~7>F`mpsz%Q} -e'Mm   ( 5 E U }           - L n        7 A ` c          ) 7 > A N q         ( 8 ? I Y f v              ) 0 :Ban~  7!U"b#r$%&'() *+(,8-?.I0Q1^2n3~45789:;?@ACG*H:IYK{LMGQRSTU!W-X8YI[W]^!djmstuvwxz|}.Khn"I\otsze?U4 !fhjfkf4 !fhjfkf!fhjfkf$@@  $   !fhjfkf$@!fhjfkf$@@@@?e(!fhjfkf$@@@@UG  %!fhjfkf$@@@@-!fhjfkf$@@@@@@M&==&==W]W]E:3f   !fhjfkf$ !fhjfkf!4 !fhjfkf!!fhjfkf!8Q(&* !fhjfkf!lm cP*+,-:!Y:d6-2*2d #1GMe!(lm 5cv5*M*N*d6,R*+,-d !&,efhln opc %bY:*Y W*Yj*YjY%jY%j#*b8$*b8#*f8 $*f8  nf8  nb8   nf8   nb8  nf8  nb8 nf8 nb8  b8  b8  b8  b8  b8  b8 b8 b8!Y:$Y  Y:W$Y Y:W$Y Y:W$Y  Y:W:!Y:6Y"f%f(*:-.W3:36[.6:9:6=Y"f%f?:B FW6   2#$:!! ! b b   b  b J b b  b  b369:"*"Pg"Sg UW*YW]^**_`9##! !# nf b$ nf b # nb b$ nb b J# nf b$ nf b# nb b$ nb b369:"*"Pg"Sg UW*YW]^**_`9## &*36 UWdG %0;FNV^fr~'C_{*.6 U _ e s %@GJX5 <!? E$J%L&^)`+ec /!$$$$!,E=2$ qrs :$t @vZ wxy$z:{@|}~t