Êþº¾EO  java/lang/Object()V   *net/minecraft/world/phys/shapes/VoxelShapeshape4Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;  2net/minecraft/world/phys/shapes/DiscreteVoxelShape firstFull&(Lnet/minecraft/core/Direction$Axis;)I  getSizejava/lang/Doubleð  get'(Lnet/minecraft/core/Direction$Axis;I)D  lastFullÿð $ %&isEmpty()Z('java/lang/UnsupportedOperationException*No bounds for empty shape. ', -(Ljava/lang/String;)V /01 23net/minecraft/util/Util pauseInIde,(Ljava/lang/Throwable;)Ljava/lang/Throwable;5net/minecraft/world/phys/AABB 789 :;!net/minecraft/core/Direction$AxisX#Lnet/minecraft/core/Direction$Axis; = >?min&(Lnet/minecraft/core/Direction$Axis;)D 7A B;Y 7D E;Z G H?max 4J K (DDDDDD)V MNO PQ&net/minecraft/world/phys/shapes/Shapesempty.()Lnet/minecraft/world/phys/shapes/VoxelShape; MS TUbox4(DDDDDD)Lnet/minecraft/world/phys/shapes/VoxelShape; W XY getCoordsO(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; [\] ^_(it/unimi/dsi/fastutil/doubles/DoubleList getDouble(I)D $ bcd efnet/minecraft/world/phys/Vec3xD bh ify bk lfz n opmove1(DDD)Lnet/minecraft/world/phys/shapes/VoxelShape; rst uvnet/minecraft/core/Vec3igetX()I rx yvgetY r{ |vgetZ~/net/minecraft/world/phys/shapes/ArrayVoxelShape€0net/minecraft/world/phys/shapes/OffsetDoubleList ‚ ƒ.(Lit/unimi/dsi/fastutil/doubles/DoubleList;D)V }… †µ(Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;Lit/unimi/dsi/fastutil/doubles/DoubleList;Lit/unimi/dsi/fastutil/doubles/DoubleList;Lit/unimi/dsi/fastutil/doubles/DoubleList;)Vˆ ‰Šconsumej([Lnet/minecraft/world/phys/shapes/VoxelShape;)Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer; Œ �Ž forAllBoxes>(Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer;)V� ‰‘­(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer;)Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape$IntLineConsumer; “ ”• forAllEdgesH(Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape$IntLineConsumer;Z)V— ‰˜ÿ(Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer;Lit/unimi/dsi/fastutil/doubles/DoubleList;Lit/unimi/dsi/fastutil/doubles/DoubleList;Lit/unimi/dsi/fastutil/doubles/DoubleList;)Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape$IntLineConsumer; š �• œ�ž Ÿ com/google/common/collect/Lists newArrayList()Ljava/util/ArrayList;¢ ‰£M(Ljava/util/List;)Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer; ¥¦§ ¨©net/minecraft/core/AxisCycleFORWARDLnet/minecraft/core/AxisCycle; ¥« ¬­cycleH(Lnet/minecraft/core/Direction$Axis;)Lnet/minecraft/core/Direction$Axis; ¥¯ °©BACKWARD ² ³´ findIndex'(Lnet/minecraft/core/Direction$Axis;D)I ¶ ·((Lnet/minecraft/core/Direction$Axis;II)I ¹ ·» ¼½tests(Lnet/minecraft/world/phys/shapes/VoxelShape;DLnet/minecraft/core/Direction$Axis;)Ljava/util/function/IntPredicate; ¿ÀÁ ÂÃnet/minecraft/util/Mth binarySearch&(IILjava/util/function/IntPredicate;)I bÅ ÆÇsubtract@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; bÉ ÊË lengthSqr()D>z×òš¼¯H?PbMÒñ©ü bÑ ÒÓscale"(D)Lnet/minecraft/world/phys/Vec3; bÕ ÖÇadd ØsÙnet/minecraft/core/BlockPos Øx Ø{ Ý Þß isFullWide(III)Zá'net/minecraft/world/phys/BlockHitResult ãäå æçnet/minecraft/core/DirectiongetApproximateNearest#(DDD)Lnet/minecraft/core/Direction; ãé êë getOpposite ()Lnet/minecraft/core/Direction; àí î^(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Z)V ð ñòtoAabbs()Ljava/util/List; 4ô õöclipš(Ljava/lang/Iterable;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/BlockHitResult; øùú Pûjava/util/Optional()Ljava/util/Optional;ý.org/apache/commons/lang3/mutable/MutableObject ü ‰Œ(Lnet/minecraft/world/phys/Vec3;Lorg/apache/commons/lang3/mutable/MutableObject;)Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer; ü ()Ljava/lang/Object;    java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object; ø  of((Ljava/lang/Object;)Ljava/util/Optional; M Qblock  faces-[Lnet/minecraft/world/phys/shapes/VoxelShape; ã vordinal   calculateFaceL(Lnet/minecraft/core/Direction;)Lnet/minecraft/world/phys/shapes/VoxelShape; ã  getAxis%()Lnet/minecraft/core/Direction$Axis; " #$isCubeLikeAlong&(Lnet/minecraft/core/Direction$Axis;)Z ã& '(getAxisDirection.()Lnet/minecraft/core/Direction$AxisDirection; *+, -.*net/minecraft/core/Direction$AxisDirectionPOSITIVE,Lnet/minecraft/core/Direction$AxisDirection;?ïÿÿÊPË2*net/minecraft/world/phys/shapes/SliceShape 14 5S(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/core/Direction$Axis;I)V 1$ 18 9& isCubeLike 7; <=VALUES$[Lnet/minecraft/core/Direction$Axis; [? @vsize BCD EF!com/google/common/math/DoubleMath fuzzyEquals(DDD)Z ¥H IJbetweenf(Lnet/minecraft/core/Direction$Axis;Lnet/minecraft/core/Direction$Axis;)Lnet/minecraft/core/AxisCycle; L MNcollideXA(Lnet/minecraft/core/AxisCycle;Lnet/minecraft/world/phys/AABB;D)D PQR STjava/lang/Mathabs(D)D ¥V WXinverse ()Lnet/minecraft/core/AxisCycle; 4G 4= P\ H](II)I P_ >] a Þb$(Lnet/minecraft/core/AxisCycle;III)Z¾z×òš¼¯H Pf >g(DD)D Pi Hg k lmequals(Ljava/lang/Object;)ZoEMPTY q rsbounds!()Lnet/minecraft/world/phys/AABB; uvw xyjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;{ |}makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; b eË ¿� ‚ƒclamp(DDD)D b… iË b‡ lË b‰ Šƒ distanceToSqr bŒ Š�"(Lnet/minecraft/world/phys/Vec3;)D b� �(DDD)V ü’ “”setValue(Ljava/lang/Object;)V –—˜ Ömjava/util/List š›œ ‰K9net/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer žŸ  ¡¢)net/minecraft/world/phys/shapes/BooleanOpOR+Lnet/minecraft/world/phys/shapes/BooleanOp; M¤ ¥¦joinUnoptimized±(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/BooleanOp;)Lnet/minecraft/world/phys/shapes/VoxelShape;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;7(Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)VCodeLineNumberTableLocalVariableTablethis,Lnet/minecraft/world/phys/shapes/VoxelShape;MethodParametersaxisiI StackMapTablesingleEncompassingM(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/shapes/VoxelShape;deltaLnet/minecraft/world/phys/Vec3;H(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/core/Vec3i;dxdydzoptimizeresultconsumer;Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer;xCoords*Lit/unimi/dsi/fastutil/doubles/DoubleList;yCoordszCoordslistLjava/util/List;LocalVariableTypeTable1Ljava/util/List; Signature3()Ljava/util/List;((Lnet/minecraft/core/Direction$Axis;DD)DaAxisbcbAxiscAxisbicicoord†(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/BlockHitResult;fromtoposLnet/minecraft/core/BlockPos;diff testPointclosestPointTo5(Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional;pointclosest0Lorg/apache/commons/lang3/mutable/MutableObject;QLorg/apache/commons/lang3/mutable/MutableObject;V(Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional; getFaceShapeface directionLnet/minecraft/core/Direction;signindexslice,Lnet/minecraft/world/phys/shapes/SliceShape;=coordscollideF(Lnet/minecraft/core/Direction$Axis;Lnet/minecraft/world/phys/AABB;D)DmovingLnet/minecraft/world/phys/AABB;distance newDistancea transformmaxAminAaMinaMaxbMinbMaxcMincMaxaSizeobjLjava/lang/Object;toString()Ljava/lang/String;lambda$closestPointTo$0X(Lnet/minecraft/world/phys/Vec3;Lorg/apache/commons/lang3/mutable/MutableObject;DDDDDD)Vx1y1z1x2y2z2currentClosestlambda$findIndex$0((DLnet/minecraft/core/Direction$Axis;I)Zlambda$toAabbs$0(Ljava/util/List;DDDDDD)Vlambda$forAllBoxes$0Â(Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer;Lit/unimi/dsi/fastutil/doubles/DoubleList;Lit/unimi/dsi/fastutil/doubles/DoubleList;Lit/unimi/dsi/fastutil/doubles/DoubleList;IIIIII)Vxi1yi1zi1xi2yi2zi2lambda$forAllEdges$0D(Lnet/minecraft/world/phys/shapes/Shapes$DoubleLineConsumer;IIIIII)Vlambda$optimize$06([Lnet/minecraft/world/phys/shapes/VoxelShape;DDDDDD)V SourceFileVoxelShape.javaBootstrapMethodsK  " (IIIIII)V$ % ' ( * +   -(I)Z/ 0   2 3 5 VoxelShape[]7 89: ;<"java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;> ?@A |B$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClassesAxisDoubleLineConsumerGBnet/minecraft/world/phys/shapes/DiscreteVoxelShape$IntLineConsumerIntLineConsumer AxisDirectionK%java/lang/invoke/MethodHandles$LookupMjava/lang/invoke/MethodHandlesLookup! §¨¨"©ªF *·*+µ±« ¬ ­® ¯ >?ªv *´+¶ =*´+¶¡¯*+¶¯« !"$¬  ­® °; ±²³ü¯°H?ªn*´+¶=�!¯*+¶¯«) * +-¬ ­®°; ±²³ü¯°rsª„I*¶#™»'Y)·+¸.À'¿»4Y*²6¶<*²@¶<*²C¶<*²6¶F*²@¶F*²C¶F·I°«235¬ I­®³´Qªt 9*¶#™¸L°*²6¶<*²@¶<*²C¶<*²6¶F*²@¶F*²C¶F¸R°«9: <¬ 9­®³ ªJ *+¶V¹Z¯«@¬  ­® °; ±²¯ °±XY¯°%&ª2*´¶`¬«F¬ ­®oµªE*+´a+´g+´j¶m°«J¬­®¶·¯¶o¸ªH*+¶q‡+¶w‡+¶z‡¶m°«N¬­®¶¹¯¶opª® E*¶#™¸L°»}Y*´»Y*²6¶V'·�»Y*²@¶V)·�»Y*²C¶V·�·„°«ST VX*Y9ZDV¬*E­®EºfE»fE¼f³ ¯ º»¼½QªU½Y¸LSL*+º‡¶‹+2°«_ `c¬­® ¾”ŽªH*´*+º�¶’±« gh¬­®¿À¯¿�ŽªŽ,*²6¶VM*²@¶VN*²C¶V:*´+,-º–¶™±«klmo+p¬4,­®,¿À$ÁÂÃÂį¿ñòª^¸›L*+º¡¶‹+°«stu¬­® ÅÆÇ  ÅÈÉÊ>˪ L²¤+¶ª:²®+¶ª:*(¶±6*¶±6 *´+ ¶µ6  *´+¶¡¯*+ ¶¯«"y z{|%}3~@D�¬\ L­®LÌ;LÍfLÎf CÏ;:Ð;1Ѳ%'Ò² 3±² ³ÿD 777¯ ÌÍÎH˪ú D²¤+¶ª:²®+¶ª:*(¶±6*¶±6 *´+ ¶¸6  �!¯*+ ¶¯«"† ‡ˆ‰%Š3‹8Œ<ެ\ D­®DÌ;DÍfDÎf ;Ï;2Ð;)Ѳ%Ò² 3±² ³ÿ< 777¯ ÌÍγ´ªW*´+¶`*(+ºº¸¾d¬«•¬ ­®°;Óf¯ °ÓõÔª) ˜*¶#™°,+¶Ä:¶È̘œ°+ζжÔ:*´*²6´a-¶×‡g¶±*²@´g-¶Ú‡g¶±*²C´j-¶Û‡g¶±¶Ü™$»àY´a´g´j¸â¶è-·ì°*¶ï+,-¸ó°«& ™š žŸ £,¦l§�«¬>˜­®˜Õ·˜Ö·˜×؈ٷ,lÚ·³ übünb¯ ÕÖ×§¨Ûܪ°/*¶#™¸÷°»üY·þM*+,ºÿ¶‹,¶Àb¸Àb¸ °«¯° ²³¼¬ /­®/Ý·ÞßÇ Þà³ §@¨¯ÝÉáâªÂE*¶#š *¸¦*°*´Æ*´+¶2M,Æ,°§ *½µ*+¶M*´+¶,S,°«. ÁÂÅÆ!Ç%È'Ê*Ë3Î9ÏCЬ*!ã®E­®Eäå9 㮳¯äª S+¶M*,¶!™*°+¶%N*,-²)¦ /§̶±6»1Y*,·3:¶6™¸L°¶7™¸°°«. ÔÕ ÖÙÚ+Û8Þ@ßDàLáPä¬>S­®SäåN°;?æ.+(ç²8èé³Cü7ÿã7*7ÿã7*7ý1 ¯ä9&ª~&²:L+¾=>¢+2:*¶!𬄧ÿ謫èéêè$í¬ °;&­®³þ êø#$ªŠ8*+¶VM,¹> ),¹Z̸A™,¹Z̸A™§¬« ñò¬ 8­®8°;2ë³ ü6[@¯°ìíªV*+²6¸G,)¶K¯«ö¬*­®°;îïðf¯ °îðMNªÞº*¶#™)¯)¸O̘œ¯+¶U:²6¶ª:²@¶ª:²C¶ª:,¶Y9 ,¶Z9 * Ìc¶±6 * Ìg¶±6*,¶ZÌc¶±¸[6*´¶*,¶YÌg¶±`¸^6*,¶ZÌc¶±¸[6*´¶*,¶YÌg¶±`¸^6*´¶6)—žl`6¢\6¢K6¢:*´¶`™"*¶ g9c—› )¸eJ)¯„§ÿÅ„§ÿ´„§ÿ£§o)˜œi d6›^6¢M6¢<*´¶`™$*`¶ g9̘� )¸hJ)¯„§ÿħÿ²„ÿ§ÿ£)¯«ª*úû ýþ&0:BJ X f | œ²ÒÝãðû%.57=CL"R#]$h%s&…'”(�)¤+¦%¬$²#¸1¬ü%ñfÿ>βôOͲé`ò²”ñfl@βaQͲX`ò²º­®ºó©ºîïºðfžW©&”Ì;0ŠÏ;:€Ð;Bxôf Jpõf Xbö² fT÷²|>ø²œù²²ú²Òèû²ÝÝü²³` ÿÒ¥4¥777ü ü ü5úúúúü üü ü7úúúú¯ óîðlmª:*+·j¬«8¬­®ýþ¯ýÿªQ*¶#™ n§*¶p¸tºz°«=¬ ­®³ Ku ª, Z*¶~(¸€9*¶„ ¸€9*¶† ¸€9+¶Àb:Æ*¶ˆ*¶‹˜œ+»bY·޶‘±«´ µ¶&·/¸H¹Y»¬z ZÝ·ZÞßZfZfZfZfZf Zf NefAif&4lf/+ ·³ÿH büb  ªe'*-¶˜œ§¬«•¬*­®Óf°;ç²³@   ª *»4Y')  ·I¹•W±«t¬HÅÆfffff f  ª» 7*+¹Z,¹Z-¹Z+¹Z,¹Z- ¹Z¹™ ±«o¬f 7¿À7ÁÂ7ÃÂ7ÄÂ7²7²7²7²7²7² ª«;+*²6¶*²@¶*²C¶*²6¶*²@¶*²C¶¹™ ±«g¬R;­®;¿À;²;²;²;²;²;² ª„ **2')  ¸R²�¸£S±« ab¬H¾fffff f D66!#!6!&!6)6,.,61=4C*7ãD@šME FH *ãI@JLN