4   * *   *   * * * *  * *    *      *! " *#$% & ' *()*+, - . */0 11 *2 ~34 *5 ~6 *789: ;; <= > 1? @ 1A ;BC D E FG 1HI *J ;K LM N *O PQR RS ;T UV UW *X YZ[ ;\ ]^ *_` ~a b c ;d e f g ;h ij ;k Rlm no ]pqrstu vw *xyz{ 1| ;} ;~ *       *Y ~ ;H R R   < ~ ;  ; *    ;  <     *  *                 *   * *   *   ~h * ~ * ;? *  * * ic ;  D H d * * A  * * * *            &    *   1  * R   U  Vinfo InnerClasseslogLorg/slf4j/Logger;MAX_UNSIGNED_INTJ ConstantValueMAGIC[B MAGIC_LONG MAGIC_DIMI  MAGIC_VAR  MAGIC_ATT disallowFileTruncationZdebugHeaderSizedebugVariablePosdebugStreamingraf"Lucar/unidata/io/RandomAccessFile;ncfileLucar/nc2/NetcdfFile;uvarsLjava/util/List; Signature%Ljava/util/List;udimLucar/nc2/Dimension; isStreamingnumrecsrecsizerecStart useLongOffsetnonRecordDataSize dataStart globalAttsPos headerCreatedLjava/util/Optional;)Ljava/util/Optional;()VCodeLineNumberTableLocalVariableTablethis Lucar/nc2/iosp/netcdf3/N3header; isValidFile%(Lucar/unidata/io/RandomAccessFile;)Z StackMapTable ExceptionsreadO(Lucar/unidata/io/RandomAccessFile;Lucar/nc2/NetcdfFile;Ljava/util/Formatter;)VidimnameLjava/lang/String;lendimIndexj calcVsizestartPosvarLucar/nc2/Variable;velemsisRecordrankdims varAttsPostypedataTypeLucar/ma2/DataType;vsizebegincurDimvinfo&Lucar/nc2/iosp/netcdf3/N3header$Vinfo;uvardtypeextra recordSpacefoutLjava/util/Formatter; actualSizeposbnumdimsmagicnvarscalcSizeLocalVariableTypeTable&Ljava/util/List;' calcFileSize()Jsize showDetail(Ljava/util/Formatter;)VvoutactualremoveRecordStructure()ZfoundmakeRecordStructurememberVe Lucar/ma2/InvalidRangeException;recordStructureLucar/nc2/Structure;readAtts5(Lucar/nc2/AttributeContainer;Ljava/util/Formatter;)IvalattLucar/nc2/Attribute;shape[IarrLucar/ma2/Array;iiLucar/ma2/IndexIterator;nbytesnelemsattsLucar/nc2/AttributeContainer;nattsreadAttributeValue.(Lucar/ma2/DataType;Lucar/ma2/IndexIterator;)IBcCsSfFdD readString()Ljava/lang/String;countskip(I)Vpadpadding(I)I(J)I getDataType(I)Lucar/ma2/DataType;getType(Lucar/ma2/DataType;)IdtcreateQ(Lucar/unidata/io/RandomAccessFile;Lucar/nc2/NetcdfFile;IZLjava/util/Formatter;)V largeFile rewriteHeader(ZLjava/util/Formatter;)ZrewriteInPlacewant writeHeader(IZZLjava/util/Formatter;)VcurVar keepDataStartvars sizeHeader(Z)I writeAtts,(Ljava/lang/Iterable;Ljava/util/Formatter;)VLjava/lang/Iterable;n*Ljava/lang/Iterable;B(Ljava/lang/Iterable;Ljava/util/Formatter;)VsizeAtts(Ljava/lang/Iterable;)I-(Ljava/lang/Iterable;)IwriteStringValues(Lucar/nc2/Attribute;)VvaluesLjava/lang/StringBuilder;sizeStringValues(Lucar/nc2/Attribute;)IwriteAttributeValue(Ljava/lang/Number;)InumValueLjava/lang/Number;sizeAttributeValue writeVars)(Ljava/util/List;ZLjava/util/Formatter;)V unpaddedVsize vsizeWrite>(Ljava/util/List;ZLjava/util/Formatter;)V writeString(Ljava/lang/String;)V sizeString(Ljava/lang/String;)IfindDimensionIndex,(Lucar/nc2/NetcdfFile;Lucar/nc2/Dimension;)IwantDim(IB)Vfill writeNumrecs setNumrecs synchNumrecsupdateAttribute*(Lucar/nc2/Variable;Lucar/nc2/Attribute;)Vorgmaxv2havefindAtt(JLjava/lang/String;)J start_pos SourceFile N3header.java DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated; JKjava/util/ArrayList 9:java/lang/Integer B$java/lang/Long E$  GH !" 56 78 # D$ A$ ucar/unidata/io/RandomAccessFile $ %& '( &'java/io/IOExceptionjava/lang/StringBuilderNot a netCDF file )* + , J C1 -. @* numrecs= %d%njava/lang/Object /0 12 ?1ucar/nc2/iosp/netcdf3/N3header/Misformed netCDF file - dim magic number wrong  numdims= %d%n dim %d pos= %d%n 3 /4 ucar/nc2/Dimension J5 => 67 added dimension %s%n F$ 89 0Misformed netCDF file - var magic number wrong num variables= %d%nucar/nc2/Variable J:; <= >? @ AB C. DE---name=<%s> dims = [ FG H IJ%s K]%n  LM NG name= %s type=%d vsize=%s velems=%d begin= %d isRecord=%s attsPos=%d%n /O  P.# *** readVsize %d != calcVsize %d%n$ucar/nc2/iosp/netcdf3/N3header$Vinfo JQ RST UV V 31W X9%s begin at=%d end=%d isRecord=%s nonRecordDataSize=%d%n YZ [\ 21!%s header size=%d data size= %d%n ]^ _ . ` ai bi ci <de Ff gJ j$ filePointer = )h dataStart= i recStart =  dataStart+nonRecordDataSize = nonRecordDataSize size=  recsize=  numrecs= )j actualSize= 41 isStreaming recordSpace= numrecs= has extra bytes = k lK mK 01#File is truncated calculated size=  actual = nK o >Jjava/lang/Boolean p raf length= %s %n isStreaming= %s %n useLongOffset= %s %n dataStart= %d%n nonRecordData size= %d %n unlimited dimension = %s %n record Data starts = %d %n recsize = %d %n numrecs = %d %n  computedSize = %d %n, TRUNCATED!! actual size = %d (%d bytes) %n+ actual size larger = %d (%d byte extra) %n#%n %20s____start_____size__unlim%n qd %20s %8d %8d %s %n k$ c1record rB sB q= tKucar/nc2/Structure D uvucar/ma2/InvalidRangeException !"1N3header.makeRecordStructure cant slice variable )w xy z {| }~ ]/Misformed netCDF file - att magic number wrong num atts= %d%n***att %d pos= %d%n begin read String val pos= %d%n end read String val pos= %d%nucar/nc2/Attribute J begin read val pos= %d%n J    J  end read val pos= %d%n  %s%n U.     i  i   i  java/lang/String  J "java/lang/IllegalArgumentExceptionunknown type == iunknown DataType ==    (' (  dim %d pos %d%n  d   &Variable starting pos= may not exceed  %s begin at = %d end= %d%n %s record begin at = %d%n          end write val pos= %d%n    java/lang/Byte  java/lang/Short   .java/lang/Float  java/lang/Double  java/lang/IllegalStateExceptionunknown attribute type ==     #.unknown Dimension ==   $3Update Attribute must have same type or original =  att = U no such attribute  ucar/nc2/iosp/NCheaderucar/nc2/NetcdfFilejava/util/Formatterjava/util/Listjava/util/Iteratorucar/ma2/DataTypeucar/nc2/AttributeContainerucar/ma2/Arrayucar/ma2/IndexIteratorjava/lang/Iterablejava/util/Optionalempty()Ljava/util/Optional; checkFileType%(Lucar/unidata/io/RandomAccessFile;)Ilengthorderseek(J)V readFully([B)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getLocationtoStringreadInt()IvalueOf(I)Ljava/lang/Integer;format<(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;getFilePointer(J)Ljava/lang/Long;(Ljava/lang/String;IZZZ)V addDimension:(Lucar/nc2/Group;Lucar/nc2/Dimension;)Lucar/nc2/Dimension; getRootGroup()Lucar/nc2/Group;N(Lucar/nc2/NetcdfFile;Lucar/nc2/Group;Lucar/nc2/Structure;Ljava/lang/String;)Vucar/nc2/Group getDimensions()Ljava/util/List;get(I)Ljava/lang/Object; isUnlimitedadd(Ljava/lang/Object;)Z getLength setDimensions(Ljava/util/List;)Viterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object; getShortName setDataType(Lucar/ma2/DataType;)VreadLong(Z)Ljava/lang/Boolean;getSize(JJZJ)V setSPobject(Ljava/lang/Object;)Vjava/lang/Mathmin(JJ)Jjava/lang/SystemLjava/io/PrintStream; getFullNamejava/io/PrintStreamprintf<(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; addVariable8(Lucar/nc2/Group;Lucar/nc2/Variable;)Lucar/nc2/Variable;isEmpty()Lucar/ma2/DataType;CHARBYTESHORT+()Lcom/google/common/collect/ImmutableList;'com/google/common/collect/ImmutableList2()Lcom/google/common/collect/UnmodifiableIterator; getSPobject(J)Ljava/lang/StringBuilder;println(I)Ljava/lang/StringBuilder; setLength resetShapeinvalidateCache setExtendMode isPresent booleanValue getVariablesequalsremovefinishslice(II)Lucar/nc2/Variable;-(Ljava/lang/Object;)Ljava/lang/StringBuilder; getMessageorg/slf4j/LoggerwarnsetParentStructure(Lucar/nc2/Structure;)VaddMemberVariable((Lucar/nc2/Variable;)Lucar/nc2/Variable;(Lucar/nc2/Variable;)V'(Ljava/lang/String;Ljava/lang/String;)V((Ljava/lang/String;Lucar/ma2/DataType;)Vfactory'(Lucar/ma2/DataType;[I)Lucar/ma2/Array;getIndexIterator()Lucar/ma2/IndexIterator;%(Ljava/lang/String;Lucar/ma2/Array;)V addAttribute*(Lucar/nc2/Attribute;)Lucar/nc2/Attribute; setByteNext(B)V setCharNext(C)V readShort()S setShortNext(S)VINT setIntNextFLOAT readFloat()F setFloatNext(F)VDOUBLE readDouble()D setDoubleNext(D)V!java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset;!([BIILjava/nio/charset/Charset;)VSTRINGof((Ljava/lang/Object;)Ljava/util/Optional;writewriteIntgetGlobalAttributes writeLong attributes()Lucar/nc2/AttributeContainer;#com/google/common/collect/IterablesgetNumericValue(I)Ljava/lang/Number;getStringValue(I)Ljava/lang/String;java/lang/Number byteValue()B shortValue writeShortintValue floatValue writeFloat doubleValue writeDoublegetClass()Ljava/lang/Class;java/lang/ClassgetNamegetBytes(Ljava/nio/charset/Charset;)[BreadIntUnbufferedattsPos(II)IcharAt(I)Corg/slf4j/LoggerFactory getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;!* !"#$%&'(')*%+,*%-.*%/ 01 21 31 4156789:;<=>?1@*A$B$C1D$E$F$GH;I$JKL_%**Y** * MHOSWN %OP QRL`$*M% (",N $56S TUVL *+*,+7* * * 7++:+6  5 3 3!YY+ ! 3)3!YY+ !*3"*+#$--%&Y*$'S(W*$ *)*$6 +#6  +#WE  !YY++ !+#6 --,&Y 'S(W6   - --&Y 'SY+./S(W*0: +#6  1Y *$2:*31Y  2:,4W--5&YS(W }*+.6*,7-8W6 +#6  +#WE  !YY9+ !+#6 --,&Y 'S(W--:&Y 'S(W6   +.7 *0:;Y,,7<: 76+#6Y:6Q+#6,7=>1:?6*@WAi7@WB-S-C&YS(WD:E%F1:-G&YHS(W-I&(W+.7*-8W+#6*J:K+#7*" +L+#7-z-M&YSY'SY/SY/SY/SYNSY/S(WOaPi7-Q&Y/SY/S(W OaPi7RYST*Ya**U**aV** U W=XY&YZSY/SYa/SYNSY*/S[W-;-Y&YZSY/SYa/SYNSY*/S(W\-X]&YZSY+. e/SY/S[W,^W 9+.7*  * * *Y* e*_* *`*>;:  a:  b c  df aP7 ef:E%F1:?Ai7 gR:h*h\IJXYijk* j lXYm*jn* *aj lXYo*j lXYp*j lXYq*$r lXYsj l*)*e7 **   *m$tI*   *q7XYu jv*$rwj l*3<*3*$x*D:EF;:yz* *a**$ia7  {a3})YY~ jj !+Mjk mnop!s$t)u/w4x:yCzQ{oyu|}~"(,?IMjpv{26ISY_psv|-8>FLT[bw{ $/?O\b '-6COTapw !"#&',-.H/K0g123789:;<+=.A5B@CaDfEkFnLMNORVN+=8W*  X>pRYZ vL[* X>BW* B\*/X>U]*X>#^$Y_$ _YZp`asb$vc1|d*e:>f$Lg*Thibj$wk$LW* l>Xj$mnpoa w{pi 0q$a oar$ OP5678stu$$v$4w'x* y* z* ={$ | e}Sq9=*~1-L**~*#$'+1'$;*~;91 #+ 7*~;D|3L;/ *~:;(! *~* *~*F1"MTLB @*7*'*3***$ia@ * *a@MY[\#]6_@aNBOP@$S6 Lj *A+&Y /S(W+&Y*)NS(W+&Y*"NS(W+&Y* /S(W+&Y*/S(W+&Y*3S(W*3B+&Y*/S(W+&Y*/S(W+&Y*$'S(W*7+&Y/S(W "+&Y /SY e/S(W& +&Y /SY e/S(W+&YS(W*f:EPF;:gR:+&YSY/SYh/SYNS(WM^efg/hDiYjnkmnopstuvw x(z8{Z|d}~N>d4mnZ>aOPt${$S>"VT LX<*DM,E=,F;N-Z$*-W*7-W<*M* +6GILOVN -aXOPV1S  ? L*_Y**7L+*3H*DM,ET,F;N-:/:Y- ++W*+@W*7+*JRUMF "-JRUWN>RaW* aJDa"OPS-7*;+;L>*#6*#W Y!*#>,,&Y'S(W6a,#,&Y'SY*./S(W*0:*#6Z,,&Y*./S(W*0:  : ,,&Y*./S(WY :,,&Y*./S(W*#6 *J:  Y :P Y O:   :  : 66 *  `6Y :*,,&Y*./S(W+W,,&YS(WM. ",48JSWw}%/8?BLY_lrvN2Z "E]*/C 8: ?3 B0** ~pi }.YZ%g*l?MdW*OPst* y*S{)0%* *TL}+c*>,+b*>,+d*>,+æ*#>,+Ŧ*F,%+Ȧ*J,)Mf )029AHJQY` b i qxzN\  w) A Y W*q  OPgiSTLC*#<M*,*>,3 Y,̷ͰM2  !"%!&&',(/)5,N*COP;* 7w'!"*S TLq=**.aM12 34N OP**STLZp<d<M89: ;N* *S L]q=d=M@A BCN$ *SL[?'+/37;cbdðŰȰYYҶr ӿM"G(I,K0M4O8Q<S@UN[OP[g*S (LY*c*b *Ԧ*d*æ*Ŧ*ȦYYն* ӿM6 Z[ \]^ _"`)a+b2c4d;e>gN YiS   L}*+*,*ֱMvw yzN>OP5678q*1stTL {>*6* >c**,>F* **,>**>M6  )16PX]wyN4{OP{1{sty1 r*S &TL B*"* * * *Nص* * ٧**:`6**ۧ* *6l>1:$&Y'SY*./S(W*H*?A? *3**.6***:D:E&F;:  * @W***. *Y a * 7D:  E F;:  gR:  * *<)YYjr ӿ* 3&Y ZSY /SY  ha/S(W ha7**  haV'*D:  E F;:  gR:  {* * * !&Y ZSY* /S(W ha7*Y ha** U`* *Y* e*_* *NصM&I !)=ENW\dox 4<HKTXcgrx :DZ]c %16 A NUX>pW*4a mn `a mn `a BOPBq*B1B1BstNe:Wx*-:xv$|Ne}-<Sw*4:1X *1))&C;R. ;C;R )'TL=***=*ܶfN-E-F1:*H``=**߷`=*fN-EI-F;:*`=eh`=*`=`=MJ&(+.M^l o!"%&)+,-0N4MX>8`aOP1*S?&$H*;*;LD +>**ۧ* *6+:EF:,#,&Y'SY*./S(W*6* *Y6*6 6   * `6 * ,,&Y*./S(W,,&YS(W1Mv56 78:%;->0?N@RArC{DEGHJKLMNMOPQSTU V WNf ]* O*C* g*NOPst *0*| S*  9*"T;L} =+N-Ev-F:*`=6*`==666*`6`=`=MFZ\]*^-`7a=bIdLeSfVg`hpgvi{jlmNRY]*S0*V-*7Lg*eOP*| S- > *;L@+=*+ާ-YN6-+W*- ޱM& qr suv&w1v7x?zN4 W*"@OP@;*S TLL=+>*+`=3Y:6+W* `=M* }~ #,8>JN>&W*#'LOPLJ*E*S  L+*++*++*++*++*+ YY +    MB&(/:<CNPWbeNOPSTLP+++++ YY +    M.  "$+.NPOPPS  Lf +`6**ۧ* *+D:EHF;:*aP7e: * ` D:  E: F1: ** 6 *  ? Ai77 Oa7*.7 *-a:6* 6**.7* **`.*>bc d 7RY STM$  )2PYdky $/7SkoN\* (X> d"j$ke: $ f$ pig*x* fv$P6`aOP:1st*|ke} <Sn G *;=G *;@"3*T;Lo!+̶M*,*,*,M N !OP!Zw'TLS+`=+`M N OPZ *LN+N6-`"->1:,ٻ YY,  M ),2N> X>*W*NOPN78N>Ie:| Ie}S #L>6*M   N4W*OP**S TKLH*϶**$۱M N OPTL>*$M NOP* LU*϶<*$*$*3*$x*DM,E,F;N-y-zM2   !"% (++H,L-P.S0N HoaUOP J*STL++**6,B+gR:*,B*!*#6*J:,:Ԧb:*YY, ӿs,:*#6   `6  6   *!a*  : 6      T * ڧ2*#6,6 6   *, W M 89;<+?3@<ADBJCRDWE^FJKLMNOPQTUVUWYZ[\]$\*_Nv$mnW* gZ^* T* H* &w' ]* &** +OP+a++v$<g*DiJiS[ +-F *; *;TL *a*#66*0:- *.*#6 *0WT*#6*J:  YO:   :  : 6 6 *  `6 * wYY- ӿMVb def%g.h6j?lEmMoVp^qhrqsxt{uvuwe{N~]*VH*^@pi h6 q- x& {#* %yYZ?_g*W*OP$Z*SJ0**TKL[;*YCTYDTYFTYTYCTYDTYFTYTٱM! R*