<?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>218806</bug_id>
          
          <creation_ts>2020-11-11 09:12:23 -0800</creation_ts>
          <short_desc>[GPUProcess] Seamlessly resume WebAudio playback if the GPU Process crashes</short_desc>
          <delta_ts>2020-11-11 12:18:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</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>218811</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1706477</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-11 09:12:23 -0800</bug_when>
    <thetext>If the GPU Process crashes during WebAudio playback, the GPU Process should get relaunched and WebAudio playback should seamlessly continue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706480</commentid>
    <comment_count>1</comment_count>
      <attachid>413827</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-11 09:16:35 -0800</bug_when>
    <thetext>Created attachment 413827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706508</commentid>
    <comment_count>2</comment_count>
      <attachid>413836</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-11 10:19:42 -0800</bug_when>
    <thetext>Created attachment 413836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706514</commentid>
    <comment_count>3</comment_count>
      <attachid>413838</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-11 10:33:33 -0800</bug_when>
    <thetext>Created attachment 413838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706532</commentid>
    <comment_count>4</comment_count>
      <attachid>413838</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-11 11:15:17 -0800</bug_when>
    <thetext>Comment on attachment 413838
Patch

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

&gt; Source/WebKit/ChangeLog:12
&gt; +        audio rendering will seamlessly continue.

Very nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706543</commentid>
    <comment_count>5</comment_count>
      <attachid>413838</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-11-11 11:49:28 -0800</bug_when>
    <thetext>Comment on attachment 413838
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706566</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-11 12:17:15 -0800</bug_when>
    <thetext>Committed r269698: &lt;https://trac.webkit.org/changeset/269698&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413838.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706568</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-11 12:18:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/71293817&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413827</attachid>
            <date>2020-11-11 09:16:35 -0800</date>
            <delta_ts>2020-11-11 10:19:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218806-20201111091634.patch</filename>
            <type>text/plain</type>
            <size>15988</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM1N2I0NTZlMDUzNjZh
