<?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>105252</bug_id>
          
          <creation_ts>2012-12-17 21:43:19 -0800</creation_ts>
          <short_desc>REGRESSION: Review tool sometimes doesn&apos;t include some comments in preview &amp; posts</short_desc>
          <delta_ts>2013-01-02 14:47:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Website</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>apavlov</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>793351</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-17 21:43:19 -0800</bug_when>
    <thetext>It appears that review tool now completely ignores new comments. I have to reload the page in order for the preview &amp; the actual comments to reflect some of comments I added. Maybe comments that have not been saved are not included?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793743</commentid>
    <comment_count>1</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-12-18 09:47:56 -0800</bug_when>
    <thetext>I&apos;ve noticed this too.  I comments that are still in the editable textarea are not saved or sent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793747</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-18 09:49:54 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; I&apos;ve noticed this too.  I comments that are still in the editable textarea are not saved or sent.

Hm... that might be a slightly different issue. What I&apos;m observing is that the inserts comments are saved but not included in preview or sent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793782</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-12-18 10:05:54 -0800</bug_when>
    <thetext>Not sure what to do here without repro steps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793982</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-12-18 13:17:09 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; I&apos;ve noticed this too.  I comments that are still in the editable textarea are not saved or sent.
&gt; 
&gt; Hm... that might be a slightly different issue. What I&apos;m observing is that the inserts comments are saved but not included in preview or sent.

Oh, I was guessing.  Maybe I am remembering to hit &quot;OK&quot; and the comments aren&apos;t getting sent.

I&apos;m not sure how to debug. I&apos;ll try to do reviews with an open JS console, I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793986</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-18 13:19:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Not sure what to do here without repro steps.

Yeah, it appears to be some sort of heisen bug or involves race condition :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796880</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-23 22:31:06 -0800</bug_when>
    <thetext>I reproduced this bug on https://bugs.webkit.org/attachment.cgi?id=180637&amp;action=review once when I was commenting on DeleteSelectionCommand.cpp change at lines 483-484.

Here&apos;s my analysis. The problem is that forEachLine prematurely stops iteration at #line32 when it&apos;s called by fillInReviewForm because #line33 doesn&apos;t exist on this page (it appears that this doesn&apos;t reproduce reliably either).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797554</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-12-27 07:40:24 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I reproduced this bug on https://bugs.webkit.org/attachment.cgi?id=180637&amp;action=review once when I was commenting on DeleteSelectionCommand.cpp change at lines 483-484.
&gt; 
&gt; Here&apos;s my analysis. The problem is that forEachLine prematurely stops iteration at #line32 when it&apos;s called by fillInReviewForm because #line33 doesn&apos;t exist on this page (it appears that this doesn&apos;t reproduce reliably either).

Another manifestation, same cause: I expanded the diff (20 above, 20 below...), which inserted a number of &quot;.ExpansionLine&quot;s, but removed &quot;.Line.LineContainer.context&quot; having a line number! Thus, a hole in the line number sequence appeared, and that was the reason for forEachLine premature bail-out. Thus, all comments after the first expanded source chunk were lost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798902</commentid>
    <comment_count>8</comment_count>
      <attachid>181068</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-02 14:27:55 -0800</bug_when>
    <thetext>Created attachment 181068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798915</commentid>
    <comment_count>9</comment_count>
      <attachid>181068</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-02 14:37:25 -0800</bug_when>
    <thetext>Comment on attachment 181068
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=181068&amp;action=review

Looks reasonable.

&gt; Websites/bugs.webkit.org/code-review.js:75
&gt;    var g_displayed_draft_comments = false;
&gt; +  var g_next_line_id = 0;

Mixing camelCase and underscored names? :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798919</commentid>
    <comment_count>10</comment_count>
      <attachid>181071</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-02 14:40:53 -0800</bug_when>
    <thetext>Created attachment 181071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798927</commentid>
    <comment_count>11</comment_count>
      <attachid>181071</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-02 14:44:21 -0800</bug_when>
    <thetext>Comment on attachment 181071
Patch

Please rev the version to force the new file to load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798931</commentid>
    <comment_count>12</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-02 14:47:36 -0800</bug_when>
    <thetext>Committed r138653: &lt;http://trac.webkit.org/changeset/138653&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181068</attachid>
            <date>2013-01-02 14:27:55 -0800</date>
            <delta_ts>2013-01-02 14:40:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105252-20130102142502.patch</filename>
            <type>text/plain</type>
            <size>9378</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NjIyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCAxZTYxMTk2OTgwNGJjZDU2NTJiZmU0YmEyMWI4NWY4OGQzYTIwNWUyLi4zMWQxMTcxYmNl
