<?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>45803</bug_id>
          
          <creation_ts>2010-09-14 21:05:59 -0700</creation_ts>
          <short_desc>Support keyboard operations for &lt;input type=range&gt;</short_desc>
          <delta_ts>2010-09-22 01:10:02 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</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>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>adele</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>279365</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-14 21:05:59 -0700</bug_when>
    <thetext>Support keyboard operations for &lt;input type=range&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279368</commentid>
    <comment_count>1</comment_count>
      <attachid>67640</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-14 21:11:15 -0700</bug_when>
    <thetext>Created attachment 67640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279540</commentid>
    <comment_count>2</comment_count>
      <attachid>67640</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-15 07:31:59 -0700</bug_when>
    <thetext>Comment on attachment 67640
Patch

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

Aren&apos;t you worried about the refactoring gods getting angry with you? :) This defaultEventHandler method is now nearly as long as the Ecclesiastes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282571</commentid>
    <comment_count>3</comment_count>
      <attachid>67640</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-21 14:50:09 -0700</bug_when>
    <thetext>Comment on attachment 67640
Patch

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

&gt; LayoutTests/ChangeLog:5
&gt; +        Support keyboard operations for &lt;input type=range&gt;

end in period

&gt; WebCore/ChangeLog:5
&gt; +        Support keyboard operations for &lt;input type=range&gt;

end in period.