OTgwZDZhZDNjZDBmNzdlOGRlMGRlZTRhZi4uMThmZWJiY2EyOTM3MzgzNmEzMzZiZWQ2NTZhYWFi
YTBlZDUwMTdmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVByb2Nlc3NdIFNlYW1s
ZXNzbHkgcmVzdW1lIFdlYkF1ZGlvIHBsYXliYWNrIGlmIHRoZSBHUFUgUHJvY2VzcyBjcmFzaGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg4MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOgorICAgICAgICBFeHBvcnQg
ZnVuY3Rpb24gc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIFdlYktpdCBsYXllci4KKwogMjAyMC0x
MS0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lu
dGVncmF0aW9uXSBFbmFibGUgdmVydGljYWwgYWxpZ25tZW50IG9uIHJlcGxhY2VkIGNvbnRlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYWMzNTkwN2JmY2IxMjJjZmJiMWMzY2U2ZWZmMjQ1ZThiMzVjNmQ4My4uNmU4
M2U2NjcxNDEyYTkxMDhjZjkzZTkyMjEzYjMzMjNjNWE0Mzc2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMyBAQAorMjAyMC0xMS0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFtHUFVQcm9jZXNzXSBTZWFtbGVzc2x5IHJlc3VtZSBXZWJBdWRpbyBwbGF5YmFjayBp
ZiB0aGUgR1BVIFByb2Nlc3MgY3Jhc2hlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4ODA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW4gY2FzZSBvZiBhIEdQVSBwcm9jZXNzIGNyYXNoLCB3ZSB3ZXJl
IHByZXZpb3VzbHkgdGVybWluYXRpbmcgYWxsIFdlYlByb2Nlc3Nlcy4KKyAgICAgICAgVGhpcyBw
YXRjaCBtYWtlcyBpdCBzbyB0aGF0IFdlYlByb2Nlc3NlcyBhcmUgbm8gbG9uZ2VyIHRlcm1pbmF0
ZWQgaW4gc3VjaCBjYXNlcy4KKyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoIG1ha2Vz
IHN1cmUgdGhhdCBpZiBXZWJBdWRpbyBpcyByZW5kZXJpbmcgYXVkaW8gd2hpbGUKKyAgICAgICAg
dGhlIEdQVSBQcm9jZXNzIGNyYXNoZXMsIHRoZSBHUFUgcHJvY2VzcyB3aWxsIGdldCByZWxhdW5j
aGVkIHJpZ2h0IGF3YXkgYW5kCisgICAgICAgIGF1ZGlvIHJlbmRlcmluZyB3aWxsIHNlYW1sZXNz
bHkgY29udGludWUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpHUFVQ
cm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKToK
KyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmFkZENsaWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpyZW1vdmVDbGllbnQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eTo6UmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQXVkaW9EZXN0aW5h
dGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpncHVQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIwMjAtMTEtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBHUFVQcm9jZXNzIGRvZXMgbm90IHByb3Blcmx5IGdldCBy
ZWxhdW5jaGVkIGFmdGVyIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCmluZGV4IGJkMGIy
MGJmZjdlOWEwZWMzMDFmMjU5ZTA2NjQ0MWU1OWZiZjNjMDcuLjRjM2YyZTc1ZjU4YjQzOWRlNDRl
ODRhZTU0MzZjODVmMTg5MWM3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCkBAIC02MCw3ICs2
MCw3IEBAIHByb3RlY3RlZDoKICAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9jb250ZXh0U2FtcGxlUmF0ZTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVk
IGZyYW1lc1BlckJ1ZmZlcigpIGNvbnN0IGZpbmFsOwogCi0gICAgdW5zaWduZWQgbnVtYmVyT2ZP
dXRwdXRDaGFubmVscygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIG51bWJl
ck9mT3V0cHV0Q2hhbm5lbHMoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOWQ5
MmQzMDRiODVjMDFjZjc0MzA0YTE0ZjNjNmVkYTczYjY0ZjA5ZC4uNjM0ODAwYjI4ODMyMGJmOTQ3
MjQ2OTM2N2E5YTQyMjNmZjIzYjM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNDk1LDggKzQ5NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Omdw
dVByb2Nlc3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogICAgIGZvciAoYXV0byYgcHJv
Y2VzcyA6IHByb2Nlc3NlcykKICAgICAgICAgcHJvY2Vzcy0+Z3B1UHJvY2Vzc0NyYXNoZWQoKTsK
IAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYXZvaWQgdGVybWluYXRpbmcgYWxsIFdlYlByb2Nl
c3NlcyB3aGVuZXZlciB0aGUgR1BVUHJvY2VzcyBjcmFzaGVzLgotICAgIHRlcm1pbmF0ZUFsbFdl
YkNvbnRlbnRQcm9jZXNzZXMoKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNvbnNpZGVyIHRl
cm1pbmF0aW5nIGFsbCBXZWJQcm9jZXNzZXMgd2hlbmV2ZXIgdGhlIEdQVVByb2Nlc3MgY3Jhc2hl
cyBzZXZlcmFsIHRpbWVzIGluIGEgc2hvcnQgYW1vdW50IG9mIHRpbWUuCiB9CiAKIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2Vi
UHJvY2Vzc1Byb3h5LCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGRkOGYxYmVmYTU4
NzZjYWQ1OTcwOTc5YmYxNWU4YTE1N2M5NGM3M2MuLjFjZDNjNTA0N2Y4YTQzNmYyMjA0ZDUyOTVi
Y2M4OGFjNzhlOTU2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC04Miw2ICs4MiwxMiBAQCBHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6fkdQVVByb2Nlc3NDb25uZWN0aW9uKCkKIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKIHsKKyAgICBhdXRvIHByb3RlY3Rv
ciA9IG1ha2VSZWYoKnRoaXMpOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmdwdVByb2Nl
c3NDb25uZWN0aW9uQ2xvc2VkKCp0aGlzKTsKKworICAgIGF1dG8gY2xpZW50cyA9IG1fY2xpZW50
czsKKyAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNsaWVudHMpCisgICAgICAgIGNsaWVudC5ncHVQ
cm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKCp0aGlzKTsKIH0KIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
TWVzc2FnZU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggNzIyOTE5ZmNkMDhmYzg2Njk3OTc3ZWM2YzJkMzA0MGE0
ZGIzMDYxOS4uNjNkNGViZTIwMGFiMWYzNjVhODNlZmUzZTEzZmY2NTRkNTdiOGJmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7CkBAIC04Niw2
ICs4NywxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZQU1dEZWNvZGVyRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5hYmxlVlA5U1dEZWNvZGVyOyB9CiAjZW5kaWYKIAorICAgIGNsYXNzIENs
aWVudCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDbGllbnQ+IHsKKyAgICBwdWJsaWM6CisgICAg
ICAgIHZpcnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKKworICAgICAgICB2aXJ0dWFsIHZvaWQg
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpIHsgfQor
ICAgIH07CisgICAgdm9pZCBhZGRDbGllbnQoQ2xpZW50JiBjbGllbnQpIHsgbV9jbGllbnRzLmFk
ZChjbGllbnQpOyB9CisgICAgdm9pZCByZW1vdmVDbGllbnQoQ2xpZW50JiBjbGllbnQpIHsgbV9j
bGllbnRzLnJlbW92ZShjbGllbnQpOyB9CisKIHByaXZhdGU6CiAgICAgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIApAQCAtMTE3LDYgKzEyNyw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9lbmFibGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCisgICAgV2Vha0hhc2hT
ZXQ8Q2xpZW50PiBtX2NsaWVudHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcAppbmRleCA2ZTgzMDM4ODM0OWJjZDUyMTY4NTBj
OWQwOGRiMzg3OWY0YmQyY2M1Li5lNzI5YTVmYzI2NmVkMGU0NDg0MzU1NmM1YjYwOTJkZjcxODRk
YTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5j
bHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIkdQVVByb2Nlc3ND
b25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgpAQCAtNTcsMTYgKzU2LDEyIEBAIFJlZjxBdWRpb0Rl
c3RpbmF0aW9uPiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OmNyZWF0ZShBdWRpb0lPQ2Fs
bGJhY2smIGNhbGxiCiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OlJlbW90ZUF1ZGlvRGVz
dGluYXRpb25Qcm94eShBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNrLCBjb25zdCBTdHJpbmcmIGlu
cHV0RGV2aWNlSWQsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVt
YmVyT2ZPdXRwdXRDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSkKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICA6IFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25Db2NvYShjYWxsYmFjaywgbnVtYmVy
T2ZPdXRwdXRDaGFubmVscywgc2FtcGxlUmF0ZSwgZmFsc2UpCisgICAgLCBtX251bWJlck9mRnJh
bWVzKGhhcmR3YXJlU2FtcGxlUmF0ZSgpICogcmluZ0J1ZmZlclNpemVJblNlY29uZCkKICAgICAs
IG1fcmluZ0J1ZmZlcihtYWtlVW5pcXVlPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4obWFrZVVuaXF1
ZVJlZjxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4odGhpcykpKQogI2VuZGlmCisgICAgLCBtX2lu
cHV0RGV2aWNlSWQoaW5wdXREZXZpY2VJZCkKKyAgICAsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxz
KG51bWJlck9mSW5wdXRDaGFubmVscykKIHsKLSAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRl
bnRpZmllciBkZXN0aW5hdGlvbklEOwotCi0gICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Ci0gICAgY29ubmVj
dGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoCi0gICAgICAgIE1lc3NhZ2VzOjpSZW1vdGVBdWRp
b0Rlc3RpbmF0aW9uTWFuYWdlcjo6Q3JlYXRlQXVkaW9EZXN0aW5hdGlvbihpbnB1dERldmljZUlk
LCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIHNhbXBsZVJh
dGUsIGhhcmR3YXJlU2FtcGxlUmF0ZSgpKSwKLSAgICAgICAgTWVzc2FnZXM6OlJlbW90ZUF1ZGlv
RGVzdGluYXRpb25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShkZXN0aW5h
dGlvbklEKSwgMCk7Ci0KICAgICBhdXRvIG9mZlRocmVhZFJlbmRlcmluZyA9IFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKCkgbXV0YWJsZSB7CiAgICAgICAgIHdoaWxlICgh
bV90aHJlYWRUYXNrUXVldWUuaXNLaWxsZWQoKSkgewogICAgICAgICAgICAgaWYgKGF1dG8gdGFz
ayA9IG1fdGhyZWFkVGFza1F1ZXVlLndhaXRGb3JNZXNzYWdlKCkpCkBAIC03NSwxNCArNzAsMjYg
QEAgUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJv
eHkoQXVkaW9JT0NhbGxiYWNrJiBjYWxsYmEKICAgICB9OwogICAgIG1fcmVuZGVyVGhyZWFkID0g
VGhyZWFkOjpjcmVhdGUoIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eSByZW5kZXIgdGhyZWFk
IiwgV1RGTW92ZShvZmZUaHJlYWRSZW5kZXJpbmcpLCBUaHJlYWRUeXBlOjpBdWRpbyk7CiAKKyAg
ICBjb25uZWN0VG9HUFVQcm9jZXNzKCk7Cit9CisKK3ZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlv
blByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKCkKK3sKKyAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uSWRlbnRpZmllciBkZXN0aW5hdGlvbklEOworCisgICAgYXV0byYgY29ubmVjdGlvbiA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAg
Y29ubmVjdGlvbi5hZGRDbGllbnQoKnRoaXMpOworICAgIGNvbm5lY3Rpb24uY29ubmVjdGlvbigp
LnNlbmRTeW5jKAorICAgICAgICBNZXNzYWdlczo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFn
ZXI6OkNyZWF0ZUF1ZGlvRGVzdGluYXRpb24obV9pbnB1dERldmljZUlkLCBtX251bWJlck9mSW5w
dXRDaGFubmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscygpLCBzYW1wbGVSYXRlKCksIGhhcmR3
YXJlU2FtcGxlUmF0ZSgpKSwKKyAgICAgICAgTWVzc2FnZXM6OlJlbW90ZUF1ZGlvRGVzdGluYXRp
b25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShkZXN0aW5hdGlvbklEKSwg
MCk7CiAgICAgY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuYWRkVGhyZWFkTWVzc2FnZVJlY2VpdmVy
KE1lc3NhZ2VzOjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgdGhpcywgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpKTsKIAogICAgIG1fZGVzdGluYXRp
b25JRCA9IGRlc3RpbmF0aW9uSUQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBtX2N1cnJl
bnRGcmFtZSA9IDA7CiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIHN0cmVhbUZvcm1h
dDsKICAgICBnZXRBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24oc3RyZWFtRm9ybWF0KTsKLSAg
ICBtX251bWJlck9mRnJhbWVzID0gaGFyZHdhcmVTYW1wbGVSYXRlKCkgKiByaW5nQnVmZmVyU2l6
ZUluU2Vjb25kOwogICAgIG1fcmluZ0J1ZmZlci0+YWxsb2NhdGUoc3RyZWFtRm9ybWF0LCBtX251
bWJlck9mRnJhbWVzKTsKICAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQXVk
aW9CdWZmZXJMaXN0PihzdHJlYW1Gb3JtYXQpOwogI2VuZGlmCkBAIC0xODcsNiArMTk0LDE2IEBA
IHZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpzdG9yYWdlQ2hhbmdlZChTaGFyZWRN
ZW1vcnkqIHN0b3JhZ2UpCiB9CiAjZW5kaWYKIAordm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
UHJveHk6OmdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24m
IG9sZENvbm5lY3Rpb24pCit7CisgICAgb2xkQ29ubmVjdGlvbi5yZW1vdmVDbGllbnQoKnRoaXMp
OworCisgICAgY29ubmVjdFRvR1BVUHJvY2VzcygpOworCisgICAgaWYgKGlzUGxheWluZygpKQor
ICAgICAgICBzdGFydChzdGQ6OmV4Y2hhbmdlKG1fZGlzcGF0Y2hUb1JlbmRlclRocmVhZCwgbnVs
bHB0ciksIFtdKGJvb2wpIHsgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5k
aWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5LmgKaW5kZXggOGRhNWVkNDc4NzljNDFiZmZjNWIwMmQ4MjM0NWZl
NzUzNjc4ZWJlMy4uYzEwYWZjN2JlYjhhZjI3ZWIxMjMxZDYxNGQxZGYwZTNhMDJlNGFiZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSAiQ29ubmVj
dGlvbi5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVt
b3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzU3Vw
cGxlbWVudC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9JT0NhbGxiYWNrLmg+CkBAIC01Niw2
ICs1Nyw3IEBAIGNsYXNzIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eQogI2Vsc2UKICAgICA6
IHB1YmxpYyBXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uCiAjZW5kaWYKKyAgICAsIHB1YmxpYyBH
UFVQcm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50CiAgICAgLCBwdWJsaWMgSVBDOjpDb25uZWN0aW9u
OjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbW90
ZUF1ZGlvRGVzdGluYXRpb25Qcm94eSk7CiBwdWJsaWM6CkBAIC03OCw2ICs4MCwxMSBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3RhcnQoRnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lkKCk+JiYpPiYm
IGRpc3BhdGNoVG9SZW5kZXJUaHJlYWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
IGZpbmFsOwogICAgIHZvaWQgc3RvcChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBm
aW5hbDsKIAorICAgIHZvaWQgY29ubmVjdFRvR1BVUHJvY2VzcygpOworCisgICAgLy8gR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb246OkNsaWVudC4KKyAgICB2b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9uRGlk
Q2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKSBmaW5hbDsKKwogI2lmICFQTEFURk9STShDT0NP
QSkKICAgICBib29sIGlzUGxheWluZygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9p
ZCBzZXRJc1BsYXlpbmcoYm9vbCkgeyB9CkBAIC0xMDYsNiArMTEzLDkgQEAgcHJpdmF0ZToKICAg
ICB1aW50NjRfdCBtX2N1cnJlbnRGcmFtZSB7IDAgfTsKICNlbmRpZgogCisgICAgU3RyaW5nIG1f
aW5wdXREZXZpY2VJZDsKKyAgICB1bnNpZ25lZCBtX251bWJlck9mSW5wdXRDaGFubmVsczsKKwog
ICAgIEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248dm9pZCgpPiYmKT4gbV9kaXNwYXRjaFRvUmVuZGVy
VGhyZWFkOwogICAgIFJlZlB0cjxUaHJlYWQ+IG1fcmVuZGVyVGhyZWFkOwogICAgIENyb3NzVGhy
ZWFkUXVldWU8RnVuY3Rpb248dm9pZCgpPj4gbV90aHJlYWRUYXNrUXVldWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMzZkY2FjMjZlMWIxYzBiNzYwNzFhOGZm
MDJmZWFjYmI4OTczZTU5MC4uYjc2ZjExOTVjZWU2OTZiNzU4MWIxNjU2M2JlMzM1MjZmYWM5ZGEx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTMwMywxMCAr
MTMwMywxMCBAQCBHUFVQcm9jZXNzQ29ubmVjdGlvbiYgV2ViUHJvY2Vzczo6ZW5zdXJlR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24oKQogICAgIHJldHVybiAqbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKIH0K
IAotdm9pZCBXZWJQcm9jZXNzOjpncHVQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChHUFVQcm9jZXNz
Q29ubmVjdGlvbiogY29ubmVjdGlvbikKK3ZvaWQgV2ViUHJvY2Vzczo6Z3B1UHJvY2Vzc0Nvbm5l
Y3Rpb25DbG9zZWQoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAgICAgQVNT
RVJUKG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOwotICAgIEFTU0VSVF9VTlVTRUQoY29ubmVjdGlv
biwgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbiA9PSBjb25uZWN0aW9uKTsKKyAgICBBU1NFUlRfVU5V
U0VEKGNvbm5lY3Rpb24sIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24gPT0gJmNvbm5lY3Rpb24pOwog
CiAgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbiA9IG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA3MThiZmIyNjE4MDk1ZTQ2NTNkOGU2NDRkMjAwMmY5
ZjVjMDc0NzM1Li40ZGUyNjE0OTU0NGZkZTNkODZkMzkwZThkZWZkZDgyM2ZkMDg5MmY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTIyNSw3ICsyMjUsNyBAQCBwdWJs
aWM6CiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24m
IGVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Ci0gICAgdm9pZCBncHVQcm9jZXNzQ29ubmVj
dGlvbkNsb3NlZChHUFVQcm9jZXNzQ29ubmVjdGlvbiopOworICAgIHZvaWQgZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb25DbG9zZWQoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKTsKICAgICBHUFVQcm9jZXNzQ29u
bmVjdGlvbiogZXhpc3RpbmdHUFVQcm9jZXNzQ29ubmVjdGlvbigpIHsgcmV0dXJuIG1fZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24uZ2V0KCk7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDgyOTI4M2VkZWUzOWQ5MjMwZGViMmY3N2JlZGRlMDBmOTljMTg0YWMuLmI1YjA5ZGVjNDFl
ODM3Yjc3NzJmNTllNTJmYmU4MmRiYWM2NjFkYjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMS0xMSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBTZWFt
bGVzc2x5IHJlc3VtZSBXZWJBdWRpbyBwbGF5YmFjayBpZiB0aGUgR1BVIFByb2Nlc3MgY3Jhc2hl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4ODA2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5k
IEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9HUFVQcm9jZXNzLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjAtMTEtMTAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBHUFVQcm9jZXNzIGRvZXMg
bm90IHByb3Blcmx5IGdldCByZWxhdW5jaGVkIGFmdGVyIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dQVVByb2Nlc3MubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dQVVByb2Nlc3MubW0KaW5kZXggM2Ey
OWE2MDBiNDU5Y2U0M2JkMDI3YzRmOTExYTc5M2YwNWEyNWMxOC4uMjcwNWZiMTNhZDNmYWZkNWIx
NDljNTQ0ZTY2MDM0YTVhZmQ4MThiMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9HUFVQcm9jZXNzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvR1BVUHJvY2Vzcy5tbQpAQCAtNDgsNiArNDgsOCBAQCBURVNUKEdQ
VVByb2Nlc3MsIFJlbGF1bmNoT25DcmFzaCkKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwg
NDAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBbd2ViVmlldyBz
eW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJhdWRpby1jb250ZXh0LXBsYXlpbmciXTsK
IAorICAgIGF1dG8gd2ViVmlld1BJRCA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07
CisKICAgICBhdXRvKiBwcm9jZXNzUG9vbCA9IGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bv
b2w7CiAgICAgdW5zaWduZWQgdGltZW91dCA9IDA7CiAgICAgd2hpbGUgKCFbcHJvY2Vzc1Bvb2wg
X2dwdVByb2Nlc3NJZGVudGlmaWVyXSAmJiB0aW1lb3V0KysgPCAxMDApCkBAIC01NywxMyArNTks
MjYgQEAgVEVTVChHUFVQcm9jZXNzLCBSZWxhdW5jaE9uQ3Jhc2gpCiAgICAgaWYgKCFbcHJvY2Vz
c1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0
byBpbml0aWFsUElEID0gW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl07Ci0gICAg
a2lsbChpbml0aWFsUElELCA5KTsKKyAgICB0aW1lb3V0ID0gMDsKKyAgICB3aGlsZSAoIVt3ZWJW
aWV3IF9pc1BsYXlpbmdBdWRpb10gJiYgdGltZW91dCsrIDwgMTAwKQorICAgICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpzbGVlcCgwLjEpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9pc1Bs
YXlpbmdBdWRpb10pOworCisgICAgYXV0byBpbml0aWFsR1BVUHJvY2Vzc1BJRCA9IFtwcm9jZXNz
UG9vbCBfZ3B1UHJvY2Vzc0lkZW50aWZpZXJdOworICAgIGtpbGwoaW5pdGlhbEdQVVByb2Nlc3NQ
SUQsIDkpOwogCiAgICAgLy8gTWFrZSBzdXJlIHRoZSBHUFUgcHJvY2VzcyBnZXRzIHJlbGF1bmNo
ZWQuCiAgICAgdGltZW91dCA9IDA7Ci0gICAgd2hpbGUgKCghW3Byb2Nlc3NQb29sIF9ncHVQcm9j
ZXNzSWRlbnRpZmllcl0gfHwgW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl0gPT0g
aW5pdGlhbFBJRCkgJiYgdGltZW91dCsrIDwgMTAwKQorICAgIHdoaWxlICgoIVtwcm9jZXNzUG9v
bCBfZ3B1UHJvY2Vzc0lkZW50aWZpZXJdIHx8IFtwcm9jZXNzUG9vbCBfZ3B1UHJvY2Vzc0lkZW50
aWZpZXJdID09IGluaXRpYWxHUFVQcm9jZXNzUElEKSAmJiB0aW1lb3V0KysgPCAxMDApCiAgICAg
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CiAgICAgRVhQRUNUX05FKFtwcm9j
ZXNzUG9vbCBfZ3B1UHJvY2Vzc0lkZW50aWZpZXJdLCAwKTsKLSAgICBFWFBFQ1RfTkUoW3Byb2Nl
c3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl0sIGluaXRpYWxQSUQpOworICAgIEVYUEVDVF9O
RShbcHJvY2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSwgaW5pdGlhbEdQVVByb2Nlc3NQ
SUQpOworCisgICAgLy8gTWFrZSBzdXJlIHRoZSBXZWJWaWV3J3MgV2ViUHJvY2VzcyBkaWQgbm90
IGNyYXNoIG9yIGdldCB0ZXJtaW5hdGVkLgorICAgIEVYUEVDVF9FUSh3ZWJWaWV3UElELCBbd2Vi
VmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdKTsKKworICAgIHRpbWVvdXQgPSAwOworICAgIHdo
aWxlICghW3dlYlZpZXcgX2lzUGxheWluZ0F1ZGlvXSAmJiB0aW1lb3V0KysgPCAxMDApCisgICAg
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisgICAgRVhQRUNUX1RSVUUoW3dl
YlZpZXcgX2lzUGxheWluZ0F1ZGlvXSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413836</attachid>
            <date>2020-11-11 10:19:42 -0800</date>
            <delta_ts>2020-11-11 10:33:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218806-20201111101941.patch</filename>
            <type>text/plain</type>
            <size>17142</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM1N2I0NTZlMDUzNjZh
