<?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>14140</bug_id>
          
          <creation_ts>2007-06-14 08:48:52 -0700</creation_ts>
          <short_desc>REGRESSION: Complex system KeyBindings don&apos;t work properly</short_desc>
          <delta_ts>2007-12-16 09:40:29 -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>Forms</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michail Pishchagin">mblsha</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>7571</commentid>
    <comment_count>0</comment_count>
    <who name="Michail Pishchagin">mblsha</who>
    <bug_when>2007-06-14 08:48:52 -0700</bug_when>
    <thetext>$ cat ~/Library/KeyBindings/DefaultKeyBinding.dict
{
        &quot;^m&quot; = {
                &quot;^s&quot;    = (&quot;insertText:&quot;, &quot;\U21E7&quot;);  /* C-s     shift */
        };

        &quot;~+&quot; = ( &quot;cut:&quot;, &quot;insertText:&quot;, &quot;«&quot;, &quot;paste:&quot;, &quot;insertText:&quot;, &quot;»&quot;, &quot;moveBackward:&quot; );

        /* HTML/XML opening and closing tag pair. */
        &quot;^&lt;&quot; = ( &quot;setMark:&quot;,
                 &quot;moveWordBackward:&quot;,
                 &quot;deleteToMark:&quot;,
                 &quot;insertText:&quot;, &quot;&lt;&quot;,
                 &quot;yank:&quot;,
                 &quot;insertText:&quot;, &quot;&gt;&quot;,
                 &quot;setMark:&quot;,
                 &quot;insertText:&quot;, &quot;&lt;/&quot;,
                 &quot;yank:&quot;,
                 &quot;insertText:&quot;, &quot;&gt;&quot;,
                 &quot;swapWithMark:&quot; );
}

When entering text in text areas, these commands don&apos;t work properly in Safari 3 anymore. In Safari 2 I used to type &quot;a&quot;, then press 

&amp;#8963;&amp;#8679;&lt;, and &quot;a&quot; got automatically converted to &quot;&lt;a&gt;&lt;/a&gt;&quot; with cursor flashing in the middle. Now it&apos;s no longer the case. Also &quot;&amp;#8997;+&quot; doesn&apos;t result in &quot;«»&quot; appearing.




Also &quot;&amp;#8963;M &amp;#8963;S&quot; doesn&apos;t insert &quot;&amp;#8679;&quot; anymore, seems that nested bindings are no longer handled at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7569</commentid>
    <comment_count>1</comment_count>
    <who name="Michail Pishchagin">mblsha</who>
    <bug_when>2007-06-14 08:51:36 -0700</bug_when>
    <thetext>Shortcuts haven&apos;t displayed as intended, I&apos;ve used mnemonics to describe them instead:

These commands don&apos;t work properly in Safari 3 anymore. In Safari 2 I used to type &quot;a&quot;, then press &quot;Ctrl-Shift-&lt;&quot;, and &quot;a&quot; got automatically converted to &quot;&lt;a&gt;&lt;/a&gt;&quot; with cursor flashing in the middle. Now it&apos;s no longer the case. Also Opt-+ doesn&apos;t result in &quot;«»&quot; appearing.

Also &quot;Ctrl-M Ctrl-S&quot; doesn&apos;t insert shift key glyph anymore, seems that nested bindings are no longer handled at all.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7550</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-06-14 12:04:52 -0700</bug_when>
    <thetext>Can you attach your entire DefaultKeyBinding.dict file to this bug to make testing easier?  This is almost certainly fallout from the move to engine-rendered form controls from NSViews. I think you&apos;ll find that your custom key bindings are similarly broken in Safari 2.0 when editing an &quot;editable region&quot; rather than a form control.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7539</commentid>
    <comment_count>3</comment_count>
      <attachid>15028</attachid>
    <who name="Michail Pishchagin">mblsha</who>
    <bug_when>2007-06-14 12:49:10 -0700</bug_when>
    <thetext>Created attachment 15028
~/Library/KeyBindings/DefaultKeyBinding.dict</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7528</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-06-14 14:15:58 -0700</bug_when>
    <thetext>I can confirm that with your key bindings file C-m C-s does not insert the Shift glyph.  When I type &quot;a&quot;, then press C-S-&lt;, I see the following in my text field:
a&gt;&lt;&lt;/&gt;

This is definitely less than desirable.  I was testing with a recent WebKit build on Leopard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7525</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-06-14 14:19:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/5270958&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7130</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-06-18 22:06:02 -0700</bug_when>
    <thetext>Regression -&gt; P1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64373</commentid>
    <comment_count>7</comment_count>
      <attachid>17932</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-16 07:48:41 -0800</bug_when>
    <thetext>Created attachment 17932
proposed fix

