1 *] ^ _`ab ]c d e f _g hi _jk _l _m n op q rs tu _vwx y z{| f _} *~ *} _ _  fSHA1Ljava/lang/String; ConstantValueBITPRINT URN_PREFIXhashCodeI urnStringurnNIDurnNSS(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLphex/common/URN; aURNStringprefixcolonIdx isSha1Nid()Z isBitprintNidgetNamespaceSpecificString()Ljava/lang/String; getSHA1NssgetTigerTreeRootNss getAsStringequals(Ljava/lang/Object;)ZurnLjava/lang/Object;(Lphex/common/URN;)Z thisSHA1Nss()I isValidURN(Ljava/lang/String;)ZnidnssisValidNamespaceSpecificStringlengthisValidNamespaceIdentifierlcNIDparseURNFromUriRes%(Ljava/lang/String;)Lphex/common/URN;urnStr uriResLine lowerCaseLine SourceFileURN.java 5 01 SM"java/lang/IllegalArgumentExceptionjava/lang/StringBuilderURN not valid: C 56  urn: GH 3, TOURN not valid (NID): 4, ROURN not valid (NSS): 2,sha1 Obitprintphex/common/URN GK DCjava/lang/RuntimeExceptionCant compare URNs 0M /uri-res/n2r?urn: O  NOjava/lang/Object()Vjava/lang/Stringappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString substring(II)Ljava/lang/String;java/util/LocaleUSLjava/util/Locale; toLowerCase&(Ljava/util/Locale;)Ljava/lang/String;indexOf(II)IequalsIgnoreCasegetClass()Ljava/lang/Class; startsWith(I)Ljava/lang/String;phex/utils/URLCodecUtils decodeURL&(Ljava/lang/String;)Ljava/lang/String;!*+,-.,-/,-012,3,4,567z**+YY+ + M,YY+ +:>YY+ *+ *YY+ *+`+ *YY+ *+8J5* ;=,?9@BB]DeEjGIJLNOQST9*:;<,9=,e>1?@74 *8X9  :;A@74 *8]9  :;BC7/*8b9 :;DC7d***** 8g jlo(q9 *:;EC7L**!H 8v y{9 :;FC7/*89 :;GH7N+ *+89:;IJGK76*++**M, Y ,+8#-9 6:;6I;L,0M7T"***!*"#`h*89 ":; NO7Z** L+*:=* N-*`* :8>  "*/18?ANVX94ZI,C=,*0>18"P,N Q, RO7U*< H89Q,S1 TO7h * L++89 P,U, VW7/* L+$%* &'M,(Y,)N-8    "+-9*+I;X,/Y,'Z,[\