Êþº¾Eg  java/lang/Record()V   )net/minecraft/util/CubicSpline$Multipoint validateSizes([FLjava/util/List;[F)V   coordinate)Lnet/minecraft/util/BoundedFloatFunction;   locations[F  valuesLjava/util/List;   derivativesjava/lang/Float€ÿ€ !"# $%'net/minecraft/util/BoundedFloatFunctionrange()Lnet/minecraft/util/Interval; '() *+net/minecraft/util/IntervalisNaI()Z '- ./min()F 123 45java/util/ListgetFirst()Ljava/lang/Object;7net/minecraft/util/CubicSpline 6" : ;< linearExtend (F[FF[FI)F '> ?/max ABC .Djava/lang/Math(FF)F AF ?D 1H IJget(I)Ljava/lang/Object;L MNapply#()Lcom/google/common/base/Function; PQR STcom/google/common/collect/Lists transformC(Ljava/util/List;Lcom/google/common/base/Function;)Ljava/util/List; 1V WXcopyOf((Ljava/util/Collection;)Ljava/util/List; 1Z [\iterator()Ljava/util/Iterator; ^_` a+java/util/IteratorhasNext ^c d5next>€ 'g hiof!(FF)Lnet/minecraft/util/Interval; 1k lmsize()Io"java/lang/IllegalArgumentExceptionq rsmakeConcatWithConstants(III)Ljava/lang/String; nu v(Ljava/lang/String;)Vx0Cannot create a multipoint spline with no points z {|sampleR(Lnet/minecraft/util/BoundedFloatFunction;[F[FLjava/util/List;Ljava/lang/Object;)F !~ M(Ljava/lang/Object;)F � ‚ƒfindIntervalStart([FF)I 6… {†5(Lnet/minecraft/util/CubicSpline;Ljava/lang/Object;)F ˆ‰Š ‹Œnet/minecraft/util/Mthlerp(FFF)FŽ ��test&(F[F)Ljava/util/function/IntPredicate; ˆ’ “” binarySearch&(IILjava/util/function/IntPredicate;)I –—˜ ™šjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String; œ �žtoString([F)Ljava/lang/String; 1  ¡¢stream()Ljava/util/stream/Stream;¤ M¥()Ljava/util/function/Function; §¨© ª«java/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream;­, ¯[±] ³´µ ¶·java/util/stream/Collectorsjoiningf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector; §¹ º»collect0(Ljava/util/stream/Collector;)Ljava/lang/Object;½ r¾\(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; ÀÁ $Ãjava/util/stream/IntStream (II)Ljava/util/stream/IntStream;Å ÆÇ applyAsDouble,([F)Ljava/util/function/IntToDoubleFunction; ÀÉ ÊË mapToDoubleI(Ljava/util/function/IntToDoubleFunction;)Ljava/util/stream/DoubleStream;Í MÎ%()Ljava/util/function/DoubleFunction; ÐÑÒ ÓÔjava/util/stream/DoubleStreammapToObj>(Ljava/util/function/DoubleFunction;)Ljava/util/stream/Stream; ³Ö ¶×6(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;Ù rÚ&(Ljava/lang/String;)Ljava/lang/String; ÜÝÞ ßàjava/util/function/Consumeraccept(Ljava/lang/Object;)V 6â ãäforEachCoordinate (Ljava/util/function/Consumer;)V æçè Méjava/util/function/Function&(Ljava/lang/Object;)Ljava/lang/Object;ë Mì<(Ljava/util/function/Function;)Ljava/util/function/Function; §î ïðtoList()Ljava/util/List; ò ó@(Lnet/minecraft/util/BoundedFloatFunction;[FLjava/util/List;[F)V õö÷ øùjava/util/Objectsequals'(Ljava/lang/Object;Ljava/lang/Object;)Z ûüý øþjava/util/Arrays([F[F)Zjava/lang/Object û hashCode([F)I  ™ java/lang/Integer(I)Ljava/lang/Integer; õ   hash([Ljava/lang/Object;)I  M_(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Ljava/util/function/Function;  2com/mojang/serialization/codecs/RecordCodecBuildercreate?(Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;java/util/ArrayList  (I)V/net/minecraft/util/CubicSpline$Multipoint$Point   %(FLnet/minecraft/util/CubicSpline;F)V 1" #$add(Ljava/lang/Object;)Z &'( )*'com/google/common/collect/ImmutableListbuilderWithExpectedSize4(I)Lcom/google/common/collect/ImmutableList$Builder; , -/location / 01value"()Lnet/minecraft/util/CubicSpline; 345 #6/com/google/common/collect/ImmutableList$BuilderE(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder; 8 9/ derivative 3; <=build+()Lcom/google/common/collect/ImmutableList; ? �@?(Lnet/minecraft/util/CubicSpline$Multipoint;)Ljava/lang/String; CDE FGcom/mojang/serialization/CodecfieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec; ¤ JKL MN!com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; P QRcodecB(Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec; CT UVlistOf"()Lcom/mojang/serialization/Codec; XYZ [Rnet/minecraft/util/ExtraCodecs nonEmptyList]points ¤ `ab cd;com/mojang/serialization/codecs/RecordCodecBuilder$Instancegroupg(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P2; f Mg!()Ljava/util/function/BiFunction; ijk Ml!com/mojang/datafixers/Products$P2k(Lcom/mojang/datafixers/kinds/Applicative;Ljava/util/function/BiFunction;)Lcom/mojang/datafixers/kinds/App; 6n opmapCoordinates?(Ljava/util/function/Function;)Lnet/minecraft/util/CubicSpline; rst uvjava/util/LocaleROOTLjava/util/Locale;x%.3f z{| ™}java/lang/Double(D)Ljava/lang/Double; – €�formatK(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; SignatureTI;7Ljava/util/List;>;CodeLineNumberTableLocalVariableTablethis+Lnet/minecraft/util/CubicSpline$Multipoint;LocalVariableTypeTable0Lnet/minecraft/util/CubicSpline$Multipoint;MethodParametersA(TI;[FLjava/util/List;>;[F)V firstRangeLnet/minecraft/util/Interval;edge1Fedge2 lastRangex1x2xDiffrange1range2min1max1min2max2d1d2p1p2minLerp1maxLerp1minAmaxAminBmaxBminLerp2maxLerp2iI lastIndexminValuemaxValue inputRange valueRanges/Ljava/util/List; StackMapTableinputindexT([FLjava/util/List;>;[F)V@(Lnet/minecraft/util/CubicSpline$Multipoint;Ljava/lang/Object;)FsamplercLjava/lang/Object;TC;};>(Lnet/minecraft/util/CubicSpline$Multipoint;TC;)Fstarttf1 Lnet/minecraft/util/CubicSpline;f2y1y2aboffset%Lnet/minecraft/util/CubicSpline;‹;>(TI;[F[FLjava/util/List;>;TC;)F parityString()Ljava/lang/String;RuntimeInvisibleAnnotations1Lcom/google/common/annotations/VisibleForTesting;arrsplineconsumerLjava/util/function/Consumer;"Ljava/util/function/Consumer;%(Ljava/util/function/Consumer;)VmapperLjava/util/function/Function;%Ljava/util/function/Function;};>(Ljava/util/function/Function;)Lnet/minecraft/util/CubicSpline; multipointobj.Lnet/minecraft/util/CubicSpline$Multipoint<*>;b(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;coordinateCodec Lcom/mojang/serialization/Codec;subSplineCodec%Lcom/mojang/serialization/Codec;GLcom/mojang/serialization/Codec;>;ñ;>(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;>;)Lcom/mojang/serialization/Codec;>; packToPointsp pointCountlistHLjava/util/List;>;J()Ljava/util/List;>;createFromPointsf(Lnet/minecraft/util/BoundedFloatFunction;Ljava/util/List;)Lnet/minecraft/util/CubicSpline$Multipoint;point1Lnet/minecraft/util/CubicSpline$Multipoint$Point;1Lcom/google/common/collect/ImmutableList$Builder;6Lnet/minecraft/util/CubicSpline$Multipoint$Point;XLcom/google/common/collect/ImmutableList$Builder;>;®;>(TI;Ljava/util/List;>;)Lnet/minecraft/util/CubicSpline$Multipoint;+()Lnet/minecraft/util/BoundedFloatFunction;()TI;()[F9()Ljava/util/List;>;lambda$codec$0 (Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;lambda$mapCoordinates$0_(Ljava/util/function/Function;Lnet/minecraft/util/CubicSpline;)Lnet/minecraft/util/CubicSpline;vlambda$toString$1(D)Ljava/lang/String;fDlambda$toString$0([FI)Dlambda$findIntervalStart$0(F[FI)Zh;>Ljava/lang/Record;Lnet/minecraft/util/CubicSpline; SourceFileCubicSpline.java$Lnet/minecraft/util/VisibleForDebug;NestHostRecordBootstrapMethodsé 8 ?(Lnet/minecraft/util/CubicSpline;)Lnet/minecraft/util/Interval; %All lengths must be equal, got:   (I)Z  þÿ  6 ÇÈ4(Lnet/minecraft/util/CubicSpline;)Ljava/lang/String;:Spline{coordinate=, locations=, derivatives=, values=}(I)D  üý(D)Ljava/lang/Object;! " øùù%[]' ( õö*B(Lnet/minecraft/util/CubicSpline;)Lnet/minecraft/util/CubicSpline;, - òó/`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;1'coordinate;locations;values;derivatives 7 8 î:V(Lnet/minecraft/util/CubicSpline$Multipoint;)Lnet/minecraft/util/BoundedFloatFunction;< = ßð?=(Lnet/minecraft/util/CubicSpline$Multipoint;)Ljava/util/List;A8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;C D åææG HIJ KL"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;N OPQ rR$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;T UVW XYjava/lang/runtime/ObjectMethods bootstrap±(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/TypeDescriptor;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object; InnerClasses MultipointPointBuilderInstance`com/mojang/datafixers/ProductsP2c%java/lang/invoke/MethodHandles$Lookupejava/lang/invoke/MethodHandlesLookup16‚ƒ‚„ó…¥!*·,-¸*+µ *,µ*-µ*µ±†EF E G‡4!ˆ‰!!!!Š !ˆ‹!ƒ!„Œ€€€€‚�$%…E*´¾d<EF*´ ¹ :¶&™°¶,*´0–œ^*´¹0À6¹8:¶,*´¶,*´¸98¶,*´¶=*´¸98$¸@¸@E%¸E¸EF¶=*´0•ž_*´¹GÀ6¹8:¶=*´¶,*´¸98¶=*´¶=*´¸98$¸@¸@E%¸E¸EF*´ºK¸O¸U:¹Y:¹]™&¹bÀ':$¶,¸@E%¶=¸EF§ÿÖ6¢ù*´08*´`08f8 ¹GÀ': `¹GÀ':  ¶,8  ¶=8  ¶,8 ¶=8*´08*´`08 •š  •š§y j8 j8 ¸@8 ¸E8f b8f b8vb f8vb f8¸@8¸E8$ejb¸@E%ejb¸EF„§ÿ$%¸f°†Î3KM NPQ!R$Y3ZF[^\v^‚_Žc�d±eÉfáhíiùl o)p3q=r@tIuRv]wdyrz‚{‰|�}—~ž€§�²ƒÀ…Èʉѕږã˜í™÷›œ žŸ¡,¢9t?¥‡`#FHŽ�^0�‘v’‘±H“�É0�‘á’‘)$�R甑]Ü•‘dÕ–‘ rÇ—� ‚·˜� ‰°™‘ �©š‘ —¢›‘ž›œ‘§’�‘²‡ž‘ÊoŸ‘Ñh ‘Ú_¡‘ãV¢‘íL£‘÷B¤‘7¥‘ ,¦‘#§‘¨‘Cü©ªEˆ‰=«ª :¬‘7­‘,®� ;¯ŠEˆ‹ ;¯°±b ÿ$'ûiûjý1^ú,üÿ'1''ÿu'1ú ;<…�-08 •š$®$"+0fjb®†©ª ¬®‡>²‘0‘³ª9‘±üŒ²0³ …¤9*¾+¹j  *¾,¾Ÿ»nY*¾+¹j,¾ºp·t¿*¾š »nYw·t¿±†²³)µ.¶8¸‡ 999Š 9„±Œ ‚´ {µ…e*´ *´*´*´+¸y®†»‡¶‰·¸Š¶‹·¹Œ ¶·‚º {|…jí*¹}8,¸€6,¾d6œ,-¹0À6¸„+¸9® ,-¹GÀ6¸„+¸9®,08,`08 f fn8 -¹GÀ6: -`¹GÀ6: +08 +`08 ¸„8 ¸„8  fjff8v fjfb8 ¸‡  fj ¸‡jb8®†R¿ ÀÂÅÆ4È;ÉUË[ÌcÍpÏ}ЌђҚԣլ׼ØÍÛê܇Êííííí·¸ 㲑ۻªÕ«ª[’”‘cŠ•‘ p}¼‘ }p½¾ Œa¿¾ ’[�‘ šSž‘£JÀ‘¬AÁ‘¼1Â‘Í Ã‘êÄ‘Š4íƒí„í·¹}p½Å Œa¿Å ± þ4 Œ·‚Æ ‚ƒ…D*¾#*º�¸‘d¬†â‡²‘Œ ²ÇÈ…{?*´ ¸•*´¸›*´¸›*´¹Ÿº£¹¦¬®°¸²¹¸À–º¼°†è‡ ?ˆ‰Š ?ˆ‹ÉÊ �ž…X.*¾¸¿*ºÄ¹ÈºÌ¹Ï¬¸Õ¹¸À–ºØ°†ì‡ .ËŒËãä…·2+*´ ¹Û*´¹YM,¹]™,¹bÀ6N-+¹á§ÿ汆ñ ò'ó.ô1õ‡ '̾2ˆ‰2ÍΊ 'ÌÅ2ˆ‹2Íϱ ü^úŒÍ‚Ðop…’6»Y+*´ ¹åÀ!*´*´¹Ÿ+ºê¹¦¹í*´·ñ°†ù úü5ù‡6ˆ‰6ÑÒŠ6ˆ‹6ÑÓŒÑ‚Ôø$…ÑL+Á™F+ÀM*´ ,´ ¸ô™1*´,´¸ú™#*´,´¸ú™*´,´¸ô™§¬¬† "0>IJ ‡  >Õ‰Lˆ‰L֏Р>Õ×Lˆ‹± üH@úŒÖm…l0½ÿY*´ SY*´¸¸SY*´SY*´¸¸S¸ ¬†‡ 0ˆ‰Š 0ˆ‹ QØ…[ *+º¸°†‡ ÙÚ ÛÚŠ ÙÜ ÛÝŒ ÙÛ‚Þßð…ÐE*´¾<»Y·M>¢0,»Y*´0*´¹GÀ6*´0·¹!W„§ÿÑ,°†=C‡*2àªEˆ‰?áª6âŠEˆ‹6âã± þ1ú1‚ä åæ…La+¹j=¼N¸%:¼:6¢4+¹GÀ:-¶+Q¶.¶2W¶7Q„§ÿÌ»Y*-¶:·ñ°†. "# $%&',(5)@*J&P,‡R,çè7àªaa]Z᪠VPéKŠ*,çêaƒa]ãPë±ÿ!1ì3ìú6Œ ]‚í�È…C*º>°†>‡ ˆ‰Š ˆ‹î…A*´ °†>‡ ˆ‰Š ˆ‹‚ïð…A*´°†>‡ ˆ‰Š ˆ‹ð…A*´°†>‡ ˆ‰Š ˆ‹‚ñð…A*´°†>‡ ˆ‰Š ˆ‹ òó…�;,*A¹BºH¶I+¸O¹S¸W\¹Bº^¶I¶_,ºe¶h°†.7:‡ ;ÙÚ;ÛÚ;©ô õö…<+*¹m°†ü‡ÑÒ÷¾ øù…?²qw½ÿY&¸yS¸~°†ì‡ úû üý…9*0�¯†ì‡Ë©ª þÿ…W"+0–œ§¬†â‡ ²‘©ª± @‚É6*‚ƒ‚„ˆF M F  FMFF #M$F&)F+.S02345F69F;>F@BEZ26[\3&]`^i_abdf