That&apos;s a nice feature, I didn&apos;t even know about it!

Unfortunately, there doesn&apos;t seem to be a way to write a layout test - I couldn&apos;t find any API to install a per-application key binding dictionary. Xcode seems to do that somehow, presumably with an SPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64381</commentid>
    <comment_count>8</comment_count>
      <attachid>17932</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-12-16 09:18:28 -0800</bug_when>
    <thetext>Comment on attachment 17932
proposed fix

+        Vector&lt;KeypressCommand&gt;&amp; keypressCommands() { return m_keypressCommands; }

Even in a case like this, I usually prefer to provide a get/set pair rather than a single accessor. This allows us to change the set operation to do additional work without changing all callers, for example.

Change looks good, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64387</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-12-16 09:40:29 -0800</bug_when>
    <thetext>Committed revision 28772.

I haven&apos;t taken the suggestion to use a get/set pair: there aren&apos;t a lot of callers in this case, so it would be easy to modify this when needed. Also, I&apos;m not sure if KeyboardEvent is even the right object to store this information.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15028</attachid>
            <date>2007-06-14 12:49:10 -0700</date>
            <delta_ts>2007-06-14 12:49:10 -0700</delta_ts>
            <desc>~/Library/KeyBindings/DefaultKeyBinding.dict</desc>
            <filename>DefaultKeyBinding.dict</filename>
            <type>text/plain</type>
            <size>2998</size>
            <attacher name="Michail Pishchagin">mblsha</attacher>
            
              <data encoding="base64">ewoJLyogTW9kaWZpZXIga2V5czogc3RhcnQgd2l0aCBDLW0gKi8KCSJebSIgPSB7CgkJIl4gIiAg
