<?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>163581</bug_id>
          
          <creation_ts>2016-10-17 19:25:40 -0700</creation_ts>
          <short_desc>REGRESSION (r201471): Keyboard remains visible when swiping back on twitter.com</short_desc>
          <delta_ts>2016-10-18 13:42:50 -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>UI Events</component>
          <version>Safari Technology Preview</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1241307</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 19:25:40 -0700</bug_when>
    <thetext>Reproduction steps:
1. Login to twitter.com
2. Click &quot;reply&quot; on any tweet
3. Tap on the text field to bring up keyboard
4. Swipe back

Expected result: Keyboard goes away
Actual result: Keyboard stays open</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241308</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 19:27:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/27739558&gt;

8/16/16, 1:54 PM Andy Estes:
Hiding the keyboard is a side effect of dispatching the blur event. In Element::dispatchBlurEvent(), we call ChromeClient::elementDidBlur(), which sends the StopAssistingNode message to the UI process, which eventually calls -[WKContentView _stopAssistingNode].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241314</commentid>
    <comment_count>2</comment_count>
      <attachid>291912</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 20:22:32 -0700</bug_when>
    <thetext>Created attachment 291912
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241330</commentid>
    <comment_count>3</comment_count>
      <attachid>291912</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-17 21:18:14 -0700</bug_when>
    <thetext>Comment on attachment 291912
Fixes the bug

This is testable, via UIScriptController. Please ad a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241333</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 21:58:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 291912 [details]
&gt; Fixes the bug
&gt; 
&gt; This is testable, via UIScriptController. Please ad a test.

Does it bring up a real keyboard?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241334</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-17 22:03:42 -0700</bug_when>
    <thetext>Yes, and you get callbacks when the keyboard appears and disappears. See tests in fast/forms/ios</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241336</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 22:06:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Yes, and you get callbacks when the keyboard appears and disappears. See
&gt; tests in fast/forms/ios

Oh, neat!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241341</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 22:59:01 -0700</bug_when>
    <thetext>Huh, apparently all the tests in fast/forms/ios are skipped at the moment because we don&apos;t override [ Skip ] expectation in LayoutTests/platform/ios-simulator-wk2/TestExpectations :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241350</commentid>
    <comment_count>8</comment_count>
      <attachid>291922</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 23:29:04 -0700</bug_when>
    <thetext>Created attachment 291922
Added a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241356</commentid>
    <comment_count>9</comment_count>
      <attachid>291926</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-17 23:53:26 -0700</bug_when>
    <thetext>Created attachment 291926
Reverted unrelated change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241446</commentid>
    <comment_count>10</comment_count>
      <attachid>291926</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-18 08:37:51 -0700</bug_when>
    <thetext>Comment on attachment 291926
Reverted unrelated change

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

&gt; Source/WebCore/dom/Document.cpp:3676
&gt; +            // Match the order in HTMLTextFormControlElement::dispatchBlurEvent.
&gt;              if (is&lt;HTMLInputElement&gt;(*oldFocusedElement))
&gt;                  downcast&lt;HTMLInputElement&gt;(*oldFocusedElement).endEditing();
&gt; +            if (page())
&gt; +                page()-&gt;chrome().client().elementDidBlur(oldFocusedElement.get());

This is pretty confusing. Element::dispatchBlurEvent() calls chrome().client().elementDidBlur() BEFORE dispatching the blur event.

If I look at HTMLTextFormControlElement::dispatchBlurEvent(), it doesn&apos;t have any calls to chrome().client().elementDidBlur(), but calls through to TextFieldInputType::handleBlurEvent() (note the *handle*) which calls endEditing(). So I can&apos;t tell from the comment whether the ordering is correct. I wish there were a single choke point for this blur handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241540</commentid>
    <comment_count>11</comment_count>
      <attachid>291926</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-18 12:11:08 -0700</bug_when>
    <thetext>Comment on attachment 291926
Reverted unrelated change

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

