<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>40909</bug_id>
          
          <creation_ts>2010-06-21 05:01:36 -0700</creation_ts>
          <short_desc>Support WTF::Vector pretty printer for GDB 7</short_desc>
          <delta_ts>2010-07-26 06:47:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>evan</cc>
    
    <cc>hamaji</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>240652</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-06-21 05:01:36 -0700</bug_when>
    <thetext>I noticed that there is a WebKitTools/gdb/webcore.py.
It would be better to support more types for GDB lovers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240653</commentid>
    <comment_count>1</comment_count>
      <attachid>59241</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-06-21 05:03:27 -0700</bug_when>
    <thetext>Created attachment 59241
support-wtf-vector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240654</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-21 05:07:32 -0700</bug_when>
    <thetext>Attachment 59241 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKitTools/gdb/wtf.py:41:  expected 2 blank lines, found 1  [pep8/E302] [5]
WebKitTools/gdb/wtf.py:45:  whitespace before &apos;(&apos;  [pep8/E211] [5]
WebKitTools/gdb/wtf.py:92:  indentation is not a multiple of four  [pep8/E111] [5]
Total errors found: 3 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241113</commentid>
    <comment_count>3</comment_count>
      <attachid>59338</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-06-21 22:39:50 -0700</bug_when>
    <thetext>Created attachment 59338
support-wtf-vector-fix-style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241130</commentid>
    <comment_count>4</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-06-21 23:01:03 -0700</bug_when>
    <thetext>I&apos;ve fixed the style.

(In reply to comment #3)
&gt; Created an attachment (id=59338) [details]
&gt; support-wtf-vector-fix-style

(In reply to comment #2)
&gt; Attachment 59241 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
&gt; WebKitTools/gdb/wtf.py:41:  expected 2 blank lines, found 1  [pep8/E302] [5]
&gt; WebKitTools/gdb/wtf.py:45:  whitespace before &apos;(&apos;  [pep8/E211] [5]
&gt; WebKitTools/gdb/wtf.py:92:  indentation is not a multiple of four  [pep8/E111] [5]
&gt; Total errors found: 3 in 2 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255207</commentid>
    <comment_count>5</comment_count>
      <attachid>59338</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-07-22 22:18:17 -0700</bug_when>
    <thetext>Comment on attachment 59338
support-wtf-vector-fix-style

r- for minor issues.

WebKitTools/gdb/wtf.py:98
 +  build_pritty_printers_dict()
pretty

WebKitTools/gdb/wtf.py:96
 +  pretty_printers_dict = {}
It would be better not to use a global variable? Maybe

pretty_printers = build_pretty_printers()
gdb.pretty_printers.append(lambda val: lookup_function(pretty_printers, val))

(I&apos;m not 100% sure if it&apos;s OK to pass lambda to gdb.pretty_printers though)


WebKitTools/gdb/wtf.py:43
 +      &quot;Print a WTF::Vector&quot;
Could you add a document about how each members will be used? I guess both children and to_string will be called for GDB&apos;s p command when display_hint is &apos;array&apos;? Maybe putting URL for GDB&apos;s python document would be nice.

WebKitTools/gdb/wtf.py:59
 +              elt = self.item.dereference()
I think element would be better. Usually WebKit code doesn&apos;t like abbreviations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255209</commentid>
    <comment_count>6</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-07-22 22:23:55 -0700</bug_when>
    <thetext>Though I&apos;m not good at GDB&apos;s python extension, I guess I will r+ the change in the next iteration as this change harms nothing and looks good to me.

I&apos;m CCing Evan as he could have some cool ideas to improve this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255822</commentid>
    <comment_count>7</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2010-07-25 09:02:44 -0700</bug_when>
    <thetext>I also don&apos;t know a lot about GDB extensions, but the change looks good to me!  You might want to mention it on webkit-dev once it&apos;s landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256003</commentid>
    <comment_count>8</comment_count>
      <attachid>62563</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-07-26 06:15:10 -0700</bug_when>
    <thetext>Created attachment 62563
support-wtf-vector-typo-fixed-and-add-comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256006</commentid>
    <comment_count>9</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-07-26 06:20:27 -0700</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #5)
&gt; (From update of attachment 59338 [details])
&gt; r- for minor issues.
&gt; 
&gt; WebKitTools/gdb/wtf.py:98
&gt;  +  build_pritty_printers_dict()
&gt; pretty

Done. Thank you.

&gt; 
&gt; WebKitTools/gdb/wtf.py:96
&gt;  +  pretty_printers_dict = {}
&gt; It would be better not to use a global variable? Maybe
&gt; 
&gt; pretty_printers = build_pretty_printers()
&gt; gdb.pretty_printers.append(lambda val: lookup_function(pretty_printers, val))
&gt; 
&gt; (I&apos;m not 100% sure if it&apos;s OK to pass lambda to gdb.pretty_printers though)

I don&apos;t think it is worth hiding &apos;pretty_printer_dict&apos; from global scope. &apos;pretty_printer_dict&apos; is global, but that is global only within this module. I&apos;d like to leave that as is because that won&apos;t conflict any variables defined in other modules.

&gt; 
&gt; 
&gt; WebKitTools/gdb/wtf.py:43
&gt;  +      &quot;Print a WTF::Vector&quot;
&gt; Could you add a document about how each members will be used? I guess both children and to_string will be called for GDB&apos;s p command when display_hint is &apos;array&apos;? Maybe putting URL for GDB&apos;s python document would be nice.

Sure. I&apos;ve added comments mentioning the url and usage.

&gt; 
&gt; WebKitTools/gdb/wtf.py:59
&gt;  +              elt = self.item.dereference()
&gt; I think element would be better. Usually WebKit code doesn&apos;t like abbreviations.

Done. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256012</commentid>
    <comment_count>10</comment_count>
      <attachid>62563</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-07-26 06:30:26 -0700</bug_when>
    <thetext>Comment on attachment 62563
support-wtf-vector-typo-fixed-and-add-comments

Looks good. Thanks for your update!

&gt; I don&apos;t think it is worth hiding &apos;pretty_printer_dict&apos; from global scope. &apos;pretty_printer_dict&apos; is global, but that is global only within this module. I&apos;d like to leave that as is because that won&apos;t conflict any variables defined in other modules.

I still like not to use global variables because I was a bit surprised this code seemed to use a variable without declaration. At first, I guessed pretty_printers_dict is something special in GDB extensions. But it&apos;s OK as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256013</commentid>
    <comment_count>11</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-07-26 06:31:18 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I also don&apos;t know a lot about GDB extensions, but the change looks good to me!  You might want to mention it on webkit-dev once it&apos;s landed.

Thanks for your comment!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256022</commentid>
    <comment_count>12</comment_count>
      <attachid>62563</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-26 06:47:16 -0700</bug_when>
    <thetext>Comment on attachment 62563
support-wtf-vector-typo-fixed-and-add-comments

Clearing flags on attachment: 62563

Committed r64044: &lt;http://trac.webkit.org/changeset/64044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256023</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-26 06:47:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59241</attachid>
            <date>2010-06-21 05:03:27 -0700</date>
            <delta_ts>2010-06-21 22:39:45 -0700</delta_ts>
            <desc>support-wtf-vector</desc>
            <filename>bug-40909-20100621210325.patch</filename>
            <type>text/plain</type>
            <size>4146</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAxYjk5MzZkNDJhMWQwYmE0MzU0YWQyM2M0YjQ1NjU0OWVkOGYwNmI1Li45MjRmOWEz
NTMxYzVkNDgzNGZjYjY1ODhjZmNmYzI1NmE1MTVhYWRiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDYtMjEgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFB5dGhvbiBjb2RlIGZvciBH
REIgNyB0byBzdXBwb3J0IFdURjo6VmVjdG9yLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDkwOQorCisgICAgICAgICogZ2RiL3d0Zi5weTogQWRk
ZWQuCisKIDIwMTAtMDYtMTcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL2dk
Yi93dGYucHkgYi9XZWJLaXRUb29scy9nZGIvd3RmLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkMzRmYjliZjIw
ODI4YmU2MzVhODg4NzJkOTdjZmNkYzM5MjFkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRU
b29scy9nZGIvd3RmLnB5CkBAIC0wLDAgKzEsOTkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwLCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisj
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIiIi
R0RCIHN1cHBvcnQgZm9yIFdlYktpdCBXVEYgdHlwZXMuCisKK0FkZCB0aGlzIHRvIHlvdXIgZ2Ri
IGJ5IGFtZW5kaW5nIHlvdXIgfi8uZ2RiaW5pdCBhcyBmb2xsb3dzOgorICBweXRob24KKyAgaW1w
b3J0IHN5cworICBzeXMucGF0aC5pbnNlcnQoMCwgIi9wYXRoL3RvL3Rvb2xzL2dkYi8iKQorICBp
bXBvcnQgd3RmCisiIiIKKworaW1wb3J0IGdkYgoraW1wb3J0IHJlCisKK2NsYXNzIFdURlZlY3Rv
clByaW50ZXI6CisgICAgIlByaW50IGEgV1RGOjpWZWN0b3IiCisKKyAgICBjbGFzcyBJdGVyYXRv
cjoKKyAgICAgICAgZGVmIF9faW5pdF9fIChzZWxmLCBzdGFydCwgZmluaXNoKToKKyAgICAgICAg
ICAgIHNlbGYuaXRlbSA9IHN0YXJ0CisgICAgICAgICAgICBzZWxmLmZpbmlzaCA9IGZpbmlzaAor
ICAgICAgICAgICAgc2VsZi5jb3VudCA9IDAKKworICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6
CisgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgIGRlZiBuZXh0KHNlbGYpOgorICAg
ICAgICAgICAgaWYgc2VsZi5pdGVtID09IHNlbGYuZmluaXNoOgorICAgICAgICAgICAgICAgIHJh
aXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgIGNvdW50ID0gc2VsZi5jb3VudAorICAgICAg
ICAgICAgc2VsZi5jb3VudCArPSAxCisgICAgICAgICAgICBlbHQgPSBzZWxmLml0ZW0uZGVyZWZl
cmVuY2UoKQorICAgICAgICAgICAgc2VsZi5pdGVtICs9IDEKKyAgICAgICAgICAgIHJldHVybiAo
J1slZF0nICUgY291bnQsIGVsdCkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWwpOgorICAg
ICAgICBzZWxmLnZhbCA9IHZhbAorCisgICAgZGVmIGNoaWxkcmVuKHNlbGYpOgorICAgICAgICBz
dGFydCA9IHNlbGYudmFsWydtX2J1ZmZlciddWydtX2J1ZmZlciddCisgICAgICAgIHJldHVybiBz
ZWxmLkl0ZXJhdG9yKHN0YXJ0LCBzdGFydCArIHNlbGYudmFsWydtX3NpemUnXSkKKworICAgIGRl
ZiB0b19zdHJpbmcoc2VsZik6CisgICAgICAgIHJldHVybiAoJyVzIG9mIGxlbmd0aCAlZCwgY2Fw
YWNpdHkgJWQnCisgICAgICAgICAgICAgICAgJSAoJ1dURjo6VmVjdG9yJywgc2VsZi52YWxbJ21f
c2l6ZSddLCBzZWxmLnZhbFsnbV9idWZmZXInXVsnbV9jYXBhY2l0eSddKSkKKworICAgIGRlZiBk
aXNwbGF5X2hpbnQoc2VsZik6CisgICAgICAgIHJldHVybiAnYXJyYXknCisKKworZGVmIGxvb2t1
cF9mdW5jdGlvbih2YWwpOgorICAgIHR5cGUgPSB2YWwudHlwZQorICAgIGlmIHR5cGUuY29kZSA9
PSBnZGIuVFlQRV9DT0RFX1JFRjoKKyAgICAgICAgdHlwZSA9IHR5cGUudGFyZ2V0KCkKKyAgICB0
eXBlID0gdHlwZS51bnF1YWxpZmllZCgpLnN0cmlwX3R5cGVkZWZzKCkKKyAgICB0eXBlbmFtZSA9
IHR5cGUudGFnCisgICAgaWYgbm90IHR5cGVuYW1lOgorICAgICAgICByZXR1cm4gTm9uZQorICAg
IGZvciBmdW5jdGlvbiwgcHJldHR5X3ByaW50ZXIgaW4gcHJldHR5X3ByaW50ZXJzX2RpY3QuaXRl
bXMoKToKKyAgICAgICAgaWYgZnVuY3Rpb24uc2VhcmNoKHR5cGVuYW1lKToKKyAgICAgICAgICAg
IHJldHVybiBwcmV0dHlfcHJpbnRlcih2YWwpCisgICAgcmV0dXJuIE5vbmUKKworCitkZWYgYnVp
bGRfcHJpdHR5X3ByaW50ZXJzX2RpY3QoKToKKyAgcHJldHR5X3ByaW50ZXJzX2RpY3RbcmUuY29t
cGlsZSgnXldURjo6VmVjdG9yPC4qPiQnKV0gPSBXVEZWZWN0b3JQcmludGVyCisKKworcHJldHR5
X3ByaW50ZXJzX2RpY3QgPSB7fQorCitidWlsZF9wcml0dHlfcHJpbnRlcnNfZGljdCgpCisKK2dk
Yi5wcmV0dHlfcHJpbnRlcnMuYXBwZW5kKGxvb2t1cF9mdW5jdGlvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59338</attachid>
            <date>2010-06-21 22:39:50 -0700</date>
            <delta_ts>2010-07-26 06:15:05 -0700</delta_ts>
            <desc>support-wtf-vector-fix-style</desc>
            <filename>bug-40909-20100622143948.patch</filename>
            <type>text/plain</type>
            <size>4150</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAxYjk5MzZkNDJhMWQwYmE0MzU0YWQyM2M0YjQ1NjU0OWVkOGYwNmI1Li45MjRmOWEz
NTMxYzVkNDgzNGZjYjY1ODhjZmNmYzI1NmE1MTVhYWRiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDYtMjEgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFB5dGhvbiBjb2RlIGZvciBH
REIgNyB0byBzdXBwb3J0IFdURjo6VmVjdG9yLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDkwOQorCisgICAgICAgICogZ2RiL3d0Zi5weTogQWRk
ZWQuCisKIDIwMTAtMDYtMTcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL2dk
Yi93dGYucHkgYi9XZWJLaXRUb29scy9nZGIvd3RmLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiYTcyZDUxZDE3
ZTZmNDJkZGI0ZGJmNGVhYjA1ZDQ3ZDZlNDlhZTAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRU
b29scy9nZGIvd3RmLnB5CkBAIC0wLDAgKzEsMTAwIEBACisjIENvcHlyaWdodCAoQykgMjAxMCwg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
IyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyIi
IkdEQiBzdXBwb3J0IGZvciBXZWJLaXQgV1RGIHR5cGVzLgorCitBZGQgdGhpcyB0byB5b3VyIGdk
YiBieSBhbWVuZGluZyB5b3VyIH4vLmdkYmluaXQgYXMgZm9sbG93czoKKyAgcHl0aG9uCisgIGlt
cG9ydCBzeXMKKyAgc3lzLnBhdGguaW5zZXJ0KDAsICIvcGF0aC90by90b29scy9nZGIvIikKKyAg
aW1wb3J0IHd0ZgorIiIiCisKK2ltcG9ydCBnZGIKK2ltcG9ydCByZQorCisKK2NsYXNzIFdURlZl
Y3RvclByaW50ZXI6CisgICAgIlByaW50IGEgV1RGOjpWZWN0b3IiCisKKyAgICBjbGFzcyBJdGVy
YXRvcjoKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXJ0LCBmaW5pc2gpOgorICAgICAg
ICAgICAgc2VsZi5pdGVtID0gc3RhcnQKKyAgICAgICAgICAgIHNlbGYuZmluaXNoID0gZmluaXNo
CisgICAgICAgICAgICBzZWxmLmNvdW50ID0gMAorCisgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxm
KToKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgZGVmIG5leHQoc2VsZik6Cisg
ICAgICAgICAgICBpZiBzZWxmLml0ZW0gPT0gc2VsZi5maW5pc2g6CisgICAgICAgICAgICAgICAg
cmFpc2UgU3RvcEl0ZXJhdGlvbgorICAgICAgICAgICAgY291bnQgPSBzZWxmLmNvdW50CisgICAg
ICAgICAgICBzZWxmLmNvdW50ICs9IDEKKyAgICAgICAgICAgIGVsdCA9IHNlbGYuaXRlbS5kZXJl
ZmVyZW5jZSgpCisgICAgICAgICAgICBzZWxmLml0ZW0gKz0gMQorICAgICAgICAgICAgcmV0dXJu
ICgnWyVkXScgJSBjb3VudCwgZWx0KQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbCk6Cisg
ICAgICAgIHNlbGYudmFsID0gdmFsCisKKyAgICBkZWYgY2hpbGRyZW4oc2VsZik6CisgICAgICAg
IHN0YXJ0ID0gc2VsZi52YWxbJ21fYnVmZmVyJ11bJ21fYnVmZmVyJ10KKyAgICAgICAgcmV0dXJu
IHNlbGYuSXRlcmF0b3Ioc3RhcnQsIHN0YXJ0ICsgc2VsZi52YWxbJ21fc2l6ZSddKQorCisgICAg
ZGVmIHRvX3N0cmluZyhzZWxmKToKKyAgICAgICAgcmV0dXJuICgnJXMgb2YgbGVuZ3RoICVkLCBj
YXBhY2l0eSAlZCcKKyAgICAgICAgICAgICAgICAlICgnV1RGOjpWZWN0b3InLCBzZWxmLnZhbFsn
bV9zaXplJ10sIHNlbGYudmFsWydtX2J1ZmZlciddWydtX2NhcGFjaXR5J10pKQorCisgICAgZGVm
IGRpc3BsYXlfaGludChzZWxmKToKKyAgICAgICAgcmV0dXJuICdhcnJheScKKworCitkZWYgbG9v
a3VwX2Z1bmN0aW9uKHZhbCk6CisgICAgdHlwZSA9IHZhbC50eXBlCisgICAgaWYgdHlwZS5jb2Rl
ID09IGdkYi5UWVBFX0NPREVfUkVGOgorICAgICAgICB0eXBlID0gdHlwZS50YXJnZXQoKQorICAg
IHR5cGUgPSB0eXBlLnVucXVhbGlmaWVkKCkuc3RyaXBfdHlwZWRlZnMoKQorICAgIHR5cGVuYW1l
ID0gdHlwZS50YWcKKyAgICBpZiBub3QgdHlwZW5hbWU6CisgICAgICAgIHJldHVybiBOb25lCisg
ICAgZm9yIGZ1bmN0aW9uLCBwcmV0dHlfcHJpbnRlciBpbiBwcmV0dHlfcHJpbnRlcnNfZGljdC5p
dGVtcygpOgorICAgICAgICBpZiBmdW5jdGlvbi5zZWFyY2godHlwZW5hbWUpOgorICAgICAgICAg
ICAgcmV0dXJuIHByZXR0eV9wcmludGVyKHZhbCkKKyAgICByZXR1cm4gTm9uZQorCisKK2RlZiBi
dWlsZF9wcml0dHlfcHJpbnRlcnNfZGljdCgpOgorICAgIHByZXR0eV9wcmludGVyc19kaWN0W3Jl
LmNvbXBpbGUoJ15XVEY6OlZlY3RvcjwuKj4kJyldID0gV1RGVmVjdG9yUHJpbnRlcgorCisKK3By
ZXR0eV9wcmludGVyc19kaWN0ID0ge30KKworYnVpbGRfcHJpdHR5X3ByaW50ZXJzX2RpY3QoKQor
CitnZGIucHJldHR5X3ByaW50ZXJzLmFwcGVuZChsb29rdXBfZnVuY3Rpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62563</attachid>
            <date>2010-07-26 06:15:10 -0700</date>
            <delta_ts>2010-07-26 06:47:16 -0700</delta_ts>
            <desc>support-wtf-vector-typo-fixed-and-add-comments</desc>
            <filename>bug-40909-20100726221508.patch</filename>
            <type>text/plain</type>
            <size>4974</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzMTdjNGY0OTg2YmIyZGYyMmM4ZTg0MzI3MzkyNzQxMTQ2NGExMDE1Li41MDBjNDU3
ZjY2M2VjMDNiNDQ5ZGZkNTE5YTA5MzI3ZGZiNjM1MGFiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDctMjYgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBwcmV0dHkgcHJpbnRl
ciBvZiBXVEY6OlZlY3RvciBmb3IgR0RCIDcuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTA5CisKKyAgICAgICAgKiBnZGIvd3RmLnB5OiBBZGRl
ZC4KKwogMjAxMC0wNy0yNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL2dk
Yi93dGYucHkgYi9XZWJLaXRUb29scy9nZGIvd3RmLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmNGI1OWJkMGFm
NGRiYTFjNTg5NTRmYjhmZDU3MDczZjFkN2Y3MjQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRU
b29scy9nZGIvd3RmLnB5CkBAIC0wLDAgKzEsMTMzIEBACisjIENvcHlyaWdodCAoQykgMjAxMCwg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
IyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyIi
IkdEQiBzdXBwb3J0IGZvciBXZWJLaXQgV1RGIHR5cGVzLgorCitBZGQgdGhpcyB0byB5b3VyIGdk
YiBieSBhbWVuZGluZyB5b3VyIH4vLmdkYmluaXQgYXMgZm9sbG93czoKKyAgcHl0aG9uCisgIGlt
cG9ydCBzeXMKKyAgc3lzLnBhdGguaW5zZXJ0KDAsICIvcGF0aC90by90b29scy9nZGIvIikKKyAg
aW1wb3J0IHd0ZgorCitTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi9jdXJyZW50L29ubGlu
ZWRvY3MvZ2RiL1B5dGhvbi5odG1sIGZvciBHREIncworUHl0aG9uIEFQSS4KKyIiIgorCitpbXBv
cnQgZ2RiCitpbXBvcnQgcmUKKworCitjbGFzcyBXVEZWZWN0b3JQcmludGVyOgorICAgICIiIlBy
ZXR0eSBQcmludGVyIGZvciBhIFdURjo6VmVjdG9yLgorCisgICAgVGhlIG91dHB1dCBvZiB0aGlz
IHByZXR0eSBwcmludGVyIGlzIHNpbWlsYXIgdG8gdGhlIG91dHB1dCBvZiBzdGQ6OnZlY3Rvcidz
CisgICAgcHJldHR5IHByaW50ZXIsIHdoaWNoIGlzIGJ1bmRsZWQgaW4gZ2NjLgorCisgICAgRXhh
bXBsZSBnZGIgc2Vzc2lvbiBzaG91bGQgbG9vayBsaWtlOgorICAgIChnZGIpIHAgdgorICAgICQz
ID0gV1RGOjpWZWN0b3Igb2YgbGVuZ3RoIDcsIGNhcGFjaXR5IDE2ID0gezcsIDE3LCAyNywgMzcs
IDQ3LCA1NywgNjd9CisgICAgKGdkYikgc2V0IHByaW50IGVsZW1lbnRzIDMKKyAgICAoZ2RiKSBw
IHYKKyAgICAkNiA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCA3LCBjYXBhY2l0eSAxNiA9IHs3LCAx
NywgMjcuLi59CisgICAgKGdkYikgc2V0IHByaW50IGFycmF5CisgICAgKGdkYikgcCB2CisgICAg
JDcgPSBXVEY6OlZlY3RvciBvZiBsZW5ndGggNywgY2FwYWNpdHkgMTYgPSB7CisgICAgICA3LAor
ICAgICAgMTcsCisgICAgICAyNworICAgICAgLi4uCisgICAgfQorICAgIChnZGIpIHNldCBwcmlu
dCBlbGVtZW50cyAyMDAKKyAgICAoZ2RiKSBwIHYKKyAgICAkOCA9IFdURjo6VmVjdG9yIG9mIGxl
bmd0aCA3LCBjYXBhY2l0eSAxNiA9IHsKKyAgICAgIDcsCisgICAgICAxNywKKyAgICAgIDI3LAor
ICAgICAgMzcsCisgICAgICA0NywKKyAgICAgIDU3LAorICAgICAgNjcKKyAgICB9CisgICAgIiIi
CisKKyAgICBjbGFzcyBJdGVyYXRvcjoKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXJ0
LCBmaW5pc2gpOgorICAgICAgICAgICAgc2VsZi5pdGVtID0gc3RhcnQKKyAgICAgICAgICAgIHNl
bGYuZmluaXNoID0gZmluaXNoCisgICAgICAgICAgICBzZWxmLmNvdW50ID0gMAorCisgICAgICAg
IGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAg
ZGVmIG5leHQoc2VsZik6CisgICAgICAgICAgICBpZiBzZWxmLml0ZW0gPT0gc2VsZi5maW5pc2g6
CisgICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgorICAgICAgICAgICAgY291bnQg
PSBzZWxmLmNvdW50CisgICAgICAgICAgICBzZWxmLmNvdW50ICs9IDEKKyAgICAgICAgICAgIGVs
ZW1lbnQgPSBzZWxmLml0ZW0uZGVyZWZlcmVuY2UoKQorICAgICAgICAgICAgc2VsZi5pdGVtICs9
IDEKKyAgICAgICAgICAgIHJldHVybiAoJ1slZF0nICUgY291bnQsIGVsZW1lbnQpCisKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgdmFsKToKKyAgICAgICAgc2VsZi52YWwgPSB2YWwKKworICAgIGRl
ZiBjaGlsZHJlbihzZWxmKToKKyAgICAgICAgc3RhcnQgPSBzZWxmLnZhbFsnbV9idWZmZXInXVsn
bV9idWZmZXInXQorICAgICAgICByZXR1cm4gc2VsZi5JdGVyYXRvcihzdGFydCwgc3RhcnQgKyBz
ZWxmLnZhbFsnbV9zaXplJ10pCisKKyAgICBkZWYgdG9fc3RyaW5nKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gKCclcyBvZiBsZW5ndGggJWQsIGNhcGFjaXR5ICVkJworICAgICAgICAgICAgICAgICUg
KCdXVEY6OlZlY3RvcicsIHNlbGYudmFsWydtX3NpemUnXSwgc2VsZi52YWxbJ21fYnVmZmVyJ11b
J21fY2FwYWNpdHknXSkpCisKKyAgICBkZWYgZGlzcGxheV9oaW50KHNlbGYpOgorICAgICAgICBy
ZXR1cm4gJ2FycmF5JworCisKK2RlZiBsb29rdXBfZnVuY3Rpb24odmFsKToKKyAgICB0eXBlID0g
dmFsLnR5cGUKKyAgICBpZiB0eXBlLmNvZGUgPT0gZ2RiLlRZUEVfQ09ERV9SRUY6CisgICAgICAg
IHR5cGUgPSB0eXBlLnRhcmdldCgpCisgICAgdHlwZSA9IHR5cGUudW5xdWFsaWZpZWQoKS5zdHJp
cF90eXBlZGVmcygpCisgICAgdHlwZW5hbWUgPSB0eXBlLnRhZworICAgIGlmIG5vdCB0eXBlbmFt
ZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBmb3IgZnVuY3Rpb24sIHByZXR0eV9wcmludGVy
IGluIHByZXR0eV9wcmludGVyc19kaWN0Lml0ZW1zKCk6CisgICAgICAgIGlmIGZ1bmN0aW9uLnNl
YXJjaCh0eXBlbmFtZSk6CisgICAgICAgICAgICByZXR1cm4gcHJldHR5X3ByaW50ZXIodmFsKQor
ICAgIHJldHVybiBOb25lCisKKworZGVmIGJ1aWxkX3ByZXR0eV9wcmludGVyc19kaWN0KCk6Cisg
ICAgcHJldHR5X3ByaW50ZXJzX2RpY3RbcmUuY29tcGlsZSgnXldURjo6VmVjdG9yPC4qPiQnKV0g
PSBXVEZWZWN0b3JQcmludGVyCisKKworcHJldHR5X3ByaW50ZXJzX2RpY3QgPSB7fQorCitidWls
ZF9wcmV0dHlfcHJpbnRlcnNfZGljdCgpCisKK2dkYi5wcmV0dHlfcHJpbnRlcnMuYXBwZW5kKGxv
b2t1cF9mdW5jdGlvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>