Thread: [Htmlparser-user] Not all image tags are returned
Brought to you by:
derrickoswald
From: Doyle, A. <Ann...@au...> - 2002-04-25 16:33:00
Attachments:
Hit5.original.html
|
PGh0bWw+PGhlYWQ+PHRpdGxlPllhaG9vITwvdGl0bGU+PGJhc2UgaHJlZj1odHRwOi8vd3d3Lnlh aG9vLmNvbS8gdGFyZ2V0PV90b3A+PG1ldGEgaHR0cC1lcXVpdj0iUElDUy1MYWJlbCIgY29udGVu dD0nKFBJQ1MtMS4xICJodHRwOi8vd3d3LmljcmEub3JnL3JhdGluZ3N2MDIuaHRtbCIgbCByIChj eiAxIGx6IDEgbnogMSBveiAxIHZ6IDEpIGdlbiB0cnVlIGZvciAiaHR0cDovL3d3dy55YWhvby5j b20iIHIgKGN6IDEgbHogMSBueiAxIG96IDEgdnogMSkgImh0dHA6Ly93d3cucnNhYy5vcmcvcmF0 aW5nc3YwMS5odG1sIiBsIHIgKG4gMCBzIDAgdiAwIGwgMCkgZ2VuIHRydWUgZm9yICJodHRwOi8v d3d3LnlhaG9vLmNvbSIgciAobiAwIHMgMCB2IDAgbCAwKSknPjxzdHlsZT5hLmh7YmFja2dyb3Vu ZC1jb2xvcjojZmZlZTk5fTwvc3R5bGU+CjxzY3JpcHQgbGFuZ3VhZ2U9amF2YXNjcmlwdD4KdmFy IHN0ID0gbmV3IERhdGUoKTsKdmFyIGV0Owp2YXIgbGF0ID0gMDsKdmFyIGllID0gZmFsc2U7CnZh ciBhZCA9ICdhbWV4JzsKdmFyIHRpbWVzID0gMTsKdmFyIGRvbWFpbiA9ICd3d3cueWFob28uY29t JzsKdmFyIGV4cF9kYXlzID0gMjsKdmFyIGV4cGlyZXMgPSBleHBfZGF5cyoyNCo2MCo2MCoxMDAw Owp2YXIgY2tleSA9ICdDUlpZJzsKdmFyIGRvbmUgPSBmYWxzZTsKdmFyIGNhcCA9IGZhbHNlOwp2 YXIgbGFuID0gZmFsc2U7CnZhciB1cmw9J2h0dHA6Ly9hZC5kb3VibGVjbGljay5uZXQvY2xrOzQx MjM4NzA7NzEyMDQxMzt1P2h0dHA6Ly9maW5hbmNlLmFtZXJpY2FuZXhwcmVzcy5jb20vc2lmL2Nk YS9wYWdlLzAsMTY0MSwxNDUyOSwwMC5hc3AnOwp2YXIgc3VydmV5PSdodHRwOi8vcHJvbW8ueWFo b28uY29tL3N1cnZleS1hbWV4Lyc7CnZhciByMD0iaHR0cDovL3JkLnlhaG9vLmNvbS9NPTIyMTQ4 Ny4xOTAxOTU2LjM0Nzc4OTguMTY1NzgxMy9EPXlhaG9vX3RvcC9QPXh4eC9TPTI3MTYxNDk6TUFN L0E9MTA0MTY2OC9SPTAvKiI7CnZhciBmaXJzdFNXRj0naHR0cDovL3VzLmExLnlpbWcuY29tL3Vz LnlpbWcuY29tL2EvMS0vZmxhc2gvcHJvbW90aW9ucy9hbWV4L2FtZXg0LnN3Zic7CnZhciBzZWNv bmRJbWc9J2h0dHA6Ly91cy5hMS55aW1nLmNvbS91cy55aW1nLmNvbS9hLzEtL2ZsYXNoL3Byb21v dGlvbnMvYW1leC9hbWV4MS5naWYnOwp2YXIgc3RhdGljSW1nPXNlY29uZEltZzsKdmFyIGhlaWdo dD0xNDA7CnZhciB3aWR0aD0xODA7CnZhciBzd2Zfd2lkdGg9NzAwOwp2YXIgc3dmX2hlaWdodD0z NTA7CnZhciBvZmZ5PTIxMTsKdmFyIG9mZng9NTE0Owp2YXIgcmVkPXIwLnN1YnN0cmluZygwLHIw Lmxlbmd0aC01KTsKdmFyIHByb2cgPSAnMCc7CnZhciBnLGEscCxtLHY7Cmc9bmF2aWdhdG9yOwph PWcudXNlckFnZW50OwpwPWcuYXBwVmVyc2lvbjsKbT1wLmluZGV4T2YoJ01TSUUnKTsKaWYgKG0h PS0xICYmIGEuaW5kZXhPZignV2luJykhPS0xKSB7CiB2PXBhcnNlRmxvYXQocC5zdWJzdHJpbmco bSs0KSk7CiBpZiAodj49NSkgewogIGllPXRydWU7CiB9Cn0KZnVuY3Rpb24gZXJyKGEsYixjKSB7 CiB2YXIgaW1nPW5ldyBJbWFnZTsKIGltZy5zcmM9J2h0dHA6Ly9zcmQueWFob28uY29tLycrYWQr Jy1lcnIvbGF0PScrbGF0KycvJytlc2NhcGUoYSkrJywnK2VzY2FwZShiKSsnLCcrZXNjYXBlKGMp KycvKjEnOwogcmV0dXJuIHRydWU7Cn0KZnVuY3Rpb24gdHIocykgewogdmFyIHNyZD0naHR0cDov L3MnK3JlZC5zdWJzdHJpbmcoNyxyZWQubGVuZ3RoKTsKIHZhciBpbWc9bmV3IEltYWdlOyAgICAg CiBpZiAoIWxhdCkgewogIGV0PW5ldyBEYXRlKCk7CiAgbGF0PWV0LmdldFRpbWUoKS1zdC5nZXRU aW1lKCk7CiB9CiBpbWcuc3JjPXNyZCtzKycvc3RhdHM9bGFuLScrbGFuKycsbGF0PScrbGF0Kycv JytNYXRoLnJhbmRvbSgpKycvKjEnOwp9CmZ1bmN0aW9uIHVubGQoeCkgewogdHIoJ049OC9pZD0n K3Byb2cpOwp9Cjwvc2NyaXB0Pgo8L2hlYWQ+PGJvZHkgb25CZWZvcmVVbmxvYWQ9InVubGQoMCki Pgo8c2NyaXB0IGxhbmd1YWdlPWphdmFzY3JpcHQ+CmlmIChpZSkgewogd2luZG93Lm9uZXJyb3Ig PSBlcnI7CiB2YXIgYj1kb2N1bWVudC5ib2R5OwogYi5zdHlsZS5iZWhhdmlvcj0ndXJsKCNkZWZh dWx0I2NsaWVudENhcHMpJzsKIGlmIChiLmNvbm5lY3Rpb25UeXBlID09ICdsYW4nKSB7CiAgcHJv Zys9Jy1sYW4nOwogIGxhbiA9IHRydWU7CiAgdmFyIGN2ID0gYi5nZXRDb21wb25lbnRWZXJzaW9u KCd7RDI3Q0RCNkUtQUU2RC0xMUNGLTk2QjgtNDQ0NTUzNTQwMDAwfScsJ2NvbXBvbmVudGlkJyk7 CiAgaWYgKGN2ICYmIHBhcnNlRmxvYXQoY3YpID49IDQpIHsKICAgcHJvZys9Jy1jYXAnOwogICBj YXAgPSB0cnVlOwogIH0KIH0KfQpmdW5jdGlvbiBkb3N1cnZleSgpIHsKIHdpbmRvdy5vcGVuKHJl ZCsnUj00L2lkPW1rdHBfZmVlZGJhY2svKicrc3VydmV5Kyc/Y2FwPScrY2FwKycmZG9uZT0nK2Rv bmUrJyZzdGF0cz1sYXQtJytsYXQpOwp9CmZ1bmN0aW9uIHNldENvb2sodCkgewogdmFyIGQgPSBu ZXcgRGF0ZTsKIGQuc2V0VGltZShkLmdldFRpbWUoKSArIGV4cGlyZXMpOwogZG9jdW1lbnQuY29v a2llID0gY2tleSsnPXQ9Jyt0Kyc7IGV4cGlyZXM9JytkLnRvR01UU3RyaW5nKCkrJzsgZG9tYWlu PScrZG9tYWluKyc7IHBhdGg9Lyc7Cn0KZnVuY3Rpb24gZ2V0Q29vaygpIHsKIHZhciBhLHMsZTsK IGEgPSBkb2N1bWVudC5jb29raWU7CiBpZiAoYSA9PSAnJykgcmV0dXJuIGZhbHNlOwogcyA9IGEu aW5kZXhPZihja2V5Kyc9Jyk7CiBpZiAocyA9PSAtMSkgcmV0dXJuIGZhbHNlOwogcyArPSBja2V5 Lmxlbmd0aCsxOwogZSA9IGEuaW5kZXhPZignOycscyk7CiBpZiAoZSA9PSAtMSkgZSA9IGEubGVu Z3RoOwogcmV0dXJuIGEuc3Vic3RyaW5nKHMsZSk7Cn0KaWYgKGNhcCkgewogdmFyIGNvb2s9Z2V0 Q29vaygpOwogaWYgKGNvb2sgPT0gZmFsc2UpIHsKICBzZXRDb29rKDEpOwogIGNvb2s9Z2V0Q29v aygpOwogIGlmIChjb29rID09IGZhbHNlKSB7CiAgICBkb25lID0gdHJ1ZTsKICB9CiB9IGVsc2Ug ewogIHZhciBpOwogIGNvb2tzID0gY29vay5zcGxpdCgnJicpOwogIGZvciAoaT0wOyBpPGNvb2tz Lmxlbmd0aDsgaSsrKSB7CiAgIGtleXZhbCA9IGNvb2tzW2ldLnNwbGl0KCc9Jyk7CiAgIGlmIChr ZXl2YWwgPT0gJ3QnKSB7CiAgICBsYXN0OwogICB9CiAgfQogIGtleXZhbFsxXSsrOwogIGlmIChr ZXl2YWxbMV0gPiB0aW1lcykgewogICBkb25lID0gdHJ1ZTsKICB9IGVsc2UgewogICBzZXRDb29r KGtleXZhbFsxXSk7CiAgfQogfQogaWYgKGRvbmUpIHsKICBwcm9nKz0nLW5vJzsKIH0KfQo8L3Nj cmlwdD4KPGNlbnRlcj48Zm9ybSBuYW1lPWYgc3R5bGU9Im1hcmdpbi1ib3R0b206MCIgYWN0aW9u PWh0dHA6Ly9zZWFyY2gueWFob28uY29tL2Jpbi9zZWFyY2g+PG1hcCBuYW1lPW0+PGFyZWEgY29v cmRzPSIwLDAsNjAsNTIiIGhyZWY9ci9mMT48YXJlYSBjb29yZHM9IjYxLDAsMTMwLDUyIiBocmVm PXIvcDE+PGFyZWEgY29vcmRzPSIxMzEsMCwyMTAsNTIiIGhyZWY9ci9tMT48YXJlYSBjb29yZHM9 IjQ1MCwwLDUzMCw1MiIgaHJlZj1yL3duPjxhcmVhIGNvb3Jkcz0iNTMxLDAsNjA1LDUyIiBocmVm PXIvaTE+PGFyZWEgY29vcmRzPSI2MDYsMCw2NjgsNTIiIGhyZWY9ci9odz48L21hcD48aW1nIHdp ZHRoPTY2OCBoZWlnaHQ9NTMgYm9yZGVyPTAgdXNlbWFwPSIjbSIgc3JjPWh0dHA6Ly91cy5hMS55 aW1nLmNvbS91cy55aW1nLmNvbS9pL3d3L201djkuZ2lmIGFsdD1ZYWhvbz48YnI+PHRhYmxlIGJv cmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MyB3aWR0aD02NzA+PHRyPjx0ZCBub3dy YXAgYWxpZ249Y2VudGVyIHdpZHRoPTIxNT4KPGNlbnRlcj4KPGEgaHJlZj1zLzEwNjg+PGI+WWFo b28hIFJlYWwgRXN0YXRlPC9iPjwvYT48YnI+CjxzbWFsbD48YSBocmVmPXMvMzUwNz5Ib21lczwv YT4sIAo8YSBocmVmPXMvMzUwOD5BcGFydG1lbnRzPC9hPiwgCjxhIGhyZWY9cy8zNTA5PkFnZW50 czwvYT48L3NtYWxsPgo8L2NlbnRlcj48L3RkPjx0ZCBhbGlnbj1jZW50ZXI+PGEgaHJlZj0iaHR0 cDovL3JkLnlhaG9vLmNvbS9NPTc3MTIyLjEzMTc0NzYuMjkwOTM0NS4yMjAxNjEvRD15YWhvb190 b3AvUz0yNzE2MTQ5Ok5QL0E9OTM0OTExLz9odHRwOi8vbWVzc2VuZ2VyLnlhaG9vLmNvbSIgdGFy Z2V0PSJfdG9wIj48aW1nIHdpZHRoPTIzMCBoZWlnaHQ9MzMgc3JjPSJodHRwOi8vdXMuYTEueWlt Zy5jb20vdXMueWltZy5jb20vYS9wci9wcm9tby9hbmNob3IveW1zZ3J5ZjMuZ2lmIiBhbHQ9Iltd IiBib3JkZXI9MD48L2E+PC90ZD48dGQgbm93cmFwIGFsaWduPWNlbnRlciB3aWR0aD0yMTU+PGEg aHJlZj1zLzM0OTE+PGI+WWFob28hIEF1dG9zPC9iPjwvYT48YnI+CjxzbWFsbD48YSBocmVmPXMv MzQ5Mj5CdXkgTmV3PC9hPiwgCjxhIGhyZWY9cy8zNDkzPkJ1eSBVc2VkPC9hPiwgCjxhIGhyZWY9 cy8zNDk0PlNlbGwgVXNlZDwvYT48L3NtYWxsPjwvdGQ+PC90cj48dHI+PHRkIGNvbHNwYW49MyBh bGlnbj1jZW50ZXI+PGlucHV0IHNpemU9MzAgbmFtZT1wPgo8aW5wdXQgdHlwZT1zdWJtaXQgdmFs dWU9U2VhcmNoPiA8YSBocmVmPXIvc28+YWR2YW5jZWQgc2VhcmNoPC9hPjwvdGQ+PC90cj48L3Rh YmxlPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTMgd2lkdGg9NjQw Pjx0cj48dGQgbm93cmFwIGFsaWduPWNlbnRlcj48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9 MCBjZWxscGFkZGluZz0wPjx0cj48dGQ+PGltZyBzcmM9Imh0dHA6Ly91cy5pMS55aW1nLmNvbS91 cy55aW1nLmNvbS9pL2kxNi90cnZsLmdpZiIgd2lkdGg9MTYgaGVpZ2h0PTE2PjwvdGQ+PHRkIG5v d3JhcD4gJm5ic3A7IAoKCjxhIGhyZWY9cy8xMDAyPjxiPllhaG9vISBUcmF2ZWw8L2I+PC9hPiAm bmJzcDsgLSAmbmJzcDsgPGEgaHJlZj1zLzEwMDM+QWlyPC9hPiwgPGEgaHJlZj1zLzEwMDQ+Q2Fy PC9hPiwgPGEgaHJlZj1zLzEwMDU+SG90ZWw8L2E+LCA8YSBocmVmPXMvNTg5Mj5WYWNhdGlvbnM8 L2E+LCA8YSBocmVmPXMvNTg5Mz5DcnVpc2VzPC9hPiwgPGEgaHJlZj1zLzU4OTQ+U3BlY2lhbHM8 L2E+Cgo8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PHRyPjx0ZCBub3dyYXAgYWxpZ249Y2Vu dGVyPjxzbWFsbD48Yj5TaG9wPC9iPiZuYnNwOwo8YSBocmVmPXIvYTI+QXVjdGlvbnM8L2E+ICYj MTgzOwo8YSBocmVmPXIvY3I+QXV0b3M8L2E+ICYjMTgzOwo8YSBocmVmPXIvY2Y+Q2xhc3NpZmll ZHM8L2E+ICYjMTgzOwo8YSBocmVmPXIvcjE+PGI+UmVhbCBFc3RhdGU8L2I+PC9hPiAmIzE4MzsK PGEgaHJlZj1yL3NoPlNob3BwaW5nPC9hPiAmIzE4MzsKPGEgaHJlZj1yL3RhPlRyYXZlbDwvYT4g JiMxODM7CjxhIGhyZWY9ci95cD5ZZWxsb3cgUGdzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL21wPk1h cHM8L2E+CiZuYnNwOwo8Yj5NZWRpYTwvYj4mbmJzcDsKPGEgaHJlZj1yL3NxPjxiPkZpbmFuY2U8 L2I+PC9hPiAmIzE4MzsKPGEgaHJlZj1yL2RuPk5ld3M8L2E+ICYjMTgzOwo8YSBocmVmPXIveXM+ U3BvcnRzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL3d0PldlYXRoZXI8L2E+PGJyPjxiPkNvbm5lY3Q8 L2I+Jm5ic3A7CjxhIGhyZWY9ci9qYj5DYXJlZXJzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL3ljPkNo YXQ8L2E+ICYjMTgzOwo8YSBocmVmPXIvZ2M+R2VvQ2l0aWVzPC9hPiAmIzE4MzsKPGEgaHJlZj1y L2dyPkdyZWV0aW5nczwvYT4gJiMxODM7CjxhIGhyZWY9ci9ncD48Yj5Hcm91cHM8L2I+PC9hPi88 YSBocmVmPXIvdWI+Q2x1YnM8L2E+ICYjMTgzOwo8YSBocmVmPXIvbTI+TWFpbDwvYT4gJiMxODM7 CjxhIGhyZWY9ci9wZj5NZW1iZXJzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL3AyPk1lc3Nlbmdlcjwv YT4gJiMxODM7CjxhIGhyZWY9ci9vYT5Nb2JpbGU8L2E+ICYjMTgzOwo8YSBocmVmPXIvcHI+UGVy c29uYWxzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL3BzPlBlb3BsZSBTZWFyY2g8L2E+ICYjMTgzOwo8 YSBocmVmPXIvZm8+UGhvdG9zPC9hPjxicj48Yj5QZXJzb25hbDwvYj4mbmJzcDsKPGEgaHJlZj1y L2FiPkFkZHIgQm9vazwvYT4gJiMxODM7CjxhIGhyZWY9ci9iYz5CcmllZmNhc2U8L2E+ICYjMTgz Owo8YSBocmVmPXIvY2E+Q2FsZW5kYXI8L2E+ICYjMTgzOwo8YSBocmVmPXIvaTI+TXkgWWFob28h PC9hPiAmIzE4MzsKPGEgaHJlZj1yL3BwPlBheURpcmVjdDwvYT4KJm5ic3A7CjxiPkZ1bjwvYj4m bmJzcDsKPGEgaHJlZj1yL3BsPkdhbWVzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL2gxPjxiPkhvcm9z Y29wZXM8L2I+PC9hPiAmIzE4MzsKPGEgaHJlZj1yL3lnPktpZHM8L2E+ICYjMTgzOwo8YSBocmVm PXIvbWY+TW92aWVzPC9hPiAmIzE4MzsKPGEgaHJlZj1yL3VmPk11c2ljPC9hPiAmIzE4MzsKPGEg aHJlZj1yL3RnPlRWPC9hPgombmJzcDsKJm5ic3A7CjxhIGhyZWY9ci94eT48Yj5tb3JlLi4uPC9i PjwvYT48L3NtYWxsPjwvdGQ+PC90cj48L3RhYmxlPjwvZm9ybT48dGFibGUgYm9yZGVyPTAgY2Vs bHNwYWNpbmc9NyBjZWxscGFkZGluZz0yPjx0cj48dGQgdmFsaWduPXRvcCBhbGlnbj1jZW50ZXI+ PHRhYmxlIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MSBib3JkZXI9MCBiZ2NvbG9yPTAwNjZD QyB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0w IGJvcmRlcj0wIGJnY29sb3I9RkZGRkU1IHdpZHRoPTEwMCU+PHRyPjx0ZD48dGFibGUgY2VsbHNw YWNpbmc9MCBjZWxscGFkZGluZz00IGJvcmRlcj0wPjx0cj48dGQ+PGEgaHJlZj1zLzU0NDM+PGlt ZyBzcmM9Imh0dHA6Ly91cy5pMS55aW1nLmNvbS91cy55aW1nLmNvbS9pL21udGwvaGpfbG9nby5n aWYiIHdpZHRoPTIyNiBoZWlnaHQ9MzYgYm9yZGVyPTAgYWx0PSJPbndhcmQuIFVwd2FyZC4iPjwv YT48L3RkPjx0ZD48Zm9udCBmYWNlPWFyaWFsIHNpemU9Ii0xIj4mIzE2MDstICA8YSBocmVmPXMv NTg4MT5GaW5kIGEgSm9iIE5vdzwvYT48L2ZvbnQ+PC90ZD48L3RyPjwvdGFibGU+CjwvdGQ+PC90 cj4KPHRyPjx0ZCBiZ2NvbG9yPUZGRkZFNT48dGFibGUgY2VsbHBhZGRpbmc9MiBjZWxsc3BhY2lu Zz0yIGJvcmRlcj0wIHdpZHRoPTEwMCU+PHRyPjx0ZD48Zm9udCBmYWNlPWFyaWFsIHNpemU9Mj48 Yj5TZWFyY2ggSm9icyBieTo8L2I+PC9mb250PjwvdGQ+PHRkPjxmb250IGZhY2U9YXJpYWwgc2l6 ZT0yPjxiPlJlc3VtZSBSZXNvdXJjZXM6PC9iPjwvZm9udD48L3RkPjx0ZD48Zm9udCBmYWNlPWFy aWFsIHNpemU9Mj48Yj5DYXJlZXIgUmVzb3VyY2VzOjwvYj48L2ZvbnQ+PC90ZD48L3RyPgo8dHIg dmFsaWduPXRvcD48dGQ+PGZvbnQgZmFjZT1hcmlhbCBzaXplPTI+JiMxNjA7JiMxNDk7IDxhIGhy ZWY9cy81NTkwPkxvY2F0aW9uPC9hPjxicj4mIzE2MDsmIzE0OTsgPGEgaHJlZj1zLzU1OTE+SW5k dXN0cnk8L2E+PGJyPiYjMTYwOyYjMTQ5OyA8YSBocmVmPXMvNTU5Mj5Db21wYW55PC9hPjwvZm9u dD48L3RkPgo8dGQ+PGZvbnQgZmFjZT1hcmlhbCBzaXplPTI+JiMxNjA7JiMxNDk7IDxhIGhyZWY9 cy81NTkzPlBvc3QgWW91ciBSZXN1bWU8L2E+PGJyPiYjMTYwOyYjMTQ5OyA8YSBocmVmPXMvNTU5 ND5SZXN1bWUgVGlwczwvYT48YnI+JiMxNjA7JiMxNDk7IDxhIGhyZWY9cy81NTk1PkNhcmVlciBO ZXdzPC9hPjwvZm9udD48L3RkPgo8dGQ+PGZvbnQgZmFjZT1hcmlhbCBzaXplPTI+JiMxNjA7JiMx NDk7IDxhIGhyZWY9cy81NTk2PlNhbGFyeSBXaXphcmQ8L2E+PGJyPiYjMTYwOyYjMTQ5OyA8YSBo cmVmPXMvNTU5Nz5Kb2IgU2VhcmNoIFRpcHM8L2E+PGJyPiYjMTYwOyYjMTQ5OyA8YSBocmVmPXMv NTU5OD5GcmVlIE5ld3NsZXR0ZXJzPC9hPjwvZm9udD48L3RkPjwvdHI+PHRyPjx0ZCBjb2xzcGFu PTMgYWxpZ249Y2VudGVyPjxmb250IGZhY2U9YXJpYWwgc2l6ZT0yPjxiPkVtcGxveWVyczo8L2I+ IDxhIGhyZWY9cy81NTk5PlBvc3QgYSBqb2I8L2E+IGFuZCA8YSBocmVmPXMvNTQ0Nz5maW5kIGdy ZWF0IGNhbmRpZGF0ZXM8L2E+PC9mb250PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3Rh YmxlPjwvdGQ+PC90cj48L3RhYmxlPjxwPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNl bGxwYWRkaW5nPTQ+PHRyPjx0ZCB2YWxpZ249dG9wIG5vd3JhcD48c21hbGw+PGZvbnQgc2l6ZT0z IGZhY2U9YXJpYWw+PGEgaHJlZj1yL2FyPjxiPkFydHMgJiBIdW1hbml0aWVzPC9iPjwvYT48L2Zv bnQ+PGJyPjxhIGhyZWY9ci9saT5MaXRlcmF0dXJlPC9hPiwKPGEgaHJlZj1yL3BoPlBob3RvZ3Jh cGh5PC9hPi4uLjxicj48YnI+PGZvbnQgc2l6ZT0zIGZhY2U9YXJpYWw+PGEgaHJlZj1yL2J1Pjxi PkJ1c2luZXNzICYgRWNvbm9teTwvYj48L2E+PC9mb250Pjxicj48YSBocmVmPXIvYmI+QjJCPC9h PiwKPGEgaHJlZj1yL2ZpPkZpbmFuY2U8L2E+LAo8YSBocmVmPXIvYnM+U2hvcHBpbmc8L2E+LAo8 YSBocmVmPXIvam8+Sm9iczwvYT4uLi48YnI+PGJyPjxmb250IHNpemU9MyBmYWNlPWFyaWFsPjxh IGhyZWY9ci9jaT48Yj5Db21wdXRlcnMgJiBJbnRlcm5ldDwvYj48L2E+PC9mb250Pjxicj48YSBo cmVmPXIvaW4+SW50ZXJuZXQ8L2E+LAo8YSBocmVmPXIvd3c+V1dXPC9hPiwKPGEgaHJlZj1yL3Nm PlNvZnR3YXJlPC9hPiwKPGEgaHJlZj1yL2dhPkdhbWVzPC9hPi4uLjxicj48YnI+PGZvbnQgc2l6 ZT0zIGZhY2U9YXJpYWw+PGEgaHJlZj1yL2VkPjxiPkVkdWNhdGlvbjwvYj48L2E+PC9mb250Pjxi cj48YSBocmVmPXIvdW4+Q29sbGVnZSBhbmQgVW5pdmVyc2l0eTwvYT4sCjxhIGhyZWY9ci9rMj5L LTEyPC9hPi4uLjxicj48YnI+PGZvbnQgc2l6ZT0zIGZhY2U9YXJpYWw+PGEgaHJlZj1yL2VuPjxi PkVudGVydGFpbm1lbnQ8L2I+PC9hPjwvZm9udD48YnI+PGEgaHJlZj1yL3BrPlBpY2tzPC9hPiwK PGEgaHJlZj1yL21vPk1vdmllczwvYT4sCjxhIGhyZWY9ci9odT5IdW1vcjwvYT4sCjxhIGhyZWY9 ci9tdT5NdXNpYzwvYT4uLi48YnI+PGJyPjxmb250IHNpemU9MyBmYWNlPWFyaWFsPjxhIGhyZWY9 ci9nbz48Yj5Hb3Zlcm5tZW50PC9iPjwvYT48L2ZvbnQ+PGJyPjxhIGhyZWY9ci9lbD5FbGVjdGlv bnM8L2E+LAo8YSBocmVmPXIvbWk+TWlsaXRhcnk8L2E+LAo8YSBocmVmPXIvbGE+TGF3PC9hPiwK PGEgaHJlZj1yL3R4PlRheGVzPC9hPi4uLjxicj48YnI+PGZvbnQgc2l6ZT0zIGZhY2U9YXJpYWw+ PGEgaHJlZj1yL2hlPjxiPkhlYWx0aDwvYj48L2E+PC9mb250Pjxicj48YSBocmVmPXIvbWQ+TWVk aWNpbmU8L2E+LAo8YSBocmVmPXIvZHM+RGlzZWFzZXM8L2E+LAo8YSBocmVmPXIvZGc+RHJ1Z3M8 L2E+LAo8YSBocmVmPXIvZnQ+Rml0bmVzczwvYT4uLi48L3NtYWxsPjwvdGQ+PHRkIHZhbGlnbj10 b3Agbm93cmFwPjxzbWFsbD48Zm9udCBzaXplPTMgZmFjZT1hcmlhbD48YSBocmVmPXIvbm0+PGI+ TmV3cyAmIE1lZGlhPC9iPjwvYT48L2ZvbnQ+PGJyPjxhIGhyZWY9ci9mYz5GdWxsIENvdmVyYWdl PC9hPiwKPGEgaHJlZj1yL253Pk5ld3NwYXBlcnM8L2E+LAo8YSBocmVmPXIvdHY+VFY8L2E+Li4u PGJyPjxicj48Zm9udCBzaXplPTMgZmFjZT1hcmlhbD48YSBocmVmPXIvcnM+PGI+UmVjcmVhdGlv biAmIFNwb3J0czwvYj48L2E+PC9mb250Pjxicj48YSBocmVmPXIvc3A+U3BvcnRzPC9hPiwKPGEg aHJlZj1yL3RyPlRyYXZlbDwvYT4sCjxhIGhyZWY9ci9hdT5BdXRvczwvYT4sCjxhIGhyZWY9ci9v ZD5PdXRkb29yczwvYT4uLi48YnI+PGJyPjxmb250IHNpemU9MyBmYWNlPWFyaWFsPjxhIGhyZWY9 ci9yZj48Yj5SZWZlcmVuY2U8L2I+PC9hPjwvZm9udD48YnI+PGEgaHJlZj1yL2xiPkxpYnJhcmll czwvYT4sCjxhIGhyZWY9ci9kYz5EaWN0aW9uYXJpZXM8L2E+LAo8YSBocmVmPXIvcXQ+UXVvdGF0 aW9uczwvYT4uLi48YnI+PGJyPjxmb250IHNpemU9MyBmYWNlPWFyaWFsPjxhIGhyZWY9ci9yZT48 Yj5SZWdpb25hbDwvYj48L2E+PC9mb250Pjxicj48YSBocmVmPXIvY3Q+Q291bnRyaWVzPC9hPiwK PGEgaHJlZj1yL3JnPlJlZ2lvbnM8L2E+LAo8YSBocmVmPXIvdXM+VVMgU3RhdGVzPC9hPi4uLjxi cj48YnI+PGZvbnQgc2l6ZT0zIGZhY2U9YXJpYWw+PGEgaHJlZj1yL3NjPjxiPlNjaWVuY2U8L2I+ PC9hPjwvZm9udD48YnI+PGEgaHJlZj1yL2FtPkFuaW1hbHM8L2E+LAo8YSBocmVmPXIvYXM+QXN0 cm9ub215PC9hPiwKPGEgaHJlZj1yL2VnPkVuZ2luZWVyaW5nPC9hPi4uLjxicj48YnI+PGZvbnQg c2l6ZT0zIGZhY2U9YXJpYWw+PGEgaHJlZj1yL3NzPjxiPlNvY2lhbCBTY2llbmNlPC9iPjwvYT48 L2ZvbnQ+PGJyPjxhIGhyZWY9ci9hYz5BcmNoYWVvbG9neTwvYT4sCjxhIGhyZWY9ci9lYz5FY29u b21pY3M8L2E+LAo8YSBocmVmPXIvbGc+TGFuZ3VhZ2VzPC9hPi4uLjxicj48YnI+PGZvbnQgc2l6 ZT0zIGZhY2U9YXJpYWw+PGEgaHJlZj1yL2N1PjxiPlNvY2lldHkgJiBDdWx0dXJlPC9iPjwvYT48 L2ZvbnQ+PGJyPjxhIGhyZWY9ci9wZT5QZW9wbGU8L2E+LAo8YSBocmVmPXIvZXY+RW52aXJvbm1l bnQ8L2E+LAo8YSBocmVmPXIvcmw+UmVsaWdpb248L2E+Li4uPC9zbWFsbD48L3RkPjwvdHI+PHRy Pjx0ZCBjb2xzcGFuPTIgYWxpZ249Y2VudGVyPjxhIGhyZWY9Imh0dHA6Ly9yZC55YWhvby5jb20v TT0xNzk4NDIuMTM1MTU3OC4yOTYyODcyLjEyODg1ODEvRD15YWhvb190b3AvUz0yNzE2MTQ5OlBC L0E9ODI1ODY0L1I9MC8qaHR0cDovL3Nob3Auc3RvcmUueWFob28uY29tL2NnaS1iaW4vY2xpbms/ Y29tcGFxMitzaG9wcGluZzpkbWFkL009MTc5ODQyLjEzNTE1NzguMjk2Mjg3Mi4xMjg4NTgxL0Q9 eWFob29fdG9wL1M9MjcxNjE0OTpQQi9BPTgyNTg2NC9SPTEvMTAxOTY4MTAyMStodHRwOi8vdXMu cm1pLnlhaG9vLmNvbS9ybWkvaHR0cDovL3d3dy5jb21wYXEuY29tL3JtaS1mcmFtZWQtdXJsL2h0 dHA6Ly93d3cuY29tcGFxLmNvbS95YWhvby9zaG9wcGluZy5odG1sJTNGYz15YWhvb19wb3dlcmVk YnklMjZuPVhfRV9CUl9YX3Bvd2VyZWRieV9YX1hfWCUyNnQ9YWQlMjZyPXd3dy55YWhvby5jb20i IG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwOi8vcmQueWFob28uY29tL009MTc5ODQyLjEzNTE1 NzguMjk2Mjg3Mi4xMjg4NTgxL0Q9eWFob29fdG9wL1M9MjcxNjE0OTpQQi9BPTgyNTg2NC9SPTIv Kmh0dHA6Ly9zaG9wLnN0b3JlLnlhaG9vLmNvbS9jZ2ktYmluL2NsaW5rP2NvbXBhcTIrc2hvcHBp bmc6ZG1hZC9NPTE3OTg0Mi4xMzUxNTc4LjI5NjI4NzIuMTI4ODU4MS9EPXlhaG9vX3RvcC9TPTI3 MTYxNDk6UEIvQT04MjU4NjQvUj0zLzEwMTk2ODEwMjEraHR0cDovL3VzLnJtaS55YWhvby5jb20v cm1pL2h0dHA6Ly93d3cuY29tcGFxLmNvbS9ybWktZnJhbWVkLXVybC9odHRwOi8vd3d3LmNvbXBh cS5jb20veWFob28vc2hvcHBpbmcuaHRtbCUzRmM9eWFob29fcG93ZXJlZGJ5JTI2bj1YX0VfQlJf WF9wb3dlcmVkYnlfWF9YX1glMjZ0PWFkJTI2cj13d3cueWFob28uY29tJywncG9wVXBXaW4nLCd0 b29sYmFyPW5vLHNjcm9sbGJhcnM9bm8sbG9jYXRpb249bm8sd2lkdGg9NzAwLGhlaWdodD01MDAn KTtyZXR1cm4gZmFsc2UiPjxpbWcgc3JjPSJodHRwOi8vdXMuYTEueWltZy5jb20vdXMueWltZy5j b20vYS8xLS9mbGFzaC9jb21wYXEvcHBjL3JlZGNvbXBhcTk1eDMwLmdpZiIgd2lkdGg9OTUgaGVp Z2h0PTMwIGJvcmRlcj0wPjwvYT48L3RkPjwvdHI+PC90YWJsZT48L3RkPgo8dGQgYWxpZ249cmln aHQgdmFsaWduPXRvcCB3aWR0aD0yMzA+PHRhYmxlIGJnY29sb3I9MzM2NmNjIGJvcmRlcj0wIGNl bGxzcGFjaW5nPTA+PHRyPjx0ZD48dGFibGUgYmdjb2xvcj1mZmZmZmYgY2VsbHBhZGRpbmc9MiBj ZWxsc3BhY2luZz0wIGJvcmRlcj0wPjx0cj48dGQgYWxpZ249Y2VudGVyIGJnY29sb3I9ZTBkMGIw IG5vd3JhcCBjb2xzcGFuPTI+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRp bmc9MCB3aWR0aD0xODA+PHRyPjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1hcmlhbCBzaXpl PTI+PGI+SW4gdGhlIE5ld3M8L2I+PC9mb250PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48 dHI+PHRkIGNvbHNwYW49Mj48dGFibGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRl cj0wPjx0cj48dGQgdmFsaWduPXRvcD48Yj4mbmJzcDsmIzE4MzsmbmJzcDs8L2I+PC90ZD48dGQg d2lkdGg9MTAwJT48c21hbGw+PGEgaHJlZj1zLzUyODE+VS5TLiBjYXJkaW5hbHMgZHJhZnQgc2V4 LWFidXNlIHBvbGljeTwvYT48L3NtYWxsPjwvdGQ+PC90cj48dHI+PHRkIHZhbGlnbj10b3A+PGI+ Jm5ic3A7JiMxODM7Jm5ic3A7PC9iPjwvdGQ+PHRkIHdpZHRoPTEwMCU+PHNtYWxsPjxhIGhyZWY9 cy80ODYwPlVOIHRvIG1vdmUgZm9yd2FyZCB3aXRoIEplbmluIHByb2JlPC9hPjwvc21hbGw+PC90 ZD48L3RyPjx0cj48dGQgdmFsaWduPXRvcD48Yj4mbmJzcDsmIzE4MzsmbmJzcDs8L2I+PC90ZD48 dGQgd2lkdGg9MTAwJT48c21hbGw+PGEgaHJlZj1zLzM0NDE+U2lubiBGZWluJ3MgQWRhbXMgZGVu aWVzIElSQSBsaW5rcyB0byBDb2xvbWJpYW4gZ3VlcnJpbGxhczwvYT48L3NtYWxsPjwvdGQ+PC90 cj48dHI+PHRkIHZhbGlnbj10b3A+PGI+Jm5ic3A7JiMxODM7Jm5ic3A7PC9iPjwvdGQ+PHRkIHdp ZHRoPTEwMCU+PHNtYWxsPjxhIGhyZWY9cy80ODIwPkF0bGFudGEgcG9saWNlIHRvIHVzZSBTZWd3 YXkgc2Nvb3RlcnM8L2E+PC9zbWFsbD48L3RkPjwvdHI+PHRyPjx0ZCB2YWxpZ249dG9wPjxiPiZu YnNwOyYjMTgzOyZuYnNwOzwvYj48L3RkPjx0ZCB3aWR0aD0xMDAlPjxzbWFsbD48YSBocmVmPXMv NTg5MT5CcmVhZCwgZnJlbmNoIGZyaWVzIG1heSB1cCBjYW5jZXIgcmlzazwvYT48L3NtYWxsPjwv dGQ+PC90cj48dHI+PHRkIGFsaWduPXJpZ2h0IGNvbHNwYW49Mj48YSBocmVmPXIveG4+PHNtYWxs Pm1vcmUuLi48L3NtYWxsPjwvYT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PHRyPjx0ZCBh bGlnbj1jZW50ZXIgYmdjb2xvcj1lMGQwYjAgY29sc3Bhbj0yPjxmb250IGZhY2U9YXJpYWwgc2l6 ZT0yPjxiPk1hcmtldHBsYWNlPC9iPjwvZm9udD48L3RkPjwvdHI+PHRyPjx0ZCBjb2xzcGFuPTIg YWxpZ249Y2VudGVyPgoKPHNjcmlwdCBsYW5ndWFnZT1qYXZhc2NyaXB0PiByMD0iaHR0cDovL3Jk LnlhaG9vLmNvbS9NPTIyMTQ4Ny4xOTAxOTU2LjM0Nzc4OTguMTY1NzgxMy9EPXlhaG9vX3RvcC9T PTI3MTYxNDk6TUFNL0E9MTA0MTY2OC9SPTAvKiI7IDwvc2NyaXB0Pgo8c2NyaXB0IGxhbmd1YWdl PWphdmFzY3JpcHQ+CnJlZD1yMC5zdWJzdHJpbmcoMCxyMC5sZW5ndGgtNSk7CmRvY3VtZW50Lndy aXRlKCc8U0NSSVBUIExBTkdVQUdFPVZCU2NyaXB0XD4gXG5vbiBlcnJvciByZXN1bWUgbmV4dCBc blN1YiBmaXJzdF9zd2ZfRlNDb21tYW5kKEJ5VmFsIGNvbW1hbmQsIEJ5VmFsIGFyZ3MpXG5jYWxs IGRvbmUxU1QoKVxuZW5kIHN1YlxuPC9TQ1InKydJUFRcPlxuJyk7CmRvY3VtZW50LndyaXRlKCc8 Zm9udCBmYWNlPWFyaWFsIHNpemU9LTI+Jyk7CmlmIChjYXApIHsKIGRvY3VtZW50LndyaXRlKCc8 ZGl2IGlkPW1rdHBfZGl2IHN0eWxlPSJ3aWR0aDonK3dpZHRoKyc7IGhlaWdodDonK2hlaWdodCsn OyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB0b3A6IDA7IGxlZnQ6IDAiPicpOwogZG9jdW1lbnQud3Jp dGUoJzxhIGhyZWY9IicrcmVkKydSPTEvaWQ9bWt0cF8yX2NsaWNrLyonK3VybCsnIj48aW1nIGJv cmRlcj0wIHNyYz0iJytzZWNvbmRJbWcrJyIgaGVpZ2h0PScraGVpZ2h0Kycgd2lkdGg9Jyt3aWR0 aCsnIGlkPXNlY29uZF9zd2Ygc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgZGlzcGxheTogaW5s aW5lIj48L2E+Jyk7CiBkb2N1bWVudC53cml0ZSgnPC9kaXY+Jyk7Cn0gZWxzZSB7CiBkb2N1bWVu dC53cml0ZSgnPGEgaHJlZj0iJytyZWQrJ1I9Mi9pZD1ta3RwX3N0YXRpY191cmxfbm9jYXAvKicr dXJsKyciPjxpbWcgYm9yZGVyPTAgc3JjPSInK3N0YXRpY0ltZysnIiBoZWlnaHQ9JytoZWlnaHQr JyB3aWR0aD0nK3dpZHRoKyc+PC9hPjxicj4nKTsKfQpkb2N1bWVudC53cml0ZSgnPGEgaHJlZj0i JytyZWQrJ1I9My9pZD1ta3RwX3RleHRsaW5rLyonK3VybCsnIj5BbWVyaWNhbiBFeHByZXNzIEZp bmFuY2lhbCBBZHZpc29yczwvYT48YnI+Jyk7CmlmIChjYXApIGRvY3VtZW50LndyaXRlKCc8YSBo cmVmPSIjIiBvbmNsaWNrPSJwbGF5QUdBSU4oKTtyZXR1cm4gZmFsc2UiPlJlcGxheSBBZDwvYT4g LSAnKTsKZG9jdW1lbnQud3JpdGUoJzxhIGhyZWY9IicrcmVkKydSPTQvaWQ9bWt0cF9mZWVkYmFj ay8qJytzdXJ2ZXkrJyIgb25jbGljaz0iZG9zdXJ2ZXkoKTtyZXR1cm4gZmFsc2UiPkFkIEZlZWRi YWNrPC9hPicpOwpkb2N1bWVudC53cml0ZSgnPC9mb250PicpOwppZiAoY2FwKSB7CiBpZiAoZG9u ZSkgewogIHRyKCdOPTEvaWQ9Y2FwX2FscmVhZHlfcGxheWVkJyk7CiB9IGVsc2UgewogIHRyKCdO PTIvaWQ9Y2FwX25vdF9wbGF5ZWRfeWV0Jyk7CiB9Cn0gZWxzZSB7CiB0cignTj0zL2lkPW5vY2Fw Jyk7Cn0KcHJvZys9Jy1tbCc7Cjwvc2NyaXB0PgoKPG5vc2NyaXB0Pgo8Zm9udCBmYWNlPWFyaWFs IHNpemU9LTI+PGEgaHJlZj0iaHR0cDovL3JkLnlhaG9vLmNvbS9NPTIyMTQ4Ny4xOTAxOTU2LjM0 Nzc4OTguMTY1NzgxMy9EPXlhaG9vX3RvcC9QPXh4eC9TPTI3MTYxNDk6TUFNL0E9MTA0MTY2OC9S PTAvKmh0dHA6Ly9hZC5kb3VibGVjbGljay5uZXQvY2xrOzQxMjM4NzA7NzEyMDQxMzt1P2h0dHA6 Ly9maW5hbmNlLmFtZXJpY2FuZXhwcmVzcy5jb20vc2lmL2NkYS9wYWdlLzAsMTY0MSwxNDUyOSww MC5hc3AiPjxpbWcgYm9yZGVyPTAgc3JjPSJodHRwOi8vdXMueWltZy5jb20vYS8xLS9mbGFzaC9w cm9tb3Rpb25zL2FtZXgvYW1leDEuZ2lmIiBoZWlnaHQ9MTQwIHdpZHRoPTE4MD48L2E+PGJyPjxh IGhyZWY9Imh0dHA6Ly9yZC55YWhvby5jb20vTT0yMTkxOTMuMTkyMDUzNi4zNDEyMTY0LjE4NTIw NTAvRD15YWhvb190b3AvUD14eHgvUz0yNzE2MTQ5Ok1BTS9BPTEwMzA0NjUvUj0wLypodHRwOi8v YWQuZG91YmxlY2xpY2submV0L2Nsazs0MTIzODcwOzcxMjA0MTM7dT9odHRwOi8vZmluYW5jZS5h bWVyaWNhbmV4cHJlc3MuY29tL3NpZi9jZGEvcGFnZS8wLDE2NDEsMTQ1MjksMDAuYXNwIj5BbWVy aWNhbiBFeHByZXNzIEZpbmFuY2lhbCBBZHZpc29yczwvYT48YnI+PGEgaHJlZj0iaHR0cDovL3Jk LnlhaG9vLmNvbS9NPTIxOTE5My4xOTIwNTM2LjM0MTIxNjQuMTg1MjA1MC9EPXlhaG9vX3RvcC9Q PXh4eC9TPTI3MTYxNDk6TUFNL0E9MTAzMDQ2NS9SPTAvKmh0dHA6Ly9wcm9tby55YWhvby5jb20v c3VydmV5LWFtZXgvIj5BZCBGZWVkYmFjazwvYT48L2ZvbnQ+Cjwvbm9zY3JpcHQ+Cgo8L3RkPjwv dHI+PHRyPjx0ZCBhbGlnbj1jZW50ZXIgYmdjb2xvcj1lMGQwYjAgY29sc3Bhbj0yPjxmb250IGZh Y2U9YXJpYWwgc2l6ZT0yPjxiPkJyb2FkY2FzdCBFdmVudHM8L2I+PC9mb250PjwvdGQ+PC90cj48 dHI+PHRkIGNvbHNwYW49Mj48dGFibGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRl cj0wPjx0cj48dGQgdmFsaWduPXRvcD48Yj4mbmJzcDsmIzE4MzsmbmJzcDs8L2I+PC90ZD48dGQg d2lkdGg9MTAwJT48c21hbGw+PGEgaHJlZj1zLzI2Njc+PGI+VHJhaWxlcnMgJiBDbGlwczwvYj48 L2E+IC0gVG9tIENydWlzZSBpbiA8YSBocmVmPXMvNTQxNj5NaW5vcml0eSBSZXBvcnQ8L2E+LCBN ZWwgR2lic29uIGluIDxhIGhyZWY9cy81Mzc3PlNpZ25zPC9hPiwgQW5nZWxpbmEgSm9saWUgaW4g PGEgaHJlZj1zLzU4ODA+TGlmZSBvciBTb21ldGhpbmcgTGlrZSBJdDwvYT4sIDxhIGhyZWY9cy8y NjY3Pm1vcmU8L2E+PC9zbWFsbD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PHRyPjx0ZCBh bGlnbj1jZW50ZXIgYmdjb2xvcj1lMGQwYjAgY29sc3Bhbj0yPjxmb250IGZhY2U9YXJpYWwgc2l6 ZT0yPjxiPkluc2lkZSBZYWhvbyE8L2I+PC9mb250PjwvdGQ+PC90cj48dHI+PHRkIGNvbHNwYW49 Mj48dGFibGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRlcj0wPjx0cj48dGQgdmFs aWduPXRvcD48Yj4mbmJzcDsmIzE4MzsmbmJzcDs8L2I+PC90ZD48dGQgd2lkdGg9MTAwJT48c21h bGw+PGEgaHJlZj1zLzU4MjI+RWFnbGVzIFN1bW1lciAyMDAyIFRvdXI8L2E+IC0gZXhjbHVzaXZl IHRpY2tldCBwcmUtc2FsZSwgb3JkZXIgbm93PC9zbWFsbD48L3RkPjwvdHI+PHRyPjx0ZCB2YWxp Z249dG9wPjxiPiZuYnNwOyYjMTgzOyZuYnNwOzwvYj48L3RkPjx0ZCB3aWR0aD0xMDAlPjxzbWFs bD48YSBocmVmPXMvMTA0Nj5Hb2xmIEhhbmRpY2FwIFRyYWNrZXI8L2E+PC9zbWFsbD48L3RkPjwv dHI+PHRyPjx0ZCB2YWxpZ249dG9wPjxiPiZuYnNwOyYjMTgzOyZuYnNwOzwvYj48L3RkPjx0ZCB3 aWR0aD0xMDAlPjxzbWFsbD48YSBocmVmPXMvMTU4OT5HZW9DaXRpZXM8L2E+IC0gYnVpbGQgeW91 ciBvd24gd2ViIHNpdGU8L3NtYWxsPjwvdGQ+PC90cj48dHI+PHRkIHZhbGlnbj10b3A+PGI+Jm5i c3A7JiMxODM7Jm5ic3A7PC9iPjwvdGQ+PHRkIHdpZHRoPTEwMCU+PHNtYWxsPjxhIGhyZWY9cy8x MDQ3Pk1ha2UgWWFob28hIHlvdXIgaG9tZSBwYWdlPC9hPjwvc21hbGw+PC90ZD48L3RyPjwvdGFi bGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+ PGhyIG5vc2hhZGUgc2l6ZT0xIHdpZHRoPTY0MD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9 MD48dHI+PHRkPjxzbWFsbD48Yj5Mb2NhbCBZYWhvbyFzPC9iPjwvc21hbGw+PC90ZD48L3RyPjx0 cj48dGQgbm93cmFwPjxzbWFsbD48aT5FdXJvcGU8L2k+IDoKPGEgaHJlZj1yL25jPjxiPkNhdGFs YW48L2I+PC9hPiAtCjxhIGhyZWY9ci9kaz5EZW5tYXJrPC9hPiAtCjxhIGhyZWY9ci9mcj5GcmFu Y2U8L2E+IC0KPGEgaHJlZj1yL2RlPkdlcm1hbnk8L2E+IC0KPGEgaHJlZj1yL2l0Pkl0YWx5PC9h PiAtCjxhIGhyZWY9ci9ubz5Ob3J3YXk8L2E+IC0KPGEgaHJlZj1yL2VzPlNwYWluPC9hPiAtCjxh IGhyZWY9ci9zZT5Td2VkZW48L2E+IC0KPGEgaHJlZj1yL3VrPlVLICYgSXJlbGFuZDwvYT48L3Nt YWxsPjwvdGQ+PC90cj48dHI+PHRkIG5vd3JhcD48c21hbGw+PGk+QXNpYSBQYWNpZmljPC9pPiA6 CjxhIGhyZWY9ci9haT5Bc2lhPC9hPiAtCjxhIGhyZWY9ci9hbj5BdXN0cmFsaWEgJiBOWjwvYT4g LQo8YSBocmVmPXIvY2M+Q2hpbmE8L2E+IC0KPGEgaHJlZj1yL2hrPkhLPC9hPiAtCjxhIGhyZWY9 ci9pZD5JbmRpYTwvYT4gLQo8YSBocmVmPXIvanA+SmFwYW48L2E+IC0KPGEgaHJlZj1yL2tyPktv cmVhPC9hPiAtCjxhIGhyZWY9ci9zZz5TaW5nYXBvcmU8L2E+IC0KPGEgaHJlZj1yL3R3PlRhaXdh bjwvYT48L3NtYWxsPjwvdGQ+PC90cj48dHI+PHRkIG5vd3JhcD48c21hbGw+PGk+QW1lcmljYXM8 L2k+IDoKPGEgaHJlZj1yL2FnPkFyZ2VudGluYTwvYT4gLQo8YSBocmVmPXIvYnI+QnJhemlsPC9h PiAtCjxhIGhyZWY9ci9jZD5DYW5hZGE8L2E+IC0KPGEgaHJlZj1yL2NuPkNoaW5lc2U8L2E+IC0K PGEgaHJlZj1yL214Pk1leGljbzwvYT4gLQo8YSBocmVmPXIvZXA+U3BhbmlzaDwvYT48L3NtYWxs PjwvdGQ+PC90cj48dHI+PHRkIG5vd3JhcD48c21hbGw+PGk+VS5TLiBDaXRpZXM8L2k+IDoKPGEg aHJlZj1yL2F0PkF0bGFudGE8L2E+IC0KPGEgaHJlZj1yL2JvPkJvc3RvbjwvYT4gLQo8YSBocmVm PXIvY2g+Q2hpY2FnbzwvYT4gLQo8YSBocmVmPXIvZGY+RGFsbGFzL0ZXPC9hPiAtCjxhIGhyZWY9 ci9sbz5MQTwvYT4gLQo8YSBocmVmPXIvbnk+TllDPC9hPiAtCjxhIGhyZWY9ci9iYT5TRiBCYXk8 L2E+IC0KPGEgaHJlZj1yL3dkPldhc2guIERDPC9hPiAtCjxhIGhyZWY9ci9tbT48Yj5tb3JlLi4u PC9iPjwvYT48L3NtYWxsPjwvdGQ+PC90cj48dHI+PHRkPjxzbWFsbD4mbmJzcDs8L3NtYWxsPjwv dGQ+PC90cj48dHI+PHRkPjxzbWFsbD48Yj5Nb3JlIFlhaG9vIXM8L2I+PC9zbWFsbD48L3RkPjwv dHI+PHRyPjx0ZCB2YWxpZ249dG9wPjxzbWFsbD48aT5HdWlkZXM8L2k+IDoKPGEgaHJlZj1yL2J6 PkJ1enogSW5kZXg8L2E+IC0KPGEgaHJlZj1yL2V1PjxiPkVkdWNhdGlvbjwvYj48L2E+IC0KPGEg aHJlZj1yL3loPkhlYWx0aDwvYT4gLQo8YSBocmVmPXIvb3U+T3V0ZG9vcnM8L2E+IC0KPGEgaHJl Zj1yL3B0PlBldHM8L2E+IC0KPGEgaHJlZj1yL3lyPlJlYWwgRXN0YXRlPC9hPiAtCjxhIGhyZWY9 ci9rMT5ZYWhvb2xpZ2FucyE8L2E+PC9zbWFsbD48L3RkPjwvdHI+PHRyPjx0ZCBub3dyYXA+PHNt YWxsPjxpPkVudGVydGFpbm1lbnQ8L2k+IDoKPGEgaHJlZj1yL2hvPjxiPkhvcm9zY29wZXM8L2I+ PC9hPiAtCjxhIGhyZWY9ci9iZD5Ccm9hZGNhc3Q8L2E+IC0KPGEgaHJlZj1yL2cyPkdhbWVzPC9h PiAtCjxhIGhyZWY9ci9tdj5Nb3ZpZXM8L2E+IC0KPGEgaHJlZj1yL3JrPk11c2ljPC9hPiAtCjxh IGhyZWY9ci9yYT5SYWRpbzwvYT4gLQo8YSBocmVmPXIvdGk+VGlja2V0czwvYT4gLQo8YSBocmVm PXIvdDI+VFY8L2E+IC0KPGEgaHJlZj1yL3llPm1vcmU8L2E+PC9zbWFsbD48L3RkPjwvdHI+PHRy Pjx0ZCBub3dyYXA+PHNtYWxsPjxpPkZpbmFuY2U8L2k+IDoKPGEgaHJlZj1yL2JrPkJhbmtpbmc8 L2E+IC0KPGEgaHJlZj1yL2IyPkJpbGwgUGF5PC9hPiAtCjxhIGhyZWY9ci9mbT5Nb25leSBNYW5h Z2VyPC9hPiAtCjxhIGhyZWY9ci9pcz5JbnN1cmFuY2U8L2E+IC0KPGEgaHJlZj1yL2xuPkxvYW5z PC9hPiAtCjxhIGhyZWY9ci90Yz48Yj5UYXhlczwvYj48L2E+IC0KPGEgaHJlZj1yL2Z2PkZpbmFu Y2VWaXNpb248L2E+IC0KPGEgaHJlZj1yL2YyPm1vcmU8L2E+PC9zbWFsbD48L3RkPjwvdHI+PHRy Pjx0ZCBub3dyYXA+PHNtYWxsPjxpPkxvY2FsPC9pPiA6CjxhIGhyZWY9ci95YT5BdXRvczwvYT4g LQo8YSBocmVmPXIvZW0+Q2FyZWVyczwvYT4gLQo8YSBocmVmPXIvYzI+Q2xhc3NpZmllZHM8L2E+ IC0KPGEgaHJlZj1yL2xlPkV2ZW50czwvYT4gLQo8YSBocmVmPXIvbGQ+TG9kZ2luZzwvYT4gLQo8 YSBocmVmPXIvbTM+TWFwczwvYT4gLQo8YSBocmVmPXIveTI+WWVsbG93IFBhZ2VzPC9hPiAtCjxh IGhyZWY9ci9sMj5tb3JlPC9hPjwvc21hbGw+PC90ZD48L3RyPjx0cj48dGQgbm93cmFwPjxzbWFs bD48aT5OZXdzPC9pPiA6CjxhIGhyZWY9ci9kMj5Ub3AgU3RvcmllczwvYT4gLQo8YSBocmVmPXIv Ym4+QnVzaW5lc3M8L2E+IC0KPGEgaHJlZj1yL2duPkVudGVydGFpbm1lbnQ8L2E+IC0KPGEgaHJl Zj1yL2x0PkxvdHRlcnk8L2E+IC0KPGEgaHJlZj1yL3MyPlNwb3J0czwvYT4gLQo8YSBocmVmPXIv dG4+VGVjaG5vbG9neTwvYT4gLQo8YSBocmVmPXIvdzI+V2VhdGhlcjwvYT48L3NtYWxsPjwvdGQ+ PC90cj48dHI+PHRkIG5vd3JhcD48c21hbGw+PGk+UHVibGlzaGluZzwvaT4gOgo8YSBocmVmPXIv YjM+QnJpZWZjYXNlPC9hPiAtCjxhIGhyZWY9ci9leD5FeHBlcnRzPC9hPiAtCjxhIGhyZWY9ci91 Mj5Hcm91cHM8L2E+IC0KPGEgaHJlZj1yL2YzPlBob3RvczwvYT4gLQo8YSBocmVmPXIvZzM+SG9t ZSBQYWdlczwvYT4gLQo8YSBocmVmPXIvbTQ+TWVzc2FnZSBCb2FyZHM8L2E+PC9zbWFsbD48L3Rk PjwvdHI+PHRyPjx0ZCBub3dyYXA+PHNtYWxsPjxpPlNtYWxsIEJ1c2luZXNzPC9pPiA6CjxhIGhy ZWY9ci9kcj48Yj5Eb21haW4gUmVnaXN0cmF0aW9uPC9iPjwvYT4gLQo8YSBocmVmPXIvc2I+U21h bGwgQml6IENlbnRlcjwvYT4gLQo8YSBocmVmPXIvczM+U3RvcmUgQnVpbGRpbmc8L2E+IC0KPGEg aHJlZj1yL3dzPldlYiBIb3N0aW5nPC9hPjwvc21hbGw+PC90ZD48L3RyPjx0cj48dGQgbm93cmFw PjxzbWFsbD48aT5BY2Nlc3MgWWFob28hIHZpYTwvaT4gOiA8YSBocmVmPXIvcGE+UGFnZXJzPC9h PiwgPGEgaHJlZj1yL3BkPlBEQXM8L2E+LCA8YSBocmVmPXIvd2U+V2ViLWVuYWJsZWQgUGhvbmVz PC9hPiBhbmQgPGEgaHJlZj1yL3ZjPlZvaWNlICgxLTgwMC1NeS1ZYWhvbyk8L2E+PC9zbWFsbD48 L3RkPjwvdHI+PHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj1jZW50ZXI+PHNt YWxsPjxhIGhyZWY9ci9ocz5NYWtlIFlhaG9vISB5b3VyIGhvbWUgcGFnZTwvYT48L3NtYWxsPjwv dGQ+PC90cj48L3RhYmxlPjxociBub3NoYWRlIHNpemU9MSB3aWR0aD02NDA+PHNtYWxsPjxhIGhy ZWY9ci9hZD5Ib3cgdG8gU3VnZ2VzdCBhIFNpdGU8L2E+IC0KPGEgaHJlZj1yL2NwPkNvbXBhbnkg SW5mbzwvYT4gLQo8YSBocmVmPXIvY3k+Q29weXJpZ2h0IFBvbGljeTwvYT4gLQo8YSBocmVmPXIv dHM+VGVybXMgb2YgU2VydmljZTwvYT4gLQo8YSBocmVmPXIvaHI+Sm9iczwvYT4gLQo8YSBocmVm PXIvYW8+QWR2ZXJ0aXNlIHdpdGggVXM8L2E+PHA+Q29weXJpZ2h0ICZjb3B5OyAyMDAyIFlhaG9v ISBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9zbWFsbD48YnI+PGZvbnQgY29sb3I9ZmYwMDIw PnVwZGF0ZWQ8L2ZvbnQ+IDxhIGhyZWY9ci9wdj5Qcml2YWN5IFBvbGljeTwvYT48L2NlbnRlcj4K CjwhLS1baWYgSUUgXT4KPHNjcmlwdCBsYW5ndWFnZT1qYXZhc2NyaXB0Pgp2YXIgYWxsX2xvYWRl ZCA9IGZhbHNlOwpmdW5jdGlvbiBsb2FkX2FsbCgpIHsgICAKIHByb2crPSctbG9hZCc7CiBpZiAo IWFsbF9sb2FkZWQpIHsgCiAgZGl2XzFTVC5pbm5lckhUTUwgPSAnPG9iamVjdCBjbGFzc2lkPSJj bHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiIGlkPWZpcnN0X3N3ZiB3 aWR0aD0nK3N3Zl93aWR0aCsnIGhlaWdodD0nK3N3Zl9oZWlnaHQrJyBzdHlsZT0idmlzaWJpbGl0 eTogaGlkZGVuOyBkaXNwbGF5OiBub25lIj48cGFyYW0gbmFtZT1tb3ZpZSB2YWx1ZT0iJytmaXJz dFNXRisnIj48cGFyYW0gbmFtZT1xdWFsaXR5IHZhbHVlPWF1dG9oaWdoPjxwYXJhbSBuYW1lPWxv b3AgdmFsdWU9ZmFsc2U+PHBhcmFtIG5hbWU9d21vZGUgdmFsdWU9dHJhbnNwYXJlbnQ+PHBhcmFt IG5hbWU9cGxheSB2YWx1ZT1mYWxzZT48L29iamVjdD4nCjsKICBhbGxfbG9hZGVkPXRydWU7CiB9 Cn0KaWYgKGNhcCkgewogZG9jdW1lbnQud3JpdGUoJzxkaXYgaWQ9ZGl2XzFTVCBzdHlsZT0icG9z aXRpb246IGFic29sdXRlOyBoZWlnaHQ6ICcrc3dmX2hlaWdodCsnOyB3aWR0aDogJytzd2Zfd2lk dGgrJzsgdG9wOiAwOyBsZWZ0OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IGRpc3BsYXk6IGlubGlu ZTsgei1pbmRleDogMTAxIj48L2Rpdj4nKTsKIGlmICghZG9uZSkgewogIGxvYWRfYWxsKCk7CiB9 Cn0KZnVuY3Rpb24gY2xpY2tzMSh4KSB7CiBwcm9nKz0nLWNsaWNrczEnOwogdmFyIHI9NTsKIHZh ciBhPW5ldyBBcnJheSgpOwogYVswXT1yZWQrJ1I9JytyKycvaWQ9bWt0cF8xX2NsaWNrX3VybC8q Jyt1cmw7CiBsb2NhdGlvbi5ocmVmPWFbMF07Cn0KZnVuY3Rpb24gZG9uZTFTVChzKSB7CiBkb2N1 bWVudC5hbGwuZmlyc3Rfc3dmLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKIGRvY3VtZW50 LmFsbC5maXJzdF9zd2Yuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKIG1rdHBfZGl2LmlubmVySFRN TCA9ICc8YSBocmVmPSInK3JlZCsnUj0xL2lkPW1rdHBfMl9jbGljay8qJyt1cmwrJyI+PGltZyBi b3JkZXI9MCBzcmM9Iicrc2Vjb25kSW1nKyciIGhlaWdodD0nK2hlaWdodCsnIHdpZHRoPScrd2lk dGgrJyBpZD1zZWNvbmRfc3dmIHN0eWxlPSJ2aXNpYmlsaXR5OiB2aXNpYmxlOyBkaXNwbGF5OiBp bmxpbmUiPjwvYT4nOwogaWYgKHM9PSdjbG9zZScpIHsKICBwcm9nKz0nLWNsb3NlJzsKICB0cign Tj03L2lkPWNsb3NlJyk7CiB9IGVsc2UgewogIHByb2crPSctZG9uZSc7CiAgdHIoJ049OS9pZD1k b25lJyk7CiB9Cn0KZnVuY3Rpb24gcmVzZXRfYWxsKCkgewogZG9jdW1lbnQuYWxsLmZpcnN0X3N3 Zi5yZXdpbmQoKTsKIGRvY3VtZW50LmFsbC5maXJzdF9zd2Yuc3RvcCgpOwogZG9jdW1lbnQuYWxs LmZpcnN0X3N3Zi5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiBkb2N1bWVudC5hbGwuZmly c3Rfc3dmLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiBkb2N1bWVudC5hbGwuc2Vjb25kX3N3Zi5z dHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7Cn0KZnVuY3Rpb24gcGxheUFHQUlOKCkgewogcHJv Zys9Jy1hZ2Fpbic7CiB0cignTj00L2lkPW1rdHBfcmVwbGF5Jyk7CiBsb2FkX2FsbCgpOwogcmVz ZXRfYWxsKCk7CiBkb2N1bWVudC5hbGwuZmlyc3Rfc3dmLnN0eWxlLnZpc2liaWxpdHkgPSAidmlz aWJsZSI7CiBkb2N1bWVudC5hbGwuZmlyc3Rfc3dmLnN0eWxlLmRpc3BsYXkgPSAiaW5saW5lIjsK IGRvY3VtZW50LmFsbC5maXJzdF9zd2YucGxheSgpOwp9CmZ1bmN0aW9uIHJlc2l6ZWl0X2FsbCgp IHsKIHZhciBjLGQ7CiB2YXIgeD0wOwogdmFyIHk9MDsKIGMgPSBkb2N1bWVudC5hbGwubWt0cF9k aXY7CiB3aGlsZSAoYykgewogIHggKz0gYy5vZmZzZXRMZWZ0OwogIHkgKz0gYy5vZmZzZXRUb3A7 CiAgYyA9IGMub2Zmc2V0UGFyZW50OwogfQogZG9jdW1lbnQuYWxsLmRpdl8xU1Quc3R5bGUucGl4 ZWxUb3AgPSB5LW9mZnk7CiBkb2N1bWVudC5hbGwuZGl2XzFTVC5zdHlsZS5waXhlbExlZnQgPSB4 LW9mZng7Cn0KaWYgKGNhcCkgewogcmVzaXplaXRfYWxsKCk7Cn0KZnVuY3Rpb24gaW5pdCgpIHsK IGV0ID0gbmV3IERhdGUoKTsKIGxhdCA9IGV0LmdldFRpbWUoKS1zdC5nZXRUaW1lKCk7CiBwcm9n Kz0nLWluaXQnOwogaWYgKCFkb25lKSB7CiAgcHJvZys9Jy1kb2luZyc7CiAgaWYgKGRvY3VtZW50 LmFsbC5maXJzdF9zd2YpIHsKICAgdHIoJ049NS9pZD1maXJzdF90aW1lX3BsYXknKTsKICAgZG9j dW1lbnQuYWxsLmZpcnN0X3N3Zi5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICBkb2N1 bWVudC5hbGwuZmlyc3Rfc3dmLnN0eWxlLmRpc3BsYXkgPSAiaW5saW5lIjsKICAgZG9jdW1lbnQu YWxsLmZpcnN0X3N3Zi5wbGF5KCk7CiAgfSBlbHNlIHsKICAgdHIoJ049Ni9pZD1maXJzdF90aW1l X3BsYXlfbm9fb2JqZWN0Jyk7CiAgfQogfSBlbHNlIHsKICBwcm9nKz0nLWRpZCc7CiAgZG9jdW1l bnQuYWxsLnNlY29uZF9zd2Yuc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKICBkb2N1bWVu dC5hbGwuc2Vjb25kX3N3Zi5zdHlsZS5kaXNwbGF5ID0gImlubGluZSI7CiB9Cn0KaWYgKGNhcCkg ewogcHJvZys9Jy1yZWFkeSc7CiB3aW5kb3cub25sb2FkPWluaXQ7CiB3aW5kb3cub25yZXNpemU9 cmVzaXplaXRfYWxsOwp9CnByb2crPSctZW9mJzsKPC9zY3JpcHQ+CjwhW2VuZGlmXS0tPgoKPC9i b2R5PjwvaHRtbD4K |
From: Somik R. <so...@ya...> - 2002-04-26 03:28:21
|
Hi Annette, Thanks for the report, I wrote a functional testcase, to do a raw = check IMG tags, and with the parser, and could reproduce the bug. I dont = think its a problem with the image scanner code - bcos the unit tests = are passing with the same yahoo tags. Here's a quick solution for you : Dont use registerScanners() for = now. Since your app specifically needs to check only image scanners, = replace the line : parser.registerScanners();=20 with parser.addScanner(new HTMLImageScanner("-i"));=20 I checked that all the yahoo image tags come fine with this change. = The functional test has been checked into CVS (FunctionalTests.java), = and the one with registerScanners() fails. The corresponding unit test = in HTMLImageScanner passes. Meanwhile, I am trying to find out which scanner is messing up.. Thanks again for your report. Cheers, Somik ----- Original Message -----=20 From: Doyle, Annette=20 To: htm...@li...=20 Sent: Friday, April 26, 2002 1:32 AM Subject: [Htmlparser-user] Not all image tags are returned Is there any known problem about not all image tags being returned? I = did the following code: =20 HTMLParser parser =3D new = HTMLParser(htmlOriginalFileLoc); // Registering all the common scanners parser.registerScanners();=20 for (Enumeration e =3D = parser.elements();e.hasMoreElements();) { HTMLNode node =3D = (HTMLNode)e.nextElement(); if (node instanceof HTMLImageTag) { System.out.println(); = System.out.println(((HTMLImageTag)node).getTagLine()); System.out.println(); =20 = //imageTagsUrl.addElement(((HTMLImageTag)node).getImageLocation()); } } =20 I was testing with another html parser and it found all the image = tags. Attached is the source from www.yahoo.com when I ran the code = above. |
From: Somik R. <so...@ya...> - 2002-04-26 03:43:54
|
Hi Annette, I just figured out what is happening... Sorry for the previous mail - this is not a bug in the parser. You see - the tags which werent getting reported as image tags, were sandwiched between link tags <A HREF="..."><IMG ..></A>. Hence, in your application, you will also need to watch out for link tags, and pick up the images from within should there be any. Now - if this causes you additional headaches, then dont register all the scanners, so the link scanner will not interfere, and you will only get the image tags. In order to prove that this analysis is correct - I added one more test case to HTMLImageScannerTest.java - testImageTagsFromYahooWithAllScannersRegistered() This test case extracts the link and checks that the image is found within. Also no of tags found is verified. You can check out this code from CVS, it might help you if you are interested in getting image tags out of link tags. Correspondingly, there is also testImageTagsFromYahoo() which passes (with only html image scanner registered). Let me know if you need further help. Regards, Somik ----- Original Message ----- From: Doyle, Annette To: htm...@li... Sent: Friday, April 26, 2002 1:32 AM Subject: [Htmlparser-user] Not all image tags are returned Is there any known problem about not all image tags being returned? I did the following code: HTMLParser parser = new HTMLParser(htmlOriginalFileLoc); // Registering all the common scanners parser.registerScanners(); for (Enumeration e = parser.elements();e.hasMoreElements();) { HTMLNode node = (HTMLNode)e.nextElement(); if (node instanceof HTMLImageTag) { System.out.println(); System.out.println(((HTMLImageTag)node).getTagLine()); System.out.println(); file://imageTagsUrl.addElement(((HTMLImageTag)node).getImageLocation()); } } I was testing with another html parser and it found all the image tags. Attached is the source from www.yahoo.com when I ran the code above. |