OTgwZDZhZDNjZDBmNzdlOGRlMGRlZTRhZi4uMThmZWJiY2EyOTM3MzgzNmEzMzZiZWQ2NTZhYWFi
YTBlZDUwMTdmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVByb2Nlc3NdIFNlYW1s
ZXNzbHkgcmVzdW1lIFdlYkF1ZGlvIHBsYXliYWNrIGlmIHRoZSBHUFUgUHJvY2VzcyBjcmFzaGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg4MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOgorICAgICAgICBFeHBvcnQg
ZnVuY3Rpb24gc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIFdlYktpdCBsYXllci4KKwogMjAyMC0x
MS0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lu
dGVncmF0aW9uXSBFbmFibGUgdmVydGljYWwgYWxpZ25tZW50IG9uIHJlcGxhY2VkIGNvbnRlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYWMzNTkwN2JmY2IxMjJjZmJiMWMzY2U2ZWZmMjQ1ZThiMzVjNmQ4My4uNmU4
M2U2NjcxNDEyYTkxMDhjZjkzZTkyMjEzYjMzMjNjNWE0Mzc2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMyBAQAorMjAyMC0xMS0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFtHUFVQcm9jZXNzXSBTZWFtbGVzc2x5IHJlc3VtZSBXZWJBdWRpbyBwbGF5YmFjayBp
ZiB0aGUgR1BVIFByb2Nlc3MgY3Jhc2hlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4ODA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW4gY2FzZSBvZiBhIEdQVSBwcm9jZXNzIGNyYXNoLCB3ZSB3ZXJl
IHByZXZpb3VzbHkgdGVybWluYXRpbmcgYWxsIFdlYlByb2Nlc3Nlcy4KKyAgICAgICAgVGhpcyBw
YXRjaCBtYWtlcyBpdCBzbyB0aGF0IFdlYlByb2Nlc3NlcyBhcmUgbm8gbG9uZ2VyIHRlcm1pbmF0
ZWQgaW4gc3VjaCBjYXNlcy4KKyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoIG1ha2Vz
IHN1cmUgdGhhdCBpZiBXZWJBdWRpbyBpcyByZW5kZXJpbmcgYXVkaW8gd2hpbGUKKyAgICAgICAg
dGhlIEdQVSBQcm9jZXNzIGNyYXNoZXMsIHRoZSBHUFUgcHJvY2VzcyB3aWxsIGdldCByZWxhdW5j
aGVkIHJpZ2h0IGF3YXkgYW5kCisgICAgICAgIGF1ZGlvIHJlbmRlcmluZyB3aWxsIHNlYW1sZXNz
bHkgY29udGludWUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpHUFVQ
cm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKToK
KyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmFkZENsaWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpyZW1vdmVDbGllbnQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eTo6UmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQXVkaW9EZXN0aW5h
dGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpncHVQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIwMjAtMTEtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBHUFVQcm9jZXNzIGRvZXMgbm90IHByb3Blcmx5IGdldCBy
ZWxhdW5jaGVkIGFmdGVyIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCmluZGV4IGJkMGIy
MGJmZjdlOWEwZWMzMDFmMjU5ZTA2NjQ0MWU1OWZiZjNjMDcuLjRjM2YyZTc1ZjU4YjQzOWRlNDRl
ODRhZTU0MzZjODVmMTg5MWM3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCkBAIC02MCw3ICs2
MCw3IEBAIHByb3RlY3RlZDoKICAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9jb250ZXh0U2FtcGxlUmF0ZTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVk
IGZyYW1lc1BlckJ1ZmZlcigpIGNvbnN0IGZpbmFsOwogCi0gICAgdW5zaWduZWQgbnVtYmVyT2ZP
dXRwdXRDaGFubmVscygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIG51bWJl
ck9mT3V0cHV0Q2hhbm5lbHMoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOWQ5
MmQzMDRiODVjMDFjZjc0MzA0YTE0ZjNjNmVkYTczYjY0ZjA5ZC4uNjM0ODAwYjI4ODMyMGJmOTQ3
MjQ2OTM2N2E5YTQyMjNmZjIzYjM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNDk1LDggKzQ5NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Omdw
dVByb2Nlc3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogICAgIGZvciAoYXV0byYgcHJv
Y2VzcyA6IHByb2Nlc3NlcykKICAgICAgICAgcHJvY2Vzcy0+Z3B1UHJvY2Vzc0NyYXNoZWQoKTsK
IAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYXZvaWQgdGVybWluYXRpbmcgYWxsIFdlYlByb2Nl
c3NlcyB3aGVuZXZlciB0aGUgR1BVUHJvY2VzcyBjcmFzaGVzLgotICAgIHRlcm1pbmF0ZUFsbFdl
YkNvbnRlbnRQcm9jZXNzZXMoKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNvbnNpZGVyIHRl
cm1pbmF0aW5nIGFsbCBXZWJQcm9jZXNzZXMgd2hlbmV2ZXIgdGhlIEdQVVByb2Nlc3MgY3Jhc2hl
cyBzZXZlcmFsIHRpbWVzIGluIGEgc2hvcnQgYW1vdW50IG9mIHRpbWUuCiB9CiAKIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2Vi
UHJvY2Vzc1Byb3h5LCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGRkOGYxYmVmYTU4
NzZjYWQ1OTcwOTc5YmYxNWU4YTE1N2M5NGM3M2MuLjFjZDNjNTA0N2Y4YTQzNmYyMjA0ZDUyOTVi
Y2M4OGFjNzhlOTU2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC04Miw2ICs4MiwxMiBAQCBHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6fkdQVVByb2Nlc3NDb25uZWN0aW9uKCkKIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKIHsKKyAgICBhdXRvIHByb3RlY3Rv
ciA9IG1ha2VSZWYoKnRoaXMpOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmdwdVByb2Nl
c3NDb25uZWN0aW9uQ2xvc2VkKCp0aGlzKTsKKworICAgIGF1dG8gY2xpZW50cyA9IG1fY2xpZW50
czsKKyAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNsaWVudHMpCisgICAgICAgIGNsaWVudC5ncHVQ
cm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKCp0aGlzKTsKIH0KIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
TWVzc2FnZU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggNzIyOTE5ZmNkMDhmYzg2Njk3OTc3ZWM2YzJkMzA0MGE0
ZGIzMDYxOS4uNjNkNGViZTIwMGFiMWYzNjVhODNlZmUzZTEzZmY2NTRkNTdiOGJmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7CkBAIC04Niw2
ICs4NywxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZQU1dEZWNvZGVyRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5hYmxlVlA5U1dEZWNvZGVyOyB9CiAjZW5kaWYKIAorICAgIGNsYXNzIENs
aWVudCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDbGllbnQ+IHsKKyAgICBwdWJsaWM6CisgICAg
ICAgIHZpcnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKKworICAgICAgICB2aXJ0dWFsIHZvaWQg
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpIHsgfQor
ICAgIH07CisgICAgdm9pZCBhZGRDbGllbnQoQ2xpZW50JiBjbGllbnQpIHsgbV9jbGllbnRzLmFk
ZChjbGllbnQpOyB9CisgICAgdm9pZCByZW1vdmVDbGllbnQoQ2xpZW50JiBjbGllbnQpIHsgbV9j
bGllbnRzLnJlbW92ZShjbGllbnQpOyB9CisKIHByaXZhdGU6CiAgICAgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIApAQCAtMTE3LDYgKzEyNyw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9lbmFibGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCisgICAgV2Vha0hhc2hT
ZXQ8Q2xpZW50PiBtX2NsaWVudHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcAppbmRleCA2ZTgzMDM4ODM0OWJjZDUyMTY4NTBj
OWQwOGRiMzg3OWY0YmQyY2M1Li4zMjRlZjk3YjdiMjhiN2QxOTAwODc0MDc1MjMxYzc3MjY2MjZm
NWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5j
bHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIkdQVVByb2Nlc3ND
b25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgpAQCAtNTcsMTYgKzU2LDE0IEBAIFJlZjxBdWRpb0Rl
c3RpbmF0aW9uPiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OmNyZWF0ZShBdWRpb0lPQ2Fs
bGJhY2smIGNhbGxiCiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OlJlbW90ZUF1ZGlvRGVz
dGluYXRpb25Qcm94eShBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNrLCBjb25zdCBTdHJpbmcmIGlu
cHV0RGV2aWNlSWQsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVt
YmVyT2ZPdXRwdXRDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSkKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICA6IFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25Db2NvYShjYWxsYmFjaywgbnVtYmVy
T2ZPdXRwdXRDaGFubmVscywgc2FtcGxlUmF0ZSwgZmFsc2UpCisgICAgLCBtX251bWJlck9mRnJh
bWVzKGhhcmR3YXJlU2FtcGxlUmF0ZSgpICogcmluZ0J1ZmZlclNpemVJblNlY29uZCkKICAgICAs
IG1fcmluZ0J1ZmZlcihtYWtlVW5pcXVlPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4obWFrZVVuaXF1
ZVJlZjxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4odGhpcykpKQorICAgICwgbV9pbnB1dERldmlj
ZUlkKGlucHV0RGV2aWNlSWQpCisjZWxzZQorICAgIDogbV9pbnB1dERldmljZUlkKGlucHV0RGV2
aWNlSWQpCiAjZW5kaWYKKyAgICAsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzKG51bWJlck9mSW5w
dXRDaGFubmVscykKIHsKLSAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllciBkZXN0
aW5hdGlvbklEOwotCi0gICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Ci0gICAgY29ubmVjdGlvbi5jb25uZWN0
aW9uKCkuc2VuZFN5bmMoCi0gICAgICAgIE1lc3NhZ2VzOjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
TWFuYWdlcjo6Q3JlYXRlQXVkaW9EZXN0aW5hdGlvbihpbnB1dERldmljZUlkLCBudW1iZXJPZklu
cHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIHNhbXBsZVJhdGUsIGhhcmR3YXJl
U2FtcGxlUmF0ZSgpKSwKLSAgICAgICAgTWVzc2FnZXM6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25N
YW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShkZXN0aW5hdGlvbklEKSwgMCk7
Ci0KICAgICBhdXRvIG9mZlRocmVhZFJlbmRlcmluZyA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyldKCkgbXV0YWJsZSB7CiAgICAgICAgIHdoaWxlICghbV90aHJlYWRUYXNr
UXVldWUuaXNLaWxsZWQoKSkgewogICAgICAgICAgICAgaWYgKGF1dG8gdGFzayA9IG1fdGhyZWFk
VGFza1F1ZXVlLndhaXRGb3JNZXNzYWdlKCkpCkBAIC03NSwxNCArNzIsMjYgQEAgUmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5OjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkoQXVkaW9JT0Nh
bGxiYWNrJiBjYWxsYmEKICAgICB9OwogICAgIG1fcmVuZGVyVGhyZWFkID0gVGhyZWFkOjpjcmVh
dGUoIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eSByZW5kZXIgdGhyZWFkIiwgV1RGTW92ZShv
ZmZUaHJlYWRSZW5kZXJpbmcpLCBUaHJlYWRUeXBlOjpBdWRpbyk7CiAKKyAgICBjb25uZWN0VG9H
UFVQcm9jZXNzKCk7Cit9CisKK3ZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Ojpjb25u
ZWN0VG9HUFVQcm9jZXNzKCkKK3sKKyAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmll
ciBkZXN0aW5hdGlvbklEOworCisgICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAgY29ubmVjdGlvbi5h
ZGRDbGllbnQoKnRoaXMpOworICAgIGNvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmRTeW5jKAor
ICAgICAgICBNZXNzYWdlczo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OkNyZWF0ZUF1
ZGlvRGVzdGluYXRpb24obV9pbnB1dERldmljZUlkLCBtX251bWJlck9mSW5wdXRDaGFubmVscywg
bnVtYmVyT2ZPdXRwdXRDaGFubmVscygpLCBzYW1wbGVSYXRlKCksIGhhcmR3YXJlU2FtcGxlUmF0
ZSgpKSwKKyAgICAgICAgTWVzc2FnZXM6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpD
cmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShkZXN0aW5hdGlvbklEKSwgMCk7CiAgICAgY29u
bmVjdGlvbi5jb25uZWN0aW9uKCkuYWRkVGhyZWFkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpS
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcywg
ZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpKTsKIAogICAgIG1fZGVzdGluYXRpb25JRCA9IGRlc3Rp
bmF0aW9uSUQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBtX2N1cnJlbnRGcmFtZSA9IDA7
CiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIHN0cmVhbUZvcm1hdDsKICAgICBnZXRB
dWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24oc3RyZWFtRm9ybWF0KTsKLSAgICBtX251bWJlck9m
RnJhbWVzID0gaGFyZHdhcmVTYW1wbGVSYXRlKCkgKiByaW5nQnVmZmVyU2l6ZUluU2Vjb25kOwog
ICAgIG1fcmluZ0J1ZmZlci0+YWxsb2NhdGUoc3RyZWFtRm9ybWF0LCBtX251bWJlck9mRnJhbWVz
KTsKICAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0
PihzdHJlYW1Gb3JtYXQpOwogI2VuZGlmCkBAIC0xODcsNiArMTk2LDE2IEBAIHZvaWQgUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5OjpzdG9yYWdlQ2hhbmdlZChTaGFyZWRNZW1vcnkqIHN0b3Jh
Z2UpCiB9CiAjZW5kaWYKIAordm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OmdwdVBy
b2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIG9sZENvbm5lY3Rp
b24pCit7CisgICAgb2xkQ29ubmVjdGlvbi5yZW1vdmVDbGllbnQoKnRoaXMpOworCisgICAgY29u
bmVjdFRvR1BVUHJvY2VzcygpOworCisgICAgaWYgKGlzUGxheWluZygpKQorICAgICAgICBzdGFy
dChzdGQ6OmV4Y2hhbmdlKG1fZGlzcGF0Y2hUb1JlbmRlclRocmVhZCwgbnVsbHB0ciksIFtdKGJv
b2wpIHsgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlv
blByb3h5LmgKaW5kZXggOGRhNWVkNDc4NzljNDFiZmZjNWIwMmQ4MjM0NWZlNzUzNjc4ZWJlMy4u
YzEwYWZjN2JlYjhhZjI3ZWIxMjMxZDYxNGQxZGYwZTNhMDJlNGFiZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlv
RGVzdGluYXRpb25Qcm94eS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9EZXN0
aW5hdGlvbklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzU3VwcGxlbWVudC5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9JT0NhbGxiYWNrLmg+CkBAIC01Niw2ICs1Nyw3IEBAIGNs
YXNzIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eQogI2Vsc2UKICAgICA6IHB1YmxpYyBXZWJD
b3JlOjpBdWRpb0Rlc3RpbmF0aW9uCiAjZW5kaWYKKyAgICAsIHB1YmxpYyBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6Q2xpZW50CiAgICAgLCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNz
YWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbW90ZUF1ZGlvRGVzdGlu
YXRpb25Qcm94eSk7CiBwdWJsaWM6CkBAIC03OCw2ICs4MCwxMSBAQCBwcml2YXRlOgogICAgIHZv
aWQgc3RhcnQoRnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lkKCk+JiYpPiYmIGRpc3BhdGNoVG9S
ZW5kZXJUaHJlYWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogICAg
IHZvaWQgc3RvcChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsKIAorICAg
IHZvaWQgY29ubmVjdFRvR1BVUHJvY2VzcygpOworCisgICAgLy8gR1BVUHJvY2Vzc0Nvbm5lY3Rp
b246OkNsaWVudC4KKyAgICB2b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mKSBmaW5hbDsKKwogI2lmICFQTEFURk9STShDT0NPQSkKICAgICBib29s
IGlzUGxheWluZygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBzZXRJc1BsYXlp
bmcoYm9vbCkgeyB9CkBAIC0xMDYsNiArMTEzLDkgQEAgcHJpdmF0ZToKICAgICB1aW50NjRfdCBt
X2N1cnJlbnRGcmFtZSB7IDAgfTsKICNlbmRpZgogCisgICAgU3RyaW5nIG1faW5wdXREZXZpY2VJ
ZDsKKyAgICB1bnNpZ25lZCBtX251bWJlck9mSW5wdXRDaGFubmVsczsKKwogICAgIEZ1bmN0aW9u
PHZvaWQoRnVuY3Rpb248dm9pZCgpPiYmKT4gbV9kaXNwYXRjaFRvUmVuZGVyVGhyZWFkOwogICAg
IFJlZlB0cjxUaHJlYWQ+IG1fcmVuZGVyVGhyZWFkOwogICAgIENyb3NzVGhyZWFkUXVldWU8RnVu
Y3Rpb248dm9pZCgpPj4gbV90aHJlYWRUYXNrUXVldWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKaW5kZXggMzZkY2FjMjZlMWIxYzBiNzYwNzFhOGZmMDJmZWFjYmI4OTcz
ZTU5MC4uYjc2ZjExOTVjZWU2OTZiNzU4MWIxNjU2M2JlMzM1MjZmYWM5ZGExYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTMwMywxMCArMTMwMywxMCBAQCBH
UFVQcm9jZXNzQ29ubmVjdGlvbiYgV2ViUHJvY2Vzczo6ZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24oKQogICAgIHJldHVybiAqbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKIH0KIAotdm9pZCBXZWJQ
cm9jZXNzOjpncHVQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChHUFVQcm9jZXNzQ29ubmVjdGlvbiog
Y29ubmVjdGlvbikKK3ZvaWQgV2ViUHJvY2Vzczo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQo
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAgICAgQVNTRVJUKG1fZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24pOwotICAgIEFTU0VSVF9VTlVTRUQoY29ubmVjdGlvbiwgbV9ncHVQcm9j
ZXNzQ29ubmVjdGlvbiA9PSBjb25uZWN0aW9uKTsKKyAgICBBU1NFUlRfVU5VU0VEKGNvbm5lY3Rp
b24sIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24gPT0gJmNvbm5lY3Rpb24pOwogCiAgICAgbV9ncHVQ
cm9jZXNzQ29ubmVjdGlvbiA9IG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAppbmRleCA3MThiZmIyNjE4MDk1ZTQ2NTNkOGU2NDRkMjAwMmY5ZjVjMDc0NzM1Li40
ZGUyNjE0OTU0NGZkZTNkODZkMzkwZThkZWZkZDgyM2ZkMDg5MmY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTIyNSw3ICsyMjUsNyBAQCBwdWJsaWM6CiAKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCiAgICAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGVuc3VyZUdQVVBy
b2Nlc3NDb25uZWN0aW9uKCk7Ci0gICAgdm9pZCBncHVQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChH
UFVQcm9jZXNzQ29ubmVjdGlvbiopOworICAgIHZvaWQgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb25DbG9z
ZWQoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKTsKICAgICBHUFVQcm9jZXNzQ29ubmVjdGlvbiogZXhp
c3RpbmdHUFVQcm9jZXNzQ29ubmVjdGlvbigpIHsgcmV0dXJuIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b24uZ2V0KCk7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDgyOTI4M2Vk
ZWUzOWQ5MjMwZGViMmY3N2JlZGRlMDBmOTljMTg0YWMuLmI1YjA5ZGVjNDFlODM3Yjc3NzJmNTll
NTJmYmU4MmRiYWM2NjFkYjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMS0xMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQcm9jZXNzXSBTZWFtbGVzc2x5IHJlc3Vt
ZSBXZWJBdWRpbyBwbGF5YmFjayBpZiB0aGUgR1BVIFByb2Nlc3MgY3Jhc2hlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4ODA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIEFQSSB0ZXN0IGNv
dmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HUFVQ
cm9jZXNzLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjAtMTEtMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBHUFVQcm9jZXNzIGRvZXMgbm90IHByb3Blcmx5
IGdldCByZWxhdW5jaGVkIGFmdGVyIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dQVVByb2Nlc3MubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0dQVVByb2Nlc3MubW0KaW5kZXggM2EyOWE2MDBiNDU5Y2U0
M2JkMDI3YzRmOTExYTc5M2YwNWEyNWMxOC4uZjA3ZGFiOGYyYTk4ZWE5ZWM3NmI5OTU4Yzg4NTE1
YTZjNmJjZTJiZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9HUFVQcm9jZXNzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvR1BVUHJvY2Vzcy5tbQpAQCAtNDgsNiArNDgsMTUgQEAgVEVTVChHUFVQcm9jZXNzLCBS
ZWxhdW5jaE9uQ3Jhc2gpCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA0MDAsIDQwMCkgY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNs
eUxvYWRUZXN0UGFnZU5hbWVkOkAiYXVkaW8tY29udGV4dC1wbGF5aW5nIl07CiAKKyAgICAvLyBl
dmFsdWF0ZUphdmFTY3JpcHQgZ2l2ZXMgdXMgdGhlIHVzZXIgZ2VzdHVyZSB3ZSBuZWVkIHRvIHJl
bGlhYmx5IHN0YXJ0IGF1ZGlvIHBsYXliYWNrIG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgX19ibG9j
ayBib29sIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJz
dGFydFBsYXlpbmcoKSIgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVy
cm9yKSB7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBhdXRvIHdlYlZpZXdQSUQgPSBbd2ViVmlldyBfd2Vi
UHJvY2Vzc0lkZW50aWZpZXJdOworCiAgICAgYXV0byogcHJvY2Vzc1Bvb2wgPSBjb25maWd1cmF0
aW9uLmdldCgpLnByb2Nlc3NQb29sOwogICAgIHVuc2lnbmVkIHRpbWVvdXQgPSAwOwogICAgIHdo
aWxlICghW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl0gJiYgdGltZW91dCsrIDwg
MTAwKQpAQCAtNTcsMTMgKzY2LDI2IEBAIFRFU1QoR1BVUHJvY2VzcywgUmVsYXVuY2hPbkNyYXNo
KQogICAgIGlmICghW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl0pCiAgICAgICAg
IHJldHVybjsKIAotICAgIGF1dG8gaW5pdGlhbFBJRCA9IFtwcm9jZXNzUG9vbCBfZ3B1UHJvY2Vz
c0lkZW50aWZpZXJdOwotICAgIGtpbGwoaW5pdGlhbFBJRCwgOSk7CisgICAgdGltZW91dCA9IDA7
CisgICAgd2hpbGUgKCFbd2ViVmlldyBfaXNQbGF5aW5nQXVkaW9dICYmIHRpbWVvdXQrKyA8IDEw
MCkKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC4xKTsKKyAgICBFWFBFQ1Rf
VFJVRShbd2ViVmlldyBfaXNQbGF5aW5nQXVkaW9dKTsKKworICAgIGF1dG8gaW5pdGlhbEdQVVBy
b2Nlc3NQSUQgPSBbcHJvY2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBraWxs
KGluaXRpYWxHUFVQcm9jZXNzUElELCA5KTsKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGUgR1BVIHBy
b2Nlc3MgZ2V0cyByZWxhdW5jaGVkLgogICAgIHRpbWVvdXQgPSAwOwotICAgIHdoaWxlICgoIVtw
cm9jZXNzUG9vbCBfZ3B1UHJvY2Vzc0lkZW50aWZpZXJdIHx8IFtwcm9jZXNzUG9vbCBfZ3B1UHJv
Y2Vzc0lkZW50aWZpZXJdID09IGluaXRpYWxQSUQpICYmIHRpbWVvdXQrKyA8IDEwMCkKKyAgICB3
aGlsZSAoKCFbcHJvY2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSB8fCBbcHJvY2Vzc1Bv
b2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSA9PSBpbml0aWFsR1BVUHJvY2Vzc1BJRCkgJiYgdGlt
ZW91dCsrIDwgMTAwKQogICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjEpOwog
ICAgIEVYUEVDVF9ORShbcHJvY2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSwgMCk7Ci0g
ICAgRVhQRUNUX05FKFtwcm9jZXNzUG9vbCBfZ3B1UHJvY2Vzc0lkZW50aWZpZXJdLCBpbml0aWFs
UElEKTsKKyAgICBFWFBFQ1RfTkUoW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl0s
IGluaXRpYWxHUFVQcm9jZXNzUElEKTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgV2ViVmlldydz
IFdlYlByb2Nlc3MgZGlkIG5vdCBjcmFzaCBvciBnZXQgdGVybWluYXRlZC4KKyAgICBFWFBFQ1Rf
RVEod2ViVmlld1BJRCwgW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXSk7CisKKyAgICB0
aW1lb3V0ID0gMDsKKyAgICB3aGlsZSAoIVt3ZWJWaWV3IF9pc1BsYXlpbmdBdWRpb10gJiYgdGlt
ZW91dCsrIDwgMTAwKQorICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjEpOwor
ICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9pc1BsYXlpbmdBdWRpb10pOwogfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRpby1jb250ZXh0LXBs
YXlpbmcuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXVkaW8t
Y29udGV4dC1wbGF5aW5nLmh0bWwKaW5kZXggNjdlOGY1YjMzYzE2MzNlOWEzOGY4MDNiZDE5MzA5
MDA2MzQyZjc5Zi4uOGRmMzBmYzg3MGQ4NDYwODBhYzMxN2UyOWZjMDI4NzljNzllZjg3NCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRpby1jb250
ZXh0LXBsYXlpbmcuaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL2F1ZGlvLWNvbnRleHQtcGxheWluZy5odG1sCkBAIC0yLDEwICsyLDEzIEBACiA8aHRtbD4K
IDxib2R5PgogPHNjcmlwdD4KLWxldCBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOwotbGV0
IG9zY2lsbGF0b3IgPSBuZXcgT3NjaWxsYXRvck5vZGUoY29udGV4dCk7Ci1vc2NpbGxhdG9yLmNv
bm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7Ci1vc2NpbGxhdG9yLnN0YXJ0KCk7CitmdW5jdGlv
biBzdGFydFBsYXlpbmcoKQoreworICAgIGxldCBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgp
OworICAgIGxldCBvc2NpbGxhdG9yID0gbmV3IE9zY2lsbGF0b3JOb2RlKGNvbnRleHQpOworICAg
IG9zY2lsbGF0b3IuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsKKyAgICBvc2NpbGxhdG9y
LnN0YXJ0KCk7Cit9CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413838</attachid>
            <date>2020-11-11 10:33:33 -0800</date>
            <delta_ts>2020-11-11 12:17:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218806-20201111103332.patch</filename>
            <type>text/plain</type>
            <size>17557</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM1N2I0NTZlMDUzNjZh