ICA9ICgiaW5zZXJ0VGV4dDoiLCAiXFUyNDIzIik7ICAvKiBDLXNwYWNlIHNwYWNlICovCgoJCSJe
ZSIgICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjFBOSIpOyAgLyogQy1lICAgICByZXR1cm4gKi8K
CQkiZSIgICAgID0gKCJpbnNlcnRUZXh0OiIsICJcVTIzMDUiKTsgIC8qIGUgICAgICAgZW50ZXIg
Ki8KCgkJIl50IiAgICA9ICgiaW5zZXJ0VGV4dDoiLCAiXFUyMUU1Iik7ICAvKiBDLXQgICAgIHRh
YiAqLwoJCSJ0IiAgICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjFFNCIpOyAgLyogdCAgICAgICBi
YWNrdGFiICovCgoJCSJeZCIgICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjMyQiIpOyAgLyogQy1k
ICAgICBkZWxldGUgKi8KCQkiZCIgICAgID0gKCJpbnNlcnRUZXh0OiIsICJcVTIzMjYiKTsgIC8q
IGQgICAgICAgZm9yd2FyZCBkZWxldGUgKi8KCgkJIl5hIiAgICA9ICgiaW5zZXJ0VGV4dDoiLCAi
XFUyMzE4Iik7ICAvKiBDLWEgICAgIGNvbW1hbmQgKGFwcGxlKSAqLwoJCSJebyIgICAgPSAoImlu
c2VydFRleHQ6IiwgIlxVMjMyNSIpOyAgLyogQy1vICAgICBvcHRpb24gKi8KCQkiXmMiICAgID0g
KCJpbnNlcnRUZXh0OiIsICJcVTIzMDMiKTsgIC8qIEMtYyAgICAgY29udHJvbCAqLwoJCSJecyIg
ICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjFFNyIpOyAgLyogQy1zICAgICBzaGlmdCAqLwoJCSJz
IiAgICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjFFQSIpOyAgLyogcyAgICAgICBjYXBzIGxvY2sg
Ki8KCgkJIl5iIiAgICA9ICgiaW5zZXJ0VGV4dDoiLCAiXFUyMTkwIik7ICAvKiBDLWIgICAgIHNv
bGlkIGxlZnQgKi8KCQkiXmYiICAgID0gKCJpbnNlcnRUZXh0OiIsICJcVTIxOTIiKTsgIC8qIEMt
ZiAgICAgc29saWQgcmlnaHQgKi8KCQkiXnAiICAgID0gKCJpbnNlcnRUZXh0OiIsICJcVTIxOTEi
KTsgIC8qIEMtcCAgICAgc29saWQgdXAgKi8KCQkiXm4iICAgID0gKCJpbnNlcnRUZXh0OiIsICJc
VTIxOTMiKTsgIC8qIEMtbiAgICAgc29saWQgZG93biAqLwoJCSJiIiAgICAgPSAoImluc2VydFRl
eHQ6IiwgIlxVMjFFMCIpOyAgLyogZiAgICAgICBkb3R0ZWQgbGVmdCAqLwoJCSJmIiAgICAgPSAo
Imluc2VydFRleHQ6IiwgIlxVMjFFMiIpOyAgLyogYiAgICAgICBkb3R0ZWQgcmlnaHQgKi8KCQki
cCIgICAgID0gKCJpbnNlcnRUZXh0OiIsICJcVTIxRTEiKTsgIC8qIHAgICAgICAgZG90dGVkIHVw
ICovCgkJIm4iICAgICA9ICgiaW5zZXJ0VGV4dDoiLCAiXFUyMUUzIik7ICAvKiBuICAgICAgIGRv
dHRlZCBkb3duICovCgoJCSJeaCIgICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjE5NiIpOyAgLyog
Qy1oICAgICBob21lICovCgkJImgiICAgICA9ICgiaW5zZXJ0VGV4dDoiLCAiXFUyMTk4Iik7ICAv
KiBoICAgICAgIGVuZCAqLwoJCSJedSIgICAgPSAoImluc2VydFRleHQ6IiwgIlxVMjFERSIpOyAg
LyogQy11ICAgICBwYWdlIHVwICovCgkJInUiICAgICA9ICgiaW5zZXJ0VGV4dDoiLCAiXFUyMURG
Iik7ICAvKiB1ICAgICAgIHBhZ2UgZG93biAqLwoKCQkiXngiICAgID0gKCJpbnNlcnRUZXh0OiIs
ICJcVTIzOEIiKTsgIC8qIEMteCAgICAgZXNjYXBlICovIAoJCSJ4IiAgICAgPSAoImluc2VydFRl
eHQ6IiwgIlxVMjNDRiIpOyAgLyogeCAgICAgICBlamVjdCAqLyAKCX07CgoJLyogUmVjcmVhdGUg
QXV0byBwYWlycyBmdW5jdGlvbmFsaXR5ICovCgkvLyAiXCIiID0gKCAiY3V0OiIsICJpbnNlcnRU
ZXh0OiIsICJcIiIsICJwYXN0ZToiLCAiaW5zZXJ0VGV4dDoiLCAiXCIiLCAibW92ZUJhY2t3YXJk
OiIgKTsKCS8vICJcIiIgPSAoICJzZXRNYXJrOiIsICJtb3ZlTGVmdDoiLCAiZGVsZXRlVG9NYXJr
OiIsICJpbnNlcnRUZXh0OiIsICJcIiIsICJ5YW5rOiIsICJpbnNlcnRUZXh0OiIsICJcIiIsICJt
b3ZlQmFja3dhcmQ6IiApOwoJLy8gIigiICA9ICggImluc2VydFRleHQ6IiwgIigpIiwgICAibW92
ZUJhY2t3YXJkOiIgKTsKCS8vICJ7IiAgPSAoICJpbnNlcnRUZXh0OiIsICJ7fSIsICAgIm1vdmVC
YWNrd2FyZDoiICk7CgkvLyAiWyIgID0gKCAiaW5zZXJ0VGV4dDoiLCAiW10iLCAgICJtb3ZlQmFj
a3dhcmQ6IiApOwoJLy8gLy8gIjwiICA9ICggImluc2VydFRleHQ6IiwgIjw+IiwgICAibW92ZUJh
Y2t3YXJkOiIgKTsgLy8gdmVyeSBuYXN0eSBpbiBDKysgbW9kZQoJIn4rIiA9ICggImN1dDoiLCAi
aW5zZXJ0VGV4dDoiLCAiwqsiLCAicGFzdGU6IiwgImluc2VydFRleHQ6IiwgIsK7IiwgIm1vdmVC
YWNrd2FyZDoiICk7CgkiflsiID0gKCAiY3V0OiIsICJpbnNlcnRUZXh0OiIsICLigJwiLCAicGFz
dGU6IiwgImluc2VydFRleHQ6IiwgIuKAnSIsICJtb3ZlQmFja3dhcmQ6IiApOwoJIn7RhSIgPSAo
ICJjdXQ6IiwgImluc2VydFRleHQ6IiwgIuKAnCIsICJwYXN0ZToiLCAiaW5zZXJ0VGV4dDoiLCAi
4oCdIiwgIm1vdmVCYWNrd2FyZDoiICk7CgkifnsiID0gKCAiY3V0OiIsICJpbnNlcnRUZXh0OiIs
ICLigJwiLCAicGFzdGU6IiwgImluc2VydFRleHQ6IiwgIuKAnSIsICJtb3ZlQmFja3dhcmQ6IiAp
OwoJIn7QpSIgPSAoICJjdXQ6IiwgImluc2VydFRleHQ6IiwgIuKAnCIsICJwYXN0ZToiLCAiaW5z
ZXJ0VGV4dDoiLCAi4oCdIiwgIm1vdmVCYWNrd2FyZDoiICk7CgoJLyogSFRNTC9YTUwgb3Blbmlu
ZyBhbmQgY2xvc2luZyB0YWcgcGFpci4gKi8KCSJePCIgPSAoICJzZXRNYXJrOiIsCgkgICAgICAg
ICAibW92ZVdvcmRCYWNrd2FyZDoiLAoJICAgICAgICAgImRlbGV0ZVRvTWFyazoiLAoJICAgICAg
ICAgImluc2VydFRleHQ6IiwgIjwiLAoJICAgICAgICAgInlhbms6IiwKCSAgICAgICAgICJpbnNl
cnRUZXh0OiIsICI+IiwKCSAgICAgICAgICJzZXRNYXJrOiIsCgkgICAgICAgICAiaW5zZXJ0VGV4
dDoiLCAiPC8iLAoJICAgICAgICAgInlhbms6IiwKCSAgICAgICAgICJpbnNlcnRUZXh0OiIsICI+
IiwKCSAgICAgICAgICJzd2FwV2l0aE1hcms6IiApOwp9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17932</attachid>
            <date>2007-12-16 07:48:41 -0800</date>
            <delta_ts>2007-12-16 09:18:28 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>14140r1_patch.txt</filename>
            <type>text/plain</type>
            <size>9590</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODc2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDctMTItMTYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTQwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS81MjcwOTU4PiBSRUdSRVNTSU9OOiBDb21wbGV4IHN5c3RlbSBLZXlCaW5k