Zjk0YWEwMWM4MjIwYjUwNzMzOWI2YWNmMmQwM2Y4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9idWdz
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMS0wMiAgT2phbiBWYWZhaSAgPG9qYW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJFR1JFU1NJT046IFJldmlldyB0b29sIHNvbWV0aW1lcyBk
b2Vzbid0IGluY2x1ZGUgc29tZSBjb21tZW50cyBpbiBwcmV2aWV3ICYgcG9zdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTI1MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGNvbnRl
eHQsIHRoZSBMaW5lQ29udGFpbmVyIGZvciB0aGUgY29udGV4dCBsaW5lIGNhbiBnZXQgcmVtb3Zl
ZC4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCBmb3JFYWNoTGluZSBuZWVkcyB0byBrbm93IHRvIGtl
ZXAgbG9vcGluZyBwYXN0IHRoYXQgbGluZSBudW1iZXIuCisKKyAgICAgICAgQWxzbywgbWFrZSBp
dCBzbyB0aGF0IHlvdSBjYW4ndCBsZWF2ZSBjb21tZW50cyBvbiBjb250ZXh0IGxpbmVzLgorCisg
ICAgICAgICogY29kZS1yZXZpZXctdGVzdC5odG1sOgorICAgICAgICAqIGNvZGUtcmV2aWV3Lmpz
OgorCiAyMDEyLTEyLTMwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBQcmV0dHlEaWZmLnJiIGZhaWxzIHRvIHJlbmRlciBpbWFnZSBkaWZmcyB3aXRo
IFJ1YnkgMS45LjNwMTk0CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29k
ZS1yZXZpZXctdGVzdC5odG1sIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3
LXRlc3QuaHRtbAppbmRleCAxNWZlN2UzNTE1NTZhNGIyZjQ1NGRkNTY5M2ZlMmQwNWViMjBmZGI3
Li4yNTNiMzRjZmI2YjQwYWQ3NjAyNDY3ZWZiNGE4ZmMwNTAxMDEwZDYwIDEwMDY0NAotLS0gYS9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXctdGVzdC5odG1sCisrKyBiL1dlYnNp
dGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy10ZXN0Lmh0bWwKQEAgLTMwMyw3ICszMDMs
NiBAQCBmdW5jdGlvbiB0ZXN0U2lkZUJ5U2lkZURpZmZXaXRoUHJldmlvdXNDb21tZW50c09uU2hh
cmVkTGluZSgpIHsKICAgICAgICAgJzwvZGl2PicgKwogICAgICAgJzwvZGl2Pic7CiAKLSAgbmV4
dF9saW5lX2lkID0gMDsKICAgZXJhc2VEcmFmdENvbW1lbnRzKCk7CiAgIGNyYXdsRGlmZigpOwog
CkBAIC00MDEsNiArNDAwLDYxIEBAIGZ1bmN0aW9uIHRlc3RJc0NoYW5nZUxvZygpIHsKICAgQVNT
RVJUKCJDaGFuZ2VMb2ctc2NyaXB0IGlzIG5vdCBhIENoYW5nZUxvZyBmaWxlIiwgIWlzQ2hhbmdl
TG9nKCJUb29scy9TY3JpcHRzL0NoYW5nZUxvZy1zY3JpcHQiKSk7CiB9CiAKK2Z1bmN0aW9uIHRl
c3RTYXZlQ29tbWVudHNXaXRoTWlzc2luZ0xpbmVJZHMoKSB7CisgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdkaWZmLWNvbnRlbnQnKS5pbm5lckhUTUwgPQorICAgICAgJzxkaXYgY2xhc3M9IkZp
bGVEaWZmIj4nICsKKyAgICAgICAgJzxoMT48YSBocmVmPSJodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2Jyb3dzZXIvdHJ1bmsvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIj5Tb3VyY2UvV2ViQ29yZS9k
dW1teS50eHQ8L2E+PC9oMT4nICsKKyAgICAgICAgJzxkaXYgY2xhc3M9IkRpZmZTZWN0aW9uIj4n
ICsKKyAgICAgICAgICAnPGRpdiBjbGFzcz0iRGlmZkJsb2NrIj4nICsKKyAgICAgICAgICAgICc8
ZGl2IGNsYXNzPSJEaWZmQmxvY2tQYXJ0IHNoYXJlZCI+JyArCisgICAgICAgICAgICAgICc8ZGl2
IGNsYXNzPSJMaW5lIExpbmVDb250YWluZXIiPicgKworICAgICAgICAgICAgICAnPHNwYW4gY2xh
c3M9ImZyb20gbGluZU51bWJlciI+Njwvc3Bhbj48c3BhbiBjbGFzcz0idG8gbGluZU51bWJlciI+
ODwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dCI+YTwvc3Bhbj4nICsKKyAgICAgICAgICAgICAgJzwv
ZGl2PicgKworICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBMaW5lQ29udGFpbmVyIj4n
ICsKKyAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxpbmVOdW1iZXIiPjc8L3NwYW4+
PHNwYW4gY2xhc3M9InRvIGxpbmVOdW1iZXIiPjk8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQiPmI8
L3NwYW4+JyArCisgICAgICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAgICAgICAgJzxkaXYg
Y2xhc3M9IkxpbmUgTGluZUNvbnRhaW5lciI+JyArCisgICAgICAgICAgICAgICc8c3BhbiBjbGFz
cz0iZnJvbSBsaW5lTnVtYmVyIj44PC9zcGFuPjxzcGFuIGNsYXNzPSJ0byBsaW5lTnVtYmVyIj4x
MDwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dCI+Yzwvc3Bhbj4nICsKKyAgICAgICAgICAgICAgJzwv
ZGl2PicgKworICAgICAgICAgICAgJzwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyX2Zsb2F0Ij4nICsK
KyAgICAgICAgICAnPC9kaXY+JyArCisgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAgJzxkaXYg
Y2xhc3M9IkRpZmZTZWN0aW9uIj4nICsKKyAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBMaW5l
Q29udGFpbmVyIGNvbnRleHQiPicgKworICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxp
bmVOdW1iZXIiPkA8L3NwYW4+PHNwYW4gY2xhc3M9InRvIGxpbmVOdW1iZXIiPkA8L3NwYW4+PHNw
YW4gY2xhc3M9InRleHQiPnN0YXRpYyB2b2lkIHdpbGxSZW1vdmVDaGlsZHJlbihDb250YWluZXJO
b2RlKiBjb250YWluZXIpPC9zcGFuPicgKworICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAg
ICAnPGRpdiBjbGFzcz0iRGlmZkJsb2NrIj4nICsKKyAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJE
aWZmQmxvY2tQYXJ0IHNoYXJlZCI+JyArCisgICAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBM
aW5lQ29udGFpbmVyIj4nICsKKyAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxpbmVO
dW1iZXIiPjE1PC9zcGFuPjxzcGFuIGNsYXNzPSJ0byBsaW5lTnVtYmVyIj4xNzwvc3Bhbj48c3Bh
biBjbGFzcz0idGV4dCI+ZDwvc3Bhbj4nICsKKyAgICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAg
ICAgICAnPC9kaXY+PGRpdiBjbGFzcz0iY2xlYXJfZmxvYXQiPjwvZGl2PjwvZGl2PicgKworICAg
ICAgICAnPC9kaXY+JyArCisgICAgICAnPC9kaXY+JzsKKworICB2YXIgZmlsZV9uYW1lID0gIlNv
dXJjZS9XZWJDb3JlL2R1bW15LnR4dCI7CisgIHZhciBmaWxlX2NvbnRlbnRzID0gW107CisgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMjA7IGkrKykKKyAgICBmaWxlX2NvbnRlbnRzW2ldID0gaTsKKyAg
c2V0RmlsZUNvbnRlbnRzKGZpbGVfbmFtZSwgZmlsZV9jb250ZW50cywgZmlsZV9jb250ZW50cyk7
CisKKyAgZXJhc2VEcmFmdENvbW1lbnRzKCk7CisgIGNyYXdsRGlmZigpOworCisgIHZhciBuZXdf
Y29tbWVudCA9IGFkZENvbW1lbnRGb3IoJCgnI2xpbmU0JykpOworICBuZXdfY29tbWVudC5maW5k
KCd0ZXh0YXJlYScpLnZhbCgiZHVtbXkgY29udGVudCIpOworICBhY2NlcHRDb21tZW50KG5ld19j
b21tZW50KTsKKworICAkKCcuRXhwYW5kTGluaycpWzBdLmNsaWNrKCk7CisKKyAgQVNTRVJUX0VR
VUFMKHNlcmlhbGl6ZWRDb21tZW50cygpLAorICAgICdWaWV3IGluIGNvbnRleHQ6IGZpbGU6Ly8v
d29yay9Ecm9wYm94L29sZC1jb2RlL2NvZGVyZXZpZXcvY29kZS1yZXZpZXctdGVzdC5odG1sXG5c
bicgKworICAgICc+IFNvdXJjZS9XZWJDb3JlL2R1bW15LnR4dDoxN1xuXG5cbicgKworICAgICdk
dW1teSBjb250ZW50Jyk7CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaWZmLWNvbnRlbnQn
KS5pbm5lckhUTUwgPSAnJzsKK30KKworCiBmb3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsK
ICAgaWYgKHByb3BlcnR5LmluZGV4T2YoJ3Rlc3QnKSA9PSAwKSB7CiAgICAgd2luZG93W3Byb3Bl
cnR5XSgpOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3
LmpzIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCmluZGV4IDQxMmZh
MTkxNjYxOTA4MzQyYzg4NTFmZjU4YTZhZTg4MGVlNzcxOWUuLjRmNjE4NzhjN2E3OGYzOTZlY2Qz
ZjA0NmJhZWQzYzZmMjg0ODkxOTUgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9y
Zy9jb2RlLXJldmlldy5qcworKysgYi9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZp
ZXcuanMKQEAgLTcyLDYgKzcyLDcgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICB2YXIg
V0VCS0lUX0JBU0VfRElSID0gImh0dHA6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtp
dC90cnVuay8iOwogICB2YXIgU0lERV9CWV9TSURFX0RJRkZTX0tFWSA9ICdzaWRlYnlzaWRlZGlm
ZnMnOwogICB2YXIgZ19kaXNwbGF5ZWRfZHJhZnRfY29tbWVudHMgPSBmYWxzZTsKKyAgdmFyIGdf
bmV4dF9saW5lX2lkID0gMDsKICAgdmFyIEtFWV9DT0RFID0gewogICAgIGRvd246IDQwLAogICAg
IGVudGVyOiAxMywKQEAgLTkwLDEzICs5MSwxMSBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7
CiAKICAgZnVuY3Rpb24gZm9yRWFjaExpbmUoY2FsbGJhY2spIHsKICAgICB2YXIgaSA9IDA7Ci0g
ICAgdmFyIGxpbmU7Ci0gICAgZG8gewotICAgICAgbGluZSA9ICQoJyMnICsgaWRGb3JMaW5lKGkp
KTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGdfbmV4dF9saW5lX2lkOyBpKyspIHsKKyAgICAg
IHZhciBsaW5lID0gJCgnIycgKyBpZEZvckxpbmUoaSkpOwogICAgICAgaWYgKGxpbmVbMF0pCiAg
ICAgICAgIGNhbGxiYWNrKGxpbmUpOwotICAgICAgaSsrOwotICAgIH0gd2hpbGUgKGxpbmVbMF0p
OworICAgIH0KICAgfQogCiAgIGZ1bmN0aW9uIGhvdmVyaWZ5KCkgewpAQCAtNTk3LDkgKzU5Niw5
IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgfQogCiAgIGZ1bmN0aW9uIGNyYXdsRGlm
ZigpIHsKLSAgICB2YXIgbmV4dF9saW5lX2lkID0gMDsKKyAgICBnX25leHRfbGluZV9pZCA9IDA7
CiAgICAgdmFyIGlkaWZ5ID0gZnVuY3Rpb24oKSB7Ci0gICAgICB0aGlzLmlkID0gaWRGb3JMaW5l
KG5leHRfbGluZV9pZCsrKTsKKyAgICAgIHRoaXMuaWQgPSBpZEZvckxpbmUoZ19uZXh0X2xpbmVf
aWQrKyk7CiAgICAgfQogCiAgICAgJCgnLkxpbmUnKS5lYWNoKGlkaWZ5KS5lYWNoKGhvdmVyaWZ5
KTsKQEAgLTc0MCwxMCArNzM5LDE1IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICBy
ZXR1cm4gcmV2aXNpb25bMF0gPyByZXZpc2lvbi5maXJzdCgpLnRleHQoKSA6IG51bGw7CiAgIH0K
IAorICBmdW5jdGlvbiBzZXRGaWxlQ29udGVudHMoZmlsZV9uYW1lLCBvcmlnaW5hbF9jb250ZW50
cywgcGF0Y2hlZF9jb250ZW50cykgeworICAgIG9yaWdpbmFsX2ZpbGVfY29udGVudHNbZmlsZV9u
YW1lXSA9IG9yaWdpbmFsX2NvbnRlbnRzOworICAgIHBhdGNoZWRfZmlsZV9jb250ZW50c1tmaWxl
X25hbWVdID0gcGF0Y2hlZF9jb250ZW50czsKKyAgfQorCiAgIGZ1bmN0aW9uIGdldFdlYktpdFNv
dXJjZUZpbGUoZmlsZV9uYW1lLCBvbkxvYWQsIGV4cGFuZF9iYXIpIHsKICAgICBmdW5jdGlvbiBo
YW5kbGVMb2FkKGNvbnRlbnRzKSB7Ci0gICAgICBvcmlnaW5hbF9maWxlX2NvbnRlbnRzW2ZpbGVf
bmFtZV0gPSBjb250ZW50cy5zcGxpdCgnXG4nKTsKLSAgICAgIHBhdGNoZWRfZmlsZV9jb250ZW50
c1tmaWxlX25hbWVdID0gYXBwbHlEaWZmKG9yaWdpbmFsX2ZpbGVfY29udGVudHNbZmlsZV9uYW1l
XSwgZmlsZV9uYW1lKTsKKyAgICAgIHZhciBzcGxpdF9jb250ZW50cyA9IGNvbnRlbnRzLnNwbGl0
KCdcbicpOworICAgICAgc2V0RmlsZUNvbnRlbnRzKGZpbGVfbmFtZSwgc3BsaXRfY29udGVudHMs
IGFwcGx5RGlmZihzcGxpdF9jb250ZW50cywgZmlsZV9uYW1lKSk7CiAgICAgICBvbkxvYWQoKTsK
ICAgICB9OwogCkBAIC0xMzYxLDggKzEzNjUsMTAgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNU
OwogCiAgICAgJChsaW5lKS5yZXBsYWNlV2l0aChuZXdfbGluZSk7CiAKLSAgICB2YXIgbGluZSA9
ICQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKTsKLSAgICBsaW5lLmFmdGVyKGNvbW1lbnRz
VG9UcmFuc2ZlckZvcihsaW5lKSk7CisgICAgaWYgKCFsaW5lLmNsYXNzTGlzdC5jb250YWlucygn
Y29udGV4dCcpKSB7CisgICAgICB2YXIgbGluZSA9ICQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWQpKTsKKyAgICAgIGxpbmUuYWZ0ZXIoY29tbWVudHNUb1RyYW5zZmVyRm9yKGxpbmUpKTsKKyAg
ICB9CiAgIH0KIAogICBmdW5jdGlvbiBjb252ZXJ0RXhwYW5zaW9uTGluZShkaWZmX3R5cGUsIGxp
bmUpIHsKQEAgLTE4MTcsOSArMTgyMywxMSBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAK
ICAgJCgnLmxpbmVOdW1iZXInKS5saXZlKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICB2YXIg
bGluZSA9IGxpbmVGcm9tTGluZURlc2NlbmRhbnQoJCh0aGlzKSk7Ci0gICAgaWYgKGxpbmUuaGFz
Q2xhc3MoJ2NvbW1lbnRDb250ZXh0JykpCi0gICAgICB0cmltQ29tbWVudENvbnRleHRUb0JlZm9y
ZShwcmV2aW91c0xpbmVGb3IobGluZSksIGxpbmUuYXR0cignZGF0YS1jb21tZW50LWJhc2UtbGlu
ZScpKTsKLSAgICBlbHNlIGlmIChlLnNoaWZ0S2V5KQorICAgIGlmIChsaW5lLmhhc0NsYXNzKCdj
b21tZW50Q29udGV4dCcpKSB7CisgICAgICB2YXIgcHJldmlvdXNfbGluZSA9IHByZXZpb3VzTGlu
ZUZvcihsaW5lKTsKKyAgICAgIGlmIChwcmV2aW91c19saW5lWzBdKQorICAgICAgICB0cmltQ29t
bWVudENvbnRleHRUb0JlZm9yZShwcmV2aW91c19saW5lLCBsaW5lLmF0dHIoJ2RhdGEtY29tbWVu
dC1iYXNlLWxpbmUnKSk7CisgICAgfSBlbHNlIGlmIChlLnNoaWZ0S2V5KQogICAgICAgZXh0ZW5k
Q29tbWVudENvbnRleHRUbyhsaW5lKTsKICAgfSkubGl2ZSgnbW91c2Vkb3duJywgZnVuY3Rpb24o
ZSkgewogICAgIC8vIHByZXZlbnREZWZhdWx0IHRvIGF2b2lkIHNlbGVjdGluZyB0ZXh0IHdoZW4g
ZHJhZ2dpbmcgdG8gc2VsZWN0IGNvbW1lbnQgY29udGV4dCBsaW5lcy4KQEAgLTE4MjksMTEgKzE4
MzcsMTQgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgICAgcmV0dXJuOwogCiAgICAg
dmFyIGxpbmUgPSBsaW5lRnJvbUxpbmVEZXNjZW5kYW50KCQodGhpcykpOworICAgIGlmIChsaW5l
Lmhhc0NsYXNzKCdjb250ZXh0JykpCisgICAgICByZXR1cm47CisKICAgICBkcmFnX3NlbGVjdF9z
dGFydF9pbmRleCA9IG51bWJlckZyb20obGluZS5hdHRyKCdpZCcpKTsKICAgICBsaW5lLmFkZENs
YXNzKCdzZWxlY3RlZCcpOwogICB9KTsKIAotICAkKCcuTGluZUNvbnRhaW5lcicpLmxpdmUoJ21v
dXNlZW50ZXInLCBmdW5jdGlvbihlKSB7CisgICQoJy5MaW5lQ29udGFpbmVyOm5vdCguY29udGV4
dCknKS5saXZlKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oZSkgewogICAgIGlmIChkcmFnX3NlbGVj
dF9zdGFydF9pbmRleCA9PSAtMSB8fCBlLnNoaWZ0S2V5KQogICAgICAgcmV0dXJuOwogICAgIHNl
bGVjdFRvTGluZUNvbnRhaW5lcih0aGlzKTsKQEAgLTIwMzMsNyArMjA0NCw3IEBAIHZhciBDT0RF
X1JFVklFV19VTklUVEVTVDsKIAogICAkKCcjY29tbWVudF9mb3JtIC53aW50ZXInKS5saXZlKCdj
bGljaycsIGhpZGVDb21tZW50Rm9ybSk7CiAKLSAgZnVuY3Rpb24gZmlsbEluUmV2aWV3Rm9ybSgp
IHsKKyAgZnVuY3Rpb24gc2VyaWFsaXplZENvbW1lbnRzKCkgewogICAgIHZhciBjb21tZW50c19p
bl9jb250ZXh0ID0gW10KICAgICBmb3JFYWNoTGluZShmdW5jdGlvbihsaW5lKSB7CiAgICAgICBp
ZiAobGluZS5hdHRyKCdkYXRhLWhhcy1jb21tZW50JykgIT0gJ3RydWUnKQpAQCAtMjA1Nyw4ICsy
MDY4LDEyIEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICBjb21tZW50ICs9IGNvbW1l
bnRzX2luX2NvbnRleHQuam9pbignXG5cbicpOwogICAgIGlmIChjb21tZW50c19pbl9jb250ZXh0
Lmxlbmd0aCA+IDApCiAgICAgICBjb21tZW50ID0gJ1ZpZXcgaW4gY29udGV4dDogJyArIHdpbmRv
dy5sb2NhdGlvbiArICdcblxuJyArIGNvbW1lbnQ7CisgICAgcmV0dXJuIGNvbW1lbnQ7CisgIH0K
KworICBmdW5jdGlvbiBmaWxsSW5SZXZpZXdGb3JtKCkgewogICAgIHZhciByZXZpZXdfZm9ybSA9
ICQoJyNyZXZpZXdmb3JtJykuY29udGVudHMoKTsKLSAgICByZXZpZXdfZm9ybS5maW5kKCcjY29t
bWVudCcpLnZhbChjb21tZW50KTsKKyAgICByZXZpZXdfZm9ybS5maW5kKCcjY29tbWVudCcpLnZh
bChzZXJpYWxpemVkQ29tbWVudHMoKSk7CiAgICAgcmV2aWV3X2Zvcm0uZmluZCgnI2ZsYWdzIHNl
bGVjdCcpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICB2YXIgY29udHJvbCA9IGZpbmRDb250cm9s
Rm9yRmxhZyh0aGlzKTsKICAgICAgIGlmICghY29udHJvbC5zaXplKCkpCkBAIC0yMDkyLDYgKzIx
MDcsNyBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgIAogICBpZiAoQ09ERV9SRVZJRVdf
VU5JVFRFU1QpIHsKICAgICB3aW5kb3cuRHJhZnRDb21tZW50U2F2ZXIgPSBEcmFmdENvbW1lbnRT
YXZlcjsKKyAgICB3aW5kb3cuYWRkQ29tbWVudEZvciA9IGFkZENvbW1lbnRGb3I7CiAgICAgd2lu
ZG93LmFkZFByZXZpb3VzQ29tbWVudCA9IGFkZFByZXZpb3VzQ29tbWVudDsKICAgICB3aW5kb3cu
dHJhY0xpbmtzID0gdHJhY0xpbmtzOwogICAgIHdpbmRvdy5jcmF3bERpZmYgPSBjcmF3bERpZmY7
CkBAIC0yMTAzLDYgKzIxMTksOCBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgd2lu
ZG93LmFjY2VwdENvbW1lbnQgPSBhY2NlcHRDb21tZW50OwogICAgIHdpbmRvdy5hcHBlbmRUb29s
YmFyID0gYXBwZW5kVG9vbGJhcjsKICAgICB3aW5kb3cuZXJhc2VEcmFmdENvbW1lbnRzID0gZXJh
c2VEcmFmdENvbW1lbnRzOworICAgIHdpbmRvdy5zZXJpYWxpemVkQ29tbWVudHMgPSBzZXJpYWxp
emVkQ29tbWVudHM7CisgICAgd2luZG93LnNldEZpbGVDb250ZW50cyA9IHNldEZpbGVDb250ZW50
czsKICAgICB3aW5kb3cudW5mcmVlemVDb21tZW50ID0gdW5mcmVlemVDb21tZW50OwogICAgIHdp
bmRvdy5nX2RyYWZ0Q29tbWVudFNhdmVyID0gZ19kcmFmdENvbW1lbnRTYXZlcjsKICAgICB3aW5k
b3cuaXNDaGFuZ2VMb2cgPSBpc0NoYW5nZUxvZzsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181071</attachid>
            <date>2013-01-02 14:40:53 -0800</date>
            <delta_ts>2013-01-02 14:44:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105252-20130102143801.patch</filename>
            <type>text/plain</type>
            <size>9427</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NjIyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCAxZTYxMTk2OTgwNGJjZDU2NTJiZmU0YmEyMWI4NWY4OGQzYTIwNWUyLi4zMWQxMTcxYmNl
