<?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>211591</bug_id>
          
          <creation_ts>2020-05-07 13:06:28 -0700</creation_ts>
          <short_desc>[iOS] caret appears in the middle of a search field when field is focused on agoda.com</short_desc>
          <delta_ts>2020-05-08 10:57:45 -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>HTML Editing</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>graouts</cc>
    
    <cc>kangil.han</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1650315</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-07 13:06:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/60605873&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650336</commentid>
    <comment_count>1</comment_count>
      <attachid>398792</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-07 13:46:03 -0700</bug_when>
    <thetext>Created attachment 398792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650337</commentid>
    <comment_count>2</comment_count>
      <attachid>398793</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-07 13:48:49 -0700</bug_when>
    <thetext>Created attachment 398793
Fix #include order</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650359</commentid>
    <comment_count>3</comment_count>
      <attachid>398799</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-07 14:45:05 -0700</bug_when>
    <thetext>Created attachment 398799
Rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650522</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-08 01:22:24 -0700</bug_when>
    <thetext>I&apos;d rather we didn&apos;t add the animationDidFinish() method on AnimationEffect/KeyframeEffect. The other animationDid*() method are there because KeyframeEffect need to update accelerated animations based on a timing change in its associated WebAnimation, but here this is not the case. I suggest we simply call through KeyframeEffect to obtain the target right from WebAnimation::finishNotificationSteps() leaving AnimationEffect/KeyframeEffect untouched.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650576</commentid>
    <comment_count>5</comment_count>
      <attachid>398799</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-08 07:07:55 -0700</bug_when>
    <thetext>Comment on attachment 398799
Rebase on trunk

