Êþº¾1 O‘’“”•–— ˜ ™ š ›œ �ž Ÿ ¡ ‘¢ £¤ ¥¦ § ¨© § Nª N« N¬­® N¯° ˜ D±²³ ´µ ¶· ¸¹ D™º N»¼½¾ D¿ DÀ DÁÂà DÄÅ ¸Æ ¸Ç ÈÉÊ NËÌ �ÍÎÏ NÐÑ NÒÓÔÕ DÖרÙÚÛÜÝÞßà_allowableInURI[C_allowableInURI_CE _URIEscapeC()VCodeLineNumberTableLocalVariableTablethisLopendap/util/EscapeStrings;normalizeToXML&(Ljava/lang/String;)Ljava/lang/String;coffsetIsLjava/lang/String;xmlGTxmlLTxmlAmpxmlAposxmlQuotesbLjava/lang/StringBuffer; id2www_ceeLjava/lang/Exception;in escapeString)(Ljava/lang/String;[CC)Ljava/lang/String;allowedarr$len$i$ candidate isAllowedZ allowableescoutinca Exceptions isEscAllowed([CC)Zid2wwwunescapeString9(Ljava/lang/String;CLjava/lang/String;)Ljava/lang/String; replacementescapeexceptiwww2idwww2cemain([Ljava/lang/String;)V[Ljava/lang/String;ballBytesallCharsargs SourceFileEscapeStrings.java UV><&'"java/lang/StringBuffer Uá âã äå æçEscapeStrings.normalizeToXMLè éêë yìjava/lang/StringBuilder String: ` íî` normalized to: ` íï` ðñò óá RQ ST nojava/lang/Exception |}>Escape character MAY NOT be in the list of allowed characters! ôõEscapeStrings.escapeString candidate: íö( í÷) Integer.toHexString(): ø ùú0 PQEscapeStrings.unescapeString string: " " length: ûü ýþ ÿindex:  candidate: -candiate equals excepted string, not replaced û ã ðü replacement: €%20 id2www - Input: " " Output: " ~]" recaptured: …]www2id - Input: "" recaptured: java/lang/String Uid2www All CharactersInput String: ""Output String: "Recaptured String: "" EABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\*EABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\,opendap/util/EscapeStringsjava/lang/Object(Ljava/lang/String;)Vlength()IcharAt(I)Creplace.(IILjava/lang/String;)Ljava/lang/StringBuffer;opendap/util/DebugisSet(Ljava/lang/String;)Zjava/lang/SystemLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln toCharArray()[C(C)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/lang/Integer toHexString(I)Ljava/lang/String;valueOf(C)Ljava/lang/String;indexOf(Ljava/lang/String;I)I substring(II)Ljava/lang/String;equals(Ljava/lang/Object;)Z((Ljava/lang/String;I)Ljava/lang/Integer;intValuejava/lang/Characterset(Ljava/lang/String;Z)V([C)V!NO PQ RQ ST UVW/*·±X!Y Z[ \]WÄ òLMN::»Y*·:6¶ ¢—¶ 6«ƒ"r&Q'a<A>1`+¶ W§E`,¶ W§5`-¶ W§%`¶ W§`¶ W§„§ÿe ¸ ™+²»Y·¶*¶¶¶¶¶¶¶°X^:;< = >@B(D1FdIqJtM�N„Q‘R”U¢V¥Y³Z¶B¼bÄcìeY\ 1…^Tž_`òabïcbìdb éeb åfbágb×hi j]Wi*²²¸L§ML+° X… Їˆ‹Y klmb ab noWF8N*ǰ+¸™ »Y· ¿*¶!::¾66  ¢ 46 6+:  ¾6 6   ¢  46  6„ §ÿå™S"¸ ™4²»Y·#¶ ¶$%¶ ¶&'¶ ¸(¶¶¶»Y·-¶ ¶$¶N§w ¸(:"¸ ™1²»Y·#¶ ¶$%¶ ¶&'¶¶¶¶¶)¢»Y·*¶¶¶:»Y·-¶¶$¶¶N„ §þú-°X^œŸ ¡¢¦!ª;«>¬W­^®a¬g°l±t²¥³¼µÃ¶Ë·ù¸¹º0ª6¿Y˜W pTA&qQ F!r` Is` Ãm^b;õtT >øuv%qQ* r`- s` 8mb8wQ8xT5yb!zQ{ |}W�$*M,¾>6¢,46 ¬„§ÿé¬XÅÆÇÅ"ÉY>pT qQr`s`$wQ$xT ~]Wi*²+²¸L§ML+° XÛ àÝÞáY klmb ab €Wá!,¸ ™(²»Y·-¶*¶.¶*¶)¶&¶¶*ǰ¸/N*:6-¶0Y6ŸÔ`¶1:,¸ ™'²»Y·2¶¶&3¶¶¶¶,¶4™,¸ ™ ²5¶„§y``¶1¸6¶7’¸8:»Y·¶1¶¶`¶)¶1¶¶:-¶4™„,¸ ™²»Y·9¶¶¶¶§ÿ#°XVòó-õ3÷8ø;ù>úMüZþbÿ†�—Ÿ¥ À íöùYRÀ[�bZÁtb!mb!‚T!ƒb8éxb;æyb>ã„` …]W4 *²¸:°X&Y  mb †]W4 *²;¸:°X8Y  mb ‡ˆW4F"¸<,¸<*¾ž©*L+¾=>¢E+2:²»Y·=¶¶>¶¸?¶@¶¸?¸A¶¶¶„§ÿ¼*L+¾=>¢L+2:¸?:²»Y·B¶¶>¶¸A¶C¶¸A¸?¶¶¶„§ÿµ§‘¼L=¢+’U„§ÿñ»DY+·EM²F¶²»Y·G¶,¶H¶¶¶²»Y·I¶,¸?¶H¶¶¶²»Y·J¶,¸?¸A¶K¶¶¶±XR?@ BC"DYC_FpGwH®F·L½NÆOËNÑPÚQâRS!TEWY„ "7abLq‰Ir`Gs`w7ybp>abaSq‰dPr`fNs`¿Š`½ˆ‹QÚkŒbF�‰{ŽVW6L¶!³+M¶!³%³±Xklm��