2"com/facebook/internal/FileLruCachejava/lang/ObjectTAGLjava/lang/String;HEADER_CACHEKEY_KEY ConstantValue keyHEADER_CACHE_CONTENT_TAG_KEY tag bufferIndex(Ljava/util/concurrent/atomic/AtomicLong;limits+Lcom/facebook/internal/FileLruCache$Limits; directoryLjava/io/File; isTrimPendingZlockLjava/lang/Object;()VCode java/lang/Class   getSimpleName()Ljava/lang/String; " $&java/util/concurrent/atomic/AtomicLong #& ' ) LineNumberTableLocalVariableTableY(Landroid/content/Context;Ljava/lang/String;Lcom/facebook/internal/FileLruCache$Limits;)V & /  1 3 java/io/File 576android/content/Context 89 getCacheDir()Ljava/io/File; 2; '<#(Ljava/io/File;Ljava/lang/String;)V >  @  2B CDmkdirs()Z FHG-com/facebook/internal/FileLruCache$BufferFile IJ deleteAll(Ljava/io/File;)Vthis$Lcom/facebook/internal/FileLruCache;contextLandroid/content/Context; clearForTest ExceptionsRjava/io/IOException 2T UV listFiles()[Ljava/io/File; 2X YDdeletefile StackMapTable][Ljava/io/File;sizeInBytesForTest()J a bwait d  2f g_lengthijava/lang/InterruptedExceptionfilestotalJnjava/lang/Throwableget)(Ljava/lang/String;)Ljava/io/InputStream; r os;(Ljava/lang/String;Ljava/lang/String;)Ljava/io/InputStream; uwvcom/facebook/internal/Utility xymd5hash&(Ljava/lang/String;)Ljava/lang/String;{java/io/FileInputStream z} 'Jjava/io/BufferedInputStream ~ '(Ljava/io/InputStream;I)V /com/facebook/internal/FileLruCache$StreamHeader  readHeader,(Ljava/io/InputStream;)Lorg/json/JSONObject; ~ close org/json/JSONObject y optString java/lang/String equals(Ljava/lang/Object;)Z 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;java/util/Date & _getTime com/facebook/LoggingBehavior CACHELcom/facebook/LoggingBehavior;java/lang/StringBuilderSetting lastModified to '(Ljava/lang/String;)V java/lang/Long valueOf(J)Ljava/lang/Long; append-(Ljava/lang/Object;)Ljava/lang/StringBuilder; for -(Ljava/lang/String;)Ljava/lang/StringBuilder; 2 getName toString com/facebook/internal/Logger logE(Lcom/facebook/LoggingBehavior;Ljava/lang/String;Ljava/lang/String;)V 2 setLastModified(J)Z contentTaginputLjava/io/FileInputStream;eLjava/io/IOException;bufferedLjava/io/BufferedInputStream;successheaderLorg/json/JSONObject;foundKeyheaderContentTag accessTimejava/io/InputStream openPutStream*(Ljava/lang/String;)Ljava/io/OutputStream;  <(Ljava/lang/String;Ljava/lang/String;)Ljava/io/OutputStream; F newFile(Ljava/io/File;)Ljava/io/File; 2 D createNewFileCould not create file at 2 getAbsolutePath Qjava/io/FileOutputStream }%Error creating buffer output stream: F(Lcom/facebook/LoggingBehavior;ILjava/lang/String;Ljava/lang/String;)V java/io/FileNotFoundException  getMessage$com/facebook/internal/FileLruCache$1 'G(Lcom/facebook/internal/FileLruCache;Ljava/lang/String;Ljava/io/File;)VLcom/facebook/internal/FileLruCache$CloseCallbackOutputStream;Ljava/io/BufferedOutputStream;Lorg/json/JSONException;&6com/facebook/internal/FileLruCache$StreamCloseCallback(java/io/OutputStreamrenameToTargetAndTrim#(Ljava/lang/String;Ljava/io/File;)V 2, -.renameTo(Ljava/io/File;)Z 0 1postTrimtargetinterceptAndPut>(Ljava/lang/String;Ljava/io/InputStream;)Ljava/io/InputStream; 6 85com/facebook/internal/FileLruCache$CopyingInputStream 7: ';.(Ljava/io/InputStream;Ljava/io/OutputStream;)VLjava/io/InputStream;outputLjava/io/OutputStream;@{FileLruCache: tag:B file:D} FHGcom/facebook/Settings IJ getExecutor!()Ljava/util/concurrent/Executor;L$com/facebook/internal/FileLruCache$2 KN 'O'(Lcom/facebook/internal/FileLruCache;)V QSRjava/util/concurrent/Executor TUexecute(Ljava/lang/Runnable;)VtrimX trim startedZjava/util/PriorityQueue Y& F] ^_excludeBufferFiles()Ljava/io/FilenameFilter; 2a Ub)(Ljava/io/FilenameFilter;)[Ljava/io/File;d/com/facebook/internal/FileLruCache$ModifiedFile c} Yg haddj trim considering time= cl m_ getModifiedo name= cq r9getFile Yt uvremove()Ljava/lang/Object;x trim removing z|{)com/facebook/internal/FileLruCache$Limits }~ getByteCount()I z ~ getFileCount   notifyAllheapLjava/util/PriorityQueue;sizecountmodified1Lcom/facebook/internal/FileLruCache$ModifiedFile;LocalVariableTypeTableLLjava/util/PriorityQueue;access$0*()Ljava/util/concurrent/atomic/AtomicLong;access$1  )*access$2  V SourceFileFileLruCache.java InnerClasses BufferFileCloseCallbackOutputStreamCopyingInputStreamLimits ModifiedFileStreamCloseCallback StreamHeader1     7!#Y%(* ;?+',9*-*,.*-0*2Y+4,:=*Y-?*=AW*=E*"HI JKL)O1R8S+*9KL9MN9 9OPQ}$*=SY:>=2L+WW*YZY#\+$KLZ[\ ^_V*?YL§*?`M*c+ç+ÿ*=SL A+Y:662: eaA  h!!#!*2 de ghed$n,o.pBqJpTs+*VKL,*j].(klBZ[) IhKm\\opPQ;*+q*w+KL osPQ2Y*=+t:N:zY-|::~Y :6: : + : , ,, Y7 !Y -- W6:  :   Q5AMdp*%{}"$25<AFKMVdinpz+z KL Z"25<Vzr Dl [ 2zQ&~  L 2z~2z~m 2z~mPQ;*+ݰ*+KL PQ  *=N-WW-QYY-:Y-:-:!YQY쿻Y*+-:Y:Y :6Y :   + W,   , W 6:  : !Y QY :  2<?*z /2<A\iu+z  KL  2ZA(u !"z#w4 )$ [/22)K 2% 2%' 2%jm 2%m)*"2Y*=+t:N,-+,WW*/*!+*"KL" "2[234PQ\*+5N7Y,-9* +*KL < => U+Y?*.A*=C*+ +KL1,*?YL*c*cEKY*MP+ç+ÿ%((*(*#++ ,KL[#DmV 3!W»YY[L A 7*=\`Y: 66_ 2:cYe: + fW!Yi kn p eaA a7A+scp:!Yw eeA e7WW *0y*0&: *?Y: *c*? ç ÿ *?Y: *c*? ç ÿ    +..1.*~    6 A Hcwz !!(2"+H3KLll6RZAG 2Z [ /Y\[ Y=m mm m$(*?+'*+,*+O%**+J KF  7zc%