(In reply to Antoine Quint from comment #4)
&gt; I&apos;d rather we didn&apos;t add the animationDidFinish() method on
&gt; AnimationEffect/KeyframeEffect. The other animationDid*() method are there
&gt; because KeyframeEffect need to update accelerated animations based on a
&gt; timing change in its associated WebAnimation, but here this is not the case.
&gt; I suggest we simply call through KeyframeEffect to obtain the target right
&gt; from WebAnimation::finishNotificationSteps() leaving
&gt; AnimationEffect/KeyframeEffect untouched.

👍🏻</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650582</commentid>
    <comment_count>6</comment_count>
      <attachid>398858</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-08 07:45:18 -0700</bug_when>
    <thetext>Created attachment 398858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650584</commentid>
    <comment_count>7</comment_count>
      <attachid>398860</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-08 07:47:21 -0700</bug_when>
    <thetext>Created attachment 398860
Remove unnecessary local variable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650685</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-08 10:57:44 -0700</bug_when>
    <thetext>Committed r261398: &lt;https://trac.webkit.org/changeset/261398&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398860.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398792</attachid>
            <date>2020-05-07 13:46:03 -0700</date>
            <delta_ts>2020-05-07 13:48:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211591-20200507134602.patch</filename>
            <type>text/plain</type>
            <size>16994</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRjMzhjYzIxNGIzYjJj
ZWQ2ZWVkMjVmNzg0MjZhMjA2OTIzZTNjZi4uMDRhMDQxZjgwNTU0OTA4NTRhNDY3ZDA3ZmQzZmUx
ODQ4ZmVhYTg3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0
IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZv
Y3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQv
Q2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5o
dG1sCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjphbmltYXRpb25EaWRGaW5pc2gpOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpmaW5pc2hOb3RpZmljYXRpb25TdGVwcyk6CisKKyAg
ICAgICAgQWRkIHBsdW1iaW5nIHRvIGNhbGwgb3V0IHRvIHRoZSBXZWJLaXQgY2xpZW50IGxheWVy
IGFmdGVyIGFuIGFuaW1hdGlvbiBmaW5pc2hlcyBydW5uaW5nLgorCisgICAgICAgICogZG9tL05v
ZGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaDoKKworICAgICAgICBX
RUJDT1JFX0VYUE9SVCBhIGNvdXBsZSBvZiBtZXRob2RzLgorCisgICAgICAgICogcGFnZS9DaHJv
bWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6YW5pbWF0aW9uRGlk
RmluaXNoRm9yRWxlbWVudCk6CisKIDIwMjAtMDUtMDYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW1wbGVtZW50IGFjY2Vzc2liaWxpdHkgb2Yg
SFRNTCA1LjEgRHJhZyAmIERyb3AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTA2Y2JmZWExMDczNzM4ZmQzNDI3MDU4
NzA3MWI5ZmVhY2IxNmQ0NS4uOWRlYTZhMTQxNmY5YTIwNGI3NjMxYzMxYzJkOTc4OTM4YWMxZTBm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAyMC0wNS0wNyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBjYXJldCBhcHBlYXJzIGlu
IHRoZSBtaWRkbGUgb2YgYSBzZWFyY2ggZmllbGQgd2hlbiBmaWVsZCBpcyBmb2N1c2VkIG9uIGFn
b2RhLmNvbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjExNTkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDYwNTg3Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbWFpbiBzZWFyY2ggZmllbGQg
b24gdGhlIG1vYmlsZSB2ZXJzaW9uIG9mIHRoaXMgd2Vic2l0ZSBiZWdpbnMgb2Zmc2NyZWVuLCB3
aXRoIGEgQ1NTIHRyYW5zZm9ybSB0aGF0IG1vdmVzIGl0CisgICAgICAgIHRvIHRoZSBmYXIgcmln
aHQ7IHRhcHBpbmcgdGhlIGJ1dHRvbiBlbGVtZW50IHRoYXQgKHZpc3VhbGx5KSBoYXMgYSBzZWFy
Y2gtZmllbGQtbGlrZSBhcHBlYXJhbmNlIG9uIHRoZSBmcm9udAorICAgICAgICBwYWdlIHByb2dy
YW1tYXRpY2FsbHkgZm9jdXNlcyB0aGUgcmVhbCBvZmZzY3JlZW4gc2VhcmNoIGZpZWxkLCBhbmQg
YW5pbWF0ZXMgaXQgb25zY3JlZW4gYnkgY2hhbmdpbmcgdGhlIENTUworICAgICAgICB0cmFuc2Zv
cm0gYXR0cmlidXRlIHRvIHJlbW92ZSB0aGUgeC1heGlzIHRyYW5zbGF0aW9uLgorCisgICAgICAg
IE9uIGlPUywgdGhlIGNhcmV0IHJlY3QgaXMgY29tcHV0ZWQgYW5kIHNlbnQgdG8gdGhlIFVJIHBy
b2Nlc3MgdmlhIGVkaXRvciBzdGF0ZSB1cGRhdGVzOyBob3dldmVyLCB0aGUgZWRpdG9yCisgICAg
ICAgIHN0YXRlIGlzIGNvbXB1dGVkIGltbWVkaWF0ZWx5IGFmdGVyIGZvY3VzaW5nIHRoZSBpbnB1
dCBmaWVsZC4gQXMgc3VjaCwgdGhlIGNhcmV0IHJlY3QgYXQgdGhpcyBtb21lbnQgaXMgY29tcHV0
ZWQKKyAgICAgICAgaW4gdGhlIG1pZGRsZSBvZiB0aGUgYW5pbWF0aW9uLCBsZWF2aW5nIGl0IHN0
dWNrIGluIGFuIHVucHJlZGljdGFibGUgbG9jYXRpb24uCisKKyAgICAgICAgVG8gZml4IHRoaXMs
IGFkZCBwbHVtYmluZyB0byBjYWxsIGludG8gdGhlIFdlYktpdCBjbGllbnQgbGF5ZXIgd2hlbiBh
biBhbmltYXRpb24gaGFzIGVuZGVkLiBPbiBpT1MsIGlmIHRoZQorICAgICAgICBzZWxlY3Rpb24g
aXMgdmlzaWJsZSAoaS5lLiBhIHJhbmdlZCBzZWxlY3Rpb24sIG9yIGVkaXRhYmxlIGNhcmV0KSwg
dGhlbiBjaGVjayB0byBzZWUgd2hldGhlciB0aGUgZWxlbWVudCB0aGF0CisgICAgICAgIGhhcyBm
aW5pc2hlZCBhbmltYXRpbmcgY29udGFpbnMgZWl0aGVyIGVuZHBvaW50IG9mIHRoZSBzZWxlY3Rp
b24uIElmIHNvLCB0aGVuIHNjaGVkdWxlIGEgZm9sbG93dXAgZWRpdG9yIHN0YXRlCisgICAgICAg
IHVwZGF0ZSB0byBwdXNoIHVwZGF0ZWQgc2VsZWN0aW9uIGluZm9ybWF0aW9uIHRvIHRoZSBVSSBw
cm9jZXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRp
ZEZpbmlzaEZvckVsZW1lbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisKKyAgICAgICAgQWRkIGEgbmV3IGNsaWVudCBob29rIGZvciB3
aGVuIGFuaW1hdGlvbnMgZW5kLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphbmltYXRpb25EaWRGaW5pc2hGb3JF
bGVtZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKworICAgICAgICBBZGQg
bG9naWMgdG8gc2NoZWR1bGUgYSBuZXcgZWRpdG9yIHN0YXRlIHVwZGF0ZSBpZiBuZWVkZWQsIGFm
dGVyIGFuIGFuaW1hdGlvbiBlbmRzIHRoYXQgbWlnaHQgYWZmZWN0IGVpdGhlcgorICAgICAgICB0
aGUgc3RhcnQgb3IgZW5kIG9mIHRoZSBzZWxlY3Rpb24uCisKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudCk6CisKIDIwMjAtMDUtMDYgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIENvY29hQ29s
b3IgaW4gbW9yZSBwbGFjZXMgaW5zdGVhZCBvZiBwbGF0Zm9ybSBkZWZpbmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKaW5kZXggYjM3MWIwZWIwNDIyNjNmZTNl
YzRmNmEyNjA4NWY4NWYzNDdjZDQyOS4uOTBmZWU2OGYyYzUxNWQxMDliNGRhMjJjNjhmMTk4Nzc2
ODM0ZmZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVm
ZmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaApA
QCAtNjcsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZFBs
YXkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZFNlZWsoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGFuaW1hdGlvbldhc0NhbmNlbGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBhbmltYXRpb25EaWRGaW5pc2goKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvblN1
c3BlbnNpb25TdGF0ZURpZENoYW5nZShib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1h
dGlvblRpbWVsaW5lRGlkQ2hhbmdlKEFuaW1hdGlvblRpbWVsaW5lKikgPSAwOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAppbmRleCBkMTBiMDJjZThmNjIx
NTA5MTU2MzM2OWQ2N2Q3ZDNmNmNkZjMyZTUzLi5iY2VlNTFlMWQ4NWNlNzJhYTllMWU1MjQwMTcy
ZWNjNzExNmZiNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVj
dC5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJLZXlmcmFtZUVmZmVjdC5oIgogCiAj
aW5jbHVkZSAiQW5pbWF0aW9uLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVk
ZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCkBA
IC0xNTM5LDYgKzE1NDEsMTggQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6YW5pbWF0aW9uV2FzQ2Fu
Y2VsZWQoKQogICAgICAgICBhZGRQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRB
Y3Rpb246OlN0b3ApOwogfQogCit2b2lkIEtleWZyYW1lRWZmZWN0OjphbmltYXRpb25EaWRGaW5p
c2goKQoreworICAgIGlmICghbV90YXJnZXQpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8q
IHBhZ2UgPSBtX3RhcmdldC0+ZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAg
ICAgICByZXR1cm47CisKKyAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5hbmltYXRpb25EaWRG
aW5pc2hGb3JFbGVtZW50KCptX3RhcmdldCk7Cit9CisKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6Ondp
bGxDaGFuZ2VSZW5kZXJlcigpCiB7CiAgICAgaWYgKG1faXNSdW5uaW5nQWNjZWxlcmF0ZWQgfHwg
aXNBYm91dFRvUnVuQWNjZWxlcmF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmgKaW5kZXggYWNmMTc0Y2U4ZWZjYjY1ZWVhNzY5M2NmMGQwODZhY2RiNmYzMTEz
MC4uYWQ3YjBiNjE0YjgzZDFlNTE5MjczZmI5MTgyY2I3ZThkMjFiMTUwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhbmltYXRpb25EaWRQbGF5KCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRp
b25EaWRTZWVrKCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25XYXNDYW5jZWxlZCgpIGZpbmFs
OworICAgIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoKCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRp
b25TdXNwZW5zaW9uU3RhdGVEaWRDaGFuZ2UoYm9vbCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRp
b25UaW1lbGluZURpZENoYW5nZShBbmltYXRpb25UaW1lbGluZSopIGZpbmFsOwogICAgIHZvaWQg
YW5pbWF0aW9uVGltaW5nRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJB
bmltYXRpb24uY3BwCmluZGV4IDAwNTE2M2Y0NWMwMDE3MTY0MTZiOGM4MjUzNzk5MGM1MzdhY2Vm
M2YuLjg5NTEzZDY2YzZlNmFjOGY5OGNlZDQ4ZmE2YmRlNmUwNzEwMjI3YjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC05MDQsNiArOTA0LDkgQEAgdm9p
ZCBXZWJBbmltYXRpb246OmZpbmlzaE5vdGlmaWNhdGlvblN0ZXBzKCkKICAgICAvLyAgICBlZmZl
Y3QgZW5kIHRvIGFuIG9yaWdpbi1yZWxhdGl2ZSB0aW1lLgogICAgIC8vICAgIE90aGVyd2lzZSwg
cXVldWUgYSB0YXNrIHRvIGRpc3BhdGNoIGZpbmlzaEV2ZW50IGF0IGFuaW1hdGlvbi4gVGhlIHRh
c2sgc291cmNlIGZvciB0aGlzIHRhc2sgaXMgdGhlIERPTSBtYW5pcHVsYXRpb24gdGFzayBzb3Vy
Y2UuCiAgICAgZW5xdWV1ZUFuaW1hdGlvblBsYXliYWNrRXZlbnQoZXZlbnROYW1lcygpLmZpbmlz
aEV2ZW50LCBjdXJyZW50VGltZSgpLCBtX3RpbWVsaW5lID8gbV90aW1lbGluZS0+Y3VycmVudFRp
bWUoKSA6IFdURjo6bnVsbG9wdCk7CisKKyAgICBpZiAobV9lZmZlY3QpCisgICAgICAgIG1fZWZm
ZWN0LT5hbmltYXRpb25EaWRGaW5pc2goKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5p
bWF0aW9uOjpwbGF5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDcyZjc5OWJhZTY2MTY1ZGY2MDg0YmU1N2Uz
Y2I0NTcyMTIyNzE3NGMuLjAzOGNmYWI4ZGM3YTMxYTNkYmRlMjRlM2NhNjJlNWIyOWVkMzNiMjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaApAQCAtMzc1LDcgKzM3NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNE
ZXNjZW5kYW50T3JTaGFkb3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSopIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIGJvb2wgY29udGFpbnMoY29uc3QgTm9kZSopIGNvbnN0OwotICAgIGJvb2wg
Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oY29uc3QgTm9kZSopIGNvbnN0OworICAgIFdFQkNP
UkVfRVhQT1JUIGJvb2wgY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oY29uc3QgTm9kZSopIGNv
bnN0OwogCiAgICAgLy8gV2hldGhlciBvciBub3QgYSBzZWxlY3Rpb24gY2FuIGJlIHN0YXJ0ZWQg
aW4gdGhpcyBvYmplY3QKICAgICB2aXJ0dWFsIGJvb2wgY2FuU3RhcnRTZWxlY3Rpb24oKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKaW5kZXggNGQ4YmQ3
NTQ2ZjcyNmJhOWYxY2E0NzU5MzBjMTA5OWY1YjI0ZTE1My4uOGY0ZmM5ODdjOTdjYWRkZjE0MzM3
ZmUxY2U4MTI1MDYwZWMwYzk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9W
aXNpYmxlU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2Vs
ZWN0aW9uLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQg
RWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgaXNDb250ZW50RWRpdGFibGUoKSBjb25zdDsKLSAgICBib29sIGhhc0VkaXRhYmxlU3R5
bGUoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0VkaXRhYmxlU3R5bGUoKSBj
b25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkg
Y29uc3Q7CiAgICAgLy8gUmV0dXJucyBhIHNoYWRvdyB0cmVlIG5vZGUgZm9yIGxlZ2FjeSBzaGFk
b3cgdHJlZXMsIGEgY2hpbGQgb2YgdGhlCiAgICAgLy8gU2hhZG93Um9vdCBub2RlIGZvciBuZXcg
c2hhZG93IHRyZWVzLCBvciAwIGZvciBub24tc2hhZG93IHRyZWVzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKaW5kZXggMzQzZGEyYzEyMzg1MjFhODY5YzJhOGE3N2E3M2FiZDI5NWQ0YjY1
MS4uNTFiNmIzZWUwZmUwYzEyYWZmOGUzNjJlMTNjNWQxZDViNTk4ODMyYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCkBAIC01MzAsNiArNTMwLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKGNvbnN0IE1vY2tX
ZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24mKSB7IH0KICNlbmRpZgogCisgICAgdmlydHVh
bCB2b2lkIGFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYpIHsgfQor
CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNTZhYTEzNmFjNGEzNzg0ZDRiN2JhMjU1MDEzMTg3
MjNhZTdiNTdiOS4uNTUzMmQ2ZTdjZDBlYmU2ZDdiNzA2N2Q3MTIyMDQzMWEyNTQ2NmU2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTEzOTcsNCArMTM5Nyw5IEBAIHZvaWQgV2ViQ2hyb21l
Q2xpZW50OjpzZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKGNvbnN0IE1vY2tX
ZWJBdXRoZW50CiB9CiAjZW5kaWYKIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRp
ZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBtX3BhZ2Uu
YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChlbGVtZW50KTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmFkZWQxMzMwODg4NTY2MmQxNjgyYjg0
NjUwZThjYTMxNWNlNTJmMy4uYjY5Y2ZkOTlhNWE3NmNmMzA0YzgxZTYyM2E3OWZiZDQ1ZDZhZTM0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjMwLDYgKzIzMCw4IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBBWEZpbmlzaEZyYW1lTG9hZCgpIGZpbmFsIHsgfQogI2VuZGlmCiAKKyAgICB2b2lkIGFu
aW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpIGZpbmFs
OworCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAg
ICBSZWZQdHI8V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVm
cmVzaE1vbml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IGZpbmFsOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4
IDNhMWU0ZmYzNzNlZDFmZTJmNTZjODg2NDUwZDc1NzcyYzQwYjgwODguLmQ1YzI5NTRhZWU1NGYz
MTkyNjg1YjQ0M2JlOTliMWI2YzFhMGQyNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03MDkyLDYgKzcwOTIsMTQgQEAgdm9pZCBXZWJQYWdl
OjpyZW1vdmVNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oTWVkaWFTZXNzaW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyKQogfQogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9VU0FHRSkKIAorI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQorCit2b2lkIFdlYlBhZ2U6OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVs
ZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpCit7Cit9CisKKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA3ZjY4OTJkODhkOTNmNDI5
ZTdhMDI1NGU3OTcwNzY4MTEzY2U0YTc2Li43NzJjNDdiYmMxNGRkZWZmMmMxMjdhYjlmYzExOGFk
MDU5MGRmYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CkBAIC00MDQsNiArNDA0LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkSW5zZXJ0TWVudUl0ZW1F
bGVtZW50KFdlYkNvcmU6OkhUTUxNZW51SXRlbUVsZW1lbnQmKTsKICAgICB2b2lkIGRpZFJlbW92
ZU1lbnVJdGVtRWxlbWVudChXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50Jik7CiAKKyAgICB2
b2lkIGFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYp
OworCiAgICAgY29uc3QgU3RyaW5nJiBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSgpIGNv
bnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7IH0KIAogICAgIFdl
YlVuZG9TdGVwKiB3ZWJVbmRvU3RlcChXZWJVbmRvU3RlcElEKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggYzhhM2U4OGVk
MjI5NjhjMmExNzA3ZTJkYmEyZDNjZDkxOWZkNDZlNS4uMTQyMTYwZGU0YjllMTBjNDJhNTVjZjU3
MDU1ZWZmZGIyNGE0OTAxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTQzODgsNiArNDM4OCwzNCBAQCB2b2lkIFdlYlBh
Z2U6OnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3Qg
U3RyaW5nJiBmaWxlTgogCiAjZW5kaWYKIAordm9pZCBXZWJQYWdlOjphbmltYXRpb25EaWRGaW5p
c2hGb3JFbGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmIGFuaW1hdGVkRWxlbWVudCkKK3sK
KyAgICBhdXRvIGZyYW1lID0gbWFrZVJlZihtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3Vz
ZWRPck1haW5GcmFtZSgpKTsKKyAgICBhdXRvJiBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9u
KCkuc2VsZWN0aW9uKCk7CisgICAgaWYgKHNlbGVjdGlvbi5pc05vbmVPck9ycGhhbmVkKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChzZWxlY3Rpb24uaXNDYXJldCgpICYmICFzZWxlY3Rp
b24uaGFzRWRpdGFibGVTdHlsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIHNjaGVk
dWxlRWRpdG9yU3RhdGVVcGRhdGVGb3JTdGFydE9yRW5kQ29udGFpbmVyTm9kZUlmTmVlZGVkID0g
WyZdKGNvbnN0IE5vZGUqIGNvbnRhaW5lcikgeworICAgICAgICBpZiAoIWFuaW1hdGVkRWxlbWVu
dC5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShjb250YWluZXIpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS5zZXRDYXJldFJlY3ROZWVk
c1VwZGF0ZSgpOworICAgICAgICBzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSgpOworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9OworCisgICAgYXV0byBzdGFydENvbnRhaW5lciA9IG1h
a2VSZWZQdHIoc2VsZWN0aW9uLnN0YXJ0KCkuY29udGFpbmVyTm9kZSgpKTsKKyAgICBpZiAoc2No
ZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWluZXJOb2RlSWZOZWVkZWQo
c3RhcnRDb250YWluZXIuZ2V0KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGVuZENv
bnRhaW5lciA9IG1ha2VSZWZQdHIoc2VsZWN0aW9uLmVuZCgpLmNvbnRhaW5lck5vZGUoKSk7Cisg
ICAgaWYgKHN0YXJ0Q29udGFpbmVyICE9IGVuZENvbnRhaW5lcikKKyAgICAgICAgc2NoZWR1bGVF
ZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWluZXJOb2RlSWZOZWVkZWQoZW5kQ29u
dGFpbmVyLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxF
QVNFX0xPR19JRl9BTExPV0VECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjViYjA0ZDAzZWIxYzIwZGMzZjVhNjA2OWU2ODNk
NTg3ZDQyMDI0YS4uNjFkZWJjNzM2Zjc0NmM0MzRlODVhZjJlN2ZiMWRmOTAyMjJkYjNmNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0IGFwcGVhcnMgaW4gdGhlIG1pZGRs
ZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZvY3VzZWQgb24gYWdvZGEuY29tCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1OTEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBsYXlvdXQgdGVzdCB0byB2ZXJpZnkg
dGhhdCB0aGUgY2FyZXQgdmlldyBldmVudHVhbGx5IGJlY29tZXMgdmlzaWJsZSB3aGVuIGFmdGVy
IGEgZm9jdXNlZCB0ZXh0IGZpZWxkCisgICAgICAgIGNvbnRhaW5pbmcgdGhlIGNhcmV0IGlzIGFu
aW1hdGVkLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0
ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1m
b2N1c2VkLXRleHQtZmllbGQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMDYgIFRpbSBIb3J0b24g
IDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgdGVzdCBmb3IgYFJF
R1JFU1NJT04gKHIyNjA3NTMpOiBGcmVxdWVudCBjcmFzaGVzIHVuZGVyIFRleHRJbmRpY2F0b3In
cyBlc3RpbWF0ZWRUZXh0Q29sb3JzRm9yUmFuZ2VgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2FyZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10
ZXh0LWZpZWxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lv
cy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNiYWFiZjdiZTUxMmZlZDA4ZmZmOWIyZDYwOTQzOWI3YTVmMTlmOGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2Fy
ZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgY2FyZXQgdmlldyBp
cyB1cGRhdGVkIGZvbGxvd2luZyBhIENTUyBhbmltYXRpb24uIFRvIG1hbnVhbGx5IHJ1biB0aGUg
dGVzdCwgdGFwIHRoZSBidXR0b24gdG8gZm9jdXMgdGhlIG9mZnNjcmVlbiBpbnB1dCBmaWVsZDsg
YWZ0ZXIgdGhlIGlucHV0IGZpZWxkIGlzIGFuaW1hdGVkIG9udG8gdGhlIHNjcmVlbiwgdGhlIGNh
cmV0IHNob3VsZCBiZWNvbWUgdmlzaWJsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgVGhlIGNhcmV0IGJlY2FtZSB2aXNpYmxlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRl
eHQtZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1y
ZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
MDNjM2MzYzBhMmNmOWFiZjMyNTM3Yjk2MjZjODgxNDY3MWEwYjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5p
bWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI2NvbnRhaW5lciB7
CisgICAgcG9zaXRpb246IGZpeGVkOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIw
MHB4OworICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQwMHB4LCAxMDBweCwgMCk7CisgICAg
dHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1vdXQ7Cit9CisKK2lucHV0IHsKKyAgICBmb250LXNp
emU6IDIwcHg7CisgICAgd2lkdGg6IDEwMCU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4g
eworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgY2FyZXQgdmll
dyBpcyB1cGRhdGVkIGZvbGxvd2luZyBhIENTUyBhbmltYXRpb24uIFRvIG1hbnVhbGx5IHJ1biB0
aGUgdGVzdCwgdGFwIHRoZSBidXR0b24gdG8gZm9jdXMgdGhlIG9mZnNjcmVlbiBpbnB1dCBmaWVs
ZDsgYWZ0ZXIgdGhlIGlucHV0IGZpZWxkIGlzIGFuaW1hdGVkIG9udG8gdGhlIHNjcmVlbiwgdGhl
IGNhcmV0IHNob3VsZCBiZWNvbWUgdmlzaWJsZS4iKTsKKworICAgIGNvbnN0IGNvbnRhaW5lciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKKyAgICBjb25zdCBpbnB1dCA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7CisgICAgY29uc3QgYnV0dG9uID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIik7CisgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICBjb250YWluZXIuc3R5bGUudHJhbnNmb3JtID0g
InRyYW5zbGF0ZTNkKDFlbSwgMTAwcHgsIDApIjsKKyAgICAgICAgYnV0dG9uLnJlbW92ZSgpOwor
ICAgICAgICBpbnB1dC5mb2N1cygpOworICAgIH0pOworCisgICAgYXdhaXQgVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50QW5kV2FpdEZvcklucHV0U2Vzc2lvbihidXR0b24pOworCisgICAgbGV0IGNh
cmV0Vmlld1JlY3QgPSB7fTsKKyAgICB3aGlsZSAoIWNhcmV0Vmlld1JlY3QubGVmdCB8fCBjYXJl
dFZpZXdSZWN0LmxlZnQgPCAwIHx8ICFjYXJldFZpZXdSZWN0LnRvcCB8fCBjYXJldFZpZXdSZWN0
LnRvcCA8IDApIHsKKyAgICAgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMTAwKTsKKyAgICAg
ICAgY2FyZXRWaWV3UmVjdCA9IGF3YWl0IFVJSGVscGVyLmdldFVJQ2FyZXRWaWV3UmVjdCgpOwor
ICAgIH0KKworICAgIHRlc3RQYXNzZWQoYFRoZSBjYXJldCBiZWNhbWUgdmlzaWJsZWApOworCisg
ICAgaW5wdXQuYmx1cigpOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JLZXlib2FyZFRvSGlk
ZSgpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGJ1dHRvbj5UYXAgdG8gZm9jdXM8L2J1dHRvbj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgPGlucHV0PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398793</attachid>
            <date>2020-05-07 13:48:49 -0700</date>
            <delta_ts>2020-05-07 14:45:03 -0700</delta_ts>
            <desc>Fix #include order</desc>
            <filename>bug-211591-20200507134848.patch</filename>
            <type>text/plain</type>
            <size>17011</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRjMzhjYzIxNGIzYjJj
ZWQ2ZWVkMjVmNzg0MjZhMjA2OTIzZTNjZi4uMDRhMDQxZjgwNTU0OTA4NTRhNDY3ZDA3ZmQzZmUx
ODQ4ZmVhYTg3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0
IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZv
Y3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQv
Q2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5o
dG1sCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjphbmltYXRpb25EaWRGaW5pc2gpOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpmaW5pc2hOb3RpZmljYXRpb25TdGVwcyk6CisKKyAg
ICAgICAgQWRkIHBsdW1iaW5nIHRvIGNhbGwgb3V0IHRvIHRoZSBXZWJLaXQgY2xpZW50IGxheWVy
IGFmdGVyIGFuIGFuaW1hdGlvbiBmaW5pc2hlcyBydW5uaW5nLgorCisgICAgICAgICogZG9tL05v
ZGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaDoKKworICAgICAgICBX
RUJDT1JFX0VYUE9SVCBhIGNvdXBsZSBvZiBtZXRob2RzLgorCisgICAgICAgICogcGFnZS9DaHJv
bWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6YW5pbWF0aW9uRGlk
RmluaXNoRm9yRWxlbWVudCk6CisKIDIwMjAtMDUtMDYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW1wbGVtZW50IGFjY2Vzc2liaWxpdHkgb2Yg
SFRNTCA1LjEgRHJhZyAmIERyb3AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTA2Y2JmZWExMDczNzM4ZmQzNDI3MDU4
NzA3MWI5ZmVhY2IxNmQ0NS4uOWRlYTZhMTQxNmY5YTIwNGI3NjMxYzMxYzJkOTc4OTM4YWMxZTBm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAyMC0wNS0wNyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBjYXJldCBhcHBlYXJzIGlu
IHRoZSBtaWRkbGUgb2YgYSBzZWFyY2ggZmllbGQgd2hlbiBmaWVsZCBpcyBmb2N1c2VkIG9uIGFn
b2RhLmNvbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjExNTkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDYwNTg3Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbWFpbiBzZWFyY2ggZmllbGQg
b24gdGhlIG1vYmlsZSB2ZXJzaW9uIG9mIHRoaXMgd2Vic2l0ZSBiZWdpbnMgb2Zmc2NyZWVuLCB3
aXRoIGEgQ1NTIHRyYW5zZm9ybSB0aGF0IG1vdmVzIGl0CisgICAgICAgIHRvIHRoZSBmYXIgcmln
aHQ7IHRhcHBpbmcgdGhlIGJ1dHRvbiBlbGVtZW50IHRoYXQgKHZpc3VhbGx5KSBoYXMgYSBzZWFy
Y2gtZmllbGQtbGlrZSBhcHBlYXJhbmNlIG9uIHRoZSBmcm9udAorICAgICAgICBwYWdlIHByb2dy
YW1tYXRpY2FsbHkgZm9jdXNlcyB0aGUgcmVhbCBvZmZzY3JlZW4gc2VhcmNoIGZpZWxkLCBhbmQg
YW5pbWF0ZXMgaXQgb25zY3JlZW4gYnkgY2hhbmdpbmcgdGhlIENTUworICAgICAgICB0cmFuc2Zv
cm0gYXR0cmlidXRlIHRvIHJlbW92ZSB0aGUgeC1heGlzIHRyYW5zbGF0aW9uLgorCisgICAgICAg
IE9uIGlPUywgdGhlIGNhcmV0IHJlY3QgaXMgY29tcHV0ZWQgYW5kIHNlbnQgdG8gdGhlIFVJIHBy
b2Nlc3MgdmlhIGVkaXRvciBzdGF0ZSB1cGRhdGVzOyBob3dldmVyLCB0aGUgZWRpdG9yCisgICAg
ICAgIHN0YXRlIGlzIGNvbXB1dGVkIGltbWVkaWF0ZWx5IGFmdGVyIGZvY3VzaW5nIHRoZSBpbnB1
dCBmaWVsZC4gQXMgc3VjaCwgdGhlIGNhcmV0IHJlY3QgYXQgdGhpcyBtb21lbnQgaXMgY29tcHV0
ZWQKKyAgICAgICAgaW4gdGhlIG1pZGRsZSBvZiB0aGUgYW5pbWF0aW9uLCBsZWF2aW5nIGl0IHN0
dWNrIGluIGFuIHVucHJlZGljdGFibGUgbG9jYXRpb24uCisKKyAgICAgICAgVG8gZml4IHRoaXMs
IGFkZCBwbHVtYmluZyB0byBjYWxsIGludG8gdGhlIFdlYktpdCBjbGllbnQgbGF5ZXIgd2hlbiBh
biBhbmltYXRpb24gaGFzIGVuZGVkLiBPbiBpT1MsIGlmIHRoZQorICAgICAgICBzZWxlY3Rpb24g
aXMgdmlzaWJsZSAoaS5lLiBhIHJhbmdlZCBzZWxlY3Rpb24sIG9yIGVkaXRhYmxlIGNhcmV0KSwg
dGhlbiBjaGVjayB0byBzZWUgd2hldGhlciB0aGUgZWxlbWVudCB0aGF0CisgICAgICAgIGhhcyBm
aW5pc2hlZCBhbmltYXRpbmcgY29udGFpbnMgZWl0aGVyIGVuZHBvaW50IG9mIHRoZSBzZWxlY3Rp
b24uIElmIHNvLCB0aGVuIHNjaGVkdWxlIGEgZm9sbG93dXAgZWRpdG9yIHN0YXRlCisgICAgICAg
IHVwZGF0ZSB0byBwdXNoIHVwZGF0ZWQgc2VsZWN0aW9uIGluZm9ybWF0aW9uIHRvIHRoZSBVSSBw
cm9jZXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRp
ZEZpbmlzaEZvckVsZW1lbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisKKyAgICAgICAgQWRkIGEgbmV3IGNsaWVudCBob29rIGZvciB3
aGVuIGFuaW1hdGlvbnMgZW5kLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphbmltYXRpb25EaWRGaW5pc2hGb3JF
bGVtZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKworICAgICAgICBBZGQg
bG9naWMgdG8gc2NoZWR1bGUgYSBuZXcgZWRpdG9yIHN0YXRlIHVwZGF0ZSBpZiBuZWVkZWQsIGFm
dGVyIGFuIGFuaW1hdGlvbiBlbmRzIHRoYXQgbWlnaHQgYWZmZWN0IGVpdGhlcgorICAgICAgICB0
aGUgc3RhcnQgb3IgZW5kIG9mIHRoZSBzZWxlY3Rpb24uCisKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudCk6CisKIDIwMjAtMDUtMDYgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIENvY29hQ29s
b3IgaW4gbW9yZSBwbGFjZXMgaW5zdGVhZCBvZiBwbGF0Zm9ybSBkZWZpbmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKaW5kZXggYjM3MWIwZWIwNDIyNjNmZTNl
YzRmNmEyNjA4NWY4NWYzNDdjZDQyOS4uOTBmZWU2OGYyYzUxNWQxMDliNGRhMjJjNjhmMTk4Nzc2
ODM0ZmZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVm
ZmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaApA
QCAtNjcsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZFBs
YXkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZFNlZWsoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGFuaW1hdGlvbldhc0NhbmNlbGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBhbmltYXRpb25EaWRGaW5pc2goKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvblN1
c3BlbnNpb25TdGF0ZURpZENoYW5nZShib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1h
dGlvblRpbWVsaW5lRGlkQ2hhbmdlKEFuaW1hdGlvblRpbWVsaW5lKikgPSAwOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAppbmRleCBkMTBiMDJjZThmNjIx
NTA5MTU2MzM2OWQ2N2Q3ZDNmNmNkZjMyZTUzLi5kYjY0MGYwY2RkMzY0M2I5MWYxOGUwNTk5OWVl
ODNhY2EwZDhhZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVj
dC5jcHAKQEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlICJDU1NTdHlsZURlY2xhcmF0aW9uLmgi
CiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1RyYW5z
aXRpb24uaCIKKyNpbmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIK
ICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKICNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKQEAgLTE1MzksNiArMTU0MSwxOCBAQCB2b2lkIEtleWZyYW1lRWZmZWN0
OjphbmltYXRpb25XYXNDYW5jZWxlZCgpCiAgICAgICAgIGFkZFBlbmRpbmdBY2NlbGVyYXRlZEFj
dGlvbihBY2NlbGVyYXRlZEFjdGlvbjo6U3RvcCk7CiB9CiAKK3ZvaWQgS2V5ZnJhbWVFZmZlY3Q6
OmFuaW1hdGlvbkRpZEZpbmlzaCgpCit7CisgICAgaWYgKCFtX3RhcmdldCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgYXV0byogcGFnZSA9IG1fdGFyZ2V0LT5kb2N1bWVudCgpLnBhZ2UoKTsKKyAg
ICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVu
dCgpLmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoKm1fdGFyZ2V0KTsKK30KKwogdm9pZCBL
ZXlmcmFtZUVmZmVjdDo6d2lsbENoYW5nZVJlbmRlcmVyKCkKIHsKICAgICBpZiAobV9pc1J1bm5p
bmdBY2NlbGVyYXRlZCB8fCBpc0Fib3V0VG9SdW5BY2NlbGVyYXRlZCgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaAppbmRleCBhY2YxNzRjZThlZmNiNjVlZWE3Njkz
Y2YwZDA4NmFjZGI2ZjMxMTMwLi5hZDdiMGI2MTRiODNkMWU1MTkyNzNmYjkxODJjYjdlOGQyMWIx
NTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaApAQCAtMTI2
LDYgKzEyNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFuaW1hdGlvbkRpZFBsYXkoKSBmaW5hbDsK
ICAgICB2b2lkIGFuaW1hdGlvbkRpZFNlZWsoKSBmaW5hbDsKICAgICB2b2lkIGFuaW1hdGlvbldh
c0NhbmNlbGVkKCkgZmluYWw7CisgICAgdm9pZCBhbmltYXRpb25EaWRGaW5pc2goKSBmaW5hbDsK
ICAgICB2b2lkIGFuaW1hdGlvblN1c3BlbnNpb25TdGF0ZURpZENoYW5nZShib29sKSBmaW5hbDsK
ICAgICB2b2lkIGFuaW1hdGlvblRpbWVsaW5lRGlkQ2hhbmdlKEFuaW1hdGlvblRpbWVsaW5lKikg
ZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25UaW1pbmdEaWRDaGFuZ2UoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggMDA1MTYzZjQ1YzAwMTcxNjQxNmI4
YzgyNTM3OTkwYzUzN2FjZWYzZi4uODk1MTNkNjZjNmU2YWM4Zjk4Y2VkNDhmYTZiZGU2ZTA3MTAy
MjdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTkw
NCw2ICs5MDQsOSBAQCB2b2lkIFdlYkFuaW1hdGlvbjo6ZmluaXNoTm90aWZpY2F0aW9uU3RlcHMo
KQogICAgIC8vICAgIGVmZmVjdCBlbmQgdG8gYW4gb3JpZ2luLXJlbGF0aXZlIHRpbWUuCiAgICAg
Ly8gICAgT3RoZXJ3aXNlLCBxdWV1ZSBhIHRhc2sgdG8gZGlzcGF0Y2ggZmluaXNoRXZlbnQgYXQg
YW5pbWF0aW9uLiBUaGUgdGFzayBzb3VyY2UgZm9yIHRoaXMgdGFzayBpcyB0aGUgRE9NIG1hbmlw
dWxhdGlvbiB0YXNrIHNvdXJjZS4KICAgICBlbnF1ZXVlQW5pbWF0aW9uUGxheWJhY2tFdmVudChl
dmVudE5hbWVzKCkuZmluaXNoRXZlbnQsIGN1cnJlbnRUaW1lKCksIG1fdGltZWxpbmUgPyBtX3Rp
bWVsaW5lLT5jdXJyZW50VGltZSgpIDogV1RGOjpudWxsb3B0KTsKKworICAgIGlmIChtX2VmZmVj
dCkKKyAgICAgICAgbV9lZmZlY3QtPmFuaW1hdGlvbkRpZEZpbmlzaCgpOwogfQogCiBFeGNlcHRp
b25Pcjx2b2lkPiBXZWJBbmltYXRpb246OnBsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggNzJmNzk5YmFl
NjYxNjVkZjYwODRiZTU3ZTNjYjQ1NzIxMjI3MTc0Yy4uMDM4Y2ZhYjhkYzdhMzFhM2RiZGUyNGUz
Y2E2MmU1YjI5ZWQzM2IyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0zNzUsNyArMzc1LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0Rlc2NlbmRhbnRPclNoYWRvd0Rlc2NlbmRhbnRPZihjb25zdCBOb2Rl
KikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjb250YWlucyhjb25zdCBOb2RlKikg
Y29uc3Q7Ci0gICAgYm9vbCBjb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShjb25zdCBOb2RlKikg
Y29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjb250YWluc0luY2x1ZGluZ1NoYWRvd0RP
TShjb25zdCBOb2RlKikgY29uc3Q7CiAKICAgICAvLyBXaGV0aGVyIG9yIG5vdCBhIHNlbGVjdGlv
biBjYW4gYmUgc3RhcnRlZCBpbiB0aGlzIG9iamVjdAogICAgIHZpcnR1YWwgYm9vbCBjYW5TdGFy
dFNlbGVjdGlvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9W
aXNpYmxlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rp
b24uaAppbmRleCA0ZDhiZDc1NDZmNzI2YmE5ZjFjYTQ3NTkzMGMxMDk5ZjViMjRlMTUzLi44ZjRm
Yzk4N2M5N2NhZGRmMTQzMzdmZTFjZTgxMjUwNjBlYzBjOTdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KCkgY29uc3Q7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0OwotICAgIGJv
b2wgaGFzRWRpdGFibGVTdHlsZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFz
RWRpdGFibGVTdHlsZSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNDb250ZW50
UmljaGx5RWRpdGFibGUoKSBjb25zdDsKICAgICAvLyBSZXR1cm5zIGEgc2hhZG93IHRyZWUgbm9k
ZSBmb3IgbGVnYWN5IHNoYWRvdyB0cmVlcywgYSBjaGlsZCBvZiB0aGUKICAgICAvLyBTaGFkb3dS
b290IG5vZGUgZm9yIG5ldyBzaGFkb3cgdHJlZXMsIG9yIDAgZm9yIG5vbi1zaGFkb3cgdHJlZXMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAzNDNkYTJjMTIzODUyMWE4NjljMmE4
YTc3YTczYWJkMjk1ZDRiNjUxLi41MWI2YjNlZTBmZTBjMTJhZmY4ZTM2MmUxM2M1ZDFkNWI1OTg4
MzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTUzMCw2ICs1MzAsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3Vy
YXRpb24oY29uc3QgTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbiYpIHsgfQogI2Vu
ZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25z
dCBFbGVtZW50JikgeyB9CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5DaHJvbWVDbGllbnQo
KSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA1NmFhMTM2YWM0YTM3
ODRkNGI3YmEyNTUwMTMxODcyM2FlN2I1N2I5Li41NTMyZDZlN2NkMGViZTZkN2I3MDY3ZDcxMjIw
NDMxYTI1NDY2ZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTM5Nyw0ICsxMzk3LDkg
QEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3Vy
YXRpb24oY29uc3QgTW9ja1dlYkF1dGhlbnQKIH0KICNlbmRpZgogCit2b2lkIFdlYkNocm9tZUNs
aWVudDo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50
KQoreworICAgIG1fcGFnZS5hbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGVsZW1lbnQpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAyYWRlZDEz
MzA4ODg1NjYyZDE2ODJiODQ2NTBlOGNhMzE1Y2U1MmYzLi5iNjljZmQ5OWE1YTc2Y2YzMDRjODFl
NjIzYTc5ZmJkNDVkNmFlMzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMzAsNiArMjMwLDgg
QEAgcHJpdmF0ZToKICAgICB2b2lkIEFYRmluaXNoRnJhbWVMb2FkKCkgZmluYWwgeyB9CiAjZW5k
aWYKIAorICAgIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBXZWJDb3Jl
OjpFbGVtZW50JikgZmluYWw7CisKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElT
UExBWV9NT05JVE9SKQogICAgIFJlZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+
IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCkg
Y29uc3QgZmluYWw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggM2ExZTRmZjM3M2VkMWZlMmY1NmM4ODY0NTBkNzU3NzJjNDBiODA4
OC4uZDVjMjk1NGFlZTU0ZjMxOTI2ODViNDQzYmU5OWIxYjZjMWEwZDI3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTcwOTIsNiArNzA5Miwx
NCBAQCB2b2lkIFdlYlBhZ2U6OnJlbW92ZU1lZGlhVXNhZ2VNYW5hZ2VyU2Vzc2lvbihNZWRpYVNl
c3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1VT
QUdFKQogCisjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCisKK3ZvaWQgV2ViUGFnZTo6YW5pbWF0
aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBXZWJDb3JlOjpFbGVtZW50JikKK3sKK30KKwor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IDdmNjg5MmQ4OGQ5M2Y0MjllN2EwMjU0ZTc5NzA3NjgxMTNjZTRhNzYuLjc3MmM0N2JiYzE0ZGRl
ZmYyYzEyN2FiOWZjMTE4YWQwNTkwZGZiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQwNCw2ICs0MDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aWRJbnNlcnRNZW51SXRlbUVsZW1lbnQoV2ViQ29yZTo6SFRNTE1lbnVJdGVtRWxlbWVudCYpOwog
ICAgIHZvaWQgZGlkUmVtb3ZlTWVudUl0ZW1FbGVtZW50KFdlYkNvcmU6OkhUTUxNZW51SXRlbUVs
ZW1lbnQmKTsKIAorICAgIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBX
ZWJDb3JlOjpFbGVtZW50Jik7CisKICAgICBjb25zdCBTdHJpbmcmIG92ZXJyaWRlQ29udGVudFNl
Y3VyaXR5UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBv
bGljeTsgfQogCiAgICAgV2ViVW5kb1N0ZXAqIHdlYlVuZG9TdGVwKFdlYlVuZG9TdGVwSUQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bQppbmRleCBjOGEzZTg4ZWQyMjk2OGMyYTE3MDdlMmRiYTJkM2NkOTE5ZmQ0NmU1Li4xNDIxNjBk
ZTRiOWUxMGM0MmE1NWNmNTcwNTVlZmZkYjI0YTQ5MDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNDM4OCw2ICs0Mzg4
LDM0IEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJ
bk1haW5GcmFtZShjb25zdCBTdHJpbmcmIGZpbGVOCiAKICNlbmRpZgogCit2b2lkIFdlYlBhZ2U6
OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYgYW5p
bWF0ZWRFbGVtZW50KQoreworICAgIGF1dG8gZnJhbWUgPSBtYWtlUmVmKG1fcGFnZS0+Zm9jdXND
b250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkpOworICAgIGF1dG8mIHNlbGVjdGlvbiA9
IGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKKyAgICBpZiAoc2VsZWN0aW9uLmlzTm9u
ZU9yT3JwaGFuZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHNlbGVjdGlvbi5pc0Nh
cmV0KCkgJiYgIXNlbGVjdGlvbi5oYXNFZGl0YWJsZVN0eWxlKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gc2NoZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWlu
ZXJOb2RlSWZOZWVkZWQgPSBbJl0oY29uc3QgTm9kZSogY29udGFpbmVyKSB7CisgICAgICAgIGlm
ICghYW5pbWF0ZWRFbGVtZW50LmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGNvbnRhaW5lcikp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigp
LnNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CisgICAgICAgIHNjaGVkdWxlRnVsbEVkaXRvclN0
YXRlVXBkYXRlKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH07CisKKyAgICBhdXRvIHN0
YXJ0Q29udGFpbmVyID0gbWFrZVJlZlB0cihzZWxlY3Rpb24uc3RhcnQoKS5jb250YWluZXJOb2Rl
KCkpOworICAgIGlmIChzY2hlZHVsZUVkaXRvclN0YXRlVXBkYXRlRm9yU3RhcnRPckVuZENvbnRh
aW5lck5vZGVJZk5lZWRlZChzdGFydENvbnRhaW5lci5nZXQoKSkpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gZW5kQ29udGFpbmVyID0gbWFrZVJlZlB0cihzZWxlY3Rpb24uZW5kKCkuY29u
dGFpbmVyTm9kZSgpKTsKKyAgICBpZiAoc3RhcnRDb250YWluZXIgIT0gZW5kQ29udGFpbmVyKQor
ICAgICAgICBzY2hlZHVsZUVkaXRvclN0YXRlVXBkYXRlRm9yU3RhcnRPckVuZENvbnRhaW5lck5v
ZGVJZk5lZWRlZChlbmRDb250YWluZXIuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNWJiMDRkMDNlYjFj
MjBkYzNmNWE2MDY5ZTY4M2Q1ODdkNDIwMjRhLi42MWRlYmM3MzZmNzQ2YzQzNGU4NWFmMmU3ZmIx
ZGY5MDIyMmRiM2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDUtMDcgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gY2FyZXQgYXBw
ZWFycyBpbiB0aGUgbWlkZGxlIG9mIGEgc2VhcmNoIGZpZWxkIHdoZW4gZmllbGQgaXMgZm9jdXNl
ZCBvbiBhZ29kYS5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA2MDU4NzM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91
dCB0ZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBjYXJldCB2aWV3IGV2ZW50dWFsbHkgYmVjb21lcyB2
aXNpYmxlIHdoZW4gYWZ0ZXIgYSBmb2N1c2VkIHRleHQgZmllbGQKKyAgICAgICAgY29udGFpbmlu
ZyB0aGUgY2FyZXQgaXMgYW5pbWF0ZWQuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9p
b3MvY2FyZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3Qt
YWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5odG1sOiBBZGRlZC4KKwogMjAyMC0w
NS0wNiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgYSB0ZXN0IGZvciBgUkVHUkVTU0lPTiAocjI2MDc1Myk6IEZyZXF1ZW50IGNyYXNoZXMgdW5k
ZXIgVGV4dEluZGljYXRvcidzIGVzdGltYXRlZFRleHRDb2xvcnNGb3JSYW5nZWAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFu
aW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4
dC1maWVsZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JhYWJmN2JlNTEyZmVkMDhmZmY5YjJk
NjA5NDM5YjdhNWYxOWY4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmll
bGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHRoZSBjYXJldCB2aWV3IGlzIHVwZGF0ZWQgZm9sbG93aW5nIGEgQ1NTIGFuaW1hdGlvbi4gVG8g
bWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAgdGhlIGJ1dHRvbiB0byBmb2N1cyB0aGUgb2Zmc2Ny
ZWVuIGlucHV0IGZpZWxkOyBhZnRlciB0aGUgaW5wdXQgZmllbGQgaXMgYW5pbWF0ZWQgb250byB0
aGUgc2NyZWVuLCB0aGUgY2FyZXQgc2hvdWxkIGJlY29tZSB2aXNpYmxlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBUaGUgY2FyZXQgYmVjYW1lIHZpc2libGUKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5p
bWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYwM2MzYzNjMGEyY2Y5YWJmMzI1MzdiOTYyNmM4ODE0NjcxYTBiNWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2Fy
ZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLmh0bWwKQEAgLTAsMCAr
MSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5
bGU+CisjY29udGFpbmVyIHsKKyAgICBwb3NpdGlvbjogZml4ZWQ7CisgICAgd2lkdGg6IDIwMHB4
OworICAgIGhlaWdodDogMjAwcHg7CisgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDAwcHgs
IDEwMHB4LCAwKTsKKyAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDsKK30KKworaW5w
dXQgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICB3aWR0aDogMTAwJTsKK30KKzwvc3R5bGU+
Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2FkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBhc3luYyAoKSA9PiB7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHRoZSBjYXJldCB2aWV3IGlzIHVwZGF0ZWQgZm9sbG93aW5nIGEgQ1NTIGFuaW1hdGlvbi4g
VG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAgdGhlIGJ1dHRvbiB0byBmb2N1cyB0aGUgb2Zm
c2NyZWVuIGlucHV0IGZpZWxkOyBhZnRlciB0aGUgaW5wdXQgZmllbGQgaXMgYW5pbWF0ZWQgb250
byB0aGUgc2NyZWVuLCB0aGUgY2FyZXQgc2hvdWxkIGJlY29tZSB2aXNpYmxlLiIpOworCisgICAg
Y29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOwor
ICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsKKyAgICBj
b25zdCBidXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTsKKyAgICBidXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgIGNvbnRhaW5lci5z
dHlsZS50cmFuc2Zvcm0gPSAidHJhbnNsYXRlM2QoMWVtLCAxMDBweCwgMCkiOworICAgICAgICBi
dXR0b24ucmVtb3ZlKCk7CisgICAgICAgIGlucHV0LmZvY3VzKCk7CisgICAgfSk7CisKKyAgICBh
d2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnRBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uKGJ1dHRv
bik7CisKKyAgICBsZXQgY2FyZXRWaWV3UmVjdCA9IHt9OworICAgIHdoaWxlICghY2FyZXRWaWV3
UmVjdC5sZWZ0IHx8IGNhcmV0Vmlld1JlY3QubGVmdCA8IDAgfHwgIWNhcmV0Vmlld1JlY3QudG9w
IHx8IGNhcmV0Vmlld1JlY3QudG9wIDwgMCkgeworICAgICAgICBhd2FpdCBVSUhlbHBlci5kZWxh
eUZvcigxMDApOworICAgICAgICBjYXJldFZpZXdSZWN0ID0gYXdhaXQgVUlIZWxwZXIuZ2V0VUlD
YXJldFZpZXdSZWN0KCk7CisgICAgfQorCisgICAgdGVzdFBhc3NlZChgVGhlIGNhcmV0IGJlY2Ft
ZSB2aXNpYmxlYCk7CisKKyAgICBpbnB1dC5ibHVyKCk7CisgICAgYXdhaXQgVUlIZWxwZXIud2Fp
dEZvcktleWJvYXJkVG9IaWRlKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8YnV0dG9uPlRhcCB0byBmb2N1czwvYnV0dG9uPgorPGRpdiBp
ZD0iY29udGFpbmVyIj4KKyAgICA8aW5wdXQ+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398799</attachid>
            <date>2020-05-07 14:45:05 -0700</date>
            <delta_ts>2020-05-08 07:45:17 -0700</delta_ts>
            <desc>Rebase on trunk</desc>
            <filename>bug-211591-20200507144504.patch</filename>
            <type>text/plain</type>
            <size>16981</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNjZGUwNWJjYWJmYmFh
ODY1NDUxMDY0Yzk5YWQxMmU0YzMxYjJhNi4uYzcyYTIxNDI5MmYyZDA5M2ZjNWU2YTNmNTFlMjY5
NjNhZjgzZTkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0
IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZv
Y3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQv
Q2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5o
dG1sCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjphbmltYXRpb25EaWRGaW5pc2gpOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpmaW5pc2hOb3RpZmljYXRpb25TdGVwcyk6CisKKyAg
ICAgICAgQWRkIHBsdW1iaW5nIHRvIGNhbGwgb3V0IHRvIHRoZSBXZWJLaXQgY2xpZW50IGxheWVy
IGFmdGVyIGFuIGFuaW1hdGlvbiBmaW5pc2hlcyBydW5uaW5nLgorCisgICAgICAgICogZG9tL05v
ZGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaDoKKworICAgICAgICBX
RUJDT1JFX0VYUE9SVCBhIGNvdXBsZSBvZiBtZXRob2RzLgorCisgICAgICAgICogcGFnZS9DaHJv
bWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6YW5pbWF0aW9uRGlk
RmluaXNoRm9yRWxlbWVudCk6CisKIDIwMjAtMDUtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1MjE2MSk6IEFuaW1hdGlv
biBvZiBib3gtc2hhZG93IHdpdGggYm9yZGVyLXJhZGl1cyBzZXQgaXMgZmxhc2h5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDY4NzkzNTYxMDVlYjU1NzFlNmNkZDRhZjJlMDEzMDU5NzQwYzFiOGYuLjBiMTFmYjEyODAw
MTI0NTc5OTNhMGI3ZGU5ZDZiMzI3ZTczYTFhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAK
KzIwMjAtMDUtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gY2FyZXQgYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIGEgc2VhcmNoIGZpZWxk
IHdoZW4gZmllbGQgaXMgZm9jdXNlZCBvbiBhZ29kYS5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTU5MQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjA2MDU4NzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIG1haW4gc2VhcmNoIGZpZWxkIG9uIHRoZSBtb2JpbGUgdmVyc2lvbiBvZiB0aGlz
IHdlYnNpdGUgYmVnaW5zIG9mZnNjcmVlbiwgd2l0aCBhIENTUyB0cmFuc2Zvcm0gdGhhdCBtb3Zl
cyBpdAorICAgICAgICB0byB0aGUgZmFyIHJpZ2h0OyB0YXBwaW5nIHRoZSBidXR0b24gZWxlbWVu
dCB0aGF0ICh2aXN1YWxseSkgaGFzIGEgc2VhcmNoLWZpZWxkLWxpa2UgYXBwZWFyYW5jZSBvbiB0
aGUgZnJvbnQKKyAgICAgICAgcGFnZSBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZXMgdGhlIHJlYWwg
b2Zmc2NyZWVuIHNlYXJjaCBmaWVsZCwgYW5kIGFuaW1hdGVzIGl0IG9uc2NyZWVuIGJ5IGNoYW5n
aW5nIHRoZSBDU1MKKyAgICAgICAgdHJhbnNmb3JtIGF0dHJpYnV0ZSB0byByZW1vdmUgdGhlIHgt
YXhpcyB0cmFuc2xhdGlvbi4KKworICAgICAgICBPbiBpT1MsIHRoZSBjYXJldCByZWN0IGlzIGNv
bXB1dGVkIGFuZCBzZW50IHRvIHRoZSBVSSBwcm9jZXNzIHZpYSBlZGl0b3Igc3RhdGUgdXBkYXRl
czsgaG93ZXZlciwgdGhlIGVkaXRvcgorICAgICAgICBzdGF0ZSBpcyBjb21wdXRlZCBpbW1lZGlh
dGVseSBhZnRlciBmb2N1c2luZyB0aGUgaW5wdXQgZmllbGQuIEFzIHN1Y2gsIHRoZSBjYXJldCBy
ZWN0IGF0IHRoaXMgbW9tZW50IGlzIGNvbXB1dGVkCisgICAgICAgIGluIHRoZSBtaWRkbGUgb2Yg
dGhlIGFuaW1hdGlvbiwgbGVhdmluZyBpdCBzdHVjayBpbiBhbiB1bnByZWRpY3RhYmxlIGxvY2F0
aW9uLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBhZGQgcGx1bWJpbmcgdG8gY2FsbCBpbnRvIHRo
ZSBXZWJLaXQgY2xpZW50IGxheWVyIHdoZW4gYW4gYW5pbWF0aW9uIGhhcyBlbmRlZC4gT24gaU9T
LCBpZiB0aGUKKyAgICAgICAgc2VsZWN0aW9uIGlzIHZpc2libGUgKGkuZS4gYSByYW5nZWQgc2Vs
ZWN0aW9uLCBvciBlZGl0YWJsZSBjYXJldCksIHRoZW4gY2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhl
IGVsZW1lbnQgdGhhdAorICAgICAgICBoYXMgZmluaXNoZWQgYW5pbWF0aW5nIGNvbnRhaW5zIGVp
dGhlciBlbmRwb2ludCBvZiB0aGUgc2VsZWN0aW9uLiBJZiBzbywgdGhlbiBzY2hlZHVsZSBhIGZv
bGxvd3VwIGVkaXRvciBzdGF0ZQorICAgICAgICB1cGRhdGUgdG8gcHVzaCB1cGRhdGVkIHNlbGVj
dGlvbiBpbmZvcm1hdGlvbiB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2hyb21lQ2xpZW50OjphbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCisgICAgICAg
IEFkZCBhIG5ldyBjbGllbnQgaG9vayBmb3Igd2hlbiBhbmltYXRpb25zIGVuZC4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisKKyAgICAgICAgQWRkIGxvZ2ljIHRvIHNjaGVkdWxlIGEgbmV3IGVkaXRv
ciBzdGF0ZSB1cGRhdGUgaWYgbmVlZGVkLCBhZnRlciBhbiBhbmltYXRpb24gZW5kcyB0aGF0IG1p
Z2h0IGFmZmVjdCBlaXRoZXIKKyAgICAgICAgdGhlIHN0YXJ0IG9yIGVuZCBvZiB0aGUgc2VsZWN0
aW9uLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVs
ZW1lbnQpOgorCiAyMDIwLTA1LTA2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBDb2NvYUNvbG9yIGluIG1vcmUgcGxhY2VzIGluc3RlYWQgb2Yg
cGxhdGZvcm0gZGVmaW5lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0Fu
aW1hdGlvbkVmZmVjdC5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5oCmluZGV4IGIzNzFiMGViMDQyMjYzZmUzZWM0ZjZhMjYwODVmODVmMzQ3Y2Q0MjkuLjkwZmVl
NjhmMmM1MTVkMTA5YjRkYTIyYzY4ZjE5ODc3NjgzNGZmZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKQEAgLTY3LDYgKzY3LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBhbmltYXRpb25EaWRQbGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBh
bmltYXRpb25EaWRTZWVrKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25XYXNDYW5j
ZWxlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoKCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25TdXNwZW5zaW9uU3RhdGVEaWRDaGFuZ2UoYm9vbCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25UaW1lbGluZURpZENoYW5nZShBbmltYXRp
b25UaW1lbGluZSopID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5jcHAKaW5kZXggZDEwYjAyY2U4ZjYyMTUwOTE1NjMzNjlkNjdkN2QzZjZjZGYzMmU1My4u
ZGI2NDBmMGNkZDM2NDNiOTFmMThlMDU5OTllZTgzYWNhMGQ4YWQzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCkBAIC0zNiw2ICszNiw4IEBACiAjaW5j
bHVkZSAiQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1RpbWluZ0Z1bmN0aW9u
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NUcmFuc2l0aW9uLmgiCisjaW5jbHVkZSAiQ2hyb21lLmgi
CisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIkZvbnRDYXNjYWRlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBAIC0xNTM5LDYgKzE1
NDEsMTggQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6YW5pbWF0aW9uV2FzQ2FuY2VsZWQoKQogICAg
ICAgICBhZGRQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb24oQWNjZWxlcmF0ZWRBY3Rpb246OlN0b3Ap
OwogfQogCit2b2lkIEtleWZyYW1lRWZmZWN0OjphbmltYXRpb25EaWRGaW5pc2goKQoreworICAg
IGlmICghbV90YXJnZXQpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8qIHBhZ2UgPSBtX3Rh
cmdldC0+ZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47
CisKKyAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5hbmltYXRpb25EaWRGaW5pc2hGb3JFbGVt
ZW50KCptX3RhcmdldCk7Cit9CisKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OndpbGxDaGFuZ2VSZW5k
ZXJlcigpCiB7CiAgICAgaWYgKG1faXNSdW5uaW5nQWNjZWxlcmF0ZWQgfHwgaXNBYm91dFRvUnVu
QWNjZWxlcmF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlm
cmFtZUVmZmVjdC5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgK
aW5kZXggYWNmMTc0Y2U4ZWZjYjY1ZWVhNzY5M2NmMGQwODZhY2RiNmYzMTEzMC4uYWQ3YjBiNjE0
YjgzZDFlNTE5MjczZmI5MTgyY2I3ZThkMjFiMTUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBhbmltYXRpb25EaWRQbGF5KCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25EaWRTZWVrKCkg
ZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25XYXNDYW5jZWxlZCgpIGZpbmFsOworICAgIHZvaWQg
YW5pbWF0aW9uRGlkRmluaXNoKCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25TdXNwZW5zaW9u
U3RhdGVEaWRDaGFuZ2UoYm9vbCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25UaW1lbGluZURp
ZENoYW5nZShBbmltYXRpb25UaW1lbGluZSopIGZpbmFsOwogICAgIHZvaWQgYW5pbWF0aW9uVGlt
aW5nRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
CmluZGV4IDAwNTE2M2Y0NWMwMDE3MTY0MTZiOGM4MjUzNzk5MGM1MzdhY2VmM2YuLjg5NTEzZDY2
YzZlNmFjOGY5OGNlZDQ4ZmE2YmRlNmUwNzEwMjI3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC05MDQsNiArOTA0LDkgQEAgdm9pZCBXZWJBbmltYXRp
b246OmZpbmlzaE5vdGlmaWNhdGlvblN0ZXBzKCkKICAgICAvLyAgICBlZmZlY3QgZW5kIHRvIGFu
IG9yaWdpbi1yZWxhdGl2ZSB0aW1lLgogICAgIC8vICAgIE90aGVyd2lzZSwgcXVldWUgYSB0YXNr
IHRvIGRpc3BhdGNoIGZpbmlzaEV2ZW50IGF0IGFuaW1hdGlvbi4gVGhlIHRhc2sgc291cmNlIGZv
ciB0aGlzIHRhc2sgaXMgdGhlIERPTSBtYW5pcHVsYXRpb24gdGFzayBzb3VyY2UuCiAgICAgZW5x
dWV1ZUFuaW1hdGlvblBsYXliYWNrRXZlbnQoZXZlbnROYW1lcygpLmZpbmlzaEV2ZW50LCBjdXJy
ZW50VGltZSgpLCBtX3RpbWVsaW5lID8gbV90aW1lbGluZS0+Y3VycmVudFRpbWUoKSA6IFdURjo6
bnVsbG9wdCk7CisKKyAgICBpZiAobV9lZmZlY3QpCisgICAgICAgIG1fZWZmZWN0LT5hbmltYXRp
b25EaWRGaW5pc2goKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpwbGF5
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oCmluZGV4IGVhYWEzNThjNGVhMWJlZmNlYzQ5MDJiMWI3NzUzZTcxZTgyYjgz
ZjQuLjNiMGI3MDJjNDFlZDMzYjY5ODIzNTZjNWFhNzFhNjE3MmVlMTYyYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
aApAQCAtMzc1LDcgKzM3NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNEZXNjZW5kYW50T3JT
aGFkb3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSopIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgY29udGFpbnMoY29uc3QgTm9kZSopIGNvbnN0OwotICAgIGJvb2wgY29udGFpbnNJbmNs
dWRpbmdTaGFkb3dET00oY29uc3QgTm9kZSopIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oY29uc3QgTm9kZSopIGNvbnN0OwogCiAgICAg
Ly8gV2hldGhlciBvciBub3QgYSBzZWxlY3Rpb24gY2FuIGJlIHN0YXJ0ZWQgaW4gdGhpcyBvYmpl
Y3QKICAgICB2aXJ0dWFsIGJvb2wgY2FuU3RhcnRTZWxlY3Rpb24oKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKaW5kZXggNGQ4YmQ3NTQ2ZjcyNmJhOWYx
Y2E0NzU5MzBjMTA5OWY1YjI0ZTE1My4uOGY0ZmM5ODdjOTdjYWRkZjE0MzM3ZmUxY2U4MTI1MDYw
ZWMwYzk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKQEAg
LTk3LDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgRWxlbWVudCogcm9v
dEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNDb250
ZW50RWRpdGFibGUoKSBjb25zdDsKLSAgICBib29sIGhhc0VkaXRhYmxlU3R5bGUoKSBjb25zdDsK
KyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0VkaXRhYmxlU3R5bGUoKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkgY29uc3Q7CiAgICAg
Ly8gUmV0dXJucyBhIHNoYWRvdyB0cmVlIG5vZGUgZm9yIGxlZ2FjeSBzaGFkb3cgdHJlZXMsIGEg
Y2hpbGQgb2YgdGhlCiAgICAgLy8gU2hhZG93Um9vdCBub2RlIGZvciBuZXcgc2hhZG93IHRyZWVz
LCBvciAwIGZvciBub24tc2hhZG93IHRyZWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgK
aW5kZXggMWY2OTRkMTU4YWM4Y2VlNmYwN2E5NGZmMjMzMTRmMDE4NDkzZDk5Yi4uNGIxYWVkZTA0
NDU3M2QzMGRlNTBiNDM4NTRlYzNlM2YzNjExY2U1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNs
aWVudC5oCkBAIC01MjgsNiArNTI4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRN
b2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKGNvbnN0IE1vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb24mKSB7IH0KICNlbmRpZgogCisgICAgdmlydHVhbCB2b2lkIGFuaW1h
dGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYpIHsgfQorCiBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKaW5kZXggMTMyNDIyOWJmNmRkM2E5MDMyNGFhNTVkZmY1MzMxODZmOTdiNTJlOC4u
ODc4ZTJiNDZhZWJjZjAzMzM3ZDUxZTk4YzFkNWNhMzY2ZGFkYzViNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKQEAgLTEzOTUsNCArMTM5NSw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRN
b2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKGNvbnN0IE1vY2tXZWJBdXRoZW50CiB9
CiAjZW5kaWYKIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVs
ZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBtX3BhZ2UuYW5pbWF0aW9uRGlk
RmluaXNoRm9yRWxlbWVudChlbGVtZW50KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggOTJjZWRlNjdiYjJkOTdjZTNkODgzYWY0MmNiNjViZTNhYmFl
YzEzOC4uYTVmNWZlNDY3YjM4N2U0NzQ5ODViODQ3YzVjNzM4MjUzMzhhNzVjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaApAQCAtMjMwLDYgKzIzMCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBBWEZpbmlz
aEZyYW1lTG9hZCgpIGZpbmFsIHsgfQogI2VuZGlmCiAKKyAgICB2b2lkIGFuaW1hdGlvbkRpZEZp
bmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpIGZpbmFsOworCiAgICAgUmVm
UHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hN
b25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCBmaW5hbDsKIAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggNjJjYjM4ZjE5NmE4YjQ2ZDU4ODg5NTA0N2NkNzJhNDUyNjk2NTk5Ny4u
ZmNjNTVkNDBkNGQ0NmNkMDYxZTZhNWE1YjIzYTg3ZjZhOTUzZmEzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTcwOTQsNiArNzA5NCwxNCBA
QCB2b2lkIFdlYlBhZ2U6OnJlbW92ZU1lZGlhVXNhZ2VNYW5hZ2VyU2Vzc2lvbihNZWRpYVNlc3Np
b25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1VTQUdF
KQogCisjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCisKK3ZvaWQgV2ViUGFnZTo6YW5pbWF0aW9u
RGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBXZWJDb3JlOjpFbGVtZW50JikKK3sKK30KKworI2Vu
ZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDI0
YzljYzdjOTEwMzI0ZmRjNDQ5ZmM4MTc0ZDYxN2YyNDE4MDgzYzguLjE4OGRiODg2YWFlNzI3OTQx
ZWNhNmFjN2JmMTFjOWJlOTMyZjI1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTQwNCw2ICs0MDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRJ
bnNlcnRNZW51SXRlbUVsZW1lbnQoV2ViQ29yZTo6SFRNTE1lbnVJdGVtRWxlbWVudCYpOwogICAg
IHZvaWQgZGlkUmVtb3ZlTWVudUl0ZW1FbGVtZW50KFdlYkNvcmU6OkhUTUxNZW51SXRlbUVsZW1l
bnQmKTsKIAorICAgIHZvaWQgYW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBXZWJD
b3JlOjpFbGVtZW50Jik7CisKICAgICBjb25zdCBTdHJpbmcmIG92ZXJyaWRlQ29udGVudFNlY3Vy
aXR5UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGlj
eTsgfQogCiAgICAgV2ViVW5kb1N0ZXAqIHdlYlVuZG9TdGVwKFdlYlVuZG9TdGVwSUQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpp
bmRleCAyN2Q4ZWY5YWJlZmM0M2NjZWYwODFhYmE4ZjdhNDRlNTY2Njg3MWFmLi5iN2JlZDAzNWQw
Yzk3MjBkZTZiYjA1OTM2YTdjNmQ2MjVhYmI5NTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNDM5MSw2ICs0MzkxLDM0
IEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1h
aW5GcmFtZShjb25zdCBTdHJpbmcmIGZpbGVOCiAKICNlbmRpZgogCit2b2lkIFdlYlBhZ2U6OmFu
aW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYgYW5pbWF0
ZWRFbGVtZW50KQoreworICAgIGF1dG8gZnJhbWUgPSBtYWtlUmVmKG1fcGFnZS0+Zm9jdXNDb250
cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkpOworICAgIGF1dG8mIHNlbGVjdGlvbiA9IGZy
YW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKKyAgICBpZiAoc2VsZWN0aW9uLmlzTm9uZU9y
T3JwaGFuZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHNlbGVjdGlvbi5pc0NhcmV0
KCkgJiYgIXNlbGVjdGlvbi5oYXNFZGl0YWJsZVN0eWxlKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGF1dG8gc2NoZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWluZXJO
b2RlSWZOZWVkZWQgPSBbJl0oY29uc3QgTm9kZSogY29udGFpbmVyKSB7CisgICAgICAgIGlmICgh
YW5pbWF0ZWRFbGVtZW50LmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGNvbnRhaW5lcikpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLnNl
dENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7CisgICAgICAgIHNjaGVkdWxlRnVsbEVkaXRvclN0YXRl
VXBkYXRlKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH07CisKKyAgICBhdXRvIHN0YXJ0
Q29udGFpbmVyID0gbWFrZVJlZlB0cihzZWxlY3Rpb24uc3RhcnQoKS5jb250YWluZXJOb2RlKCkp
OworICAgIGlmIChzY2hlZHVsZUVkaXRvclN0YXRlVXBkYXRlRm9yU3RhcnRPckVuZENvbnRhaW5l
ck5vZGVJZk5lZWRlZChzdGFydENvbnRhaW5lci5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGF1dG8gZW5kQ29udGFpbmVyID0gbWFrZVJlZlB0cihzZWxlY3Rpb24uZW5kKCkuY29udGFp
bmVyTm9kZSgpKTsKKyAgICBpZiAoc3RhcnRDb250YWluZXIgIT0gZW5kQ29udGFpbmVyKQorICAg
ICAgICBzY2hlZHVsZUVkaXRvclN0YXRlVXBkYXRlRm9yU3RhcnRPckVuZENvbnRhaW5lck5vZGVJ
Zk5lZWRlZChlbmRDb250YWluZXIuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ODcyMDczOGNlYTE0ZmM1
ODMyYzkyOTFlOGNhODdkNzdlZjhkNDQ4Li5jZjgwYzMyOTZjM2FkMzBkNGQwNDRiMzMyYzZjMTdl
MTU3YWI5MzcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDUtMDcgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gY2FyZXQgYXBwZWFy
cyBpbiB0aGUgbWlkZGxlIG9mIGEgc2VhcmNoIGZpZWxkIHdoZW4gZmllbGQgaXMgZm9jdXNlZCBv
biBhZ29kYS5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMTU5MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjA2MDU4NzM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0
ZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBjYXJldCB2aWV3IGV2ZW50dWFsbHkgYmVjb21lcyB2aXNp
YmxlIHdoZW4gYWZ0ZXIgYSBmb2N1c2VkIHRleHQgZmllbGQKKyAgICAgICAgY29udGFpbmluZyB0
aGUgY2FyZXQgaXMgYW5pbWF0ZWQuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pb3Mv
Y2FyZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0
ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5odG1sOiBBZGRlZC4KKwogMjAyMC0wNS0w
NyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChyMjUyMTYxKTogQW5pbWF0aW9uIG9mIGJveC1zaGFkb3cgd2l0aCBib3JkZXItcmFk
aXVzIHNldCBpcyBmbGFzaHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3Qt
YWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2JhYWJmN2JlNTEyZmVkMDhmZmY5YjJkNjA5NDM5YjdhNWYxOWY4ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVy
LWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBjYXJldCB2aWV3IGlzIHVwZGF0ZWQgZm9s
bG93aW5nIGEgQ1NTIGFuaW1hdGlvbi4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAgdGhl
IGJ1dHRvbiB0byBmb2N1cyB0aGUgb2Zmc2NyZWVuIGlucHV0IGZpZWxkOyBhZnRlciB0aGUgaW5w
dXQgZmllbGQgaXMgYW5pbWF0ZWQgb250byB0aGUgc2NyZWVuLCB0aGUgY2FyZXQgc2hvdWxkIGJl
Y29tZSB2aXNpYmxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBUaGUg
Y2FyZXQgYmVjYW1lIHZpc2libGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5p
bWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwM2MzYzNjMGEyY2Y5
YWJmMzI1MzdiOTYyNmM4ODE0NjcxYTBiNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2FyZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNl
ZC10ZXh0LWZpZWxkLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjY29udGFpbmVyIHsKKyAgICBwb3NpdGlv
bjogZml4ZWQ7CisgICAgd2lkdGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgdHJh
bnNmb3JtOiB0cmFuc2xhdGUzZCgtNDAwcHgsIDEwMHB4LCAwKTsKKyAgICB0cmFuc2l0aW9uOiBh
bGwgMC41cyBlYXNlLW91dDsKK30KKworaW5wdXQgeworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAg
ICB3aWR0aDogMTAwJTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBjYXJldCB2aWV3IGlzIHVwZGF0ZWQg
Zm9sbG93aW5nIGEgQ1NTIGFuaW1hdGlvbi4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCB0YXAg
dGhlIGJ1dHRvbiB0byBmb2N1cyB0aGUgb2Zmc2NyZWVuIGlucHV0IGZpZWxkOyBhZnRlciB0aGUg
aW5wdXQgZmllbGQgaXMgYW5pbWF0ZWQgb250byB0aGUgc2NyZWVuLCB0aGUgY2FyZXQgc2hvdWxk
IGJlY29tZSB2aXNpYmxlLiIpOworCisgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOworICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiaW5wdXQiKTsKKyAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJidXR0b24iKTsKKyAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgIGNvbnRhaW5lci5zdHlsZS50cmFuc2Zvcm0gPSAidHJhbnNsYXRlM2Qo
MWVtLCAxMDBweCwgMCkiOworICAgICAgICBidXR0b24ucmVtb3ZlKCk7CisgICAgICAgIGlucHV0
LmZvY3VzKCk7CisgICAgfSk7CisKKyAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnRB
bmRXYWl0Rm9ySW5wdXRTZXNzaW9uKGJ1dHRvbik7CisKKyAgICBsZXQgY2FyZXRWaWV3UmVjdCA9
IHt9OworICAgIHdoaWxlICghY2FyZXRWaWV3UmVjdC5sZWZ0IHx8IGNhcmV0Vmlld1JlY3QubGVm
dCA8IDAgfHwgIWNhcmV0Vmlld1JlY3QudG9wIHx8IGNhcmV0Vmlld1JlY3QudG9wIDwgMCkgewor
ICAgICAgICBhd2FpdCBVSUhlbHBlci5kZWxheUZvcigxMDApOworICAgICAgICBjYXJldFZpZXdS
ZWN0ID0gYXdhaXQgVUlIZWxwZXIuZ2V0VUlDYXJldFZpZXdSZWN0KCk7CisgICAgfQorCisgICAg
dGVzdFBhc3NlZChgVGhlIGNhcmV0IGJlY2FtZSB2aXNpYmxlYCk7CisKKyAgICBpbnB1dC5ibHVy
KCk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvcktleWJvYXJkVG9IaWRlKCk7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8YnV0dG9uPlRh
cCB0byBmb2N1czwvYnV0dG9uPgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8aW5wdXQ+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398858</attachid>
            <date>2020-05-08 07:45:18 -0700</date>
            <delta_ts>2020-05-08 07:47:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211591-20200508074518.patch</filename>
            <type>text/plain</type>
            <size>15206</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNjZGUwNWJjYWJmYmFh
ODY1NDUxMDY0Yzk5YWQxMmU0YzMxYjJhNi4uNGI3YzhkZGJlYmE2N2NlNDVhZDg4ZWFiMGVkY2I1
ZmNmZmU5MzlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA1LTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0
IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZv
Y3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQv
Q2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5o
dG1sCisKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYkFuaW1hdGlvbjo6ZmluaXNoTm90aWZpY2F0aW9uU3RlcHMpOgorCisgICAgICAg
IEFkZCBwbHVtYmluZyB0byBjYWxsIG91dCB0byB0aGUgV2ViS2l0IGNsaWVudCBsYXllciBhZnRl
ciBhbiBhbmltYXRpb24gZmluaXNoZXMgcnVubmluZy4KKworICAgICAgICAqIGRvbS9Ob2RlLmg6
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmg6CisKKyAgICAgICAgV0VCQ09S
RV9FWFBPUlQgYSBjb3VwbGUgb2YgbWV0aG9kcy4KKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRpZEZpbmlz
aEZvckVsZW1lbnQpOgorCiAyMDIwLTA1LTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTIxNjEpOiBBbmltYXRpb24gb2Yg
Ym94LXNoYWRvdyB3aXRoIGJvcmRlci1yYWRpdXMgc2V0IGlzIGZsYXNoeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBk
ZGM1N2ZmOGVmNWI2YzdkNmQzNzBjNTdmMjc0OWE1MmVlOWU3MGU4Li4wMjc3ODhkMGNkNWNiMDE5
MDI5MjNjN2E4MWFlZWFhZTZiYjg1NTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIw
LTA1LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIGNhcmV0IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVu
IGZpZWxkIGlzIGZvY3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYw
NjA1ODczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBtYWluIHNlYXJjaCBmaWVsZCBvbiB0aGUgbW9iaWxlIHZlcnNpb24gb2YgdGhpcyB3ZWJz
aXRlIGJlZ2lucyBvZmZzY3JlZW4sIHdpdGggYSBDU1MgdHJhbnNmb3JtIHRoYXQgbW92ZXMgaXQK
KyAgICAgICAgdG8gdGhlIGZhciByaWdodDsgdGFwcGluZyB0aGUgYnV0dG9uIGVsZW1lbnQgdGhh
dCAodmlzdWFsbHkpIGhhcyBhIHNlYXJjaC1maWVsZC1saWtlIGFwcGVhcmFuY2Ugb24gdGhlIGZy
b250CisgICAgICAgIHBhZ2UgcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VzIHRoZSByZWFsIG9mZnNj
cmVlbiBzZWFyY2ggZmllbGQsIGFuZCBhbmltYXRlcyBpdCBvbnNjcmVlbiBieSBjaGFuZ2luZyB0
aGUgQ1NTCisgICAgICAgIHRyYW5zZm9ybSBhdHRyaWJ1dGUgdG8gcmVtb3ZlIHRoZSB4LWF4aXMg
dHJhbnNsYXRpb24uCisKKyAgICAgICAgT24gaU9TLCB0aGUgY2FyZXQgcmVjdCBpcyBjb21wdXRl
ZCBhbmQgc2VudCB0byB0aGUgVUkgcHJvY2VzcyB2aWEgZWRpdG9yIHN0YXRlIHVwZGF0ZXM7IGhv
d2V2ZXIsIHRoZSBlZGl0b3IKKyAgICAgICAgc3RhdGUgaXMgY29tcHV0ZWQgaW1tZWRpYXRlbHkg
YWZ0ZXIgZm9jdXNpbmcgdGhlIGlucHV0IGZpZWxkLiBBcyBzdWNoLCB0aGUgY2FyZXQgcmVjdCBh
dCB0aGlzIG1vbWVudCBpcyBjb21wdXRlZAorICAgICAgICBpbiB0aGUgbWlkZGxlIG9mIHRoZSBh
bmltYXRpb24sIGxlYXZpbmcgaXQgc3R1Y2sgaW4gYW4gdW5wcmVkaWN0YWJsZSBsb2NhdGlvbi4K
KworICAgICAgICBUbyBmaXggdGhpcywgYWRkIHBsdW1iaW5nIHRvIGNhbGwgaW50byB0aGUgV2Vi
S2l0IGNsaWVudCBsYXllciB3aGVuIGFuIGFuaW1hdGlvbiBoYXMgZW5kZWQuIE9uIGlPUywgaWYg
dGhlCisgICAgICAgIHNlbGVjdGlvbiBpcyB2aXNpYmxlIChpLmUuIGEgcmFuZ2VkIHNlbGVjdGlv
biwgb3IgZWRpdGFibGUgY2FyZXQpLCB0aGVuIGNoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSBlbGVt
ZW50IHRoYXQKKyAgICAgICAgaGFzIGZpbmlzaGVkIGFuaW1hdGluZyBjb250YWlucyBlaXRoZXIg
ZW5kcG9pbnQgb2YgdGhlIHNlbGVjdGlvbi4gSWYgc28sIHRoZW4gc2NoZWR1bGUgYSBmb2xsb3d1
cCBlZGl0b3Igc3RhdGUKKyAgICAgICAgdXBkYXRlIHRvIHB1c2ggdXBkYXRlZCBzZWxlY3Rpb24g
aW5mb3JtYXRpb24gdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNo
cm9tZUNsaWVudDo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKworICAgICAgICBBZGQg
YSBuZXcgY2xpZW50IGhvb2sgZm9yIHdoZW4gYW5pbWF0aW9ucyBlbmQuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tOgorCisgICAgICAgIEFkZCBsb2dpYyB0byBzY2hlZHVsZSBhIG5ldyBlZGl0b3Igc3Rh
dGUgdXBkYXRlIGlmIG5lZWRlZCwgYWZ0ZXIgYW4gYW5pbWF0aW9uIGVuZHMgdGhhdCBtaWdodCBh
ZmZlY3QgZWl0aGVyCisgICAgICAgIHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIHNlbGVjdGlvbi4K
KworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50
KToKKwogMjAyMC0wNS0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmlt
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5k
ZXggMDA1MTYzZjQ1YzAwMTcxNjQxNmI4YzgyNTM3OTkwYzUzN2FjZWYzZi4uMDc1NDM3MThjNTYx
ZGZmNmI3NDdjNGQ5NjNhNDg1ZTczMzY5ZTdhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5jcHAKQEAgLTMwLDEwICszMCwxMyBAQAogI2luY2x1ZGUgIkFuaW1hdGlv
blBsYXliYWNrRXZlbnQuaCIKICNpbmNsdWRlICJBbmltYXRpb25UaW1lbGluZS5oIgogI2luY2x1
ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgor
I2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgog
I2luY2x1ZGUgIkRlY2xhcmF0aXZlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lLmgiCisjaW5jbHVkZSAiRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTkwNCw2ICs5MDcsMTQgQEAgdm9pZCBXZWJB
bmltYXRpb246OmZpbmlzaE5vdGlmaWNhdGlvblN0ZXBzKCkKICAgICAvLyAgICBlZmZlY3QgZW5k
IHRvIGFuIG9yaWdpbi1yZWxhdGl2ZSB0aW1lLgogICAgIC8vICAgIE90aGVyd2lzZSwgcXVldWUg
YSB0YXNrIHRvIGRpc3BhdGNoIGZpbmlzaEV2ZW50IGF0IGFuaW1hdGlvbi4gVGhlIHRhc2sgc291
cmNlIGZvciB0aGlzIHRhc2sgaXMgdGhlIERPTSBtYW5pcHVsYXRpb24gdGFzayBzb3VyY2UuCiAg
ICAgZW5xdWV1ZUFuaW1hdGlvblBsYXliYWNrRXZlbnQoZXZlbnROYW1lcygpLmZpbmlzaEV2ZW50
LCBjdXJyZW50VGltZSgpLCBtX3RpbWVsaW5lID8gbV90aW1lbGluZS0+Y3VycmVudFRpbWUoKSA6
IFdURjo6bnVsbG9wdCk7CisKKyAgICBpZiAoaXM8S2V5ZnJhbWVFZmZlY3Q+KG1fZWZmZWN0KSkg
eworICAgICAgICBhdXRvJiBrZXlmcmFtZUVmZmVjdCA9IGRvd25jYXN0PEtleWZyYW1lRWZmZWN0
PigqbV9lZmZlY3QpOworICAgICAgICBpZiAoYXV0byB0YXJnZXQgPSBtYWtlUmVmUHRyKGtleWZy
YW1lRWZmZWN0LnRhcmdldCgpKSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSB0YXJn
ZXQtPmRvY3VtZW50KCkucGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNs
aWVudCgpLmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoKnRhcmdldCk7CisgICAgICAgIH0K
KyAgICB9CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkFuaW1hdGlvbjo6cGxheSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaAppbmRleCBlYWFhMzU4YzRlYTFiZWZjZWM0OTAyYjFiNzc1M2U3MWU4MmI4M2Y0Li4zYjBi
NzAyYzQxZWQzM2I2OTgyMzU2YzVhYTcxYTYxNzJlZTE2MmJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTM3
NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzRGVzY2VuZGFudE9yU2hhZG93RGVz
Y2VuZGFudE9mKGNvbnN0IE5vZGUqKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNv
bnRhaW5zKGNvbnN0IE5vZGUqKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zSW5jbHVkaW5nU2hh
ZG93RE9NKGNvbnN0IE5vZGUqKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNvbnRh
aW5zSW5jbHVkaW5nU2hhZG93RE9NKGNvbnN0IE5vZGUqKSBjb25zdDsKIAogICAgIC8vIFdoZXRo
ZXIgb3Igbm90IGEgc2VsZWN0aW9uIGNhbiBiZSBzdGFydGVkIGluIHRoaXMgb2JqZWN0CiAgICAg
dmlydHVhbCBib29sIGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCmluZGV4IDRkOGJkNzU0NmY3MjZiYTlmMWNhNDc1OTMw
YzEwOTlmNWIyNGUxNTMuLjhmNGZjOTg3Yzk3Y2FkZGYxNDMzN2ZlMWNlODEyNTA2MGVjMGM5N2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCkBAIC05Nyw3ICs5
Nyw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIHJvb3RFZGl0YWJs
ZUVsZW1lbnQoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzQ29udGVudEVkaXRh
YmxlKCkgY29uc3Q7Ci0gICAgYm9vbCBoYXNFZGl0YWJsZVN0eWxlKCkgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgYm9vbCBoYXNFZGl0YWJsZVN0eWxlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpIGNvbnN0OwogICAgIC8vIFJldHVy
bnMgYSBzaGFkb3cgdHJlZSBub2RlIGZvciBsZWdhY3kgc2hhZG93IHRyZWVzLCBhIGNoaWxkIG9m
IHRoZQogICAgIC8vIFNoYWRvd1Jvb3Qgbm9kZSBmb3IgbmV3IHNoYWRvdyB0cmVlcywgb3IgMCBm
b3Igbm9uLXNoYWRvdyB0cmVlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDFm
Njk0ZDE1OGFjOGNlZTZmMDdhOTRmZjIzMzE0ZjAxODQ5M2Q5OWIuLjRiMWFlZGUwNDQ1NzNkMzBk
ZTUwYjQzODU0ZWMzZTNmMzYxMWNlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApA
QCAtNTI4LDYgKzUyOCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TW9ja1dlYkF1
dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihjb25zdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25m
aWd1cmF0aW9uJikgeyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25EaWRG
aW5pc2hGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmKSB7IH0KKwogcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CmluZGV4IDEzMjQyMjliZjZkZDNhOTAzMjRhYTU1ZGZmNTMzMTg2Zjk3YjUyZTguLjg3OGUyYjQ2
YWViY2YwMzMzN2Q1MWU5OGMxZDVjYTM2NmRhZGM1YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CkBAIC0xMzk1LDQgKzEzOTUsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0TW9ja1dlYkF1
dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihjb25zdCBNb2NrV2ViQXV0aGVudAogfQogI2VuZGlm
CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGNv
bnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgbV9wYWdlLmFuaW1hdGlvbkRpZEZpbmlzaEZv
ckVsZW1lbnQoZWxlbWVudCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDkyY2VkZTY3YmIyZDk3Y2UzZDg4M2FmNDJjYjY1YmUzYWJhZWMxMzguLmE1
ZjVmZTQ2N2IzODdlNDc0OTg1Yjg0N2M1YzczODI1MzM4YTc1Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTIzMCw2ICsyMzAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgQVhGaW5pc2hGcmFtZUxv
YWQoKSBmaW5hbCB7IH0KICNlbmRpZgogCisgICAgdm9pZCBhbmltYXRpb25EaWRGaW5pc2hGb3JF
bGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKKwogICAgIFJlZlB0cjxXZWJD
b3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihX
ZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCkgY29uc3QgZmluYWw7CiAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDYyY2IzOGYxOTZhOGI0NmQ1ODg4OTUwNDdjZDcyYTQ1MjY5NjU5OTcuLmZjYzU1ZDQw
ZDRkNDZjZDA2MWU2YTVhNWIyM2E4N2Y2YTk1M2ZhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03MDk0LDYgKzcwOTQsMTQgQEAgdm9pZCBX
ZWJQYWdlOjpyZW1vdmVNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oTWVkaWFTZXNzaW9uSWRlbnRp
ZmllciBpZGVudGlmaWVyKQogfQogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9VU0FHRSkKIAorI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQorCit2b2lkIFdlYlBhZ2U6OmFuaW1hdGlvbkRpZEZpbmlz
aEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpCit7Cit9CisKKyNlbmRpZgorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAyNGM5Y2M3Yzkx
MDMyNGZkYzQ0OWZjODE3NGQ2MTdmMjQxODA4M2M4Li4xODhkYjg4NmFhZTcyNzk0MWVjYTZhYzdi
ZjExYzliZTkzMmYyNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCkBAIC00MDQsNiArNDA0LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkSW5zZXJ0TWVu
dUl0ZW1FbGVtZW50KFdlYkNvcmU6OkhUTUxNZW51SXRlbUVsZW1lbnQmKTsKICAgICB2b2lkIGRp
ZFJlbW92ZU1lbnVJdGVtRWxlbWVudChXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50Jik7CiAK
KyAgICB2b2lkIGFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxl
bWVudCYpOworCiAgICAgY29uc3QgU3RyaW5nJiBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3k7IH0KIAog
ICAgIFdlYlVuZG9TdGVwKiB3ZWJVbmRvU3RlcChXZWJVbmRvU3RlcElEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggMjdk
OGVmOWFiZWZjNDNjY2VmMDgxYWJhOGY3YTQ0ZTU2NjY4NzFhZi4uYjdiZWQwMzVkMGM5NzIwZGU2
YmIwNTkzNmE3YzZkNjI1YWJiOTU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTQzOTEsNiArNDM5MSwzNCBAQCB2b2lk
IFdlYlBhZ2U6OnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUo
Y29uc3QgU3RyaW5nJiBmaWxlTgogCiAjZW5kaWYKIAordm9pZCBXZWJQYWdlOjphbmltYXRpb25E
aWRGaW5pc2hGb3JFbGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmIGFuaW1hdGVkRWxlbWVu
dCkKK3sKKyAgICBhdXRvIGZyYW1lID0gbWFrZVJlZihtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LmZvY3VzZWRPck1haW5GcmFtZSgpKTsKKyAgICBhdXRvJiBzZWxlY3Rpb24gPSBmcmFtZS0+c2Vs
ZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgaWYgKHNlbGVjdGlvbi5pc05vbmVPck9ycGhhbmVk
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzZWxlY3Rpb24uaXNDYXJldCgpICYmICFz
ZWxlY3Rpb24uaGFzRWRpdGFibGVTdHlsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRv
IHNjaGVkdWxlRWRpdG9yU3RhdGVVcGRhdGVGb3JTdGFydE9yRW5kQ29udGFpbmVyTm9kZUlmTmVl
ZGVkID0gWyZdKGNvbnN0IE5vZGUqIGNvbnRhaW5lcikgeworICAgICAgICBpZiAoIWFuaW1hdGVk
RWxlbWVudC5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShjb250YWluZXIpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS5zZXRDYXJldFJl
Y3ROZWVkc1VwZGF0ZSgpOworICAgICAgICBzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSgp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9OworCisgICAgYXV0byBzdGFydENvbnRhaW5l
ciA9IG1ha2VSZWZQdHIoc2VsZWN0aW9uLnN0YXJ0KCkuY29udGFpbmVyTm9kZSgpKTsKKyAgICBp
ZiAoc2NoZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWluZXJOb2RlSWZO
ZWVkZWQoc3RhcnRDb250YWluZXIuZ2V0KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRv
IGVuZENvbnRhaW5lciA9IG1ha2VSZWZQdHIoc2VsZWN0aW9uLmVuZCgpLmNvbnRhaW5lck5vZGUo
KSk7CisgICAgaWYgKHN0YXJ0Q29udGFpbmVyICE9IGVuZENvbnRhaW5lcikKKyAgICAgICAgc2No
ZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWluZXJOb2RlSWZOZWVkZWQo
ZW5kQ29udGFpbmVyLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDg3MjA3MzhjZWExNGZjNTgzMmM5Mjkx
ZThjYTg3ZDc3ZWY4ZDQ0OC4uY2Y4MGMzMjk2YzNhZDMwZDRkMDQ0YjMzMmM2YzE3ZTE1N2FiOTM3
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0IGFwcGVhcnMgaW4gdGhl
IG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZvY3VzZWQgb24gYWdvZGEu
Y29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1
OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBsYXlvdXQgdGVzdCB0byB2
ZXJpZnkgdGhhdCB0aGUgY2FyZXQgdmlldyBldmVudHVhbGx5IGJlY29tZXMgdmlzaWJsZSB3aGVu
IGFmdGVyIGEgZm9jdXNlZCB0ZXh0IGZpZWxkCisgICAgICAgIGNvbnRhaW5pbmcgdGhlIGNhcmV0
IGlzIGFuaW1hdGVkLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJl
Y3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1h
dGluZy1mb2N1c2VkLXRleHQtZmllbGQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDUtMDcgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjI1MjE2MSk6IEFuaW1hdGlvbiBvZiBib3gtc2hhZG93IHdpdGggYm9yZGVyLXJhZGl1cyBzZXQg
aXMgZmxhc2h5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3Mv
Y2FyZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFu
aW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiYWFi
ZjdiZTUxMmZlZDA4ZmZmOWIyZDYwOTQzOWI3YTVmMTlmOGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2FyZXQtcmVjdC1hZnRlci1hbmltYXRp
bmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgY2FyZXQgdmlldyBpcyB1cGRhdGVkIGZvbGxvd2luZyBh
IENTUyBhbmltYXRpb24uIFRvIG1hbnVhbGx5IHJ1biB0aGUgdGVzdCwgdGFwIHRoZSBidXR0b24g
dG8gZm9jdXMgdGhlIG9mZnNjcmVlbiBpbnB1dCBmaWVsZDsgYWZ0ZXIgdGhlIGlucHV0IGZpZWxk
IGlzIGFuaW1hdGVkIG9udG8gdGhlIHNjcmVlbiwgdGhlIGNhcmV0IHNob3VsZCBiZWNvbWUgdmlz
aWJsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgVGhlIGNhcmV0IGJl
Y2FtZSB2aXNpYmxlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9j
YXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1m
b2N1c2VkLXRleHQtZmllbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDNjM2MzYzBhMmNmOWFiZjMyNTM3
Yjk2MjZjODgxNDY3MWEwYjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1m
aWVsZC5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGlu
aXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorI2NvbnRhaW5lciB7CisgICAgcG9zaXRpb246IGZpeGVk
OworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIHRyYW5zZm9ybTog
dHJhbnNsYXRlM2QoLTQwMHB4LCAxMDBweCwgMCk7CisgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMg
ZWFzZS1vdXQ7Cit9CisKK2lucHV0IHsKKyAgICBmb250LXNpemU6IDIwcHg7CisgICAgd2lkdGg6
IDEwMCU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCith
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgY2FyZXQgdmlldyBpcyB1cGRhdGVkIGZvbGxvd2lu
ZyBhIENTUyBhbmltYXRpb24uIFRvIG1hbnVhbGx5IHJ1biB0aGUgdGVzdCwgdGFwIHRoZSBidXR0
b24gdG8gZm9jdXMgdGhlIG9mZnNjcmVlbiBpbnB1dCBmaWVsZDsgYWZ0ZXIgdGhlIGlucHV0IGZp
ZWxkIGlzIGFuaW1hdGVkIG9udG8gdGhlIHNjcmVlbiwgdGhlIGNhcmV0IHNob3VsZCBiZWNvbWUg
dmlzaWJsZS4iKTsKKworICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb250YWluZXIiKTsKKyAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoImlucHV0Iik7CisgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
YnV0dG9uIik7CisgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewor
ICAgICAgICBjb250YWluZXIuc3R5bGUudHJhbnNmb3JtID0gInRyYW5zbGF0ZTNkKDFlbSwgMTAw
cHgsIDApIjsKKyAgICAgICAgYnV0dG9uLnJlbW92ZSgpOworICAgICAgICBpbnB1dC5mb2N1cygp
OworICAgIH0pOworCisgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50QW5kV2FpdEZv
cklucHV0U2Vzc2lvbihidXR0b24pOworCisgICAgbGV0IGNhcmV0Vmlld1JlY3QgPSB7fTsKKyAg
ICB3aGlsZSAoIWNhcmV0Vmlld1JlY3QubGVmdCB8fCBjYXJldFZpZXdSZWN0LmxlZnQgPCAwIHx8
ICFjYXJldFZpZXdSZWN0LnRvcCB8fCBjYXJldFZpZXdSZWN0LnRvcCA8IDApIHsKKyAgICAgICAg
YXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMTAwKTsKKyAgICAgICAgY2FyZXRWaWV3UmVjdCA9IGF3
YWl0IFVJSGVscGVyLmdldFVJQ2FyZXRWaWV3UmVjdCgpOworICAgIH0KKworICAgIHRlc3RQYXNz
ZWQoYFRoZSBjYXJldCBiZWNhbWUgdmlzaWJsZWApOworCisgICAgaW5wdXQuYmx1cigpOworICAg
IGF3YWl0IFVJSGVscGVyLndhaXRGb3JLZXlib2FyZFRvSGlkZSgpOworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGJ1dHRvbj5UYXAgdG8gZm9j
dXM8L2J1dHRvbj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPGlucHV0PgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398860</attachid>
            <date>2020-05-08 07:47:21 -0700</date>
            <delta_ts>2020-05-08 10:57:45 -0700</delta_ts>
            <desc>Remove unnecessary local variable</desc>
            <filename>bug-211591-20200508074720.patch</filename>
            <type>text/plain</type>
            <size>15158</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNjZGUwNWJjYWJmYmFh
ODY1NDUxMDY0Yzk5YWQxMmU0YzMxYjJhNi4uNGI3YzhkZGJlYmE2N2NlNDVhZDg4ZWFiMGVkY2I1
ZmNmZmU5MzlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA1LTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0
IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZv
Y3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQv
Q2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC5o
dG1sCisKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYkFuaW1hdGlvbjo6ZmluaXNoTm90aWZpY2F0aW9uU3RlcHMpOgorCisgICAgICAg
IEFkZCBwbHVtYmluZyB0byBjYWxsIG91dCB0byB0aGUgV2ViS2l0IGNsaWVudCBsYXllciBhZnRl
ciBhbiBhbmltYXRpb24gZmluaXNoZXMgcnVubmluZy4KKworICAgICAgICAqIGRvbS9Ob2RlLmg6
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmg6CisKKyAgICAgICAgV0VCQ09S
RV9FWFBPUlQgYSBjb3VwbGUgb2YgbWV0aG9kcy4KKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRpZEZpbmlz
aEZvckVsZW1lbnQpOgorCiAyMDIwLTA1LTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTIxNjEpOiBBbmltYXRpb24gb2Yg
Ym94LXNoYWRvdyB3aXRoIGJvcmRlci1yYWRpdXMgc2V0IGlzIGZsYXNoeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBk
ZGM1N2ZmOGVmNWI2YzdkNmQzNzBjNTdmMjc0OWE1MmVlOWU3MGU4Li4wMjc3ODhkMGNkNWNiMDE5
MDI5MjNjN2E4MWFlZWFhZTZiYjg1NTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIw
LTA1LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIGNhcmV0IGFwcGVhcnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVu
IGZpZWxkIGlzIGZvY3VzZWQgb24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYw
NjA1ODczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBtYWluIHNlYXJjaCBmaWVsZCBvbiB0aGUgbW9iaWxlIHZlcnNpb24gb2YgdGhpcyB3ZWJz
aXRlIGJlZ2lucyBvZmZzY3JlZW4sIHdpdGggYSBDU1MgdHJhbnNmb3JtIHRoYXQgbW92ZXMgaXQK
KyAgICAgICAgdG8gdGhlIGZhciByaWdodDsgdGFwcGluZyB0aGUgYnV0dG9uIGVsZW1lbnQgdGhh
dCAodmlzdWFsbHkpIGhhcyBhIHNlYXJjaC1maWVsZC1saWtlIGFwcGVhcmFuY2Ugb24gdGhlIGZy
b250CisgICAgICAgIHBhZ2UgcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VzIHRoZSByZWFsIG9mZnNj
cmVlbiBzZWFyY2ggZmllbGQsIGFuZCBhbmltYXRlcyBpdCBvbnNjcmVlbiBieSBjaGFuZ2luZyB0
aGUgQ1NTCisgICAgICAgIHRyYW5zZm9ybSBhdHRyaWJ1dGUgdG8gcmVtb3ZlIHRoZSB4LWF4aXMg
dHJhbnNsYXRpb24uCisKKyAgICAgICAgT24gaU9TLCB0aGUgY2FyZXQgcmVjdCBpcyBjb21wdXRl
ZCBhbmQgc2VudCB0byB0aGUgVUkgcHJvY2VzcyB2aWEgZWRpdG9yIHN0YXRlIHVwZGF0ZXM7IGhv
d2V2ZXIsIHRoZSBlZGl0b3IKKyAgICAgICAgc3RhdGUgaXMgY29tcHV0ZWQgaW1tZWRpYXRlbHkg
YWZ0ZXIgZm9jdXNpbmcgdGhlIGlucHV0IGZpZWxkLiBBcyBzdWNoLCB0aGUgY2FyZXQgcmVjdCBh
dCB0aGlzIG1vbWVudCBpcyBjb21wdXRlZAorICAgICAgICBpbiB0aGUgbWlkZGxlIG9mIHRoZSBh
bmltYXRpb24sIGxlYXZpbmcgaXQgc3R1Y2sgaW4gYW4gdW5wcmVkaWN0YWJsZSBsb2NhdGlvbi4K
KworICAgICAgICBUbyBmaXggdGhpcywgYWRkIHBsdW1iaW5nIHRvIGNhbGwgaW50byB0aGUgV2Vi
S2l0IGNsaWVudCBsYXllciB3aGVuIGFuIGFuaW1hdGlvbiBoYXMgZW5kZWQuIE9uIGlPUywgaWYg
dGhlCisgICAgICAgIHNlbGVjdGlvbiBpcyB2aXNpYmxlIChpLmUuIGEgcmFuZ2VkIHNlbGVjdGlv
biwgb3IgZWRpdGFibGUgY2FyZXQpLCB0aGVuIGNoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSBlbGVt
ZW50IHRoYXQKKyAgICAgICAgaGFzIGZpbmlzaGVkIGFuaW1hdGluZyBjb250YWlucyBlaXRoZXIg
ZW5kcG9pbnQgb2YgdGhlIHNlbGVjdGlvbi4gSWYgc28sIHRoZW4gc2NoZWR1bGUgYSBmb2xsb3d1
cCBlZGl0b3Igc3RhdGUKKyAgICAgICAgdXBkYXRlIHRvIHB1c2ggdXBkYXRlZCBzZWxlY3Rpb24g
aW5mb3JtYXRpb24gdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNo
cm9tZUNsaWVudDo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKworICAgICAgICBBZGQg
YSBuZXcgY2xpZW50IGhvb2sgZm9yIHdoZW4gYW5pbWF0aW9ucyBlbmQuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tOgorCisgICAgICAgIEFkZCBsb2dpYyB0byBzY2hlZHVsZSBhIG5ldyBlZGl0b3Igc3Rh
dGUgdXBkYXRlIGlmIG5lZWRlZCwgYWZ0ZXIgYW4gYW5pbWF0aW9uIGVuZHMgdGhhdCBtaWdodCBh
ZmZlY3QgZWl0aGVyCisgICAgICAgIHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIHNlbGVjdGlvbi4K
KworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50
KToKKwogMjAyMC0wNS0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmlt
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5k
ZXggMDA1MTYzZjQ1YzAwMTcxNjQxNmI4YzgyNTM3OTkwYzUzN2FjZWYzZi4uM2I3ZTk2NjVmMGUx
NjExNDg2YjA4YTYyMTUzMDIxZGM1NDFkNTVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5jcHAKQEAgLTMwLDEwICszMCwxMyBAQAogI2luY2x1ZGUgIkFuaW1hdGlv
blBsYXliYWNrRXZlbnQuaCIKICNpbmNsdWRlICJBbmltYXRpb25UaW1lbGluZS5oIgogI2luY2x1
ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgor
I2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgog
I2luY2x1ZGUgIkRlY2xhcmF0aXZlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lLmgiCisjaW5jbHVkZSAiRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTkwNCw2ICs5MDcsMTMgQEAgdm9pZCBXZWJB
bmltYXRpb246OmZpbmlzaE5vdGlmaWNhdGlvblN0ZXBzKCkKICAgICAvLyAgICBlZmZlY3QgZW5k
IHRvIGFuIG9yaWdpbi1yZWxhdGl2ZSB0aW1lLgogICAgIC8vICAgIE90aGVyd2lzZSwgcXVldWUg
YSB0YXNrIHRvIGRpc3BhdGNoIGZpbmlzaEV2ZW50IGF0IGFuaW1hdGlvbi4gVGhlIHRhc2sgc291
cmNlIGZvciB0aGlzIHRhc2sgaXMgdGhlIERPTSBtYW5pcHVsYXRpb24gdGFzayBzb3VyY2UuCiAg
ICAgZW5xdWV1ZUFuaW1hdGlvblBsYXliYWNrRXZlbnQoZXZlbnROYW1lcygpLmZpbmlzaEV2ZW50
LCBjdXJyZW50VGltZSgpLCBtX3RpbWVsaW5lID8gbV90aW1lbGluZS0+Y3VycmVudFRpbWUoKSA6
IFdURjo6bnVsbG9wdCk7CisKKyAgICBpZiAoaXM8S2V5ZnJhbWVFZmZlY3Q+KG1fZWZmZWN0KSkg
eworICAgICAgICBpZiAoYXV0byB0YXJnZXQgPSBtYWtlUmVmUHRyKGRvd25jYXN0PEtleWZyYW1l
RWZmZWN0PigqbV9lZmZlY3QpLnRhcmdldCgpKSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIHBh
Z2UgPSB0YXJnZXQtPmRvY3VtZW50KCkucGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoKnRhcmdldCk7Cisg
ICAgICAgIH0KKyAgICB9CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYkFuaW1hdGlvbjo6cGxh
eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaAppbmRleCBlYWFhMzU4YzRlYTFiZWZjZWM0OTAyYjFiNzc1M2U3MWU4MmI4
M2Y0Li4zYjBiNzAyYzQxZWQzM2I2OTgyMzU2YzVhYTcxYTYxNzJlZTE2MmJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmgKQEAgLTM3NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzRGVzY2VuZGFudE9y
U2hhZG93RGVzY2VuZGFudE9mKGNvbnN0IE5vZGUqKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGNvbnRhaW5zKGNvbnN0IE5vZGUqKSBjb25zdDsKLSAgICBib29sIGNvbnRhaW5zSW5j
bHVkaW5nU2hhZG93RE9NKGNvbnN0IE5vZGUqKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGNvbnN0IE5vZGUqKSBjb25zdDsKIAogICAg
IC8vIFdoZXRoZXIgb3Igbm90IGEgc2VsZWN0aW9uIGNhbiBiZSBzdGFydGVkIGluIHRoaXMgb2Jq
ZWN0CiAgICAgdmlydHVhbCBib29sIGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCmluZGV4IDRkOGJkNzU0NmY3MjZiYTlm
MWNhNDc1OTMwYzEwOTlmNWIyNGUxNTMuLjhmNGZjOTg3Yzk3Y2FkZGYxNDMzN2ZlMWNlODEyNTA2
MGVjMGM5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCkBA
IC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIHJv
b3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzQ29u
dGVudEVkaXRhYmxlKCkgY29uc3Q7Ci0gICAgYm9vbCBoYXNFZGl0YWJsZVN0eWxlKCkgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNFZGl0YWJsZVN0eWxlKCkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpIGNvbnN0OwogICAg
IC8vIFJldHVybnMgYSBzaGFkb3cgdHJlZSBub2RlIGZvciBsZWdhY3kgc2hhZG93IHRyZWVzLCBh
IGNoaWxkIG9mIHRoZQogICAgIC8vIFNoYWRvd1Jvb3Qgbm9kZSBmb3IgbmV3IHNoYWRvdyB0cmVl
cywgb3IgMCBmb3Igbm9uLXNoYWRvdyB0cmVlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CmluZGV4IDFmNjk0ZDE1OGFjOGNlZTZmMDdhOTRmZjIzMzE0ZjAxODQ5M2Q5OWIuLjRiMWFlZGUw
NDQ1NzNkMzBkZTUwYjQzODU0ZWMzZTNmMzYxMWNlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaApAQCAtNTI4LDYgKzUyOCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0
TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihjb25zdCBNb2NrV2ViQXV0aGVudGlj
YXRpb25Db25maWd1cmF0aW9uJikgeyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgdm9pZCBhbmlt
YXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmKSB7IH0KKwogcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCmluZGV4IDEzMjQyMjliZjZkZDNhOTAzMjRhYTU1ZGZmNTMzMTg2Zjk3YjUyZTgu
Ljg3OGUyYjQ2YWViY2YwMzMzN2Q1MWU5OGMxZDVjYTM2NmRhZGM1YjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCkBAIC0xMzk1LDQgKzEzOTUsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0
TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihjb25zdCBNb2NrV2ViQXV0aGVudAog
fQogI2VuZGlmCiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphbmltYXRpb25EaWRGaW5pc2hGb3JF
bGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgbV9wYWdlLmFuaW1hdGlvbkRp
ZEZpbmlzaEZvckVsZW1lbnQoZWxlbWVudCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCmluZGV4IDkyY2VkZTY3YmIyZDk3Y2UzZDg4M2FmNDJjYjY1YmUzYWJh
ZWMxMzguLmE1ZjVmZTQ2N2IzODdlNDc0OTg1Yjg0N2M1YzczODI1MzM4YTc1Y2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKQEAgLTIzMCw2ICsyMzAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgQVhGaW5p
c2hGcmFtZUxvYWQoKSBmaW5hbCB7IH0KICNlbmRpZgogCisgICAgdm9pZCBhbmltYXRpb25EaWRG
aW5pc2hGb3JFbGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKKwogICAgIFJl
ZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNo
TW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCkgY29uc3QgZmluYWw7CiAKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDYyY2IzOGYxOTZhOGI0NmQ1ODg4OTUwNDdjZDcyYTQ1MjY5NjU5OTcu
LmZjYzU1ZDQwZDRkNDZjZDA2MWU2YTVhNWIyM2E4N2Y2YTk1M2ZhM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03MDk0LDYgKzcwOTQsMTQg
QEAgdm9pZCBXZWJQYWdlOjpyZW1vdmVNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oTWVkaWFTZXNz
aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogfQogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9VU0FH
RSkKIAorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorCit2b2lkIFdlYlBhZ2U6OmFuaW1hdGlv
bkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpCit7Cit9CisKKyNl
bmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAy
NGM5Y2M3YzkxMDMyNGZkYzQ0OWZjODE3NGQ2MTdmMjQxODA4M2M4Li4xODhkYjg4NmFhZTcyNzk0
MWVjYTZhYzdiZjExYzliZTkzMmYyNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC00MDQsNiArNDA0LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlk
SW5zZXJ0TWVudUl0ZW1FbGVtZW50KFdlYkNvcmU6OkhUTUxNZW51SXRlbUVsZW1lbnQmKTsKICAg
ICB2b2lkIGRpZFJlbW92ZU1lbnVJdGVtRWxlbWVudChXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVt
ZW50Jik7CiAKKyAgICB2b2lkIGFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2Vi
Q29yZTo6RWxlbWVudCYpOworCiAgICAgY29uc3QgU3RyaW5nJiBvdmVycmlkZUNvbnRlbnRTZWN1
cml0eVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xp
Y3k7IH0KIAogICAgIFdlYlVuZG9TdGVwKiB3ZWJVbmRvU3RlcChXZWJVbmRvU3RlcElEKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0K
aW5kZXggMjdkOGVmOWFiZWZjNDNjY2VmMDgxYWJhOGY3YTQ0ZTU2NjY4NzFhZi4uYjdiZWQwMzVk
MGM5NzIwZGU2YmIwNTkzNmE3YzZkNjI1YWJiOTU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTQzOTEsNiArNDM5MSwz
NCBAQCB2b2lkIFdlYlBhZ2U6OnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5N
YWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxlTgogCiAjZW5kaWYKIAordm9pZCBXZWJQYWdlOjph
bmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmIGFuaW1h
dGVkRWxlbWVudCkKK3sKKyAgICBhdXRvIGZyYW1lID0gbWFrZVJlZihtX3BhZ2UtPmZvY3VzQ29u
dHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpKTsKKyAgICBhdXRvJiBzZWxlY3Rpb24gPSBm
cmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgaWYgKHNlbGVjdGlvbi5pc05vbmVP
ck9ycGhhbmVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzZWxlY3Rpb24uaXNDYXJl
dCgpICYmICFzZWxlY3Rpb24uaGFzRWRpdGFibGVTdHlsZSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBhdXRvIHNjaGVkdWxlRWRpdG9yU3RhdGVVcGRhdGVGb3JTdGFydE9yRW5kQ29udGFpbmVy
Tm9kZUlmTmVlZGVkID0gWyZdKGNvbnN0IE5vZGUqIGNvbnRhaW5lcikgeworICAgICAgICBpZiAo
IWFuaW1hdGVkRWxlbWVudC5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShjb250YWluZXIpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS5z
ZXRDYXJldFJlY3ROZWVkc1VwZGF0ZSgpOworICAgICAgICBzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0
ZVVwZGF0ZSgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9OworCisgICAgYXV0byBzdGFy
dENvbnRhaW5lciA9IG1ha2VSZWZQdHIoc2VsZWN0aW9uLnN0YXJ0KCkuY29udGFpbmVyTm9kZSgp
KTsKKyAgICBpZiAoc2NoZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWlu
ZXJOb2RlSWZOZWVkZWQoc3RhcnRDb250YWluZXIuZ2V0KCkpKQorICAgICAgICByZXR1cm47CisK
KyAgICBhdXRvIGVuZENvbnRhaW5lciA9IG1ha2VSZWZQdHIoc2VsZWN0aW9uLmVuZCgpLmNvbnRh
aW5lck5vZGUoKSk7CisgICAgaWYgKHN0YXJ0Q29udGFpbmVyICE9IGVuZENvbnRhaW5lcikKKyAg
ICAgICAgc2NoZWR1bGVFZGl0b3JTdGF0ZVVwZGF0ZUZvclN0YXJ0T3JFbmRDb250YWluZXJOb2Rl
SWZOZWVkZWQoZW5kQ29udGFpbmVyLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDg3MjA3MzhjZWExNGZj
NTgzMmM5MjkxZThjYTg3ZDc3ZWY4ZDQ0OC4uY2Y4MGMzMjk2YzNhZDMwZDRkMDQ0YjMzMmM2YzE3
ZTE1N2FiOTM3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTA3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNhcmV0IGFwcGVh
cnMgaW4gdGhlIG1pZGRsZSBvZiBhIHNlYXJjaCBmaWVsZCB3aGVuIGZpZWxkIGlzIGZvY3VzZWQg
b24gYWdvZGEuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE1OTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwNjA1ODczPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBsYXlvdXQg
dGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgY2FyZXQgdmlldyBldmVudHVhbGx5IGJlY29tZXMgdmlz
aWJsZSB3aGVuIGFmdGVyIGEgZm9jdXNlZCB0ZXh0IGZpZWxkCisgICAgICAgIGNvbnRhaW5pbmcg
dGhlIGNhcmV0IGlzIGFuaW1hdGVkLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9z
L2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3VzZWQtdGV4dC1maWVsZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFm
dGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDUt
MDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjI1MjE2MSk6IEFuaW1hdGlvbiBvZiBib3gtc2hhZG93IHdpdGggYm9yZGVyLXJh
ZGl1cyBzZXQgaXMgZmxhc2h5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9pb3MvY2FyZXQtcmVjdC1hZnRlci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0
LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNiYWFiZjdiZTUxMmZlZDA4ZmZmOWIyZDYwOTQzOWI3YTVmMTlmOGYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2FyZXQtcmVjdC1hZnRl
ci1hbmltYXRpbmctZm9jdXNlZC10ZXh0LWZpZWxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgY2FyZXQgdmlldyBpcyB1cGRhdGVkIGZv
bGxvd2luZyBhIENTUyBhbmltYXRpb24uIFRvIG1hbnVhbGx5IHJ1biB0aGUgdGVzdCwgdGFwIHRo
ZSBidXR0b24gdG8gZm9jdXMgdGhlIG9mZnNjcmVlbiBpbnB1dCBmaWVsZDsgYWZ0ZXIgdGhlIGlu
cHV0IGZpZWxkIGlzIGFuaW1hdGVkIG9udG8gdGhlIHNjcmVlbiwgdGhlIGNhcmV0IHNob3VsZCBi
ZWNvbWUgdmlzaWJsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgVGhl
IGNhcmV0IGJlY2FtZSB2aXNpYmxlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFuaW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jYXJldC1yZWN0LWFmdGVyLWFu
aW1hdGluZy1mb2N1c2VkLXRleHQtZmllbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDNjM2MzYzBhMmNm
OWFiZjMyNTM3Yjk2MjZjODgxNDY3MWEwYjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NhcmV0LXJlY3QtYWZ0ZXItYW5pbWF0aW5nLWZvY3Vz
ZWQtdGV4dC1maWVsZC5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI2NvbnRhaW5lciB7CisgICAgcG9zaXRp
b246IGZpeGVkOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIHRy
YW5zZm9ybTogdHJhbnNsYXRlM2QoLTQwMHB4LCAxMDBweCwgMCk7CisgICAgdHJhbnNpdGlvbjog
YWxsIDAuNXMgZWFzZS1vdXQ7Cit9CisKK2lucHV0IHsKKyAgICBmb250LXNpemU6IDIwcHg7Cisg
ICAgd2lkdGg6IDEwMCU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgY2FyZXQgdmlldyBpcyB1cGRhdGVk
IGZvbGxvd2luZyBhIENTUyBhbmltYXRpb24uIFRvIG1hbnVhbGx5IHJ1biB0aGUgdGVzdCwgdGFw
IHRoZSBidXR0b24gdG8gZm9jdXMgdGhlIG9mZnNjcmVlbiBpbnB1dCBmaWVsZDsgYWZ0ZXIgdGhl
IGlucHV0IGZpZWxkIGlzIGFuaW1hdGVkIG9udG8gdGhlIHNjcmVlbiwgdGhlIGNhcmV0IHNob3Vs
ZCBiZWNvbWUgdmlzaWJsZS4iKTsKKworICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKKyAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoImlucHV0Iik7CisgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiYnV0dG9uIik7CisgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geworICAgICAgICBjb250YWluZXIuc3R5bGUudHJhbnNmb3JtID0gInRyYW5zbGF0ZTNk
KDFlbSwgMTAwcHgsIDApIjsKKyAgICAgICAgYnV0dG9uLnJlbW92ZSgpOworICAgICAgICBpbnB1
dC5mb2N1cygpOworICAgIH0pOworCisgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
QW5kV2FpdEZvcklucHV0U2Vzc2lvbihidXR0b24pOworCisgICAgbGV0IGNhcmV0Vmlld1JlY3Qg
PSB7fTsKKyAgICB3aGlsZSAoIWNhcmV0Vmlld1JlY3QubGVmdCB8fCBjYXJldFZpZXdSZWN0Lmxl
ZnQgPCAwIHx8ICFjYXJldFZpZXdSZWN0LnRvcCB8fCBjYXJldFZpZXdSZWN0LnRvcCA8IDApIHsK
KyAgICAgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMTAwKTsKKyAgICAgICAgY2FyZXRWaWV3
UmVjdCA9IGF3YWl0IFVJSGVscGVyLmdldFVJQ2FyZXRWaWV3UmVjdCgpOworICAgIH0KKworICAg
IHRlc3RQYXNzZWQoYFRoZSBjYXJldCBiZWNhbWUgdmlzaWJsZWApOworCisgICAgaW5wdXQuYmx1
cigpOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JLZXlib2FyZFRvSGlkZSgpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGJ1dHRvbj5U
YXAgdG8gZm9jdXM8L2J1dHRvbj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPGlucHV0Pgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>