<?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>204694</bug_id>
          
          <creation_ts>2019-11-28 23:42:23 -0800</creation_ts>
          <short_desc>[Win] Retrieve all following WM_CHAR events at the beginning of processing WM_KEYDOWN event</short_desc>
          <delta_ts>2019-12-01 19:21:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>204672</blocked>
    
    <blocked>200558</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1594139</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-28 23:42:23 -0800</bug_when>
    <thetext>[Win] Retrieve all following WM_CHAR events at the beginning of processing WM_KEYDOWN event

In Windows ports, WM_KEYDOWN dispatches keydown event, and
WM_CHAR dispatches keypress event. If a keydown event is canceled
by calling preventDefault, the following corresponding keypress
events shouldn&apos;t be dispatched.

WebKit1 implements it by removing WM_CHAR events if the keydown
event is consumed. However, WebKit2 can&apos;t do so because WebKit2
processes key events asynchronously. Thus, retrieve all following
WM_CHAR events, and dispatch them after processing the keydown
and it is not consumed.

In addition to that, retrieving following WM_CHAR events are
needed to fix Bug 204672 because the events are needed for &apos;key&apos;
property of keydown KeyboardEvent for dead key combination.

Gecko and Chromium also implements &apos;key&apos; property in the same approach.

Bug 204672 – [Win] &apos;key&apos; property of keydown KeyboardEvent doesn&apos;t have the diacritic for alphabet key following a dead key
Bug 200558 – [Win][WebKit2] Can&apos;t prevent input events by canceling keydown events</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594141</commentid>
    <comment_count>1</comment_count>
      <attachid>384481</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-28 23:55:31 -0800</bug_when>
    <thetext>Created attachment 384481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594159</commentid>
    <comment_count>2</comment_count>
      <attachid>384492</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-29 02:26:52 -0800</bug_when>
    <thetext>Created attachment 384492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594247</commentid>
    <comment_count>3</comment_count>
      <attachid>384492</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-11-29 13:05:28 -0800</bug_when>
    <thetext>Comment on attachment 384492
Patch

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

&gt; Source/WebKit/ChangeLog:25
&gt; +        Test: Covered by existing fast/events/inputText-never-fired-on-keydown-cancel.html and fast/events/keydown-keypress-preventDefault.html

Shouldn&apos;t there be some update to TestExpectations then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594264</commentid>
    <comment_count>4</comment_count>
      <attachid>384492</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-29 14:32:52 -0800</bug_when>
    <thetext>Comment on attachment 384492
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:25
&gt;&gt; +        Test: Covered by existing fast/events/inputText-never-fired-on-keydown-cancel.html and fast/events/keydown-keypress-preventDefault.html
&gt; 
&gt; Shouldn&apos;t there be some update to TestExpectations then?

No. These tests are failing only for WinCairo WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594265</commentid>
    <comment_count>5</comment_count>
      <attachid>384492</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-29 14:34:30 -0800</bug_when>
    <thetext>Comment on attachment 384492
Patch

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

&gt;&gt;&gt; Source/WebKit/ChangeLog:25
&gt;&gt;&gt; +        Test: Covered by existing fast/events/inputText-never-fired-on-keydown-cancel.html and fast/events/keydown-keypress-preventDefault.html
&gt;&gt; 
&gt;&gt; Shouldn&apos;t there be some update to TestExpectations then?
&gt; 
&gt; No. These tests are failing only for WinCairo WebKit2.

I mean these test aren’t marked as Failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594272</commentid>
    <comment_count>6</comment_count>
      <attachid>384492</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-11-29 15:40:24 -0800</bug_when>
    <thetext>Comment on attachment 384492
Patch

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

r=me but let&apos;s change the naming somehow.

&gt;&gt;&gt;&gt; Source/WebKit/ChangeLog:25
&gt;&gt;&gt;&gt; +        Test: Covered by existing fast/events/inputText-never-fired-on-keydown-cancel.html and fast/events/keydown-keypress-preventDefault.html
&gt;&gt;&gt; 
&gt;&gt;&gt; Shouldn&apos;t there be some update to TestExpectations then?
&gt;&gt; 
&gt;&gt; No. These tests are failing only for WinCairo WebKit2.
&gt; 
&gt; I mean these test aren’t marked as Failure.

I see. We sure do need a test bot, hehe...

&gt; Source/WebKit/Shared/NativeWebKeyboardEvent.h:110
&gt; +    Vector&lt;MSG&gt; m_followingCharEvents;

I think &quot;pending&quot; might be a better word.