aW5ncyBkb24ndCB3b3JrIHByb3Blcmx5CisKKyAgICAgICAgKiBkb20vS2V5Ym9hcmRFdmVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kOjpLZXlwcmVzc0NvbW1hbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6S2V5Ym9hcmRFdmVudDo6a2V5cHJlc3NDb21tYW5kcyk6CisgICAg
ICAgIENoYW5nZSBzdG9yZWQgY29tbWFuZCBjbGFzcyB0byBwcmVzZXJ2ZSBjb21wbGV0ZSBpbmZv
cm1hdGlvbiBhYm91dCBjb21tYW5kcy4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFu
ZC5jcHA6IChXZWJDb3JlOjpDb21tYW5kRW50cnk6Oik6IE1hcmsgSW5zZXJ0VGV4dCBhcyBhIHRl
eHQgaW5zZXJ0aW9uCisgICAgICAgIGNvbW1hbmQsIHdoaWNoIGl0IGlzLiBQcmV2aW91c2x5LCB3
ZSBjb3VsZG4ndCBkbyBpdCBiZWNhdXNlIFdlYktpdCBkaWRuJ3QgcmVhbGx5IHRyZWF0IGluc2Vy
dFRleHQ6CisgICAgICAgIGFzIGEgY29tbWFuZC4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5k
bGVyLmNwcDogKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6a2V5RXZlbnQpOiBDb3B5IGNvbW1hbmRz
IHNhdmVkIHdoaWxlIGludGVycHJldGluZworICAgICAgICBhIGtleWRvd24gZXZlbnQgaW50byBr
ZXlwcmVzcywgdG8gYXZvaWQgbG9zaW5nIHN0YXRlIHdoZW4gcnVubmluZyBpbnRlcnByZXRLZXlF
dmVudHM6IGFnYWluLgorCiAyMDA3LTEyLTE2ICBYYW4gTG9wZXogIDx4YW5AZ25vbWUub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBXZWJDb3Jl
L2RvbS9LZXlib2FyZEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vS2V5Ym9hcmRF
dmVudC5oCShyZXZpc2lvbiAyODc2OCkKKysrIFdlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMsMTAgKzMzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
I2lmIFBMQVRGT1JNKE1BQykKICAgICBzdHJ1Y3QgS2V5cHJlc3NDb21tYW5kIHsKLSAgICAgICAg
VmVjdG9yPFN0cmluZz4gY29tbWFuZE5hbWVzOworICAgICAgICBLZXlwcmVzc0NvbW1hbmQoY29u
c3QgU3RyaW5nJiBjb21tYW5kTmFtZSkgOiBjb21tYW5kTmFtZShjb21tYW5kTmFtZSkge30KKyAg
ICAgICAgS2V5cHJlc3NDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGNvbnN0IFN0
cmluZyYgdGV4dCkgOiBjb21tYW5kTmFtZShjb21tYW5kTmFtZSksIHRleHQodGV4dCkgeyBBU1NF
UlQoY29tbWFuZE5hbWUgPT0gImluc2VydFRleHQ6Iik7IH0KKworICAgICAgICBTdHJpbmcgY29t
bWFuZE5hbWU7CiAgICAgICAgIFN0cmluZyB0ZXh0OwotICAgICAgICAKLSAgICAgICAgYm9vbCBp
c0VtcHR5KCkgY29uc3QgeyByZXR1cm4gdGV4dC5pc0VtcHR5KCkgJiYgY29tbWFuZE5hbWVzLmlz
RW1wdHkoKTsgfQogICAgIH07CiAjZW5kaWYKICAgICAKQEAgLTc4LDggKzc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICAvLyBXZSBvbmx5IGhh
dmUgdGhpcyBuZWVkIHRvIHN0b3JlIGtleXByZXNzIGNvbW1hbmQgaW5mbyBvbiB0aGUgTWFjLgot
ICAgICAgICBLZXlwcmVzc0NvbW1hbmQga2V5cHJlc3NDb21tYW5kKCkgeyByZXR1cm4gbV9rZXlw
cmVzc0NvbW1hbmQ7IH0KLSAgICAgICAgdm9pZCBzZXRLZXlwcmVzc0NvbW1hbmQoY29uc3QgS2V5
cHJlc3NDb21tYW5kJiBjb21tYW5kKSB7IG1fa2V5cHJlc3NDb21tYW5kID0gY29tbWFuZDsgfSAg
ICAgICAgCisgICAgICAgIFZlY3RvcjxLZXlwcmVzc0NvbW1hbmQ+JiBrZXlwcmVzc0NvbW1hbmRz
KCkgeyByZXR1cm4gbV9rZXlwcmVzc0NvbW1hbmRzOyB9CiAjZW5kaWYKIAogICAgIHByaXZhdGU6
CkBAIC04OSw3ICs4OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2Fs
dEdyYXBoS2V5IDogMTsKIAogI2lmIFBMQVRGT1JNKE1BQykgICAgICAgIAotICAgICAgICBLZXlw
cmVzc0NvbW1hbmQgbV9rZXlwcmVzc0NvbW1hbmQ7CisgICAgICAgIFZlY3RvcjxLZXlwcmVzc0Nv
bW1hbmQ+IG1fa2V5cHJlc3NDb21tYW5kczsKICNlbmRpZgogICAgIH07CiAKSW5kZXg6IFdlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRp
bmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDI4NzY4KQorKysgV2ViQ29yZS9lZGl0aW5n
L0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTY5LDcgKzExNjksNyBAQCBz
dGF0aWMgY29uc3QgQ29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hCiAgICAgICAgIHsgIkluc2Vy
dE9yZGVyZWRMaXN0IiwgeyBleGVjdXRlSW5zZXJ0T3JkZXJlZExpc3QsIHN1cHBvcnRlZCwgZW5h
YmxlZEluUmljaGx5RWRpdGFibGVUZXh0LCBzdGF0ZU9yZGVyZWRMaXN0LCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24gfSB9LAogICAgICAgICB7ICJJbnNlcnRQYXJhZ3JhcGgiLCB7IGV4ZWN1
dGVJbnNlcnRQYXJhZ3JhcGgsIHN1cHBvcnRlZCwgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0
ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiB9IH0sCiAgICAgICAgIHsgIkluc2Vy
dFRhYiIsIHsgZXhlY3V0ZUluc2VydFRhYiwgc3VwcG9ydGVkLCBlbmFibGVkSW5FZGl0YWJsZVRl
eHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBpc1RleHRJbnNlcnRpb24gfSB9LAotICAgICAgICB7
ICJJbnNlcnRUZXh0IiwgeyBleGVjdXRlSW5zZXJ0VGV4dCwgc3VwcG9ydGVkLCBlbmFibGVkSW5F
ZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uIH0gfSwK
KyAgICAgICAgeyAiSW5zZXJ0VGV4dCIsIHsgZXhlY3V0ZUluc2VydFRleHQsIHN1cHBvcnRlZCwg
ZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgaXNUZXh0SW5zZXJ0
aW9uIH0gfSwKICAgICAgICAgeyAiSW5zZXJ0VW5vcmRlcmVkTGlzdCIsIHsgZXhlY3V0ZUluc2Vy
dFVub3JkZXJlZExpc3QsIHN1cHBvcnRlZCwgZW5hYmxlZEluUmljaGx5RWRpdGFibGVUZXh0LCBz
dGF0ZVVub3JkZXJlZExpc3QsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiB9IH0sCiAgICAg
ICAgIHsgIkl0YWxpYyIsIHsgZXhlY3V0ZVRvZ2dsZUl0YWxpYywgc3VwcG9ydGVkLCBlbmFibGVk
SW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlSXRhbGljLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNl
cnRpb24gfSB9LAogICAgICAgICB7ICJKdXN0aWZ5Q2VudGVyIiwgeyBleGVjdXRlSnVzdGlmeUNl
bnRlciwgc3VwcG9ydGVkLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwg
dmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uIH0gfSwKSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CShyZXZpc2lvbiAyODc2OCkKKysrIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTY3LDYgKzE1NjcsOSBAQCBib29sIEV2ZW50SGFuZGxlcjo6a2V5RXZl
bnQoY29uc3QgUGxhdGZvCiAgICAga2V5cHJlc3MtPnNldFRhcmdldChub2RlKTsKICAgICBpZiAo
a2V5ZG93blJlc3VsdCkKICAgICAgICAga2V5cHJlc3MtPnNldERlZmF1bHRQcmV2ZW50ZWQodHJ1
ZSk7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGtleXByZXNzLT5rZXlwcmVzc0NvbW1hbmRzKCkg
PSBrZXlkb3duLT5rZXlwcmVzc0NvbW1hbmRzKCk7CisjZW5kaWYKICAgICBub2RlLT5kaXNwYXRj
aEV2ZW50KGtleXByZXNzLCBlYywgdHJ1ZSk7CiAKICAgICByZXR1cm4ga2V5ZG93blJlc3VsdCB8
fCBrZXlwcmVzcy0+ZGVmYXVsdFByZXZlbnRlZCgpIHx8IGtleXByZXNzLT5kZWZhdWx0SGFuZGxl
ZCgpOwpJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4NzY5KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAwNy0xMi0xNiAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQx
NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUyNzA5NTg+IFJFR1JFU1NJT046IENvbXBsZXgg
c3lzdGVtIEtleUJpbmRpbmdzIGRvbid0IHdvcmsgcHJvcGVybHkKKworICAgICAgICAqIFdlYlZp
ZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9pbnRlcmNlcHRFZGl0
aW5nS2V5RXZlbnQ6c2hvdWxkU2F2ZUNvbW1hbmQ6XSk6IE1hZGUgY29tbWFuZCByZXBsYXlpbmcg
d29yaworICAgICAgICB3aGVuIGhhbmRsaW5nIGtleXByZXNzLCB0b28uCisgICAgICAgICgtW1dl
YkhUTUxWaWV3IGRvQ29tbWFuZEJ5U2VsZWN0b3I6XSk6IEFkYXB0ZWQgZm9yIHRoZSBuZXcgd2F5
IHRvIHN0b3JlIGNvbW1hbmRzIGluIGV2ZW50cy4KKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgaW5z
ZXJ0VGV4dDpdKTogQXBwZW5kIGEgY29tbWFuZCwgbm90IHJlcGxhY2UgdGhlIHdob2xlIGV4aXN0
aW5nIHZlY3Rvci4gQWxzbywKKyAgICAgICAgcmVzdG9yZSB0aGUgc3RhdGUgZm9yIGFkZGl0aW9u
YWwgY29tbWFuZHMgdG8gYmUgc2F2ZWQgY29ycmVjdGx5LgorCiAyMDA3LTEyLTE0ICBEYXZpZCBE
LiBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU2NDcyNzI+IFJlbW92ZSB1c2VyIGFnZW50IHN0cmluZyBoYWNrIGZvciBmbGlja3IuY29tCklu
ZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZpc2lvbiAyODc2OCkKKysrIFdlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDcwMCw4ICs0
NzAwLDggQEAgc3RhdGljIENHUG9pbnQgY29yZUdyYXBoaWNzU2NyZWVuUG9pbnRGbwogICAgICAg
ICBwYXJhbWV0ZXJzLmV2ZW50ID0gZXZlbnQ7CiAgICAgICAgIF9wcml2YXRlLT5pbnRlcnByZXRL
ZXlFdmVudHNQYXJhbWV0ZXJzID0gJnBhcmFtZXRlcnM7CiAgICAgICAgIF9wcml2YXRlLT5yZWNl
aXZlZE5PT1AgPSBOTzsKLSAgICAgICAgS2V5cHJlc3NDb21tYW5kIGNvbW1hbmQgPSBldmVudC0+
a2V5cHJlc3NDb21tYW5kKCk7Ci0gICAgICAgIGJvb2wgaGFzS2V5cHJlc3NDb21tYW5kID0gIWNv
bW1hbmQuY29tbWFuZE5hbWVzLmlzRW1wdHkoKSB8fCAhY29tbWFuZC50ZXh0LmlzRW1wdHkoKTsK
KyAgICAgICAgY29uc3QgVmVjdG9yPEtleXByZXNzQ29tbWFuZD4mIGNvbW1hbmRzID0gZXZlbnQt
PmtleXByZXNzQ29tbWFuZHMoKTsKKyAgICAgICAgYm9vbCBoYXNLZXlwcmVzc0NvbW1hbmQgPSAh
Y29tbWFuZHMuaXNFbXB0eSgpOwogCiAgICAgICAgIC8vIEZJWE1FOiBpbnRlcnByZXRLZXlFdmVu
dHMgZG9lc24ndCBtYXRjaCBhcHBsaWNhdGlvbiBrZXkgZXF1aXZhbGVudHMgKHN1Y2ggYXMgQ21k
K0EpLAogICAgICAgICAvLyBhbmQgc2VuZHMgbm9vcDogZm9yIHRob3NlLiBBcyBhIHJlc3VsdCwg
d2UgZG9uJ3QgaGFuZGxlIHRob3NlIGZyb20gd2l0aGluIFdlYkNvcmUsCkBAIC00NzA5LDIwICs0
NzA5LDIyIEBAIHN0YXRpYyBDR1BvaW50IGNvcmVHcmFwaGljc1NjcmVlblBvaW50Rm8KICAgICAg
ICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkU2F2ZUNvbW1hbmQgfHwgIWhhc0tleXByZXNzQ29tbWFu
ZCkKICAgICAgICAgICAgIFtzZWxmIGludGVycHJldEtleUV2ZW50czpbTlNBcnJheSBhcnJheVdp
dGhPYmplY3Q6bWFjRXZlbnRdXTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQo
cGxhdGZvcm1FdmVudC0+dHlwZSgpID09IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6UmF3S2V5RG93
bik7Ci0gICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IGNvbW1hbmQuY29tbWFuZE5hbWVzLnNpemUo
KTsKKyAgICAgICAgICAgIHNpemVfdCBzaXplID0gY29tbWFuZHMuc2l6ZSgpOwogICAgICAgICAg
ICAgLy8gQXJlIHRoZXJlIGNvbW1hbmRzIHRoYXQgd291bGQganVzdCBjYXVzZSB0ZXh0IGluc2Vy
dGlvbiBpZiBleGVjdXRlZCB2aWEgRWRpdG9yPwogICAgICAgICAgICAgLy8gV2ViS2l0IGRvZXNu
J3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24gYWJvdXQgbW9kZSB0byBkZWNpZGUgaG93IHRoZXkg
c2hvdWxkIGJlIHRyZWF0ZWQsIHNvIHdlIGxlYXZlIGl0IHVwb24gV2ViQ29yZQogICAgICAgICAg
ICAgLy8gdG8gZWl0aGVyIGhhbmRsZSB0aGVtIGltbWVkaWF0ZWx5IChlLmcuIFRhYiB0aGF0IGNo
YW5nZXMgZm9jdXMpIG9yIGxldCBhIGtleXByZXNzIGV2ZW50IGJlIGdlbmVyYXRlZAogICAgICAg
ICAgICAgLy8gKGUuZy4gVGFiIHRoYXQgaW5zZXJ0cyBhIFRhYiBjaGFyYWN0ZXIsIG9yIEVudGVy
KS4KICAgICAgICAgICAgIGJvb2wgaGF2ZVRleHRJbnNlcnRpb25Db21tYW5kcyA9IGZhbHNlOwog
ICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoW3NlbGYgY29yZUNvbW1hbmRCeVNlbGVjdG9yOk5TU2VsZWN0b3JGcm9tU3Ry
aW5nKGNvbW1hbmQuY29tbWFuZE5hbWVzW2ldKV0uaXNUZXh0SW5zZXJ0aW9uKCkpCisgICAgICAg
ICAgICAgICAgaWYgKFtzZWxmIGNvcmVDb21tYW5kQnlTZWxlY3RvcjpOU1NlbGVjdG9yRnJvbVN0
cmluZyhjb21tYW5kc1tpXS5jb21tYW5kTmFtZSldLmlzVGV4dEluc2VydGlvbigpKQogICAgICAg
ICAgICAgICAgICAgICBoYXZlVGV4dEluc2VydGlvbkNvbW1hbmRzID0gdHJ1ZTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGlmICghaGF2ZVRleHRJbnNlcnRpb25Db21tYW5kcykKKyAgICAg
ICAgICAgIGlmICghaGF2ZVRleHRJbnNlcnRpb25Db21tYW5kcyB8fCBwbGF0Zm9ybUV2ZW50LT50
eXBlKCkgPT0gUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpDaGFyKQogICAgICAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICAgICAgICAgICAgICBbc2Vs
ZiBkb0NvbW1hbmRCeVNlbGVjdG9yOk5TU2VsZWN0b3JGcm9tU3RyaW5nKGNvbW1hbmQuY29tbWFu
ZE5hbWVzW2ldKV07CisgICAgICAgICAgICAgICAgICAgIGlmIChjb21tYW5kc1tpXS5jb21tYW5k
TmFtZSA9PSAiaW5zZXJ0VGV4dDoiKQorICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGYgaW5z
ZXJ0VGV4dDpjb21tYW5kc1tpXS50ZXh0XTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICAgICAgW3NlbGYgZG9Db21tYW5kQnlTZWxlY3RvcjpOU1NlbGVjdG9y
RnJvbVN0cmluZyhjb21tYW5kc1tpXS5jb21tYW5kTmFtZSldOwogICAgICAgICB9CiAgICAgICAg
IF9wcml2YXRlLT5pbnRlcnByZXRLZXlFdmVudHNQYXJhbWV0ZXJzID0gMDsKICAgICB9CkBAIC01
MDQ3LDExICs1MDQ5LDkgQEAgc3RhdGljIHZvaWQgZXh0cmFjdFVuZGVybGluZXMoTlNBdHRyaWJ1
dAogICAgIEtleWJvYXJkRXZlbnQqIGV2ZW50ID0gcGFyYW1ldGVycyA/IHBhcmFtZXRlcnMtPmV2
ZW50IDogMDsKICAgICBib29sIHNob3VsZFNhdmVDb21tYW5kID0gcGFyYW1ldGVycyAmJiBwYXJh
bWV0ZXJzLT5zaG91bGRTYXZlQ29tbWFuZDsKIAotICAgIGlmIChldmVudCAmJiBzaG91bGRTYXZl
Q29tbWFuZCkgewotICAgICAgICBLZXlwcmVzc0NvbW1hbmQgY29tbWFuZCA9IGV2ZW50LT5rZXlw
cmVzc0NvbW1hbmQoKTsKLSAgICAgICAgY29tbWFuZC5jb21tYW5kTmFtZXMuYXBwZW5kKE5TU3Ry
aW5nRnJvbVNlbGVjdG9yKHNlbGVjdG9yKSk7Ci0gICAgICAgIGV2ZW50LT5zZXRLZXlwcmVzc0Nv
bW1hbmQoY29tbWFuZCk7Ci0gICAgfSBlbHNlIHsKKyAgICBpZiAoZXZlbnQgJiYgc2hvdWxkU2F2
ZUNvbW1hbmQpCisgICAgICAgIGV2ZW50LT5rZXlwcmVzc0NvbW1hbmRzKCkuYXBwZW5kKEtleXBy
ZXNzQ29tbWFuZChOU1N0cmluZ0Zyb21TZWxlY3RvcihzZWxlY3RvcikpKTsKKyAgICBlbHNlIHsK
ICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgb25seSBkaXJlY3QgY2FsbHMgdG8gZG9Db21tYW5k
QnlTZWxlY3Rvcjogc2VlIHRoZSBwYXJhbWV0ZXJzIGJ5IHNldHRpbmcgdG8gMC4KICAgICAgICAg
X3ByaXZhdGUtPmludGVycHJldEtleUV2ZW50c1BhcmFtZXRlcnMgPSAwOwogCkBAIC01MTIxLDkg
KzUxMjEsOCBAQCBzdGF0aWMgdm9pZCBleHRyYWN0VW5kZXJsaW5lcyhOU0F0dHJpYnV0CiAgICAg
ICAgIC8vIGFub3RoZXIgd2F5IHRvIGRldGVybWluZSBpZiB0aGUgY2FsbCBpcyBmcm9tIHRoZSBp
bnB1dCBtZXRob2QKICAgICAgICAgYm9vbCBzaG91bGRTYXZlQ29tbWFuZCA9IHBhcmFtZXRlcnMg
JiYgcGFyYW1ldGVycy0+c2hvdWxkU2F2ZUNvbW1hbmQ7CiAgICAgICAgIGlmIChldmVudCAmJiBz
aG91bGRTYXZlQ29tbWFuZCAmJiAhaXNGcm9tSW5wdXRNZXRob2QpIHsKLSAgICAgICAgICAgIEtl
eXByZXNzQ29tbWFuZCBjb21tYW5kOwotICAgICAgICAgICAgY29tbWFuZC50ZXh0ID0gdGV4dDsK
LSAgICAgICAgICAgIGV2ZW50LT5zZXRLZXlwcmVzc0NvbW1hbmQoY29tbWFuZCk7CisgICAgICAg
ICAgICBldmVudC0+a2V5cHJlc3NDb21tYW5kcygpLmFwcGVuZChLZXlwcmVzc0NvbW1hbmQoImlu
c2VydFRleHQ6IiwgdGV4dCkpOworICAgICAgICAgICAgX3ByaXZhdGUtPmludGVycHJldEtleUV2
ZW50c1BhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAgICAgICAgIAo=
</data>
<flag name="review"
          id="7767"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>