&gt;&gt; Source/WebCore/dom/Document.cpp:3676
&gt;&gt; +                page()-&gt;chrome().client().elementDidBlur(oldFocusedElement.get());
&gt; 
&gt; This is pretty confusing. Element::dispatchBlurEvent() calls chrome().client().elementDidBlur() BEFORE dispatching the blur event.
&gt; 
&gt; If I look at HTMLTextFormControlElement::dispatchBlurEvent(), it doesn&apos;t have any calls to chrome().client().elementDidBlur(), but calls through to TextFieldInputType::handleBlurEvent() (note the *handle*) which calls endEditing(). So I can&apos;t tell from the comment whether the ordering is correct. I wish there were a single choke point for this blur handling.

We don&apos;t want to dispatch blur event here. That&apos;s the whole point of the original patch.
I intend to refactor this code once this patch is landed but this needs to be merged into a branch
so I&apos;m not interested in doing that kind of a large code change here,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241599</commentid>
    <comment_count>12</comment_count>
      <attachid>291926</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-18 13:42:46 -0700</bug_when>
    <thetext>Comment on attachment 291926
Reverted unrelated change

Clearing flags on attachment: 291926

Committed r207486: &lt;http://trac.webkit.org/changeset/207486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241600</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-18 13:42:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291912</attachid>
            <date>2016-10-17 20:22:32 -0700</date>
            <delta_ts>2016-10-17 23:29:04 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>fix-163581.patch</filename>
            <type>text/plain</type>
            <size>2319</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzQ1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEwLTE3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyMDE0NzEp
OiBLZXlib2FyZCByZW1haW5zIHZpc2libGUgd2hlbiBzd2lwaW5nIGJhY2sgb24gdHdpdHRlci5j
b20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzU4
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBi
dWcgd2FzIGNhdXNlZCBieSBDaHJvbWU6OmVsZW1lbnREaWRCbHVyIG5vdCBnZXR0aW5nIGNhbGxl
ZCwgd2hpY2ggcmVzdWx0ZWQgaW4KKyAgICAgICAgU3RvcEFzc2lzdGluZ05vZGUgbm90IGdldHRp
bmcgc2VudCB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5LCBubyBu
ZXcgdGVzdHMgc2luY2UgdGhpcyBiZWhhdmlvciBjYW4ndCBlYXNpbHkgYmUgdGVzdGVkLgorCisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpz
ZXRGb2N1c2VkRWxlbWVudCk6IFJlc3RvcmUgdGhlIGJlaGF2aW9yIHByaW9yIHRvIHIyMDE0NzEg
YnkgY2FsbGluZworICAgICAgICBDaHJvbWU6OmVsZW1lbnREaWRCbHVyIGV4cGxpY2l0bHkuCisg
ICAgICAgICogaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQpOiBB
ZGRlZCBhIGNvbW1lbnQgYWJvdXQgb3JkZXJpbmcuCisKIDIwMTYtMTAtMTcgIERlYW4gSmFja3Nv
biAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkZXBlbmRlbmN5IGN5Y2xlIHdp
dGggVUlLaXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjA3NDM2KQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY2
OSw4ICszNjY5LDExIEBACiAgICAgICAgICAgICAgICAgbmV3Rm9jdXNlZEVsZW1lbnQgPSBudWxs
cHRyOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gTWF0
Y2ggdGhlIG9yZGVyIGluIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpkaXNwYXRjaEJsdXJF
dmVudC4KICAgICAgICAgICAgIGlmIChpczxIVE1MSW5wdXRFbGVtZW50Pigqb2xkRm9jdXNlZEVs
ZW1lbnQpKQogICAgICAgICAgICAgICAgIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCpvbGRG
b2N1c2VkRWxlbWVudCkuZW5kRWRpdGluZygpOworICAgICAgICAgICAgaWYgKHBhZ2UoKSkKKyAg
ICAgICAgICAgICAgICBwYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmVsZW1lbnREaWRCbHVyKG9s
ZEZvY3VzZWRFbGVtZW50LmdldCgpKTsKICAgICAgICAgICAgIEFTU0VSVCghbV9mb2N1c2VkRWxl
bWVudCk7CiAgICAgICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDIwNzQzNikKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDEsNiArMTAxLDcgQEAKIHsKICAgICBpZiAoc3VwcG9ydHNQbGFjZWhvbGRlcigp
KQogICAgICAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoKTsKKyAgICAvLyBNYXRjaCB0
aGUgb3JkZXIgaW4gRG9jdW1lbnQ6OnNldEZvY3VzZWRFbGVtZW50LgogICAgIGhhbmRsZUJsdXJF
dmVudCgpOwogICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmRpc3BhdGNoQmx1
ckV2ZW50KFdURk1vdmUobmV3Rm9jdXNlZEVsZW1lbnQpKTsKIH0K
</data>
<flag name="review"
          id="315017"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="315018"
          type_id="3"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291922</attachid>
            <date>2016-10-17 23:29:04 -0700</date>
            <delta_ts>2016-10-17 23:53:26 -0700</delta_ts>
            <desc>Added a test</desc>
            <filename>fix163581b.patch</filename>
            <type>text/plain</type>
            <size>6087</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzQ1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE2LTEwLTE3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyMDE0NzEp
