=  java/lang/Object()V    zombie/network/FakeClientManager stringUTFLjava/lang/ThreadLocal;  java/lang/ThreadLocalget()Ljava/lang/Object;*zombie/network/FakeClientManager$StringUTF  load)(Ljava/nio/ByteBuffer;)Ljava/lang/String;  save*(Ljava/nio/ByteBuffer;Ljava/lang/String;)V  !"java/lang/Threadsleep(J)V$java/lang/InterruptedException #& 'printStackTrace)java/util/HashMap (,java/lang/String ./0 1java/nio/file/Paths;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; 345 67java/nio/file/Files readAllBytes(Ljava/nio/file/Path;)[B +9 :([B)V<org/json/JSONObject ;> ?(Ljava/lang/String;)VAversion ;C DE getString&(Ljava/lang/String;)Ljava/lang/String; GHI AJ)zombie/network/FakeClientManager$MovementLjava/lang/String;Lconfig ;N OP getJSONObject)(Ljava/lang/String;)Lorg/json/JSONObject;RclientT connectionV serverHost ;X YZhas(Ljava/lang/String;)Z \]^ _J'zombie/network/FakeClientManager$ClientconnectionServerHostainterval ;c degetLong(Ljava/lang/String;)J \g hiconnectionIntervalJktimeout \m niconnectionTimeoutpdelay \r siconnectionDelayu statisticswperiod ;y z{getInt(Ljava/lang/String;)I \} ~statisticsPeriodIid  java/lang/Mathmax(II)I \ statisticsClientIDchecksumlua \ J luaChecksumscript \ JscriptChecksumzombies  :zombie/network/FakeClientManager$ZombieSimulator$BehaviourNormaly?陙 BCD EF0zombie/network/FakeClientManager$Movement$MotionVehicle2Lzombie/network/FakeClientManager$Movement$Motion; BH IF Pedestrian BK LF(Ljava/lang/String;)Lzombie/network/FakeClientManager$Movement$Motion;Nspeed PQR ST"zombie/network/FakeClientManager$1;$SwitchMap$zombie$network$FakeClientManager$Movement$Motion[I BV W)ordinal YZ[ \].zombie/network/FakeClientManager$Movement$TypeLine0Lzombie/network/FakeClientManager$Movement$Type;_type Ya bD(Ljava/lang/String;)Lzombie/network/FakeClientManager$Movement$Type;@ fgh ijzombie/iso/IsoDirections fromIndex(I)Lzombie/iso/IsoDirections;l direction fn o.(Ljava/lang/String;)Lzombie/iso/IsoDirections;qghostsconnectu disconnectw reconnectyteleport{ destination} createHordecount-zombie/network/FakeClientManager$HordeCreator  (IIJ)V makeSoundmessage+zombie/network/FakeClientManager$SoundMaker  (IILjava/lang/String;)V G (ILjava/lang/String;IILzombie/network/FakeClientManager$Movement$Motion;ILzombie/network/FakeClientManager$Movement$Type;IIILzombie/iso/IsoDirections;ZJJJJLzombie/network/FakeClientManager$HordeCreator;Lzombie/network/FakeClientManager$SoundMaker;)V  java/lang/Integer(I)Ljava/lang/Integer; (  containsKey(Ljava/lang/Object;)ZClient %d already exists G  + format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;  error(ILjava/lang/String;)V ( put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/lang/ExceptionScenarios file load failed &  java/lang/SystemoutLjava/io/PrintStream;%5s : %s , [%2d] > %s ERROR   logDateFormatLjava/text/DateFormat;  java/util/Calendar getInstance()Ljava/util/Calendar;  getTime()Ljava/util/Date;  java/text/DateFormat$(Ljava/util/Date;)Ljava/lang/String;  ?java/io/PrintStreamprint  logLevelINFOLOGTRACE   getOnlineID()J  getConnectedGUID  playersLjava/util/HashSet;  java/util/HashSetisEmpty()Z  iterator()Ljava/util/Iterator;  java/util/Iteratornext  R)Lzombie/network/FakeClientManager$Client; \ iconnectionGUID  OnlineIDS -scenarios= + Z startsWith +   replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; +  trim()Ljava/lang/String;-id=  {parseInt + isBlankInvalid scenarios file name  exit(I)V  !zombie/core/Randinit#RakNet64 % &? loadLibrary( ZNetNoSteam64*zomboid.znetlog , -E getProperty /0zombie/core/znet/ZNet /2 3 SetLogLevel5java/lang/NumberFormatException7Invalid log arguments 9:; <=zombie/debug/DebugTypeGeneralLzombie/debug/DebugType; ?@A BCzombie/debug/DebugLog setLogEnabled(Lzombie/debug/DebugType;Z)V E F'(Ljava/lang/String;)Ljava/util/HashMap; HIJ KLfmod/fmod/FMODManagerinstanceLfmod/fmod/FMODManager; H OPQ KRzombie/core/raknet/VoiceManager!Lzombie/core/raknet/VoiceManager; OT U InitVMClient OW XsetModeZ(zombie/network/FakeClientManager$Network (\ ])size Y_ `(II)V Yb c isStarted (e f&(Ljava/lang/Object;)Ljava/lang/Object; h iZ(Lzombie/network/FakeClientManager$Movement;Lzombie/network/FakeClientManager$Network;II)V k laddnClient movement not found (p qrvalues()Ljava/util/Collection; tujava/util/Collection w xhasNext  }~ zombie/core/Core()Lzombie/core/Core; }  getVersion  J versionNumberjava/text/SimpleDateFormat HH:mm:ss.SSS > ()Ljava/util/function/Supplier;   withInitial6(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;  currentTimeMillis  i startTime  SERVER_PORT ConstantValue? CLIENT_PORTD\CLIENT_ADDRESS0.0.0.0 SignatureELjava/lang/ThreadLocal;>Ljava/util/HashSet;CodeLineNumberTable ReadStringUTFWriteStringUTF StackMapTablejava/lang/Throwableg(Ljava/lang/String;)Ljava/util/HashMap;infologtracemain([Ljava/lang/String;)V SourceFileFakeClientManager.java NestMembers.zombie/network/FakeClientManager$PlayerManager;zombie/network/FakeClientManager$PlayerManager$RemotePlayer'zombie/network/FakeClientManager$Zombie/zombie/network/FakeClientManager$Player$Clothes/zombie/network/FakeClientManager$Client$Request-zombie/network/FakeClientManager$Client$StateBootstrapMethods  "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; .()Lzombie/network/FakeClientManager$StringUTF; InnerClasses StringUTFMovementClientZombieSimulator BehaviourPlayerMotionType HordeCreator SoundMakerNetwork PlayerManagerZombie RemotePlayerClothesRequestState%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! JJ   i*' & *  + *+    !"J M,%#    G# F #(Y*L+Y*+-28M;Y,=N-@BF-KM:QM:SM:UW UB[`bfjblobqtM:vx|xW M:BBWM::WB:W xWx6hWx6hWx6hWx6hW óɶM:˶xѶxֶWֶؐ߶W ߶óM:xM:xxxxxx M:   x xM:   x x- :6$v*:x6: -W -B: /3k3c56 /3k3c56 9W!9M:  ;x6  =x6 /? AG: WBJ: 6 MWMx6 O U..6>NVF^x6 \6 T6 L6 D6 <6 4/dkc56 /dkc56 X:^W^B`:6W x6/ck5e:kWkBm:6pW p6fi7rW rb7 7tW tb7 7vW vb7 7xW xb7/3k3c56/3k3c56zW!zM:;x6=x6:|W?|M:~x6x6`b7  Y ::W=M:`x6x6 B:!Y !:GY     :+ YS+W+N-+:"+j   $ - 5 > G Q ![ #e $o %y ' ) * , - / 0 5 6 8 9 : < > ? A B C# E- F6 G> IH JQ KY Mc Nl Ot Q~ R W Y Z [ \ ^ _ c e f h i j k l m( n2 p= qH sR u] vh |q }~               ! , 9 p u x }                    ! . 1 < F O Z d g r |                 " + 2 A D O Y b k u z      }     +[+(+;;;;e-;1;+(+;;%3;+JBBB6Y'fJIGUG +(+;;%+(++(M U1YSYöSYSY+S̱  * 0  h7ћ3YSYöSYSY+S̱   0 6 6 i83YSYöSYSY+S̱ $ % &1 %7 (7 i83YSYöSYSY+S̱ , - .1 -7 07 C ޔޔ 4@ K"ޭδ 9 : < I ޭδ B C E  L=>*G*2*2 L"*2*2 =+ +"$'$)+N--Ѹ.Ѹ1 N68>+DNGMNSNVD\`6YY-[^:D\6YY-[^:a68-dG:YgjW m@-os:v+G:YgjWѲ y{u4/ K L N O P+ Q7 RJ NP V[ Wb Xf [i ]o ^u a| b c d e i g h k m o p q r x y z | }    - 4 7 X q t }  <+$ )B4$(Y:G 1b6|YѸY  ! % + &PY\GBY  G \  @ BG@PYG@  Y    \\@