4             ! " #$ %& ~' U( U) ~*+, -. /0 1 23 /4  5 6 7 8 9 : ;< q=> /? q@ AB CDE FGH 4I JKL JMS TU TV WXY 7Z [\] q^_ C q`a Cb cdef d gh di j> k< dl m n do dpqrs [ dtu db dv w ~x ~yz{ | C}~ C j j j  Cl  t v s t {^ {`  ~MS 7 b  7 Z    '      d d  d       ~    g ~       C C C    }      (   Z                  F       )             Jx  Z    /   q ! "Netcdf4ObjectFilter InnerClasses# ObjFilterIDENTITY_FILTER(Lucar/nc2/util/CompareNetcdf2$ObjFilter;fLjava/util/Formatter; showCompareZshowEach compareData enumsAreEqual/(Lucar/nc2/EnumTypedef;Lucar/nc2/EnumTypedef;)ZCodeLineNumberTableLocalVariableTablethisLucar/nc2/util/CompareNetcdf2;enum1Lucar/nc2/EnumTypedef;enum2name1Ljava/lang/String;name2 StackMapTable5(Ljava/lang/String;Lucar/ma2/Array;Lucar/ma2/Array;)Znamedata1Lucar/ma2/Array;data2'(Ljava/lang/String;Lucar/ma2/Array;[D)Z[Ddata2a compareFilesB(Lucar/nc2/NetcdfFile;Lucar/nc2/NetcdfFile;Ljava/util/Formatter;)ZorgLucar/nc2/NetcdfFile;copyE(Lucar/nc2/NetcdfFile;Lucar/nc2/NetcdfFile;Ljava/util/Formatter;ZZZ)Z _compareData _showCompare _showEachtc compareLists8(Ljava/util/List;Ljava/util/List;Ljava/util/Formatter;)ZLjava/util/List;ok1ok2 checkContainsJ(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/Formatter;)Zindex2Iwant1Ljava/lang/Object;what containerwantListokLocalVariableTypeTable$Ljava/util/List;$ Signaturer(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/Formatter;)Z()V(Ljava/util/Formatter;)V(Ljava/util/Formatter;ZZZ)Vcompare-(Lucar/nc2/NetcdfFile;Lucar/nc2/NetcdfFile;)ZU(Lucar/nc2/NetcdfFile;Lucar/nc2/NetcdfFile;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)Zfilter"RuntimeVisibleParameterAnnotationsLjavax/annotation/Nullable;0(Lucar/nc2/NetcdfFile;Lucar/nc2/NetcdfFile;ZZZ)Z DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated;X(Lucar/nc2/NetcdfFile;Lucar/nc2/NetcdfFile;Lucar/nc2/util/CompareNetcdf2$ObjFilter;ZZZ)Zcs2#Lucar/nc2/dataset/CoordinateSystem;cs1orgds Lucar/nc2/dataset/NetcdfDataset;copyds objFilterstartJtook%compareVariablescopyVarLucar/nc2/Variable;orgV compareGroupsK(Lucar/nc2/Group;Lucar/nc2/Group;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)ZcopyVorgGroupLucar/nc2/Group; copyGroupigroups&compareVariableQ(Lucar/nc2/Variable;Lucar/nc2/Variable;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)ZS(Lucar/nc2/Variable;Lucar/nc2/Variable;Lucar/nc2/util/CompareNetcdf2$ObjFilter;ZZ)ZswLjava/io/StringWriter;eLjava/io/IOException;compareStructDataorgSLucar/nc2/Structure;copySorge#Lucar/nc2/dataset/VariableEnhanced;copyejustOnecompareCoordinateSystemq(Lucar/nc2/dataset/CoordinateSystem;Lucar/nc2/dataset/CoordinateSystem;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)Zct2!Lucar/nc2/dataset/CoordinateAxis;ct1ctOk&Lucar/nc2/dataset/CoordinateTransform;compareCoordinateAxism(Lucar/nc2/dataset/CoordinateAxis;Lucar/nc2/dataset/CoordinateAxis;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)Za1a2checkAttributesx(Lucar/nc2/Variable;Lucar/nc2/AttributeContainer;Lucar/nc2/AttributeContainer;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)Zatt1Lucar/nc2/Attribute;att2vlist1Lucar/nc2/AttributeContainer;list2checkDimensions5(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)Zhasitd1Lucar/nc2/Dimension;where&Ljava/util/List;a(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)Z listContains'(Ljava/util/List;Lucar/nc2/Dimension;)Zlistd2=(Ljava/util/List;Lucar/nc2/Dimension;)Z findDimension:(Lucar/nc2/Group;Lucar/nc2/Dimension;)Lucar/nc2/Dimension;dgdimparentfindEnumf(Lucar/nc2/Group;Lucar/nc2/EnumTypedef;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)Lucar/nc2/EnumTypedef;othertypedef equalInValue+(Lucar/nc2/Dimension;Lucar/nc2/Dimension;)ZcheckGroupDimensions5(Lucar/nc2/Group;Lucar/nc2/Group;Ljava/lang/String;)Zgroup1group2 checkEnumscheckAllE(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;)ZaList1aList2result checkEach{(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)Zwantwant2index1tLjava/lang/Throwable;checkAtt(Ljava/lang/String;Lucar/nc2/Attribute;Ljava/lang/String;Lucar/nc2/AttributeContainer;Ljava/lang/String;Lucar/nc2/AttributeContainer;Lucar/nc2/util/CompareNetcdf2$ObjFilter;)ZfoundcompareVariableData+(Lucar/nc2/Variable;Lucar/nc2/Variable;ZZ)Zvar1var2 Exceptions(Ljava/lang/String;[D[D)Zdata1a6(Ljava/lang/String;Lucar/ma2/Array;Lucar/ma2/Array;Z)Z7(Ljava/lang/String;Lucar/ma2/Array;Lucar/ma2/Array;ZZ)Zv1v2DFSBCobj1Ljava/nio/ByteBuffer;obj2 testTypesdtLucar/ma2/DataType;iter1Lucar/ma2/IndexIterator;iter2'(createNumericDataDiffMessageu(Lucar/ma2/DataType;Ljava/lang/String;Ljava/lang/Number;Ljava/lang/Number;Lucar/ma2/IndexIterator;)Ljava/lang/String;Ljava/lang/Number;itercompareStructureData4(Lucar/ma2/StructureData;Lucar/ma2/StructureData;Z)Zm2Member"Lucar/ma2/StructureMembers$Member;m1sdata1Lucar/ma2/StructureData;sdata2sm1Lucar/ma2/StructureMembers;sm2)main([Ljava/lang/String;)Vsarg[Ljava/lang/String;usagefile1file2ncfile1ncfile2 lambda$compareCoordinateSystem$3w(Lucar/nc2/util/CompareNetcdf2$ObjFilter;Lucar/nc2/dataset/CoordinateTransform;Lucar/nc2/dataset/CoordinateTransform;)Zct lambda$compareCoordinateSystem$2E(Lucar/nc2/dataset/CoordinateAxis;Lucar/nc2/dataset/CoordinateAxis;)Zlambda$compareVariables$1I(Lucar/nc2/dataset/CoordinateSystem;Lucar/nc2/dataset/CoordinateSystem;)Zcslambda$compare$0 SourceFileCompareNetcdf2.java *+_t ,- ./ 012 34 56 78ucar/nc2/util/CompareNetcdf2 XY # 9 :; #2 :? X[ \]first IJsecond <= >? @A BC ** %s missing in %s %njava/lang/Object DEjava/util/FormatterF GH XI XZallTests JK  #!  ! "! \b \f  First file = %s%n L+ Second file= %s%n MN OP vw Files are the same = %s%nQ RS Time to compare = %d msecs%nT RUucar/nc2/dataset/NetcdfDataset VWX <Y!ucar/nc2/dataset/CoordinateSystem Z[BootstrapMethods\]^_ `ab _c def gh0 ** Cant find CoordinateSystem '%s' in file2 %n i+ Original = %s%nCompareTo= %s%n jWucar/nc2/Variable kl MISSING '%s' in 2nd file%n m+ r%n MISSING '%s' in 1st file%ncompare Group '%s' to '%s' %n n]# ** names are different %s != %s %n op q-  rs  w jt ul' ** cant find variable %s in 2nd file%n' ** cant find variable %s in 1st file%njava/util/ArrayList v? root group wW  x/ yzucar/nc2/Groupcompare Variable %s to %s %n {| }8* ** %s dataTypes are different %s != %s %n ~Wjava/lang/StringBuilder  copy +  org java/io/IOExceptionjava/io/StringWriter Xjava/io/PrintWriter X %sucar/nc2/Structure ** %s not Structure%nucar/nc2/Sequence!ucar/nc2/dataset/VariableEnhanced Vt; ** Cant find CoordinateSystem '%s' in file2 for var %s %n(compare CoordinateSystem '%s' to '%s' %n Wucar/nc2/dataset/CoordinateAxis `, ** Cant find coordinateAxis %s in file2 %n  W$ucar/nc2/dataset/CoordinateTransform `' ** Cant find transform %s in file2 %n < ** compareCoordinateTransform failed on ct %s for cs %s %n( compare CoordinateAxis '%s' to '%s' %n global variable ucar/nc2/Attribute  ucar/nc2/Dimension ? + ** Missing Variable dim '%s' not in %s %n  ~t P  Wucar/nc2/EnumTypedef $%  / ? ? ]4 ** Dimension '%s' found in parent group of %s %s%n* ** Missing Group dim '%s' not in %s %s%ncompare Enum %s%n ** Enum %s not in file2 %n ** Enum %s not in file1 %n " ** %s: %s 0x%x (%s) not in %s %n / R2 ** %s: %s 0x%x (%s) not equal to %s 0x%x (%s) %n OK <%s> equals <%s>%n ]java/lang/Throwable Y *** Throwable= %s %n +  ** %s: %s (%s) not in %s %n  ( compareArrays %s unlimited=%s size=%d%n + N # ok=%s%n DIFF %s: data size %d !== %d%n ' DIFF %s: data element type %s !== %s%n DIFF %s: data type %s !== %s%n  \ DIFF %s: data shape %s !== %s%n   ? A ' DIFF %s: ArrayObject class %s != %s %nucar/ma2/Array   R     R   /  R  R N " DIFF char %s: %s != %s count=%s%n R java/lang/String$ DIFF string %s: %s != %s count=%s%n ucar/ma2/StructureData  java/nio/ByteBuffer / DIFF %s: opaque size %d != %d%n %s: Unknown data type %s%nA DIFF %s %s: %s != %s; count = %s, absDiff = %s, relDiff = %s %n    D  W size %d !== %d%n ucar/ma2/StructureMembers$Member  Jusage: ucar.nc2.util.CompareNetcdf2 file1 file2 [-showEach] [-compareData]   -showEach - -compareData  Yucar/nc2/util/CompareNetcdf2$10ucar/nc2/util/CompareNetcdf2$Netcdf4ObjectFilter&ucar/nc2/util/CompareNetcdf2$ObjFilterjava/util/Iteratorucar/nc2/NetcdfFilejava/util/Listucar/ma2/DataTypeucar/ma2/IndexIteratorucar/ma2/StructureMembers getShortName()Ljava/lang/String;endsWith(Ljava/lang/String;)Zlength()I substring(II)Ljava/lang/String;com/google/common/base/Objectsequal'(Ljava/lang/Object;Ljava/lang/Object;)ZgetMap*()Lcom/google/common/collect/ImmutableMap; getBaseType()Lucar/ma2/DataType;DOUBLEfactory9(Lucar/ma2/DataType;[ILjava/lang/Object;)Lucar/ma2/Array;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;indexOf(Ljava/lang/Object;)Iformat<(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;java/lang/SystemoutLjava/io/PrintStream;(Ljava/io/PrintStream;)V getProperty&(Ljava/lang/String;)Ljava/lang/String; getLocationcurrentTimeMillis()J getRootGroup()Lucar/nc2/Group;java/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;java/lang/Long(J)Ljava/lang/Long;getCoordinateSystems+()Lcom/google/common/collect/ImmutableList;'com/google/common/collect/ImmutableList2()Lcom/google/common/collect/UnmodifiableIterator;stream()Ljava/util/stream/Stream; (Ljava/lang/Object;)Z &(Lucar/nc2/dataset/CoordinateSystem;)ZtestC(Lucar/nc2/dataset/CoordinateSystem;)Ljava/util/function/Predicate;java/util/stream/Stream9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; findFirst()Ljava/util/Optional;java/util/OptionalorElse&(Ljava/lang/Object;)Ljava/lang/Object;getName getVariables findVariable'(Ljava/lang/String;)Lucar/nc2/Variable; getFullNameequals getNetcdfFile()Lucar/nc2/NetcdfFile;checkDimensionsForFile attributes()Lucar/nc2/AttributeContainer;()Ljava/util/List;findVariableLocalisRoot getGroupssizeget(I)Ljava/lang/Object;varDataTypeCheckOk(Lucar/nc2/Variable;)Z getDataType getDimensionsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString(I)V(Ljava/io/Writer;)VprintStackTrace(Ljava/io/PrintWriter;)V getCoordinateAxes $(Lucar/nc2/dataset/CoordinateAxis;)ZA(Lucar/nc2/dataset/CoordinateAxis;)Ljava/util/function/Predicate;getCoordinateTransforms )(Lucar/nc2/dataset/CoordinateTransform;)Zn(Lucar/nc2/util/CompareNetcdf2$ObjFilter;Lucar/nc2/dataset/CoordinateTransform;)Ljava/util/function/Predicate;compareCoordinateTransformO(Lucar/nc2/dataset/CoordinateTransform;Lucar/nc2/dataset/CoordinateTransform;)Zucar/nc2/AttributeContainer attCheckOk*(Lucar/nc2/Variable;Lucar/nc2/Attribute;)ZisSharedgetParentGroupgetEnumTypedefs getLength isUnlimitedisVariableLengthcontainshashCodejava/lang/Integer(I)Ljava/lang/Integer;add getMessagefindAttributeIgnoreCase((Ljava/lang/String;)Lucar/nc2/Attribute; attsAreEqual+(Lucar/nc2/Attribute;Lucar/nc2/Attribute;)Zread()Lucar/ma2/Array;getNameAndDimensionsgetSizegetElementType()Ljava/lang/Class;getShape()[Iucar/nc2/util/Misc([I[ILjava/util/Formatter;)Zjava/util/Arrays([I)Ljava/lang/String;getIndexIterator()Lucar/ma2/IndexIterator;isVlen getObjectNextgetClassjava/lang/Class getDoubleNext()D nearlyEquals(DD)Zjava/lang/Double(D)Ljava/lang/Double;FLOAT getFloatNext()F(FF)Zjava/lang/Float(F)Ljava/lang/Float;getPrimitiveClassTypeTYPELjava/lang/Class; getIntNextjava/lang/Short getShortNext()S(S)Ljava/lang/Short;java/lang/Byte getByteNext()B(B)Ljava/lang/Byte; getLongNextjava/lang/Character getCharNext()C(C)Ljava/lang/Character;STRING STRUCTUREOPAQUElimitjava/lang/Number doubleValueabsoluteDifference(DD)DrelativeDifference9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;getStructureMembers()Lucar/ma2/StructureMembers; getMembers findMember6(Ljava/lang/String;)Lucar/ma2/StructureMembers$Member;getArray4(Lucar/ma2/StructureMembers$Member;)Lucar/ma2/Array;java/io/PrintStreamprintln(Ljava/lang/String;)VexitequalsIgnoreCaseucar/nc2/dataset/NetcdfDatasetsopenFileC(Ljava/lang/String;Lucar/nc2/util/CancelTask;)Lucar/nc2/NetcdfFile;close       "java/lang/invoke/LambdaMetafactory metafactoryLookup(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;%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandles!  !"!#!+$%&a+N,:---dNd:- +,+,'* no pq s*t9vCwQx`v(4a)*a+,a-,\./ V0/1 %@ #2&N Y *+, '|( 3/4565 #7&c  Y,O, N*+-' (*3/456895 :;&H *+,'(  <= >=  :?& Y,:*+' (H<=>=@!A!B!C* DE&"*+,>+*,6 ' (4"<F">F" G!H!1  @ IJ&J6,:5:+6-YSY*SW6'"(-ADG(H(KL&MNJO/JPFJQFJGR!SJPTJQT1  U8VWXY&=*Y' ( )*XZ&x*+ !' ()*1%X[&*"*+#*$*%*&' (4)* !"!#!\]&Q*+,*%*&*$''( )*<=>=\^&\*+,-*%*&*$('(*)*<=>=_` a\b&i *+,('(> )* <= >=  ! "! #!cde\f&_-)N*$*%*&*#*Y++SW*#,Y,+SW-7*+.,.-/6 *#0Y 1SW-e7 *#2Y 3SW+4,4+4: ,4:  56:c7: 589:;<7:6 *#=Y>SW *-?~6  'b/DIXnv (/ghQihzjk tlk )*<=>=m !"!#!InoXR! vpo 14  qq44UX77 cde`ar]&*#@Y++SW*#AY,+SW>+B6:NC:,DE:*#FYGSW>**$H~>*#IW,B6::C:+DE:*#JYGSW>'J*,KV[qv  (RV1stK<utst(ut)*<=>=,R!1"5U@CCU=vw&- *%*#KY+LSY,LSW6+L,LM"*#NY+LSY,LSW6-+O+P*+,QR~6*,+SR~6*+T,T-U~6*+,-V~6+W:QC:,DX:*#YYGSW6*-*$H~6,W:;C:+DX:*#ZYGSW6[Y\:+]^+_:*+`,`a~66b5cd:`cd: * -/~6'!#&4PScp}"&'()*,.0 1+203F4I6L9U:g;|<=>?<B(4st?ut+ut )xtyz{z >|L)*<z>z_&R!Uk}FgY3/1;#/))UACC U>~C=&U *+,-*$H'G(* )* <t >t _r&b 6*%*#eY+GSY,GSW+G,GM"*#NY+GSY,GSW6-+f4+g,g)*#hY+GSY+gSY,gSW6*+i,ijYk,Glmlno~6*,i+ijYk+Glplno~6*++q,q-U~6K*+,*%r~67:tYu:vYwx*#yYzSW+{,{*#|Y+SW6+{:,{:}6:  d C:  D~:  *#YY GSW6( 6 *  - H~6+,+:,::  n 7:  :;<7:  &6*#Y >SY+DSW*  -?~6s'.LN O&P4QPRSThUVZ[^acje fg$h:i<nCoJp\qbthunwxyz{}~!9GLOo}(& 2! Fst Rut h{nuG6gh !\ih )*<t>t_#!!R!1I&,:ys3%{{UBCC@'Uc77 &V ?*%*#Y+>SY,>SW6+6:b:,8:;<:6*#YSW*-~6+6::,8-:;<:6*#YSWB-6 *#YSY+>SW 6h'^#&EXfkn (9<(f f/EP3!`?)*?ih?gh?_&R!15 # UW UX- @&-*%*#Y+SY,SW*+,-W'#+(*-)*---_1#&v 6+jYkl+Gln:,:4:+*,-~6-:4:+*-,~6'. $BOdg(\ B"")*tmR!$3/1! U U7U7&[6+:F:/*,6*#YSY-SW~6'& !)27NUX(H2#!!4[)*[F[F[/XR!S[[1 UBV&,+N--:*,'%'*(* ,)*,F,S ,1 UV&F,+N--:*,+N- *-,'* $.1 4 9 = D(4$ F)*FzF9 z1 U d&M,+6:!:-,+: *,-'* %147=BK(>%,M)*MzM,M_=z1U$d&Y+ ,++,M+,(+,+,+,'#$%%&''>(X'( Y)*YY1/@&'6+:t:],O*,$*#YSY-SY,_SW$*#YSY-SY,_SW6'* ,-$.,/:1D2e459:(>$b)*zz/R!1UV w&6+6:c:*%*#YSW*,-:(*+-W*#YSW6,6:C:*+-:%*+-W*#YSW6'NAC"D)E?FIGNHWImJpKsMvOPQRSTVW(\ I*-,"Q+,'+,1-,)*<z>z_R!1! U23UF& i6,:#:*+,-~6-:":*+-,~6'"[]^2_5aPbccfe(RNPNi)*iO/iFiFiFfR!1 U)U(& >6,6  2*#Y+SY,SY,SY-SYSW6 c:  6  4*#Y+SY SY SYSY-SW6 c:  ,D*#Y+SY,SY,SY-SY SY SYSW69*&*#Y,SY SW,W W#:  *#Y SW6'nkm no;pArLsWt\uvyz{|{}"8;(N LN WL  KL  >)*>O/>MN>./>F>0/>F>F;R!1:AKT  ~~~B&p 6,:  (*#Y+SY,SY-SYSW6o, D*#Y+SY,SY,ĸSY-SY SY ĸSYSW6!*&*#Y,SY SW'6 4:Gq~(f )*O/./0/mR! 1 :M&g+:,:-*#Y+SY+ȸ1SYɸ3SW*+G6*#Y1SW'*  /6:JNd(Rg)*gtgtg !g!a45 [65JR!1:)s#&.  Y,O, :  Y-O- :*+ '"(>.)*.3/.48.685" 95#&] *+,- '(4 )* 3/ 45 65 !#& /6,-ɔ,*#Y+SY,ɸ3SY-ɸ3SW61,-ͥ&*#Y+SY,SY-SW61,-ϥ&*#Y+SY,SY-SW6,-*#Қ,*#Y+SY,ѸSY-ѸSW6,:,:-: ,֙ :  :   ٥6*#Y+SY ٶSY ٶSW6&/ ܙ*+   ~6z ` 9  9   ޚ-*#*+  W6` 8  8   -*#*+  W6E]- #6  6   -*#*+  W6] 6  6   -*#*+  W6{]c Y6  6   -*#*+  W6^ 7  7   -*#*+ 3 3W6e 6  6   5*#Y+SY SY SYSW6Ch. $:  :   M/*#Y+SY SY SYSW6֧5 * Wr }:  :   6*#Y+SY SY SW6%6*#Y+SY,ٶSW'58Hhk{ ,TW\_g >AFILWkt}     !5>GNmp u!x#{$%&'()*+,./01 234@5C6H7K9N:V;j<v=>?@ABDFGHKLMN)O6P^QaRfSiUlXoY\(.iN `N = 4  = 4 t:L }1L : 1 >: G1 ;o 2o  B 9 vB/ 6/ L )@ )*3/4565!!R! 1S'822:eYY V V V W ^a1k&GY+SY,SY-SYSYSY-SY-S'`!a4bC`(>G)*GG3/GGG& 6+:,:1*#YSYSW66:B :  : + : ,  : *    ~6'6 fh ij"kMlPopp|qrstv(p |$ 45 65 p0)*!R! 1P UH & L*+=>*2:*2:6*)*2:=>::YW'Vz{ |}#-3>@KMS[cx}(f 3/&-|L/l"!j#!e/#`/[(=c =1* s &G *+,'(  _     &@ +*M'(     &@ +>*>M'( ih  h  &@ +>*>M'( ih  hY&# Y)'*     N*OPQROPROPOP