<?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>238579</bug_id>
          
          <creation_ts>2022-03-30 16:10:03 -0700</creation_ts>
          <short_desc>Add a heuristic to identify and extract the prominent video element in element fullscreen</short_desc>
          <delta_ts>2022-03-31 22:55:15 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>238607</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1856598</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-30 16:10:03 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856619</commentid>
    <comment_count>1</comment_count>
      <attachid>456187</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-30 17:05:40 -0700</bug_when>
    <thetext>Created attachment 456187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856680</commentid>
    <comment_count>2</comment_count>
      <attachid>456202</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-30 21:41:31 -0700</bug_when>
    <thetext>Created attachment 456202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856798</commentid>
    <comment_count>3</comment_count>
      <attachid>456235</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-31 07:45:54 -0700</bug_when>
    <thetext>Created attachment 456235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856970</commentid>
    <comment_count>4</comment_count>
      <attachid>456235</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-03-31 14:16:04 -0700</bug_when>
    <thetext>Comment on attachment 456235
Patch

Nit: it appears this heuristic depends on the video element already existing in the page when fullscreen mode is entered. You may want consider a mutation observer, or listening for events bubbled up to the fullscreen element itself (like &apos;loadstart&apos;, &apos;play&apos; or &apos;pause&apos;) to trigger recalculation of this heuristic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856977</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-31 14:27:32 -0700</bug_when>
    <thetext>Thanks for the review!