(followingCharEvents kind of reads like isFollowingCharEvents with the &quot;is&quot; dropped. &quot;subsequent&quot; might also work if you really want to say &quot;comes after&quot; and not &quot;yet to be processed&quot;.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594474</commentid>
    <comment_count>7</comment_count>
      <attachid>384589</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-01 18:27:54 -0800</bug_when>
    <thetext>Created attachment 384589
Patch for landing

Thank you for the review.

* Renamed following → pending</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594484</commentid>
    <comment_count>8</comment_count>
      <attachid>384589</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-01 19:20:17 -0800</bug_when>
    <thetext>Comment on attachment 384589
Patch for landing

Clearing flags on attachment: 384589

Committed r252976: &lt;https://trac.webkit.org/changeset/252976&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594485</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-01 19:20:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594486</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-01 19:21:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/57548463&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594488</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-01 19:21:41 -0800</bug_when>
    <thetext>*** Bug 200558 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384481</attachid>
            <date>2019-11-28 23:55:31 -0800</date>
            <delta_ts>2019-11-29 02:26:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204694-20191129165530.patch</filename>
            <type>text/plain</type>
            <size>11540</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDliZTU3OTZjYWQ3NjYzYTVh
OWY0OTgwZDA0MmQ2YWUyZjM4MjFiYmYuLjM5MmNmOTYzZDVkYThjNzEzMGI4YzMyYjljOTUyNThm
NDdhYTk3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMTEtMjggIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl0gUmV0cmll
dmUgYWxsIGZvbGxvd2luZyBXTV9DSEFSIGV2ZW50cyBhdCB0aGUgYmVnaW5uaW5nIG9mIHByb2Nl
c3NpbmcgV01fS0VZRE9XTiBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW4gV2luZG93cyBwb3J0cywgV01fS0VZRE9XTiBkaXNwYXRjaGVzIGtl
eWRvd24gZXZlbnQsIGFuZAorICAgICAgICBXTV9DSEFSIGRpc3BhdGNoZXMga2V5cHJlc3MgZXZl
bnQuIElmIGEga2V5ZG93biBldmVudCBpcyBjYW5jZWxlZAorICAgICAgICBieSBjYWxsaW5nIHBy
ZXZlbnREZWZhdWx0LCB0aGUgZm9sbG93aW5nIGNvcnJlc3BvbmRpbmcga2V5cHJlc3MKKyAgICAg
ICAgZXZlbnRzIHNob3VsZG4ndCBiZSBkaXNwYXRjaGVkLgorCisgICAgICAgIFdlYktpdDEgaW1w
bGVtZW50ZWQgaXQgYnkgcmVtb3ZpbmcgV01fQ0hBUiBldmVudHMgaWYgdGhlIGtleWRvd24KKyAg
ICAgICAgZXZlbnQgaXMgY29uc3VtZWQuIEhvd2V2ZXIsIFdlYktpdDIgY2FuJ3QgZG8gc28gYmVj
YXVzZSBXZWJLaXQyCisgICAgICAgIHByb2Nlc3NlcyBrZXkgZXZlbnRzIGFzeW5jaHJvbm91c2x5
LiBUaHVzLCByZXRyaWV2ZSBhbGwgZm9sbG93aW5nCisgICAgICAgIFdNX0NIQVIgZXZlbnRzLCBh
bmQgZGlzcGF0Y2ggdGhlbSBhZnRlciBwcm9jZXNzaW5nIHRoZSBrZXlkb3duCisgICAgICAgIGFu
ZCBpZiBpdCBpcyBub3QgY29uc3VtZWQuCisKKyAgICAgICAgSW4gYWRkaXRpb24gdG8gdGhhdCwg
cmV0cmlldmluZyBmb2xsb3dpbmcgV01fQ0hBUiBldmVudHMgaXMgbmVlZGVkCisgICAgICAgIHRv
IGZpeCBCdWcgMjA0NjcyIGJlY2F1c2UgdGhlIGV2ZW50cyBhcmUgbmVlZGVkIGZvciAna2V5JyBw
cm9wZXJ0eQorICAgICAgICBvZiBrZXlkb3duIEtleWJvYXJkRXZlbnQgZm9yIGRlYWQga2V5IGNv
bWJpbmF0aW9uLgorCisgICAgICAgIEdlY2tvIGFuZCBDaHJvbWl1bSBhbHNvIGltcGxlbWVudHMg
J2tleScgcHJvcGVydHkgaW4gdGhlIHNhbWUgYXBwcm9hY2guCisKKyAgICAgICAgVGVzdDogQ292
ZXJlZCBieSBleGlzdGluZyBmYXN0L2V2ZW50cy9pbnB1dFRleHQtbmV2ZXItZmlyZWQtb24ta2V5
ZG93bi1jYW5jZWwuaHRtbCBhbmQgZmFzdC9ldmVudHMva2V5ZG93bi1rZXlwcmVzcy1wcmV2ZW50
RGVmYXVsdC5odG1sCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5o
OiBBZGRlZCBtX2ZvbGxvd2luZ0NoYXJFdmVudHMgYXMgVmVjdG9yPE1TRz4uCisgICAgICAgIChX
ZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6OmZvbGxvd2luZ0NoYXJFdmVudHMgY29uc3Qp
OgorICAgICAgICAqIFNoYXJlZC93aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6Ok5hdGl2ZVdlYktleWJvYXJk
RXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViUGFnZVByb3h5
V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaXNwYXRjaEZvbGxvd2lu
Z0NoYXJFdmVudHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uS2V5RXZlbnQpOgorCiAyMDE5LTExLTI3ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXZWJJbnNw
ZWN0b3JdIFVzZSBDU3RyaW5nIHRvIHN0b3JlIGV4cG9ydGVkIGRhdGEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwppbmRleCBlN2EwYjM4NzdjYmE1OWJlZDAxNWUzZjcwNjgxNzgwNTQwYjMzY2Qy
Li5jNzYzNGFhMzJlYmU5OWI3MmZjZGM3NzU2ZDhiMjAzMGQzZTBmOTBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMTEtMjggIEZ1amlpIEhpcm9u
b3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl0gUmV0cmlldmUg
YWxsIGZvbGxvd2luZyBXTV9DSEFSIGV2ZW50cyBhdCB0aGUgYmVnaW5uaW5nIG9mIHByb2Nlc3Np
bmcgV01fS0VZRE9XTiBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA0Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmtleURvd24pOiBB
ZGRlZCBhIHZhcmlhYmxlIGZvbGxvd2luZ0NoYXJFdmVudHMgb2YKKyAgICAgICAgVmVjdG9yPE1T
Rz4gdG8gcHJlc2VydmUgZm9sbG93aW5nIFdNX0NIQVIgZXZlbnRzLiBEaXNwYXRjaCB0aGVtIGlm
CisgICAgICAgIHRoZSBXTV9LRVlET1dOIGlzbid0IGNvbnN1bWVkLgorCiAyMDE5LTEwLTMxICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQg
Zml4IGF0dGVtcHQgYWZ0ZXIgcjI1MTc5OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2
ZVdlYktleWJvYXJkRXZlbnQuaAppbmRleCA2ZjRlMjliN2M2NTYzNzRhZjY3MjFjMTcxNTAyNTlh
M2Y3ZjRlNDA0Li4yN2ZjMWFjOTg1NzdiZGYwOTMyOWI3YWY0NTIzOWRiNGIwMTZiYmYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oCkBAIC03Niw3
ICs3Niw3IEBAIHB1YmxpYzoKICNlbGlmIFVTRShMSUJXUEUpCiAgICAgTmF0aXZlV2ViS2V5Ym9h
cmRFdmVudChzdHJ1Y3Qgd3BlX2lucHV0X2tleWJvYXJkX2V2ZW50Kik7CiAjZWxpZiBQTEFURk9S
TShXSU4pCi0gICAgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChIV05ELCBVSU5UIG1lc3NhZ2UsIFdQ
QVJBTSwgTFBBUkFNKTsKKyAgICBOYXRpdmVXZWJLZXlib2FyZEV2ZW50KEhXTkQsIFVJTlQgbWVz
c2FnZSwgV1BBUkFNLCBMUEFSQU0sIFZlY3RvcjxNU0c+JiYgZm9sbG93aW5nQ2hhckV2ZW50cyk7
CiAjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCkBAIC05MCw2ICs5MCw3IEBAIHB1YmxpYzoKICAg
ICA6OldlYkV2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZlbnQu
Z2V0KCk7IH0KICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBjb25zdCBNU0cqIG5hdGl2ZUV2ZW50
KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyAgICBjb25zdCBWZWN0b3I8TVNH
PiYgZm9sbG93aW5nQ2hhckV2ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fZm9sbG93aW5nQ2hhckV2
ZW50czsgfQogI2Vsc2UKICAgICBjb25zdCB2b2lkKiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0
dXJuIG51bGxwdHI7IH0KICNlbmRpZgpAQCAtMTA2LDYgKzEwNyw3IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPDo6V2ViRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CiAjZWxpZiBQTEFURk9STShXSU4p
CiAgICAgTVNHIG1fbmF0aXZlRXZlbnQ7CisgICAgVmVjdG9yPE1TRz4gbV9mb2xsb3dpbmdDaGFy
RXZlbnRzOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93
aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93
aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAKaW5kZXggOWJlOTI5MjYzMzM1YmUyMDlk
MjIwMTNiZDY3ODgwNTcwYmZiMmY3OC4uNTQ0NzQ5MmJlODJhYWRiNTZiNzA4ZGZhMTJlODI4MDAx
NTUxYzJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvd2luL05hdGl2ZVdlYktl
eWJvYXJkRXZlbnRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9OYXRpdmVX
ZWJLZXlib2FyZEV2ZW50V2luLmNwcApAQCAtMzMsOSArMzMsMTAgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1OYXRpdmVXZWJLZXlib2FyZEV2ZW50
OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50KEhXTkQgaHduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0g
d1BhcmFtLCBMUEFSQU0gbFBhcmFtKQorTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDo6TmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBB
UkFNIGxQYXJhbSwgVmVjdG9yPE1TRz4mJiBmb2xsb3dpbmdDaGFyRXZlbnRzKQogICAgIDogV2Vi
S2V5Ym9hcmRFdmVudChXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoaHdu
ZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pKQogICAgICwgbV9uYXRpdmVFdmVudChjcmVhdGVO
YXRpdmVFdmVudChod25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSkpCisgICAgLCBtX2ZvbGxv
d2luZ0NoYXJFdmVudHMoV1RGTW92ZShmb2xsb3dpbmdDaGFyRXZlbnRzKSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggODFiNjVjNmUyZGIxZDgw
MWI3YzNlNTY3NTE2NzVhYWY2Yzc4ZmQ3OC4uYWI2ZmUwNmIzZjRmYjQyOGI4MTVkOWVkYTg0YjJi
MzE4NDcwMzZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC02NTc1LDYgKzY1NzUsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCh1
aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAKICAgICAgICAgTUVTU0FHRV9DSEVD
SyhtX3Byb2Nlc3MsIHR5cGUgPT0gZXZlbnQudHlwZSgpKTsKIAorI2lmIFBMQVRGT1JNKFdJTikK
KyAgICAgICAgaWYgKCFoYW5kbGVkICYmIHR5cGUgPT0gV2ViRXZlbnQ6OlJhd0tleURvd24pCisg
ICAgICAgICAgICBkaXNwYXRjaEZvbGxvd2luZ0NoYXJFdmVudHMoZXZlbnQpOworI2VuZGlmCisK
ICAgICAgICAgYm9vbCBjYW5Qcm9jZXNzTW9yZUtleUV2ZW50cyA9ICFtX2tleUV2ZW50UXVldWUu
aXNFbXB0eSgpOwogICAgICAgICBpZiAoY2FuUHJvY2Vzc01vcmVLZXlFdmVudHMpIHsKICAgICAg
ICAgICAgIExPRyhLZXlIYW5kbGluZywgIiBVSSBwcm9jZXNzOiBzZW50IGtleUV2ZW50IGZyb20g
ZGlkUmVjZWl2ZUV2ZW50Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDQ4OGFjODAzMDZkNTliZGQ2NWM0YzFiZDM0NjhmM2MwOTg5YjMyMGIuLjdmMjdjMDgzNzA0
NTk3ZGFjNDk2YmM3NDA1YzU0YzQ0NDFlMWVkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC04NjUsNiArODY1LDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1By
b2Nlc3NpbmdLZXlib2FyZEV2ZW50cygpIGNvbnN0OwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRF
dmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7CisjaWYgUExBVEZPUk0oV0lOKQor
ICAgIHZvaWQgZGlzcGF0Y2hGb2xsb3dpbmdDaGFyRXZlbnRzKGNvbnN0IE5hdGl2ZVdlYktleWJv
YXJkRXZlbnQmKTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKE1BQ19HRVNUVVJFX0VWRU5UUykKICAg
ICB2b2lkIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBOYXRpdmVXZWJHZXN0dXJlRXZlbnQmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKaW5k
ZXggYmIwNDdmMjIyZDQ2MTIyMGE2OTUyNGJjMDViYWM5NGRmYzhlM2NhMy4uN2U3MDkyMTJiM2Zk
ZjZlYTgwZTBjOTg5ZGE2NzBmYmYzNTBiNWI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKIAorI2luY2x1ZGUgIk5hdGl2
ZVdlYktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU2VhcmNoUG9wdXBNZW51REIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJB
Z2VudC5oPgpAQCAtODYsNSArODcsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldERldmljZShJ
RDNEMTFEZXZpY2UxKiBkZXZpY2UpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6OmRp
c3BhdGNoRm9sbG93aW5nQ2hhckV2ZW50cyhjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiBr
ZXlkb3duRXZlbnQpCit7CisgICAgYXV0byYgZm9sbG93aW5nQ2hhckV2ZW50cyA9IGtleWRvd25F
dmVudC5mb2xsb3dpbmdDaGFyRXZlbnRzKCk7CisgICAgZm9yIChhdXRvIGl0ID0gZm9sbG93aW5n
Q2hhckV2ZW50cy5yYmVnaW4oKTsgaXQgIT0gZm9sbG93aW5nQ2hhckV2ZW50cy5yZW5kKCk7IGl0
KyspCisgICAgICAgIG1fa2V5RXZlbnRRdWV1ZS5wcmVwZW5kKE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQoaXQtPmh3bmQsIGl0LT5tZXNzYWdlLCBpdC0+d1BhcmFtLCBpdC0+bFBhcmFtLCB7IH0pKTsK
K30KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggOWI5MjI2MTdiODUyNGE2Y2Q1Y2QwYTY1N2U1NWY0YTdmODlhZDkwNy4u
ZTJlMzcxZWI3ZjgyMWVhYWVjM2Q2NWQ2NGQ1YzczNDlmNzA0ZGMxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtNDY3LDcgKzQ2NywxNiBAQCBMUkVTVUxUIFdl
YlZpZXc6Om9uVmVydGljYWxTY3JvbGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3
UGFyYW0sIExQQVJBTQogCiBMUkVTVUxUIFdlYlZpZXc6Om9uS2V5RXZlbnQoSFdORCBoV25kLCBV
SU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJvb2wmIGhhbmRsZWQp
CiB7Ci0gICAgbV9wYWdlLT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pKTsKKyAgICBWZWN0b3I8TVNHPiBmb2xs
b3dpbmdDaGFyRXZlbnRzOworICAgIGlmIChtZXNzYWdlID09IFdNX0tFWURPV04pIHsKKyAgICAg
ICAgTVNHIG1zZzsKKyAgICAgICAgLy8gV01fU1lTQ0hBUiBldmVudHMgc2hvdWxkIG5vdCBiZSBy
ZW1vdmVkLCBiZWNhdXNlIFdlYktpdCBpcyB1c2luZyBXTV9TWVNDSEFSIGZvciBhY2Nlc3Mga2V5
cyBhbmQgdGhleSBjYW4ndCBiZSBjYW5jZWxlZC4KKyAgICAgICAgd2hpbGUgKFBlZWtNZXNzYWdl
KCZtc2csIGhXbmQsIFdNX0NIQVIsIFdNX0RFQURDSEFSLCBQTV9SRU1PVkUpKSB7CisgICAgICAg
ICAgICBpZiAobXNnLm1lc3NhZ2UgPT0gV01fQ0hBUikKKyAgICAgICAgICAgICAgICBmb2xsb3dp
bmdDaGFyRXZlbnRzLmFwcGVuZChtc2cpOworICAgICAgICB9CisgICAgfQorICAgIG1fcGFnZS0+
aGFuZGxlS2V5Ym9hcmRFdmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50KGhXbmQsIG1lc3NhZ2Us
IHdQYXJhbSwgbFBhcmFtLCBXVEZNb3ZlKGZvbGxvd2luZ0NoYXJFdmVudHMpKSk7CiAKICAgICAv
LyBXZSBjbGFpbSBoZXJlIHRvIGFsd2F5cyBoYXZlIGhhbmRsZWQgdGhlIGV2ZW50LiBJZiB0aGUg
ZXZlbnQgaXMgbm90IGluIGZhY3QgaGFuZGxlZCwgd2Ugd2lsbAogICAgIC8vIGZpbmQgb3V0IGxh
dGVyIGluIGRpZE5vdEhhbmRsZUtleUV2ZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cAppbmRleCAyM2JmNGI0NTJiZDM4MTlhYWJhYzdjOGY1YmE2MDgyMjNmOGM1MzM2Li42NDRkNThl
MzE5NDJjMDVkMjUwODJlMDQ4ZTAyOTI3ZWVjZTk4Yzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcApAQCAtMjM3Niw2ICsyMzc2LDE1IEBAIGJvb2wgV2ViVmlldzo6a2V5RG93bihX
UEFSQU0gdmlydHVhbEtleUNvZGUsIExQQVJBTSBrZXlEYXRhLCBib29sIHN5c3RlbUtleURvd24p
CiAjZW5kaWYKICAgICBGcmFtZSYgZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZv
Y3VzZWRPck1haW5GcmFtZSgpOwogCisgICAgVmVjdG9yPE1TRz4gZm9sbG93aW5nQ2hhckV2ZW50
czsKKyAgICBNU0cgbXNnOworICAgIHdoaWxlIChQZWVrTWVzc2FnZSgmbXNnLCBtX3ZpZXdXaW5k
b3csIFdNX0NIQVIsIFdNX0RFQURDSEFSLCBQTV9SRU1PVkUpKSB7CisgICAgICAgIC8vIEZJWE1F
OiByZW1vdmUgV01fVU5JQ0hBUiwgdG9vCisgICAgICAgIC8vIFdNX1NZU0NIQVIgZXZlbnRzIHNo
b3VsZCBub3QgYmUgcmVtb3ZlZCwgYmVjYXVzZSBXZWJLaXQgaXMgdXNpbmcgV01fU1lTQ0hBUiBm
b3IgYWNjZXNzIGtleXMgYW5kIHRoZXkgY2FuJ3QgYmUgY2FuY2VsZWQuCisgICAgICAgIGlmICht
c2cubWVzc2FnZSA9PSBXTV9DSEFSKQorICAgICAgICAgICAgZm9sbG93aW5nQ2hhckV2ZW50cy5h
cHBlbmQobXNnKTsKKyAgICB9CisgICAgCiAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50IGtleUV2
ZW50KG1fdmlld1dpbmRvdywgdmlydHVhbEtleUNvZGUsIGtleURhdGEsIFBsYXRmb3JtRXZlbnQ6
OlJhd0tleURvd24sIHN5c3RlbUtleURvd24pOwogICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLmV2
ZW50SGFuZGxlcigpLmtleUV2ZW50KGtleUV2ZW50KTsKIApAQCAtMjM4NCwxNCArMjM5Myw4IEBA
IGJvb2wgV2ViVmlldzo6a2V5RG93bihXUEFSQU0gdmlydHVhbEtleUNvZGUsIExQQVJBTSBrZXlE
YXRhLCBib29sIHN5c3RlbUtleURvd24pCiAgICAgaWYgKHN5c3RlbUtleURvd24gJiYgdmlydHVh
bEtleUNvZGUgIT0gVktfUkVUVVJOKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAo
aGFuZGxlZCkgewotICAgICAgICAvLyBGSVhNRTogcmVtb3ZlIFdNX1VOSUNIQVIsIHRvbwotICAg
ICAgICBNU0cgbXNnOwotICAgICAgICAvLyBXTV9TWVNDSEFSIGV2ZW50cyBzaG91bGQgbm90IGJl
IHJlbW92ZWQsIGJlY2F1c2UgYWNjZXNzIGtleXMgYXJlIGltcGxlbWVudGVkIGluIFdlYkNvcmUg
aW4gV01fU1lTQ0hBUiBoYW5kbGVyLgotICAgICAgICBpZiAoIXN5c3RlbUtleURvd24pCi0gICAg
ICAgICAgICA6OlBlZWtNZXNzYWdlKCZtc2csIG1fdmlld1dpbmRvdywgV01fQ0hBUiwgV01fQ0hB
UiwgUE1fUkVNT1ZFKTsKKyAgICBpZiAoaGFuZGxlZCkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQogCiAgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgYmFjay9mb3J3YXJkIHVzaW5nIGVpdGhl
ciBDdHJsK0xlZnQvUmlnaHQgQXJyb3cga2V5cy4KICAgICAvLyBGSVhNRTogVGhpcyBsb2dpYyBz
aG91bGQgcHJvYmFibHkgYmUgaW4gRXZlbnRIYW5kbGVyOjpkZWZhdWx0QXJyb3dFdmVudEhhbmRs
ZXIoKS4KQEAgLTI0MDIsNiArMjQwNSw3IEBAIGJvb2wgV2ViVmlldzo6a2V5RG93bihXUEFSQU0g
dmlydHVhbEtleUNvZGUsIExQQVJBTSBrZXlEYXRhLCBib29sIHN5c3RlbUtleURvd24pCiAgICAg
ICAgIHJldHVybiBtX3BhZ2UtPmJhY2tGb3J3YXJkKCkuZ29CYWNrKCk7CiAKICAgICAvLyBOZWVk
IHRvIHNjcm9sbCB0aGUgcGFnZSBpZiB0aGUgYXJyb3cga2V5cywgcGd1cC9kbiwgb3IgaG9tZS9l
bmQgYXJlIGhpdC4KKyAgICBib29sIHdpbGxTY3JvbGwgPSB0cnVlOwogICAgIFNjcm9sbERpcmVj
dGlvbiBkaXJlY3Rpb247CiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHk7CiAgICAg
c3dpdGNoICh2aXJ0dWFsS2V5Q29kZSkgewpAQCAtMjQzOCwxMCArMjQ0MiwxOSBAQCBib29sIFdl
YlZpZXc6OmtleURvd24oV1BBUkFNIHZpcnR1YWxLZXlDb2RlLCBMUEFSQU0ga2V5RGF0YSwgYm9v
bCBzeXN0ZW1LZXlEb3duKQogICAgICAgICAgICAgZGlyZWN0aW9uID0gU2Nyb2xsRG93bjsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgd2lsbFNjcm9sbCA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7
CiAgICAgfQogCi0gICAgcmV0dXJuIGZyYW1lLmV2ZW50SGFuZGxlcigpLnNjcm9sbFJlY3Vyc2l2
ZWx5KGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHkpOworICAgIGlmICh3aWxsU2Nyb2xsKSB7CisgICAg
ICAgIGhhbmRsZWQgPSBmcmFtZS5ldmVudEhhbmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShkaXJl
Y3Rpb24sIGdyYW51bGFyaXR5KTsKKyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8mIG1zZyA6IGZvbGxvd2luZ0NoYXJF
dmVudHMpCisgICAgICAgIERpc3BhdGNoTWVzc2FnZSgmbXNnKTsKKyAgICByZXR1cm4gZmFsc2U7
CiB9CiAKIGJvb2wgV2ViVmlldzo6a2V5UHJlc3MoV1BBUkFNIGNoYXJDb2RlLCBMUEFSQU0ga2V5
RGF0YSwgYm9vbCBzeXN0ZW1LZXlEb3duKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384492</attachid>
            <date>2019-11-29 02:26:52 -0800</date>
            <delta_ts>2019-12-01 18:27:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204694-20191129192651.patch</filename>
            <type>text/plain</type>
            <size>11676</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDliZTU3OTZjYWQ3NjYzYTVh
OWY0OTgwZDA0MmQ2YWUyZjM4MjFiYmYuLjM5MmNmOTYzZDVkYThjNzEzMGI4YzMyYjljOTUyNThm
NDdhYTk3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMTEtMjggIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl0gUmV0cmll
dmUgYWxsIGZvbGxvd2luZyBXTV9DSEFSIGV2ZW50cyBhdCB0aGUgYmVnaW5uaW5nIG9mIHByb2Nl
c3NpbmcgV01fS0VZRE9XTiBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW4gV2luZG93cyBwb3J0cywgV01fS0VZRE9XTiBkaXNwYXRjaGVzIGtl
eWRvd24gZXZlbnQsIGFuZAorICAgICAgICBXTV9DSEFSIGRpc3BhdGNoZXMga2V5cHJlc3MgZXZl
bnQuIElmIGEga2V5ZG93biBldmVudCBpcyBjYW5jZWxlZAorICAgICAgICBieSBjYWxsaW5nIHBy
ZXZlbnREZWZhdWx0LCB0aGUgZm9sbG93aW5nIGNvcnJlc3BvbmRpbmcga2V5cHJlc3MKKyAgICAg
ICAgZXZlbnRzIHNob3VsZG4ndCBiZSBkaXNwYXRjaGVkLgorCisgICAgICAgIFdlYktpdDEgaW1w
bGVtZW50ZWQgaXQgYnkgcmVtb3ZpbmcgV01fQ0hBUiBldmVudHMgaWYgdGhlIGtleWRvd24KKyAg
ICAgICAgZXZlbnQgaXMgY29uc3VtZWQuIEhvd2V2ZXIsIFdlYktpdDIgY2FuJ3QgZG8gc28gYmVj
YXVzZSBXZWJLaXQyCisgICAgICAgIHByb2Nlc3NlcyBrZXkgZXZlbnRzIGFzeW5jaHJvbm91c2x5
LiBUaHVzLCByZXRyaWV2ZSBhbGwgZm9sbG93aW5nCisgICAgICAgIFdNX0NIQVIgZXZlbnRzLCBh
bmQgZGlzcGF0Y2ggdGhlbSBhZnRlciBwcm9jZXNzaW5nIHRoZSBrZXlkb3duCisgICAgICAgIGFu
ZCBpZiBpdCBpcyBub3QgY29uc3VtZWQuCisKKyAgICAgICAgSW4gYWRkaXRpb24gdG8gdGhhdCwg
cmV0cmlldmluZyBmb2xsb3dpbmcgV01fQ0hBUiBldmVudHMgaXMgbmVlZGVkCisgICAgICAgIHRv
IGZpeCBCdWcgMjA0NjcyIGJlY2F1c2UgdGhlIGV2ZW50cyBhcmUgbmVlZGVkIGZvciAna2V5JyBw
cm9wZXJ0eQorICAgICAgICBvZiBrZXlkb3duIEtleWJvYXJkRXZlbnQgZm9yIGRlYWQga2V5IGNv
bWJpbmF0aW9uLgorCisgICAgICAgIEdlY2tvIGFuZCBDaHJvbWl1bSBhbHNvIGltcGxlbWVudHMg
J2tleScgcHJvcGVydHkgaW4gdGhlIHNhbWUgYXBwcm9hY2guCisKKyAgICAgICAgVGVzdDogQ292
ZXJlZCBieSBleGlzdGluZyBmYXN0L2V2ZW50cy9pbnB1dFRleHQtbmV2ZXItZmlyZWQtb24ta2V5
ZG93bi1jYW5jZWwuaHRtbCBhbmQgZmFzdC9ldmVudHMva2V5ZG93bi1rZXlwcmVzcy1wcmV2ZW50
RGVmYXVsdC5odG1sCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5o
OiBBZGRlZCBtX2ZvbGxvd2luZ0NoYXJFdmVudHMgYXMgVmVjdG9yPE1TRz4uCisgICAgICAgIChX
ZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6OmZvbGxvd2luZ0NoYXJFdmVudHMgY29uc3Qp
OgorICAgICAgICAqIFNoYXJlZC93aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6Ok5hdGl2ZVdlYktleWJvYXJk
RXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViUGFnZVByb3h5
V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaXNwYXRjaEZvbGxvd2lu
Z0NoYXJFdmVudHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uS2V5RXZlbnQpOgorCiAyMDE5LTExLTI3ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXZWJJbnNw
ZWN0b3JdIFVzZSBDU3RyaW5nIHRvIHN0b3JlIGV4cG9ydGVkIGRhdGEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwppbmRleCBlN2EwYjM4NzdjYmE1OWJlZDAxNWUzZjcwNjgxNzgwNTQwYjMzY2Qy
Li5jNzYzNGFhMzJlYmU5OWI3MmZjZGM3NzU2ZDhiMjAzMGQzZTBmOTBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMTEtMjggIEZ1amlpIEhpcm9u
b3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl0gUmV0cmlldmUg
YWxsIGZvbGxvd2luZyBXTV9DSEFSIGV2ZW50cyBhdCB0aGUgYmVnaW5uaW5nIG9mIHByb2Nlc3Np
bmcgV01fS0VZRE9XTiBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA0Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmtleURvd24pOiBB
ZGRlZCBhIHZhcmlhYmxlIGZvbGxvd2luZ0NoYXJFdmVudHMgb2YKKyAgICAgICAgVmVjdG9yPE1T
Rz4gdG8gcHJlc2VydmUgZm9sbG93aW5nIFdNX0NIQVIgZXZlbnRzLiBEaXNwYXRjaCB0aGVtIGlm
CisgICAgICAgIHRoZSBXTV9LRVlET1dOIGlzbid0IGNvbnN1bWVkLgorCiAyMDE5LTEwLTMxICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQg
Zml4IGF0dGVtcHQgYWZ0ZXIgcjI1MTc5OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2
ZVdlYktleWJvYXJkRXZlbnQuaAppbmRleCA2ZjRlMjliN2M2NTYzNzRhZjY3MjFjMTcxNTAyNTlh
M2Y3ZjRlNDA0Li4yN2ZjMWFjOTg1NzdiZGYwOTMyOWI3YWY0NTIzOWRiNGIwMTZiYmYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oCkBAIC03Niw3
ICs3Niw3IEBAIHB1YmxpYzoKICNlbGlmIFVTRShMSUJXUEUpCiAgICAgTmF0aXZlV2ViS2V5Ym9h
cmRFdmVudChzdHJ1Y3Qgd3BlX2lucHV0X2tleWJvYXJkX2V2ZW50Kik7CiAjZWxpZiBQTEFURk9S
TShXSU4pCi0gICAgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChIV05ELCBVSU5UIG1lc3NhZ2UsIFdQ
QVJBTSwgTFBBUkFNKTsKKyAgICBOYXRpdmVXZWJLZXlib2FyZEV2ZW50KEhXTkQsIFVJTlQgbWVz
c2FnZSwgV1BBUkFNLCBMUEFSQU0sIFZlY3RvcjxNU0c+JiYgZm9sbG93aW5nQ2hhckV2ZW50cyk7
CiAjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCkBAIC05MCw2ICs5MCw3IEBAIHB1YmxpYzoKICAg
ICA6OldlYkV2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZlbnQu
Z2V0KCk7IH0KICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBjb25zdCBNU0cqIG5hdGl2ZUV2ZW50
KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyAgICBjb25zdCBWZWN0b3I8TVNH
PiYgZm9sbG93aW5nQ2hhckV2ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fZm9sbG93aW5nQ2hhckV2
ZW50czsgfQogI2Vsc2UKICAgICBjb25zdCB2b2lkKiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0
dXJuIG51bGxwdHI7IH0KICNlbmRpZgpAQCAtMTA2LDYgKzEwNyw3IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPDo6V2ViRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CiAjZWxpZiBQTEFURk9STShXSU4p
CiAgICAgTVNHIG1fbmF0aXZlRXZlbnQ7CisgICAgVmVjdG9yPE1TRz4gbV9mb2xsb3dpbmdDaGFy
RXZlbnRzOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93
aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93
aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAKaW5kZXggOWJlOTI5MjYzMzM1YmUyMDlk
MjIwMTNiZDY3ODgwNTcwYmZiMmY3OC4uNTQ0NzQ5MmJlODJhYWRiNTZiNzA4ZGZhMTJlODI4MDAx
NTUxYzJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvd2luL05hdGl2ZVdlYktl
eWJvYXJkRXZlbnRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9OYXRpdmVX
ZWJLZXlib2FyZEV2ZW50V2luLmNwcApAQCAtMzMsOSArMzMsMTAgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1OYXRpdmVXZWJLZXlib2FyZEV2ZW50
OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50KEhXTkQgaHduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0g
d1BhcmFtLCBMUEFSQU0gbFBhcmFtKQorTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDo6TmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBB
UkFNIGxQYXJhbSwgVmVjdG9yPE1TRz4mJiBmb2xsb3dpbmdDaGFyRXZlbnRzKQogICAgIDogV2Vi
S2V5Ym9hcmRFdmVudChXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoaHdu
ZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pKQogICAgICwgbV9uYXRpdmVFdmVudChjcmVhdGVO
YXRpdmVFdmVudChod25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSkpCisgICAgLCBtX2ZvbGxv
d2luZ0NoYXJFdmVudHMoV1RGTW92ZShmb2xsb3dpbmdDaGFyRXZlbnRzKSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggODFiNjVjNmUyZGIxZDgw
MWI3YzNlNTY3NTE2NzVhYWY2Yzc4ZmQ3OC4uYWI2ZmUwNmIzZjRmYjQyOGI4MTVkOWVkYTg0YjJi
MzE4NDcwMzZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC02NTc1LDYgKzY1NzUsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCh1
aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAKICAgICAgICAgTUVTU0FHRV9DSEVD
SyhtX3Byb2Nlc3MsIHR5cGUgPT0gZXZlbnQudHlwZSgpKTsKIAorI2lmIFBMQVRGT1JNKFdJTikK
KyAgICAgICAgaWYgKCFoYW5kbGVkICYmIHR5cGUgPT0gV2ViRXZlbnQ6OlJhd0tleURvd24pCisg
ICAgICAgICAgICBkaXNwYXRjaEZvbGxvd2luZ0NoYXJFdmVudHMoZXZlbnQpOworI2VuZGlmCisK
ICAgICAgICAgYm9vbCBjYW5Qcm9jZXNzTW9yZUtleUV2ZW50cyA9ICFtX2tleUV2ZW50UXVldWUu
aXNFbXB0eSgpOwogICAgICAgICBpZiAoY2FuUHJvY2Vzc01vcmVLZXlFdmVudHMpIHsKICAgICAg
ICAgICAgIExPRyhLZXlIYW5kbGluZywgIiBVSSBwcm9jZXNzOiBzZW50IGtleUV2ZW50IGZyb20g
ZGlkUmVjZWl2ZUV2ZW50Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDQ4OGFjODAzMDZkNTliZGQ2NWM0YzFiZDM0NjhmM2MwOTg5YjMyMGIuLjdmMjdjMDgzNzA0
NTk3ZGFjNDk2YmM3NDA1YzU0YzQ0NDFlMWVkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC04NjUsNiArODY1LDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1By
b2Nlc3NpbmdLZXlib2FyZEV2ZW50cygpIGNvbnN0OwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRF
dmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7CisjaWYgUExBVEZPUk0oV0lOKQor
ICAgIHZvaWQgZGlzcGF0Y2hGb2xsb3dpbmdDaGFyRXZlbnRzKGNvbnN0IE5hdGl2ZVdlYktleWJv
YXJkRXZlbnQmKTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKE1BQ19HRVNUVVJFX0VWRU5UUykKICAg
ICB2b2lkIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBOYXRpdmVXZWJHZXN0dXJlRXZlbnQmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKaW5k
ZXggYmIwNDdmMjIyZDQ2MTIyMGE2OTUyNGJjMDViYWM5NGRmYzhlM2NhMy4uN2U3MDkyMTJiM2Zk
ZjZlYTgwZTBjOTg5ZGE2NzBmYmYzNTBiNWI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKIAorI2luY2x1ZGUgIk5hdGl2
ZVdlYktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU2VhcmNoUG9wdXBNZW51REIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJB
Z2VudC5oPgpAQCAtODYsNSArODcsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldERldmljZShJ
RDNEMTFEZXZpY2UxKiBkZXZpY2UpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJveHk6OmRp
c3BhdGNoRm9sbG93aW5nQ2hhckV2ZW50cyhjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiBr
ZXlkb3duRXZlbnQpCit7CisgICAgYXV0byYgZm9sbG93aW5nQ2hhckV2ZW50cyA9IGtleWRvd25F
dmVudC5mb2xsb3dpbmdDaGFyRXZlbnRzKCk7CisgICAgZm9yIChhdXRvIGl0ID0gZm9sbG93aW5n
Q2hhckV2ZW50cy5yYmVnaW4oKTsgaXQgIT0gZm9sbG93aW5nQ2hhckV2ZW50cy5yZW5kKCk7IGl0
KyspCisgICAgICAgIG1fa2V5RXZlbnRRdWV1ZS5wcmVwZW5kKE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQoaXQtPmh3bmQsIGl0LT5tZXNzYWdlLCBpdC0+d1BhcmFtLCBpdC0+bFBhcmFtLCB7IH0pKTsK
K30KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggOWI5MjI2MTdiODUyNGE2Y2Q1Y2QwYTY1N2U1NWY0YTdmODlhZDkwNy4u
ZTJlMzcxZWI3ZjgyMWVhYWVjM2Q2NWQ2NGQ1YzczNDlmNzA0ZGMxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtNDY3LDcgKzQ2NywxNiBAQCBMUkVTVUxUIFdl
YlZpZXc6Om9uVmVydGljYWxTY3JvbGwoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3
UGFyYW0sIExQQVJBTQogCiBMUkVTVUxUIFdlYlZpZXc6Om9uS2V5RXZlbnQoSFdORCBoV25kLCBV
SU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJvb2wmIGhhbmRsZWQp
CiB7Ci0gICAgbV9wYWdlLT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pKTsKKyAgICBWZWN0b3I8TVNHPiBmb2xs
b3dpbmdDaGFyRXZlbnRzOworICAgIGlmIChtZXNzYWdlID09IFdNX0tFWURPV04pIHsKKyAgICAg
ICAgTVNHIG1zZzsKKyAgICAgICAgLy8gV01fU1lTQ0hBUiBldmVudHMgc2hvdWxkIG5vdCBiZSBy
ZW1vdmVkLCBiZWNhdXNlIFdlYktpdCBpcyB1c2luZyBXTV9TWVNDSEFSIGZvciBhY2Nlc3Mga2V5
cyBhbmQgdGhleSBjYW4ndCBiZSBjYW5jZWxlZC4KKyAgICAgICAgd2hpbGUgKFBlZWtNZXNzYWdl
KCZtc2csIGhXbmQsIFdNX0NIQVIsIFdNX0RFQURDSEFSLCBQTV9SRU1PVkUpKSB7CisgICAgICAg
ICAgICBpZiAobXNnLm1lc3NhZ2UgPT0gV01fQ0hBUikKKyAgICAgICAgICAgICAgICBmb2xsb3dp
bmdDaGFyRXZlbnRzLmFwcGVuZChtc2cpOworICAgICAgICB9CisgICAgfQorICAgIG1fcGFnZS0+
aGFuZGxlS2V5Ym9hcmRFdmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50KGhXbmQsIG1lc3NhZ2Us
IHdQYXJhbSwgbFBhcmFtLCBXVEZNb3ZlKGZvbGxvd2luZ0NoYXJFdmVudHMpKSk7CiAKICAgICAv
LyBXZSBjbGFpbSBoZXJlIHRvIGFsd2F5cyBoYXZlIGhhbmRsZWQgdGhlIGV2ZW50LiBJZiB0aGUg
ZXZlbnQgaXMgbm90IGluIGZhY3QgaGFuZGxlZCwgd2Ugd2lsbAogICAgIC8vIGZpbmQgb3V0IGxh
dGVyIGluIGRpZE5vdEhhbmRsZUtleUV2ZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cAppbmRleCAyM2JmNGI0NTJiZDM4MTlhYWJhYzdjOGY1YmE2MDgyMjNmOGM1MzM2Li5hYzJjOTg0
Y2E2NGNiMDZmYzAzMmI4M2Q4ZjRmMjFmY2QyZTJkZGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcApAQCAtMjM3Niw2ICsyMzc2LDE1IEBAIGJvb2wgV2ViVmlldzo6a2V5RG93bihX
UEFSQU0gdmlydHVhbEtleUNvZGUsIExQQVJBTSBrZXlEYXRhLCBib29sIHN5c3RlbUtleURvd24p
CiAjZW5kaWYKICAgICBGcmFtZSYgZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZv
Y3VzZWRPck1haW5GcmFtZSgpOwogCisgICAgVmVjdG9yPE1TRz4gZm9sbG93aW5nQ2hhckV2ZW50
czsKKyAgICBNU0cgbXNnOworICAgIHdoaWxlIChQZWVrTWVzc2FnZSgmbXNnLCBtX3ZpZXdXaW5k
b3csIFdNX0NIQVIsIFdNX0RFQURDSEFSLCBQTV9SRU1PVkUpKSB7CisgICAgICAgIC8vIEZJWE1F
OiByZW1vdmUgV01fVU5JQ0hBUiwgdG9vCisgICAgICAgIC8vIFdNX1NZU0NIQVIgZXZlbnRzIHNo
b3VsZCBub3QgYmUgcmVtb3ZlZCwgYmVjYXVzZSBXZWJLaXQgaXMgdXNpbmcgV01fU1lTQ0hBUiBm
b3IgYWNjZXNzIGtleXMgYW5kIHRoZXkgY2FuJ3QgYmUgY2FuY2VsZWQuCisgICAgICAgIGlmICht
c2cubWVzc2FnZSA9PSBXTV9DSEFSKQorICAgICAgICAgICAgZm9sbG93aW5nQ2hhckV2ZW50cy5h
cHBlbmQobXNnKTsKKyAgICB9CisKICAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQga2V5RXZlbnQo
bV92aWV3V2luZG93LCB2aXJ0dWFsS2V5Q29kZSwga2V5RGF0YSwgUGxhdGZvcm1FdmVudDo6UmF3
S2V5RG93biwgc3lzdGVtS2V5RG93bik7CiAgICAgYm9vbCBoYW5kbGVkID0gZnJhbWUuZXZlbnRI
YW5kbGVyKCkua2V5RXZlbnQoa2V5RXZlbnQpOwogCkBAIC0yMzg0LDE0ICsyMzkzLDggQEAgYm9v
bCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0dWFsS2V5Q29kZSwgTFBBUkFNIGtleURhdGEs
IGJvb2wgc3lzdGVtS2V5RG93bikKICAgICBpZiAoc3lzdGVtS2V5RG93biAmJiB2aXJ0dWFsS2V5
Q29kZSAhPSBWS19SRVRVUk4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChoYW5k
bGVkKSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZW1vdmUgV01fVU5JQ0hBUiwgdG9vCi0gICAgICAg
IE1TRyBtc2c7Ci0gICAgICAgIC8vIFdNX1NZU0NIQVIgZXZlbnRzIHNob3VsZCBub3QgYmUgcmVt
b3ZlZCwgYmVjYXVzZSBhY2Nlc3Mga2V5cyBhcmUgaW1wbGVtZW50ZWQgaW4gV2ViQ29yZSBpbiBX
TV9TWVNDSEFSIGhhbmRsZXIuCi0gICAgICAgIGlmICghc3lzdGVtS2V5RG93bikKLSAgICAgICAg
ICAgIDo6UGVla01lc3NhZ2UoJm1zZywgbV92aWV3V2luZG93LCBXTV9DSEFSLCBXTV9DSEFSLCBQ
TV9SRU1PVkUpOworICAgIGlmIChoYW5kbGVkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
CiAKICAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBiYWNrL2ZvcndhcmQgdXNpbmcgZWl0aGVyIEN0
cmwrTGVmdC9SaWdodCBBcnJvdyBrZXlzLgogICAgIC8vIEZJWE1FOiBUaGlzIGxvZ2ljIHNob3Vs
ZCBwcm9iYWJseSBiZSBpbiBFdmVudEhhbmRsZXI6OmRlZmF1bHRBcnJvd0V2ZW50SGFuZGxlcigp
LgpAQCAtMjQwMiw4ICsyNDA1LDkgQEAgYm9vbCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0
dWFsS2V5Q29kZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikKICAgICAgICAg
cmV0dXJuIG1fcGFnZS0+YmFja0ZvcndhcmQoKS5nb0JhY2soKTsKIAogICAgIC8vIE5lZWQgdG8g
c2Nyb2xsIHRoZSBwYWdlIGlmIHRoZSBhcnJvdyBrZXlzLCBwZ3VwL2RuLCBvciBob21lL2VuZCBh
cmUgaGl0LgotICAgIFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb247Ci0gICAgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHk7CisgICAgYm9vbCB3aWxsU2Nyb2xsID0gdHJ1ZTsKKyAgICBTY3Jv
bGxEaXJlY3Rpb24gZGlyZWN0aW9uIHsgfTsKKyAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxh
cml0eSB7IH07CiAgICAgc3dpdGNoICh2aXJ0dWFsS2V5Q29kZSkgewogICAgICAgICBjYXNlIFZL
X0xFRlQ6CiAgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKQEAgLTI0Mzgs
MTAgKzI0NDIsMTkgQEAgYm9vbCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0dWFsS2V5Q29k
ZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikKICAgICAgICAgICAgIGRpcmVj
dGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHdpbGxTY3JvbGwgPSBmYWxz
ZTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVybiBmcmFtZS5ldmVudEhh
bmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShkaXJlY3Rpb24sIGdyYW51bGFyaXR5KTsKKyAgICBp
ZiAod2lsbFNjcm9sbCkgeworICAgICAgICBoYW5kbGVkID0gZnJhbWUuZXZlbnRIYW5kbGVyKCku
c2Nyb2xsUmVjdXJzaXZlbHkoZGlyZWN0aW9uLCBncmFudWxhcml0eSk7CisgICAgICAgIGlmICho
YW5kbGVkKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgZm9yIChhdXRv
JiBtc2cgOiBmb2xsb3dpbmdDaGFyRXZlbnRzKQorICAgICAgICBEaXNwYXRjaE1lc3NhZ2UoJm1z
Zyk7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFdlYlZpZXc6OmtleVByZXNzKFdQQVJB
TSBjaGFyQ29kZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikK
</data>
<flag name="review"
          id="400283"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384589</attachid>
            <date>2019-12-01 18:27:54 -0800</date>
            <delta_ts>2019-12-01 18:27:54 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>11104</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggOTNlMmUzOTkyNGEuLjMyNjMyNjg4ZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQxIEBACisyMDE5LTEyLTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnku
Y29tPgorCisgICAgICAgIFtXaW5dIFJldHJpZXZlIGFsbCBmb2xsb3dpbmcgV01fQ0hBUiBldmVu
dHMgYXQgdGhlIGJlZ2lubmluZyBvZiBwcm9jZXNzaW5nIFdNX0tFWURPV04gZXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDY5NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgSW4gV2luZG93cyBwb3J0
cywgV01fS0VZRE9XTiBkaXNwYXRjaGVzIGtleWRvd24gZXZlbnQsIGFuZAorICAgICAgICBXTV9D
SEFSIGRpc3BhdGNoZXMga2V5cHJlc3MgZXZlbnQuIElmIGEga2V5ZG93biBldmVudCBpcyBjYW5j
ZWxlZAorICAgICAgICBieSBjYWxsaW5nIHByZXZlbnREZWZhdWx0LCB0aGUgZm9sbG93aW5nIGNv
cnJlc3BvbmRpbmcga2V5cHJlc3MKKyAgICAgICAgZXZlbnRzIHNob3VsZG4ndCBiZSBkaXNwYXRj
aGVkLgorCisgICAgICAgIFdlYktpdDEgaW1wbGVtZW50ZWQgaXQgYnkgcmVtb3ZpbmcgV01fQ0hB
UiBldmVudHMgaWYgdGhlIGtleWRvd24KKyAgICAgICAgZXZlbnQgaXMgY29uc3VtZWQuIEhvd2V2
ZXIsIFdlYktpdDIgY2FuJ3QgZG8gc28gYmVjYXVzZSBXZWJLaXQyCisgICAgICAgIHByb2Nlc3Nl
cyBrZXkgZXZlbnRzIGFzeW5jaHJvbm91c2x5LiBUaHVzLCByZXRyaWV2ZSBhbGwgZm9sbG93aW5n
CisgICAgICAgIFdNX0NIQVIgZXZlbnRzLCBhbmQgZGlzcGF0Y2ggdGhlbSBhZnRlciBwcm9jZXNz
aW5nIHRoZSBrZXlkb3duCisgICAgICAgIGFuZCBpZiBpdCBpcyBub3QgY29uc3VtZWQuCisKKyAg
ICAgICAgSW4gYWRkaXRpb24gdG8gdGhhdCwgcmV0cmlldmluZyBmb2xsb3dpbmcgV01fQ0hBUiBl
dmVudHMgaXMgbmVlZGVkCisgICAgICAgIHRvIGZpeCBCdWcgMjA0NjcyIGJlY2F1c2UgdGhlIGV2
ZW50cyBhcmUgbmVlZGVkIGZvciAna2V5JyBwcm9wZXJ0eQorICAgICAgICBvZiBrZXlkb3duIEtl
eWJvYXJkRXZlbnQgZm9yIGRlYWQga2V5IGNvbWJpbmF0aW9uLgorCisgICAgICAgIEdlY2tvIGFu
ZCBDaHJvbWl1bSBhbHNvIGltcGxlbWVudHMgJ2tleScgcHJvcGVydHkgaW4gdGhlIHNhbWUgYXBw
cm9hY2guCisKKyAgICAgICAgVGVzdDogQ292ZXJlZCBieSBleGlzdGluZyBmYXN0L2V2ZW50cy9p
bnB1dFRleHQtbmV2ZXItZmlyZWQtb24ta2V5ZG93bi1jYW5jZWwuaHRtbCBhbmQgZmFzdC9ldmVu
dHMva2V5ZG93bi1rZXlwcmVzcy1wcmV2ZW50RGVmYXVsdC5odG1sCisKKyAgICAgICAgKiBTaGFy
ZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oOiBBZGRlZCBtX3BlbmRpbmdDaGFyRXZlbnRzIGFz
IFZlY3RvcjxNU0c+LgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50Ojpw
ZW5kaW5nQ2hhckV2ZW50cyBjb25zdCk6CisgICAgICAgICogU2hhcmVkL3dpbi9OYXRpdmVXZWJL
ZXlib2FyZEV2ZW50V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViS2V5Ym9hcmRF
dmVudDo6TmF0aXZlV2ViS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2
ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmRpc3BhdGNoUGVuZGluZ0NoYXJFdmVudHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy93
aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uS2V5RXZlbnQpOgor
CiAyMDE5LTExLTMwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgQ29tcG9zaXRlT3BlcmF0b3IgYW5kIEJsZW5kTW9kZSBlbmNvZGFibGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaAppbmRleCA2ZjRl
MjliN2M2NS4uMjdmYzFhYzk4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05h
dGl2ZVdlYktleWJvYXJkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVX
ZWJLZXlib2FyZEV2ZW50LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogI2VsaWYgVVNFKExJ
QldQRSkKICAgICBOYXRpdmVXZWJLZXlib2FyZEV2ZW50KHN0cnVjdCB3cGVfaW5wdXRfa2V5Ym9h
cmRfZXZlbnQqKTsKICNlbGlmIFBMQVRGT1JNKFdJTikKLSAgICBOYXRpdmVXZWJLZXlib2FyZEV2
ZW50KEhXTkQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNLCBMUEFSQU0pOworICAgIE5hdGl2ZVdlYktl
eWJvYXJkRXZlbnQoSFdORCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0sIExQQVJBTSwgVmVjdG9yPE1T
Rz4mJiBwZW5kaW5nQ2hhckV2ZW50cyk7CiAjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCkBAIC05
MCw2ICs5MCw3IEBAIHB1YmxpYzoKICAgICA6OldlYkV2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fbmF0aXZlRXZlbnQuZ2V0KCk7IH0KICNlbGlmIFBMQVRGT1JNKFdJTikKICAg
ICBjb25zdCBNU0cqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7
IH0KKyAgICBjb25zdCBWZWN0b3I8TVNHPiYgcGVuZGluZ0NoYXJFdmVudHMoKSBjb25zdCB7IHJl
dHVybiBtX3BlbmRpbmdDaGFyRXZlbnRzOyB9CiAjZWxzZQogICAgIGNvbnN0IHZvaWQqIG5hdGl2
ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogI2VuZGlmCkBAIC0xMDYsNiArMTA3
LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8OjpXZWJFdmVudD4gbV9uYXRpdmVFdmVudDsK
ICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBNU0cgbV9uYXRpdmVFdmVudDsKKyAgICBWZWN0b3I8
TVNHPiBtX3BlbmRpbmdDaGFyRXZlbnRzOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC93aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC93aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAKaW5kZXgg
OWJlOTI5MjYzMzMuLjU0NDc0OTJiZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC93aW4vTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvd2luL05hdGl2ZVdlYktleWJvYXJkRXZlbnRXaW4uY3BwCkBAIC0zMyw5ICszMywxMCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLU5hdGl2
ZVdlYktleWJvYXJkRXZlbnQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQoSFdORCBod25kLCBVSU5U
IG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCitOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50KEhXTkQgaHduZCwgVUlOVCBtZXNzYWdlLCBX
UEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBWZWN0b3I8TVNHPiYmIHBlbmRpbmdDaGFyRXZl
bnRzKQogICAgIDogV2ViS2V5Ym9hcmRFdmVudChXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktl
eWJvYXJkRXZlbnQoaHduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0pKQogICAgICwgbV9uYXRp
dmVFdmVudChjcmVhdGVOYXRpdmVFdmVudChod25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSkp
CisgICAgLCBtX3BlbmRpbmdDaGFyRXZlbnRzKFdURk1vdmUocGVuZGluZ0NoYXJFdmVudHMpKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA4MWI2
NWM2ZTJkYi4uYWI2ZmUwNmIzZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtNjU3NSw2ICs2NTc1LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNl
aXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKQogCiAgICAgICAgIE1F
U1NBR0VfQ0hFQ0sobV9wcm9jZXNzLCB0eXBlID09IGV2ZW50LnR5cGUoKSk7CiAKKyNpZiBQTEFU
Rk9STShXSU4pCisgICAgICAgIGlmICghaGFuZGxlZCAmJiB0eXBlID09IFdlYkV2ZW50OjpSYXdL
ZXlEb3duKQorICAgICAgICAgICAgZGlzcGF0Y2hQZW5kaW5nQ2hhckV2ZW50cyhldmVudCk7Cisj
ZW5kaWYKKwogICAgICAgICBib29sIGNhblByb2Nlc3NNb3JlS2V5RXZlbnRzID0gIW1fa2V5RXZl
bnRRdWV1ZS5pc0VtcHR5KCk7CiAgICAgICAgIGlmIChjYW5Qcm9jZXNzTW9yZUtleUV2ZW50cykg
ewogICAgICAgICAgICAgTE9HKEtleUhhbmRsaW5nLCAiIFVJIHByb2Nlc3M6IHNlbnQga2V5RXZl
bnQgZnJvbSBkaWRSZWNlaXZlRXZlbnQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggNDg4YWM4MDMwNmQuLjdmMjdjMDgzNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtODY1LDYgKzg2NSw5IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaXNQcm9jZXNzaW5nS2V5Ym9hcmRFdmVudHMoKSBjb25zdDsKICAgICB2b2lkIGhhbmRsZUtl
eWJvYXJkRXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOworI2lmIFBMQVRGT1JN
KFdJTikKKyAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0NoYXJFdmVudHMoY29uc3QgTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudCYpOworI2VuZGlmCiAKICNpZiBFTkFCTEUoTUFDX0dFU1RVUkVfRVZFTlRT
KQogICAgIHZvaWQgaGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYkdlc3R1cmVFdmVu
dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94
eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUGFnZVByb3h5V2luLmNw
cAppbmRleCBiYjA0N2YyMjJkNC4uN2U3MDkyMTJiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKKyNpbmNsdWRlICJO
YXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZUNsaWVudEltcGwuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1NlYXJjaFBvcHVwTWVudURCLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9V
c2VyQWdlbnQuaD4KQEAgLTg2LDUgKzg3LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXREZXZp
Y2UoSUQzRDExRGV2aWNlMSogZGV2aWNlKQogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZVByb3h5
OjpkaXNwYXRjaFBlbmRpbmdDaGFyRXZlbnRzKGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQm
IGtleWRvd25FdmVudCkKK3sKKyAgICBhdXRvJiBwZW5kaW5nQ2hhckV2ZW50cyA9IGtleWRvd25F
dmVudC5wZW5kaW5nQ2hhckV2ZW50cygpOworICAgIGZvciAoYXV0byBpdCA9IHBlbmRpbmdDaGFy
RXZlbnRzLnJiZWdpbigpOyBpdCAhPSBwZW5kaW5nQ2hhckV2ZW50cy5yZW5kKCk7IGl0KyspCisg
ICAgICAgIG1fa2V5RXZlbnRRdWV1ZS5wcmVwZW5kKE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoaXQt
Pmh3bmQsIGl0LT5tZXNzYWdlLCBpdC0+d1BhcmFtLCBpdC0+bFBhcmFtLCB7IH0pKTsKK30KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5j
cHAKaW5kZXggOWI5MjI2MTdiODUuLmUyZTM3MWViN2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3Mvd2luL1dlYlZpZXcuY3BwCkBAIC00NjcsNyArNDY3LDE2IEBAIExSRVNVTFQgV2ViVmlldzo6
b25WZXJ0aWNhbFNjcm9sbChIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwg
TFBBUkFNCiAKIExSRVNVTFQgV2ViVmlldzo6b25LZXlFdmVudChIV05EIGhXbmQsIFVJTlQgbWVz
c2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAg
ICBtX3BhZ2UtPmhhbmRsZUtleWJvYXJkRXZlbnQoTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChoV25k
LCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSkpOworICAgIFZlY3RvcjxNU0c+IHBlbmRpbmdDaGFy
RXZlbnRzOworICAgIGlmIChtZXNzYWdlID09IFdNX0tFWURPV04pIHsKKyAgICAgICAgTVNHIG1z
ZzsKKyAgICAgICAgLy8gV01fU1lTQ0hBUiBldmVudHMgc2hvdWxkIG5vdCBiZSByZW1vdmVkLCBi
ZWNhdXNlIFdlYktpdCBpcyB1c2luZyBXTV9TWVNDSEFSIGZvciBhY2Nlc3Mga2V5cyBhbmQgdGhl
eSBjYW4ndCBiZSBjYW5jZWxlZC4KKyAgICAgICAgd2hpbGUgKFBlZWtNZXNzYWdlKCZtc2csIGhX
bmQsIFdNX0NIQVIsIFdNX0RFQURDSEFSLCBQTV9SRU1PVkUpKSB7CisgICAgICAgICAgICBpZiAo
bXNnLm1lc3NhZ2UgPT0gV01fQ0hBUikKKyAgICAgICAgICAgICAgICBwZW5kaW5nQ2hhckV2ZW50
cy5hcHBlbmQobXNnKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBtX3BhZ2UtPmhhbmRsZUtleWJv
YXJkRXZlbnQoTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQ
YXJhbSwgV1RGTW92ZShwZW5kaW5nQ2hhckV2ZW50cykpKTsKIAogICAgIC8vIFdlIGNsYWltIGhl
cmUgdG8gYWx3YXlzIGhhdmUgaGFuZGxlZCB0aGUgZXZlbnQuIElmIHRoZSBldmVudCBpcyBub3Qg
aW4gZmFjdCBoYW5kbGVkLCB3ZSB3aWxsCiAgICAgLy8gZmluZCBvdXQgbGF0ZXIgaW4gZGlkTm90
SGFuZGxlS2V5RXZlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYTBjMDMxYjJk
NDQuLjZlMThjMjRiYmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTktMTItMDEgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5j
b20+CisKKyAgICAgICAgW1dpbl0gUmV0cmlldmUgYWxsIGZvbGxvd2luZyBXTV9DSEFSIGV2ZW50
cyBhdCB0aGUgYmVnaW5uaW5nIG9mIHByb2Nlc3NpbmcgV01fS0VZRE9XTiBldmVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0Njk0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUm9zcyBLaXJzbGluZy4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgor
ICAgICAgICAoV2ViVmlldzo6a2V5RG93bik6IEFkZGVkIGEgdmFyaWFibGUgcGVuZGluZ0NoYXJF
dmVudHMgb2YKKyAgICAgICAgVmVjdG9yPE1TRz4gdG8gcHJlc2VydmUgZm9sbG93aW5nIFdNX0NI
QVIgZXZlbnRzLiBEaXNwYXRjaCB0aGVtIGlmCisgICAgICAgIHRoZSBXTV9LRVlET1dOIGlzbid0
IGNvbnN1bWVkLgorCiAyMDE5LTEyLTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFrZV0gTmluamEgY2FuJ3QgYnVpbGQgV2ViS2l0UXVh
cnR6Q29yZUFkZGl0aW9ucyBvZiBBcHBsZVdpbiBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCmluZGV4IDM2ZGQ1ODllMmQwLi5mOGU0NTg4MWYzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVmlldy5jcHAKQEAgLTIzNzYsNiArMjM3NiwxNSBAQCBib29sIFdlYlZpZXc6OmtleURv
d24oV1BBUkFNIHZpcnR1YWxLZXlDb2RlLCBMUEFSQU0ga2V5RGF0YSwgYm9vbCBzeXN0ZW1LZXlE
b3duKQogI2VuZGlmCiAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS5mb2N1c2VkT3JNYWluRnJhbWUoKTsKIAorICAgIFZlY3RvcjxNU0c+IHBlbmRpbmdDaGFyRXZl
bnRzOworICAgIE1TRyBtc2c7CisgICAgd2hpbGUgKFBlZWtNZXNzYWdlKCZtc2csIG1fdmlld1dp
bmRvdywgV01fQ0hBUiwgV01fREVBRENIQVIsIFBNX1JFTU9WRSkpIHsKKyAgICAgICAgLy8gRklY
TUU6IHJlbW92ZSBXTV9VTklDSEFSLCB0b28KKyAgICAgICAgLy8gV01fU1lTQ0hBUiBldmVudHMg
c2hvdWxkIG5vdCBiZSByZW1vdmVkLCBiZWNhdXNlIFdlYktpdCBpcyB1c2luZyBXTV9TWVNDSEFS
IGZvciBhY2Nlc3Mga2V5cyBhbmQgdGhleSBjYW4ndCBiZSBjYW5jZWxlZC4KKyAgICAgICAgaWYg
KG1zZy5tZXNzYWdlID09IFdNX0NIQVIpCisgICAgICAgICAgICBwZW5kaW5nQ2hhckV2ZW50cy5h
cHBlbmQobXNnKTsKKyAgICB9CisKICAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQga2V5RXZlbnQo
bV92aWV3V2luZG93LCB2aXJ0dWFsS2V5Q29kZSwga2V5RGF0YSwgUGxhdGZvcm1FdmVudDo6UmF3
S2V5RG93biwgc3lzdGVtS2V5RG93bik7CiAgICAgYm9vbCBoYW5kbGVkID0gZnJhbWUuZXZlbnRI
YW5kbGVyKCkua2V5RXZlbnQoa2V5RXZlbnQpOwogCkBAIC0yMzg0LDE0ICsyMzkzLDggQEAgYm9v
bCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0dWFsS2V5Q29kZSwgTFBBUkFNIGtleURhdGEs
IGJvb2wgc3lzdGVtS2V5RG93bikKICAgICBpZiAoc3lzdGVtS2V5RG93biAmJiB2aXJ0dWFsS2V5
Q29kZSAhPSBWS19SRVRVUk4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChoYW5k
bGVkKSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZW1vdmUgV01fVU5JQ0hBUiwgdG9vCi0gICAgICAg
IE1TRyBtc2c7Ci0gICAgICAgIC8vIFdNX1NZU0NIQVIgZXZlbnRzIHNob3VsZCBub3QgYmUgcmVt
b3ZlZCwgYmVjYXVzZSBhY2Nlc3Mga2V5cyBhcmUgaW1wbGVtZW50ZWQgaW4gV2ViQ29yZSBpbiBX
TV9TWVNDSEFSIGhhbmRsZXIuCi0gICAgICAgIGlmICghc3lzdGVtS2V5RG93bikKLSAgICAgICAg
ICAgIDo6UGVla01lc3NhZ2UoJm1zZywgbV92aWV3V2luZG93LCBXTV9DSEFSLCBXTV9DSEFSLCBQ
TV9SRU1PVkUpOworICAgIGlmIChoYW5kbGVkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
CiAKICAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBiYWNrL2ZvcndhcmQgdXNpbmcgZWl0aGVyIEN0
cmwrTGVmdC9SaWdodCBBcnJvdyBrZXlzLgogICAgIC8vIEZJWE1FOiBUaGlzIGxvZ2ljIHNob3Vs
ZCBwcm9iYWJseSBiZSBpbiBFdmVudEhhbmRsZXI6OmRlZmF1bHRBcnJvd0V2ZW50SGFuZGxlcigp
LgpAQCAtMjQwMiw4ICsyNDA1LDkgQEAgYm9vbCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0
dWFsS2V5Q29kZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikKICAgICAgICAg
cmV0dXJuIG1fcGFnZS0+YmFja0ZvcndhcmQoKS5nb0JhY2soKTsKIAogICAgIC8vIE5lZWQgdG8g
c2Nyb2xsIHRoZSBwYWdlIGlmIHRoZSBhcnJvdyBrZXlzLCBwZ3VwL2RuLCBvciBob21lL2VuZCBh
cmUgaGl0LgotICAgIFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb247Ci0gICAgU2Nyb2xsR3JhbnVs
YXJpdHkgZ3JhbnVsYXJpdHk7CisgICAgYm9vbCB3aWxsU2Nyb2xsID0gdHJ1ZTsKKyAgICBTY3Jv
bGxEaXJlY3Rpb24gZGlyZWN0aW9uIHsgfTsKKyAgICBTY3JvbGxHcmFudWxhcml0eSBncmFudWxh
cml0eSB7IH07CiAgICAgc3dpdGNoICh2aXJ0dWFsS2V5Q29kZSkgewogICAgICAgICBjYXNlIFZL
X0xFRlQ6CiAgICAgICAgICAgICBncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZTsKQEAgLTI0Mzgs
MTAgKzI0NDIsMTkgQEAgYm9vbCBXZWJWaWV3OjprZXlEb3duKFdQQVJBTSB2aXJ0dWFsS2V5Q29k
ZSwgTFBBUkFNIGtleURhdGEsIGJvb2wgc3lzdGVtS2V5RG93bikKICAgICAgICAgICAgIGRpcmVj
dGlvbiA9IFNjcm9sbERvd247CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHdpbGxTY3JvbGwgPSBmYWxz
ZTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVybiBmcmFtZS5ldmVudEhh
bmRsZXIoKS5zY3JvbGxSZWN1cnNpdmVseShkaXJlY3Rpb24sIGdyYW51bGFyaXR5KTsKKyAgICBp
ZiAod2lsbFNjcm9sbCkgeworICAgICAgICBoYW5kbGVkID0gZnJhbWUuZXZlbnRIYW5kbGVyKCku
c2Nyb2xsUmVjdXJzaXZlbHkoZGlyZWN0aW9uLCBncmFudWxhcml0eSk7CisgICAgICAgIGlmICho
YW5kbGVkKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgZm9yIChhdXRv
JiBtc2cgOiBwZW5kaW5nQ2hhckV2ZW50cykKKyAgICAgICAgRGlzcGF0Y2hNZXNzYWdlKCZtc2cp
OworICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBXZWJWaWV3OjprZXlQcmVzcyhXUEFSQU0g
Y2hhckNvZGUsIExQQVJBTSBrZXlEYXRhLCBib29sIHN5c3RlbUtleURvd24pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>