<?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>85503</bug_id>
          
          <creation_ts>2012-05-03 08:46:01 -0700</creation_ts>
          <short_desc>[EFL]PlatformKeyboardEvent: figures, letters and printscreen key handling</short_desc>
          <delta_ts>2012-05-22 11:21:16 -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>WebKit EFL</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85369</blocked>
    
    <blocked>86200</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>615304</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-03 08:46:01 -0700</bug_when>
    <thetext>figures, letters and printscreen key should be added to keyMap and windowsKeyMap in order to unskip:
fast/events/special-key-events-in-input-text.html
fast/forms/enter-clicks-buttons.html
and also improve input for
fast/events/key-events-in-input-button.html
fast/events/key-events-in-input-text.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615315</commentid>
    <comment_count>1</comment_count>
      <attachid>140027</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-03 08:58:15 -0700</bug_when>
    <thetext>Created attachment 140027
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615901</commentid>
    <comment_count>2</comment_count>
      <attachid>140027</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-03 19:22:54 -0700</bug_when>
    <thetext>Comment on attachment 140027
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        No new tests.

Remove above line or write the reason why this patch don&apos;t need new test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615995</commentid>
    <comment_count>3</comment_count>
      <attachid>140168</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-03 23:45:56 -0700</bug_when>
    <thetext>Created attachment 140168
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling

fix changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615998</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-03 23:47:02 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 140027 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140027&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:12
&gt; &gt; +        No new tests.
&gt; 
&gt; Remove above line or write the reason why this patch don&apos;t need new test.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617251</commentid>
    <comment_count>5</comment_count>
      <attachid>140168</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-06 18:20:06 -0700</bug_when>
    <thetext>Comment on attachment 140168
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling

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

Are there more commits related to adding keys to this file in your queue?

&gt; LayoutTests/ChangeLog:3
&gt; +        [EFL]PlatformKeyboardEvent: figures, letters and printscreen key handling

Nit: &apos;[EFL] foo&apos; instead of &apos;[EFL]foo&apos;

&gt; Source/WebCore/ChangeLog:3
&gt; +        [EFL]PlatformKeyboardEvent: figures, letters and printscreen key handling

Ditto.

&gt; Source/WebCore/ChangeLog:9
&gt; +        Corrected valure for printscreen key in the windowsKeyMap.

Nit: s/valure/value/.

&gt; Source/WebCore/ChangeLog:10
&gt; +        Figures and letters keys are added to the keyMap.
&gt; +        Corrected valure for printscreen key in the windowsKeyMap.
&gt; +        Capital letters keys are added to the windowsKeyMap.

This description can be moved to the respective methods they are related to below.

&gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:97
&gt; +    // Set alphabet to the keyMap.
&gt; +    const char* lows = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
&gt; +    const char* caps = &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
&gt; +    const int lowsBase = static_cast&lt;int&gt;(*lows);
&gt; +    const int capsBase = static_cast&lt;int&gt;(*caps);
&gt; +
&gt; +    for (unsigned int i = 0; i &lt; 26; i++) {
&gt; +        keyMap().set(String(lows + i, 1), String::format(&quot;U+%04X&quot;, lowsBase + i));
&gt; +        keyMap().set(String(caps + i, 1), String::format(&quot;U+%04X&quot;, capsBase + i));
&gt; +    }
&gt; +
&gt; +    // Set digits to the keyMap
&gt; +    const int digitBase = static_cast&lt;int&gt;(&apos;0&apos;);
&gt; +    for (unsigned int i = 0; i &lt; 10; i++)
&gt; +        keyMap().set(String::number(i), String::format(&quot;U+%04X&quot;, digitBase + i));

How about

  static void addCharacterToKeyMap(char character)
  {
      keyMap().set(String(&amp;character, 1), String::format(&quot;U+%04X&quot;, character));
  }

  static void createKeyMap()
  {
      // ...

      for (char c = &apos;a&apos;; c &lt;= &apos;z&apos;; c++)
          addCharacterToKeyMap(c);
      for (char c = &apos;A&apos;; c &lt;= &apos;Z&apos;; c++)
          addCharacterToKeyMap(c);
      for (char c = &apos;0&apos;; c &lt;= &apos;9&apos;; c++)
          addCharacterToKeyMap(c);

      // ....
  }

&gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:155
&gt; -    const char* alphabet = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
&gt; +    const char* lows = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
&gt; +    const char* caps = &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
&gt;      for (unsigned int i = 0; i &lt; 26; i++) {

This can be simplified in a way similar to the one I described above.

&gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:209
&gt; +    if (keyName == &quot;Print&quot;)
&gt; +        return String(&quot;&quot;);

Are you sure this is correct? Neither the Qt nor the GTK+ port does something similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617542</commentid>
    <comment_count>6</comment_count>
      <attachid>140514</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-07 05:43:04 -0700</bug_when>
    <thetext>Created attachment 140514
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617547</commentid>
    <comment_count>7</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-07 05:54:50 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 140168 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140168&amp;action=review
&gt; 
&gt; Are there more commits related to adding keys to this file in your queue?
&gt; 
&gt; &gt; LayoutTests/ChangeLog:3
&gt; &gt; +        [EFL]PlatformKeyboardEvent: figures, letters and printscreen key handling
&gt; 
&gt; Nit: &apos;[EFL] foo&apos; instead of &apos;[EFL]foo&apos;
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        [EFL]PlatformKeyboardEvent: figures, letters and printscreen key handling
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Corrected valure for printscreen key in the windowsKeyMap.
&gt; 
&gt; Nit: s/valure/value/.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Figures and letters keys are added to the keyMap.
&gt; &gt; +        Corrected valure for printscreen key in the windowsKeyMap.
&gt; &gt; +        Capital letters keys are added to the windowsKeyMap.
&gt; 
&gt; This description can be moved to the respective methods they are related to below.
&gt; 
&gt; &gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:97
&gt; &gt; +    // Set alphabet to the keyMap.
&gt; &gt; +    const char* lows = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
&gt; &gt; +    const char* caps = &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
&gt; &gt; +    const int lowsBase = static_cast&lt;int&gt;(*lows);
&gt; &gt; +    const int capsBase = static_cast&lt;int&gt;(*caps);
&gt; &gt; +
&gt; &gt; +    for (unsigned int i = 0; i &lt; 26; i++) {
&gt; &gt; +        keyMap().set(String(lows + i, 1), String::format(&quot;U+%04X&quot;, lowsBase + i));
&gt; &gt; +        keyMap().set(String(caps + i, 1), String::format(&quot;U+%04X&quot;, capsBase + i));
&gt; &gt; +    }
&gt; &gt; +
&gt; &gt; +    // Set digits to the keyMap
&gt; &gt; +    const int digitBase = static_cast&lt;int&gt;(&apos;0&apos;);
&gt; &gt; +    for (unsigned int i = 0; i &lt; 10; i++)
&gt; &gt; +        keyMap().set(String::number(i), String::format(&quot;U+%04X&quot;, digitBase + i));
&gt; 
&gt; How about
&gt; 
&gt;   static void addCharacterToKeyMap(char character)
&gt;   {
&gt;       keyMap().set(String(&amp;character, 1), String::format(&quot;U+%04X&quot;, character));
&gt;   }
&gt; 
&gt;   static void createKeyMap()
&gt;   {
&gt;       // ...
&gt; 
&gt;       for (char c = &apos;a&apos;; c &lt;= &apos;z&apos;; c++)
&gt;           addCharacterToKeyMap(c);
&gt;       for (char c = &apos;A&apos;; c &lt;= &apos;Z&apos;; c++)
&gt;           addCharacterToKeyMap(c);
&gt;       for (char c = &apos;0&apos;; c &lt;= &apos;9&apos;; c++)
&gt;           addCharacterToKeyMap(c);
&gt; 
&gt;       // ....
&gt;   }
&gt; 
&gt; &gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:155
&gt; &gt; -    const char* alphabet = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
&gt; &gt; +    const char* lows = &quot;abcdefghijklmnopqrstuvwxyz&quot;;
&gt; &gt; +    const char* caps = &quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
&gt; &gt;      for (unsigned int i = 0; i &lt; 26; i++) {
&gt; 
&gt; This can be simplified in a way similar to the one I described above.
&gt; 

Fixed all above.

&gt; &gt; Source/WebCore/platform/efl/EflKeyboardUtilities.cpp:209
&gt; &gt; +    if (keyName == &quot;Print&quot;)
&gt; &gt; +        return String(&quot;&quot;);
&gt; 
&gt; Are you sure this is correct? Neither the Qt nor the GTK+ port does something similar.

This function is used to evaluate text() and unmodifiedText() properties for the event, which should be empty in this case.
Actually GTK+ port has something similar as gdk_keyval_to_unicode() returns 0 for printscreen key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617555</commentid>
    <comment_count>8</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-07 06:11:25 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 140168 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140168&amp;action=review
&gt; 
&gt; Are there more commits related to adding keys to this file in your queue?
There is also bug85479 fixing numeric pad keys related tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617611</commentid>
    <comment_count>9</comment_count>
      <attachid>140514</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-07 08:19:36 -0700</bug_when>
    <thetext>Comment on attachment 140514
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling

Looks good, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624388</commentid>
    <comment_count>10</comment_count>
      <attachid>140514</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-15 12:22:39 -0700</bug_when>
    <thetext>Comment on attachment 140514
EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling

Rejecting attachment 140514 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ng file Source/WebCore/platform/efl/EflKeyboardUtilities.cpp
Hunk #2 FAILED at 84.
Hunk #3 succeeded at 126 (offset 11 lines).
Hunk #4 succeeded at 161 with fuzz 1 (offset 22 lines).
Hunk #5 succeeded at 209 (offset 22 lines).
1 out of 5 hunks FAILED -- saving rejects to file Source/WebCore/platform/efl/EflKeyboardUtilities.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Gustavo No...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12703548</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624856</commentid>
    <comment_count>11</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-15 19:04:56 -0700</bug_when>
    <thetext>Rebase please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625070</commentid>
    <comment_count>12</comment_count>
      <attachid>142176</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-05-16 00:26:45 -0700</bug_when>
    <thetext>Created attachment 142176
to be landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625160</commentid>
    <comment_count>13</comment_count>
      <attachid>142176</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 02:11:46 -0700</bug_when>
    <thetext>Comment on attachment 142176
to be landed.

Clearing flags on attachment: 142176

Committed r117238: &lt;http://trac.webkit.org/changeset/117238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625161</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-16 02:11:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140027</attachid>
            <date>2012-05-03 08:58:15 -0700</date>
            <delta_ts>2012-05-03 23:45:56 -0700</delta_ts>
            <desc>EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling</desc>
            <filename>bug85503</filename>
            <type>text/plain</type>
            <size>4617</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDNjZTA0ZDA3MzVkMTljNmFhNmI5N2RlOWYzNzNmMjA1MGNjYWExYWEKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAzIDE4OjU2OjQ1IDIwMTIgKzAzMDAKCiAgICBidWc4NTUwMwoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YWZi
NzBkLi5jZWVlZTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDMgIE1pa2hhaWwg
UG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgW0VG
TF1QbGF0Zm9ybUtleWJvYXJkRXZlbnQ6IGZpZ3VyZXMsIGxldHRlcnMgYW5kIHByaW50c2NyZWVu
IGtleSBoYW5kbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU1MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCdWctcmVsYXRlZCB0ZXN0Y2FzZXMgYXJlIHVuc2tpcHBlZC4KKworICAgICAgICAqIHBs
YXRmb3JtL2VmbC9Ta2lwcGVkOgorCiAyMDEyLTA1LTAyICBEb25nd29vIEltICA8ZHcuaW1Ac2Ft
c3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gSW1wbGVtZW50IHRoZSBXZWIgQXVkaW8gQVBJIGZl
YXR1cmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDg5Y2ZiYjguLjAwNDI4ZmQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC0xMDQwLDggKzEwNDAsNiBAQCBmYXN0L2V2ZW50
cy9rZXktZXZlbnRzLWluLWlucHV0LWJ1dHRvbi5odG1sCiBmYXN0L2V2ZW50cy9rZXktZXZlbnRz
LWluLWlucHV0LXRleHQuaHRtbAogZmFzdC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy5odG1s
CiBmYXN0L2V2ZW50cy9vcHRpb24tdGFiLmh0bWwKLWZhc3QvZXZlbnRzL3NwZWNpYWwta2V5LWV2
ZW50cy1pbi1pbnB1dC10ZXh0Lmh0bWwKLWZhc3QvZm9ybXMvZW50ZXItY2xpY2tzLWJ1dHRvbnMu
aHRtbAogZmFzdC9mb3Jtcy9pbnB1dC1zZWFyY2gtcHJlc3MtZXNjYXBlLWtleS5odG1sCiAKICMg
QlVHOiBub3Qgc2Nyb2xsaW5nIGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc1ZjkwNzkuLmU2ZTE2
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNS0wMyAgTWlraGFpbCBQb3pk
bnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVBs
YXRmb3JtS2V5Ym9hcmRFdmVudDogZmlndXJlcywgbGV0dGVycyBhbmQgcHJpbnRzY3JlZW4ga2V5
IGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTUwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpZ3VyZXMgYW5kIGxldHRlcnMga2V5cyBhcmUgYWRkZWQgdG8gdGhlIGtleU1hcC4KKyAgICAg
ICAgQ29ycmVjdGVkIHZhbHVyZSBmb3IgcHJpbnRzY3JlZW4ga2V5IGluIHRoZSB3aW5kb3dzS2V5
TWFwLgorICAgICAgICBDYXBpdGFsIGxldHRlcnMga2V5cyBhcmUgYWRkZWQgdG8gdGhlIHdpbmRv
d3NLZXlNYXAuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0v
ZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUtl
eU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXaW5kb3dzS2V5TWFwKToKKyAgICAgICAg
KFdlYkNvcmU6OnNpbmdsZUNoYXJhY3RlclN0cmluZyk6CisKIDIwMTItMDUtMDIgIERvbmd3b28g
SW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBJbXBsZW1lbnQgdGhlIFdl
YiBBdWRpbyBBUEkgZmVhdHVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9FZmxLZXlib2FyZFV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuY3BwCmluZGV4IGFhMWI1ZTguLmViOWViNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxLZXlib2FyZFV0aWxpdGllcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVz
LmNwcApAQCAtNzgsNiArNzgsMjMgQEAgc3RhdGljIHZvaWQgY3JlYXRlS2V5TWFwKCkKICAgICBr
ZXlNYXAoKS5zZXQoIklTT19MZWZ0X1RhYiIsICJVKzAwMDkiKTsKICAgICBrZXlNYXAoKS5zZXQo
IkJhY2tTcGFjZSIsICJVKzAwMDgiKTsKICAgICBrZXlNYXAoKS5zZXQoInNwYWNlIiwgIlUrMDAy
MCIpOworICAgIGtleU1hcCgpLnNldCgiUHJpbnQiLCAiUHJpbnRTY3JlZW4iKTsKKworICAgIC8v
IFNldCBhbHBoYWJldCB0byB0aGUga2V5TWFwLgorICAgIGNvbnN0IGNoYXIqIGxvd3MgPSAiYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOworICAgIGNvbnN0IGNoYXIqIGNhcHMgPSAiQUJDREVG
R0hJSktMTU5PUFFSU1RVVldYWVoiOworICAgIGNvbnN0IGludCBsb3dzQmFzZSA9IHN0YXRpY19j
YXN0PGludD4oKmxvd3MpOworICAgIGNvbnN0IGludCBjYXBzQmFzZSA9IHN0YXRpY19jYXN0PGlu
dD4oKmNhcHMpOworCisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7
CisgICAgICAgIGtleU1hcCgpLnNldChTdHJpbmcobG93cyArIGksIDEpLCBTdHJpbmc6OmZvcm1h
dCgiVSslMDRYIiwgbG93c0Jhc2UgKyBpKSk7CisgICAgICAgIGtleU1hcCgpLnNldChTdHJpbmco
Y2FwcyArIGksIDEpLCBTdHJpbmc6OmZvcm1hdCgiVSslMDRYIiwgY2Fwc0Jhc2UgKyBpKSk7Cisg
ICAgfQorCisgICAgLy8gU2V0IGRpZ2l0cyB0byB0aGUga2V5TWFwCisgICAgY29uc3QgaW50IGRp
Z2l0QmFzZSA9IHN0YXRpY19jYXN0PGludD4oJzAnKTsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBp
ID0gMDsgaSA8IDEwOyBpKyspCisgICAgICAgIGtleU1hcCgpLnNldChTdHJpbmc6Om51bWJlcihp
KSwgU3RyaW5nOjpmb3JtYXQoIlUrJTA0WCIsIGRpZ2l0QmFzZSArIGkpKTsKIH0KIAogc3RhdGlj
IHZvaWQgY3JlYXRlV2luZG93c0tleU1hcCgpCkBAIC0xMDksNyArMTI2LDcgQEAgc3RhdGljIHZv
aWQgY3JlYXRlV2luZG93c0tleU1hcCgpCiAgICAgd2luZG93c0tleU1hcCgpLnNldCgiTGVmdCIs
IFZLX0xFRlQpOwogICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIlVwIiwgVktfVVApOwogICAgIHdp
bmRvd3NLZXlNYXAoKS5zZXQoIkRvd24iLCBWS19ET1dOKTsKLSAgICB3aW5kb3dzS2V5TWFwKCku
c2V0KCJQcmludCIsIFZLX1BSSU5UKTsKKyAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KCJQcmludCIs
IFZLX1NOQVBTSE9UKTsKICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KCJJbnNlcnQiLCBWS19JTlNF
UlQpOwogICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIkRlbGV0ZSIsIFZLX0RFTEVURSk7CiAKQEAg
LTEzMywxMCArMTUwLDExIEBAIHN0YXRpYyB2b2lkIGNyZWF0ZVdpbmRvd3NLZXlNYXAoKQogICAg
IHdpbmRvd3NLZXlNYXAoKS5zZXQoInF1b3RlZGJsIiwgVktfT0VNXzcpOwogCiAgICAgLy8gU2V0
IGFscGhhYmV0IHRvIHRoZSB3aW5kb3dzS2V5TWFwLgotICAgIGNvbnN0IGNoYXIqIGFscGhhYmV0
ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKKyAgICBjb25zdCBjaGFyKiBsb3dzID0g
ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKKyAgICBjb25zdCBjaGFyKiBjYXBzID0gIkFC
Q0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsKICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsg
aSA8IDI2OyBpKyspIHsKLSAgICAgICAgU3RyaW5nIGtleShhbHBoYWJldCArIGksIDEpOwotICAg
ICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KGtleSwgVktfQSArIGkpOworICAgICAgICB3aW5kb3dz
S2V5TWFwKCkuc2V0KFN0cmluZyhsb3dzICsgaSwgMSksIFZLX0EgKyBpKTsKKyAgICAgICAgd2lu
ZG93c0tleU1hcCgpLnNldChTdHJpbmcoY2FwcyArIGksIDEpLCBWS19BICsgaSk7CiAgICAgfQog
CiAgICAgLy8gU2V0IGRpZ2l0cyB0byB0aGUgd2luZG93c0tleU1hcC4KQEAgLTE4Nyw2ICsyMDUs
OCBAQCBTdHJpbmcgc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGNvbnN0IFN0cmluZyYga2V5TmFtZSkK
ICAgICAgICAgcmV0dXJuIFN0cmluZygiXHg4Iik7CiAgICAgaWYgKGtleU5hbWUgPT0gIlRhYiIp
CiAgICAgICAgIHJldHVybiBTdHJpbmcoIlx0Iik7CisgICAgaWYgKGtleU5hbWUgPT0gIlByaW50
IikKKyAgICAgICAgcmV0dXJuIFN0cmluZygiIik7CiAgICAgcmV0dXJuIGtleU5hbWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140168</attachid>
            <date>2012-05-03 23:45:56 -0700</date>
            <delta_ts>2012-05-07 05:43:04 -0700</delta_ts>
            <desc>EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling</desc>
            <filename>bug85503_v2</filename>
            <type>text/plain</type>
            <size>4592</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGM3YTIwM2U1Y2JjZjUxMjFkOTJlODFkOGZkMDRkZGM3MTA2YzlkMmUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
VGh1IE1heSAzIDE4OjU2OjQ1IDIwMTIgKzAzMDAKCiAgICBidWc4NTUwMwoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YWZi
NzBkLi5jZWVlZTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDMgIE1pa2hhaWwg
UG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgW0VG
TF1QbGF0Zm9ybUtleWJvYXJkRXZlbnQ6IGZpZ3VyZXMsIGxldHRlcnMgYW5kIHByaW50c2NyZWVu
IGtleSBoYW5kbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU1MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCdWctcmVsYXRlZCB0ZXN0Y2FzZXMgYXJlIHVuc2tpcHBlZC4KKworICAgICAgICAqIHBs
YXRmb3JtL2VmbC9Ta2lwcGVkOgorCiAyMDEyLTA1LTAyICBEb25nd29vIEltICA8ZHcuaW1Ac2Ft
c3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gSW1wbGVtZW50IHRoZSBXZWIgQXVkaW8gQVBJIGZl
YXR1cmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDg5Y2ZiYjguLjAwNDI4ZmQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC0xMDQwLDggKzEwNDAsNiBAQCBmYXN0L2V2ZW50
cy9rZXktZXZlbnRzLWluLWlucHV0LWJ1dHRvbi5odG1sCiBmYXN0L2V2ZW50cy9rZXktZXZlbnRz
LWluLWlucHV0LXRleHQuaHRtbAogZmFzdC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy5odG1s
CiBmYXN0L2V2ZW50cy9vcHRpb24tdGFiLmh0bWwKLWZhc3QvZXZlbnRzL3NwZWNpYWwta2V5LWV2
ZW50cy1pbi1pbnB1dC10ZXh0Lmh0bWwKLWZhc3QvZm9ybXMvZW50ZXItY2xpY2tzLWJ1dHRvbnMu
aHRtbAogZmFzdC9mb3Jtcy9pbnB1dC1zZWFyY2gtcHJlc3MtZXNjYXBlLWtleS5odG1sCiAKICMg
QlVHOiBub3Qgc2Nyb2xsaW5nIGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc1ZjkwNzkuLjZjM2Zh
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNS0wMyAgTWlraGFpbCBQb3pk
bnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXVBs
YXRmb3JtS2V5Ym9hcmRFdmVudDogZmlndXJlcywgbGV0dGVycyBhbmQgcHJpbnRzY3JlZW4ga2V5
IGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTUwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZpZ3VyZXMgYW5kIGxldHRlcnMga2V5cyBhcmUgYWRkZWQgdG8gdGhlIGtleU1hcC4KKyAgICAg
ICAgQ29ycmVjdGVkIHZhbHVyZSBmb3IgcHJpbnRzY3JlZW4ga2V5IGluIHRoZSB3aW5kb3dzS2V5
TWFwLgorICAgICAgICBDYXBpdGFsIGxldHRlcnMga2V5cyBhcmUgYWRkZWQgdG8gdGhlIHdpbmRv
d3NLZXlNYXAuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvRWZsS2V5Ym9hcmRVdGlsaXRpZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlS2V5TWFwKToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZVdpbmRvd3NLZXlNYXApOgorICAgICAgICAoV2ViQ29yZTo6c2luZ2xlQ2hhcmFjdGVy
U3RyaW5nKToKKwogMjAxMi0wNS0wMiAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIFtFRkxdIEltcGxlbWVudCB0aGUgV2ViIEF1ZGlvIEFQSSBmZWF0dXJlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxLZXlib2FyZFV0aWxpdGllcy5j
cHAKaW5kZXggYWExYjVlOC4uZWI5ZWI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lZmwvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuY3BwCkBAIC03OCw2ICs3OCwyMyBAQCBz
dGF0aWMgdm9pZCBjcmVhdGVLZXlNYXAoKQogICAgIGtleU1hcCgpLnNldCgiSVNPX0xlZnRfVGFi
IiwgIlUrMDAwOSIpOwogICAgIGtleU1hcCgpLnNldCgiQmFja1NwYWNlIiwgIlUrMDAwOCIpOwog
ICAgIGtleU1hcCgpLnNldCgic3BhY2UiLCAiVSswMDIwIik7CisgICAga2V5TWFwKCkuc2V0KCJQ
cmludCIsICJQcmludFNjcmVlbiIpOworCisgICAgLy8gU2V0IGFscGhhYmV0IHRvIHRoZSBrZXlN
YXAuCisgICAgY29uc3QgY2hhciogbG93cyA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7
CisgICAgY29uc3QgY2hhciogY2FwcyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7Cisg
ICAgY29uc3QgaW50IGxvd3NCYXNlID0gc3RhdGljX2Nhc3Q8aW50PigqbG93cyk7CisgICAgY29u
c3QgaW50IGNhcHNCYXNlID0gc3RhdGljX2Nhc3Q8aW50PigqY2Fwcyk7CisKKyAgICBmb3IgKHVu
c2lnbmVkIGludCBpID0gMDsgaSA8IDI2OyBpKyspIHsKKyAgICAgICAga2V5TWFwKCkuc2V0KFN0
cmluZyhsb3dzICsgaSwgMSksIFN0cmluZzo6Zm9ybWF0KCJVKyUwNFgiLCBsb3dzQmFzZSArIGkp
KTsKKyAgICAgICAga2V5TWFwKCkuc2V0KFN0cmluZyhjYXBzICsgaSwgMSksIFN0cmluZzo6Zm9y
bWF0KCJVKyUwNFgiLCBjYXBzQmFzZSArIGkpKTsKKyAgICB9CisKKyAgICAvLyBTZXQgZGlnaXRz
IHRvIHRoZSBrZXlNYXAKKyAgICBjb25zdCBpbnQgZGlnaXRCYXNlID0gc3RhdGljX2Nhc3Q8aW50
PignMCcpOworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTA7IGkrKykKKyAgICAg
ICAga2V5TWFwKCkuc2V0KFN0cmluZzo6bnVtYmVyKGkpLCBTdHJpbmc6OmZvcm1hdCgiVSslMDRY
IiwgZGlnaXRCYXNlICsgaSkpOwogfQogCiBzdGF0aWMgdm9pZCBjcmVhdGVXaW5kb3dzS2V5TWFw
KCkKQEAgLTEwOSw3ICsxMjYsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVXaW5kb3dzS2V5TWFwKCkK
ICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KCJMZWZ0IiwgVktfTEVGVCk7CiAgICAgd2luZG93c0tl
eU1hcCgpLnNldCgiVXAiLCBWS19VUCk7CiAgICAgd2luZG93c0tleU1hcCgpLnNldCgiRG93biIs
IFZLX0RPV04pOwotICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIlByaW50IiwgVktfUFJJTlQpOwor
ICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIlByaW50IiwgVktfU05BUFNIT1QpOwogICAgIHdpbmRv
d3NLZXlNYXAoKS5zZXQoIkluc2VydCIsIFZLX0lOU0VSVCk7CiAgICAgd2luZG93c0tleU1hcCgp
LnNldCgiRGVsZXRlIiwgVktfREVMRVRFKTsKIApAQCAtMTMzLDEwICsxNTAsMTEgQEAgc3RhdGlj
IHZvaWQgY3JlYXRlV2luZG93c0tleU1hcCgpCiAgICAgd2luZG93c0tleU1hcCgpLnNldCgicXVv
dGVkYmwiLCBWS19PRU1fNyk7CiAKICAgICAvLyBTZXQgYWxwaGFiZXQgdG8gdGhlIHdpbmRvd3NL
ZXlNYXAuCi0gICAgY29uc3QgY2hhciogYWxwaGFiZXQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXoiOworICAgIGNvbnN0IGNoYXIqIGxvd3MgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXoiOworICAgIGNvbnN0IGNoYXIqIGNhcHMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoi
OwogICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMjY7IGkrKykgewotICAgICAgICBT
dHJpbmcga2V5KGFscGhhYmV0ICsgaSwgMSk7Ci0gICAgICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQo
a2V5LCBWS19BICsgaSk7CisgICAgICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoU3RyaW5nKGxvd3Mg
KyBpLCAxKSwgVktfQSArIGkpOworICAgICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KFN0cmluZyhj
YXBzICsgaSwgMSksIFZLX0EgKyBpKTsKICAgICB9CiAKICAgICAvLyBTZXQgZGlnaXRzIHRvIHRo
ZSB3aW5kb3dzS2V5TWFwLgpAQCAtMTg3LDYgKzIwNSw4IEBAIFN0cmluZyBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmcoY29uc3QgU3RyaW5nJiBrZXlOYW1lKQogICAgICAgICByZXR1cm4gU3RyaW5nKCJc
eDgiKTsKICAgICBpZiAoa2V5TmFtZSA9PSAiVGFiIikKICAgICAgICAgcmV0dXJuIFN0cmluZygi
XHQiKTsKKyAgICBpZiAoa2V5TmFtZSA9PSAiUHJpbnQiKQorICAgICAgICByZXR1cm4gU3RyaW5n
KCIiKTsKICAgICByZXR1cm4ga2V5TmFtZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140514</attachid>
            <date>2012-05-07 05:43:04 -0700</date>
            <delta_ts>2012-05-16 00:26:45 -0700</delta_ts>
            <desc>EFL&apos; PlatformKeyboardEvent: figures, letters and printscreen key handling</desc>
            <filename>bug85503_v2</filename>
            <type>text/plain</type>
            <size>4914</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGExMzRjYjRkMGNhOGI4ODgwMDgxNTlmOTE2MDcxNmJhZjhlZjdhNzQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
TW9uIE1heSA3IDE1OjI3OjQ4IDIwMTIgKzAzMDAKCiAgICBidWc4NTUwMwoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MDBi
ODRlLi45OWQwYjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDcgIE1pa2hhaWwg
UG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgW0VG
TF0gUGxhdGZvcm1LZXlib2FyZEV2ZW50OiBmaWd1cmVzLCBsZXR0ZXJzIGFuZCBwcmludHNjcmVl
biBrZXkgaGFuZGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1NTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQnVnLXJlbGF0ZWQgdGVzdGNhc2VzIGFyZSB1bnNraXBwZWQuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNS0wNiAgS3Jpc3TDs2YgS29zenR5w7MgIDxr
a3Jpc3RvZkBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBOZXcgdGVzdCBpbnRyb2R1
Y2VkIGluIHIxMTYyNTUgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCBi
YjUzNzg3Li5mY2ZhM2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtOTY0LDggKzk2
NCw2IEBAIGZhc3QvZXZlbnRzL2tleS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKIGZhc3Qv
ZXZlbnRzL2tleS1ldmVudHMtaW4taW5wdXQtdGV4dC5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3du
LW51bXBhZC1rZXlzLmh0bWwKIGZhc3QvZXZlbnRzL29wdGlvbi10YWIuaHRtbAotZmFzdC9ldmVu
dHMvc3BlY2lhbC1rZXktZXZlbnRzLWluLWlucHV0LXRleHQuaHRtbAotZmFzdC9mb3Jtcy9lbnRl
ci1jbGlja3MtYnV0dG9ucy5odG1sCiBmYXN0L2Zvcm1zL2lucHV0LXNlYXJjaC1wcmVzcy1lc2Nh
cGUta2V5Lmh0bWwKIAogIyBCVUc6IG5vdCBzY3JvbGxpbmcgY29ycmVjdGx5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggN2Q1MjhkZS4uOWQwZTUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1
LTA3ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtFRkxdIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDogZmlndXJlcywgbGV0dGVycyBh
bmQgcHJpbnRzY3JlZW4ga2V5IGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NTUwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZENoYXJhY3RlcnNUb0tleU1hcCk6IGF1eCBmdW5jdGlv
bgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVLZXlNYXApOiBG
aWd1cmVzIGFuZCBsZXR0ZXJzIGtleXMgYXJlIGFkZGVkIHRvIHRoZSBrZXlNYXAKKyAgICAgICAg
KFdlYkNvcmU6OmFkZENoYXJhY3RlcnNUb1dpbktleU1hcCk6IGF1eCBmdW5jdGlvbgorICAgICAg
ICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93c0tleU1hcCk6IENhcGl0YWwgbGV0dGVycyBrZXlzIGFy
ZSBhZGRlZCB0byB0aGUgd2luZG93c0tleU1hcC4gQ29ycmVjdGVkIHZhbHVlIGZvciBwcmludHNj
cmVlbiBrZXkuCisgICAgICAgIChXZWJDb3JlOjpzaW5nbGVDaGFyYWN0ZXJTdHJpbmcpOiBSZXR1
cm4gZW1wdHkgdGV4dCBmb3IgcHJpbnRzY3JlZW4ga2V5LgorCiAyMDEyLTA1LTA3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMTYyMzUp
OiBicm9rZSBhIGxvdCBvZiB0ZXN0cyBvbiBhbGwgY2hyb21pdW0gZGVidWcgYm90cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxLZXlib2FyZFV0aWxpdGllcy5jcHAK
aW5kZXggYWExYjVlOC4uZWJkZmM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuY3BwCkBAIC01MCw2ICs1MCwxMiBAQCBzdGF0
aWMgV2luZG93c0tleU1hcCYgd2luZG93c0tleU1hcCgpCiAgICAgcmV0dXJuIHdpbmRvd3NLZXlN
YXA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRDaGFyYWN0ZXJzVG9LZXlNYXAoY29uc3Qg
Y2hhciBmcm9tLCBjb25zdCBjaGFyIHRvKQoreworICAgIGZvciAoY2hhciBjID0gZnJvbTsgYyA8
PSB0bzsgYysrKQorICAgICAgICBrZXlNYXAoKS5zZXQoU3RyaW5nKCZjLCAxKSwgU3RyaW5nOjpm
b3JtYXQoIlUrJTA0WCIsIGMpKTsKK30KKwogc3RhdGljIHZvaWQgY3JlYXRlS2V5TWFwKCkKIHsK
ICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMTsgaSA8IDI1OyBpKyspIHsKQEAgLTc4LDYgKzg0
LDE4IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUtleU1hcCgpCiAgICAga2V5TWFwKCkuc2V0KCJJU09f
TGVmdF9UYWIiLCAiVSswMDA5Iik7CiAgICAga2V5TWFwKCkuc2V0KCJCYWNrU3BhY2UiLCAiVSsw
MDA4Iik7CiAgICAga2V5TWFwKCkuc2V0KCJzcGFjZSIsICJVKzAwMjAiKTsKKyAgICBrZXlNYXAo
KS5zZXQoIlByaW50IiwgIlByaW50U2NyZWVuIik7CisKKyAgICBhZGRDaGFyYWN0ZXJzVG9LZXlN
YXAoJ2EnLCAneicpOworICAgIGFkZENoYXJhY3RlcnNUb0tleU1hcCgnQScsICdaJyk7CisgICAg
YWRkQ2hhcmFjdGVyc1RvS2V5TWFwKCcwJywgJzknKTsKK30KKworc3RhdGljIGlubGluZSB2b2lk
IGFkZENoYXJhY3RlcnNUb1dpbktleU1hcChjb25zdCBjaGFyIGZyb20sIGNvbnN0IGNoYXIgdG8s
IGNvbnN0IGludCBiYXNlQ29kZSkKK3sKKyAgICBpbnQgaSA9IDA7CisgICAgZm9yIChjaGFyIGMg
PSBmcm9tOyBjIDw9IHRvOyBjKyssIGkrKykKKyAgICAgICAgd2luZG93c0tleU1hcCgpLnNldChT
dHJpbmcoJmMsIDEpLCBiYXNlQ29kZSArIGkpOwogfQogCiBzdGF0aWMgdm9pZCBjcmVhdGVXaW5k
b3dzS2V5TWFwKCkKQEAgLTEwOSw3ICsxMjcsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVXaW5kb3dz
S2V5TWFwKCkKICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KCJMZWZ0IiwgVktfTEVGVCk7CiAgICAg
d2luZG93c0tleU1hcCgpLnNldCgiVXAiLCBWS19VUCk7CiAgICAgd2luZG93c0tleU1hcCgpLnNl
dCgiRG93biIsIFZLX0RPV04pOwotICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIlByaW50IiwgVktf
UFJJTlQpOworICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIlByaW50IiwgVktfU05BUFNIT1QpOwog
ICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIkluc2VydCIsIFZLX0lOU0VSVCk7CiAgICAgd2luZG93
c0tleU1hcCgpLnNldCgiRGVsZXRlIiwgVktfREVMRVRFKTsKIApAQCAtMTMzLDE3ICsxNTEsMTEg
QEAgc3RhdGljIHZvaWQgY3JlYXRlV2luZG93c0tleU1hcCgpCiAgICAgd2luZG93c0tleU1hcCgp
LnNldCgicXVvdGVkYmwiLCBWS19PRU1fNyk7CiAKICAgICAvLyBTZXQgYWxwaGFiZXQgdG8gdGhl
IHdpbmRvd3NLZXlNYXAuCi0gICAgY29uc3QgY2hhciogYWxwaGFiZXQgPSAiYWJjZGVmZ2hpamts
bW5vcHFyc3R1dnd4eXoiOwotICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMjY7IGkr
KykgewotICAgICAgICBTdHJpbmcga2V5KGFscGhhYmV0ICsgaSwgMSk7Ci0gICAgICAgIHdpbmRv
d3NLZXlNYXAoKS5zZXQoa2V5LCBWS19BICsgaSk7Ci0gICAgfQorICAgIGFkZENoYXJhY3RlcnNU
b1dpbktleU1hcCgnYScsICd6JywgVktfQSk7CisgICAgYWRkQ2hhcmFjdGVyc1RvV2luS2V5TWFw
KCdBJywgJ1onLCBWS19BKTsKIAogICAgIC8vIFNldCBkaWdpdHMgdG8gdGhlIHdpbmRvd3NLZXlN
YXAuCi0gICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7Ci0gICAgICAg
IFN0cmluZyBrZXkgPSBTdHJpbmc6Om51bWJlcihpKTsKLSAgICAgICAgd2luZG93c0tleU1hcCgp
LnNldChrZXksIFZLXzAgKyBpKTsKLSAgICB9CisgICAgYWRkQ2hhcmFjdGVyc1RvV2luS2V5TWFw
KCcwJywgJzknLCBWS18wKTsKIAogICAgIC8vIFNldCBzaGlmdGVkIGRpZ2l0cyB0byB0aGUgd2lu
ZG93c0tleU1hcC4KICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KCJleGNsYW0iLCBWS18xKTsKQEAg
LTE4Nyw2ICsxOTksOCBAQCBTdHJpbmcgc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGNvbnN0IFN0cmlu
ZyYga2V5TmFtZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygiXHg4Iik7CiAgICAgaWYgKGtleU5h
bWUgPT0gIlRhYiIpCiAgICAgICAgIHJldHVybiBTdHJpbmcoIlx0Iik7CisgICAgaWYgKGtleU5h
bWUgPT0gIlByaW50IikKKyAgICAgICAgcmV0dXJuIFN0cmluZygiIik7CiAgICAgcmV0dXJuIGtl
eU5hbWU7CiB9CiAK
</data>
<flag name="review"
          id="146400"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="146401"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142176</attachid>
            <date>2012-05-16 00:26:45 -0700</date>
            <delta_ts>2012-05-16 02:11:46 -0700</delta_ts>
            <desc>to be landed.</desc>
            <filename>bug85503_v3</filename>
            <type>text/plain</type>
            <size>5168</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGViZTFiMWNmYTBlYTYxMDFkNDgzODUzYjJmMGYzMTYwMDY0NmYwMDIKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPHBvemRueWFrb3YubWlraGFpbEBnbWFpbC5jb20+CkRhdGU6ICAg
V2VkIE1heSAxNiAxMDoyNTo0OSAyMDEyICswMzAwCgogICAgYnVnODU1MDMKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDhm
OTFjOS4uZDk0YmEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA1LTA3ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFtF
RkxdIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDogZmlndXJlcywgbGV0dGVycyBhbmQgcHJpbnRzY3Jl
ZW4ga2V5IGhhbmRsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NTUwMworCisgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2
YS4KKworICAgICAgICBCdWctcmVsYXRlZCB0ZXN0Y2FzZXMgYXJlIHVuc2tpcHBlZC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVkOgorCiAyMDEyLTA1LTE1ICBBYmhpc2hlayBBcnlh
ICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gRG9jdW1lbnQ6Om5v
ZGVDaGlsZHJlbldpbGxCZVJlbW92ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDBj
NDA1NDEuLjY0ZjEyNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC04MDksOCArODA5
LDYgQEAgZmFzdC9ldmVudHMvZHJhZy1wYXJlbnQtbm9kZS5odG1sCiBmYXN0L2V2ZW50cy9rZXkt
ZXZlbnRzLWluLWlucHV0LWJ1dHRvbi5odG1sCiBmYXN0L2V2ZW50cy9rZXktZXZlbnRzLWluLWlu
cHV0LXRleHQuaHRtbAogZmFzdC9ldmVudHMvb3B0aW9uLXRhYi5odG1sCi1mYXN0L2V2ZW50cy9z
cGVjaWFsLWtleS1ldmVudHMtaW4taW5wdXQtdGV4dC5odG1sCi1mYXN0L2Zvcm1zL2VudGVyLWNs
aWNrcy1idXR0b25zLmh0bWwKIGZhc3QvZm9ybXMvaW5wdXQtc2VhcmNoLXByZXNzLWVzY2FwZS1r
ZXkuaHRtbAogCiAjIEJVRzogbm90IHNjcm9sbGluZyBjb3JyZWN0bHkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBl
NjRmOWVmLi4wY2I5NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDUtMDcg
IE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAg
ICAgICAgW0VGTF0gUGxhdGZvcm1LZXlib2FyZEV2ZW50OiBmaWd1cmVzLCBsZXR0ZXJzIGFuZCBw
cmludHNjcmVlbiBrZXkgaGFuZGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg1NTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jv
bmhhIFNpbHZhLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZENoYXJhY3RlcnNUb0tleU1hcCk6IGF1eCBmdW5j
dGlvbgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVLZXlNYXAp
OiBGaWd1cmVzIGFuZCBsZXR0ZXJzIGtleXMgYXJlIGFkZGVkIHRvIHRoZSBrZXlNYXAKKyAgICAg
ICAgKFdlYkNvcmU6OmFkZENoYXJhY3RlcnNUb1dpbktleU1hcCk6IGF1eCBmdW5jdGlvbgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93c0tleU1hcCk6IENhcGl0YWwgbGV0dGVycyBrZXlz
IGFyZSBhZGRlZCB0byB0aGUgd2luZG93c0tleU1hcC4gQ29ycmVjdGVkIHZhbHVlIGZvciBwcmlu
dHNjcmVlbiBrZXkuCisgICAgICAgIChXZWJDb3JlOjpzaW5nbGVDaGFyYWN0ZXJTdHJpbmcpOiBS
ZXR1cm4gZW1wdHkgdGV4dCBmb3IgcHJpbnRzY3JlZW4ga2V5LgorCiAyMDEyLTA1LTE1ICBBYmhp
c2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gRG9j
dW1lbnQ6Om5vZGVDaGlsZHJlbldpbGxCZVJlbW92ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvRWZsS2V5Ym9hcmRVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZWZsL0VmbEtleWJvYXJkVXRpbGl0aWVzLmNwcAppbmRleCA5ZThlYjEwLi41
OGMwNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvRWZsS2V5Ym9h
cmRVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxLZXli
b2FyZFV0aWxpdGllcy5jcHAKQEAgLTUwLDYgKzUwLDEyIEBAIHN0YXRpYyBXaW5kb3dzS2V5TWFw
JiB3aW5kb3dzS2V5TWFwKCkKICAgICByZXR1cm4gd2luZG93c0tleU1hcDsKIH0KIAorc3RhdGlj
IGlubGluZSB2b2lkIGFkZENoYXJhY3RlcnNUb0tleU1hcChjb25zdCBjaGFyIGZyb20sIGNvbnN0
IGNoYXIgdG8pCit7CisgICAgZm9yIChjaGFyIGMgPSBmcm9tOyBjIDw9IHRvOyBjKyspCisgICAg
ICAgIGtleU1hcCgpLnNldChTdHJpbmcoJmMsIDEpLCBTdHJpbmc6OmZvcm1hdCgiVSslMDRYIiwg
YykpOworfQorCiBzdGF0aWMgdm9pZCBjcmVhdGVLZXlNYXAoKQogewogICAgIGZvciAodW5zaWdu
ZWQgaW50IGkgPSAxOyBpIDwgMjU7IGkrKykgewpAQCAtNzgsNiArODQsNyBAQCBzdGF0aWMgdm9p
ZCBjcmVhdGVLZXlNYXAoKQogICAgIGtleU1hcCgpLnNldCgiSVNPX0xlZnRfVGFiIiwgIlUrMDAw
OSIpOwogICAgIGtleU1hcCgpLnNldCgiQmFja1NwYWNlIiwgIlUrMDAwOCIpOwogICAgIGtleU1h
cCgpLnNldCgic3BhY2UiLCAiVSswMDIwIik7CisgICAga2V5TWFwKCkuc2V0KCJQcmludCIsICJQ
cmludFNjcmVlbiIpOwogICAgIC8vIEtleXBhZCBsb2NhdGlvbgogICAgIGtleU1hcCgpLnNldCgi
S1BfTGVmdCIsICJMZWZ0Iik7CiAgICAga2V5TWFwKCkuc2V0KCJLUF9SaWdodCIsICJSaWdodCIp
OwpAQCAtODksNiArOTYsMTcgQEAgc3RhdGljIHZvaWQgY3JlYXRlS2V5TWFwKCkKICAgICBrZXlN
YXAoKS5zZXQoIktQX0VuZCIsICJFbmQiKTsKICAgICBrZXlNYXAoKS5zZXQoIktQX0luc2VydCIs
ICJJbnNlcnQiKTsKICAgICBrZXlNYXAoKS5zZXQoIktQX0RlbGV0ZSIsICJVKzAwN0YiKTsKKyAK
KyAgICBhZGRDaGFyYWN0ZXJzVG9LZXlNYXAoJ2EnLCAneicpOworICAgIGFkZENoYXJhY3RlcnNU
b0tleU1hcCgnQScsICdaJyk7CisgICAgYWRkQ2hhcmFjdGVyc1RvS2V5TWFwKCcwJywgJzknKTsK
K30KKworc3RhdGljIGlubGluZSB2b2lkIGFkZENoYXJhY3RlcnNUb1dpbktleU1hcChjb25zdCBj
aGFyIGZyb20sIGNvbnN0IGNoYXIgdG8sIGNvbnN0IGludCBiYXNlQ29kZSkKK3sKKyAgICBpbnQg
aSA9IDA7CisgICAgZm9yIChjaGFyIGMgPSBmcm9tOyBjIDw9IHRvOyBjKyssIGkrKykKKyAgICAg
ICAgd2luZG93c0tleU1hcCgpLnNldChTdHJpbmcoJmMsIDEpLCBiYXNlQ29kZSArIGkpOwogfQog
CiBzdGF0aWMgdm9pZCBjcmVhdGVXaW5kb3dzS2V5TWFwKCkKQEAgLTEyMCw3ICsxMzgsNyBAQCBz
dGF0aWMgdm9pZCBjcmVhdGVXaW5kb3dzS2V5TWFwKCkKICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0
KCJMZWZ0IiwgVktfTEVGVCk7CiAgICAgd2luZG93c0tleU1hcCgpLnNldCgiVXAiLCBWS19VUCk7
CiAgICAgd2luZG93c0tleU1hcCgpLnNldCgiRG93biIsIFZLX0RPV04pOwotICAgIHdpbmRvd3NL
ZXlNYXAoKS5zZXQoIlByaW50IiwgVktfUFJJTlQpOworICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQo
IlByaW50IiwgVktfU05BUFNIT1QpOwogICAgIHdpbmRvd3NLZXlNYXAoKS5zZXQoIkluc2VydCIs
IFZLX0lOU0VSVCk7CiAgICAgd2luZG93c0tleU1hcCgpLnNldCgiRGVsZXRlIiwgVktfREVMRVRF
KTsKIApAQCAtMTU1LDE3ICsxNzMsMTEgQEAgc3RhdGljIHZvaWQgY3JlYXRlV2luZG93c0tleU1h
cCgpCiAgICAgd2luZG93c0tleU1hcCgpLnNldCgiS1BfRGVsZXRlIiwgVktfREVMRVRFKTsKIAog
ICAgIC8vIFNldCBhbHBoYWJldCB0byB0aGUgd2luZG93c0tleU1hcC4KLSAgICBjb25zdCBjaGFy
KiBhbHBoYWJldCA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7Ci0gICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7Ci0gICAgICAgIFN0cmluZyBrZXkoYWxwaGFi
ZXQgKyBpLCAxKTsKLSAgICAgICAgd2luZG93c0tleU1hcCgpLnNldChrZXksIFZLX0EgKyBpKTsK
LSAgICB9CisgICAgYWRkQ2hhcmFjdGVyc1RvV2luS2V5TWFwKCdhJywgJ3onLCBWS19BKTsKKyAg
ICBhZGRDaGFyYWN0ZXJzVG9XaW5LZXlNYXAoJ0EnLCAnWicsIFZLX0EpOwogCiAgICAgLy8gU2V0
IGRpZ2l0cyB0byB0aGUgd2luZG93c0tleU1hcC4KLSAgICBmb3IgKHVuc2lnbmVkIGludCBpID0g
MDsgaSA8IDEwOyBpKyspIHsKLSAgICAgICAgU3RyaW5nIGtleSA9IFN0cmluZzo6bnVtYmVyKGkp
OwotICAgICAgICB3aW5kb3dzS2V5TWFwKCkuc2V0KGtleSwgVktfMCArIGkpOwotICAgIH0KKyAg
ICBhZGRDaGFyYWN0ZXJzVG9XaW5LZXlNYXAoJzAnLCAnOScsIFZLXzApOwogCiAgICAgLy8gU2V0
IHNoaWZ0ZWQgZGlnaXRzIHRvIHRoZSB3aW5kb3dzS2V5TWFwLgogICAgIHdpbmRvd3NLZXlNYXAo
KS5zZXQoImV4Y2xhbSIsIFZLXzEpOwpAQCAtMjA5LDYgKzIyMSw4IEBAIFN0cmluZyBzaW5nbGVD
aGFyYWN0ZXJTdHJpbmcoY29uc3QgU3RyaW5nJiBrZXlOYW1lKQogICAgICAgICByZXR1cm4gU3Ry
aW5nKCJceDgiKTsKICAgICBpZiAoa2V5TmFtZSA9PSAiVGFiIikKICAgICAgICAgcmV0dXJuIFN0
cmluZygiXHQiKTsKKyAgICBpZiAoa2V5TmFtZSA9PSAiUHJpbnQiKQorICAgICAgICByZXR1cm4g
U3RyaW5nKCIiKTsKICAgICByZXR1cm4ga2V5TmFtZTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>