&gt; WebCore/html/HTMLInputElement.cpp:2264
&gt; +        } else if (inputType() == RANGE) {

instead of making this if block even longer, i&apos;d suggest putting the RANGE code into another method for easing readability

&gt; WebCore/html/HTMLInputElement.cpp:2265
&gt; +            if (key == &quot;Up&quot; || key == &quot;Right&quot; || key == &quot;Down&quot; || key == &quot;Left&quot;) {

an early return would help here.

&gt; WebCore/html/HTMLInputElement.cpp:2281
&gt; +                        }

the previous 5 lines can be combined with the 5 lines in Down and Left

&gt; WebCore/html/HTMLInputElement.cpp:2296
&gt; +                        step = -1;

shouldn&apos;t step honor what&apos;s set in the &quot;stepAttr&quot; field?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282749</commentid>
    <comment_count>4</comment_count>
      <attachid>68333</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-21 20:11:57 -0700</bug_when>
    <thetext>Created attachment 68333
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282750</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-21 20:15:06 -0700</bug_when>
    <thetext>Thank you for reviewing.

(In reply to comment #3)
&gt; &gt; LayoutTests/ChangeLog:5
&gt; &gt; +        Support keyboard operations for &lt;input type=range&gt;
&gt; 
&gt; end in period

done.

&gt; &gt; WebCore/ChangeLog:5
&gt; &gt; +        Support keyboard operations for &lt;input type=range&gt;
&gt; 
&gt; end in period.

done.

&gt; &gt; WebCore/html/HTMLInputElement.cpp:2264
&gt; &gt; +        } else if (inputType() == RANGE) {
&gt; 
&gt; instead of making this if block even longer, i&apos;d suggest putting the RANGE code into another method for easing readability

done.

&gt; 
&gt; &gt; WebCore/html/HTMLInputElement.cpp:2265
&gt; &gt; +            if (key == &quot;Up&quot; || key == &quot;Right&quot; || key == &quot;Down&quot; || key == &quot;Left&quot;) {
&gt; 
&gt; an early return would help here.

done.

&gt; &gt; WebCore/html/HTMLInputElement.cpp:2281
&gt; &gt; +                        }
&gt; 
&gt; the previous 5 lines can be combined with the 5 lines in Down and Left

done.

&gt; &gt; WebCore/html/HTMLInputElement.cpp:2296
&gt; &gt; +                        step = -1;
&gt; 
&gt; shouldn&apos;t step honor what&apos;s set in the &quot;stepAttr&quot; field?

This code reflects stepAttr value because the parameter of stepUp() is a magnification.
I renamed &quot;step&quot; to &quot;stepMagnification&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282751</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-21 20:18:55 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=68333) [details]
&gt; Patch 2

The patch adds new call of deprecatedInputType().  It is going to be removed by Bug#45872.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282789</commentid>
    <comment_count>7</comment_count>
      <attachid>68333</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-21 23:49:53 -0700</bug_when>
    <thetext>Comment on attachment 68333
Patch 2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282826</commentid>
    <comment_count>8</comment_count>
      <attachid>68333</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-22 01:09:54 -0700</bug_when>
    <thetext>Comment on attachment 68333
Patch 2

Clearing flags on attachment: 68333

Committed r68024: &lt;http://trac.webkit.org/changeset/68024&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282827</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-22 01:10:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67640</attachid>
            <date>2010-09-14 21:11:15 -0700</date>
            <delta_ts>2010-09-21 20:11:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45803-20100915131113.patch</filename>
            <type>text/plain</type>
            <size>10524</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZmEwMWZkM2RhNTMxYmUzZTMxZjkwM2M1OWU5OTdhMDI0ZmM4NGJiLi43MjQ3NGY1
NGExNWQ1ZjQ5ZTI2YWVkMWJlOGEwYTUzMmNiMGE0OThlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMTQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQga2V5Ym9hcmQg
b3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9cmFuZ2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTgwMworCisgICAgICAgICogZmFzdC9mb3Jtcy9y
YW5nZS1rZXlvcGVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3JhbmdlLWtleW9wZXJhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMC0wOS0xNCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS1rZXlvcGVyYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS1rZXlvcGVyYXRp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyMzk3MGVlZDA2NTI2NmYxYjNiZWRkZGJjOWJm
MThkM2QxNDEwZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jh
bmdlLWtleW9wZXJhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MCBAQAorVGVzdCBmb3Ig
a2V5Ym9hcmQgb3BlcmF0aW9ucyBvZiA8aW5wdXQgdHlwZT1yYW5nZT4KKworVGVzdHMgZm9yIGEg
aG9yaXpvbnRhbCByYW5nZQorUHJlc3MgdGhlIHVwIGFycm93IGtleToKK1BBU1MgaW5wdXQudmFs
dWUgaXMgIjUxIgorUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgbGFzdENoYW5nZUV2ZW50Q291
bnRlciArIDEKK1ByZXNzIHRoZSBkb3duIGFycm93IGtleToKK1BBU1MgaW5wdXQudmFsdWUgaXMg
IjUwIgorUHJlc3MgdGhlIGxlZnQgYXJyb3cga2V5OgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiNDki
CitQcmVzcyB0aGUgcmlnaHQgYXJyb3cga2V5OgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiNTAiCitF
ZGdlIGNhc2VzCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBjaGFuZ2VFdmVudENvdW50
ZXIgaXMgbGFzdENoYW5nZUV2ZW50Q291bnRlcgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMSIKK1BB
U1MgaW5wdXQudmFsdWUgaXMgIjEwMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjk5IgorCitUZXN0
cyBmb3IgYSB2ZXJ0aWNhbCByYW5nZQorUHJlc3MgdGhlIHVwIGFycm93IGtleToKK1BBU1MgaW5w
dXQudmFsdWUgaXMgIjUxIgorUHJlc3MgdGhlIGRvd24gYXJyb3cga2V5OgorUEFTUyBpbnB1dC52
YWx1ZSBpcyAiNTAiCitQcmVzcyB0aGUgbGVmdCBhcnJvdyBrZXk6CitQQVNTIGlucHV0LnZhbHVl
IGlzICI0OSIKK1ByZXNzIHRoZSByaWdodCBhcnJvdyBrZXk6CitQQVNTIGlucHV0LnZhbHVlIGlz
ICI1MCIKKworc3RlcD1hbnkgY2FzZXMKK1ByZXNzIHRoZSB1cCBhcnJvdyBrZXk6CitQQVNTIGlu
cHV0LnZhbHVlIGlzICIxMDIiCitQQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyBsYXN0Q2hhbmdl
RXZlbnRDb3VudGVyICsgMQorUHJlc3MgdGhlIGRvd24gYXJyb3cga2V5OgorUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMTAwIgorUEFTUyBjaGFuZ2VFdmVudENvdW50ZXIgaXMgbGFzdENoYW5nZUV2ZW50
Q291bnRlciArIDEKK0VkZ2UgY2FzZXMKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMCIKK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMCIKK1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIGxhc3RDaGFu
Z2VFdmVudENvdW50ZXIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjE5OCIKK1BBU1MgaW5wdXQudmFs
dWUgaXMgIjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBjaGFuZ2VFdmVudENvdW50
ZXIgaXMgbGFzdENoYW5nZUV2ZW50Q291bnRlcgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMiIKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2Uta2V5b3BlcmF0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlLWtleW9wZXJhdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdkOTBlM2JhMWVkMGQ0ZjM4ZTY0YzA4ZGE1OThkMDRiZWVlY2E1ZmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlLWtleW9wZXJhdGlvbi5odG1sCkBAIC0w
LDAgKzEsMTI5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRlc3QgZm9yIGtleWJvYXJkIG9wZXJhdGlvbnMgb2Yg
Jmx0O2lucHV0IHR5cGU9cmFuZ2U+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCitmdW5jdGlvbiBzZW5kS2V5KGVsZW1lbnQsIGtleU5hbWUpIHsKKyAgICB2YXIgZXZl
bnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOworICAgIGV2ZW50Lmlu
aXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZp
ZXcsIGtleU5hbWUpOworICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKK3Zh
ciBjaGFuZ2VFdmVudENvdW50ZXIgPSAwOworZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKCkgeworICBj
aGFuZ2VFdmVudENvdW50ZXIrKzsKK30KKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworcGFyZW50
LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1yYW5nZSBpZD1yYW5nZSBtaW49MCBtYXg9MTAwIHZh
bHVlPTUwPic7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYW5nZScp
OworaW5wdXQub25jaGFuZ2UgPSBoYW5kbGVDaGFuZ2U7CitpbnB1dC5mb2N1cygpOworCitkZWJ1
ZygnVGVzdHMgZm9yIGEgaG9yaXpvbnRhbCByYW5nZScpOworZGVidWcoJ1ByZXNzIHRoZSB1cCBh
cnJvdyBrZXk6Jyk7Cit2YXIgbGFzdENoYW5nZUV2ZW50Q291bnRlciA9IGNoYW5nZUV2ZW50Q291
bnRlcjsKK3NlbmRLZXkoaW5wdXQsICdVcCcpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyI1
MSInKTsKK3Nob3VsZEJlKCdjaGFuZ2VFdmVudENvdW50ZXInLCAnbGFzdENoYW5nZUV2ZW50Q291
bnRlciArIDEnKTsKKworZGVidWcoJ1ByZXNzIHRoZSBkb3duIGFycm93IGtleTonKTsKK3NlbmRL
ZXkoaW5wdXQsICdEb3duJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjUwIicpOworCitk
ZWJ1ZygnUHJlc3MgdGhlIGxlZnQgYXJyb3cga2V5OicpOworc2VuZEtleShpbnB1dCwgJ0xlZnQn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciNDkiJyk7CisKK2RlYnVnKCdQcmVzcyB0aGUg
cmlnaHQgYXJyb3cga2V5OicpOworc2VuZEtleShpbnB1dCwgJ1JpZ2h0Jyk7CitzaG91bGRCZSgn
aW5wdXQudmFsdWUnLCAnIjUwIicpOworCitkZWJ1ZygnRWRnZSBjYXNlcycpOworaW5wdXQudmFs
dWVBc051bWJlciA9IDA7CitsYXN0Q2hhbmdlRXZlbnRDb3VudGVyID0gY2hhbmdlRXZlbnRDb3Vu
dGVyOworc2VuZEtleShpbnB1dCwgJ0xlZnQnKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICci
MCInKTsKK3Nob3VsZEJlKCdjaGFuZ2VFdmVudENvdW50ZXInLCAnbGFzdENoYW5nZUV2ZW50Q291
bnRlcicpOworc2VuZEtleShpbnB1dCwgJ1JpZ2h0Jyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUn
LCAnIjEiJyk7CitpbnB1dC52YWx1ZUFzTnVtYmVyID0gMTAwOworc2VuZEtleShpbnB1dCwgJ1Jp
Z2h0Jyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjEwMCInKTsKK3NlbmRLZXkoaW5wdXQs
ICdMZWZ0Jyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjk5IicpOworCisKK2RlYnVnKCcn
KTsKK2lucHV0LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnLXdlYmtpdC1hcHBlYXJhbmNlOnNsaWRl
ci12ZXJ0aWNhbDsgaGVpZ2h0OiA0MHB4OycpOworaW5wdXQudmFsdWVBc051bWJlciA9IDUwOwor
ZGVidWcoJ1Rlc3RzIGZvciBhIHZlcnRpY2FsIHJhbmdlJyk7CitkZWJ1ZygnUHJlc3MgdGhlIHVw
IGFycm93IGtleTonKTsKK3NlbmRLZXkoaW5wdXQsICdVcCcpOworc2hvdWxkQmUoJ2lucHV0LnZh
bHVlJywgJyI1MSInKTsKKworZGVidWcoJ1ByZXNzIHRoZSBkb3duIGFycm93IGtleTonKTsKK3Nl
bmRLZXkoaW5wdXQsICdEb3duJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjUwIicpOwor
CitkZWJ1ZygnUHJlc3MgdGhlIGxlZnQgYXJyb3cga2V5OicpOworc2VuZEtleShpbnB1dCwgJ0xl
ZnQnKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciNDkiJyk7CisKK2RlYnVnKCdQcmVzcyB0
aGUgcmlnaHQgYXJyb3cga2V5OicpOworc2VuZEtleShpbnB1dCwgJ1JpZ2h0Jyk7CitzaG91bGRC
ZSgnaW5wdXQudmFsdWUnLCAnIjUwIicpOworCitkZWJ1ZygnJyk7CitkZWJ1Zygnc3RlcD1hbnkg
Y2FzZXMnKTsKK2lucHV0LnN0ZXAgPSAnYW55JzsKK2lucHV0Lm1pbiA9ICcwJzsKK2lucHV0Lm1h
eCA9ICcyMDAnOworaW5wdXQudmFsdWVBc051bWJlciA9IDEwMDsKKworZGVidWcoJ1ByZXNzIHRo
ZSB1cCBhcnJvdyBrZXk6Jyk7CitsYXN0Q2hhbmdlRXZlbnRDb3VudGVyID0gY2hhbmdlRXZlbnRD
b3VudGVyOworc2VuZEtleShpbnB1dCwgJ1VwJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAn
IjEwMiInKTsKK3Nob3VsZEJlKCdjaGFuZ2VFdmVudENvdW50ZXInLCAnbGFzdENoYW5nZUV2ZW50
Q291bnRlciArIDEnKTsKKworZGVidWcoJ1ByZXNzIHRoZSBkb3duIGFycm93IGtleTonKTsKK2xh
c3RDaGFuZ2VFdmVudENvdW50ZXIgPSBjaGFuZ2VFdmVudENvdW50ZXI7CitzZW5kS2V5KGlucHV0
LCAnRG93bicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIxMDAiJyk7CitzaG91bGRCZSgn
Y2hhbmdlRXZlbnRDb3VudGVyJywgJ2xhc3RDaGFuZ2VFdmVudENvdW50ZXIgKyAxJyk7CisKK2Rl
YnVnKCdFZGdlIGNhc2VzJyk7CitpbnB1dC52YWx1ZUFzTnVtYmVyID0gMTk5Oworc2VuZEtleShp
bnB1dCwgJ1VwJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjIwMCInKTsKK2xhc3RDaGFu
Z2VFdmVudENvdW50ZXIgPSBjaGFuZ2VFdmVudENvdW50ZXI7CitzZW5kS2V5KGlucHV0LCAnVXAn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMjAwIicpOworc2hvdWxkQmUoJ2NoYW5nZUV2
ZW50Q291bnRlcicsICdsYXN0Q2hhbmdlRXZlbnRDb3VudGVyJyk7CitzZW5kS2V5KGlucHV0LCAn
RG93bicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIxOTgiJyk7CitpbnB1dC52YWx1ZUFz
TnVtYmVyID0gMTsKK3NlbmRLZXkoaW5wdXQsICdEb3duJyk7CitzaG91bGRCZSgnaW5wdXQudmFs
dWUnLCAnIjAiJyk7CitsYXN0Q2hhbmdlRXZlbnRDb3VudGVyID0gY2hhbmdlRXZlbnRDb3VudGVy
Oworc2VuZEtleShpbnB1dCwgJ0Rvd24nKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMCIn
KTsKK3Nob3VsZEJlKCdjaGFuZ2VFdmVudENvdW50ZXInLCAnbGFzdENoYW5nZUV2ZW50Q291bnRl
cicpOworc2VuZEtleShpbnB1dCwgJ1VwJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjIi
Jyk7CisKK2RlYnVnKCcnKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmU1OTFmMDE2ZjJmNjZlNWRjNDdjYjdmM2I5
OWQ5MTRiYTBjODNkNy4uZTA0ZWI1MjkzM2Q1Mzk1ZWU0MDY0ZWY1NDNhMWU4OWE1YzkwYTMxMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMiBAQAorMjAxMC0wOS0xNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Vw
cG9ydCBrZXlib2FyZCBvcGVyYXRpb25zIGZvciA8aW5wdXQgdHlwZT1yYW5nZT4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1ODAzCisKKyAgICAgICAg
SW5jcmVhc2luZyB0aGUgdmFsdWUgd2l0aCBVcC9SaWdodCBhcnJvdyBrZXlzIGJ5IGl0cyBzdGVw
IHZhbHVlLAorICAgICAgICBhbmQgZGVjcmVhc2luZyB3aXRoIERvd24vTGVmdCBhcnJvdyBrZXlz
LiBJZiBhbiBpbnB1dCBlbGVtZW50IGhhcworICAgICAgICBzdGVwPWFueSBhdHRyaWJ1dGUsIGlu
Y3JlYXNpbmcvZGVjcmVhc2luZyBieSAxLzEwMCBvZiBtYXgtbWluLgorCisgICAgICAgIE5vdGU6
IFRoaXMgY2hhbmdlIGlzIG5vdCB1c2VmdWwgb24gTWFjIGJlY2F1c2UgdXNlcnMgY2FuJ3Qgc2V0
CisgICAgICAgIGZvY3VzIG9uIHJhbmdlIGNvbnRyb2xzLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
Zm9ybXMvcmFuZ2Uta2V5b3BlcmF0aW9uLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKwogMjAxMC0wOS0xNCAgQW5kcmVhcyBLbGluZyAgPGFuZHJlYXMua2xp
bmdAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggM2M5NGU4MTFhNmJhM2Q2MGZmYTZkN2RmOWIwOWI5
Y2FjMTI4OWNkZi4uNzlmZjJhMzAxOWEyNWQ5ODE0YmQwNDJkMDQ3NjFiMTM0MjU1MWQ2YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMjI0OCwxNyArMjI0OCw2MSBAQCB2b2lkIEhU
TUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2dCkKICAgICAgICAg
fQogICAgIH0KIAotICAgIGlmIChoYXNTcGluQnV0dG9uKCkgJiYgZXZ0LT50eXBlKCkgPT0gZXZl
bnROYW1lcygpLmtleWRvd25FdmVudCAmJiBldnQtPmlzS2V5Ym9hcmRFdmVudCgpKSB7CisgICAg
aWYgKGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQgJiYgZXZ0LT5pc0tl
eWJvYXJkRXZlbnQoKSkgewogICAgICAgICBTdHJpbmcga2V5ID0gc3RhdGljX2Nhc3Q8S2V5Ym9h
cmRFdmVudCo+KGV2dCktPmtleUlkZW50aWZpZXIoKTsKLSAgICAgICAgaW50IHN0ZXAgPSAwOwot
ICAgICAgICBpZiAoa2V5ID09ICJVcCIpCi0gICAgICAgICAgICBzdGVwID0gMTsKLSAgICAgICAg
ZWxzZSBpZiAoa2V5ID09ICJEb3duIikKLSAgICAgICAgICAgIHN0ZXAgPSAtMTsKLSAgICAgICAg
aWYgKHN0ZXApIHsKLSAgICAgICAgICAgIHN0ZXBVcEZyb21SZW5kZXJlcihzdGVwKTsKLSAgICAg
ICAgICAgIGV2dC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgaWYgKGhhc1NwaW5CdXR0b24oKSkgeworICAgICAgICAgICAgaW50IHN0ZXAgPSAwOwor
ICAgICAgICAgICAgaWYgKGtleSA9PSAiVXAiKQorICAgICAgICAgICAgICAgIHN0ZXAgPSAxOwor
ICAgICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJEb3duIikKKyAgICAgICAgICAgICAgICBzdGVw
ID0gLTE7CisgICAgICAgICAgICBpZiAoc3RlcCkgeworICAgICAgICAgICAgICAgIHN0ZXBVcEZy
b21SZW5kZXJlcihzdGVwKTsKKyAgICAgICAgICAgICAgICBldnQtPnNldERlZmF1bHRIYW5kbGVk
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgaWYgKGlucHV0VHlwZSgpID09IFJBTkdFKSB7CisgICAgICAgICAgICBpZiAoa2V5ID09ICJV
cCIgfHwga2V5ID09ICJSaWdodCIgfHwga2V5ID09ICJEb3duIiB8fCBrZXkgPT0gIkxlZnQiKSB7
CisgICAgICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKKyAgICAgICAgICAgICAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoZ2V0QXR0cmlidXRlKHN0ZXBBdHRyKSwgImFueSIpKSB7CisgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSBtaW4gPSBtaW5pbXVtKCk7CisgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSBtYXggPSBtYXhpbXVtKCk7CisgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBJcyAxLzEwMCByZWFzb25hYmxlPworICAgICAgICAgICAgICAgICAgICBkb3VibGUgc3RlcCA9
IChtYXggLSBtaW4pIC8gMTAwOworICAgICAgICAgICAgICAgICAgICBkb3VibGUgY3VycmVudCA9
IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCkpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQoaXNmaW5pdGUoY3VycmVudCkpOworICAg
ICAgICAgICAgICAgICAgICBpZiAoa2V5ID09ICJVcCIgfHwga2V5ID09ICJSaWdodCIpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBuZXdWYWx1ZSA9IGN1cnJlbnQgKyBzdGVwOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID4gbWF4KQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gbWF4OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKG5ld1ZhbHVlICE9IGN1cnJlbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRWYWx1ZUFzTnVtYmVyKG5ld1ZhbHVlLCBlYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50KCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09ICJEb3duIiB8fCBr
ZXkgPT0gIkxlZnQiKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgbmV3VmFsdWUg
PSBjdXJyZW50IC0gc3RlcDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA8
IG1pbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1pbjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPSBjdXJyZW50KSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaW50IHN0ZXAgPSAwOworICAg
ICAgICAgICAgICAgICAgICBpZiAoa2V5ID09ICJVcCIgfHwga2V5ID09ICJSaWdodCIpCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdGVwID0gMTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBp
ZiAoa2V5ID09ICJEb3duIiB8fCBrZXkgPT0gIkxlZnQiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgc3RlcCA9IC0xOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RlcCk7CisgICAgICAg
ICAgICAgICAgICAgIFN0cmluZyBsYXN0U3RyaW5nVmFsdWUgPSB2YWx1ZSgpOworICAgICAgICAg
ICAgICAgICAgICBzdGVwVXAoc3RlcCwgZWMpOworICAgICAgICAgICAgICAgICAgICBpZiAobGFz
dFN0cmluZ1ZhbHVlICE9IHZhbHVlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRj
aEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgZXZ0LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68333</attachid>
            <date>2010-09-21 20:11:57 -0700</date>
            <delta_ts>2010-09-22 01:09:54 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-45803-20100922121155.patch</filename>
            <type>text/plain</type>
            <size>10510</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MmIwMmM5MGRhYmRiMmJjMWNlYjE0NDg5NjQ5MDg2ZjhlZGE1Yzg1Li43NWI1MGEw
ZTcxZWRmODE2YTc4ODE2YzFhY2NkNGE3NTdjNzllYzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMTQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQga2V5Ym9hcmQg
b3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9cmFuZ2U+LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU4MDMKKworICAgICAgICAqIGZhc3QvZm9ybXMv
cmFuZ2Uta2V5b3BlcmF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9yYW5nZS1rZXlvcGVyYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTAtMDktMjEgIEpvaG4g
R3JlZ2cgIDxqb2hubnlnQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgY2hyb21p
dW0gdGVzdCBleHBlY2F0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmFuZ2Uta2V5b3BlcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmFuZ2Uta2V5b3BlcmF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjM5NzBlZWQwNjUy
NjZmMWIzYmVkZGRiYzliZjE4ZDNkMTQxMGYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9yYW5nZS1rZXlvcGVyYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NTAgQEAKK1Rlc3QgZm9yIGtleWJvYXJkIG9wZXJhdGlvbnMgb2YgPGlucHV0IHR5cGU9cmFuZ2U+
CisKK1Rlc3RzIGZvciBhIGhvcml6b250YWwgcmFuZ2UKK1ByZXNzIHRoZSB1cCBhcnJvdyBrZXk6
CitQQVNTIGlucHV0LnZhbHVlIGlzICI1MSIKK1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIGxh
c3RDaGFuZ2VFdmVudENvdW50ZXIgKyAxCitQcmVzcyB0aGUgZG93biBhcnJvdyBrZXk6CitQQVNT
IGlucHV0LnZhbHVlIGlzICI1MCIKK1ByZXNzIHRoZSBsZWZ0IGFycm93IGtleToKK1BBU1MgaW5w
dXQudmFsdWUgaXMgIjQ5IgorUHJlc3MgdGhlIHJpZ2h0IGFycm93IGtleToKK1BBU1MgaW5wdXQu
dmFsdWUgaXMgIjUwIgorRWRnZSBjYXNlcworUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mg
Y2hhbmdlRXZlbnRDb3VudGVyIGlzIGxhc3RDaGFuZ2VFdmVudENvdW50ZXIKK1BBU1MgaW5wdXQu
dmFsdWUgaXMgIjEiCitQQVNTIGlucHV0LnZhbHVlIGlzICIxMDAiCitQQVNTIGlucHV0LnZhbHVl
IGlzICI5OSIKKworVGVzdHMgZm9yIGEgdmVydGljYWwgcmFuZ2UKK1ByZXNzIHRoZSB1cCBhcnJv
dyBrZXk6CitQQVNTIGlucHV0LnZhbHVlIGlzICI1MSIKK1ByZXNzIHRoZSBkb3duIGFycm93IGtl
eToKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjUwIgorUHJlc3MgdGhlIGxlZnQgYXJyb3cga2V5Ogor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiNDkiCitQcmVzcyB0aGUgcmlnaHQgYXJyb3cga2V5OgorUEFT
UyBpbnB1dC52YWx1ZSBpcyAiNTAiCisKK3N0ZXA9YW55IGNhc2VzCitQcmVzcyB0aGUgdXAgYXJy
b3cga2V5OgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTAyIgorUEFTUyBjaGFuZ2VFdmVudENvdW50
ZXIgaXMgbGFzdENoYW5nZUV2ZW50Q291bnRlciArIDEKK1ByZXNzIHRoZSBkb3duIGFycm93IGtl
eToKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjEwMCIKK1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlz
IGxhc3RDaGFuZ2VFdmVudENvdW50ZXIgKyAxCitFZGdlIGNhc2VzCitQQVNTIGlucHV0LnZhbHVl
IGlzICIyMDAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMDAiCitQQVNTIGNoYW5nZUV2ZW50Q291
bnRlciBpcyBsYXN0Q2hhbmdlRXZlbnRDb3VudGVyCitQQVNTIGlucHV0LnZhbHVlIGlzICIxOTgi
CitQQVNTIGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1Mg
Y2hhbmdlRXZlbnRDb3VudGVyIGlzIGxhc3RDaGFuZ2VFdmVudENvdW50ZXIKK1BBU1MgaW5wdXQu
dmFsdWUgaXMgIjIiCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhbmdlLWtleW9w
ZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS1rZXlvcGVyYXRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZDkwZTNiYTFlZDBkNGYzOGU2NGMwOGRhNTk4ZDA0YmVlZWNhNWZj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS1rZXlvcGVy
YXRpb24uaHRtbApAQCAtMCwwICsxLDEyOSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UZXN0IGZvciBrZXlib2Fy
ZCBvcGVyYXRpb25zIG9mICZsdDtpbnB1dCB0eXBlPXJhbmdlPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gc2VuZEtleShlbGVtZW50LCBrZXlOYW1l
KSB7CisgICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJvYXJkRXZlbnQn
KTsKKyAgICBldmVudC5pbml0S2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHRydWUsIHRydWUsIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LCBrZXlOYW1lKTsKKyAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQo
ZXZlbnQpOworfQorCit2YXIgY2hhbmdlRXZlbnRDb3VudGVyID0gMDsKK2Z1bmN0aW9uIGhhbmRs
ZUNoYW5nZSgpIHsKKyAgY2hhbmdlRXZlbnRDb3VudGVyKys7Cit9CisKK3ZhciBwYXJlbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cGFyZW50KTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9cmFuZ2UgaWQ9cmFuZ2Ug
bWluPTAgbWF4PTEwMCB2YWx1ZT01MD4nOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgncmFuZ2UnKTsKK2lucHV0Lm9uY2hhbmdlID0gaGFuZGxlQ2hhbmdlOworaW5wdXQu
Zm9jdXMoKTsKKworZGVidWcoJ1Rlc3RzIGZvciBhIGhvcml6b250YWwgcmFuZ2UnKTsKK2RlYnVn
KCdQcmVzcyB0aGUgdXAgYXJyb3cga2V5OicpOwordmFyIGxhc3RDaGFuZ2VFdmVudENvdW50ZXIg
PSBjaGFuZ2VFdmVudENvdW50ZXI7CitzZW5kS2V5KGlucHV0LCAnVXAnKTsKK3Nob3VsZEJlKCdp
bnB1dC52YWx1ZScsICciNTEiJyk7CitzaG91bGRCZSgnY2hhbmdlRXZlbnRDb3VudGVyJywgJ2xh
c3RDaGFuZ2VFdmVudENvdW50ZXIgKyAxJyk7CisKK2RlYnVnKCdQcmVzcyB0aGUgZG93biBhcnJv
dyBrZXk6Jyk7CitzZW5kS2V5KGlucHV0LCAnRG93bicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVl
JywgJyI1MCInKTsKKworZGVidWcoJ1ByZXNzIHRoZSBsZWZ0IGFycm93IGtleTonKTsKK3NlbmRL
ZXkoaW5wdXQsICdMZWZ0Jyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjQ5IicpOworCitk
ZWJ1ZygnUHJlc3MgdGhlIHJpZ2h0IGFycm93IGtleTonKTsKK3NlbmRLZXkoaW5wdXQsICdSaWdo
dCcpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyI1MCInKTsKKworZGVidWcoJ0VkZ2UgY2Fz
ZXMnKTsKK2lucHV0LnZhbHVlQXNOdW1iZXIgPSAwOworbGFzdENoYW5nZUV2ZW50Q291bnRlciA9
IGNoYW5nZUV2ZW50Q291bnRlcjsKK3NlbmRLZXkoaW5wdXQsICdMZWZ0Jyk7CitzaG91bGRCZSgn
aW5wdXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnY2hhbmdlRXZlbnRDb3VudGVyJywgJ2xh
c3RDaGFuZ2VFdmVudENvdW50ZXInKTsKK3NlbmRLZXkoaW5wdXQsICdSaWdodCcpOworc2hvdWxk
QmUoJ2lucHV0LnZhbHVlJywgJyIxIicpOworaW5wdXQudmFsdWVBc051bWJlciA9IDEwMDsKK3Nl
bmRLZXkoaW5wdXQsICdSaWdodCcpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIxMDAiJyk7
CitzZW5kS2V5KGlucHV0LCAnTGVmdCcpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyI5OSIn
KTsKKworCitkZWJ1ZygnJyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJy13ZWJraXQt
YXBwZWFyYW5jZTpzbGlkZXItdmVydGljYWw7IGhlaWdodDogNDBweDsnKTsKK2lucHV0LnZhbHVl
QXNOdW1iZXIgPSA1MDsKK2RlYnVnKCdUZXN0cyBmb3IgYSB2ZXJ0aWNhbCByYW5nZScpOworZGVi
dWcoJ1ByZXNzIHRoZSB1cCBhcnJvdyBrZXk6Jyk7CitzZW5kS2V5KGlucHV0LCAnVXAnKTsKK3No
b3VsZEJlKCdpbnB1dC52YWx1ZScsICciNTEiJyk7CisKK2RlYnVnKCdQcmVzcyB0aGUgZG93biBh
cnJvdyBrZXk6Jyk7CitzZW5kS2V5KGlucHV0LCAnRG93bicpOworc2hvdWxkQmUoJ2lucHV0LnZh
bHVlJywgJyI1MCInKTsKKworZGVidWcoJ1ByZXNzIHRoZSBsZWZ0IGFycm93IGtleTonKTsKK3Nl
bmRLZXkoaW5wdXQsICdMZWZ0Jyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjQ5IicpOwor
CitkZWJ1ZygnUHJlc3MgdGhlIHJpZ2h0IGFycm93IGtleTonKTsKK3NlbmRLZXkoaW5wdXQsICdS
aWdodCcpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyI1MCInKTsKKworZGVidWcoJycpOwor
ZGVidWcoJ3N0ZXA9YW55IGNhc2VzJyk7CitpbnB1dC5zdGVwID0gJ2FueSc7CitpbnB1dC5taW4g
PSAnMCc7CitpbnB1dC5tYXggPSAnMjAwJzsKK2lucHV0LnZhbHVlQXNOdW1iZXIgPSAxMDA7CisK
K2RlYnVnKCdQcmVzcyB0aGUgdXAgYXJyb3cga2V5OicpOworbGFzdENoYW5nZUV2ZW50Q291bnRl
ciA9IGNoYW5nZUV2ZW50Q291bnRlcjsKK3NlbmRLZXkoaW5wdXQsICdVcCcpOworc2hvdWxkQmUo
J2lucHV0LnZhbHVlJywgJyIxMDIiJyk7CitzaG91bGRCZSgnY2hhbmdlRXZlbnRDb3VudGVyJywg
J2xhc3RDaGFuZ2VFdmVudENvdW50ZXIgKyAxJyk7CisKK2RlYnVnKCdQcmVzcyB0aGUgZG93biBh
cnJvdyBrZXk6Jyk7CitsYXN0Q2hhbmdlRXZlbnRDb3VudGVyID0gY2hhbmdlRXZlbnRDb3VudGVy
Oworc2VuZEtleShpbnB1dCwgJ0Rvd24nKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMTAw
IicpOworc2hvdWxkQmUoJ2NoYW5nZUV2ZW50Q291bnRlcicsICdsYXN0Q2hhbmdlRXZlbnRDb3Vu
dGVyICsgMScpOworCitkZWJ1ZygnRWRnZSBjYXNlcycpOworaW5wdXQudmFsdWVBc051bWJlciA9
IDE5OTsKK3NlbmRLZXkoaW5wdXQsICdVcCcpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIy
MDAiJyk7CitsYXN0Q2hhbmdlRXZlbnRDb3VudGVyID0gY2hhbmdlRXZlbnRDb3VudGVyOworc2Vu
ZEtleShpbnB1dCwgJ1VwJyk7CitzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIjIwMCInKTsKK3No
b3VsZEJlKCdjaGFuZ2VFdmVudENvdW50ZXInLCAnbGFzdENoYW5nZUV2ZW50Q291bnRlcicpOwor
c2VuZEtleShpbnB1dCwgJ0Rvd24nKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciMTk4Iicp
OworaW5wdXQudmFsdWVBc051bWJlciA9IDE7CitzZW5kS2V5KGlucHV0LCAnRG93bicpOworc2hv
dWxkQmUoJ2lucHV0LnZhbHVlJywgJyIwIicpOworbGFzdENoYW5nZUV2ZW50Q291bnRlciA9IGNo
YW5nZUV2ZW50Q291bnRlcjsKK3NlbmRLZXkoaW5wdXQsICdEb3duJyk7CitzaG91bGRCZSgnaW5w
dXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnY2hhbmdlRXZlbnRDb3VudGVyJywgJ2xhc3RD
aGFuZ2VFdmVudENvdW50ZXInKTsKK3NlbmRLZXkoaW5wdXQsICdVcCcpOworc2hvdWxkQmUoJ2lu
cHV0LnZhbHVlJywgJyIyIicpOworCitkZWJ1ZygnJyk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY2NWMzMmM3NDA0
MWM4NTcxMzBlMTAwOWFhMTNlNzk2YmVhODM1MDAuLjg4YmVkZDM3MzM2MmIyOGY0NWYyYWVjZTll
Y2Y3NWM5Y2E5YTMxYTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTAtMDktMTQgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFN1cHBvcnQga2V5Ym9hcmQgb3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9
cmFuZ2U+LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDU4MDMKKworICAgICAgICBJbmNyZWFzaW5nIHRoZSB2YWx1ZSB3aXRoIFVwL1JpZ2h0IGFycm93
IGtleXMgYnkgaXRzIHN0ZXAgdmFsdWUsCisgICAgICAgIGFuZCBkZWNyZWFzaW5nIHdpdGggRG93
bi9MZWZ0IGFycm93IGtleXMuIElmIGFuIGlucHV0IGVsZW1lbnQgaGFzCisgICAgICAgIHN0ZXA9
YW55IGF0dHJpYnV0ZSwgaW5jcmVhc2luZy9kZWNyZWFzaW5nIGJ5IDEvMTAwIG9mIG1heC1taW4u
CisKKyAgICAgICAgTm90ZTogVGhpcyBjaGFuZ2UgaXMgbm90IHVzZWZ1bCBvbiBNYWMgYmVjYXVz
ZSB1c2VycyBjYW4ndCBzZXQKKyAgICAgICAgZm9jdXMgb24gcmFuZ2UgY29udHJvbHMuCisKKyAg
ICAgICAgVGVzdDogZmFzdC9mb3Jtcy9yYW5nZS1rZXlvcGVyYXRpb24uaHRtbAorCisgICAgICAg
ICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAgIENhbGxzIGhhbmRsZUtl
eUV2ZW50Rm9yUmFuZ2UoKSBmb3IgUkFOR0UgYW5kIGtleSBldmVudHMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpoYW5kbGVLZXlFdmVudEZvclJhbmdlKToKKyAgICAgICAg
KiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDogQWRkIGhhbmRsZUtleUV2ZW50Rm9yUmFuZ2UoKSBk
ZWNsYXJhdGlvbi4KKwogMjAxMC0wOS0yMSAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKaW5kZXggYmFmZjZjNGYxZjlhMDYzODFlZmRjNTdmZjI3OWMwZTVkNmM3ZmMy
Mi4uYjA2YWEzNWI3ZGEwMmFjOTAzNDlhMmJlM2VmMzM3MTUxNjg4M2E1OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcApAQCAtMjI2Niw2ICsyMjY2LDExIEBAIHZvaWQgSFRNTElucHV0RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAgICAgfQorICAgIGlmIChkZXByZWNhdGVkSW5wdXRUeXBlKCkgPT0gUkFO
R0UgJiYgZXZ0LT5pc0tleWJvYXJkRXZlbnQoKSkgeworICAgICAgICBoYW5kbGVLZXlFdmVudEZv
clJhbmdlKHN0YXRpY19jYXN0PEtleWJvYXJkRXZlbnQqPihldnQpKTsKKyAgICAgICAgaWYgKGV2
dC0+ZGVmYXVsdEhhbmRsZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CiAgCiAgICBp
ZiAoaXNUZXh0RmllbGQoKQogICAgICAgICAgICAgJiYgZXZ0LT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLmtleWRvd25FdmVudApAQCAtMjU3Miw2ICsyNTc3LDQ3IEBAIHZvaWQgSFRNTElucHV0RWxl
bWVudDo6aGFuZGxlQmVmb3JlVGV4dEluc2VydGVkRXZlbnQoRXZlbnQqIGV2ZW50KQogICAgIElu
cHV0RWxlbWVudDo6aGFuZGxlQmVmb3JlVGV4dEluc2VydGVkRXZlbnQobV9kYXRhLCB0aGlzLCB0
aGlzLCBldmVudCk7CiB9CiAKK3ZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlS2V5RXZlbnRG
b3JSYW5nZShLZXlib2FyZEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSAh
PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KQorICAgICAgICByZXR1cm47CisgICAgU3RyaW5n
IGtleSA9IGV2ZW50LT5rZXlJZGVudGlmaWVyKCk7CisgICAgaWYgKGtleSAhPSAiVXAiICYmIGtl
eSAhPSAiUmlnaHQiICYmIGtleSAhPSAiRG93biIgJiYga2V5ICE9ICJMZWZ0IikKKyAgICAgICAg
cmV0dXJuOworCisgICAgRXhjZXB0aW9uQ29kZSBlYzsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UoZ2V0QXR0cmlidXRlKHN0ZXBBdHRyKSwgImFueSIpKSB7CisgICAgICAgIGRvdWJsZSBtaW4g
PSBtaW5pbXVtKCk7CisgICAgICAgIGRvdWJsZSBtYXggPSBtYXhpbXVtKCk7CisgICAgICAgIC8v
IEZJWE1FOiBJcyAxLzEwMCByZWFzb25hYmxlPworICAgICAgICBkb3VibGUgc3RlcCA9IChtYXgg
LSBtaW4pIC8gMTAwOworICAgICAgICBkb3VibGUgY3VycmVudCA9IHBhcnNlVG9Eb3VibGUodmFs
dWUoKSwgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpOworICAgICAgICBBU1NF
UlQoaXNmaW5pdGUoY3VycmVudCkpOworICAgICAgICBkb3VibGUgbmV3VmFsdWU7CisgICAgICAg
IGlmIChrZXkgPT0gIlVwIiB8fCBrZXkgPT0gIlJpZ2h0IikgeworICAgICAgICAgICAgbmV3VmFs
dWUgPSBjdXJyZW50ICsgc3RlcDsKKyAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA+IG1heCkKKyAg
ICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1heDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIG5ld1ZhbHVlID0gY3VycmVudCAtIHN0ZXA7CisgICAgICAgICAgICBpZiAobmV3VmFsdWUg
PCBtaW4pCisgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBtaW47CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKG5ld1ZhbHVlICE9IGN1cnJlbnQpIHsKKyAgICAgICAgICAgIHNldFZhbHVlQXNOdW1i
ZXIobmV3VmFsdWUsIGVjKTsKKyAgICAgICAgICAgIGRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VF
dmVudCgpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW50IHN0ZXBNYWduaWZp
Y2F0aW9uID0gKGtleSA9PSAiVXAiIHx8IGtleSA9PSAiUmlnaHQiKSA/IDEgOiAtMTsKKyAgICAg
ICAgU3RyaW5nIGxhc3RTdHJpbmdWYWx1ZSA9IHZhbHVlKCk7CisgICAgICAgIHN0ZXBVcChzdGVw
TWFnbmlmaWNhdGlvbiwgZWMpOworICAgICAgICBpZiAobGFzdFN0cmluZ1ZhbHVlICE9IHZhbHVl
KCkpCisgICAgICAgICAgICBkaXNwYXRjaEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKKyAgICB9
CisgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CisgICAgcmV0dXJuOworfQorCiBQYXNz
UmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gSFRNTElucHV0RWxlbWVudDo6Y3JlYXRlVGVtcG9yYXJ5
Rm9ybUZvcklzSW5kZXgoKQogewogICAgIFJlZlB0cjxIVE1MRm9ybUVsZW1lbnQ+IGZvcm0gPSBI
VE1MRm9ybUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5o
CmluZGV4IDdlNjAxY2FjYmNmZWIxMjBjZDM5ZTYyY2VhYjQ0MTlhZGYyMmIwYzYuLmUwNjhjOGNi
Njc2ZjRmNDYzMmNmMTY3NmI4YjgwN2RlMjBjYTQ1OWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aApAQCAtMzI1LDYgKzMyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDaGVja2VkUmFk
aW9CdXR0b25zKCk7CiAgICAgCiAgICAgdm9pZCBoYW5kbGVCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVu
dChFdmVudCopOworICAgIHZvaWQgaGFuZGxlS2V5RXZlbnRGb3JSYW5nZShLZXlib2FyZEV2ZW50
Kik7CiAgICAgUGFzc1JlZlB0cjxIVE1MRm9ybUVsZW1lbnQ+IGNyZWF0ZVRlbXBvcmFyeUZvcm1G
b3JJc0luZGV4KCk7CiAgICAgLy8gSGVscGVyIGZvciBnZXRBbGxvd2VkVmFsdWVTdGVwKCk7CiAg
ICAgYm9vbCBnZXRTdGVwUGFyYW1ldGVycyhkb3VibGUqIGRlZmF1bHRTdGVwLCBkb3VibGUqIHN0
ZXBTY2FsZUZhY3RvcikgY29uc3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>