OiBLZXlib2FyZCByZW1haW5zIHZpc2libGUgd2hlbiBzd2lwaW5nIGJhY2sgb24gdHdpdHRlci5j
b20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzU4
MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3Mzk1NTg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IENocm9t
ZTo6ZWxlbWVudERpZEJsdXIgbm90IGdldHRpbmcgY2FsbGVkLCB3aGljaCByZXN1bHRlZCBpbgor
ICAgICAgICBTdG9wQXNzaXN0aW5nTm9kZSBub3QgZ2V0dGluZyBzZW50IHRvIHRoZSBVSSBwcm9j
ZXNzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW9zL2hpZGUta2V5Ym9hcmQtb24tbm9k
ZS1yZW1vdmFsLmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6c2V0Rm9jdXNlZEVsZW1lbnQpOiBSZXN0b3JlIHRoZSBiZWhhdmlv
ciBwcmlvciB0byByMjAxNDcxIGJ5IGNhbGxpbmcKKyAgICAgICAgQ2hyb21lOjplbGVtZW50RGlk
Qmx1ciBleHBsaWNpdGx5LgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmRp
c3BhdGNoQmx1ckV2ZW50KTogQWRkZWQgYSBjb21tZW50IGFib3V0IG9yZGVyaW5nLgorCiAyMDE2
LTEwLTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
ZGVwZW5kZW5jeSBjeWNsZSB3aXRoIFVJS2l0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDIwNzQzNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM2NjksOCArMzY2OSwxMSBAQAogICAgICAgICAgICAgICAgIG5ld0Zv
Y3VzZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8vIE1hdGNoIHRoZSBvcmRlciBpbiBIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQuCiAgICAgICAgICAgICBpZiAoaXM8SFRNTElucHV0RWxl
bWVudD4oKm9sZEZvY3VzZWRFbGVtZW50KSkKICAgICAgICAgICAgICAgICBkb3duY2FzdDxIVE1M
SW5wdXRFbGVtZW50Pigqb2xkRm9jdXNlZEVsZW1lbnQpLmVuZEVkaXRpbmcoKTsKKyAgICAgICAg
ICAgIGlmIChwYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZSgpLT5jaHJvbWUoKS5jbGllbnQo
KS5lbGVtZW50RGlkQmx1cihvbGRGb2N1c2VkRWxlbWVudC5nZXQoKSk7CiAgICAgICAgICAgICBB
U1NFUlQoIW1fZm9jdXNlZEVsZW1lbnQpOwogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lv
biAyMDc0MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSw3IEBACiB7CiAgICAgaWYgKHN1
cHBvcnRzUGxhY2Vob2xkZXIoKSkKICAgICAgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5
KCk7CisgICAgLy8gTWF0Y2ggdGhlIG9yZGVyIGluIERvY3VtZW50OjpzZXRGb2N1c2VkRWxlbWVu
dC4KICAgICBoYW5kbGVCbHVyRXZlbnQoKTsKICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0
aFN0YXRlOjpkaXNwYXRjaEJsdXJFdmVudChXVEZNb3ZlKG5ld0ZvY3VzZWRFbGVtZW50KSk7CiB9
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMDc0MzYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0xMC0xNyAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjAxNDcxKTogS2V5Ym9h
cmQgcmVtYWlucyB2aXNpYmxlIHdoZW4gc3dpcGluZyBiYWNrIG9uIHR3aXR0ZXIuY29tCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1ODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzI3NzM5NTU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciBoaWRpbmcg
YSBrZXlib2FyZCB3aGVuIHRoZSBmb2N1c2VkIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBE
T00uCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9oaWRlLWtleWJvYXJkLW9uLW5vZGUtcmVt
b3ZhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2hpZGUt
a2V5Ym9hcmQtb24tbm9kZS1yZW1vdmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTYtMTAtMTcgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbTW9kZXJuIE1lZGlhIENv
bnRyb2xzXSBCYXNpYyBNZWRpYUNvbnRyb2xsZXIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW9zL2hpZGUta2V5Ym9hcmQtb24tbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9oaWRlLWtleWJvYXJkLW9uLW5vZGUt
cmVtb3ZhbC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pb3MvaGlkZS1rZXlib2FyZC1vbi1ub2RlLXJlbW92YWwtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGVzdCB0aGF0IHRoZSBrZXlib2FyZCBkaXNhcHBl
YXJzIHdoZW4gdGhlIGZvY3VzZWQgZWxlbWVudCBpcyByZW1vdmVkLgorVG8gbWFudWFsbHkgdGVz
dCwgZm9jdXMgdGhlIHRleHQgZmllbGQgYmVsb3cgYW5kIHR5cGUgYW55IGNoYXJhY3RlciBvbiBp
T1MuIFRoZSBrZXlib2FyZCBzaG91bGQgYmUgZGlzbWlzc2VkLgorCitQQVNTCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9oaWRlLWtleWJvYXJkLW9uLW5vZGUtcmVtb3ZhbC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2hpZGUta2V5Ym9hcmQt
b24tbm9kZS1yZW1vdmFsLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pb3MvaGlkZS1rZXlib2FyZC1vbi1ub2RlLXJlbW92YWwuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGVzdCB0aGF0IHRoZSBrZXlib2FyZCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZv
Y3VzZWQgZWxlbWVudCBpcyByZW1vdmVkLjxicj4KK1RvIG1hbnVhbGx5IHRlc3QsIGZvY3VzIHRo
ZSB0ZXh0IGZpZWxkIGJlbG93IGFuZCB0eXBlIGFueSBjaGFyYWN0ZXIgb24gaU9TLiBUaGUga2V5
Ym9hcmQgc2hvdWxkIGJlIGRpc21pc3NlZC48L3A+Cis8aW5wdXQgb25pbnB1dD0idGhpcy5yZW1v
dmUoKTsiPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworaWYgKHdpbmRvdy50
ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQpIHsKKyAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKworICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
J2lucHV0Jyk7CisKKyAgICBjb25zdCB4ID0gaW5wdXQub2Zmc2V0TGVmdCArIDU7CisgICAgY29u
c3QgeSA9IGlucHV0Lm9mZnNldFRvcCArIDU7CisgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChg
CisgICAgICAgIHVpQ29udHJvbGxlci5kaWRTaG93S2V5Ym9hcmRDYWxsYmFjayA9IGZ1bmN0aW9u
KCkgeyB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZSgpOyB9CisgICAgICAgIHVpQ29udHJv
bGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkge30pO2AsCisgICAg
ZnVuY3Rpb24gKCkgeworICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKKyAgICAgICAg
ICAgIHVpQ29udHJvbGxlci5kaWRIaWRlS2V5Ym9hcmRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB1
aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZSgnUEFTUycpOyB9CisgICAgICAgICAgICB1aUNv
bnRyb2xsZXIudHlwZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXlib2FyZCgnYScsIGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoJ0ZBSUwnKTsKKyAgICAg
ICAgICAgICAgICB9LCA1MDAwKTsKKyAgICAgICAgICAgIH0pO2AsCisgICAgICAgIGZ1bmN0aW9u
IChyZXN1bHQpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQn
KS50ZXh0Q29udGVudCA9IHJlc3VsdDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0
b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIwNzQzNikKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29w
eSkKQEAgLTYsNiArNiw3IEBACiAjIFBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLiBTa2lw
cGVkIGdsb2JhbGx5LCB0aGVuIHJlLWVuYWJsZWQgaGVyZS4KICMvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8KIAorZmFzdC9mb3Jtcy9pb3MgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5n
L2lvcyBbIFBhc3MgXQogZmFzdC92aWV3cG9ydC9pb3MgWyBQYXNzIF0KIGVkaXRpbmcvc2VsZWN0
aW9uL2NoYXJhY3Rlci1ncmFudWxhcml0eS1yZWN0Lmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291926</attachid>
            <date>2016-10-17 23:53:26 -0700</date>
            <delta_ts>2016-10-18 13:42:46 -0700</delta_ts>
            <desc>Reverted unrelated change</desc>
            <filename>fix163581c.patch</filename>
            <type>text/plain</type>
            <size>5374</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzQ1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE2LTEwLTE3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyMDE0NzEp
