=!  java/lang/Object()V*java/util/concurrent/ConcurrentLinkedQueue   zombie/iso/WorldStreamerjobQueue,Ljava/util/concurrent/ConcurrentLinkedQueue;java/util/Stack   jobListLjava/util/Stack;  chunkRequests0java/util/ArrayList    chunkRequests1Ljava/util/ArrayList; " # pendingRequests % & pendingRequests1 ( ) sentRequests+java/util/zip/CRC32 * . /0crc32Ljava/util/zip/CRC32; 2 3 freeBuffers 5 6waitingToSendQ 8 9  tempRequests;java/util/zip/Inflater : > ?@ decompressorLjava/util/zip/Inflater; B CDreadBuf[B F GwaitingToCancelQ I JK bFinishedZ M NKbCompare P QKrequestingLargeArea STU VWjava/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer; Y Z[bb1Ljava/nio/ByteBuffer; ] ^[bb2 ` ab bufferSize(I)I Sd efcapacity()I Sh ijarray()[B Sl mfposition So pqput([BII)Ljava/nio/ByteBuffer; s tupoll()Ljava/lang/Object; Sw xyclear()Ljava/nio/ByteBuffer; { |}ensureCapacity-(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;  add(Ljava/lang/Object;)Z  isEmpty()Z  fsize  java/lang/SystemcurrentTimeMillis()J  get(I)Ljava/lang/Object;zombie/iso/IsoChunk  %zombie/iso/WorldStreamer$ChunkRequestalloc)()Lzombie/iso/WorldStreamer$ChunkRequest; chunkLzombie/iso/IsoChunk;  requestNumberI timeJ wx wy  zombie/network/ChunkChecksum getChecksum(II)J crc next'Lzombie/iso/WorldStreamer$ChunkRequest;   remove  zombie/network/GameClient connection"Lzombie/core/raknet/UdpConnection;  chunkHeadMain  x flagsWS flagsUDP   zombie/core/raknet/UdpConnection startPacket(()Lzombie/core/network/ByteBufferWriter;  %zombie/network/PacketTypes$PacketTypeRequestZipList'Lzombie/network/PacketTypes$PacketType; doPacket)(Lzombie/core/network/ByteBufferWriter;)V  $zombie/core/network/ByteBufferWriterputInt(I)V putLong(J)V KNetworkFileDebug  zombie/debug/DebugTypeLzombie/debug/DebugType; makeConcatWithConstants(IIJ)Ljava/lang/String;  zombie/debug/DebugLoglog-(Lzombie/debug/DebugType;Ljava/lang/String;)V send%(Lzombie/core/raknet/UdpConnection;)V  NotRequiredInZip (II)Ljava/lang/String;   flagsMain java/lang/Exception    printStackTrace   cancelPacket   zombie/network/MPStatisticscountChunkRequests(IIIII)V  zombie/iso/ChunkSaveWorkerinstanceLzombie/iso/ChunkSaveWorker;   !Update(Lzombie/iso/IsoChunk;)V #$% &zombie/ChunkMapFilenamesLzombie/ChunkMapFilenames; #( )* getFilename(II)Ljava/io/File; ,-. / java/io/Fileexists ,2 3delete 5 67 setChecksum(IIJ)V 9 :[bb < => decompress,(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;@!java/util/zip/DataFormatException B CDGeneralLzombie/debug/DebugLogStream; GHI JKzombie/debug/DebugLogStreamerror(Ljava/lang/Object;)V M NOcompareM(Lzombie/iso/WorldStreamer$ChunkRequest;Ljava/nio/ByteBuffer;Ljava/io/File;)V Q R refsT U(IIZ)Ljava/lang/String; W XgetChecksumIfExists *Z [reset *] ^_update([BII)V *a bgetValuedmap_ f gh SafeWrite,(Ljava/lang/String;IILjava/nio/ByteBuffer;)V j k resetForStore m nK$assertionsDisabled pqr szombie/iso/IsoChunkMap chunkStore u vcontainsxjava/lang/AssertionError w S{ mW } ~DoChunk-(Lzombie/iso/IsoChunk;Ljava/nio/ByteBuffer;)V   releaseBuffer(Ljava/nio/ByteBuffer;)V  release*(Lzombie/iso/WorldStreamer$ChunkRequest;)V (III)Ljava/lang/String;  (Ljava/lang/String;)V :Z : _setInput  [ inMemoryZip : finished : inflate([B)I ? S Wlimit  KbClient  Kzombie/SystemDisablerdoWorldSyncEnable  Do(Lzombie/debug/DebugType;)Z   comp*Lzombie/iso/WorldStreamer$ChunkComparator;  (zombie/iso/WorldStreamer$ChunkComparatorinit  java/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)V   sendRequests  loadReceivedChunks  cancelOutOfBoundsRequests  resendTimedOutRequests u7Ignoring duplicate chunk added to WorldStreamer.jobList       KbSaving  java/lang/Threadsleep  Kzombie/GameWindowbLoadedAsClient  zombie/savefile/PlayerDB isAvailable   getInstance()Lzombie/savefile/PlayerDB;  updateWorldStreamer  zombie/vehicles/VehiclesDB2Lzombie/vehicles/VehiclesDB2;   zombie/characters/IsoPlayer()Lzombie/characters/IsoPlayer;   worldStreamerLjava/lang/Thread;  Kzombie/network/GameServerbServer  zombie/core/ThreadGroupsWorkersLjava/lang/ThreadGroup;   run0(Lzombie/iso/WorldStreamer;)Ljava/lang/Runnable;  .(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V   setPriority   setDaemon(Z)VWorld Streamer  setName uncaughtException-()Ljava/lang/Thread$UncaughtExceptionHandler;  !"setUncaughtExceptionHandler.(Ljava/lang/Thread$UncaughtExceptionHandler;)V $ %start ' ( DoChunkAlways *+, -Kzombie/core/CorebDebug /01 2zombie/debug/DebugOptionsLzombie/debug/DebugOptions; /4 56WorldStreamerSlowLoad!Lzombie/debug/BooleanDebugOption; 89: bzombie/debug/BooleanDebugOption2>java/lang/InterruptedException @ AB LoadOrCreate(IILjava/nio/ByteBuffer;)Z D EFBlam(II)V H IJ LoadBrandNew(II)Z L M! loadChunk P QRjobTypeLzombie/iso/IsoChunk$JobType; TUV WRzombie/iso/IsoChunk$JobTypeConvert TY ZR SoftReset \ ]loadInWorldStreamerThread _ `loadGridSquare b cdoLoadGridsquare e fKbLoaded iEXITDEBUG: WorldStreamer.stop 1kEXITDEBUG: WorldStreamer.stop 2 m nisAlivepEXITDEBUG: WorldStreamer.stop 3  tEXITDEBUG: WorldStreamer.stop 4 v wSaveNow y zReset|EXITDEBUG: WorldStreamer.stop 5 ~ stop  RequestLargeAreaZip p ChunkGridWidth  largeAreaDownloadsIGUI_MP_RequestMapData  zombie/core/TranslatorgetText&(Ljava/lang/String;)Ljava/lang/String;  "zombie/gameStates/GameLoadingStateGameLoadingStringLjava/lang/String;  zombie/iso/IsoWorldLzombie/iso/IsoWorld;  MetaGridLzombie/iso/IsoMetaGrid;  Jzombie/iso/IsoMetaGrid isValidChunk   CurrentCellLzombie/iso/IsoCell;  (Lzombie/iso/IsoCell;)V  decreaseStoredChunk  addJob(Lzombie/iso/IsoChunk;IIZ)V  (I)Ljava/lang/String;  isBusy`  KmapDownloadFailedjava/io/IOException"map download from server timed out  IGUI_MP_DownloadedMapData  java/lang/IntegervalueOf(I)Ljava/lang/Integer;  J(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String; d@  S fgetInt  W getByteBuffer   arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V   partsReceived[Z   isReceived  S ()B T  getCell()Lzombie/iso/IsoCell;  BLoadFromBuffer (JJ)Ljava/lang/String;   LoadFromDisk , length (IJ)Ljava/lang/String;   compareChunks-(Lzombie/iso/IsoChunk;Lzombie/iso/IsoChunk;)V  compareErosion   lootRespawnHour   getGridSquare(III)Lzombie/iso/IsoGridSquare;  compareSquares7(Lzombie/iso/IsoGridSquare;Lzombie/iso/IsoGridSquare;)V  getErosionData$()Lzombie/erosion/ErosionData$Chunk;  K zombie/erosion/ErosionData$Chunk (ZZ)Ljava/lang/String;  ! eTickStamp $ %&moistureF( )(FF)Ljava/lang/String; + ,&minerals( / 0epoch 3 4soil7#one square is null, the other isn't 9:; <=zombie/iso/IsoGridSquaresave4(Ljava/nio/ByteBuffer;Ljava/io/ObjectOutputStream;)V S? @yflip SB CD compareTo(Ljava/nio/ByteBuffer;)I SF f SH I(I)B 9K L%()Lzombie/erosion/ErosionData$Square; NOP Q !zombie/erosion/ErosionData$SquareregionsS.zombie/erosion/categories/ErosionCategory$Data RU V dispSeason 9Y Zx 9\ ]y_ `(IIIZI)Ljava/lang/String; 9b cd getObjects ()Lzombie/util/list/PZArrayList; fgzombie/util/list/PZArrayList fjzombie/iso/IsoObject il < n opgetClass()Ljava/lang/Class; rst uvjava/lang/ClassgetName()Ljava/lang/String; is iy z{spriteLzombie/iso/sprite/IsoSprite;} no sprite  zombie/iso/sprite/IsoSpritename J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;   threadLoop r desiredAssertionStatus    Lzombie/iso/WorldStreamer; CRF_CANCEL ConstantValueCRF_CANCEL_SENT CRF_DELETE CRF_TIMEOUT CRF_RECEIVED BLOCK_SIZE SignatureCLjava/util/concurrent/ConcurrentLinkedQueue;(Ljava/util/Stack;,Ljava/util/ArrayList;>Ljava/util/ArrayList;ULjava/util/concurrent/ConcurrentLinkedQueue;CLjava/util/concurrent/ConcurrentLinkedQueue;CodeLineNumberTable StackMapTable Exceptions updateMain getStatisticscreate addJobInstant(Lzombie/iso/IsoChunk;IIII)V addJobConvert addJobWipequitrequestLargeAreaZip(III)VreceiveChunkPartreceiveNotRequiredjava/lang/Stringlambda$create$0 SourceFileWorldStreamer.java NestMembersBootstrapMethods  $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;requested , crc= cancelled ,;deleting map__.bin because it doesn't exist on the serverPWorldStreamer.loadReceivedChunks: Error while the chunk (, ) was decompressing_ refs.isEmpty() SafeWrite= nReceived= nCancel= nPending=  "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;  *(Ljava/lang/Thread;Ljava/lang/Throwable;)V  1Exception thrown while trying to load chunk: , "Requested  chunks from the serverReceived  /  chunkschunk request timed out ,received all parts for ,NotRequiredInZip , delete=downloaded crc= on-disk crc= downloaded size= on-disk size= comparing ,lootRespawnHour  !=  init  != eTickStamp  != moisture  != minerals  !=  epoch  !=  soil  != season1= season2=1square , mismatch at  seasonMatch= #regions= 1:    2:        InnerClasses ChunkRequestzombie/network/PacketTypes PacketTypeChunkComparator)java/lang/Thread$UncaughtExceptionHandlerUncaughtExceptionHandlerJobTypezombie/erosion/ErosionDataChunkSquare)zombie/erosion/categories/ErosionCategoryData%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup1 "  # & )/0369 ?@CDGJKNKK[QKBZ[^[nK $**Y *Y*Y *Y*Y!*Y$*Y '**Y,-*Y 1*Y 4*Y7*:Y<=*A*Y E*H*L*O*RX*R\R)*+%,0-;.F/Q2\3g4r5}678:=@CDab(`dlhH|}d.+ *_R+c*_RN-+g+kn+MO QST,V WZ$*1rSM, *_R,vW*,z[ \^`aS& *1+~W f gs**O*$@N:*d6*::*YZ`- N :*$W*W*O*$( q*4-~Wfl n qsv#{(~8FKRbhz~~&  P3/L***Ŷ~W**7*4rM,?,-,N,~,Yͧ *7,W-M*4rM*7+M,,*7>*7g*7:,,,,*#+>*7 *7:*'~W*7*ErM,*7,W*ErM*7+M,,*7>*7L*7:*,Y+ N- +t 5 #26;DR[]`nx}!+18GP^hmtP "h'"9I K'*'***!*$#&I <=>6*$x*$:~V~~~+*$W~_"':+?*01W 4~8:l*;:0:AEF*W[*L-"':+ *L~~P*(SsV7*-Y*-gk\*-`5*-`4ceilot wYyo~W zW*|8 *8& *$*$?;#.158 B"E'Y)\,i.t0~2357:;?@DIEFG)H,M3OKPSR]WkZ]_bdefgm n$q,rHsWv\xczn}v  'c, DS S?,0 " S SB1# ?=>*=*=+g+k=* *vW*=L*=*A>'***`z**AnW`=*= ?Y**kW*B (2>BQ_fpx{(=?Jqk**rL+(++M*+W,L*rL******* rL+.*+ə ʸ *+W* rL*͚*d<L*M,P0*W,ilo,t wYyo,~W*͚<M'***dM,,:,P*,ilo,t wYyo,~W *,| љ+љ*$ Ըֱ۸ֲݚ  ۸֧ ֱ> %).79<JTZdhlpt !%+5IPT^bz  "$B!   > @*0  ?=V**H*Y* *****#2 (*,.12(C0D8EBFNGUHl+++*ŵ*+űl* +t wYyl*+ə wYy* +~W2 LNQ RT"W*X/Y0\I]b_k`(~;*+,&dfi j().37 ;֧N++++,?1++ 4+++C+++G, +KINA++NF- ++ 4+++C+++G+OS.+OX$+P+[N- ^+~W +a+d=!^m _jm  !nrusx z!17CO^_cjmn [=! B ) !B  r$++*+& :  &  #T }++++SO*+| :  # *   #%*[ m$+++XO*+& :  " #\ oR*gF*<*5*4g+*Eg!*'g*! *$* g *͚SU S@Uh**Hj*lo**q* rsux{> &,18 ? E K N T !*} r:*O*6d6d6`6`6 6   `6  O  6or:  Y: *     7  7 66*7 eY¿*6Ƹ̳ e7mm6 7 6Ҹ֧:}**OPVY=6$ -"2#7%@'C)H*M+R,W-b/m1}3568<?A/-EGHIJLNOQRTUVUWX,Z8[A]H_L`PdVgYe[h^jllqmX[   !  &AH=T*O<*$A*$M,~#,P,Y*E,~W. qsy{!|*~-:DMyS"@>*$w*$:~WaI**WY Y6 (+9@[ht$/# =*'rM,*!,W*'rM+=+>+6+6+6+66*!*!:  ~*!W Yͧ  8 *ڵ8+g+k 8g    T `*   8zW*!W Y*O*Y`  &+06<BHWeo| ")6<. $  S?&24*'rM,*!,W*'rM+=>+6+66*!*!:~*!WYͧsi*(Y*!WY*O*Y` M*f&+28GVdn{a @?, S S)NOAor:Y:++or:Y:++,k6,zW++,W,zW*-Y*-,g\*-`++V-*ilot wYyo~Wilot wYyo~Wv  "%1=HM_b!n"z$%&')*,.013457879@C"9&t++*+,+,+, > 56 %+ :, :*ڄ˧N- kn >HKL!N1P9RCTMUWV_RePk\nYo[s]1(B C+,+,+,+,"+#,#+#,#'+*,*+*,*-+.,.+.,.1+2,2+2,256 bd'f8hNj`lvnprtvxz'&''&&;Z+,+, 6*XvW+*X8*X>W*\vW,*\8*\>W*X*\A>6*XE*\E6*XE%*XG*\G 6 6+JM^+JMRT,JMRT1+JMRT,JMRTW>+X+[+JM^+ae,ae6+ae+ahi:,ahi:*XvW*Xk*X>W*\vW*\k*\>W*X*\AYmqwx | x~mqwx | x~?Q6+aeB+ahi:mqwx | x~N- QT 1(08AIWY\m| %(9HVdlu} KQTUYX'c0 99ii 99ii" 99ii 99ii4 99i 99i  99B ]*H*L+   6: ?<>?AM P% lY Y!( @  J   @   T@ NR