pst01234xftp: URL canonicalization (See )label url_prefixinfo2 Aftp%3A%2F%2Fhoge%5Cbar%5Cbaz%20%2B%20ftp%3A%2F%2Fhoge%5Cbar%5Cbazname %ftp://hoge\bar\baz ftp://hoge\bar\bazlabelftp://hoge/bar/baztext PASSclass1307166157.27755opera:illegal-url-29text FAILclass1298184623.81142ftp://hoge\bar\baz/text FAILclass1307166124.53317ftp://hoge/bar/baztext PASSclass1298184504.70199resultAftp%3A%2F%2Fhoge%5Cbar%5Cbaz%20%2B%20ftp%3A%2F%2Fhoge%5Cbar%5Cbaz ?ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname #ftp://foo/bar/baz ftp://foo/bar/bazlabelftp://foo/bar/baztext PASSclass1307166157.27755ftp://foo/bar/baztext PASSclass1298184623.81142ftp://foo/bar/baztext PASSclass1307166124.53317ftp://foo/bar/baztext PASSclass1298184504.70199result?ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz Iftp%3A%2F%2Ffoo%2Fbar%2F..%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F..%2Fbazname )ftp://foo/bar/../baz ftp://foo/bar/../bazlabel ftp://foo/baztext PASSclass1307166157.27755 ftp://foo/baztext PASSclass1298184623.81142 ftp://foo/baztext PASSclass1307166124.53317 ftp://foo/baztext PASSclass1298184504.70199resultIftp%3A%2F%2Ffoo%2Fbar%2F..%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F..%2Fbaz 6%3Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Diname ?hoge ftp://foo/bar/baz;type=ilabelftp://foo/bar/baz;type=i?hogetext PASSclass1307166157.27755ftp://foo/bar/baz;type=i?hogetext PASSclass1298184623.81142ftp://foo/bar/baz;type=i?hogetext PASSclass1307166124.53317ftp://foo/bar/baz;type=i?hogetext PASSclass1298184504.70199result6%3Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Di 6%23hoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Diname #hoge ftp://foo/bar/baz;type=ilabelftp://foo/bar/baz;type=i#hogetext PASSclass1307166157.27755ftp://foo/bar/baz;type=i#hogetext PASSclass1298184623.81142ftp://foo/bar/baz;type=i#hogetext PASSclass1307166124.53317ftp://foo/bar/baz;type=i#hogetext PASSclass1298184504.70199result6%23hoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Di >hoge%3Btype%3Da%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Diname $hoge;type=a ftp://foo/bar/baz;type=ilabelftp://foo/bar/hoge;type=atext PASSclass1307166157.27755ftp://foo/bar/hoge;type=atext PASSclass1298184623.81142ftp://foo/bar/hoge;type=atext PASSclass1307166124.53317ftp://foo/bar/hoge;type=atext PASSclass1298184504.70199result>hoge%3Btype%3Da%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Di .%2F%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname //hoge ftp://foo/bar/bazlabel ftp://hoge/text PASSclass1307166157.27755 ftp://hoge/text PASSclass1298184623.81142 ftp://hoge/text PASSclass1307166124.53317 ftp://hoge/text PASSclass1298184504.70199result.%2F%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz 8ftp%3A%2F%2F%2Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbazname ftp:///hoge http://foo/bar/bazlabel ftp://hoge/text PASSclass1307166157.27755 ftp:/hogetext FAILclass1298184623.81142 ftp://hoge/text PASSclass1307166124.53317 ftp:///hogetext FAILclass1298184504.70199result8ftp%3A%2F%2F%2Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbaz ,.%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname ./hoge ftp://foo/bar/bazlabelftp://foo/bar/hogetext PASSclass1307166157.27755ftp://foo/bar/hogetext PASSclass1298184623.81142ftp://foo/bar/hogetext PASSclass1307166124.53317ftp://foo/bar/hogetext PASSclass1298184504.70199result,.%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz 9ftp%3A%2F%2F%2Ffoo%2Fbar%20%2B%20ftp%3A%2F%2F%2Ffoo%2Fbarname ftp:///foo/bar ftp:///foo/barlabel ftp://foo/bartext PASSclass1307166157.27755 ftp:/foo/bartext FAILclass1298184623.81142 ftp://foo/bartext PASSclass1307166124.53317ftp:///foo/bartext FAILclass1298184504.70199result9ftp%3A%2F%2F%2Ffoo%2Fbar%20%2B%20ftp%3A%2F%2F%2Ffoo%2Fbar 2ftp%3A%2Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbazname ftp:/hoge http://foo/bar/bazlabel ftp://hoge/text PASSclass1307166157.27755http://foo/bar/ftp:/hogetext FAILclass1298184623.81142 ftp://hoge/text PASSclass1307166124.53317 ftp:/hogetext FAILclass1298184504.70199result2ftp%3A%2Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbaz 2ftp%3A%23hoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbazname ftp:#hoge http://foo/bar/bazlabel ftp:/#hogetext FAILclass1307166157.27755http://foo/bar/ftp:#hogetext FAILclass1298184623.81142 ftp:///#hogetext PASSclass1307166124.53317 ftp:#hogetext FAILclass1298184504.70199result2ftp%3A%23hoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbaz wftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Da%2Fhoge%2F..%2F..%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Da%2Fhoge%2F..%2F..name Gftp://foo/bar/baz;type=a/hoge/../.. ftp://foo/bar/baz;type=a/hoge/../..labelftp://foo/bar/text PASSclass1307166157.27755ftp://foo/bar/baz;type=a/text FAILclass1298184623.81142ftp://foo/bar/text PASSclass1307166124.53317ftp://foo/bar/text PASSclass1298184504.70199resultwftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Da%2Fhoge%2F..%2F..%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz%3Btype%3Da%2Fhoge%2F..%2F.. Qftp%3A%2F%2Ffoo%2Fbar%3Ftype%3D%2564%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Ftype%3D%2564name -ftp://foo/bar?type=%64 ftp://foo/bar?type=%64labelftp://foo/bar?type=%64text PASSclass1307166157.27755ftp://foo/bar?type=%64text PASSclass1298184623.81142ftp://foo/bar?type=%64text PASSclass1307166124.53317ftp://foo/bar?type=%64text PASSclass1298184504.70199resultQftp%3A%2F%2Ffoo%2Fbar%3Ftype%3D%2564%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Ftype%3D%2564 3ftp%3A%2F%2Ffoo%3A%2F%20%2B%20ftp%3A%2F%2Ffoo%3A%2Fname ftp://foo:/ ftp://foo:/label ftp://foo/text PASSclass1307166157.27755 ftp://foo/text PASSclass1298184623.81142 ftp://foo/text PASSclass1307166124.53317 ftp://foo/text PASSclass1298184504.70199result3ftp%3A%2F%2Ffoo%3A%2F%20%2B%20ftp%3A%2F%2Ffoo%3A%2F Iftp%3A%2F%2Ffoo%2Fbar%3Ftype%3Dd%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Ftype%3Ddname )ftp://foo/bar?type=d ftp://foo/bar?type=dlabelftp://foo/bar?type=dtext PASSclass1307166157.27755ftp://foo/bar?type=dtext PASSclass1298184623.81142ftp://foo/bar?type=dtext PASSclass1307166124.53317ftp://foo/bar?type=dtext PASSclass1298184504.70199resultIftp%3A%2F%2Ffoo%2Fbar%3Ftype%3Dd%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Ftype%3Dd ?ftp%3A%2F%2Ffoo%2Fbar%23baz%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%23bazname #ftp://foo/bar#baz ftp://foo/bar#bazlabelftp://foo/bar#baztext PASSclass1307166157.27755ftp://foo/bar#baztext PASSclass1298184623.81142ftp://foo/bar#baztext PASSclass1307166124.53317ftp://foo/bar#baztext PASSclass1298184504.70199result?ftp%3A%2F%2Ffoo%2Fbar%23baz%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%23baz Gftp%3A%2F%2Ffoo%2Fb%252cr%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fb%252cr%2Fbazname 'ftp://foo/b%2cr/baz ftp://foo/b%2cr/bazlabelftp://foo/b%2cr/baztext PASSclass1307166157.27755ftp://foo/b%2cr/baztext PASSclass1298184623.81142ftp://foo/b%2cr/baztext PASSclass1307166124.53317ftp://foo/b%2cr/baztext PASSclass1298184504.70199resultGftp%3A%2F%2Ffoo%2Fb%252cr%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fb%252cr%2Fbaz 5ftp%3A%2F%2Ffoo%3A0%2F%20%2B%20ftp%3A%2F%2Ffoo%3A0%2Fname ftp://foo:0/ ftp://foo:0/label ftp://foo:0/text PASSclass1307166157.27755 ftp://foo/text FAILclass1298184623.81142 ftp://foo:0/text PASSclass1307166124.53317 ftp://foo:0/text PASSclass1298184504.70199result5ftp%3A%2F%2Ffoo%3A0%2F%20%2B%20ftp%3A%2F%2Ffoo%3A0%2F Iftp%3A%2F%2Ffoo%2Fbar%3Ftype%3DD%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Ftype%3DDname )ftp://foo/bar?type=D ftp://foo/bar?type=Dlabelftp://foo/bar?type=Dtext PASSclass1307166157.27755ftp://foo/bar?type=Dtext PASSclass1298184623.81142ftp://foo/bar?type=Dtext PASSclass1307166124.53317ftp://foo/bar?type=Dtext PASSclass1298184504.70199resultIftp%3A%2F%2Ffoo%2Fbar%3Ftype%3DD%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Ftype%3DD -ftp%3A%2F%2Ffoo%40%20%2B%20ftp%3A%2F%2Ffoo%40name ftp://foo@ ftp://foo@label ftp://foo@/text PASSclass1307166157.27755ftp:/text FAILclass1298184623.81142 ftp://foo@/text PASSclass1307166124.53317 ftp://foo@/text PASSclass1298184504.70199result-ftp%3A%2F%2Ffoo%40%20%2B%20ftp%3A%2F%2Ffoo%40 Oftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3DD%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3DDname +ftp://foo/bar/;type=D ftp://foo/bar/;type=Dlabelftp://foo/bar/;type=Dtext PASSclass1307166157.27755ftp://foo/bar/;type=Dtext PASSclass1298184623.81142ftp://foo/bar/;type=Dtext PASSclass1307166124.53317ftp://foo/bar/;type=Dtext PASSclass1298184504.70199resultOftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3DD%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3DD (hoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname hoge ftp://foo/bar/bazlabelftp://foo/bar/hogetext PASSclass1307166157.27755ftp://foo/bar/hogetext PASSclass1298184623.81142ftp://foo/bar/hogetext PASSclass1307166124.53317ftp://foo/bar/hogetext PASSclass1298184504.70199result(hoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz +%3Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname ?hoge ftp://foo/bar/bazlabelftp://foo/bar/baz?hogetext PASSclass1307166157.27755ftp://foo/bar/baz?hogetext PASSclass1298184623.81142ftp://foo/bar/baz?hogetext PASSclass1307166124.53317ftp://foo/bar/baz?hogetext PASSclass1298184504.70199result+%3Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz Wftp%3A%2F%2F%E4%B8%80%E3%80%82j%2570%2F%20%2B%20ftp%3A%2F%2F%E4%B8%80%E3%80%82j%2570%2Fname #ftp://一。j%70/ ftp://一。j%70/labelftp://xn--4gq.jp/text PASSclass1307166157.27755 ftp://一.jp/text FAILclass1298184623.81142ftp://xn--4gq.j%70/text FAILclass1307166124.53317 ftp://一.jp/text FAILclass1298184504.70199resultWftp%3A%2F%2F%E4%B8%80%E3%80%82j%2570%2F%20%2B%20ftp%3A%2F%2F%E4%B8%80%E3%80%82j%2570%2F aftp%3A%2F%2Fftp.is.co.za%2Frfc%2Frfc1808.txt%20%2B%20ftp%3A%2F%2Fftp.is.co.za%2Frfc%2Frfc1808.txtname Eftp://ftp.is.co.za/rfc/rfc1808.txt ftp://ftp.is.co.za/rfc/rfc1808.txtlabel"ftp://ftp.is.co.za/rfc/rfc1808.txttext PASSclass1307166157.27755"ftp://ftp.is.co.za/rfc/rfc1808.txttext PASSclass1298184623.81142"ftp://ftp.is.co.za/rfc/rfc1808.txttext PASSclass1307166124.53317"ftp://ftp.is.co.za/rfc/rfc1808.txttext PASSclass1298184504.70199resultaftp%3A%2F%2Fftp.is.co.za%2Frfc%2Frfc1808.txt%20%2B%20ftp%3A%2F%2Fftp.is.co.za%2Frfc%2Frfc1808.txt /ftp%3Ahoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbazname ftp:hoge http://foo/bar/bazlabel ftp://hoge/text PASSclass1307166157.27755http://foo/bar/ftp:hogetext FAILclass1298184623.81142 ftp://hoge/text PASSclass1307166124.53317ftp:hogetext FAILclass1298184504.70199result/ftp%3Ahoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbaz Aftp%3A%2F%2Flocalhost%2Fhoge%20%2B%20ftp%3A%2F%2Flocalhost%2Fhogename )ftp://localhost/hoge ftp://localhost/hogelabelftp://localhost/hogetext PASSclass1307166157.27755ftp://localhost/hogetext PASSclass1298184623.81142ftp://localhost/hogetext PASSclass1307166124.53317ftp://localhost/hogetext PASSclass1298184504.70199resultAftp%3A%2F%2Flocalhost%2Fhoge%20%2B%20ftp%3A%2F%2Flocalhost%2Fhoge Oftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3Dd%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3Ddname +ftp://foo/bar/;type=d ftp://foo/bar/;type=dlabelftp://foo/bar/;type=dtext PASSclass1307166157.27755ftp://foo/bar/;type=dtext PASSclass1298184623.81142ftp://foo/bar/;type=dtext PASSclass1307166124.53317ftp://foo/bar/;type=dtext PASSclass1298184504.70199resultOftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3Dd%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3Dd =ftp%3A%2F%2Ffoo%3Btype%3DA%20%2B%20ftp%3A%2F%2Ffoo%3Btype%3DAname !ftp://foo;type=A ftp://foo;type=Alabelftp://foo%3Btype%3Da/text FAILclass1307166157.27755ftp://foo/;type=Atext FAILclass1298184623.81142ftp://foo/;type=Atext FAILclass1307166124.53317ftp://foo;type=a/text FAILclass1298184504.70199result=ftp%3A%2F%2Ffoo%3Btype%3DA%20%2B%20ftp%3A%2F%2Ffoo%3Btype%3DA -ftp%3A%2F%2Ffoo%2F%20%2B%20ftp%3A%2F%2Ffoo%2Fname ftp://foo/ ftp://foo/label ftp://foo/text PASSclass1307166157.27755 ftp://foo/text PASSclass1298184623.81142 ftp://foo/text PASSclass1307166124.53317 ftp://foo/text PASSclass1298184504.70199result-ftp%3A%2F%2Ffoo%2F%20%2B%20ftp%3A%2F%2Ffoo%2F 2ftp%3A%3Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbazname ftp:?hoge http://foo/bar/bazlabel ftp:/?hogetext FAILclass1307166157.27755http://foo/bar/ftp:?hogetext FAILclass1298184623.81142 ftp:///?hogetext PASSclass1307166124.53317 ftp:?hogetext FAILclass1298184504.70199result2ftp%3A%3Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbaz +%23hoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname #hoge ftp://foo/bar/bazlabelftp://foo/bar/baz#hogetext PASSclass1307166157.27755ftp://foo/bar/baz#hogetext PASSclass1298184623.81142ftp://foo/bar/baz#hogetext PASSclass1307166124.53317ftp://foo/bar/baz#hogetext PASSclass1298184504.70199result+%23hoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz =ftp%3A%2F%2Ffoo%3Btype%3Di%20%2B%20ftp%3A%2F%2Ffoo%3Btype%3Diname !ftp://foo;type=i ftp://foo;type=ilabelftp://foo%3Btype%3Di/text FAILclass1307166157.27755ftp://foo/;type=itext FAILclass1298184623.81142ftp://foo/;type=itext FAILclass1307166124.53317ftp://foo;type=i/text FAILclass1298184504.70199result=ftp%3A%2F%2Ffoo%3Btype%3Di%20%2B%20ftp%3A%2F%2Ffoo%3Btype%3Di {ftp%3A%2F%2Fuser%40example.com%3A%2Fpub%2Fruby%3Btype%3Di%20%2B%20ftp%3A%2F%2Fuser%40example.com%3A%2Fpub%2Fruby%3Btype%3Diname Oftp://user@example.com:/pub/ruby;type=i ftp://user@example.com:/pub/ruby;type=ilabel&ftp://user@example.com/pub/ruby;type=itext PASSclass1307166157.27755!ftp://example.com/pub/ruby;type=itext FAILclass1298184623.81142&ftp://user@example.com/pub/ruby;type=itext PASSclass1307166124.53317&ftp://user@example.com/pub/ruby;type=itext PASSclass1298184504.70199result{ftp%3A%2F%2Fuser%40example.com%3A%2Fpub%2Fruby%3Btype%3Di%20%2B%20ftp%3A%2F%2Fuser%40example.com%3A%2Fpub%2Fruby%3Btype%3Di Gftp%3A%2F%2Ffoo%2Fb%2561r%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fb%2561r%2Fbazname 'ftp://foo/b%61r/baz ftp://foo/b%61r/bazlabelftp://foo/bar/baztext PASSclass1307166157.27755ftp://foo/bar/baztext PASSclass1298184623.81142ftp://foo/b%61r/baztext FAILclass1307166124.53317ftp://foo/bar/baztext PASSclass1298184504.70199resultGftp%3A%2F%2Ffoo%2Fb%2561r%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2Fb%2561r%2Fbaz gftp%3A%2F%2Fmyname%40host.dom%2F%252Fetc%2Fmotd%20%2B%20ftp%3A%2F%2Fmyname%40host.dom%2F%252Fetc%2Fmotdname Cftp://myname@host.dom/%2Fetc/motd ftp://myname@host.dom/%2Fetc/motdlabel!ftp://myname@host.dom/%2Fetc/motdtext PASSclass1307166157.27755ftp://host.dom/%2Fetc/motdtext FAILclass1298184623.81142!ftp://myname@host.dom/%2Fetc/motdtext PASSclass1307166124.53317!ftp://myname@host.dom/%2Fetc/motdtext PASSclass1298184504.70199resultgftp%3A%2F%2Fmyname%40host.dom%2F%252Fetc%2Fmotd%20%2B%20ftp%3A%2F%2Fmyname%40host.dom%2F%252Fetc%2Fmotd Oftp%3A%2F%2Ffoo%2Fbar%3Btype%3Dhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Btype%3Dhogename /ftp://foo/bar;type=hoge ftp://foo/bar;type=hogelabelftp://foo/bar;type=hogetext PASSclass1307166157.27755ftp://foo/bar;type=hogetext PASSclass1298184623.81142ftp://foo/bar;type=hogetext PASSclass1307166124.53317ftp://foo/bar;type=hogetext PASSclass1298184504.70199resultOftp%3A%2F%2Ffoo%2Fbar%3Btype%3Dhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%3Btype%3Dhoge Aftp%3A%2F%2Ffoo%3A%40hoge%2F%20%2B%20ftp%3A%2F%2Ffoo%3A%40hoge%2Fname !ftp://foo:@hoge/ ftp://foo:@hoge/labelftp://foo@hoge/text PASSclass1307166157.27755 ftp://hoge/text FAILclass1298184623.81142ftp://foo:@hoge/text FAILclass1307166124.53317ftp://foo:@hoge/text FAILclass1298184504.70199resultAftp%3A%2F%2Ffoo%3A%40hoge%2F%20%2B%20ftp%3A%2F%2Ffoo%3A%40hoge%2F 7ftp%3A%2F%2Ffoo%3A21%2F%20%2B%20ftp%3A%2F%2Ffoo%3A21%2Fname ftp://foo:21/ ftp://foo:21/label ftp://foo/text PASSclass1307166157.27755 ftp://foo/text PASSclass1298184623.81142 ftp://foo/text PASSclass1307166124.53317 ftp://foo/text PASSclass1298184504.70199result7ftp%3A%2F%2Ffoo%3A21%2F%20%2B%20ftp%3A%2F%2Ffoo%3A21%2F 5ftp%3A%2F%2Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbazname ftp://hoge http://foo/bar/bazlabel ftp://hoge/text PASSclass1307166157.27755 ftp://hoge/text PASSclass1298184623.81142 ftp://hoge/text PASSclass1307166124.53317 ftp://hoge/text PASSclass1298184504.70199result5ftp%3A%2F%2Fhoge%20%2B%20http%3A%2F%2Ffoo%2Fbar%2Fbaz ?ftp%3A%2F%2F%E4%B8%80.jp%2F%20%2B%20ftp%3A%2F%2F%E4%B8%80.jp%2Fname ftp://一.jp/ ftp://一.jp/labelftp://xn--4gq.jp/text PASSclass1307166157.27755 ftp://一.jp/text FAILclass1298184623.81142 ftp://一.jp/text FAILclass1307166124.53317 ftp://一.jp/text FAILclass1298184504.70199result?ftp%3A%2F%2F%E4%B8%80.jp%2F%20%2B%20ftp%3A%2F%2F%E4%B8%80.jp%2F Eftp%3A%2F%2Ffoo%3Btype%3D%2561%20%2B%20ftp%3A%2F%2Ffoo%3Btype%3D%2561name %ftp://foo;type=%61 ftp://foo;type=%61labelftp://foo%3Btype%3Da/text FAILclass1307166157.27755ftp://foo/;type=atext FAILclass1298184623.81142ftp://foo/;type=%61text FAILclass1307166124.53317ftp://foo;type=a/text FAILclass1298184504.70199resultEftp%3A%2F%2Ffoo%3Btype%3D%2561%20%2B%20ftp%3A%2F%2Ffoo%3Btype%3D%2561 Kftp%3A%2F%2Ffoo%2F%2Fbar%2F%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2F%2Fbar%2F%2Fbazname 'ftp://foo//bar//baz ftp://foo//bar//bazlabelftp://foo//bar//baztext PASSclass1307166157.27755ftp://foo//bar//baztext PASSclass1298184623.81142ftp://foo//bar//baztext PASSclass1307166124.53317ftp://foo//bar//baztext PASSclass1298184504.70199resultKftp%3A%2F%2Ffoo%2F%2Fbar%2F%2Fbaz%20%2B%20ftp%3A%2F%2Ffoo%2F%2Fbar%2F%2Fbaz Wftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3D%2564%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3D%2564name /ftp://foo/bar/;type=%64 ftp://foo/bar/;type=%64labelftp://foo/bar/;type=dtext PASSclass1307166157.27755ftp://foo/bar/;type=dtext PASSclass1298184623.81142ftp://foo/bar/;type=%64text FAILclass1307166124.53317ftp://foo/bar/;type=dtext PASSclass1298184504.70199resultWftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3D%2564%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2F%3Btype%3D%2564 9ftp%3A%2F%2Ffoo%3A021%2F%20%2B%20ftp%3A%2F%2Ffoo%3A021%2Fname ftp://foo:021/ ftp://foo:021/label ftp://foo/text PASSclass1307166157.27755 ftp://foo/text PASSclass1298184623.81142 ftp://foo/text PASSclass1307166124.53317 ftp://foo/text PASSclass1298184504.70199result9ftp%3A%2F%2Ffoo%3A021%2F%20%2B%20ftp%3A%2F%2Ffoo%3A021%2F +%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbazname /hoge ftp://foo/bar/bazlabelftp://foo/hogetext PASSclass1307166157.27755ftp://foo/hogetext PASSclass1298184623.81142ftp://foo/hogetext PASSclass1307166124.53317ftp://foo/hogetext PASSclass1298184504.70199result+%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fbar%2Fbaz Qftp%3A%2F%2Ffoo%2Fba%E4%B8%80%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fba%E4%B8%80%2Fhogename )ftp://foo/ba一/hoge ftp://foo/ba一/hogelabelftp://foo/ba%E4%B8%80/hogetext PASSclass1307166157.27755ftp://foo/ba一/hogetext FAILclass1298184623.81142ftp://foo/ba%E4%B8%80/hogetext PASSclass1307166124.53317ftp://foo/ba一/hogetext FAILclass1298184504.70199resultQftp%3A%2F%2Ffoo%2Fba%E4%B8%80%2Fhoge%20%2B%20ftp%3A%2F%2Ffoo%2Fba%E4%B8%80%2Fhoge 9ftp%3A%2F%2Ffoo%3A080%2F%20%2B%20ftp%3A%2F%2Ffoo%3A080%2Fname ftp://foo:080/ ftp://foo:080/label ftp://foo:80/text PASSclass1307166157.27755 ftp://foo:80/text PASSclass1298184623.81142 ftp://foo:80/text PASSclass1307166124.53317 ftp://foo:80/text PASSclass1298184504.70199result9ftp%3A%2F%2Ffoo%3A080%2F%20%2B%20ftp%3A%2F%2Ffoo%3A080%2F 7ftp%3A%2F%2Ffoo%3A80%2F%20%2B%20ftp%3A%2F%2Ffoo%3A80%2Fname ftp://foo:80/ ftp://foo:80/label ftp://foo:80/text PASSclass1307166157.27755 ftp://foo:80/text PASSclass1298184623.81142 ftp://foo:80/text PASSclass1307166124.53317 ftp://foo:80/text PASSclass1298184504.70199result7ftp%3A%2F%2Ffoo%3A80%2F%20%2B%20ftp%3A%2F%2Ffoo%3A80%2Ftests