4  +  *     +!" +#$% &'( ) * + , -./0 1 234 5 678 29 : ; <= *> *? @AB CDFGH 0&IJ +KL 55 5M 5N *O *PQ ;5 R S T UV ;W XY Z [ \] ^ _` -a 2b cd +ef 2g h iCj \k lm n op qr \s \t uvw xyz{| } \~     \B@?(\) ?zG{ r      T -  \  2 \    0)   m N  r5    )     lW  +     N l T  l l              +  \ ;   N    )       ; r r  o q * 5) * * *   * * 5 q q *   *   *     5   \ \ *  !VersioningType InnerClassespatternLjava/util/regex/Pattern;regexLjava/lang/String; gzpatternparentLorg/das2/fsm/FileStorageModel;root%Lorg/das2/util/filesystem/FileSystem; timeParserLorg/das2/datum/TimeParser;templateloggerLjava/util/logging/Logger; fileNameMapLjava/util/HashMap;allowGzZ oldVersionsLjava/util/List; Signature$Ljava/util/List;versioningType.Lorg/das2/fsm/FileStorageModel$VersioningType; versionGe versionLt getFileSystem'()Lorg/das2/util/filesystem/FileSystem;CodeLineNumberTableLocalVariableTablethisgetChildFileSystem(Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)Lorg/das2/util/filesystem/FileSystem; localRootLjava/io/File;resultexLjava/net/URISyntaxException;childmonitor'Lorg/das2/util/monitor/ProgressMonitor; StackMapTable$B ExceptionsgetRepresentativeFile;(Lorg/das2/util/monitor/ProgressMonitor;)Ljava/lang/String;M(Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;)Ljava/lang/String; childRegexh(Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;Lorg/das2/datum/DatumRange;)Ljava/lang/String;rangeLorg/das2/datum/DatumRange;(Lorg/das2/fsm/FileStorageModel;Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;Lorg/das2/datum/DatumRange;I)Ljava/lang/String;eLjava/io/IOException;iIone listRegex fileSystems&[Lorg/das2/util/filesystem/FileSystem;names[Ljava/lang/String;kidsextratr versionOk$Ljava/lang/IllegalArgumentException;fffiles1jlastLjava/lang/Exception;range1thsdepth parentRegexLocalVariableTypeTable9Ljava/util/HashMap;"ARQ%j# setContext(Lorg/das2/datum/DatumRange;)VtrdrgetDatumRangeFor>(Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;e2filenameLjava/util/Map;5Ljava/util/Map;d(Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;](Lorg/das2/fsm/FileStorageModel;Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;(Lorg/das2/fsm/FileStorageModel;Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;getFilenameFor@(Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;)Ljava/lang/String;startLorg/das2/datum/Datum;endgenerateNamesFor0(Lorg/das2/datum/DatumRange;)[Ljava/lang/String;sstartdrddLjava/text/ParseException;scurroldCurrtpcurr countLimit approxCount$z%quantize8(Lorg/das2/datum/DatumRange;)Lorg/das2/datum/DatumRange;dr1dr2tp1tp2tf1tf2 timeRange getNamesFor targetRangeW(Lorg/das2/datum/DatumRange;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/lang/String;getBestNamesForX(Lorg/das2/datum/DatumRange;ZLorg/das2/util/monitor/ProgressMonitor;)[Ljava/lang/String;slfsfiles2 deleteRemote remoteFileswfs(Lorg/das2/util/filesystem/WebFileSystem;f theListRegexrmkeythssbestcompLjava/util/Comparator; bestVersions bestFiles versioninglist versionList rangeList*Ljava/util/Comparator;-Ljava/util/List;&'getCacheTagForh(Lorg/das2/fsm/FileStorageModel;Lorg/das2/datum/DatumRange;[Ljava/lang/String;)Lorg/das2/datum/CacheTag;rnamefsmminmax(d(Lorg/das2/fsm/FileStorageModel;Lorg/das2/datum/DatumRange;[Ljava/io/File;)Lorg/das2/datum/CacheTag;files[Ljava/io/File; getFilesFor,(Lorg/das2/datum/DatumRange;)[Ljava/io/File;getBestFilesFor cacheCleanup()V) getRangeFor/(Ljava/lang/String;)Lorg/das2/datum/DatumRange;hasField(Ljava/lang/String;)ZfieldgetField8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;hh containsFile(Ljava/io/File;)Zfile containsNamemLjava/util/regex/Matcher; getNameFor"(Ljava/io/File;)Ljava/lang/String;getRoot()Ljava/lang/String;maybeGetGzFileI(Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/io/File;fzsfzmonf0oz%Lorg/das2/util/filesystem/FileObject;* getFileFor"(Ljava/lang/String;)Ljava/io/File;K([Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/io/File;onumwarnLjava/util/ArrayList;%Ljava/util/ArrayList;S(Lorg/das2/datum/DatumRange;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/io/File; countGroups(Ljava/lang/String;)IpgetParentRegex&(Ljava/lang/String;)Ljava/lang/String;dirRegexLjava/lang/StringBuilder;L getParent!()Lorg/das2/fsm/FileStorageModel; makeCanonical hideParams withinArg splitIndexsurl+createX(Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;)Lorg/das2/fsm/FileStorageModel;parentTemplate parentFSM templatebri2, FieldHandler(Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;Ljava/lang/String;Lorg/das2/datum/TimeParser$FieldHandler;)Lorg/das2/fsm/FileStorageModel; fieldName fieldHandler(Lorg/das2/datum/TimeParser$FieldHandler;(Lorg/das2/fsm/FileStorageModel;Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;Ljava/lang/String;Lorg/das2/datum/TimeParser$FieldHandler;[Ljava/lang/Object;)V moreHandler[Ljava/lang/Object;vh, Y(Lorg/das2/fsm/FileStorageModel;Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;)VtoString SourceFileFileStorageModel.java  -./ 0 12(org/das2/util/filesystem/LocalFileSystem 34 java/io/File  5 6." 78 9&org/das2/util/filesystem/SubFileSystem :;java/net/URISyntaxException"java/lang/IllegalArgumentException  <&org/das2/util/filesystem/ZipFileSystem not supported, should not happen  = >? CJ !"@ AB*get representative from {0} {1} range: {2}java/lang/Object /0C DE)org/das2/util/monitor/NullProgressMonitor  F GHAFileSystem use on the GUI event thread will often cause problems. I=   get representative file JK LM Njava/lang/String#org/das2/util/filesystem/FileSystem 56>org/das2/util/filesystem/FileSystem$FileSystemOfflineExceptionFileSystemOfflineExceptionjava/net/UnknownHostExceptionjava/io/FileNotFoundExceptionjava/lang/RuntimeException/ OPjava/lang/StringBuilder QR  S LTjava/util/HashMap ry - +, v UV' WX . $ YZ [\ ]\list directory ^B D_ %&.gz O`0fall back to old code that would list everything a=  bZjava/lang/Exception op& c d ef+ gH hi jZ  file name "%" doesn't match model specification (  )java/text/ParseExceptionjava/lang/NumberFormatException), parse error in field  k l| mn op qm( rs ht uvPtoo many intervals would be created, this is limited to about 1000000 intervals.java/util/ArrayList  w xZ m% y2 zK {| }B1Strange bug shown in test033: {2} >>{0}<< >>{1}<< tp1 start {0}~    D tp1 end {0}  tp1 tr {0} tp2 start {0} tp2 end {0} tp2 tr {0} 1  pthis shouldn't happen getNamesFor {0} '(parent {0} yields: {1}    Hjava/io/InterruptedIOExceptioncancel pressed (.gz)?listDirectory({0})->{1}  rs ,expected version add {0}- skip {0} because it does not parse properly&org/das2/util/filesystem/WebFileSystem   ,local files that do not exist on remote: {0}  Uorg/das2/datum/DatumRangecheck format exception: {0}   [2 org/das2/fsm/FileStorageModel$1   getNamesFor {0} -> {1}  org/das2/datum/CacheTag      local filesystems do not cache ) H x * H#removeLocalFile returned false: {0}  2field is not in template: #$ +File didn't come from this FileStorageModel H     failed to set last modified   Mlisting returns result that cannot be resolved file file (e.g. bad link): {0}java/io/IOException  get names  K $Y [$y\$% //+  ;each folder of template must have fields marked by $ or %:  =  _ Q([\$][yYmdjxv\(\{]) H }K    $\%  org/das2/fsm/FileStorageModel      //\/\/\+\\+org/das2/fsm/FileStorageModel$2  \.gz das2.system.fsm ,org/das2/fsm/FileStorageModel$VersioningType%org/das2/util/monitor/ProgressMonitorjava/lang/Throwableorg/das2/datum/TimeParserjava/util/List java/util/Mapjava/util/Comparatororg/das2/datum/Datumjava/util/Iterator#org/das2/util/filesystem/FileObjectjava/util/regex/Matcher&org/das2/datum/TimeParser$FieldHandler getRootURI()Ljava/net/URI; java/net/URI getSchemeequals(Ljava/lang/Object;)Z getLocalRoot()Ljava/io/File;#(Ljava/io/File;Ljava/lang/String;)VtoURIgetSubtaskMonitor;(Ljava/lang/String;)Lorg/das2/util/monitor/ProgressMonitor;\(Ljava/net/URI;Lorg/das2/util/monitor/ProgressMonitor;)Lorg/das2/util/filesystem/FileSystem;createFileSystem9(Ljava/lang/String;)Lorg/das2/util/filesystem/FileSystem;(Ljava/lang/Throwable;)V(Ljava/lang/String;)Vresolve"(Ljava/lang/String;)Ljava/net/URI;java/util/logging/LevelFINELjava/util/logging/Level;java/util/logging/LoggerlogA(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)Vjava/awt/EventQueueisDispatchThread()Zinfolength()I substring(I)Ljava/lang/String;finished listDirectory`(Ljava/lang/String;Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;endsWith(II)Ljava/lang/String;get&(Ljava/lang/Object;)Ljava/lang/Object;compare'(Ljava/lang/Object;Ljava/lang/Object;)I getValidRange()Lorg/das2/datum/DatumRange;contains(Lorg/das2/datum/DatumRange;)Z intersectsFINERC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V9(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;finepreviousclearjava/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;matchesparse>(Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/TimeParser; getTimeRange*(Ljava/lang/String;Ljava/lang/Throwable;)Vformat()Lorg/das2/datum/Datum;org/das2/datum/DatumRangeUtilsloppyIntersectionS(Lorg/das2/datum/DatumRange;Lorg/das2/datum/DatumRange;)Lorg/das2/datum/DatumRange;widthvalue()D/(Ljava/lang/String;)Lorg/das2/datum/TimeParser;divide.(Lorg/das2/datum/Datum;)Lorg/das2/datum/Datum;(I)VnextaddsizetoArray(([Ljava/lang/Object;)[Ljava/lang/Object;WARNINGorg/das2/datum/Unitsus2000"Lorg/das2/datum/TimeLocationUnits;getTime(Lorg/das2/datum/Units;)Djava/lang/DoublevalueOf(D)Ljava/lang/Double;@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V getEndTime(Lorg/das2/datum/Datum;)ZunionN(Lorg/das2/datum/DatumRange;Lorg/das2/datum/Datum;)Lorg/das2/datum/DatumRange;java/lang/Integer(I)Ljava/lang/Integer; setTaskSize(J)Vstarted isCancelledsetTaskProgressjava/util/Arrayssort([Ljava/lang/Object;)Vnone5(Ljava/net/URI;)Lorg/das2/util/filesystem/FileSystem;asList%([Ljava/lang/Object;)Ljava/util/List;indexOf(Ljava/lang/Object;)IaddAll(Ljava/util/Collection;)Z(I)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; getMessagevalues()Ljava/util/Collection;java/util/Collection"(Lorg/das2/fsm/FileStorageModel;)Vjava/util/Collections)(Ljava/util/List;Ljava/util/Comparator;)VgtltE(Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;)Viterator()Ljava/util/Iterator;hasNext()Ljava/lang/Object; getFileObject9(Ljava/lang/String;)Lorg/das2/util/filesystem/FileObject;removeLocalFile containsKeyexistsgetFile7(Lorg/das2/util/monitor/ProgressMonitor;)Ljava/io/File;getPath'org/das2/util/filesystem/FileSystemUtilgunzip(Ljava/io/File;Ljava/io/File;)V lastModified()JsetLastModified(J)Z$org/das2/util/monitor/SubTaskMonitorQ(Lorg/das2/util/monitor/ProgressMonitor;JJ)Lorg/das2/util/monitor/SubTaskMonitor;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern; groupCountsplit'(Ljava/lang/String;)[Ljava/lang/String;(Ljava/lang/CharSequence;)Z replaceAlljava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintln startsWithcharAt(I)C(C)Ljava/lang/StringBuilder;find lastIndexOf(II)I(Ljava/lang/String;I)I|(Ljava/lang/String;Ljava/lang/String;Lorg/das2/datum/TimeParser$FieldHandler;[Ljava/lang/Object;)Lorg/das2/datum/TimeParser;getRegex&(Ljava/lang/Object;)Ljava/lang/String;org/das2/util/LoggerManager getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;! !"#$%&'()*+,-.//01/*23 4 561*q*(*:Y+ ,  NY**+NI:Y**+N-:YY*+,  N-BHK^dg2F8BHKMW^dgis}3f 7889H9M :;d9i :;<=>9?;O@ O@ AB-./CD1= *+23 4 =>BCE1G *+,23  4 => FBCG1Q *+,-23* 4 => F HIB CJ1Y*SY,SY-S+ YL: !": *#*$%:*#+& *$'`(-`:  : +) *Y S:+:6  1 * 2+ ,S: 0Y 1 *$'`(:!+Y*S:*Y2S:*$: d6  L G 23+ 4:  d6    22   2"5Y6 2737  278:39'd::;Y<:*=:6*> *?@AB*>C6*D *?@AB*DC6L*EFG=- -H0,( 2  2,+I 4:: : :JK  *L d6    235Y67M78N:  h d6  22   2"5Y6 2737  278:39'd::'d:: h *#: +) OP*#2Q:  R: -- H: +) *#+S *$'`( `:  : +) *Y S:+:6  1 * 2+ ,S: 0Y 1 ͧ)+):+) -./8;T>z LU2v]*-3;>ENrzi    ,"3#=$s%'()*+, -.'/-0124388;6=7I9Q:TZ=a>f?w@ABCDE?K LMiM O(P5Q<RISLiRSUU\WgXuUz[i[\]^`cab^eijijl3j$ KL 6MN rmO PLQRTST' UTV$WIX&= :YsZ,([T 3!\N  NMN ^]N (Zk[T mMN  K^ 6MN z]O 5_I PQRST`=>FHIaNPQRST-b>9 c Vd?)* efghgGgg efghizgggcj  efghgg efghgizgg &z^gg9kh# %Bl Kz^gg4 efghgizghg5gcm  efghgizgg efghggn efghgizggBop1A *E+U2 uv3 4 qI"rs1,V*W+XY*E+,ZW*E[*\-*\+XY*E++'d:,ZW*E[Y5Y6]7+7^7*_7`78NY5Y6]7+7^7*_7c78-d:%a%b&Va&VbWaWb2. &;OW34tY1K^4uVvc Vw?&0km)x ry1,V*W+XY*E+,ZW*E[*\-*\+XY*E++'d:,ZW*E[Y5Y6]7+7^7*_7`78NY5Y6]7+7^7*_7c78-d:%a%b&Va&VbWaWb2. &;OW34tY1K^`uVvc Vw?&0km)z{|1H *E+,e23  4 }~ ~1 *EN-+feM0:-F:+g:hi*-feM-,jW:0Y1-[:k6l+hhnik6ok YqrYs:+H t:+H8-fue:vW: t: wx*yzT?EHa2z"/4?EHJTZ^t3%I"I+:^J :"I 4HI?ZI^NtNc9(c c9*?J ehm!mhh ehgH 7h:!1Q *E+f+feM*E+u+ueN*E,j[:*E-j[::{|Y,SY-SY*ES*E,j:{}~{~{[*E-j:{~{~{[f+ufM0Y :=a a2V -:=?]g} !3z -I:Ig??:Y "I"I :4I?2=ehgglhheh1B*+Y2-34IB1F*+,293 4I=>B1F*+,2E3 4I=>B1B*+Y2P34IB1 *- YN**#*#+Y:Y*#SYS+:6**2-,S:0Y1*$%:*$'`(:!+Y*S:*Y2S:*$:rY:rY:rY: - h-;Y<: 6   - Y-  h: *L5Y6 778:  23 N: JY SY S 6   22  2"5Y6 2737 278:39'd::* :+ +HuM9*L'd::vW vW*?* A 0Y AvWJ:J-  h h l` 2 2::x :3 N:rY: ::66'2: vWز*W *?*?@: ;Y<: ;Y<: 6xG*: :*: *:zJ C*> *>C2*D *DC W W:{K*> *>C^*D *DCG C9 W *:**vW:{K  *:Y*Y*SYxS-)x*yzzrThk  T!T2g^`g$i+j=k_lgmrorpqmtuvwxy|}~ (48?Uc *4J[hkmz  ,2@IR[jx  !GU]iy3* K^j/MNbPgNQR=xSTIm KYZ\Nk`TW(P(z88 c[T  %MN :^y:^x0Z^P\NI Rwv [nv 4I&=>DPUQRJST;(2()(   Vv c\ W*P*I Rww [nw ;*2*)   Vw ?(Nehfiz\m giz9 ehfgiz,g2z^ggh3 BlQehfgizgzAzz$ ehfgiz+ehfgiz{ehfgizggggBmCBmehfgizB 18 k+fN+u:,:66E2:*Q: -+f  f-N+u  u:Y-2" $,AY_3H,-I $5kkHIkSTf~ `~?Eehzz(gh@Aehz 1),*N6,-*,2S*+-2   " 34 MN))HI)#ST?  z1A *+Y23 4 IB1A *+Y23 4 IB1P*¶P=*L+*+*M*,ƶǚJ,ӱ2! "$2%@&L(O*32P4?  ,1A *+;Y<233 4 1= *E+ɬ2<3 4 1;;Yu8*M?fB1w**Y+SYM,,223 4 Z?B1{**Y+S,N--223*4=> Z?B1 L, YM+N**;Y<6+,+ h,6+, Y*+2:Й!-, h` hٶS,*L%*+2, h` hٷ:-S-2{+2*-2+2W:0Y1I,)rY-s:6-:66    2:   W [2  $'8>HQ[hp (-58>3z 8h~ KLAMN(8 L4LSTL=>:'%N @9=MNc  @9?W 2(ezfj  ezfB1k*+N*-,:2344I=> STZB1, YM*+, N-:**;Y<-,- h,6-, Y*-2:Й", h` hٶS-*L&*-2, h` hٷ:S*2-2W:0Y1e,)h2Z   "4EKU^hu}" !$%3\ 8ub KLNMN4I=>ST"?7 'z3)ehfzj B 1g<*M,2XN-2)*+,3*9N  1G*3L+.5Y+2M>+d,37+27WM,,82"46 78"9/88<:>34MN G@T: ?zCg1/*#2I3 4 1n* **L*L+3L+3=++!5Y67+:78+3 +(L+2* XY[ ])^0_?`]bfcle3*9n  N90>MN? g< 1`5Y6L=>*'J**)= +7W&+*W*(=+*W+82* qr stu$v?xKyUs[}3* OMN` X9 V&?   1&L+*XM,,>*/>`2  $3* MN&# ? $g 1k+L+M,3>+++L,M,6+::*:Y*+Y*+22  #,5>DLT`3HLT kk  aZMN>-N? 5g* 1: +L+:36+ ++L:6(+::*,-:Y*+,-Y*+,-22  &/:EKT^p3\ T^  vmMNE<N? :g5  18 ***L*rY*>*D*,*+#-3 -(N--3N*- _A:*? Y* :*- EJ  *-YSYS E"*-YSYSYS E**E $**$W-M9*L*L!*5Y6*$778\2rD EG}~#(-6<FSaelvD{EGHJRSTUWXZ3\ 4   ev ?-<eeAgg:g #$ 1Z*+,-2 j k3*4 1F5Y6*7*_782o3 41" 2B*@ \ -+E