OiBLZXlib2FyZCByZW1haW5zIHZpc2libGUgd2hlbiBzd2lwaW5nIGJhY2sgb24gdHdpdHRlci5j
b20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzU4
MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjc3Mzk1NTg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IENocm9t
ZTo6ZWxlbWVudERpZEJsdXIgbm90IGdldHRpbmcgY2FsbGVkLCB3aGljaCByZXN1bHRlZCBpbgor
ICAgICAgICBTdG9wQXNzaXN0aW5nTm9kZSBub3QgZ2V0dGluZyBzZW50IHRvIHRoZSBVSSBwcm9j
ZXNzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW9zL2hpZGUta2V5Ym9hcmQtb24tbm9k
ZS1yZW1vdmFsLmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6c2V0Rm9jdXNlZEVsZW1lbnQpOiBSZXN0b3JlIHRoZSBiZWhhdmlv
ciBwcmlvciB0byByMjAxNDcxIGJ5IGNhbGxpbmcKKyAgICAgICAgQ2hyb21lOjplbGVtZW50RGlk
Qmx1ciBleHBsaWNpdGx5LgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmRp
c3BhdGNoQmx1ckV2ZW50KTogQWRkZWQgYSBjb21tZW50IGFib3V0IG9yZGVyaW5nLgorCiAyMDE2
LTEwLTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
ZGVwZW5kZW5jeSBjeWNsZSB3aXRoIFVJS2l0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDIwNzQzNikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM2NjksOCArMzY2OSwxMSBAQAogICAgICAgICAgICAgICAgIG5ld0Zv
Y3VzZWRFbGVtZW50ID0gbnVsbHB0cjsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8vIE1hdGNoIHRoZSBvcmRlciBpbiBIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQuCiAgICAgICAgICAgICBpZiAoaXM8SFRNTElucHV0RWxl
bWVudD4oKm9sZEZvY3VzZWRFbGVtZW50KSkKICAgICAgICAgICAgICAgICBkb3duY2FzdDxIVE1M
SW5wdXRFbGVtZW50Pigqb2xkRm9jdXNlZEVsZW1lbnQpLmVuZEVkaXRpbmcoKTsKKyAgICAgICAg
ICAgIGlmIChwYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZSgpLT5jaHJvbWUoKS5jbGllbnQo
KS5lbGVtZW50RGlkQmx1cihvbGRGb2N1c2VkRWxlbWVudC5nZXQoKSk7CiAgICAgICAgICAgICBB
U1NFUlQoIW1fZm9jdXNlZEVsZW1lbnQpOwogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lv
biAyMDc0MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSw3IEBACiB7CiAgICAgaWYgKHN1
cHBvcnRzUGxhY2Vob2xkZXIoKSkKICAgICAgICAgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5
KCk7CisgICAgLy8gTWF0Y2ggdGhlIG9yZGVyIGluIERvY3VtZW50OjpzZXRGb2N1c2VkRWxlbWVu
dC4KICAgICBoYW5kbGVCbHVyRXZlbnQoKTsKICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0
aFN0YXRlOjpkaXNwYXRjaEJsdXJFdmVudChXVEZNb3ZlKG5ld0ZvY3VzZWRFbGVtZW50KSk7CiB9
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMDc0MzYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0xMC0xNyAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjAxNDcxKTogS2V5Ym9h
cmQgcmVtYWlucyB2aXNpYmxlIHdoZW4gc3dpcGluZyBiYWNrIG9uIHR3aXR0ZXIuY29tCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1ODEKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzI3NzM5NTU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciBoaWRpbmcg
YSBrZXlib2FyZCB3aGVuIHRoZSBmb2N1c2VkIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBE
T00uCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9oaWRlLWtleWJvYXJkLW9uLW5vZGUtcmVt
b3ZhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2hpZGUt
a2V5Ym9hcmQtb24tbm9kZS1yZW1vdmFsLmh0bWw6IEFkZGVkLgorCiAyMDE2LTEwLTE3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW01vZGVybiBNZWRpYSBD
b250cm9sc10gQmFzaWMgTWVkaWFDb250cm9sbGVyCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lvcy9oaWRlLWtleWJvYXJkLW9uLW5vZGUtcmVtb3ZhbC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaGlkZS1rZXlib2FyZC1vbi1ub2Rl
LXJlbW92YWwtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW9zL2hpZGUta2V5Ym9hcmQtb24tbm9kZS1yZW1vdmFsLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKK1Rlc3QgdGhhdCB0aGUga2V5Ym9hcmQgZGlzYXBw
ZWFycyB3aGVuIHRoZSBmb2N1c2VkIGVsZW1lbnQgaXMgcmVtb3ZlZC4KK1RvIG1hbnVhbGx5IHRl
c3QsIGZvY3VzIHRoZSB0ZXh0IGZpZWxkIGJlbG93IGFuZCB0eXBlIGFueSBjaGFyYWN0ZXIgb24g
aU9TLiBUaGUga2V5Ym9hcmQgc2hvdWxkIGJlIGRpc21pc3NlZC4KKworUEFTUwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaGlkZS1rZXlib2FyZC1vbi1ub2RlLXJlbW92YWwuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9oaWRlLWtleWJvYXJk
LW9uLW5vZGUtcmVtb3ZhbC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW9zL2hpZGUta2V5Ym9hcmQtb24tbm9kZS1yZW1vdmFsLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRlc3QgdGhhdCB0aGUga2V5Ym9hcmQgZGlzYXBwZWFycyB3aGVuIHRoZSBm
b2N1c2VkIGVsZW1lbnQgaXMgcmVtb3ZlZC48YnI+CitUbyBtYW51YWxseSB0ZXN0LCBmb2N1cyB0
aGUgdGV4dCBmaWVsZCBiZWxvdyBhbmQgdHlwZSBhbnkgY2hhcmFjdGVyIG9uIGlPUy4gVGhlIGtl
eWJvYXJkIHNob3VsZCBiZSBkaXNtaXNzZWQuPC9wPgorPGlucHV0IG9uaW5wdXQ9InRoaXMucmVt
b3ZlKCk7Ij4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8c2NyaXB0PgorCitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7CisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisKKyAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCdpbnB1dCcpOworCisgICAgY29uc3QgeCA9IGlucHV0Lm9mZnNldExlZnQgKyA1OworICAgIGNv
bnN0IHkgPSBpbnB1dC5vZmZzZXRUb3AgKyA1OworICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQo
YAorICAgICAgICB1aUNvbnRyb2xsZXIuZGlkU2hvd0tleWJvYXJkQ2FsbGJhY2sgPSBmdW5jdGlv
bigpIHsgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsgfQorICAgICAgICB1aUNvbnRy
b2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHt9KTtgLAorICAg
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZnVuY3Rpb24gZW5kVGVzdChyZXN1bHQpIHsKKyAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS50ZXh0Q29udGVudCA9IHJl
c3VsdDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9Cisg
ICAgICAgIHNldFRpbWVvdXQoZW5kVGVzdC5iaW5kKHRoaXMsICdGQUlMJyksIDUwMDApOworICAg
ICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKKyAgICAgICAgICAgIHVpQ29udHJvbGxlci5k
aWRIaWRlS2V5Ym9hcmRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIudWlTY3Jp
cHRDb21wbGV0ZSgpOyB9CisgICAgICAgICAgICB1aUNvbnRyb2xsZXIudHlwZUNoYXJhY3RlclVz
aW5nSGFyZHdhcmVLZXlib2FyZCgnYScsIGZ1bmN0aW9uICgpIHsgfSk7YCwKKyAgICAgICAgICAg
IGVuZFRlc3QuYmluZCh0aGlzLCAnUEFTUycpKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>