OTgwZDZhZDNjZDBmNzdlOGRlMGRlZTRhZi4uMThmZWJiY2EyOTM3MzgzNmEzMzZiZWQ2NTZhYWFi
YTBlZDUwMTdmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVByb2Nlc3NdIFNlYW1s
ZXNzbHkgcmVzdW1lIFdlYkF1ZGlvIHBsYXliYWNrIGlmIHRoZSBHUFUgUHJvY2VzcyBjcmFzaGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg4MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOgorICAgICAgICBFeHBvcnQg
ZnVuY3Rpb24gc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tIFdlYktpdCBsYXllci4KKwogMjAyMC0x
MS0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lu
dGVncmF0aW9uXSBFbmFibGUgdmVydGljYWwgYWxpZ25tZW50IG9uIHJlcGxhY2VkIGNvbnRlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYWMzNTkwN2JmY2IxMjJjZmJiMWMzY2U2ZWZmMjQ1ZThiMzVjNmQ4My4uNmU4
M2U2NjcxNDEyYTkxMDhjZjkzZTkyMjEzYjMzMjNjNWE0Mzc2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMyBAQAorMjAyMC0xMS0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFtHUFVQcm9jZXNzXSBTZWFtbGVzc2x5IHJlc3VtZSBXZWJBdWRpbyBwbGF5YmFjayBp
ZiB0aGUgR1BVIFByb2Nlc3MgY3Jhc2hlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE4ODA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW4gY2FzZSBvZiBhIEdQVSBwcm9jZXNzIGNyYXNoLCB3ZSB3ZXJl
IHByZXZpb3VzbHkgdGVybWluYXRpbmcgYWxsIFdlYlByb2Nlc3Nlcy4KKyAgICAgICAgVGhpcyBw
YXRjaCBtYWtlcyBpdCBzbyB0aGF0IFdlYlByb2Nlc3NlcyBhcmUgbm8gbG9uZ2VyIHRlcm1pbmF0
ZWQgaW4gc3VjaCBjYXNlcy4KKyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoIG1ha2Vz
IHN1cmUgdGhhdCBpZiBXZWJBdWRpbyBpcyByZW5kZXJpbmcgYXVkaW8gd2hpbGUKKyAgICAgICAg
dGhlIEdQVSBQcm9jZXNzIGNyYXNoZXMsIHRoZSBHUFUgcHJvY2VzcyB3aWxsIGdldCByZWxhdW5j
aGVkIHJpZ2h0IGF3YXkgYW5kCisgICAgICAgIGF1ZGlvIHJlbmRlcmluZyB3aWxsIHNlYW1sZXNz
bHkgY29udGludWUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpHUFVQ
cm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKToK
KyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmFkZENsaWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpyZW1vdmVDbGllbnQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eTo6UmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQXVkaW9EZXN0aW5h
dGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5OjpncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpncHVQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIwMjAtMTEtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBHUFVQcm9jZXNzIGRvZXMgbm90IHByb3Blcmx5IGdldCBy
ZWxhdW5jaGVkIGFmdGVyIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCmluZGV4IGJkMGIy
MGJmZjdlOWEwZWMzMDFmMjU5ZTA2NjQ0MWU1OWZiZjNjMDcuLjRjM2YyZTc1ZjU4YjQzOWRlNDRl
ODRhZTU0MzZjODVmMTg5MWM3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oCkBAIC02MCw3ICs2
MCw3IEBAIHByb3RlY3RlZDoKICAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9jb250ZXh0U2FtcGxlUmF0ZTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVk
IGZyYW1lc1BlckJ1ZmZlcigpIGNvbnN0IGZpbmFsOwogCi0gICAgdW5zaWduZWQgbnVtYmVyT2ZP
dXRwdXRDaGFubmVscygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIG51bWJl
ck9mT3V0cHV0Q2hhbm5lbHMoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0
QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOWQ5
MmQzMDRiODVjMDFjZjc0MzA0YTE0ZjNjNmVkYTczYjY0ZjA5ZC4uNjM0ODAwYjI4ODMyMGJmOTQ3
MjQ2OTM2N2E5YTQyMjNmZjIzYjM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNDk1LDggKzQ5NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6Omdw
dVByb2Nlc3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogICAgIGZvciAoYXV0byYgcHJv
Y2VzcyA6IHByb2Nlc3NlcykKICAgICAgICAgcHJvY2Vzcy0+Z3B1UHJvY2Vzc0NyYXNoZWQoKTsK
IAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYXZvaWQgdGVybWluYXRpbmcgYWxsIFdlYlByb2Nl
c3NlcyB3aGVuZXZlciB0aGUgR1BVUHJvY2VzcyBjcmFzaGVzLgotICAgIHRlcm1pbmF0ZUFsbFdl
YkNvbnRlbnRQcm9jZXNzZXMoKTsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNvbnNpZGVyIHRl
cm1pbmF0aW5nIGFsbCBXZWJQcm9jZXNzZXMgd2hlbmV2ZXIgdGhlIEdQVVByb2Nlc3MgY3Jhc2hl
cyBzZXZlcmFsIHRpbWVzIGluIGEgc2hvcnQgYW1vdW50IG9mIHRpbWUuCiB9CiAKIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2Vi
UHJvY2Vzc1Byb3h5LCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGRkOGYxYmVmYTU4
NzZjYWQ1OTcwOTc5YmYxNWU4YTE1N2M5NGM3M2MuLjFjZDNjNTA0N2Y4YTQzNmYyMjA0ZDUyOTVi
Y2M4OGFjNzhlOTU2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC04Miw2ICs4MiwxMiBAQCBHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6fkdQVVByb2Nlc3NDb25uZWN0aW9uKCkKIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikKIHsKKyAgICBhdXRvIHByb3RlY3Rv
ciA9IG1ha2VSZWYoKnRoaXMpOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmdwdVByb2Nl
c3NDb25uZWN0aW9uQ2xvc2VkKCp0aGlzKTsKKworICAgIGF1dG8gY2xpZW50cyA9IG1fY2xpZW50
czsKKyAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNsaWVudHMpCisgICAgICAgIGNsaWVudC5ncHVQ
cm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKCp0aGlzKTsKIH0KIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
TWVzc2FnZU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggNzIyOTE5ZmNkMDhmYzg2Njk3OTc3ZWM2YzJkMzA0MGE0
ZGIzMDYxOS4uNjNkNGViZTIwMGFiMWYzNjVhODNlZmUzZTEzZmY2NTRkNTdiOGJmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7CkBAIC04Niw2
ICs4NywxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZQU1dEZWNvZGVyRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5hYmxlVlA5U1dEZWNvZGVyOyB9CiAjZW5kaWYKIAorICAgIGNsYXNzIENs
aWVudCA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDbGllbnQ+IHsKKyAgICBwdWJsaWM6CisgICAg
ICAgIHZpcnR1YWwgfkNsaWVudCgpID0gZGVmYXVsdDsKKworICAgICAgICB2aXJ0dWFsIHZvaWQg
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpIHsgfQor
ICAgIH07CisgICAgdm9pZCBhZGRDbGllbnQoQ2xpZW50JiBjbGllbnQpIHsgbV9jbGllbnRzLmFk
ZChjbGllbnQpOyB9CisgICAgdm9pZCByZW1vdmVDbGllbnQoQ2xpZW50JiBjbGllbnQpIHsgbV9j
bGllbnRzLnJlbW92ZShjbGllbnQpOyB9CisKIHByaXZhdGU6CiAgICAgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24oSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIApAQCAtMTE3LDYgKzEyNyw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2VuYWJsZVZQOURlY29kZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9lbmFibGVWUDlTV0RlY29kZXIgeyBmYWxzZSB9OwogI2VuZGlmCisgICAgV2Vha0hhc2hT
ZXQ8Q2xpZW50PiBtX2NsaWVudHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcAppbmRleCA2ZTgzMDM4ODM0OWJjZDUyMTY4NTBj
OWQwOGRiMzg3OWY0YmQyY2M1Li42MTIwMzJiM2U2ZTY5ZTJjOGU4MzZjM2U5OGEwMWU2MmQxMzhh
MWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5j
bHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIkdQVVByb2Nlc3ND
b25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgpAQCAtNTcsMTYgKzU2LDE0IEBAIFJlZjxBdWRpb0Rl
c3RpbmF0aW9uPiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OmNyZWF0ZShBdWRpb0lPQ2Fs
bGJhY2smIGNhbGxiCiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OlJlbW90ZUF1ZGlvRGVz
dGluYXRpb25Qcm94eShBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNrLCBjb25zdCBTdHJpbmcmIGlu
cHV0RGV2aWNlSWQsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVt
YmVyT2ZPdXRwdXRDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSkKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICA6IFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25Db2NvYShjYWxsYmFjaywgbnVtYmVy
T2ZPdXRwdXRDaGFubmVscywgc2FtcGxlUmF0ZSwgZmFsc2UpCisgICAgLCBtX251bWJlck9mRnJh
bWVzKGhhcmR3YXJlU2FtcGxlUmF0ZSgpICogcmluZ0J1ZmZlclNpemVJblNlY29uZCkKICAgICAs
IG1fcmluZ0J1ZmZlcihtYWtlVW5pcXVlPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4obWFrZVVuaXF1
ZVJlZjxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4odGhpcykpKQorI2Vsc2UKKyAgICA6IG1fbnVt
YmVyT2ZPdXRwdXRDaGFubmVscyhudW1iZXJPZk91dHB1dENoYW5uZWxzKQogI2VuZGlmCisgICAg
LCBtX2lucHV0RGV2aWNlSWQoaW5wdXREZXZpY2VJZCkKKyAgICAsIG1fbnVtYmVyT2ZJbnB1dENo
YW5uZWxzKG51bWJlck9mSW5wdXRDaGFubmVscykKIHsKLSAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uSWRlbnRpZmllciBkZXN0aW5hdGlvbklEOwotCi0gICAgYXV0byYgY29ubmVjdGlvbiA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Ci0gICAg
Y29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoCi0gICAgICAgIE1lc3NhZ2VzOjpSZW1v
dGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6Q3JlYXRlQXVkaW9EZXN0aW5hdGlvbihpbnB1dERl
dmljZUlkLCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIHNh
bXBsZVJhdGUsIGhhcmR3YXJlU2FtcGxlUmF0ZSgpKSwKLSAgICAgICAgTWVzc2FnZXM6OlJlbW90
ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShk
ZXN0aW5hdGlvbklEKSwgMCk7Ci0KICAgICBhdXRvIG9mZlRocmVhZFJlbmRlcmluZyA9IFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKCkgbXV0YWJsZSB7CiAgICAgICAgIHdo
aWxlICghbV90aHJlYWRUYXNrUXVldWUuaXNLaWxsZWQoKSkgewogICAgICAgICAgICAgaWYgKGF1
dG8gdGFzayA9IG1fdGhyZWFkVGFza1F1ZXVlLndhaXRGb3JNZXNzYWdlKCkpCkBAIC03NSwxNCAr
NzIsMjYgQEAgUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpSZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uUHJveHkoQXVkaW9JT0NhbGxiYWNrJiBjYWxsYmEKICAgICB9OwogICAgIG1fcmVuZGVyVGhy
ZWFkID0gVGhyZWFkOjpjcmVhdGUoIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eSByZW5kZXIg
dGhyZWFkIiwgV1RGTW92ZShvZmZUaHJlYWRSZW5kZXJpbmcpLCBUaHJlYWRUeXBlOjpBdWRpbyk7
CiAKKyAgICBjb25uZWN0VG9HUFVQcm9jZXNzKCk7Cit9CisKK3ZvaWQgUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKCkKK3sKKyAgICBSZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uSWRlbnRpZmllciBkZXN0aW5hdGlvbklEOworCisgICAgYXV0byYgY29ubmVjdGlv
biA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7
CisgICAgY29ubmVjdGlvbi5hZGRDbGllbnQoKnRoaXMpOworICAgIGNvbm5lY3Rpb24uY29ubmVj
dGlvbigpLnNlbmRTeW5jKAorICAgICAgICBNZXNzYWdlczo6UmVtb3RlQXVkaW9EZXN0aW5hdGlv
bk1hbmFnZXI6OkNyZWF0ZUF1ZGlvRGVzdGluYXRpb24obV9pbnB1dERldmljZUlkLCBtX251bWJl
ck9mSW5wdXRDaGFubmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscygpLCBzYW1wbGVSYXRlKCks
IGhhcmR3YXJlU2FtcGxlUmF0ZSgpKSwKKyAgICAgICAgTWVzc2FnZXM6OlJlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShkZXN0aW5hdGlv
bklEKSwgMCk7CiAgICAgY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuYWRkVGhyZWFkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSwgdGhpcywgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpKTsKIAogICAgIG1fZGVz
dGluYXRpb25JRCA9IGRlc3RpbmF0aW9uSUQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKKyAgICBt
X2N1cnJlbnRGcmFtZSA9IDA7CiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uIHN0cmVh
bUZvcm1hdDsKICAgICBnZXRBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24oc3RyZWFtRm9ybWF0
KTsKLSAgICBtX251bWJlck9mRnJhbWVzID0gaGFyZHdhcmVTYW1wbGVSYXRlKCkgKiByaW5nQnVm
ZmVyU2l6ZUluU2Vjb25kOwogICAgIG1fcmluZ0J1ZmZlci0+YWxsb2NhdGUoc3RyZWFtRm9ybWF0
LCBtX251bWJlck9mRnJhbWVzKTsKICAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8
V2ViQXVkaW9CdWZmZXJMaXN0PihzdHJlYW1Gb3JtYXQpOwogI2VuZGlmCkBAIC0xODcsNiArMTk2
LDE2IEBAIHZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5OjpzdG9yYWdlQ2hhbmdlZChT
aGFyZWRNZW1vcnkqIHN0b3JhZ2UpCiB9CiAjZW5kaWYKIAordm9pZCBSZW1vdGVBdWRpb0Rlc3Rp
bmF0aW9uUHJveHk6OmdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24mIG9sZENvbm5lY3Rpb24pCit7CisgICAgb2xkQ29ubmVjdGlvbi5yZW1vdmVDbGllbnQo
KnRoaXMpOworCisgICAgY29ubmVjdFRvR1BVUHJvY2VzcygpOworCisgICAgaWYgKGlzUGxheWlu
ZygpKQorICAgICAgICBzdGFydChzdGQ6OmV4Y2hhbmdlKG1fZGlzcGF0Y2hUb1JlbmRlclRocmVh
ZCwgbnVsbHB0ciksIFtdKGJvb2wpIHsgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmgKaW5kZXggOGRhNWVkNDc4NzljNDFiZmZjNWIwMmQ4
MjM0NWZlNzUzNjc4ZWJlMy4uOWZiNTAzYTEwYTdlMzA0MTk4NzIxZWM4ZjYxOGRiZTYzYmY1NWZi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVB
dWRpb0Rlc3RpbmF0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5oCkBAIC0yOCw2ICsyOCw3IEBACiAj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSAi
Q29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzU3VwcGxlbWVudC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9JT0NhbGxiYWNrLmg+CkBA
IC01Niw2ICs1Nyw3IEBAIGNsYXNzIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eQogI2Vsc2UK
ICAgICA6IHB1YmxpYyBXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uCiAjZW5kaWYKKyAgICAsIHB1
YmxpYyBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50CiAgICAgLCBwdWJsaWMgSVBDOjpDb25u
ZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eSk7CiBwdWJsaWM6CkBAIC03OCwxMSArODAsMTcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0KEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248dm9pZCgp
PiYmKT4mJiBkaXNwYXRjaFRvUmVuZGVyVGhyZWFkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmKSBmaW5hbDsKICAgICB2b2lkIHN0b3AoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJikgZmluYWw7CiAKKyAgICB2b2lkIGNvbm5lY3RUb0dQVVByb2Nlc3MoKTsKKworICAgIC8v
IEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQuCisgICAgdm9pZCBncHVQcm9jZXNzQ29ubmVj
dGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0aW9uJikgZmluYWw7CisKICNpZiAhUExBVEZP
Uk0oQ09DT0EpCiAgICAgYm9vbCBpc1BsYXlpbmcoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZvaWQgc2V0SXNQbGF5aW5nKGJvb2wpIHsgfQogICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiAwOyB9CiAgICAgdW5zaWduZWQgZnJhbWVzUGVyQnVmZmVyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gMDsgfQorICAgIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hh
bm5lbHMoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mT3V0cHV0Q2hhbm5lbHM7IH0KICNlbmRp
ZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0xMDQsOCArMTEyLDEzIEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVmZmVyOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYXVkaW9C
dWZmZXJMaXN0OwogICAgIHVpbnQ2NF90IG1fY3VycmVudEZyYW1lIHsgMCB9OworI2Vsc2UKKyAg
ICB1bnNpZ25lZCBtX251bWJlck9mT3V0cHV0Q2hhbm5lbHM7CiAjZW5kaWYKIAorICAgIFN0cmlu
ZyBtX2lucHV0RGV2aWNlSWQ7CisgICAgdW5zaWduZWQgbV9udW1iZXJPZklucHV0Q2hhbm5lbHM7
CisKICAgICBGdW5jdGlvbjx2b2lkKEZ1bmN0aW9uPHZvaWQoKT4mJik+IG1fZGlzcGF0Y2hUb1Jl
bmRlclRocmVhZDsKICAgICBSZWZQdHI8VGhyZWFkPiBtX3JlbmRlclRocmVhZDsKICAgICBDcm9z
c1RocmVhZFF1ZXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fdGhyZWFkVGFza1F1ZXVlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDM2ZGNhYzI2ZTFiMWMwYjc2MDcx
YThmZjAyZmVhY2JiODk3M2U1OTAuLmI3NmYxMTk1Y2VlNjk2Yjc1ODFiMTY1NjNiZTMzNTI2ZmFj
OWRhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTEzMDMs
MTAgKzEzMDMsMTAgQEAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIFdlYlByb2Nlc3M6OmVuc3VyZUdQ
VVByb2Nlc3NDb25uZWN0aW9uKCkKICAgICByZXR1cm4gKm1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247
CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQoR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24qIGNvbm5lY3Rpb24pCit2b2lkIFdlYlByb2Nlc3M6OmdwdVByb2Nlc3ND
b25uZWN0aW9uQ2xvc2VkKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogewogICAg
IEFTU0VSVChtX2dwdVByb2Nlc3NDb25uZWN0aW9uKTsKLSAgICBBU1NFUlRfVU5VU0VEKGNvbm5l
Y3Rpb24sIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24gPT0gY29ubmVjdGlvbik7CisgICAgQVNTRVJU
X1VOVVNFRChjb25uZWN0aW9uLCBtX2dwdVByb2Nlc3NDb25uZWN0aW9uID09ICZjb25uZWN0aW9u
KTsKIAogICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24gPSBudWxscHRyOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNzE4YmZiMjYxODA5NWU0NjUzZDhlNjQ0ZDIw
MDJmOWY1YzA3NDczNS4uNGRlMjYxNDk1NDRmZGUzZDg2ZDM5MGU4ZGVmZGQ4MjNmZDA4OTJmOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0yMjUsNyArMjI1LDcgQEAg
cHVibGljOgogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIEdQVVByb2Nlc3NDb25uZWN0
aW9uJiBlbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOwotICAgIHZvaWQgZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb25DbG9zZWQoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKKyAgICB2b2lkIGdwdVByb2Nl
c3NDb25uZWN0aW9uQ2xvc2VkKEdQVVByb2Nlc3NDb25uZWN0aW9uJik7CiAgICAgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24qIGV4aXN0aW5nR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKSB7IHJldHVybiBtX2dw
dVByb2Nlc3NDb25uZWN0aW9uLmdldCgpOyB9CiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA4MjkyODNlZGVlMzlkOTIzMGRlYjJmNzdiZWRkZTAwZjk5YzE4NGFjLi5iNWIwOWRl
YzQxZTgzN2I3NzcyZjU5ZTUyZmJlODJkYmFjNjYxZGI1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMTEg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUHJvY2Vzc10g
U2VhbWxlc3NseSByZXN1bWUgV2ViQXVkaW8gcGxheWJhY2sgaWYgdGhlIEdQVSBQcm9jZXNzIGNy
YXNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODgwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4
dGVuZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvR1BVUHJvY2Vzcy5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIwLTExLTEw
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgR1BVUHJvY2VzcyBk
b2VzIG5vdCBwcm9wZXJseSBnZXQgcmVsYXVuY2hlZCBhZnRlciBjcmFzaGluZwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HUFVQcm9jZXNzLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HUFVQcm9jZXNzLm1tCmluZGV4
IDNhMjlhNjAwYjQ1OWNlNDNiZDAyN2M0ZjkxMWE3OTNmMDVhMjVjMTguLmYwN2RhYjhmMmE5OGVh
OWVjNzZiOTk1OGM4ODUxNWE2YzZiY2UyYmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvR1BVUHJvY2Vzcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0dQVVByb2Nlc3MubW0KQEAgLTQ4LDYgKzQ4LDE1IEBAIFRF
U1QoR1BVUHJvY2VzcywgUmVsYXVuY2hPbkNyYXNoKQogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwg
NDAwLCA0MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIFt3ZWJW
aWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImF1ZGlvLWNvbnRleHQtcGxheWlu
ZyJdOwogCisgICAgLy8gZXZhbHVhdGVKYXZhU2NyaXB0IGdpdmVzIHVzIHRoZSB1c2VyIGdlc3R1
cmUgd2UgbmVlZCB0byByZWxpYWJseSBzdGFydCBhdWRpbyBwbGF5YmFjayBvbiBhbGwgcGxhdGZv
cm1zLgorICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgZXZhbHVh
dGVKYXZhU2NyaXB0OkAic3RhcnRQbGF5aW5nKCkiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgcmVz
dWx0LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgYXV0byB3ZWJWaWV3UElE
ID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKwogICAgIGF1dG8qIHByb2Nlc3NQ
b29sID0gY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbDsKICAgICB1bnNpZ25lZCB0aW1l
b3V0ID0gMDsKICAgICB3aGlsZSAoIVtwcm9jZXNzUG9vbCBfZ3B1UHJvY2Vzc0lkZW50aWZpZXJd
ICYmIHRpbWVvdXQrKyA8IDEwMCkKQEAgLTU3LDEzICs2NiwyNiBAQCBURVNUKEdQVVByb2Nlc3Ms
IFJlbGF1bmNoT25DcmFzaCkKICAgICBpZiAoIVtwcm9jZXNzUG9vbCBfZ3B1UHJvY2Vzc0lkZW50
aWZpZXJdKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGluaXRpYWxQSUQgPSBbcHJvY2Vz
c1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXTsKLSAgICBraWxsKGluaXRpYWxQSUQsIDkpOwor
ICAgIHRpbWVvdXQgPSAwOworICAgIHdoaWxlICghW3dlYlZpZXcgX2lzUGxheWluZ0F1ZGlvXSAm
JiB0aW1lb3V0KysgPCAxMDApCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAu
MSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2lzUGxheWluZ0F1ZGlvXSk7CisKKyAgICBh
dXRvIGluaXRpYWxHUFVQcm9jZXNzUElEID0gW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRp
Zmllcl07CisgICAga2lsbChpbml0aWFsR1BVUHJvY2Vzc1BJRCwgOSk7CiAKICAgICAvLyBNYWtl
IHN1cmUgdGhlIEdQVSBwcm9jZXNzIGdldHMgcmVsYXVuY2hlZC4KICAgICB0aW1lb3V0ID0gMDsK
LSAgICB3aGlsZSAoKCFbcHJvY2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSB8fCBbcHJv
Y2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVudGlmaWVyXSA9PSBpbml0aWFsUElEKSAmJiB0aW1lb3V0
KysgPCAxMDApCisgICAgd2hpbGUgKCghW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmll
cl0gfHwgW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRlbnRpZmllcl0gPT0gaW5pdGlhbEdQVVBy
b2Nlc3NQSUQpICYmIHRpbWVvdXQrKyA8IDEwMCkKICAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6c2xlZXAoMC4xKTsKICAgICBFWFBFQ1RfTkUoW3Byb2Nlc3NQb29sIF9ncHVQcm9jZXNzSWRl
bnRpZmllcl0sIDApOwotICAgIEVYUEVDVF9ORShbcHJvY2Vzc1Bvb2wgX2dwdVByb2Nlc3NJZGVu
dGlmaWVyXSwgaW5pdGlhbFBJRCk7CisgICAgRVhQRUNUX05FKFtwcm9jZXNzUG9vbCBfZ3B1UHJv
Y2Vzc0lkZW50aWZpZXJdLCBpbml0aWFsR1BVUHJvY2Vzc1BJRCk7CisKKyAgICAvLyBNYWtlIHN1
cmUgdGhlIFdlYlZpZXcncyBXZWJQcm9jZXNzIGRpZCBub3QgY3Jhc2ggb3IgZ2V0IHRlcm1pbmF0
ZWQuCisgICAgRVhQRUNUX0VRKHdlYlZpZXdQSUQsIFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRp
Zmllcl0pOworCisgICAgdGltZW91dCA9IDA7CisgICAgd2hpbGUgKCFbd2ViVmlldyBfaXNQbGF5
aW5nQXVkaW9dICYmIHRpbWVvdXQrKyA8IDEwMCkKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6c2xlZXAoMC4xKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfaXNQbGF5aW5nQXVkaW9d
KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
YXVkaW8tY29udGV4dC1wbGF5aW5nLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL2F1ZGlvLWNvbnRleHQtcGxheWluZy5odG1sCmluZGV4IDY3ZThmNWIzM2MxNjMz
ZTlhMzhmODAzYmQxOTMwOTAwNjM0MmY3OWYuLjhkZjMwZmM4NzBkODQ2MDgwYWMzMTdlMjlmYzAy
ODc5Yzc5ZWY4NzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvYXVkaW8tY29udGV4dC1wbGF5aW5nLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRpby1jb250ZXh0LXBsYXlpbmcuaHRtbApAQCAtMiwxMCAr
MiwxMyBAQAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1sZXQgY29udGV4dCA9IG5ldyBBdWRp
b0NvbnRleHQoKTsKLWxldCBvc2NpbGxhdG9yID0gbmV3IE9zY2lsbGF0b3JOb2RlKGNvbnRleHQp
Owotb3NjaWxsYXRvci5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pOwotb3NjaWxsYXRvci5z
dGFydCgpOworZnVuY3Rpb24gc3RhcnRQbGF5aW5nKCkKK3sKKyAgICBsZXQgY29udGV4dCA9IG5l
dyBBdWRpb0NvbnRleHQoKTsKKyAgICBsZXQgb3NjaWxsYXRvciA9IG5ldyBPc2NpbGxhdG9yTm9k
ZShjb250ZXh0KTsKKyAgICBvc2NpbGxhdG9yLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7
CisgICAgb3NjaWxsYXRvci5zdGFydCgpOworfQogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>