From: "堀川 久" Date: 2002-09-28T20:23:00+09:00 Subject: [ruby-list:36029] Re: [patch] html/template, html/fillinform This is a multi-part message in MIME format. --------=_1033211948.178.400 Content-Type: text/plain; charset=ISO-2022-JP こんにちは。 I wrote on Sat, 21 Sep 2002 21:40:09 +0900, in <3d8c6846.5089%vzw00011@nifty.ne.jp>; >html/fillinform > - HTML::FillInForm#fill()を複数回呼び出せるようにした。 > - HTMLデータのformタグに属性がない場合,エラーになるようにした。 > - HTML::FillInForm#fill()の引数に指定されていないタグは,変更を加え > ないようにした。 > - チェックボックスでvalue属性が省略されている場合の手当てをした。 もう少し修正しました。 2002-09-28 - HTML::FillInForm#fill()が引数によっては実行時エラーになる場合が あったので,修正した。 - fill()にCGIインスタンスを渡し,input (type = checkbox) でvalue属 性が省略されている場合に正しく値が設定されなかったので,修正し た。 -- HORIKAWA Hisashi (in Kanji: 堀川 久) mailto:vzw00011@nifty.ne.jp http://www2.airnet.ne.jp/pak04955/ --------=_1033211948.178.400 Content-Type: application/octet-stream; name="html-fillinform-0.23-q1-q2.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="html-fillinform-0.23-q1-q2.diff" CgoKCgpkaWZmIC1OYXVyIGh0bWwtZmlsbGluZm9ybS0wLjIzLXExL2xpYi9o dG1sL2ZpbGxpbmZvcm0ucmIgaHRtbC1maWxsaW5mb3JtLTAuMjMtcTIvbGli L2h0bWwvZmlsbGluZm9ybS5yYgotLS0gaHRtbC1maWxsaW5mb3JtLTAuMjMt cTEvbGliL2h0bWwvZmlsbGluZm9ybS5yYglTYXQgU2VwIDI4IDE5OjMwOjU2 IDIwMDIKKysrIGh0bWwtZmlsbGluZm9ybS0wLjIzLXEyL2xpYi9odG1sL2Zp bGxpbmZvcm0ucmIJU2F0IFNlcCAyOCAxOToyODowNiAyMDAyCkBAIC02Myw3 ICs2Myw5IEBACiAJaWYgdGFnLmlzX2E/KEVuZFRhZykgYW5kIHRhZy5uYW1l ID09ICd0ZXh0YXJlYScKIAkgIHJlcXVpcmUgJ2NnaScKIAkgIGlmIGhhc2hb dGV4dF9hcmVhXSBhbmQgaGFzaFt0ZXh0X2FyZWFdLmlzX2E/KEFycmF5KQot CSAgICBAb3V0cHV0IDw8IENHSS5lc2NhcGVIVE1MKGhhc2hbdGV4dF9hcmVh XVswXSkKKyAgICAgICAgICAgIGlmIGhhc2hbdGV4dF9hcmVhXS5maXJzdAor ICAgICAgICAgICAgICBAb3V0cHV0IDw8IENHSS5lc2NhcGVIVE1MKGhhc2hb dGV4dF9hcmVhXVswXSkKKyAgICAgICAgICAgIGVuZAogCSAgZWxzaWYgaGFz aFt0ZXh0X2FyZWFdCiAJICAgIEBvdXRwdXQgPDwgQ0dJLmVzY2FwZUhUTUwo aGFzaFt0ZXh0X2FyZWFdKQogCSAgZW5kCkBAIC03NCw3ICs3Niw5IEBACiAJ aWYgdGV4dF9hcmVhIGFuZCBoYXNoW3RleHRfYXJlYV0KIAkgIHJlcXVpcmUg J2NnaScKIAkgIGlmIGhhc2hbdGV4dF9hcmVhXS5pc19hPyhBcnJheSkKLQkg ICAgQG91dHB1dCA8PCBDR0kuZXNjYXBlSFRNTChoYXNoW3RleHRfYXJlYV1b MF0pCisgICAgICAgICAgICBpZiBoYXNoW3RleHRfYXJlYV0uZmlyc3QKKyAg ICAgICAgICAgICAgQG91dHB1dCA8PCBDR0kuZXNjYXBlSFRNTChoYXNoW3Rl eHRfYXJlYV1bMF0pCisgICAgICAgICAgICBlbmQKIAkgIGVsc2UKIAkgICAg QG91dHB1dCA8PCBDR0kuZXNjYXBlSFRNTChoYXNoW3RleHRfYXJlYV0pCiAJ ICBlbmQKQEAgLTE5MiwxMSArMTk2LDEyIEBACiAJICBlbHNpZiB0YWcuYXR0 clsndHlwZSddID09ICdjaGVja2JveCcKIAkgICAgaWYgaGFzaFt0YWcuYXR0 clsnbmFtZSddXS5pc19hPyhBcnJheSkKICAgICAgICAgICAgICAgY2hrID0g ZmFsc2UKLQkgICAgICBoYXNoW3RhZy5hdHRyWyduYW1lJ11dLmVhY2ggZG8g fHZ8Ci0JCWlmIHYgPT0gdGFnLmF0dHJbJ3ZhbHVlJ10KLQkJICBjaGsgPSB0 cnVlCi0JCWVuZAotCSAgICAgIGVuZAorICAgICAgICAgICAgICBoYXNoW3Rh Zy5hdHRyWyduYW1lJ11dLmVhY2ggZG8gfHZ8CisgICAgICAgICAgICAgICAg aWYgKHRhZy5hdHRyWyd2YWx1ZSddICYmIHYgPT0gdGFnLmF0dHJbJ3ZhbHVl J10pIHx8CisgICAgICAgICAgICAgICAgICAgKCF0YWcuYXR0clsndmFsdWUn XSAmJiB2ID09ICJvbiIpCisgICAgICAgICAgICAgICAgICBjaGsgPSB0cnVl CisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgIGVuZAogICAg ICAgICAgICAgICAjIGZvciBtdWx0aXBsZSBzZWxlY3QKICAgICAgICAgICAg ICAgaWYgY2hrCiAgICAgICAgICAgICAgICAgdGFnLmF0dHJbJ2NoZWNrZWQn XSA9IHRydWUKQEAgLTIxOSwxOSArMjI0LDE1IEBACiAJICBlbHNlCiAJICAg ICMjCiAJICAgICMgdGV4dCxoaWRkZW4scGFzc3dvcmQgLi4KLQkgICAgcmVx dWlyZSAnY2dpJwotCSAgICBpZiBoYXNoW3RhZy5hdHRyWyduYW1lJ11dLmlz X2E/KEFycmF5KSAKLQkgICAgICB0YWcuYXR0clsndmFsdWUnXSA9IGhhc2hb dGFnLmF0dHJbJ25hbWUnXV1bMF0KLSAJICAgICAgaWYgdGFnLmF0dHJbJ3Zh bHVlJ10gPT0gbmlsCi0gCQl0YWcuYXR0clsndmFsdWUnXSA9ICcnCi0gCSAg ICAgIGVuZAorICAgICAgICAgICAgIyByZXF1aXJlICdjZ2knCisJICAgIGlm IGhhc2hbdGFnLmF0dHJbJ25hbWUnXV0uaXNfYT8oQXJyYXkpCisgICAgICAg ICAgICAgIGlmIGhhc2hbdGFnLmF0dHJbJ25hbWUnXV1bMF0KKyAgICAgICAg ICAgICAgICB0YWcuYXR0clsndmFsdWUnXSA9IGhhc2hbdGFnLmF0dHJbJ25h bWUnXV1bMF0KKyAgICAgICAgICAgICAgZW5kCiAJICAgICAgQG91dHB1dCA8 PCB0YWcudG9fcwogCSAgICAgIG5leHQKIAkgICAgZWxzaWYgaGFzaFt0YWcu YXR0clsnbmFtZSddXSAKIAkgICAgICB0YWcuYXR0clsndmFsdWUnXSA9IGhh c2hbdGFnLmF0dHJbJ25hbWUnXV0KLQkgICAgICBpZiB0YWcuYXR0clsndmFs dWUnXSA9PSBuaWwKLSMJCXRhZy5hdHRyWyd2YWx1ZSddID0gJycKLQkgICAg ICBlbmQKIAkgICAgICBAb3V0cHV0IDw8IHRhZy50b19zCiAJICAgICAgbmV4 dAogCSAgICBlbHNlCg== --------=_1033211948.178.400 Content-Type: application/octet-stream; name="html-fillinform-0.23-orig-q2.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="html-fillinform-0.23-orig-q2.diff" CiAgMjAwMi0wOS0xNgogICAgLSBIVE1MOjpGaWxsSW5Gb3JtI2ZpbGwoKaTy yqO/9LLzuMak073QpLuk66TopKaky6S3pL+howogICAgLSBIVE1MpcehvKW/ pM5mb3Jtpb+lsKTLwrDAraSspMqkpL7sueehpKWopemhvKTLpMqk66TopKak y6S3pL+howogICAgLSBIVE1MOjpGaWxsSW5Gb3JtI2ZpbGwoKaTOsPq/9KTL u9jE6qS1pOykxqSkpMqkpKW/pbCkz6GkytG5uaTyssOkqKTKpKSk6KSmpMuk t6S/oaMKICAgIC0gpcGlp6XDpa+l3KXDpa+luaTHdmFsdWXCsMCtpKy+ys6s pLWk7KTGpKSk677sueekzrzqxfakxqTypLekv6GjCgogIDIwMDItMDktMjgK ICAgIC0gSFRNTDo6RmlsbEluRm9ybSNmaWxsKCmkrLD6v/Sky6TopMOkxqTP vMK51Lv+pail6aG8pMukyqTrvuy556SspKKkw6S/pM6kx6GkvaTAtaS3pL+h owogICAgLSBmaWxsKCmky0NHSaWkpfOluaW/pfOluaTyxc+kt6GkaW5wdXQg KHR5cGUgPSBjaGVja2JveCkgpMd2YWx1ZcKwwK2krL7KzqyktaTspMakpKTr vuy556TLwLWkt6Svw82krMDfxOqktaTspMqkq6TDpL+kzqTHoaS9pMC1pLek v6GjCgoKZGlmZiAtY3IgaHRtbC1maWxsaW5mb3JtLTAuMjMub3JpZy9leGFt cGxlL2Zvcm0ucmIgaHRtbC1maWxsaW5mb3JtLTAuMjMtcTIvZXhhbXBsZS9m b3JtLnJiCioqKiBodG1sLWZpbGxpbmZvcm0tMC4yMy5vcmlnL2V4YW1wbGUv Zm9ybS5yYglNb24gRGVjIDEwIDE5OjE2OjU2IDIwMDEKLS0tIGh0bWwtZmls bGluZm9ybS0wLjIzLXEyL2V4YW1wbGUvZm9ybS5yYglTYXQgQXVnIDE3IDEy OjIwOjA0IDIwMDIKKioqKioqKioqKioqKioqCioqKiAxLDQgKioqKgohICMh L3Vzci9iaW4vcnVieQogIAogIHJlcXVpcmUgImNnaSIKICByZXF1aXJlICJo dG1sL3RlbXBsYXRlIgotLS0gMSw0IC0tLS0KISAjIS91c3IvbG9jYWwvYmlu L3J1YnkKICAKICByZXF1aXJlICJjZ2kiCiAgcmVxdWlyZSAiaHRtbC90ZW1w bGF0ZSIKZGlmZiAtY3IgaHRtbC1maWxsaW5mb3JtLTAuMjMub3JpZy9saWIv aHRtbC9maWxsaW5mb3JtLnJiIGh0bWwtZmlsbGluZm9ybS0wLjIzLXEyL2xp Yi9odG1sL2ZpbGxpbmZvcm0ucmIKKioqIGh0bWwtZmlsbGluZm9ybS0wLjIz Lm9yaWcvbGliL2h0bWwvZmlsbGluZm9ybS5yYglTYXQgQXVnIDE3IDA0OjQw OjMzIDIwMDIKLS0tIGh0bWwtZmlsbGluZm9ybS0wLjIzLXEyL2xpYi9odG1s L2ZpbGxpbmZvcm0ucmIJU2F0IFNlcCAyOCAxOToyODowNiAyMDAyCioqKioq KioqKioqKioqKgoqKiogMzIsMzggKioqKgogICAgICAgIHRleHRfYXJlYSA9 IG5pbAogICAgICAgIHNlbGVjdF9ib3ggPSBuaWwKICAgICAgICBvcHRpb25f dGFnID0gbmlsCiEgICAgICAgSFRNTFNwbGl0Lm5ldyhAaHRtbCkuZG9jdW1l bnQuZWFjaCBkbyB8dGFnfAogIAkjIwogIAkjIGNoZWNrIDxmb3JtPiBuYW1l CiAgCWlmIHRhZy5pc19hPyhFbmRUYWcpIGFuZCB0YWcubmFtZSA9PSAnZm9y bScKLS0tIDMyLDQ1IC0tLS0KICAgICAgICB0ZXh0X2FyZWEgPSBuaWwKICAg ICAgICBzZWxlY3RfYm94ID0gbmlsCiAgICAgICAgb3B0aW9uX3RhZyA9IG5p bAohIAohICAgICAgIGlmIEBvdXRwdXQgIT0gIiIKISAgICAgICAgIG91dHB1 dF90bXAgPSBAb3V0cHV0CiEgICAgICAgZWxzZQohICAgICAgICAgb3V0cHV0 X3RtcCA9IEBodG1sCiEgICAgICAgZW5kCiEgICAgICAgQG91dHB1dCA9ICcn CiEgICAgICAgSFRNTFNwbGl0Lm5ldyhvdXRwdXRfdG1wKS5kb2N1bWVudC5l YWNoIGRvIHx0YWd8CiAgCSMjCiAgCSMgY2hlY2sgPGZvcm0+IG5hbWUKICAJ aWYgdGFnLmlzX2E/KEVuZFRhZykgYW5kIHRhZy5uYW1lID09ICdmb3JtJwoq KioqKioqKioqKioqKioKKioqIDQxLDQ2ICoqKioKLS0tIDQ4LDU0IC0tLS0K ICAJICBuZXh0CiAgCWVuZAogIAlpZiB0YWcuaXNfYT8oU3RhcnRUYWcpIGFu ZCB0YWcubmFtZSA9PSAnZm9ybScKKyAgICAgICAgICAgcmFpc2UgIk5vIGF0 dHJpYnV0ZSBpbiBmb3JtIHRhZyIgaWYgIXRhZy5hdHRyCiAgCSAgY3VycmVu dF9mb3JtID0gdGFnLmF0dHJbJ25hbWUnXQogIAkgIEBvdXRwdXQgPDwgdGFn LnRvX3MKICAJICBuZXh0CioqKioqKioqKioqKioqKgoqKiogNTUsNjEgKioq KgogIAlpZiB0YWcuaXNfYT8oRW5kVGFnKSBhbmQgdGFnLm5hbWUgPT0gJ3Rl eHRhcmVhJwogIAkgIHJlcXVpcmUgJ2NnaScKICAJICBpZiBoYXNoW3RleHRf YXJlYV0gYW5kIGhhc2hbdGV4dF9hcmVhXS5pc19hPyhBcnJheSkKISAJICAg IEBvdXRwdXQgPDwgQ0dJLmVzY2FwZUhUTUwoaGFzaFt0ZXh0X2FyZWFdWzBd KQogIAkgIGVsc2lmIGhhc2hbdGV4dF9hcmVhXQogIAkgICAgQG91dHB1dCA8 PCBDR0kuZXNjYXBlSFRNTChoYXNoW3RleHRfYXJlYV0pCiAgCSAgZW5kCi0t LSA2Myw3MSAtLS0tCiAgCWlmIHRhZy5pc19hPyhFbmRUYWcpIGFuZCB0YWcu bmFtZSA9PSAndGV4dGFyZWEnCiAgCSAgcmVxdWlyZSAnY2dpJwogIAkgIGlm IGhhc2hbdGV4dF9hcmVhXSBhbmQgaGFzaFt0ZXh0X2FyZWFdLmlzX2E/KEFy cmF5KQohICAgICAgICAgICAgIGlmIGhhc2hbdGV4dF9hcmVhXS5maXJzdAoh ICAgICAgICAgICAgICAgQG91dHB1dCA8PCBDR0kuZXNjYXBlSFRNTChoYXNo W3RleHRfYXJlYV1bMF0pCiEgICAgICAgICAgICAgZW5kCiAgCSAgZWxzaWYg aGFzaFt0ZXh0X2FyZWFdCiAgCSAgICBAb3V0cHV0IDw8IENHSS5lc2NhcGVI VE1MKGhhc2hbdGV4dF9hcmVhXSkKICAJICBlbmQKKioqKioqKioqKioqKioq CioqKiA2Niw3MiAqKioqCiAgCWlmIHRleHRfYXJlYSBhbmQgaGFzaFt0ZXh0 X2FyZWFdCiAgCSAgcmVxdWlyZSAnY2dpJwogIAkgIGlmIGhhc2hbdGV4dF9h cmVhXS5pc19hPyhBcnJheSkKISAJICAgIEBvdXRwdXQgPDwgQ0dJLmVzY2Fw ZUhUTUwoaGFzaFt0ZXh0X2FyZWFdWzBdKQogIAkgIGVsc2UKICAJICAgIEBv dXRwdXQgPDwgQ0dJLmVzY2FwZUhUTUwoaGFzaFt0ZXh0X2FyZWFdKQogIAkg IGVuZAotLS0gNzYsODQgLS0tLQogIAlpZiB0ZXh0X2FyZWEgYW5kIGhhc2hb dGV4dF9hcmVhXQogIAkgIHJlcXVpcmUgJ2NnaScKICAJICBpZiBoYXNoW3Rl eHRfYXJlYV0uaXNfYT8oQXJyYXkpCiEgICAgICAgICAgICAgaWYgaGFzaFt0 ZXh0X2FyZWFdLmZpcnN0CiEgICAgICAgICAgICAgICBAb3V0cHV0IDw8IENH SS5lc2NhcGVIVE1MKGhhc2hbdGV4dF9hcmVhXVswXSkKISAgICAgICAgICAg ICBlbmQKICAJICBlbHNlCiAgCSAgICBAb3V0cHV0IDw8IENHSS5lc2NhcGVI VE1MKGhhc2hbdGV4dF9hcmVhXSkKICAJICBlbmQKKioqKioqKioqKioqKioq CioqKiA5NywxMDQgKioqKgogIAkJYnJlYWsKICAJICAgICAgZW5kCiAgCSAg ICBlbmQKISAJICBlbHNpZiBoYXNoW3NlbGVjdF9ib3hdID09IHRhZy50b19z LmNob21wLnN0cmlwCiEgCSAgICBvcHRpb25fdGFnLmF0dHJbJ3NlbGVjdGVk J10gPSB0cnVlCiAgCSAgZW5kCiAgCSAgQG91dHB1dCA8PCBvcHRpb25fdGFn LnRvX3MgPDwgdGFnLnRvX3MKICAJICBvcHRpb25fdGFnID0gbmlsCi0tLSAx MDksMTIwIC0tLS0KICAJCWJyZWFrCiAgCSAgICAgIGVuZAogIAkgICAgZW5k CiEgCSAgZWxzaWYgaGFzaFtzZWxlY3RfYm94XQohICAgICAgICAgICAgIGlm IGhhc2hbc2VsZWN0X2JveF0gPT0gdGFnLnRvX3MuY2hvbXAuc3RyaXAKISAg ICAgICAgICAgICAgIG9wdGlvbl90YWcuYXR0clsnc2VsZWN0ZWQnXSA9IHRy dWUKISAgICAgICAgICAgICBlbHNlCiEgICAgICAgICAgICAgICBvcHRpb25f dGFnLmF0dHIuZGVsZXRlKCdzZWxlY3RlZCcpCiEgICAgICAgICAgICAgZW5k CiAgCSAgZW5kCiAgCSAgQG91dHB1dCA8PCBvcHRpb25fdGFnLnRvX3MgPDwg dGFnLnRvX3MKICAJICBvcHRpb25fdGFnID0gbmlsCioqKioqKioqKioqKioq KgoqKiogMTEyLDEyMSAqKioqCiAgCSAgdW5sZXNzIHRhZy5hdHRyIGFuZCB0 YWcuYXR0clsndmFsdWUnXQogIAkgICAgb3B0aW9uX3RhZyA9IFN0YXJ0VGFn Lm5ldygnb3B0aW9uJykKICAJICAgIG9wdGlvbl90YWcuYXR0ciA9IHRhZy5h dHRyIHx8IHt9CSAgICAKLSAJICAgIGlmIG9wdGlvbl90YWcuYXR0clsnc2Vs ZWN0ZWQnXQotIAkgICAgICAjIGRlbGV0ZSBvcmlnaW5hbCAKLSAJICAgICAg b3B0aW9uX3RhZy5hdHRyLmRlbGV0ZSgnc2VsZWN0ZWQnKQotIAkgICAgZW5k CiAgCSAgICBuZXh0CiAgCSAgZW5kCiAgCi0tLSAxMjgsMTMzIC0tLS0KKioq KioqKioqKioqKioqCioqKiAxMjYsMTQyICoqKioKICAJCWNoayA9IHRydWUK ICAJICAgICAgZW5kCiAgCSAgICBlbmQKISAJICBlbHNpZiBoYXNoW3NlbGVj dF9ib3hdID09IHRhZy5hdHRyWyd2YWx1ZSddCiEgCSAgICB0YWcuYXR0clsn c2VsZWN0ZWQnXSA9IHRydWUKISAJICAgIGNoayA9IHRydWUKICAJICBlbHNp ZiBoYXNoW3NlbGVjdF9ib3hdCiEgCSAgICB0YWcuYXR0ci5kZWxldGUoJ3Nl bGVjdGVkJykKISAJICAgIGNoayA9IGZhbHNlCiEgCSAgZW5kCiEgCSAgaWYg Y2hrCiEgCSAgICB0YWcuYXR0clsnc2VsZWN0ZWQnXSA9IHRydWUKISAJICBl bHNlCiEgCSAgICB0YWcuYXR0ci5kZWxldGUoJ3NlbGVjdGVkJykKICAJICBl bmQKICAJICBAb3V0cHV0IDw8IHRhZy50b19zCiAgCSAgbmV4dAotLS0gMTM4 LDE1NCAtLS0tCiAgCQljaGsgPSB0cnVlCiAgCSAgICAgIGVuZAogIAkgICAg ZW5kCiEgICAgICAgICAgICAgaWYgY2hrCiEgICAgICAgICAgICAgICB0YWcu YXR0clsnc2VsZWN0ZWQnXSA9IHRydWUKISAgICAgICAgICAgICBlbHNlCiEg ICAgICAgICAgICAgICB0YWcuYXR0ci5kZWxldGUoJ3NlbGVjdGVkJykKISAg ICAgICAgICAgICBlbmQKICAJICBlbHNpZiBoYXNoW3NlbGVjdF9ib3hdCiEg ICAgICAgICAgICAgaWYgaGFzaFtzZWxlY3RfYm94XSA9PSB0YWcuYXR0clsn dmFsdWUnXQohICAgICAgICAgICAgICAgdGFnLmF0dHJbJ3NlbGVjdGVkJ10g PSB0cnVlCiEgICAgICAgICAgICAgZWxzZQohICAgICAgICAgICAgICAgdGFn LmF0dHIuZGVsZXRlKCdzZWxlY3RlZCcpCiEgICAgICAgICAgICAgZW5kCiAg CSAgZW5kCiAgCSAgQG91dHB1dCA8PCB0YWcudG9fcwogIAkgIG5leHQKKioq KioqKioqKioqKioqCioqKiAxODIsMjA1ICoqKioKICAJICAgICMjCiAgCSAg ICAjIDxpbnB1dCB0eXBlPSJjaGVja2JveCI+CiAgCSAgZWxzaWYgdGFnLmF0 dHJbJ3R5cGUnXSA9PSAnY2hlY2tib3gnCi0gCSAgICBjaGsgPSBmYWxzZQog IAkgICAgaWYgaGFzaFt0YWcuYXR0clsnbmFtZSddXS5pc19hPyhBcnJheSkK ISAJICAgICAgaGFzaFt0YWcuYXR0clsnbmFtZSddXS5lYWNoIGRvIHx2fAoh IAkJaWYgdiA9PSB0YWcuYXR0clsndmFsdWUnXQohIAkJICBjaGsgPSB0cnVl CiEgCQllbmQKISAJICAgICAgZW5kCiEgCSAgICBlbHNpZiBoYXNoW3RhZy5h dHRyWyduYW1lJ11dID09IHRhZy5hdHRyWyd2YWx1ZSddCiEgCSAgICAgIHRh Zy5hdHRyWydjaGVja2VkJ10gPSB0cnVlCiAgCSAgICBlbHNpZiBoYXNoW3Rh Zy5hdHRyWyduYW1lJ11dCiEgCSAgICAgIHRhZy5hdHRyLmRlbGV0ZSgnY2hl Y2tlZCcpCiEgCSAgICBlbmQKISAJICAgICMgZm9yIG11bHRpcGxlIHNlbGVj dAohIAkgICAgaWYgY2hrCiEgCSAgICAgIHRhZy5hdHRyWydjaGVja2VkJ10g PSB0cnVlCiEgCSAgICBlbHNlCiEgCSAgICAgIHRhZy5hdHRyLmRlbGV0ZSgn Y2hlY2tlZCcpCiEgCSAgICBlbmQKICAJICAgIEBvdXRwdXQgPDwgdGFnLnRv X3MKICAJICAgIG5leHQKICAjICAgCSAgZWxzaWYgdGFnLmF0dHJbJ3R5cGUn XSA9PSAnc3VibWl0JyBvciB0YWcuYXR0clsndHlwZSddID09ICdyZXNldCcg b3IgdGFnLmF0dHJbJ3R5cGUnXSA9PSAnYnV0dG9uJwotLS0gMTk0LDIyMSAt LS0tCiAgCSAgICAjIwogIAkgICAgIyA8aW5wdXQgdHlwZT0iY2hlY2tib3gi PgogIAkgIGVsc2lmIHRhZy5hdHRyWyd0eXBlJ10gPT0gJ2NoZWNrYm94Jwog IAkgICAgaWYgaGFzaFt0YWcuYXR0clsnbmFtZSddXS5pc19hPyhBcnJheSkK ISAgICAgICAgICAgICAgIGNoayA9IGZhbHNlCiEgICAgICAgICAgICAgICBo YXNoW3RhZy5hdHRyWyduYW1lJ11dLmVhY2ggZG8gfHZ8CiEgICAgICAgICAg ICAgICAgIGlmICh0YWcuYXR0clsndmFsdWUnXSAmJiB2ID09IHRhZy5hdHRy Wyd2YWx1ZSddKSB8fAohICAgICAgICAgICAgICAgICAgICAoIXRhZy5hdHRy Wyd2YWx1ZSddICYmIHYgPT0gIm9uIikKISAgICAgICAgICAgICAgICAgICBj aGsgPSB0cnVlCiEgICAgICAgICAgICAgICAgIGVuZAohICAgICAgICAgICAg ICAgZW5kCiEgICAgICAgICAgICAgICAjIGZvciBtdWx0aXBsZSBzZWxlY3QK ISAgICAgICAgICAgICAgIGlmIGNoawohICAgICAgICAgICAgICAgICB0YWcu YXR0clsnY2hlY2tlZCddID0gdHJ1ZQohICAgICAgICAgICAgICAgZWxzZQoh ICAgICAgICAgICAgICAgICB0YWcuYXR0ci5kZWxldGUoJ2NoZWNrZWQnKQoh ICAgICAgICAgICAgICAgZW5kCiAgCSAgICBlbHNpZiBoYXNoW3RhZy5hdHRy WyduYW1lJ11dCiEgICAgICAgICAgICAgICBpZiAodGFnLmF0dHJbJ3ZhbHVl J10gJiYgaGFzaFt0YWcuYXR0clsnbmFtZSddXSA9PSB0YWcuYXR0clsndmFs dWUnXSkgfHwKISAgICAgICAgICAgICAgICAgICghdGFnLmF0dHJbJ3ZhbHVl J10gJiYgaGFzaFt0YWcuYXR0clsnbmFtZSddXSA9PSAib24iKQohICAgICAg ICAgICAgICAgICB0YWcuYXR0clsnY2hlY2tlZCddID0gdHJ1ZQohICAgICAg ICAgICAgICAgZWxzZSAKISAgICAgICAgICAgICAgICAgdGFnLmF0dHIuZGVs ZXRlKCdjaGVja2VkJykKISAgICAgICAgICAgICAgIGVuZAohICAgICAgICAg ICAgIGVuZAogIAkgICAgQG91dHB1dCA8PCB0YWcudG9fcwogIAkgICAgbmV4 dAogICMgICAJICBlbHNpZiB0YWcuYXR0clsndHlwZSddID09ICdzdWJtaXQn IG9yIHRhZy5hdHRyWyd0eXBlJ10gPT0gJ3Jlc2V0JyBvciB0YWcuYXR0clsn dHlwZSddID09ICdidXR0b24nCioqKioqKioqKioqKioqKgoqKiogMjA4LDIy NiAqKioqCiAgCSAgZWxzZQogIAkgICAgIyMKICAJICAgICMgdGV4dCxoaWRk ZW4scGFzc3dvcmQgLi4KISAJICAgIHJlcXVpcmUgJ2NnaScKISAJICAgIGlm IGhhc2hbdGFnLmF0dHJbJ25hbWUnXV0uaXNfYT8oQXJyYXkpIAohIAkgICAg ICB0YWcuYXR0clsndmFsdWUnXSA9IGhhc2hbdGFnLmF0dHJbJ25hbWUnXV1b MF0KISAgCSAgICAgIGlmIHRhZy5hdHRyWyd2YWx1ZSddID09IG5pbAohICAJ CXRhZy5hdHRyWyd2YWx1ZSddID0gJycKISAgCSAgICAgIGVuZAogIAkgICAg ICBAb3V0cHV0IDw8IHRhZy50b19zCiAgCSAgICAgIG5leHQKICAJICAgIGVs c2lmIGhhc2hbdGFnLmF0dHJbJ25hbWUnXV0gCiAgCSAgICAgIHRhZy5hdHRy Wyd2YWx1ZSddID0gaGFzaFt0YWcuYXR0clsnbmFtZSddXQotIAkgICAgICBp ZiB0YWcuYXR0clsndmFsdWUnXSA9PSBuaWwKLSAjCQl0YWcuYXR0clsndmFs dWUnXSA9ICcnCi0gCSAgICAgIGVuZAogIAkgICAgICBAb3V0cHV0IDw8IHRh Zy50b19zCiAgCSAgICAgIG5leHQKICAJICAgIGVsc2UKLS0tIDIyNCwyMzgg LS0tLQogIAkgIGVsc2UKICAJICAgICMjCiAgCSAgICAjIHRleHQsaGlkZGVu LHBhc3N3b3JkIC4uCiEgICAgICAgICAgICAgIyByZXF1aXJlICdjZ2knCiEg CSAgICBpZiBoYXNoW3RhZy5hdHRyWyduYW1lJ11dLmlzX2E/KEFycmF5KQoh ICAgICAgICAgICAgICAgaWYgaGFzaFt0YWcuYXR0clsnbmFtZSddXVswXQoh ICAgICAgICAgICAgICAgICB0YWcuYXR0clsndmFsdWUnXSA9IGhhc2hbdGFn LmF0dHJbJ25hbWUnXV1bMF0KISAgICAgICAgICAgICAgIGVuZAogIAkgICAg ICBAb3V0cHV0IDw8IHRhZy50b19zCiAgCSAgICAgIG5leHQKICAJICAgIGVs c2lmIGhhc2hbdGFnLmF0dHJbJ25hbWUnXV0gCiAgCSAgICAgIHRhZy5hdHRy Wyd2YWx1ZSddID0gaGFzaFt0YWcuYXR0clsnbmFtZSddXQogIAkgICAgICBA b3V0cHV0IDw8IHRhZy50b19zCiAgCSAgICAgIG5leHQKICAJICAgIGVsc2UK --------=_1033211948.178.400--