Zjk0YWEwMWM4MjIwYjUwNzMzOWI2YWNmMmQwM2Y4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9idWdz
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMS0wMiAgT2phbiBWYWZhaSAgPG9qYW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJFR1JFU1NJT046IFJldmlldyB0b29sIHNvbWV0aW1lcyBk
b2Vzbid0IGluY2x1ZGUgc29tZSBjb21tZW50cyBpbiBwcmV2aWV3ICYgcG9zdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTI1MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGNvbnRl
eHQsIHRoZSBMaW5lQ29udGFpbmVyIGZvciB0aGUgY29udGV4dCBsaW5lIGNhbiBnZXQgcmVtb3Zl
ZC4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCBmb3JFYWNoTGluZSBuZWVkcyB0byBrbm93IHRvIGtl
ZXAgbG9vcGluZyBwYXN0IHRoYXQgbGluZSBudW1iZXIuCisKKyAgICAgICAgQWxzbywgbWFrZSBp
dCBzbyB0aGF0IHlvdSBjYW4ndCBsZWF2ZSBjb21tZW50cyBvbiBjb250ZXh0IGxpbmVzLgorCisg
ICAgICAgICogY29kZS1yZXZpZXctdGVzdC5odG1sOgorICAgICAgICAqIGNvZGUtcmV2aWV3Lmpz
OgorCiAyMDEyLTEyLTMwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
IAogICAgICAgICBQcmV0dHlEaWZmLnJiIGZhaWxzIHRvIHJlbmRlciBpbWFnZSBkaWZmcyB3aXRo
IFJ1YnkgMS45LjNwMTk0CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29k
ZS1yZXZpZXctdGVzdC5odG1sIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3
LXRlc3QuaHRtbAppbmRleCAxNWZlN2UzNTE1NTZhNGIyZjQ1NGRkNTY5M2ZlMmQwNWViMjBmZGI3
Li5kMjQ2OWJhNjBhN2QxMzIzYWI2ODVkNTZjNWJmNzAzMzdmMzc2YTQ1IDEwMDY0NAotLS0gYS9X
ZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1yZXZpZXctdGVzdC5odG1sCisrKyBiL1dlYnNp
dGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy10ZXN0Lmh0bWwKQEAgLTMwMyw3ICszMDMs
NiBAQCBmdW5jdGlvbiB0ZXN0U2lkZUJ5U2lkZURpZmZXaXRoUHJldmlvdXNDb21tZW50c09uU2hh
cmVkTGluZSgpIHsKICAgICAgICAgJzwvZGl2PicgKwogICAgICAgJzwvZGl2Pic7CiAKLSAgbmV4
dF9saW5lX2lkID0gMDsKICAgZXJhc2VEcmFmdENvbW1lbnRzKCk7CiAgIGNyYXdsRGlmZigpOwog
CkBAIC00MDEsNiArNDAwLDYyIEBAIGZ1bmN0aW9uIHRlc3RJc0NoYW5nZUxvZygpIHsKICAgQVNT
RVJUKCJDaGFuZ2VMb2ctc2NyaXB0IGlzIG5vdCBhIENoYW5nZUxvZyBmaWxlIiwgIWlzQ2hhbmdl
TG9nKCJUb29scy9TY3JpcHRzL0NoYW5nZUxvZy1zY3JpcHQiKSk7CiB9CiAKK2Z1bmN0aW9uIHRl
c3RTYXZlQ29tbWVudHNXaXRoTWlzc2luZ0xpbmVJZHMoKSB7CisgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdkaWZmLWNvbnRlbnQnKS5pbm5lckhUTUwgPQorICAgICAgJzxkaXYgY2xhc3M9IkZp
bGVEaWZmIj4nICsKKyAgICAgICAgJzxoMT48YSBocmVmPSJodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2Jyb3dzZXIvdHJ1bmsvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIj5Tb3VyY2UvV2ViQ29yZS9k
dW1teS50eHQ8L2E+PC9oMT4nICsKKyAgICAgICAgJzxkaXYgY2xhc3M9IkRpZmZTZWN0aW9uIj4n
ICsKKyAgICAgICAgICAnPGRpdiBjbGFzcz0iRGlmZkJsb2NrIj4nICsKKyAgICAgICAgICAgICc8
ZGl2IGNsYXNzPSJEaWZmQmxvY2tQYXJ0IHNoYXJlZCI+JyArCisgICAgICAgICAgICAgICc8ZGl2
IGNsYXNzPSJMaW5lIExpbmVDb250YWluZXIiPicgKworICAgICAgICAgICAgICAnPHNwYW4gY2xh
c3M9ImZyb20gbGluZU51bWJlciI+Njwvc3Bhbj48c3BhbiBjbGFzcz0idG8gbGluZU51bWJlciI+
ODwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dCI+YTwvc3Bhbj4nICsKKyAgICAgICAgICAgICAgJzwv
ZGl2PicgKworICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBMaW5lQ29udGFpbmVyIj4n
ICsKKyAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxpbmVOdW1iZXIiPjc8L3NwYW4+
PHNwYW4gY2xhc3M9InRvIGxpbmVOdW1iZXIiPjk8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQiPmI8
L3NwYW4+JyArCisgICAgICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAgICAgICAgJzxkaXYg
Y2xhc3M9IkxpbmUgTGluZUNvbnRhaW5lciI+JyArCisgICAgICAgICAgICAgICc8c3BhbiBjbGFz
cz0iZnJvbSBsaW5lTnVtYmVyIj44PC9zcGFuPjxzcGFuIGNsYXNzPSJ0byBsaW5lTnVtYmVyIj4x
MDwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dCI+Yzwvc3Bhbj4nICsKKyAgICAgICAgICAgICAgJzwv
ZGl2PicgKworICAgICAgICAgICAgJzwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyX2Zsb2F0Ij4nICsK
KyAgICAgICAgICAnPC9kaXY+JyArCisgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAgJzxkaXYg
Y2xhc3M9IkRpZmZTZWN0aW9uIj4nICsKKyAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBMaW5l
Q29udGFpbmVyIGNvbnRleHQiPicgKworICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxp
bmVOdW1iZXIiPkA8L3NwYW4+PHNwYW4gY2xhc3M9InRvIGxpbmVOdW1iZXIiPkA8L3NwYW4+PHNw
YW4gY2xhc3M9InRleHQiPnN0YXRpYyB2b2lkIHdpbGxSZW1vdmVDaGlsZHJlbihDb250YWluZXJO
b2RlKiBjb250YWluZXIpPC9zcGFuPicgKworICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAgICAg
ICAnPGRpdiBjbGFzcz0iRGlmZkJsb2NrIj4nICsKKyAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJE
aWZmQmxvY2tQYXJ0IHNoYXJlZCI+JyArCisgICAgICAgICAgICAnPGRpdiBjbGFzcz0iTGluZSBM
aW5lQ29udGFpbmVyIj4nICsKKyAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmcm9tIGxpbmVO
dW1iZXIiPjE1PC9zcGFuPjxzcGFuIGNsYXNzPSJ0byBsaW5lTnVtYmVyIj4xNzwvc3Bhbj48c3Bh
biBjbGFzcz0idGV4dCI+ZDwvc3Bhbj4nICsKKyAgICAgICAgICAgICc8L2Rpdj4nICsKKyAgICAg
ICAgICAnPC9kaXY+PGRpdiBjbGFzcz0iY2xlYXJfZmxvYXQiPjwvZGl2PjwvZGl2PicgKworICAg
ICAgICAnPC9kaXY+JyArCisgICAgICAnPC9kaXY+JzsKKworICB2YXIgZmlsZV9uYW1lID0gIlNv
dXJjZS9XZWJDb3JlL2R1bW15LnR4dCI7CisgIHZhciBmaWxlX2NvbnRlbnRzID0gW107CisgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMjA7IGkrKykKKyAgICBmaWxlX2NvbnRlbnRzW2ldID0gaTsKKyAg
c2V0RmlsZUNvbnRlbnRzKGZpbGVfbmFtZSwgZmlsZV9jb250ZW50cywgZmlsZV9jb250ZW50cyk7
CisKKyAgZXJhc2VEcmFmdENvbW1lbnRzKCk7CisgIGNyYXdsRGlmZigpOworCisgIHZhciBuZXdf
Y29tbWVudCA9IGFkZENvbW1lbnRGb3IoJCgnI2xpbmU0JykpOworICBuZXdfY29tbWVudC5maW5k
KCd0ZXh0YXJlYScpLnZhbCgiZHVtbXkgY29udGVudCIpOworICBhY2NlcHRDb21tZW50KG5ld19j
b21tZW50KTsKKworICAkKCcuRXhwYW5kTGluaycpWzBdLmNsaWNrKCk7CisKKyAgLy8gU3RyaXAg
dGhlIGxpbmsgdG8gdGhlIGNvbnRleHQgc2luY2UgdGhhdCBwb2ludHMgdG8gd2luZG93LmxvY2F0
aW9uLgorICBBU1NFUlRfRVFVQUwoc2VyaWFsaXplZENvbW1lbnRzKCkucmVwbGFjZSgvVmlldyBp
biBjb250ZXh0Lipjb2RlLXJldmlldy10ZXN0Lmh0bWwvLCAnJyksCisgICAgJ1xuXG4nICsKKyAg
ICAnPiBTb3VyY2UvV2ViQ29yZS9kdW1teS50eHQ6MTdcblxuXG4nICsKKyAgICAnZHVtbXkgY29u
dGVudCcpOworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlmZi1jb250ZW50JykuaW5uZXJI
VE1MID0gJyc7Cit9CisKKwogZm9yICh2YXIgcHJvcGVydHkgaW4gd2luZG93KSB7CiAgIGlmIChw
cm9wZXJ0eS5pbmRleE9mKCd0ZXN0JykgPT0gMCkgewogICAgIHdpbmRvd1twcm9wZXJ0eV0oKTsK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcyBiL1dl
YnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb2RlLXJldmlldy5qcwppbmRleCA0MTJmYTE5MTY2MTkw
ODM0MmM4ODUxZmY1OGE2YWU4ODBlZTc3MTllLi40ZjYxODc4YzdhNzhmMzk2ZWNkM2YwNDZiYWVk
M2M2ZjI4NDg5MTk1IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29kZS1y
ZXZpZXcuanMKKysrIGIvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvZGUtcmV2aWV3LmpzCkBA
IC03Miw2ICs3Miw3IEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgdmFyIFdFQktJVF9C
QVNFX0RJUiA9ICJodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmsv
IjsKICAgdmFyIFNJREVfQllfU0lERV9ESUZGU19LRVkgPSAnc2lkZWJ5c2lkZWRpZmZzJzsKICAg
dmFyIGdfZGlzcGxheWVkX2RyYWZ0X2NvbW1lbnRzID0gZmFsc2U7CisgIHZhciBnX25leHRfbGlu
ZV9pZCA9IDA7CiAgIHZhciBLRVlfQ09ERSA9IHsKICAgICBkb3duOiA0MCwKICAgICBlbnRlcjog
MTMsCkBAIC05MCwxMyArOTEsMTEgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogCiAgIGZ1
bmN0aW9uIGZvckVhY2hMaW5lKGNhbGxiYWNrKSB7CiAgICAgdmFyIGkgPSAwOwotICAgIHZhciBs
aW5lOwotICAgIGRvIHsKLSAgICAgIGxpbmUgPSAkKCcjJyArIGlkRm9yTGluZShpKSk7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBnX25leHRfbGluZV9pZDsgaSsrKSB7CisgICAgICB2YXIgbGlu
ZSA9ICQoJyMnICsgaWRGb3JMaW5lKGkpKTsKICAgICAgIGlmIChsaW5lWzBdKQogICAgICAgICBj
YWxsYmFjayhsaW5lKTsKLSAgICAgIGkrKzsKLSAgICB9IHdoaWxlIChsaW5lWzBdKTsKKyAgICB9
CiAgIH0KIAogICBmdW5jdGlvbiBob3ZlcmlmeSgpIHsKQEAgLTU5Nyw5ICs1OTYsOSBAQCB2YXIg
Q09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgIH0KIAogICBmdW5jdGlvbiBjcmF3bERpZmYoKSB7Ci0g
ICAgdmFyIG5leHRfbGluZV9pZCA9IDA7CisgICAgZ19uZXh0X2xpbmVfaWQgPSAwOwogICAgIHZh
ciBpZGlmeSA9IGZ1bmN0aW9uKCkgewotICAgICAgdGhpcy5pZCA9IGlkRm9yTGluZShuZXh0X2xp
bmVfaWQrKyk7CisgICAgICB0aGlzLmlkID0gaWRGb3JMaW5lKGdfbmV4dF9saW5lX2lkKyspOwog
ICAgIH0KIAogICAgICQoJy5MaW5lJykuZWFjaChpZGlmeSkuZWFjaChob3ZlcmlmeSk7CkBAIC03
NDAsMTAgKzczOSwxNSBAQCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgcmV0dXJuIHJl
dmlzaW9uWzBdID8gcmV2aXNpb24uZmlyc3QoKS50ZXh0KCkgOiBudWxsOwogICB9CiAKKyAgZnVu
Y3Rpb24gc2V0RmlsZUNvbnRlbnRzKGZpbGVfbmFtZSwgb3JpZ2luYWxfY29udGVudHMsIHBhdGNo
ZWRfY29udGVudHMpIHsKKyAgICBvcmlnaW5hbF9maWxlX2NvbnRlbnRzW2ZpbGVfbmFtZV0gPSBv
cmlnaW5hbF9jb250ZW50czsKKyAgICBwYXRjaGVkX2ZpbGVfY29udGVudHNbZmlsZV9uYW1lXSA9
IHBhdGNoZWRfY29udGVudHM7CisgIH0KKwogICBmdW5jdGlvbiBnZXRXZWJLaXRTb3VyY2VGaWxl
KGZpbGVfbmFtZSwgb25Mb2FkLCBleHBhbmRfYmFyKSB7CiAgICAgZnVuY3Rpb24gaGFuZGxlTG9h
ZChjb250ZW50cykgewotICAgICAgb3JpZ2luYWxfZmlsZV9jb250ZW50c1tmaWxlX25hbWVdID0g
Y29udGVudHMuc3BsaXQoJ1xuJyk7Ci0gICAgICBwYXRjaGVkX2ZpbGVfY29udGVudHNbZmlsZV9u
YW1lXSA9IGFwcGx5RGlmZihvcmlnaW5hbF9maWxlX2NvbnRlbnRzW2ZpbGVfbmFtZV0sIGZpbGVf
bmFtZSk7CisgICAgICB2YXIgc3BsaXRfY29udGVudHMgPSBjb250ZW50cy5zcGxpdCgnXG4nKTsK
KyAgICAgIHNldEZpbGVDb250ZW50cyhmaWxlX25hbWUsIHNwbGl0X2NvbnRlbnRzLCBhcHBseURp
ZmYoc3BsaXRfY29udGVudHMsIGZpbGVfbmFtZSkpOwogICAgICAgb25Mb2FkKCk7CiAgICAgfTsK
IApAQCAtMTM2MSw4ICsxMzY1LDEwIEBAIHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKIAogICAg
ICQobGluZSkucmVwbGFjZVdpdGgobmV3X2xpbmUpOwogCi0gICAgdmFyIGxpbmUgPSAkKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGlkKSk7Ci0gICAgbGluZS5hZnRlcihjb21tZW50c1RvVHJhbnNm
ZXJGb3IobGluZSkpOworICAgIGlmICghbGluZS5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbnRleHQn
KSkgeworICAgICAgdmFyIGxpbmUgPSAkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSk7Cisg
ICAgICBsaW5lLmFmdGVyKGNvbW1lbnRzVG9UcmFuc2ZlckZvcihsaW5lKSk7CisgICAgfQogICB9
CiAKICAgZnVuY3Rpb24gY29udmVydEV4cGFuc2lvbkxpbmUoZGlmZl90eXBlLCBsaW5lKSB7CkBA
IC0xODE3LDkgKzE4MjMsMTEgQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogCiAgICQoJy5s
aW5lTnVtYmVyJykubGl2ZSgnY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgdmFyIGxpbmUgPSBs
aW5lRnJvbUxpbmVEZXNjZW5kYW50KCQodGhpcykpOwotICAgIGlmIChsaW5lLmhhc0NsYXNzKCdj
b21tZW50Q29udGV4dCcpKQotICAgICAgdHJpbUNvbW1lbnRDb250ZXh0VG9CZWZvcmUocHJldmlv
dXNMaW5lRm9yKGxpbmUpLCBsaW5lLmF0dHIoJ2RhdGEtY29tbWVudC1iYXNlLWxpbmUnKSk7Ci0g
ICAgZWxzZSBpZiAoZS5zaGlmdEtleSkKKyAgICBpZiAobGluZS5oYXNDbGFzcygnY29tbWVudENv
bnRleHQnKSkgeworICAgICAgdmFyIHByZXZpb3VzX2xpbmUgPSBwcmV2aW91c0xpbmVGb3IobGlu
ZSk7CisgICAgICBpZiAocHJldmlvdXNfbGluZVswXSkKKyAgICAgICAgdHJpbUNvbW1lbnRDb250
ZXh0VG9CZWZvcmUocHJldmlvdXNfbGluZSwgbGluZS5hdHRyKCdkYXRhLWNvbW1lbnQtYmFzZS1s
aW5lJykpOworICAgIH0gZWxzZSBpZiAoZS5zaGlmdEtleSkKICAgICAgIGV4dGVuZENvbW1lbnRD
b250ZXh0VG8obGluZSk7CiAgIH0pLmxpdmUoJ21vdXNlZG93bicsIGZ1bmN0aW9uKGUpIHsKICAg
ICAvLyBwcmV2ZW50RGVmYXVsdCB0byBhdm9pZCBzZWxlY3RpbmcgdGV4dCB3aGVuIGRyYWdnaW5n
IHRvIHNlbGVjdCBjb21tZW50IGNvbnRleHQgbGluZXMuCkBAIC0xODI5LDExICsxODM3LDE0IEBA
IHZhciBDT0RFX1JFVklFV19VTklUVEVTVDsKICAgICAgIHJldHVybjsKIAogICAgIHZhciBsaW5l
ID0gbGluZUZyb21MaW5lRGVzY2VuZGFudCgkKHRoaXMpKTsKKyAgICBpZiAobGluZS5oYXNDbGFz
cygnY29udGV4dCcpKQorICAgICAgcmV0dXJuOworCiAgICAgZHJhZ19zZWxlY3Rfc3RhcnRfaW5k
ZXggPSBudW1iZXJGcm9tKGxpbmUuYXR0cignaWQnKSk7CiAgICAgbGluZS5hZGRDbGFzcygnc2Vs
ZWN0ZWQnKTsKICAgfSk7CiAKLSAgJCgnLkxpbmVDb250YWluZXInKS5saXZlKCdtb3VzZWVudGVy
JywgZnVuY3Rpb24oZSkgeworICAkKCcuTGluZUNvbnRhaW5lcjpub3QoLmNvbnRleHQpJykubGl2
ZSgnbW91c2VlbnRlcicsIGZ1bmN0aW9uKGUpIHsKICAgICBpZiAoZHJhZ19zZWxlY3Rfc3RhcnRf
aW5kZXggPT0gLTEgfHwgZS5zaGlmdEtleSkKICAgICAgIHJldHVybjsKICAgICBzZWxlY3RUb0xp
bmVDb250YWluZXIodGhpcyk7CkBAIC0yMDMzLDcgKzIwNDQsNyBAQCB2YXIgQ09ERV9SRVZJRVdf
VU5JVFRFU1Q7CiAKICAgJCgnI2NvbW1lbnRfZm9ybSAud2ludGVyJykubGl2ZSgnY2xpY2snLCBo
aWRlQ29tbWVudEZvcm0pOwogCi0gIGZ1bmN0aW9uIGZpbGxJblJldmlld0Zvcm0oKSB7CisgIGZ1
bmN0aW9uIHNlcmlhbGl6ZWRDb21tZW50cygpIHsKICAgICB2YXIgY29tbWVudHNfaW5fY29udGV4
dCA9IFtdCiAgICAgZm9yRWFjaExpbmUoZnVuY3Rpb24obGluZSkgewogICAgICAgaWYgKGxpbmUu
YXR0cignZGF0YS1oYXMtY29tbWVudCcpICE9ICd0cnVlJykKQEAgLTIwNTcsOCArMjA2OCwxMiBA
QCB2YXIgQ09ERV9SRVZJRVdfVU5JVFRFU1Q7CiAgICAgY29tbWVudCArPSBjb21tZW50c19pbl9j
b250ZXh0LmpvaW4oJ1xuXG4nKTsKICAgICBpZiAoY29tbWVudHNfaW5fY29udGV4dC5sZW5ndGgg
PiAwKQogICAgICAgY29tbWVudCA9ICdWaWV3IGluIGNvbnRleHQ6ICcgKyB3aW5kb3cubG9jYXRp
b24gKyAnXG5cbicgKyBjb21tZW50OworICAgIHJldHVybiBjb21tZW50OworICB9CisKKyAgZnVu
Y3Rpb24gZmlsbEluUmV2aWV3Rm9ybSgpIHsKICAgICB2YXIgcmV2aWV3X2Zvcm0gPSAkKCcjcmV2
aWV3Zm9ybScpLmNvbnRlbnRzKCk7Ci0gICAgcmV2aWV3X2Zvcm0uZmluZCgnI2NvbW1lbnQnKS52
YWwoY29tbWVudCk7CisgICAgcmV2aWV3X2Zvcm0uZmluZCgnI2NvbW1lbnQnKS52YWwoc2VyaWFs
aXplZENvbW1lbnRzKCkpOwogICAgIHJldmlld19mb3JtLmZpbmQoJyNmbGFncyBzZWxlY3QnKS5l
YWNoKGZ1bmN0aW9uKCkgewogICAgICAgdmFyIGNvbnRyb2wgPSBmaW5kQ29udHJvbEZvckZsYWco
dGhpcyk7CiAgICAgICBpZiAoIWNvbnRyb2wuc2l6ZSgpKQpAQCAtMjA5Miw2ICsyMTA3LDcgQEAg
dmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAKICAgaWYgKENPREVfUkVWSUVXX1VOSVRURVNU
KSB7CiAgICAgd2luZG93LkRyYWZ0Q29tbWVudFNhdmVyID0gRHJhZnRDb21tZW50U2F2ZXI7Cisg
ICAgd2luZG93LmFkZENvbW1lbnRGb3IgPSBhZGRDb21tZW50Rm9yOwogICAgIHdpbmRvdy5hZGRQ
cmV2aW91c0NvbW1lbnQgPSBhZGRQcmV2aW91c0NvbW1lbnQ7CiAgICAgd2luZG93LnRyYWNMaW5r
cyA9IHRyYWNMaW5rczsKICAgICB3aW5kb3cuY3Jhd2xEaWZmID0gY3Jhd2xEaWZmOwpAQCAtMjEw
Myw2ICsyMTE5LDggQEAgdmFyIENPREVfUkVWSUVXX1VOSVRURVNUOwogICAgIHdpbmRvdy5hY2Nl
cHRDb21tZW50ID0gYWNjZXB0Q29tbWVudDsKICAgICB3aW5kb3cuYXBwZW5kVG9vbGJhciA9IGFw
cGVuZFRvb2xiYXI7CiAgICAgd2luZG93LmVyYXNlRHJhZnRDb21tZW50cyA9IGVyYXNlRHJhZnRD
b21tZW50czsKKyAgICB3aW5kb3cuc2VyaWFsaXplZENvbW1lbnRzID0gc2VyaWFsaXplZENvbW1l
bnRzOworICAgIHdpbmRvdy5zZXRGaWxlQ29udGVudHMgPSBzZXRGaWxlQ29udGVudHM7CiAgICAg
d2luZG93LnVuZnJlZXplQ29tbWVudCA9IHVuZnJlZXplQ29tbWVudDsKICAgICB3aW5kb3cuZ19k
cmFmdENvbW1lbnRTYXZlciA9IGdfZHJhZnRDb21tZW50U2F2ZXI7CiAgICAgd2luZG93LmlzQ2hh
bmdlTG9nID0gaXNDaGFuZ2VMb2c7Cg==
</data>
<flag name="review"
          id="198557"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>