(In reply to Jer Noble from comment #4)
&gt; Comment on attachment 456235 [details]
&gt; Patch
&gt; 
&gt; Nit: it appears this heuristic depends on the video element already existing
&gt; in the page when fullscreen mode is entered. You may want consider a
&gt; mutation observer, or listening for events bubbled up to the fullscreen
&gt; element itself (like &apos;loadstart&apos;, &apos;play&apos; or &apos;pause&apos;) to trigger
&gt; recalculation of this heuristic.

Indeed! That is an omission from this iteration of the heuristic (as well as the case where m_mainVideoElement is unparented while in element fullscreen mode, and replaced with a new video element).

I was initially planning to address this in a future patch by overriding HTMLMediaElement&apos;s tree insertion/removal method hooks (as well as other media-related methods), but I think the approach of listening for media-related events bubbled up to the fullscreen element is a lot more elegant — I&apos;ll go with that approach, and add a FIXME as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856994</commentid>
    <comment_count>6</comment_count>
      <attachid>456284</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-03-31 14:41:22 -0700</bug_when>
    <thetext>Created attachment 456284
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857162</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-31 22:53:59 -0700</bug_when>
    <thetext>Committed r292205 (249108@main): &lt;https://commits.webkit.org/249108@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456284.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857163</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-31 22:55:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/91146510&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456187</attachid>
            <date>2022-03-30 17:05:40 -0700</date>
            <delta_ts>2022-03-30 21:41:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238579-20220330170540.patch</filename>
            <type>text/plain</type>
            <size>13428</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMxNGY1M2YzNjY2NDJk
MmVmZmRhOTRmYTljNzhkZjM0MzQ2NWI5ZS4uNDQyODE5MmExNWFiODllYTY4YjM0Mzk4MDY1OTQ5
Zjc3NWY4MzNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAzLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGhldXJp
c3RpYyB0byBpZGVudGlmeSBhbmQgZXh0cmFjdCB0aGUgcHJvbWluZW50IHZpZGVvIGVsZW1lbnQg
aW4gZWxlbWVudCBmdWxsc2NyZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzg1NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYXJrIGEgY291cGxlIG9mIG1ldGhvZHMgYXMgV0VCQ09SRV9FWFBPUlQg
c28gdGhhdCB0aGV5IGNhbiBiZSBpbnZva2VkIGZyb20gdGhlIFdlYktpdCBsYXllci4KKyAgICAg
ICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yICh5ZXQpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKwogMjAyMi0wMy0yNiAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBzdGF0aWNfYXNz
ZXJ0IGluc3RlYWQgb2YgQ09NUElMRV9BU1NFUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWI2NWFjN2U4MjdmNzcz
Y2ViNTJjMWM4ZTFkYjJhNDZjNzZhOGU2OC4uMjlkOWI0MjJjNzc0N2UwMWEwYWY2MDVmYmRiNzRm
NWFmZGJjMjBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MyBAQAorMjAyMi0wMy0zMCAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBoZXVyaXN0
aWMgdG8gaWRlbnRpZnkgYW5kIGV4dHJhY3QgdGhlIHByb21pbmVudCB2aWRlbyBlbGVtZW50IGlu
IGVsZW1lbnQgZnVsbHNjcmVlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM4NTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGEgaGV1cmlzdGljIHRvIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyIHRoYXQg
aWRlbnRpZmllcyBhbmQga2VlcHMgdHJhY2sgb2YgdGhlIGxhcmdlc3QsIHJlbmRlcmVkIHZpZGVv
IGVsZW1lbnQKKyAgICAgICAgaW4gZWxlbWVudCBmdWxsc2NyZWVuIG1vZGUgKHRoYXQgaXMsIHRo
ZSB2aWRlbyBlbGVtZW50IHdpdGggdGhlIGxhcmdlc3QgYXJlYSB0aGF0J3MgaW5zaWRlIG9mIHRo
ZSBzdWJ0cmVlIG9mIHRoZQorICAgICAgICBmdWxsc2NyZWVuIGNvbnRhaW5lciBlbGVtZW50KS4g
V2UgY291cGxlIHRoaXMgd2l0aCBhIG1lY2hhbmlzbSB0byBkZXRlY3Qgd2hlbiBzdWNoIGEgdmlk
ZW8gaGFzIGJlZW4gcGF1c2VkIGZvciBhCisgICAgICAgIHNob3J0ICgyNTAgbXMpIGRlbGF5Lgor
CisgICAgICAgIFRoZXNlIG1lY2hhbmlzbXMgd2lsbCBiZSB1c2VkIGluIGEgZnV0dXJlIHBhdGNo
IHRvIHN1cHBvcnQgInZpZGVvIGV4dHJhY3Rpb24iIGluIGVsZW1lbnQgZnVsbHNjcmVlbi4gU2Vl
IGJlbG93CisgICAgICAgIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwOgorCisgICAgICAgIFR1cm4gV2Vi
RnVsbFNjcmVlbk1hbmFnZXIgaW50byBhbiBFdmVudExpc3RlbmVyIHN1YmNsYXNzLCBzbyB0aGF0
IHdlIGNhbiBvYnNlcnZlIHRoZSAicGxheWluZyIsICJwYXVzZSIsIGFuZAorICAgICAgICAic2Vl
a2luZyIgZXZlbnRzIG9uIHRoZSBtYWluIHZpZGVvIGVsZW1lbnQgKGlmIGl0IGV4aXN0cykuIFNl
ZSBgaGFuZGxlRXZlbnRgIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisgICAgICAgIChX
ZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpXZWJGdWxsU2NyZWVuTWFuYWdlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpleGl0RnVsbFNjcmVlbkZvckVsZW1l
bnQpOgorCisgICAgICAgIENsZWFyIG91dCB0aGUgbWFpbiB2aWRlbyBlbGVtZW50IHVwb24gZXhp
dGluZyBmdWxsc2NyZWVuLgorCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpkaWRFbnRlckZ1bGxTY3JlZW4pOgorCisgICAgICAgIEFmdGVyIHdlJ3ZlIGZpbmlzaGVkIGVu
dGVyaW5nIGVsZW1lbnQgZnVsbHNyZWVuLCB0cmF2ZXJzZSB0aGUgRE9NIGluIHNlYXJjaCBvZiB0
aGUgbGFyZ2VzdCB2aWRlbyBlbGVtZW50IChhcmVhLQorICAgICAgICB3aXNlKS4gSWYgdGhlIGNv
bnRhaW5lciBmb3IgZWxlbWVudCBmdWxsc2NyZWVuIGlzLCBpdHNlbGYsIGEgdmlkZW8gZWxlbWVu
dCwgdGhlbiBhdXRvbWF0aWNhbGx5IHRyZWF0IHRoYXQKKyAgICAgICAgZWxlbWVudCBhcyB0aGUg
bWFpbiB2aWRlby4KKworICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWFp
blZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnVsbFNjcmVlbk1hbmFnZXI6OnNjaGVkdWxlTWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW5kTWFpblZpZGVvRWxlbWVu
dEV4dHJhY3Rpb25JZk5lZWRlZCk6CisKKyAgICAgICAgRm9yIG5vdywgdGhlc2UgYXJlIGVzc2Vu
dGlhbGx5IG5vLW9wczsgYWRkIEZJWE1FJ3MgdG8gY2FsbCBpbnRvIFdlYlBhZ2UgdG8gYmVnaW4g
b3IgY2FuY2VsIHZpZGVvIGV4dHJhY3Rpb24uCisgICAgICAgIFRoZXNlIHdpbGwgYmUgaW1wbGVt
ZW50ZWQgaW4gYW4gdXBjb21pbmcgcGF0Y2gsIHRoYXQgY29ubmVjdHMgdGhpcyBlbGVtZW50IGZ1
bGxzY3JlZW4gY29kZSB0byBhIG1vcmUgZ2VuZXJpYworICAgICAgICBmdWxsc2NyZWVuIHZpZGVv
IGV4dHJhY3Rpb24gbWVjaGFuaXNtIGltcGxlbWVudGVkIGVudGlyZWx5IGluIHRoZSBjbGllbnQg
bGF5ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OnNldE1haW5W
aWRlb0VsZW1lbnQpOgorCisgICAgICAgIEFkZCBhIGhlbHBlciBtZXRob2QgdG8gc2V0IHRoZSBt
YWluIHZpZGVvIGVsZW1lbnQsIGFkZGluZyBvciByZW1vdmluZyBldmVudCBsaXN0ZW5lcnMgYXMg
bmVlZGVkLgorCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpoYW5kbGVF
dmVudCk6CisKKyAgICAgICAgV2hlbiBvYnNlcnZpbmcgYW55IG9mIHRoZSAicGxheWluZyIsICJw
YXVzZSIsIGFuZCAic2Vla2luZyIgZXZlbnRzLCB1cGRhdGUgdGhlIG1haW4gdmlkZW8gZXh0cmFj
dGlvbiB0aW1lcjsKKyAgICAgICAgdGhhdCBpcywgaWYgdGhlIG1haW4gdmlkZW8gZWxlbWVudCBp
cyBwYXVzZWQsIHJlc3RhcnQgdGhlIHRpbWVyOyBvdGhlcndpc2UsIHN0b3AgaXQgZW50aXJlbHku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIu
aDoKKwogMjAyMi0wMy0yNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVzZSBzdGF0aWNfYXNzZXJ0IGluc3RlYWQgb2YgQ09NUElMRV9BU1NFUlQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCmluZGV4IGE1MjhkMTcwNWVkYTFhMjNmNWQ5ZjEzM2Y3ZjI2ZmY1ZTNlYTVmOTAu
LjE0N2JjYmE2MDUwZGM0NWQ3NWZhZTYwNjcwNWU0MGNhZjI4MmZlYjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaApAQCAtMjE0LDcgKzIxNCw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGRvZXMgbm90IHVw
ZGF0ZSBsYXlvdXQsIGFuZCB1c2VzIGFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkuCiAgICAgV0VC
Q09SRV9FWFBPUlQgSW50UmVjdCBib3VuZGluZ0JveEluUm9vdFZpZXdDb29yZGluYXRlcygpIGNv
bnN0OwogCi0gICAgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8UmVuZGVyT2JqZWN0KiwgRmxvYXRS
ZWN0Pj4gYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCkgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8UmVuZGVyT2JqZWN0KiwgRmxvYXRS
ZWN0Pj4gYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCkgY29uc3Q7CiAKICAgICBX
RUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgYm91bmRpbmdDbGllbnRSZWN0KCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggY2IyOWVmYjNmZjllODJiNDMzYTNjZjIx
MDA5ZDY4MDJmMjkwODAwZi4uZmUxNTI3ZGNiZTg0ZGNlMDg1NmQxYWExMDcyNDU4NzEyMWE2ZWEw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTQyNSw4ICs0MjUs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXh0VHJhY2tSZWFkeVN0YXRlQ2hhbmdlZChUZXh0VHJh
Y2sqKTsKICAgICB2b2lkIHVwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2VJZk5lZWRl
ZCgpOwogCi0gICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25z
Jikgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNv
bnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFk
ZEV2ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRM
aXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAKICNpZiBF
TkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgIHZvaWQgd2Via2l0U2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKCk7CkBAIC05NTUsNyArOTU1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZVNob3VsZEF1dG9wbGF5KCk7CiAKICAgICB2b2lkIHBhdXNlQWZ0ZXJEZXRhY2hlZFRh
c2soKTsKLSAgICB2b2lkIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCk7CiAgICAgdm9p
ZCBzY2hlZHVsZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlKCk7CiAgICAgdm9pZCBwbGF5
YmFja0NvbnRyb2xzTWFuYWdlckJlaGF2aW9yUmVzdHJpY3Rpb25zVGltZXJGaXJlZCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2Ny
ZWVuTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJG
dWxsU2NyZWVuTWFuYWdlci5jcHAKaW5kZXggZWY0OTg5M2YxM2M5YzQ5YzVkMGI1OGQ0MjdiMTUz
NzZlMDQ2MWUxYy4uZDg3M2ZjOTkyNDAzMWRjMWRhYmQ3Njk2NTdmY2Q4ZWFlMzIwNTFjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVl
bk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcApAQCAtMzMsNyArMzMsOSBAQAogI2luY2x1ZGUgIldlYkZy
YW1lLmgiCiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9F
dmVudE5hbWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GdWxsc2NyZWVuTWFuYWdlci5oPgpA
QCAtNDIsNiArNDQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXJCYWNraW5nLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0
aW5ncy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9y
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyR2VzdHVyZUluZGljYXRvci5oPgogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSkKQEAgLTcxLDcgKzc0LDExIEBAIFJlZjxXZWJGdWxsU2NyZWVuTWFuYWdl
cj4gV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmNyZWF0ZShXZWJQYWdlKiBwYWdlKQogfQogCiBXZWJG
dWxsU2NyZWVuTWFuYWdlcjo6V2ViRnVsbFNjcmVlbk1hbmFnZXIoV2ViUGFnZSogcGFnZSkKLSAg
ICA6IG1fcGFnZShwYWdlKQorICAgIDogV2ViQ29yZTo6RXZlbnRMaXN0ZW5lcihXZWJDb3JlOjpF
dmVudExpc3RlbmVyOjpDUFBFdmVudExpc3RlbmVyVHlwZSkKKyAgICAsIG1fcGFnZShwYWdlKQor
I2lmIEVOQUJMRShWSURFTykKKyAgICAsIG1fbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1l
cihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWFpblZpZGVv
RWxlbWVudEV4dHJhY3Rpb25UaW1lckZpcmVkKQorI2VuZGlmCiB7CiB9CiAgICAgCkBAIC0xNTIs
NiArMTU5LDkgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JF
bGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgTE9HKEZ1bGxzY3JlZW4s
ICJXZWJGdWxsU2NyZWVuTWFuYWdlciAlcCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoJXApIC0g
ZnVsbHNjcmVlbiBlbGVtZW50ICVwIiwgdGhpcywgZWxlbWVudCwgbV9lbGVtZW50LmdldCgpKTsK
ICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChtX3BhZ2UuZ2V0KCksIGVsZW1lbnQpOworI2lmIEVOQUJMRShWSURFTykK
KyAgICBzZXRNYWluVmlkZW9FbGVtZW50KG51bGxwdHIpOworI2VuZGlmCiB9CiAKIHZvaWQgV2Vi
RnVsbFNjcmVlbk1hbmFnZXI6OndpbGxFbnRlckZ1bGxTY3JlZW4oKQpAQCAtMTkxLDYgKzIwMSwz
NSBAQCB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpkaWRFbnRlckZ1bGxTY3JlZW4oKQogICAg
IGF1dG8qIGN1cnJlbnRQbGF5YmFja0NvbnRyb2xzRWxlbWVudCA9IG1fcGFnZS0+cGxheWJhY2tT
ZXNzaW9uTWFuYWdlcigpLmN1cnJlbnRQbGF5YmFja0NvbnRyb2xzRWxlbWVudCgpOwogICAgIHNl
dFBJUFN0YW5kYnlFbGVtZW50KGR5bmFtaWNEb3duY2FzdDxIVE1MVmlkZW9FbGVtZW50PihjdXJy
ZW50UGxheWJhY2tDb250cm9sc0VsZW1lbnQpKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFZJREVP
KQorICAgIHNldE1haW5WaWRlb0VsZW1lbnQoWyZdKCkgLT4gUmVmUHRyPFdlYkNvcmU6OkhUTUxW
aWRlb0VsZW1lbnQ+IHsKKyAgICAgICAgaWYgKGF1dG8gdmlkZW8gPSBkeW5hbWljRG93bmNhc3Q8
V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudD4oKm1fZWxlbWVudCkpCisgICAgICAgICAgICByZXR1
cm4gdmlkZW87CisKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+IG1h
aW5WaWRlbzsKKyAgICAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1haW5WaWRlb0JvdW5kczsKKyAg
ICAgICAgZm9yIChhdXRvJiB2aWRlbyA6IFdlYkNvcmU6OmRlc2NlbmRhbnRzT2ZUeXBlPFdlYkNv
cmU6OkhUTUxWaWRlb0VsZW1lbnQ+KCptX2VsZW1lbnQpKSB7CisgICAgICAgICAgICBhdXRvIHJl
bmRlcmVyQW5kQm91bmRzID0gdmlkZW8uYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0
KCk7CisgICAgICAgICAgICBpZiAoIXJlbmRlcmVyQW5kQm91bmRzKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICAgICBhdXRvIFtyZW5kZXJlciwgYm91bmRzXSA9ICpyZW5k
ZXJlckFuZEJvdW5kczsKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXIgfHwgYm91bmRzLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgaWYgKGJvdW5k
cy5hcmVhKCkgPD0gbWFpblZpZGVvQm91bmRzLmFyZWEoKSkKKyAgICAgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICAgICAgbWFpblZpZGVvQm91bmRzID0gYm91bmRzOworICAgICAgICAg
ICAgbWFpblZpZGVvID0gJnZpZGVvOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYWluVmlk
ZW87CisgICAgfSgpKTsKKworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQgJiYgbV9tYWluVmlk
ZW9FbGVtZW50LT5wYXVzZWQoKSkKKyAgICAgICAgc2NoZWR1bGVNYWluVmlkZW9FbGVtZW50RXh0
cmFjdGlvbigpOworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKIH0KIAogdm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlcjo6d2lsbEV4aXRGdWxsU2NyZWVuKCkKQEAgLTI2OCw2ICszMDcsOSBAQCB2b2lk
IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpjbG9zZSgpCiAgICAgbV9jbG9zaW5nID0gdHJ1ZTsKICAg
ICBMT0coRnVsbHNjcmVlbiwgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyICVwIGNsb3NlKCkiLCB0aGlz
KTsKICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmNsb3NlRnVs
bFNjcmVlbihtX3BhZ2UuZ2V0KCkpOworI2lmIEVOQUJMRShWSURFTykKKyAgICBzZXRNYWluVmlk
ZW9FbGVtZW50KG51bGxwdHIpOworI2VuZGlmCiAgICAgbV9jbG9zaW5nID0gZmFsc2U7CiB9CiAK
QEAgLTI5Niw2ICszMzgsNzYgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6c2V0RnVsbHNj
cmVlbkNvbnRyb2xzSGlkZGVuKGJvb2wgaGlkZGVuKQogICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+
c2V0RnVsbHNjcmVlbkNvbnRyb2xzSGlkZGVuKGhpZGRlbik7CiB9CiAKK3ZvaWQgV2ViRnVsbFNj
cmVlbk1hbmFnZXI6OmhhbmRsZUV2ZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFdlYkNvcmU6OkV2ZW50JiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVklERU8pCisg
ICAgaWYgKCFtX21haW5WaWRlb0VsZW1lbnQgfHwgZXZlbnQudGFyZ2V0KCkgIT0gbV9tYWluVmlk
ZW9FbGVtZW50IHx8ICZjb250ZXh0ICE9ICZtX21haW5WaWRlb0VsZW1lbnQtPmRvY3VtZW50KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQtPnBhdXNlZCgp
KQorICAgICAgICBzY2hlZHVsZU1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKCk7CisgICAgZWxz
ZQorICAgICAgICBlbmRNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvbklmTmVlZGVkKCk7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwor
I2VuZGlmCit9CisKKyNpZiBFTkFCTEUoVklERU8pCisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXI6Om1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJGaXJlZCgpCit7CisgICAgaWYgKCFt
X21haW5WaWRlb0VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1faXNFeHRyYWN0aW5n
TWFpblZpZGVvRWxlbWVudCA9IHRydWU7CisgICAgLy8gRklYTUU6IEJlZ2luIG1haW4gdmlkZW8g
ZXh0cmFjdGlvbiBpbiBmb3IgZWxlbWVudCBmdWxsc2NyZWVuLgorfQorCit2b2lkIFdlYkZ1bGxT
Y3JlZW5NYW5hZ2VyOjpzY2hlZHVsZU1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKCkKK3sKKyAg
ICBtX21haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDI1MF9tcyk7
Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmVuZE1haW5WaWRlb0VsZW1lbnRFeHRy
YWN0aW9uSWZOZWVkZWQoKQoreworICAgIG1fbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1l
ci5zdG9wKCk7CisKKyAgICBpZiAobV9pc0V4dHJhY3RpbmdNYWluVmlkZW9FbGVtZW50KSB7Cisg
ICAgICAgIC8vIEZJWE1FOiBDYW5jZWwgdGhlIGN1cnJlbnQgdmlkZW8gZXh0cmFjdGlvbiBzZXNz
aW9uLgorICAgICAgICBtX2lzRXh0cmFjdGluZ01haW5WaWRlb0VsZW1lbnQgPSBmYWxzZTsKKyAg
ICB9Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OnNldE1haW5WaWRlb0VsZW1lbnQo
UmVmUHRyPFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+JiYgZWxlbWVudCkKK3sKKyAgICBpZiAo
ZWxlbWVudCA9PSBtX21haW5WaWRlb0VsZW1lbnQuZ2V0KCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZCBldmVudHNUb09ic2VydmUgPSB7IEZpeGVkVmVjdG9y
PEF0b21TdHJpbmc+IHsKKyAgICAgICAgV2ViQ29yZTo6ZXZlbnROYW1lcygpLnNlZWtpbmdFdmVu
dCwKKyAgICAgICAgV2ViQ29yZTo6ZXZlbnROYW1lcygpLnBsYXlpbmdFdmVudCwKKyAgICAgICAg
V2ViQ29yZTo6ZXZlbnROYW1lcygpLnBhdXNlRXZlbnQsCisgICAgfSB9OworCisgICAgaWYgKG1f
bWFpblZpZGVvRWxlbWVudCkgeworICAgICAgICBmb3IgKGF1dG8mIGV2ZW50TmFtZSA6IGV2ZW50
c1RvT2JzZXJ2ZS5nZXQoKSkKKyAgICAgICAgICAgIG1fbWFpblZpZGVvRWxlbWVudC0+cmVtb3Zl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWUsICp0aGlzLCB7IH0pOworCisgICAgICAgIGVuZE1haW5W
aWRlb0VsZW1lbnRFeHRyYWN0aW9uSWZOZWVkZWQoKTsKKyAgICB9CisKKyAgICBtX21haW5WaWRl
b0VsZW1lbnQgPSBXVEZNb3ZlKGVsZW1lbnQpOworCisgICAgaWYgKG1fbWFpblZpZGVvRWxlbWVu
dCkgeworICAgICAgICBmb3IgKGF1dG8mIGV2ZW50TmFtZSA6IGV2ZW50c1RvT2JzZXJ2ZS5nZXQo
KSkKKyAgICAgICAgICAgIG1fbWFpblZpZGVvRWxlbWVudC0+YWRkRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWUsICp0aGlzLCB7IH0pOworICAgIH0KK30KKworI2VuZGlmIC8vIEVOQUJMRShWSURFTykK
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJG
dWxsU2NyZWVuTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4v
V2ViRnVsbFNjcmVlbk1hbmFnZXIuaAppbmRleCA2N2M5ZmFiODI1ZjYyNTcwMjczNjkwZmFlMDIy
OTQxZjg4MDc3MGJjLi4xNWI5YzRlMDc3MzA4MDk5YzY2ODQ5NjgzYjcxYjM0M2I1NzJiYTFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2Ny
ZWVuTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyLmgKQEAgLTI4LDEwICsyOCwxMyBAQAogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKIAogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvRXZlbnRMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTGVuZ3RoQm94Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
KyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5l
Y3Rpb247CkBAIC00OSw3ICs1Miw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQ
YWdlOwogCi1jbGFzcyBXZWJGdWxsU2NyZWVuTWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdl
YkZ1bGxTY3JlZW5NYW5hZ2VyPiB7CitjbGFzcyBXZWJGdWxsU2NyZWVuTWFuYWdlciBmaW5hbCA6
IHB1YmxpYyBXZWJDb3JlOjpFdmVudExpc3RlbmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFdlYkZ1bGxTY3JlZW5NYW5hZ2VyPiBjcmVhdGUoV2ViUGFnZSopOwogICAgIHZpcnR1YWwgfldl
YkZ1bGxTY3JlZW5NYW5hZ2VyKCk7CkBAIC02OSw2ICs3Miw4IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgdmlkZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKTsKIAorICAgIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBXZWJDb3JlOjpFdmVudExpc3RlbmVyJiBsaXN0ZW5lcikgY29uc3QgZmluYWwgeyBy
ZXR1cm4gdGhpcyA9PSAmbGlzdGVuZXI7IH0KKwogcHJvdGVjdGVkOgogICAgIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyKFdlYlBhZ2UqKTsKIApAQCAtOTcsNiArMTAyLDIwIEBAIHByb3RlY3RlZDoKIAog
cHJpdmF0ZToKICAgICB2b2lkIGNsb3NlKCk7CisKKyAgICB2b2lkIGhhbmRsZUV2ZW50KFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXZWJDb3JlOjpFdmVudCYpIGZpbmFsOworCisj
aWYgRU5BQkxFKFZJREVPKQorICAgIHZvaWQgc2NoZWR1bGVNYWluVmlkZW9FbGVtZW50RXh0cmFj
dGlvbigpOworICAgIHZvaWQgZW5kTWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25JZk5lZWRlZCgp
OworICAgIHZvaWQgbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1lckZpcmVkKCk7CisgICAg
dm9pZCBzZXRNYWluVmlkZW9FbGVtZW50KFJlZlB0cjxXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50
PiYmKTsKKworICAgIFdlYWtQdHI8V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudD4gbV9tYWluVmlk
ZW9FbGVtZW50OworICAgIFJ1bkxvb3A6OlRpbWVyPFdlYkZ1bGxTY3JlZW5NYW5hZ2VyPiBtX21h
aW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXI7CisgICAgYm9vbCBtX2lzRXh0cmFjdGluZ01h
aW5WaWRlb0VsZW1lbnQgeyBmYWxzZSB9OworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKKwogICAg
IGJvb2wgbV9jbG9zaW5nIHsgZmFsc2UgfTsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456202</attachid>
            <date>2022-03-30 21:41:31 -0700</date>
            <delta_ts>2022-03-31 07:45:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238579-20220330214130.patch</filename>
            <type>text/plain</type>
            <size>10669</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGViNjVhYzdlODI3Zjc3M2Nl
YjUyYzFjOGUxZGIyYTQ2Yzc2YThlNjguLjI5ZDliNDIyYzc3NDdlMDFhMGFmNjA1ZmJkYjc0ZjVh
ZmRiYzIwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMjItMDMtMzAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgaGV1cmlzdGlj
IHRvIGlkZW50aWZ5IGFuZCBleHRyYWN0IHRoZSBwcm9taW5lbnQgdmlkZW8gZWxlbWVudCBpbiBl
bGVtZW50IGZ1bGxzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzODU3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhIGhldXJpc3RpYyB0byBXZWJGdWxsU2NyZWVuTWFuYWdlciB0aGF0IGlk
ZW50aWZpZXMgYW5kIGtlZXBzIHRyYWNrIG9mIHRoZSBsYXJnZXN0LCByZW5kZXJlZCB2aWRlbyBl
bGVtZW50CisgICAgICAgIGluIGVsZW1lbnQgZnVsbHNjcmVlbiBtb2RlICh0aGF0IGlzLCB0aGUg
dmlkZW8gZWxlbWVudCB3aXRoIHRoZSBsYXJnZXN0IGFyZWEgdGhhdCdzIGluc2lkZSBvZiB0aGUg
c3VidHJlZSBvZiB0aGUKKyAgICAgICAgZnVsbHNjcmVlbiBjb250YWluZXIgZWxlbWVudCkuIFdl
IGNvdXBsZSB0aGlzIHdpdGggYSBtZWNoYW5pc20gdG8gZGV0ZWN0IHdoZW4gc3VjaCBhIHZpZGVv
IGhhcyBiZWVuIHBhdXNlZCBmb3IgYQorICAgICAgICBzaG9ydCAoMjUwIG1zKSBkZWxheS4KKwor
ICAgICAgICBUaGVzZSBtZWNoYW5pc21zIHdpbGwgYmUgdXNlZCBpbiBhIGZ1dHVyZSBwYXRjaCB0
byBzdXBwb3J0ICJ2aWRlbyBleHRyYWN0aW9uIiBpbiBlbGVtZW50IGZ1bGxzY3JlZW4uIFNlZSBi
ZWxvdworICAgICAgICBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9G
dWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcDoKKworICAgICAgICBUdXJuIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyIGludG8gYW4gRXZlbnRMaXN0ZW5lciBzdWJjbGFzcywgc28gdGhhdCB3
ZSBjYW4gb2JzZXJ2ZSB0aGUgInBsYXlpbmciLCAicGF1c2UiLCBhbmQKKyAgICAgICAgInNlZWtp
bmciIGV2ZW50cyBvbiB0aGUgbWFpbiB2aWRlbyBlbGVtZW50IChpZiBpdCBleGlzdHMpLiBTZWUg
YGhhbmRsZUV2ZW50YCBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAoV2Vi
S2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6V2ViRnVsbFNjcmVlbk1hbmFnZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKworICAgICAgICBDbGVhciBvdXQgdGhlIG1haW4gdmlkZW8gZWxlbWVudCB1cG9uIGV4aXRp
bmcgZnVsbHNjcmVlbi4KKworICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6
ZGlkRW50ZXJGdWxsU2NyZWVuKToKKworICAgICAgICBBZnRlciB3ZSd2ZSBmaW5pc2hlZCBlbnRl
cmluZyBlbGVtZW50IGZ1bGxzcmVlbiwgdHJhdmVyc2UgdGhlIERPTSBpbiBzZWFyY2ggb2YgdGhl
IGxhcmdlc3QgdmlkZW8gZWxlbWVudCAoYXJlYS0KKyAgICAgICAgd2lzZSkuIElmIHRoZSBjb250
YWluZXIgZm9yIGVsZW1lbnQgZnVsbHNjcmVlbiBpcywgaXRzZWxmLCBhIHZpZGVvIGVsZW1lbnQs
IHRoZW4gYXV0b21hdGljYWxseSB0cmVhdCB0aGF0CisgICAgICAgIGVsZW1lbnQgYXMgdGhlIG1h
aW4gdmlkZW8uCisKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6Om1haW5W
aWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1
bGxTY3JlZW5NYW5hZ2VyOjpzY2hlZHVsZU1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmVuZE1haW5WaWRlb0VsZW1lbnRF
eHRyYWN0aW9uSWZOZWVkZWQpOgorCisgICAgICAgIEZvciBub3csIHRoZXNlIGFyZSBlc3NlbnRp
YWxseSBuby1vcHM7IGFkZCBGSVhNRSdzIHRvIGNhbGwgaW50byBXZWJQYWdlIHRvIGJlZ2luIG9y
IGNhbmNlbCB2aWRlbyBleHRyYWN0aW9uLgorICAgICAgICBUaGVzZSB3aWxsIGJlIGltcGxlbWVu
dGVkIGluIGFuIHVwY29taW5nIHBhdGNoLCB0aGF0IGNvbm5lY3RzIHRoaXMgZWxlbWVudCBmdWxs
c2NyZWVuIGNvZGUgdG8gYSBtb3JlIGdlbmVyaWMKKyAgICAgICAgZnVsbHNjcmVlbiB2aWRlbyBl
eHRyYWN0aW9uIG1lY2hhbmlzbSBpbXBsZW1lbnRlZCBlbnRpcmVseSBpbiB0aGUgY2xpZW50IGxh
eWVyLgorCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpzZXRNYWluVmlk
ZW9FbGVtZW50KToKKworICAgICAgICBBZGQgYSBoZWxwZXIgbWV0aG9kIHRvIHNldCB0aGUgbWFp
biB2aWRlbyBlbGVtZW50LCBhZGRpbmcgb3IgcmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzIGFzIG5l
ZWRlZC4KKworICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6aGFuZGxlRXZl
bnQpOgorCisgICAgICAgIFdoZW4gb2JzZXJ2aW5nIGFueSBvZiB0aGUgInBsYXlpbmciLCAicGF1
c2UiLCBhbmQgInNlZWtpbmciIGV2ZW50cywgdXBkYXRlIHRoZSBtYWluIHZpZGVvIGV4dHJhY3Rp
b24gdGltZXI7CisgICAgICAgIHRoYXQgaXMsIGlmIHRoZSBtYWluIHZpZGVvIGVsZW1lbnQgaXMg
cGF1c2VkLCByZXN0YXJ0IHRoZSB0aW1lcjsgb3RoZXJ3aXNlLCBzdG9wIGl0IGVudGlyZWx5Lgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmg6
CisKIDIwMjItMDMtMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVc2Ugc3RhdGljX2Fzc2VydCBpbnN0ZWFkIG9mIENPTVBJTEVfQVNTRVJUCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2Ny
ZWVuTWFuYWdlci5jcHAKaW5kZXggZWY0OTg5M2YxM2M5YzQ5YzVkMGI1OGQ0MjdiMTUzNzZlMDQ2
MWUxYy4uNzUxNDAwZWVjMmM5ODk0YmFiOGI0MDc0MjIyOWVhNzEzMTJlOGE2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxT
Y3JlZW5NYW5hZ2VyLmNwcApAQCAtMzMsNyArMzMsOSBAQAogI2luY2x1ZGUgIldlYkZyYW1lLmgi
CiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9FdmVudE5h
bWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJh
bWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GdWxsc2NyZWVuTWFuYWdlci5oPgpAQCAtNDIs
NiArNDQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXJCYWNraW5nLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvVHlwZWRFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Vc2VyR2VzdHVyZUluZGljYXRvci5oPgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSkKQEAgLTcxLDcgKzc0LDExIEBAIFJlZjxXZWJGdWxsU2NyZWVuTWFuYWdlcj4gV2Vi
RnVsbFNjcmVlbk1hbmFnZXI6OmNyZWF0ZShXZWJQYWdlKiBwYWdlKQogfQogCiBXZWJGdWxsU2Ny
ZWVuTWFuYWdlcjo6V2ViRnVsbFNjcmVlbk1hbmFnZXIoV2ViUGFnZSogcGFnZSkKLSAgICA6IG1f
cGFnZShwYWdlKQorICAgIDogV2ViQ29yZTo6RXZlbnRMaXN0ZW5lcihXZWJDb3JlOjpFdmVudExp
c3RlbmVyOjpDUFBFdmVudExpc3RlbmVyVHlwZSkKKyAgICAsIG1fcGFnZShwYWdlKQorI2lmIEVO
QUJMRShWSURFTykKKyAgICAsIG1fbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1lcihSdW5M
b29wOjptYWluKCksIHRoaXMsICZXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWFpblZpZGVvRWxlbWVu
dEV4dHJhY3Rpb25UaW1lckZpcmVkKQorI2VuZGlmCiB7CiB9CiAgICAgCkBAIC0xNTIsNiArMTU5
LDkgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJG
dWxsU2NyZWVuTWFuYWdlciAlcCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoJXApIC0gZnVsbHNj
cmVlbiBlbGVtZW50ICVwIiwgdGhpcywgZWxlbWVudCwgbV9lbGVtZW50LmdldCgpKTsKICAgICBt
X3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChtX3BhZ2UuZ2V0KCksIGVsZW1lbnQpOworI2lmIEVOQUJMRShWSURFTykKKyAgICBz
ZXRNYWluVmlkZW9FbGVtZW50KG51bGxwdHIpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViRnVsbFNj
cmVlbk1hbmFnZXI6OndpbGxFbnRlckZ1bGxTY3JlZW4oKQpAQCAtMTkxLDYgKzIwMSwzNSBAQCB2
b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpkaWRFbnRlckZ1bGxTY3JlZW4oKQogICAgIGF1dG8q
IGN1cnJlbnRQbGF5YmFja0NvbnRyb2xzRWxlbWVudCA9IG1fcGFnZS0+cGxheWJhY2tTZXNzaW9u
TWFuYWdlcigpLmN1cnJlbnRQbGF5YmFja0NvbnRyb2xzRWxlbWVudCgpOwogICAgIHNldFBJUFN0
YW5kYnlFbGVtZW50KGR5bmFtaWNEb3duY2FzdDxIVE1MVmlkZW9FbGVtZW50PihjdXJyZW50UGxh
eWJhY2tDb250cm9sc0VsZW1lbnQpKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFZJREVPKQorICAg
IHNldE1haW5WaWRlb0VsZW1lbnQoWyZdKCkgLT4gUmVmUHRyPFdlYkNvcmU6OkhUTUxWaWRlb0Vs
ZW1lbnQ+IHsKKyAgICAgICAgaWYgKGF1dG8gdmlkZW8gPSBkeW5hbWljRG93bmNhc3Q8V2ViQ29y
ZTo6SFRNTFZpZGVvRWxlbWVudD4oKm1fZWxlbWVudCkpCisgICAgICAgICAgICByZXR1cm4gdmlk
ZW87CisKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+IG1haW5WaWRl
bzsKKyAgICAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1haW5WaWRlb0JvdW5kczsKKyAgICAgICAg
Zm9yIChhdXRvJiB2aWRlbyA6IFdlYkNvcmU6OmRlc2NlbmRhbnRzT2ZUeXBlPFdlYkNvcmU6OkhU
TUxWaWRlb0VsZW1lbnQ+KCptX2VsZW1lbnQpKSB7CisgICAgICAgICAgICBhdXRvIHJlbmRlcmVy
QW5kQm91bmRzID0gdmlkZW8uYm91bmRpbmdBYnNvbHV0ZVJlY3RXaXRob3V0TGF5b3V0KCk7Cisg
ICAgICAgICAgICBpZiAoIXJlbmRlcmVyQW5kQm91bmRzKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgICAgICBhdXRvIFtyZW5kZXJlciwgYm91bmRzXSA9ICpyZW5kZXJlckFu
ZEJvdW5kczsKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXIgfHwgYm91bmRzLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgaWYgKGJvdW5kcy5hcmVh
KCkgPD0gbWFpblZpZGVvQm91bmRzLmFyZWEoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICAgICAgbWFpblZpZGVvQm91bmRzID0gYm91bmRzOworICAgICAgICAgICAgbWFp
blZpZGVvID0gJnZpZGVvOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYWluVmlkZW87Cisg
ICAgfSgpKTsKKworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQgJiYgbV9tYWluVmlkZW9FbGVt
ZW50LT5wYXVzZWQoKSkKKyAgICAgICAgc2NoZWR1bGVNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlv
bigpOworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6d2lsbEV4aXRGdWxsU2NyZWVuKCkKQEAgLTI2OCw2ICszMDcsOSBAQCB2b2lkIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyOjpjbG9zZSgpCiAgICAgbV9jbG9zaW5nID0gdHJ1ZTsKICAgICBMT0co
RnVsbHNjcmVlbiwgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyICVwIGNsb3NlKCkiLCB0aGlzKTsKICAg
ICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmNsb3NlRnVsbFNjcmVl
bihtX3BhZ2UuZ2V0KCkpOworI2lmIEVOQUJMRShWSURFTykKKyAgICBzZXRNYWluVmlkZW9FbGVt
ZW50KG51bGxwdHIpOworI2VuZGlmCiAgICAgbV9jbG9zaW5nID0gZmFsc2U7CiB9CiAKQEAgLTI5
Niw2ICszMzgsNzYgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6c2V0RnVsbHNjcmVlbkNv
bnRyb2xzSGlkZGVuKGJvb2wgaGlkZGVuKQogICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+c2V0RnVs
bHNjcmVlbkNvbnRyb2xzSGlkZGVuKGhpZGRlbik7CiB9CiAKK3ZvaWQgV2ViRnVsbFNjcmVlbk1h
bmFnZXI6OmhhbmRsZUV2ZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFdlYkNvcmU6OkV2ZW50JiBldmVudCkKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgaWYg
KCFtX21haW5WaWRlb0VsZW1lbnQgfHwgZXZlbnQudGFyZ2V0KCkgIT0gbV9tYWluVmlkZW9FbGVt
ZW50IHx8ICZjb250ZXh0ICE9ICZtX21haW5WaWRlb0VsZW1lbnQtPmRvY3VtZW50KCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQtPnBhdXNlZCgpKQorICAg
ICAgICBzY2hlZHVsZU1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKCk7CisgICAgZWxzZQorICAg
ICAgICBlbmRNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvbklmTmVlZGVkKCk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShldmVudCk7CisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworI2VuZGlm
Cit9CisKKyNpZiBFTkFCTEUoVklERU8pCisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6Om1h
aW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJGaXJlZCgpCit7CisgICAgaWYgKCFtX21haW5W
aWRlb0VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1faXNFeHRyYWN0aW5nTWFpblZp
ZGVvRWxlbWVudCA9IHRydWU7CisgICAgLy8gRklYTUU6IEJlZ2luIG1haW4gdmlkZW8gZXh0cmFj
dGlvbiBpbiBmb3IgZWxlbWVudCBmdWxsc2NyZWVuLgorfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5N
YW5hZ2VyOjpzY2hlZHVsZU1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKCkKK3sKKyAgICBtX21h
aW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDI1MF9tcyk7Cit9CisK
K3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmVuZE1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9u
SWZOZWVkZWQoKQoreworICAgIG1fbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1lci5zdG9w
KCk7CisKKyAgICBpZiAobV9pc0V4dHJhY3RpbmdNYWluVmlkZW9FbGVtZW50KSB7CisgICAgICAg
IC8vIEZJWE1FOiBDYW5jZWwgdGhlIGN1cnJlbnQgdmlkZW8gZXh0cmFjdGlvbiBzZXNzaW9uLgor
ICAgICAgICBtX2lzRXh0cmFjdGluZ01haW5WaWRlb0VsZW1lbnQgPSBmYWxzZTsKKyAgICB9Cit9
CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OnNldE1haW5WaWRlb0VsZW1lbnQoUmVmUHRy
PFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+JiYgZWxlbWVudCkKK3sKKyAgICBpZiAoZWxlbWVu
dCA9PSBtX21haW5WaWRlb0VsZW1lbnQuZ2V0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZCBldmVudHNUb09ic2VydmUgPSBzdGQ6OmFycmF5IHsKKyAgICAg
ICAgV2ViQ29yZTo6ZXZlbnROYW1lcygpLnNlZWtpbmdFdmVudCwKKyAgICAgICAgV2ViQ29yZTo6
ZXZlbnROYW1lcygpLnBsYXlpbmdFdmVudCwKKyAgICAgICAgV2ViQ29yZTo6ZXZlbnROYW1lcygp
LnBhdXNlRXZlbnQsCisgICAgfTsKKworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQpIHsKKyAg
ICAgICAgZm9yIChhdXRvJiBldmVudE5hbWUgOiBldmVudHNUb09ic2VydmUuZ2V0KCkpCisgICAg
ICAgICAgICBtX21haW5WaWRlb0VsZW1lbnQtPnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
LCAqdGhpcywgeyB9KTsKKworICAgICAgICBlbmRNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvbklm
TmVlZGVkKCk7CisgICAgfQorCisgICAgbV9tYWluVmlkZW9FbGVtZW50ID0gV1RGTW92ZShlbGVt
ZW50KTsKKworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQpIHsKKyAgICAgICAgZm9yIChhdXRv
JiBldmVudE5hbWUgOiBldmVudHNUb09ic2VydmUuZ2V0KCkpCisgICAgICAgICAgICBtX21haW5W
aWRlb0VsZW1lbnQtPmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAqdGhpcywgeyB9KTsKKyAg
ICB9Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoVklERU8pCisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgK
aW5kZXggNjdjOWZhYjgyNWY2MjU3MDI3MzY5MGZhZTAyMjk0MWY4ODA3NzBiYy4uMTViOWM0ZTA3
NzMwODA5OWM2Njg0OTY4M2I3MWIzNDNiNTcyYmExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5oCkBA
IC0yOCwxMCArMjgsMTMgQEAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAKICNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0V2ZW50TGlzdGVu
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xl
bmd0aEJveC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwpAQCAtNDksNyArNTIsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgV2ViRnVsbFNj
cmVlbk1hbmFnZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJGdWxsU2NyZWVuTWFuYWdlcj4gewor
Y2xhc3MgV2ViRnVsbFNjcmVlbk1hbmFnZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6RXZlbnRM
aXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJGdWxsU2NyZWVuTWFuYWdlcj4g
Y3JlYXRlKFdlYlBhZ2UqKTsKICAgICB2aXJ0dWFsIH5XZWJGdWxsU2NyZWVuTWFuYWdlcigpOwpA
QCAtNjksNiArNzIsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5hZ2Vy
RGlkQ2hhbmdlKCk7CiAKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgV2ViQ29yZTo6RXZlbnRM
aXN0ZW5lciYgbGlzdGVuZXIpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRoaXMgPT0gJmxpc3RlbmVy
OyB9CisKIHByb3RlY3RlZDoKICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlcihXZWJQYWdlKik7CiAK
QEAgLTk3LDYgKzEwMiwyMCBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjbG9z
ZSgpOworCisgICAgdm9pZCBoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgV2ViQ29yZTo6RXZlbnQmKSBmaW5hbDsKKworI2lmIEVOQUJMRShWSURFTykKKyAgICB2
b2lkIHNjaGVkdWxlTWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb24oKTsKKyAgICB2b2lkIGVuZE1h
aW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uSWZOZWVkZWQoKTsKKyAgICB2b2lkIG1haW5WaWRlb0Vs
ZW1lbnRFeHRyYWN0aW9uVGltZXJGaXJlZCgpOworICAgIHZvaWQgc2V0TWFpblZpZGVvRWxlbWVu
dChSZWZQdHI8V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudD4mJik7CisKKyAgICBXZWFrUHRyPFdl
YkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+IG1fbWFpblZpZGVvRWxlbWVudDsKKyAgICBSdW5Mb29w
OjpUaW1lcjxXZWJGdWxsU2NyZWVuTWFuYWdlcj4gbV9tYWluVmlkZW9FbGVtZW50RXh0cmFjdGlv
blRpbWVyOworICAgIGJvb2wgbV9pc0V4dHJhY3RpbmdNYWluVmlkZW9FbGVtZW50IHsgZmFsc2Ug
fTsKKyNlbmRpZiAvLyBFTkFCTEUoVklERU8pCisKICAgICBib29sIG1fY2xvc2luZyB7IGZhbHNl
IH07CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456235</attachid>
            <date>2022-03-31 07:45:54 -0700</date>
            <delta_ts>2022-03-31 14:16:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238579-20220331074553.patch</filename>
            <type>text/plain</type>
            <size>13550</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMxNGY1M2YzNjY2NDJk
MmVmZmRhOTRmYTljNzhkZjM0MzQ2NWI5ZS4uMjcyMjk0Y2I2ZTI3ZGQ4NjRhZjE1NWMzMjkwN2Fl
MmRmNTZjMjUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGhldXJp
c3RpYyB0byBpZGVudGlmeSBhbmQgZXh0cmFjdCB0aGUgcHJvbWluZW50IHZpZGVvIGVsZW1lbnQg
aW4gZWxlbWVudCBmdWxsc2NyZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzg1NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYXJrIGEgY291cGxlIG9mIG1ldGhvZHMgYXMgV0VCQ09SRV9FWFBPUlQg
c28gdGhhdCB0aGV5IGNhbiBiZSBpbnZva2VkIGZyb20gdGhlIFdlYktpdCBsYXllci4KKyAgICAg
ICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yICh5ZXQpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKworICAgICAgICBEcml2ZS1i
eS1maXg6IGFsc28gcmVtb3ZlIGFuICh1bnVzZWQpIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHdpdGgg
bm8gaW1wbGVtZW50YXRpb24KKyAgICAgICAgKGB1cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdl
cigpYCkuCisKIDIwMjItMDMtMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
IAogICAgICAgICBVc2Ugc3RhdGljX2Fzc2VydCBpbnN0ZWFkIG9mIENPTVBJTEVfQVNTRVJUCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IGViNjVhYzdlODI3Zjc3M2NlYjUyYzFjOGUxZGIyYTQ2Yzc2YThlNjguLjI5ZDli
NDIyYzc3NDdlMDFhMGFmNjA1ZmJkYjc0ZjVhZmRiYzIwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NTMgQEAKKzIwMjItMDMtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIGEgaGV1cmlzdGljIHRvIGlkZW50aWZ5IGFuZCBleHRyYWN0IHRoZSBw
cm9taW5lbnQgdmlkZW8gZWxlbWVudCBpbiBlbGVtZW50IGZ1bGxzY3JlZW4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODU3OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGhldXJpc3RpYyB0byBX
ZWJGdWxsU2NyZWVuTWFuYWdlciB0aGF0IGlkZW50aWZpZXMgYW5kIGtlZXBzIHRyYWNrIG9mIHRo
ZSBsYXJnZXN0LCByZW5kZXJlZCB2aWRlbyBlbGVtZW50CisgICAgICAgIGluIGVsZW1lbnQgZnVs
bHNjcmVlbiBtb2RlICh0aGF0IGlzLCB0aGUgdmlkZW8gZWxlbWVudCB3aXRoIHRoZSBsYXJnZXN0
IGFyZWEgdGhhdCdzIGluc2lkZSBvZiB0aGUgc3VidHJlZSBvZiB0aGUKKyAgICAgICAgZnVsbHNj
cmVlbiBjb250YWluZXIgZWxlbWVudCkuIFdlIGNvdXBsZSB0aGlzIHdpdGggYSBtZWNoYW5pc20g
dG8gZGV0ZWN0IHdoZW4gc3VjaCBhIHZpZGVvIGhhcyBiZWVuIHBhdXNlZCBmb3IgYQorICAgICAg
ICBzaG9ydCAoMjUwIG1zKSBkZWxheS4KKworICAgICAgICBUaGVzZSBtZWNoYW5pc21zIHdpbGwg
YmUgdXNlZCBpbiBhIGZ1dHVyZSBwYXRjaCB0byBzdXBwb3J0ICJ2aWRlbyBleHRyYWN0aW9uIiBp
biBlbGVtZW50IGZ1bGxzY3JlZW4uIFNlZSBiZWxvdworICAgICAgICBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
LmNwcDoKKworICAgICAgICBUdXJuIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyIGludG8gYW4gRXZlbnRM
aXN0ZW5lciBzdWJjbGFzcywgc28gdGhhdCB3ZSBjYW4gb2JzZXJ2ZSB0aGUgInBsYXlpbmciLCAi
cGF1c2UiLCBhbmQKKyAgICAgICAgInNlZWtpbmciIGV2ZW50cyBvbiB0aGUgbWFpbiB2aWRlbyBl
bGVtZW50IChpZiBpdCBleGlzdHMpLiBTZWUgYGhhbmRsZUV2ZW50YCBiZWxvdyBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4KKworICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6V2Vi
RnVsbFNjcmVlbk1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdl
cjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKworICAgICAgICBDbGVhciBvdXQgdGhlIG1h
aW4gdmlkZW8gZWxlbWVudCB1cG9uIGV4aXRpbmcgZnVsbHNjcmVlbi4KKworICAgICAgICAoV2Vi
S2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsU2NyZWVuKToKKworICAgICAg
ICBBZnRlciB3ZSd2ZSBmaW5pc2hlZCBlbnRlcmluZyBlbGVtZW50IGZ1bGxzcmVlbiwgdHJhdmVy
c2UgdGhlIERPTSBpbiBzZWFyY2ggb2YgdGhlIGxhcmdlc3QgdmlkZW8gZWxlbWVudCAoYXJlYS0K
KyAgICAgICAgd2lzZSkuIElmIHRoZSBjb250YWluZXIgZm9yIGVsZW1lbnQgZnVsbHNjcmVlbiBp
cywgaXRzZWxmLCBhIHZpZGVvIGVsZW1lbnQsIHRoZW4gYXV0b21hdGljYWxseSB0cmVhdCB0aGF0
CisgICAgICAgIGVsZW1lbnQgYXMgdGhlIG1haW4gdmlkZW8uCisKKyAgICAgICAgKFdlYktpdDo6
V2ViRnVsbFNjcmVlbk1hbmFnZXI6Om1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJGaXJl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpzY2hlZHVsZU1haW5W
aWRlb0VsZW1lbnRFeHRyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1h
bmFnZXI6OmVuZE1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uSWZOZWVkZWQpOgorCisgICAgICAg
IEZvciBub3csIHRoZXNlIGFyZSBlc3NlbnRpYWxseSBuby1vcHM7IGFkZCBGSVhNRSdzIHRvIGNh
bGwgaW50byBXZWJQYWdlIHRvIGJlZ2luIG9yIGNhbmNlbCB2aWRlbyBleHRyYWN0aW9uLgorICAg
ICAgICBUaGVzZSB3aWxsIGJlIGltcGxlbWVudGVkIGluIGFuIHVwY29taW5nIHBhdGNoLCB0aGF0
IGNvbm5lY3RzIHRoaXMgZWxlbWVudCBmdWxsc2NyZWVuIGNvZGUgdG8gYSBtb3JlIGdlbmVyaWMK
KyAgICAgICAgZnVsbHNjcmVlbiB2aWRlbyBleHRyYWN0aW9uIG1lY2hhbmlzbSBpbXBsZW1lbnRl
ZCBlbnRpcmVseSBpbiB0aGUgY2xpZW50IGxheWVyLgorCisgICAgICAgIChXZWJLaXQ6OldlYkZ1
bGxTY3JlZW5NYW5hZ2VyOjpzZXRNYWluVmlkZW9FbGVtZW50KToKKworICAgICAgICBBZGQgYSBo
ZWxwZXIgbWV0aG9kIHRvIHNldCB0aGUgbWFpbiB2aWRlbyBlbGVtZW50LCBhZGRpbmcgb3IgcmVt
b3ZpbmcgZXZlbnQgbGlzdGVuZXJzIGFzIG5lZWRlZC4KKworICAgICAgICAoV2ViS2l0OjpXZWJG
dWxsU2NyZWVuTWFuYWdlcjo6aGFuZGxlRXZlbnQpOgorCisgICAgICAgIFdoZW4gb2JzZXJ2aW5n
IGFueSBvZiB0aGUgInBsYXlpbmciLCAicGF1c2UiLCBhbmQgInNlZWtpbmciIGV2ZW50cywgdXBk
YXRlIHRoZSBtYWluIHZpZGVvIGV4dHJhY3Rpb24gdGltZXI7CisgICAgICAgIHRoYXQgaXMsIGlm
IHRoZSBtYWluIHZpZGVvIGVsZW1lbnQgaXMgcGF1c2VkLCByZXN0YXJ0IHRoZSB0aW1lcjsgb3Ro
ZXJ3aXNlLCBzdG9wIGl0IGVudGlyZWx5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2Ny
ZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmg6CisKIDIwMjItMDMtMjYgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ugc3RhdGljX2Fzc2VydCBpbnN0ZWFk
IG9mIENPTVBJTEVfQVNTRVJUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBhNTI4ZDE3MDVlZGExYTIz
ZjVkOWYxMzNmN2YyNmZmNWUzZWE1ZjkwLi4xNDdiY2JhNjA1MGRjNDVkNzVmYWU2MDY3MDVlNDBj
YWYyODJmZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIxNCw3ICsyMTQsNyBAQCBwdWJsaWM6
CiAgICAgLy8gVGhpcyBkb2VzIG5vdCB1cGRhdGUgbGF5b3V0LCBhbmQgdXNlcyBhYnNvbHV0ZUJv
dW5kaW5nQm94UmVjdCgpLgogICAgIFdFQkNPUkVfRVhQT1JUIEludFJlY3QgYm91bmRpbmdCb3hJ
blJvb3RWaWV3Q29vcmRpbmF0ZXMoKSBjb25zdDsKIAotICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpw
YWlyPFJlbmRlck9iamVjdCosIEZsb2F0UmVjdD4+IGJvdW5kaW5nQWJzb2x1dGVSZWN0V2l0aG91
dExheW91dCgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8c3RkOjpw
YWlyPFJlbmRlck9iamVjdCosIEZsb2F0UmVjdD4+IGJvdW5kaW5nQWJzb2x1dGVSZWN0V2l0aG91
dExheW91dCgpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IGJvdW5kaW5n
Q2xpZW50UmVjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4
IGNiMjllZmIzZmY5ZTgyYjQzM2EzY2YyMTAwOWQ2ODAyZjI5MDgwMGYuLmZlMTUyN2RjYmU4NGRj
ZTA4NTZkMWFhMTA3MjQ1ODcxMjFhNmVhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCkBAIC00MjUsOCArNDI1LDggQEAgcHVibGljOgogICAgIHZvaWQgdGV4dFRyYWNr
UmVhZHlTdGF0ZUNoYW5nZWQoVGV4dFRyYWNrKik7CiAgICAgdm9pZCB1cGRhdGVUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbkltYWdlSWZOZWVkZWQoKTsKIAotICAgIGJvb2wgYWRkRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25z
dCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJyaWRlOwotICAgIGJvb2wgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBj
b25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJyaWRlOworICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxF
dmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJyaWRl
OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0
aW9ucyYpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkK
ICAgICB2b2lkIHdlYmtpdFNob3dQbGF5YmFja1RhcmdldFBpY2tlcigpOwpAQCAtOTU1LDcgKzk1
NSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVTaG91bGRBdXRvcGxheSgpOwogCiAgICAg
dm9pZCBwYXVzZUFmdGVyRGV0YWNoZWRUYXNrKCk7Ci0gICAgdm9pZCB1cGRhdGVQbGF5YmFja0Nv
bnRyb2xzTWFuYWdlcigpOwogICAgIHZvaWQgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdl
clVwZGF0ZSgpOwogICAgIHZvaWQgcGxheWJhY2tDb250cm9sc01hbmFnZXJCZWhhdmlvclJlc3Ry
aWN0aW9uc1RpbWVyRmlyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCmluZGV4IGVmNDk4
OTNmMTNjOWM0OWM1ZDBiNThkNDI3YjE1Mzc2ZTA0NjFlMWMuLjc1MTQwMGVlYzJjOTg5NGJhYjhi
NDA3NDIyMjllYTcxMzEyZThhNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKQEAgLTMzLDcg
KzMzLDkgQEAKICNpbmNsdWRlICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5N
YW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2UuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xv
ci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRXZlbnROYW1lcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRnVsbHNjcmVlbk1hbmFnZXIuaD4KQEAgLTQyLDYgKzQ0LDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1JlbmRlckxheWVyQmFja2luZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVmlldy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1R5cGVk
RWxlbWVudERlc2NlbmRhbnRJdGVyYXRvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckdlc3R1
cmVJbmRpY2F0b3IuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShN
QUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCkBAIC03MSw3ICs3NCwxMSBA
QCBSZWY8V2ViRnVsbFNjcmVlbk1hbmFnZXI+IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpjcmVhdGUo
V2ViUGFnZSogcGFnZSkKIH0KIAogV2ViRnVsbFNjcmVlbk1hbmFnZXI6OldlYkZ1bGxTY3JlZW5N
YW5hZ2VyKFdlYlBhZ2UqIHBhZ2UpCi0gICAgOiBtX3BhZ2UocGFnZSkKKyAgICA6IFdlYkNvcmU6
OkV2ZW50TGlzdGVuZXIoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lcjo6Q1BQRXZlbnRMaXN0ZW5lclR5
cGUpCisgICAgLCBtX3BhZ2UocGFnZSkKKyNpZiBFTkFCTEUoVklERU8pCisgICAgLCBtX21haW5W
aWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViRnVs
bFNjcmVlbk1hbmFnZXI6Om1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJGaXJlZCkKKyNl
bmRpZgogewogfQogICAgIApAQCAtMTUyLDYgKzE1OSw5IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1h
bmFnZXI6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50
KQogewogICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViRnVsbFNjcmVlbk1hbmFnZXIgJXAgZXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KCVwKSAtIGZ1bGxzY3JlZW4gZWxlbWVudCAlcCIsIHRoaXMsIGVs
ZW1lbnQsIG1fZWxlbWVudC5nZXQoKSk7CiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUZ1bGxT
Y3JlZW5DbGllbnQoKS5leGl0RnVsbFNjcmVlbkZvckVsZW1lbnQobV9wYWdlLmdldCgpLCBlbGVt
ZW50KTsKKyNpZiBFTkFCTEUoVklERU8pCisgICAgc2V0TWFpblZpZGVvRWxlbWVudChudWxscHRy
KTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjp3aWxsRW50ZXJGdWxs
U2NyZWVuKCkKQEAgLTE5MSw2ICsyMDEsMzUgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6
ZGlkRW50ZXJGdWxsU2NyZWVuKCkKICAgICBhdXRvKiBjdXJyZW50UGxheWJhY2tDb250cm9sc0Vs
ZW1lbnQgPSBtX3BhZ2UtPnBsYXliYWNrU2Vzc2lvbk1hbmFnZXIoKS5jdXJyZW50UGxheWJhY2tD
b250cm9sc0VsZW1lbnQoKTsKICAgICBzZXRQSVBTdGFuZGJ5RWxlbWVudChkeW5hbWljRG93bmNh
c3Q8SFRNTFZpZGVvRWxlbWVudD4oY3VycmVudFBsYXliYWNrQ29udHJvbHNFbGVtZW50KSk7CiAj
ZW5kaWYKKworI2lmIEVOQUJMRShWSURFTykKKyAgICBzZXRNYWluVmlkZW9FbGVtZW50KFsmXSgp
IC0+IFJlZlB0cjxXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50PiB7CisgICAgICAgIGlmIChhdXRv
IHZpZGVvID0gZHluYW1pY0Rvd25jYXN0PFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+KCptX2Vs
ZW1lbnQpKQorICAgICAgICAgICAgcmV0dXJuIHZpZGVvOworCisgICAgICAgIFJlZlB0cjxXZWJD
b3JlOjpIVE1MVmlkZW9FbGVtZW50PiBtYWluVmlkZW87CisgICAgICAgIFdlYkNvcmU6OkZsb2F0
UmVjdCBtYWluVmlkZW9Cb3VuZHM7CisgICAgICAgIGZvciAoYXV0byYgdmlkZW8gOiBXZWJDb3Jl
OjpkZXNjZW5kYW50c09mVHlwZTxXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50PigqbV9lbGVtZW50
KSkgeworICAgICAgICAgICAgYXV0byByZW5kZXJlckFuZEJvdW5kcyA9IHZpZGVvLmJvdW5kaW5n
QWJzb2x1dGVSZWN0V2l0aG91dExheW91dCgpOworICAgICAgICAgICAgaWYgKCFyZW5kZXJlckFu
ZEJvdW5kcykKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgYXV0byBb
cmVuZGVyZXIsIGJvdW5kc10gPSAqcmVuZGVyZXJBbmRCb3VuZHM7CisgICAgICAgICAgICBpZiAo
IXJlbmRlcmVyIHx8IGJvdW5kcy5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgICAgIGlmIChib3VuZHMuYXJlYSgpIDw9IG1haW5WaWRlb0JvdW5kcy5hcmVh
KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIG1haW5WaWRlb0Jv
dW5kcyA9IGJvdW5kczsKKyAgICAgICAgICAgIG1haW5WaWRlbyA9ICZ2aWRlbzsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gbWFpblZpZGVvOworICAgIH0oKSk7CisKKyAgICBpZiAobV9tYWlu
VmlkZW9FbGVtZW50ICYmIG1fbWFpblZpZGVvRWxlbWVudC0+cGF1c2VkKCkpCisgICAgICAgIHNj
aGVkdWxlTWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb24oKTsKKyNlbmRpZiAvLyBFTkFCTEUoVklE
RU8pCiB9CiAKIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OndpbGxFeGl0RnVsbFNjcmVlbigp
CkBAIC0yNjgsNiArMzA3LDkgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6Y2xvc2UoKQog
ICAgIG1fY2xvc2luZyA9IHRydWU7CiAgICAgTE9HKEZ1bGxzY3JlZW4sICJXZWJGdWxsU2NyZWVu
TWFuYWdlciAlcCBjbG9zZSgpIiwgdGhpcyk7CiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUZ1
bGxTY3JlZW5DbGllbnQoKS5jbG9zZUZ1bGxTY3JlZW4obV9wYWdlLmdldCgpKTsKKyNpZiBFTkFC
TEUoVklERU8pCisgICAgc2V0TWFpblZpZGVvRWxlbWVudChudWxscHRyKTsKKyNlbmRpZgogICAg
IG1fY2xvc2luZyA9IGZhbHNlOwogfQogCkBAIC0yOTYsNiArMzM4LDc2IEBAIHZvaWQgV2ViRnVs
bFNjcmVlbk1hbmFnZXI6OnNldEZ1bGxzY3JlZW5Db250cm9sc0hpZGRlbihib29sIGhpZGRlbikK
ICAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPnNldEZ1bGxzY3JlZW5Db250cm9sc0hpZGRlbihoaWRk
ZW4pOwogfQogCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpoYW5kbGVFdmVudChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBXZWJDb3JlOjpFdmVudCYgZXZlbnQp
Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGlmICghbV9tYWluVmlkZW9FbGVtZW50IHx8IGV2
ZW50LnRhcmdldCgpICE9IG1fbWFpblZpZGVvRWxlbWVudCB8fCAmY29udGV4dCAhPSAmbV9tYWlu
VmlkZW9FbGVtZW50LT5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9t
YWluVmlkZW9FbGVtZW50LT5wYXVzZWQoKSkKKyAgICAgICAgc2NoZWR1bGVNYWluVmlkZW9FbGVt
ZW50RXh0cmFjdGlvbigpOworICAgIGVsc2UKKyAgICAgICAgZW5kTWFpblZpZGVvRWxlbWVudEV4
dHJhY3Rpb25JZk5lZWRlZCgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnQpOworICAg
IFVOVVNFRF9QQVJBTShjb250ZXh0KTsKKyNlbmRpZgorfQorCisjaWYgRU5BQkxFKFZJREVPKQor
Cit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjptYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRp
bWVyRmlyZWQoKQoreworICAgIGlmICghbV9tYWluVmlkZW9FbGVtZW50KQorICAgICAgICByZXR1
cm47CisKKyAgICBtX2lzRXh0cmFjdGluZ01haW5WaWRlb0VsZW1lbnQgPSB0cnVlOworICAgIC8v
IEZJWE1FOiBCZWdpbiBtYWluIHZpZGVvIGV4dHJhY3Rpb24gaW4gZm9yIGVsZW1lbnQgZnVsbHNj
cmVlbi4KK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6c2NoZWR1bGVNYWluVmlkZW9F
bGVtZW50RXh0cmFjdGlvbigpCit7CisgICAgbV9tYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRp
bWVyLnN0YXJ0T25lU2hvdCgyNTBfbXMpOworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjplbmRNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvbklmTmVlZGVkKCkKK3sKKyAgICBtX21haW5W
aWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXIuc3RvcCgpOworCisgICAgaWYgKG1faXNFeHRyYWN0
aW5nTWFpblZpZGVvRWxlbWVudCkgeworICAgICAgICAvLyBGSVhNRTogQ2FuY2VsIHRoZSBjdXJy
ZW50IHZpZGVvIGV4dHJhY3Rpb24gc2Vzc2lvbi4KKyAgICAgICAgbV9pc0V4dHJhY3RpbmdNYWlu
VmlkZW9FbGVtZW50ID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyOjpzZXRNYWluVmlkZW9FbGVtZW50KFJlZlB0cjxXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50
PiYmIGVsZW1lbnQpCit7CisgICAgaWYgKGVsZW1lbnQgPT0gbV9tYWluVmlkZW9FbGVtZW50Lmdl
dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQgZXZlbnRz
VG9PYnNlcnZlID0gc3RkOjphcnJheSB7CisgICAgICAgIFdlYkNvcmU6OmV2ZW50TmFtZXMoKS5z
ZWVraW5nRXZlbnQsCisgICAgICAgIFdlYkNvcmU6OmV2ZW50TmFtZXMoKS5wbGF5aW5nRXZlbnQs
CisgICAgICAgIFdlYkNvcmU6OmV2ZW50TmFtZXMoKS5wYXVzZUV2ZW50LAorICAgIH07CisKKyAg
ICBpZiAobV9tYWluVmlkZW9FbGVtZW50KSB7CisgICAgICAgIGZvciAoYXV0byYgZXZlbnROYW1l
IDogZXZlbnRzVG9PYnNlcnZlLmdldCgpKQorICAgICAgICAgICAgbV9tYWluVmlkZW9FbGVtZW50
LT5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKnRoaXMsIHsgfSk7CisKKyAgICAgICAg
ZW5kTWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25JZk5lZWRlZCgpOworICAgIH0KKworICAgIG1f
bWFpblZpZGVvRWxlbWVudCA9IFdURk1vdmUoZWxlbWVudCk7CisKKyAgICBpZiAobV9tYWluVmlk
ZW9FbGVtZW50KSB7CisgICAgICAgIGZvciAoYXV0byYgZXZlbnROYW1lIDogZXZlbnRzVG9PYnNl
cnZlLmdldCgpKQorICAgICAgICAgICAgbV9tYWluVmlkZW9FbGVtZW50LT5hZGRFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZSwgKnRoaXMsIHsgfSk7CisgICAgfQorfQorCisjZW5kaWYgLy8gRU5BQkxF
KFZJREVPKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2Ny
ZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVs
bFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5oCmluZGV4IDY3YzlmYWI4MjVmNjI1NzAyNzM2
OTBmYWUwMjI5NDFmODgwNzcwYmMuLjE1YjljNGUwNzczMDgwOTljNjY4NDk2ODNiNzFiMzQzYjU3
MmJhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxT
Y3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaApAQCAtMjgsMTAgKzI4LDEzIEBACiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9FdmVudExpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
bnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9MZW5ndGhCb3guaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUnVu
TG9vcC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogY2xh
c3MgQ29ubmVjdGlvbjsKQEAgLTQ5LDcgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFdlYlBhZ2U7CiAKLWNsYXNzIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyIDogcHVibGljIFJlZkNv
dW50ZWQ8V2ViRnVsbFNjcmVlbk1hbmFnZXI+IHsKK2NsYXNzIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkV2ZW50TGlzdGVuZXIgewogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8V2ViRnVsbFNjcmVlbk1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7CiAgICAgdmly
dHVhbCB+V2ViRnVsbFNjcmVlbk1hbmFnZXIoKTsKQEAgLTY5LDYgKzcyLDggQEAgcHVibGljOgog
CiAgICAgdm9pZCB2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpOwogCisgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IFdlYkNvcmU6OkV2ZW50TGlzdGVuZXImIGxpc3RlbmVyKSBjb25zdCBm
aW5hbCB7IHJldHVybiB0aGlzID09ICZsaXN0ZW5lcjsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgV2Vi
RnVsbFNjcmVlbk1hbmFnZXIoV2ViUGFnZSopOwogCkBAIC05Nyw2ICsxMDIsMjAgQEAgcHJvdGVj
dGVkOgogCiBwcml2YXRlOgogICAgIHZvaWQgY2xvc2UoKTsKKworICAgIHZvaWQgaGFuZGxlRXZl
bnQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdlYkNvcmU6OkV2ZW50JikgZmlu
YWw7CisKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdm9pZCBzY2hlZHVsZU1haW5WaWRlb0VsZW1l
bnRFeHRyYWN0aW9uKCk7CisgICAgdm9pZCBlbmRNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvbklm
TmVlZGVkKCk7CisgICAgdm9pZCBtYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRpbWVyRmlyZWQo
KTsKKyAgICB2b2lkIHNldE1haW5WaWRlb0VsZW1lbnQoUmVmUHRyPFdlYkNvcmU6OkhUTUxWaWRl
b0VsZW1lbnQ+JiYpOworCisgICAgV2Vha1B0cjxXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50PiBt
X21haW5WaWRlb0VsZW1lbnQ7CisgICAgUnVuTG9vcDo6VGltZXI8V2ViRnVsbFNjcmVlbk1hbmFn
ZXI+IG1fbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25UaW1lcjsKKyAgICBib29sIG1faXNFeHRy
YWN0aW5nTWFpblZpZGVvRWxlbWVudCB7IGZhbHNlIH07CisjZW5kaWYgLy8gRU5BQkxFKFZJREVP
KQorCiAgICAgYm9vbCBtX2Nsb3NpbmcgeyBmYWxzZSB9OwogfTsKIAo=
</data>
<flag name="review"
          id="484472"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456284</attachid>
            <date>2022-03-31 14:41:22 -0700</date>
            <delta_ts>2022-03-31 22:54:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-238579-20220331144121.patch</filename>
            <type>text/plain</type>
            <size>13726</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFjYjZkNjgyYWI3YmIw
Y2I0ZDNlMzZiZDIzMzc2NWZhZDZmZjczMi4uNWQ1ZTk3ZWJkYmUxZmE3NWRkN2E1ZTdiYTkyOTNh
OTgwM2ZkMWI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGhldXJp
c3RpYyB0byBpZGVudGlmeSBhbmQgZXh0cmFjdCB0aGUgcHJvbWluZW50IHZpZGVvIGVsZW1lbnQg
aW4gZWxlbWVudCBmdWxsc2NyZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzg1NzkKKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisK
KyAgICAgICAgTWFyayBhIGNvdXBsZSBvZiBtZXRob2RzIGFzIFdFQkNPUkVfRVhQT1JUIHNvIHRo
YXQgdGhleSBjYW4gYmUgaW52b2tlZCBmcm9tIHRoZSBXZWJLaXQgbGF5ZXIuCisgICAgICAgIE5v
IGNoYW5nZSBpbiBiZWhhdmlvciAoeWV0KS4KKworICAgICAgICAqIGRvbS9FbGVtZW50Lmg6Cisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAgICAgRHJpdmUtYnktZml4
OiBhbHNvIHJlbW92ZSBhbiAodW51c2VkKSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB3aXRoIG5vIGlt
cGxlbWVudGF0aW9uCisgICAgICAgIChgdXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXIoKWAp
LgorCiAyMDIyLTAzLTMxICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1dQRV0gVW5yZXZpZXdlZCwgZml4IG5vbi11bmlmaWVkIGJ1aWxkIGFmdGVyIHIy
OTIxNTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNDcyY2YxODE2MDQ4NmM3OTY5MDRlZTBhNGJhNWVlMjU2NjgzY2Ey
My4uODY1Y2IzODZhNTRlY2Q4Y2UwNzU4YjlkNDZkYmI0ZjQzNDA0OTFhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1MyBAQAorMjAyMi0wMy0zMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgYSBoZXVyaXN0aWMgdG8gaWRlbnRpZnkgYW5kIGV4dHJh
Y3QgdGhlIHByb21pbmVudCB2aWRlbyBlbGVtZW50IGluIGVsZW1lbnQgZnVsbHNjcmVlbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTc5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIEFkZCBhIGhldXJpc3RpYyB0
byBXZWJGdWxsU2NyZWVuTWFuYWdlciB0aGF0IGlkZW50aWZpZXMgYW5kIGtlZXBzIHRyYWNrIG9m
IHRoZSBsYXJnZXN0LCByZW5kZXJlZCB2aWRlbyBlbGVtZW50CisgICAgICAgIGluIGVsZW1lbnQg
ZnVsbHNjcmVlbiBtb2RlICh0aGF0IGlzLCB0aGUgdmlkZW8gZWxlbWVudCB3aXRoIHRoZSBsYXJn
ZXN0IGFyZWEgdGhhdCdzIGluc2lkZSBvZiB0aGUgc3VidHJlZSBvZiB0aGUKKyAgICAgICAgZnVs
bHNjcmVlbiBjb250YWluZXIgZWxlbWVudCkuIFdlIGNvdXBsZSB0aGlzIHdpdGggYSBtZWNoYW5p
c20gdG8gZGV0ZWN0IHdoZW4gc3VjaCBhIHZpZGVvIGhhcyBiZWVuIHBhdXNlZCBmb3IgYQorICAg
ICAgICBzaG9ydCAoMjUwIG1zKSBkZWxheS4KKworICAgICAgICBUaGVzZSBtZWNoYW5pc21zIHdp
bGwgYmUgdXNlZCBpbiBhIGZ1dHVyZSBwYXRjaCB0byBzdXBwb3J0ICJ2aWRlbyBleHRyYWN0aW9u
IiBpbiBlbGVtZW50IGZ1bGxzY3JlZW4uIFNlZSBiZWxvdworICAgICAgICBmb3IgbW9yZSBkZXRh
aWxzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyLmNwcDoKKworICAgICAgICBUdXJuIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyIGludG8gYW4gRXZl
bnRMaXN0ZW5lciBzdWJjbGFzcywgc28gdGhhdCB3ZSBjYW4gb2JzZXJ2ZSB0aGUgInBsYXlpbmci
LCAicGF1c2UiLCBhbmQKKyAgICAgICAgInNlZWtpbmciIGV2ZW50cyBvbiB0aGUgbWFpbiB2aWRl
byBlbGVtZW50IChpZiBpdCBleGlzdHMpLiBTZWUgYGhhbmRsZUV2ZW50YCBiZWxvdyBmb3IgbW9y
ZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6
V2ViRnVsbFNjcmVlbk1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKworICAgICAgICBDbGVhciBvdXQgdGhl
IG1haW4gdmlkZW8gZWxlbWVudCB1cG9uIGV4aXRpbmcgZnVsbHNjcmVlbi4KKworICAgICAgICAo
V2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZGlkRW50ZXJGdWxsU2NyZWVuKToKKworICAg
ICAgICBBZnRlciB3ZSd2ZSBmaW5pc2hlZCBlbnRlcmluZyBlbGVtZW50IGZ1bGxzcmVlbiwgdHJh
dmVyc2UgdGhlIERPTSBpbiBzZWFyY2ggb2YgdGhlIGxhcmdlc3QgdmlkZW8gZWxlbWVudCAoYXJl
YS0KKyAgICAgICAgd2lzZSkuIElmIHRoZSBjb250YWluZXIgZm9yIGVsZW1lbnQgZnVsbHNjcmVl
biBpcywgaXRzZWxmLCBhIHZpZGVvIGVsZW1lbnQsIHRoZW4gYXV0b21hdGljYWxseSB0cmVhdCB0
aGF0CisgICAgICAgIGVsZW1lbnQgYXMgdGhlIG1haW4gdmlkZW8uCisKKyAgICAgICAgKFdlYktp
dDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6Om1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJG
aXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpzY2hlZHVsZU1h
aW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVl
bk1hbmFnZXI6OmVuZE1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uSWZOZWVkZWQpOgorCisgICAg
ICAgIEZvciBub3csIHRoZXNlIGFyZSBlc3NlbnRpYWxseSBuby1vcHM7IGFkZCBGSVhNRSdzIHRv
IGNhbGwgaW50byBXZWJQYWdlIHRvIGJlZ2luIG9yIGNhbmNlbCB2aWRlbyBleHRyYWN0aW9uLgor
ICAgICAgICBUaGVzZSB3aWxsIGJlIGltcGxlbWVudGVkIGluIGFuIHVwY29taW5nIHBhdGNoLCB0
aGF0IGNvbm5lY3RzIHRoaXMgZWxlbWVudCBmdWxsc2NyZWVuIGNvZGUgdG8gYSBtb3JlIGdlbmVy
aWMKKyAgICAgICAgZnVsbHNjcmVlbiB2aWRlbyBleHRyYWN0aW9uIG1lY2hhbmlzbSBpbXBsZW1l
bnRlZCBlbnRpcmVseSBpbiB0aGUgY2xpZW50IGxheWVyLgorCisgICAgICAgIChXZWJLaXQ6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyOjpzZXRNYWluVmlkZW9FbGVtZW50KToKKworICAgICAgICBBZGQg
YSBoZWxwZXIgbWV0aG9kIHRvIHNldCB0aGUgbWFpbiB2aWRlbyBlbGVtZW50LCBhZGRpbmcgb3Ig
cmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzIGFzIG5lZWRlZC4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJGdWxsU2NyZWVuTWFuYWdlcjo6aGFuZGxlRXZlbnQpOgorCisgICAgICAgIFdoZW4gb2JzZXJ2
aW5nIGFueSBvZiB0aGUgInBsYXlpbmciLCAicGF1c2UiLCBhbmQgInNlZWtpbmciIGV2ZW50cywg
dXBkYXRlIHRoZSBtYWluIHZpZGVvIGV4dHJhY3Rpb24gdGltZXI7CisgICAgICAgIHRoYXQgaXMs
IGlmIHRoZSBtYWluIHZpZGVvIGVsZW1lbnQgaXMgcGF1c2VkLCByZXN0YXJ0IHRoZSB0aW1lcjsg
b3RoZXJ3aXNlLCBzdG9wIGl0IGVudGlyZWx5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxs
U2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmg6CisKIDIwMjItMDMtMzEgIEJlbiBOaGFtICA8
bmhhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHB1c2ggc3Vic2NyaXB0aW9ucyB3aGVu
IHBlcm1pc3Npb25zIGFyZSByZXNldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDNmZGQ3ZWJkMDdk
ZThhNjlhOWYyNWI1ODkxNDhmYzMxOWEzOTdhNy4uYzZmMGMyMTk5ZmJiNDJhNzVmMWM1Yjg0ZTYy
YWJlYTQ5NDRjZTE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0yMTQsNyArMjE0LDcgQEAgcHVi
bGljOgogICAgIC8vIFRoaXMgZG9lcyBub3QgdXBkYXRlIGxheW91dCwgYW5kIHVzZXMgYWJzb2x1
dGVCb3VuZGluZ0JveFJlY3QoKS4KICAgICBXRUJDT1JFX0VYUE9SVCBJbnRSZWN0IGJvdW5kaW5n
Qm94SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkgY29uc3Q7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPHN0
ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBib3VuZGluZ0Fic29sdXRlUmVjdFdp
dGhvdXRMYXlvdXQoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPHN0
ZDo6cGFpcjxSZW5kZXJPYmplY3QqLCBGbG9hdFJlY3Q+PiBib3VuZGluZ0Fic29sdXRlUmVjdFdp
dGhvdXRMYXlvdXQoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdCBib3Vu
ZGluZ0NsaWVudFJlY3QoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApp
bmRleCAwN2NjZGI2MjRmYjc0Zjg1YWNkZmRlZjMzYmQwMmIyY2ZlOWVkMDQyLi4wMTRhYjBhZDli
MWU2NTFhYmE5YTFiODNiN2IwM2NjMWQwNjAxN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaApAQCAtNDIzLDggKzQyMyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHRleHRU
cmFja1JlYWR5U3RhdGVDaGFuZ2VkKFRleHRUcmFjayopOwogICAgIHZvaWQgdXBkYXRlVGV4dFRy
YWNrUmVwcmVzZW50YXRpb25JbWFnZUlmTmVlZGVkKCk7CiAKLSAgICBib29sIGFkZEV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwg
Y29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92
ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVy
JiwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBS
ZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVy
cmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgRXZlbnRMaXN0ZW5l
ck9wdGlvbnMmKSBvdmVycmlkZTsKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpCiAgICAgdm9pZCB3ZWJraXRTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsKQEAgLTk1NSw3
ICs5NTUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlU2hvdWxkQXV0b3BsYXkoKTsKIAog
ICAgIHZvaWQgcGF1c2VBZnRlckRldGFjaGVkVGFzaygpOwotICAgIHZvaWQgdXBkYXRlUGxheWJh
Y2tDb250cm9sc01hbmFnZXIoKTsKICAgICB2b2lkIHNjaGVkdWxlUGxheWJhY2tDb250cm9sc01h
bmFnZXJVcGRhdGUoKTsKICAgICB2b2lkIHBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQmVoYXZpb3JS
ZXN0cmljdGlvbnNUaW1lckZpcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAppbmRleCBl
ZjQ5ODkzZjEzYzljNDljNWQwYjU4ZDQyN2IxNTM3NmUwNDYxZTFjLi4zYTkxNGU2N2EwZjU2ZmFi
ZDMyY2FjMDMzZGQyMDNmZGIyYjY5YjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCkBAIC0z
Myw3ICszMyw5IEBACiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Q29sb3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0V2ZW50TmFtZXMuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0Z1bGxzY3JlZW5NYW5hZ2VyLmg+CkBAIC00Miw2ICs0NCw3IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9SZW5kZXJMYXllckJhY2tpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclZp
ZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9U
eXBlZEVsZW1lbnREZXNjZW5kYW50SXRlcmF0b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZP
Uk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpKQpAQCAtNzEsNyArNzQs
MTEgQEAgUmVmPFdlYkZ1bGxTY3JlZW5NYW5hZ2VyPiBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6Y3Jl
YXRlKFdlYlBhZ2UqIHBhZ2UpCiB9CiAKIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlcihXZWJQYWdlKiBwYWdlKQotICAgIDogbV9wYWdlKHBhZ2UpCisgICAgOiBXZWJD
b3JlOjpFdmVudExpc3RlbmVyKFdlYkNvcmU6OkV2ZW50TGlzdGVuZXI6OkNQUEV2ZW50TGlzdGVu
ZXJUeXBlKQorICAgICwgbV9wYWdlKHBhZ2UpCisjaWYgRU5BQkxFKFZJREVPKQorICAgICwgbV9t
YWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJldl
YkZ1bGxTY3JlZW5NYW5hZ2VyOjptYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRpbWVyRmlyZWQp
CisjZW5kaWYKIHsKIH0KICAgICAKQEAgLTE1Miw2ICsxNTksOSBAQCB2b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxl
bWVudCkKIHsKICAgICBMT0coRnVsbHNjcmVlbiwgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyICVwIGV4
aXRGdWxsU2NyZWVuRm9yRWxlbWVudCglcCkgLSBmdWxsc2NyZWVuIGVsZW1lbnQgJXAiLCB0aGlz
LCBlbGVtZW50LCBtX2VsZW1lbnQuZ2V0KCkpOwogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVG
dWxsU2NyZWVuQ2xpZW50KCkuZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fcGFnZS5nZXQoKSwg
ZWxlbWVudCk7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIHNldE1haW5WaWRlb0VsZW1lbnQobnVs
bHB0cik7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6d2lsbEVudGVy
RnVsbFNjcmVlbigpCkBAIC0xOTEsNiArMjAxLDM1IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXI6OmRpZEVudGVyRnVsbFNjcmVlbigpCiAgICAgYXV0byogY3VycmVudFBsYXliYWNrQ29udHJv
bHNFbGVtZW50ID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5hZ2VyKCkuY3VycmVudFBsYXli
YWNrQ29udHJvbHNFbGVtZW50KCk7CiAgICAgc2V0UElQU3RhbmRieUVsZW1lbnQoZHluYW1pY0Rv
d25jYXN0PEhUTUxWaWRlb0VsZW1lbnQ+KGN1cnJlbnRQbGF5YmFja0NvbnRyb2xzRWxlbWVudCkp
OwogI2VuZGlmCisKKyNpZiBFTkFCTEUoVklERU8pCisgICAgc2V0TWFpblZpZGVvRWxlbWVudChb
Jl0oKSAtPiBSZWZQdHI8V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudD4geworICAgICAgICBpZiAo
YXV0byB2aWRlbyA9IGR5bmFtaWNEb3duY2FzdDxXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50Pigq
bV9lbGVtZW50KSkKKyAgICAgICAgICAgIHJldHVybiB2aWRlbzsKKworICAgICAgICBSZWZQdHI8
V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudD4gbWFpblZpZGVvOworICAgICAgICBXZWJDb3JlOjpG
bG9hdFJlY3QgbWFpblZpZGVvQm91bmRzOworICAgICAgICBmb3IgKGF1dG8mIHZpZGVvIDogV2Vi
Q29yZTo6ZGVzY2VuZGFudHNPZlR5cGU8V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudD4oKm1fZWxl
bWVudCkpIHsKKyAgICAgICAgICAgIGF1dG8gcmVuZGVyZXJBbmRCb3VuZHMgPSB2aWRlby5ib3Vu
ZGluZ0Fic29sdXRlUmVjdFdpdGhvdXRMYXlvdXQoKTsKKyAgICAgICAgICAgIGlmICghcmVuZGVy
ZXJBbmRCb3VuZHMpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGF1
dG8gW3JlbmRlcmVyLCBib3VuZHNdID0gKnJlbmRlcmVyQW5kQm91bmRzOworICAgICAgICAgICAg
aWYgKCFyZW5kZXJlciB8fCBib3VuZHMuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgICAgICBpZiAoYm91bmRzLmFyZWEoKSA8PSBtYWluVmlkZW9Cb3VuZHMu
YXJlYSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBtYWluVmlk
ZW9Cb3VuZHMgPSBib3VuZHM7CisgICAgICAgICAgICBtYWluVmlkZW8gPSAmdmlkZW87CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIG1haW5WaWRlbzsKKyAgICB9KCkpOworCisgICAgaWYgKG1f
bWFpblZpZGVvRWxlbWVudCAmJiBtX21haW5WaWRlb0VsZW1lbnQtPnBhdXNlZCgpKQorICAgICAg
ICBzY2hlZHVsZU1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uKCk7CisjZW5kaWYgLy8gRU5BQkxF
KFZJREVPKQogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjp3aWxsRXhpdEZ1bGxTY3Jl
ZW4oKQpAQCAtMjY4LDYgKzMwNyw5IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmNsb3Nl
KCkKICAgICBtX2Nsb3NpbmcgPSB0cnVlOwogICAgIExPRyhGdWxsc2NyZWVuLCAiV2ViRnVsbFNj
cmVlbk1hbmFnZXIgJXAgY2xvc2UoKSIsIHRoaXMpOwogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5k
bGVGdWxsU2NyZWVuQ2xpZW50KCkuY2xvc2VGdWxsU2NyZWVuKG1fcGFnZS5nZXQoKSk7CisjaWYg
RU5BQkxFKFZJREVPKQorICAgIHNldE1haW5WaWRlb0VsZW1lbnQobnVsbHB0cik7CisjZW5kaWYK
ICAgICBtX2Nsb3NpbmcgPSBmYWxzZTsKIH0KIApAQCAtMjk2LDYgKzMzOCw3OCBAQCB2b2lkIFdl
YkZ1bGxTY3JlZW5NYW5hZ2VyOjpzZXRGdWxsc2NyZWVuQ29udHJvbHNIaWRkZW4oYm9vbCBoaWRk
ZW4pCiAgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXRGdWxsc2NyZWVuQ29udHJvbHNIaWRkZW4o
aGlkZGVuKTsKIH0KIAordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6aGFuZGxlRXZlbnQoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV2ViQ29yZTo6RXZlbnQmIGV2
ZW50KQoreworI2lmIEVOQUJMRShWSURFTykKKyAgICBpZiAoIW1fbWFpblZpZGVvRWxlbWVudCB8
fCBldmVudC50YXJnZXQoKSAhPSBtX21haW5WaWRlb0VsZW1lbnQgfHwgJmNvbnRleHQgIT0gJm1f
bWFpblZpZGVvRWxlbWVudC0+ZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KG1fbWFpblZpZGVvRWxlbWVudC0+cGF1c2VkKCkpCisgICAgICAgIHNjaGVkdWxlTWFpblZpZGVv
RWxlbWVudEV4dHJhY3Rpb24oKTsKKyAgICBlbHNlCisgICAgICAgIGVuZE1haW5WaWRlb0VsZW1l
bnRFeHRyYWN0aW9uSWZOZWVkZWQoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGV2ZW50KTsK
KyAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisjZW5kaWYKK30KKworI2lmIEVOQUJMRShWSURF
TykKKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWFpblZpZGVvRWxlbWVudEV4dHJhY3Rp
b25UaW1lckZpcmVkKCkKK3sKKyAgICBpZiAoIW1fbWFpblZpZGVvRWxlbWVudCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9pc0V4dHJhY3RpbmdNYWluVmlkZW9FbGVtZW50ID0gdHJ1ZTsKKyAg
ICAvLyBGSVhNRTogQmVnaW4gbWFpbiB2aWRlbyBleHRyYWN0aW9uIGluIGZvciBlbGVtZW50IGZ1
bGxzY3JlZW4uCit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OnNjaGVkdWxlTWFpblZp
ZGVvRWxlbWVudEV4dHJhY3Rpb24oKQoreworICAgIG1fbWFpblZpZGVvRWxlbWVudEV4dHJhY3Rp
b25UaW1lci5zdGFydE9uZVNob3QoMjUwX21zKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZW5kTWFpblZpZGVvRWxlbWVudEV4dHJhY3Rpb25JZk5lZWRlZCgpCit7CisgICAgbV9t
YWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRpbWVyLnN0b3AoKTsKKworICAgIGlmIChtX2lzRXh0
cmFjdGluZ01haW5WaWRlb0VsZW1lbnQpIHsKKyAgICAgICAgLy8gRklYTUU6IENhbmNlbCB0aGUg
Y3VycmVudCB2aWRlbyBleHRyYWN0aW9uIHNlc3Npb24uCisgICAgICAgIG1faXNFeHRyYWN0aW5n
TWFpblZpZGVvRWxlbWVudCA9IGZhbHNlOworICAgIH0KK30KKwordm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlcjo6c2V0TWFpblZpZGVvRWxlbWVudChSZWZQdHI8V2ViQ29yZTo6SFRNTFZpZGVvRWxl
bWVudD4mJiBlbGVtZW50KQoreworICAgIGlmIChlbGVtZW50ID09IG1fbWFpblZpZGVvRWxlbWVu
dC5nZXQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBsaXN0
ZW4gZm9yIGFkZGl0aW9uYWwgZXZlbnRzIChzdWNoIGFzICdsb2FkJyBhbmQgJ3VubG9hZCcpIHRo
YXQgYnViYmxlIHVwCisgICAgLy8gdG8gdGhlIGZ1bGxzY3JlZW4gZWxlbWVudCwgYW5kIHJlY29t
cHV0ZSB0aGUgbWFpbiB2aWRlbyBlbGVtZW50LgorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZCBl
dmVudHNUb09ic2VydmUgPSBzdGQ6OmFycmF5IHsKKyAgICAgICAgV2ViQ29yZTo6ZXZlbnROYW1l
cygpLnNlZWtpbmdFdmVudCwKKyAgICAgICAgV2ViQ29yZTo6ZXZlbnROYW1lcygpLnBsYXlpbmdF
dmVudCwKKyAgICAgICAgV2ViQ29yZTo6ZXZlbnROYW1lcygpLnBhdXNlRXZlbnQsCisgICAgfTsK
KworICAgIGlmIChtX21haW5WaWRlb0VsZW1lbnQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBldmVu
dE5hbWUgOiBldmVudHNUb09ic2VydmUuZ2V0KCkpCisgICAgICAgICAgICBtX21haW5WaWRlb0Vs
ZW1lbnQtPnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAqdGhpcywgeyB9KTsKKworICAg
ICAgICBlbmRNYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvbklmTmVlZGVkKCk7CisgICAgfQorCisg
ICAgbV9tYWluVmlkZW9FbGVtZW50ID0gV1RGTW92ZShlbGVtZW50KTsKKworICAgIGlmIChtX21h
aW5WaWRlb0VsZW1lbnQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBldmVudE5hbWUgOiBldmVudHNU
b09ic2VydmUuZ2V0KCkpCisgICAgICAgICAgICBtX21haW5WaWRlb0VsZW1lbnQtPmFkZEV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lLCAqdGhpcywgeyB9KTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBF
TkFCTEUoVklERU8pCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1
bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgKaW5kZXggNjdjOWZhYjgyNWY2MjU3
MDI3MzY5MGZhZTAyMjk0MWY4ODA3NzBiYy4uMTViOWM0ZTA3NzMwODA5OWM2Njg0OTY4M2I3MWIz
NDNiNTcyYmExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3Jl
ZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
RnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5oCkBAIC0yOCwxMCArMjgsMTMgQEAKICNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0V2ZW50TGlzdGVuZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xlbmd0aEJveC5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SdW5Mb29wLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIElQQyB7
CiBjbGFzcyBDb25uZWN0aW9uOwpAQCAtNDksNyArNTIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgV2ViRnVsbFNjcmVlbk1hbmFnZXIgOiBwdWJsaWMg
UmVmQ291bnRlZDxXZWJGdWxsU2NyZWVuTWFuYWdlcj4geworY2xhc3MgV2ViRnVsbFNjcmVlbk1h
bmFnZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6RXZlbnRMaXN0ZW5lciB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxXZWJGdWxsU2NyZWVuTWFuYWdlcj4gY3JlYXRlKFdlYlBhZ2UqKTsKICAg
ICB2aXJ0dWFsIH5XZWJGdWxsU2NyZWVuTWFuYWdlcigpOwpAQCAtNjksNiArNzIsOCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCk7CiAKKyAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgV2ViQ29yZTo6RXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRoaXMgPT0gJmxpc3RlbmVyOyB9CisKIHByb3RlY3RlZDoKICAg
ICBXZWJGdWxsU2NyZWVuTWFuYWdlcihXZWJQYWdlKik7CiAKQEAgLTk3LDYgKzEwMiwyMCBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjbG9zZSgpOworCisgICAgdm9pZCBoYW5k
bGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV2ViQ29yZTo6RXZlbnQm
KSBmaW5hbDsKKworI2lmIEVOQUJMRShWSURFTykKKyAgICB2b2lkIHNjaGVkdWxlTWFpblZpZGVv
RWxlbWVudEV4dHJhY3Rpb24oKTsKKyAgICB2b2lkIGVuZE1haW5WaWRlb0VsZW1lbnRFeHRyYWN0
aW9uSWZOZWVkZWQoKTsKKyAgICB2b2lkIG1haW5WaWRlb0VsZW1lbnRFeHRyYWN0aW9uVGltZXJG
aXJlZCgpOworICAgIHZvaWQgc2V0TWFpblZpZGVvRWxlbWVudChSZWZQdHI8V2ViQ29yZTo6SFRN
TFZpZGVvRWxlbWVudD4mJik7CisKKyAgICBXZWFrUHRyPFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1l
bnQ+IG1fbWFpblZpZGVvRWxlbWVudDsKKyAgICBSdW5Mb29wOjpUaW1lcjxXZWJGdWxsU2NyZWVu
TWFuYWdlcj4gbV9tYWluVmlkZW9FbGVtZW50RXh0cmFjdGlvblRpbWVyOworICAgIGJvb2wgbV9p
c0V4dHJhY3RpbmdNYWluVmlkZW9FbGVtZW50IHsgZmFsc2UgfTsKKyNlbmRpZiAvLyBFTkFCTEUo
VklERU8pCisKICAgICBib29sIG1fY2xvc2luZyB7IGZhbHNlIH07CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>