<?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>205317</bug_id>
          
          <creation_ts>2019-12-16 17:31:10 -0800</creation_ts>
          <short_desc>macCatalyst: Cursor should update on mouse movement and style change</short_desc>
          <delta_ts>2019-12-17 11:57:33 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1599232</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-12-16 17:31:10 -0800</bug_when>
    <thetext>macCatalyst: Cursor should update on mouse movement and style change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599233</commentid>
    <comment_count>1</comment_count>
      <attachid>385837</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-12-16 17:31:59 -0800</bug_when>
    <thetext>Created attachment 385837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599234</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-12-16 17:32:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/46793696&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599274</commentid>
    <comment_count>3</comment_count>
      <attachid>385851</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-12-16 20:59:55 -0800</bug_when>
    <thetext>Created attachment 385851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599488</commentid>
    <comment_count>4</comment_count>
      <attachid>385851</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-17 11:57:31 -0800</bug_when>
    <thetext>Comment on attachment 385851
Patch

Clearing flags on attachment: 385851

Committed r253636: &lt;https://trac.webkit.org/changeset/253636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599489</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-17 11:57:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385837</attachid>
            <date>2019-12-16 17:31:59 -0800</date>
            <delta_ts>2019-12-16 20:59:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205317-20191216173158.patch</filename>
            <type>text/plain</type>
            <size>36420</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM2ODExNTg4MTMwNzU4NTU3ZDJhNWRl
MDk2MTgwM2RjNWUxNTA3NGMuLjlhOTY5MDgwMjFiYzhhMzU4NTUyYTBjYWY1NDNkYTVmMWFkYzFh
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFjQ2F0YWx5c3Q6IEN1cnNvciBzaG91bGQg
dXBkYXRlIG9uIG1vdXNlIG1vdmVtZW50IGFuZCBzdHlsZSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTMxNworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDY3OTM2OTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKyAgICAgICAgTWFrZSBFTkFCTEVf
Q1VSU09SX1NVUFBPUlQgdHJ1ZSBvbiBpT1MsIGZvciBtYWNDYXRhbHlzdC4gVGhpcyByZXN1bHRz
CisgICAgICAgIGluIGl0IGJlaW5nIHRydWUgZXZlcnl3aGVyZSwgc28gcmVtb3ZlIGl0LgorCisg
ICAgICAgIEFkZCBhIG5ldyBFTkFCTEVfQ1VTVE9NX0NVUlNPUl9TVVBQT1JULCBpbmRpY2F0aW5n
IHdoZXRoZXIgd2Ugc3VwcG9ydAorICAgICAgICBjdXN0b20gYml0bWFwIGN1cnNvcnMuIEl0IGNv
dmVycyB0aGUgc3Vic2V0IG9mIEVOQUJMRV9DVVJTT1JfU1VQUE9SVAorICAgICAgICBjb2RlIHRo
YXQgd2Ugc3RpbGwgZG9uJ3Qgc3VwcG9ydCBpbiBtYWNDYXRhbHlzdC4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorICAgICAgICBBZGQgSEFWRV9ISVNFUlZJQ0VTICh0cnVlIG9uIG1hY09T
IGJ1dCBub3QgbWFjQ2F0YWx5c3QpIGFuZAorICAgICAgICBIQVZFX05TQ1VSU09SICh0cnVlIG9u
IG1hY09TIGFuZCBtYWNDYXRhbHlzdCBidXQgbm90IGUuZy4gaU9TKS4KKwogMjAxOS0xMi0wOSAg
RnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbTVNW
Q10gd3JpdGVOdW1iZXJUb0J1ZmZlclVuc2lnbmVkIGlzIHVuc2FmZSBmb3IgYm9vbCB0eXBlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggYjU5MGYyYWFjZjNmZTJjNWE4ZDlkYWUwZjFmOGM4NDY0YTY1MGE3YS4uZDZj
NjMyZGMyMDAxMjQzNmUwZTEzMGU3MjU0MmRjYmU2NzAzYjM2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDU5IEBACisyMDE5LTEyLTE2ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIG1hY0NhdGFseXN0OiBDdXJzb3Igc2hvdWxkIHVwZGF0ZSBvbiBtb3Vz
ZSBtb3ZlbWVudCBhbmQgc3R5bGUgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUzMTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ2Nzkz
Njk2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZzoKKyAgICAgICAgTGluayBBcHBLaXQgZm9y
IE5TQ3Vyc29yLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgUmVtb3Zl
IEN1cnNvcklPUy5jcHAuCisgICAgICAgIERlLXVuaWZ5IEN1cnNvck1hYzsgYmVjYXVzZSBpdCBp
bXBvcnRzIEFwcEtpdCBoZWFkZXJzLCB3ZSBoYXZlIHRvCisgICAgICAgIHRha2UgY2FyZSB0byBt
YWtlIHN1cmUgaXQgZG9lc24ndCBhbHNvIGdldCBXQUsgKHdoaWNoIGl0IGRvZXMgaWYgeW91Cisg
ICAgICAgIGxlYXZlIGl0IHVuaWZpZWQpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICBSZW1vdmUgQ3Vyc29ySU9TLmNwcCBhbmQgZGUtdW5p
ZnkgQ3Vyc29yTWFjIChieSBhZGRpbmcgaXQgdG8gdGhlIHRhcmdldCkKKworICAgICAgICAqIGxv
YWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWU6OnNldEN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6
OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyk6CisgICAgICAgIFVuaWZkZWYgbWFueSB0
aGluZ3MuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50OjpzdXBwb3J0c1NldHRpbmdDdXJzb3IpOgorICAgICAgICBBZGQgYSBD
aHJvbWVDbGllbnQgYml0LCBzdXBwb3J0c1NldHRpbmdDdXJzb3IsIHdoaWNoIGNhbiBiZSB1c2Vk
CisgICAgICAgIHRvIGd1YXJkIHdvcmsgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIGlmIGEgcGxhdGZv
cm0gZG9lc24ndCBzdXBwb3J0CisgICAgICAgIHB1c2hpbmcgY3Vyc29yIHVwZGF0ZXMgb3V0IGZy
b20gV2ViQ29yZS4gVGhpcyB3aWxsIGJlIHRydWUgZXZlcnl3aGVyZQorICAgICAgICBleGNlcHQg
aU9TLCBhbmQgZG9lcyB0aGUgd29yayBvZiB0aGUgb2xkIHBsYXRmb3JtIGlmZGVmcy4KKworICAg
ICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xl
YXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp1cGRhdGVDdXJzb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6OnNjaGVkdWxlQ3Vyc29yVXBkYXRlKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL0N1cnNvci5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgIFVuaWZkZWYsIGFuZCB1c2Ugc3VwcG9ydHNT
ZXR0aW5nQ3Vyc29yIHRvIGF2b2lkIHNvbWUgdW5uZWNlc3Nhcnkgd29yay4KKworICAgICAgICAq
IHBsYXRmb3JtL2lvcy9DdXJzb3JJT1MuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9XaWRnZXRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6
CisgICAgICAgIFByb3BhZ2F0ZSBjdXJzb3IgY2hhbmdlcyB1cHdhcmRzLgorCisgICAgICAgICog
cGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmN1cnNvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yIGNvbnN0KToKKyAg
ICAgICAgQ3Vyc29yTWFjIGlzIG5vdyBidWlsdCBpbiBtYWNDYXRhbHlzdC4gSG93ZXZlciwgcGFy
dHMgdGhhdCBkZXBlbmQKKyAgICAgICAgb24gSElTZXJ2aWNlcyBvciBOU0ltYWdlIGFyZSAjaWZk
ZWZmZWQgb3V0LCBhbmQgZmFsbCBiYWNrIHRvIGFuIGFycm93LgorCiAyMDE5LTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5aW5nIHRvIHNldCB0b1N0
cmluZyAvIHZhbHVlT2Ygb24gYSBjcm9zcy1vcmlnaW4gTG9jYXRpb24gb2JqZWN0IHNob3VsZCB0
aHJvdyBhIFNlY3VyaXR5RXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGQ3NjJhZDlhMzg2ODM0OTI1OGMwMmM5
NjJmOTVmZjkzYWYyNTczNy4uMGE5Nzk4YzY2MmU0OTcyMTczZjQ3NDkzZDc5ZDIzYWUzNjczYjAw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxOS0xMi0xNiAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBtYWNDYXRhbHlzdDogQ3Vyc29yIHNo
b3VsZCB1cGRhdGUgb24gbW91c2UgbW92ZW1lbnQgYW5kIHN0eWxlIGNoYW5nZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MzE3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80Njc5MzY5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAg
ICAgTGluayBBcHBLaXQgZm9yIE5TQ3Vyc29yLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Q3Vyc29yPjo6
ZGVjb2RlKToKKyAgICAgICAgRW5hYmxlIEN1cnNvciBlbmNvZGVycy4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6
OnNldEN1cnNvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgIFVuaWZkZWYgdmFyaW91cyB0aGluZ3MuCisgICAgICAgIElt
cGxlbWVudCBzZXRDdXJzb3IoKS4KKwogMjAxOS0xMi0xMSAgSmlld2VuIFRhbiAgPGppZXdlbl90
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGEgbml0IGFmdGVyIHIyNTMzNjYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZwppbmRleCBkM2YwMjkzMjYzMTA3MjM3ZGU3MThlNzIy
ZjVjNTY3ZWMxZWU5MTg0Li44ZGFjN2RmNjJiNmM4MjgwYjNjN2JmMDE2MGU2YWFkMDlhNGE1NDM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTIt
MTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFj
Q2F0YWx5c3Q6IEN1cnNvciBzaG91bGQgdXBkYXRlIG9uIG1vdXNlIG1vdmVtZW50IGFuZCBzdHls
ZSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTMxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3OTM2OTY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnRJT1MuaDoKKyAgICAgICAgUHJvdmlkZSBhIHN0dWIgaW1wbGVtZW50YXRpb24g
b2YgY3Vyc29yLXJlbGF0ZWQgQ2hyb21lQ2xpZW50IG1ldGhvZHMuCisKIDIwMTktMTAtMTYgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgUGFnZUNhY2hl
IHRvIEJhY2tGb3J3YXJkQ2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IGY5YmU0NDE0
NjA5ZGI1ODY4YjhiMzQwOTM3NzE1ODFkNTMyNzdjYjIuLjY4MmExZTg5NWEyZjZjMGYyZDU1ZmJk
MDFiNmFkNTMwMWNmMDAwNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtODMsOCArODMs
OCBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DVVJTT1JfU1VQUE9S
VCkKLSNkZWZpbmUgRU5BQkxFX0NVUlNPUl9TVVBQT1JUIDAKKyNpZiAhZGVmaW5lZChFTkFCTEVf
Q1VTVE9NX0NVUlNPUl9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfQ1VTVE9NX0NVUlNPUl9TVVBQ
T1JUIDAKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKQEAgLTQ1
NSw4ICs0NTUsOCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTc5MTY3Pi4gKi8KICNkZWZpbmUgRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMgMAogI2Vu
ZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfQ1VSU09SX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJM
RV9DVVJTT1JfU1VQUE9SVCAxCisjaWYgIWRlZmluZWQoRU5BQkxFX0NVU1RPTV9DVVJTT1JfU1VQ
UE9SVCkKKyNkZWZpbmUgRU5BQkxFX0NVU1RPTV9DVVJTT1JfU1VQUE9SVCAxCiAjZW5kaWYKIAog
I2lmICFkZWZpbmVkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRl
eCA5MGY3YmRhNmZjYjljMTY2NDllYjMyZjYxOGRiZTgyYTc1ZTdhNDlmLi4wMDQ3NTAxOWUyZmU3
NGNjNmYyZjY3NzA1OTA4MDkwOGNjMjVmMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTYxOSw2ICs2MTks
NyBAQAogCiAjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCiAjZGVmaW5lIEhBVkVfU0VDX0tF
WUNIQUlOIDEKKyNkZWZpbmUgSEFWRV9ISVNFUlZJQ0VTIDEKICNkZWZpbmUgVVNFX0FQUEtJVCAx
CiAjZGVmaW5lIFVTRV9QQVNTS0lUIDEKIApAQCAtMTIyNiw2ICsxMjI3LDcgQEAKIAogI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVBQTEVf
R1JBUEhJQ1NfQ09OVFJPTCAxCisjZGVmaW5lIEhBVkVfTlNDVVJTT1IgMQogI2VuZGlmCiAKICNp
ZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9XZWJDb3JlLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29y
ZS54Y2NvbmZpZwppbmRleCAyMmY1MjQwYzEyMGE5N2NmMWJjYTdmOGU2ZmQ5YzJhYzZhZmExNGFm
Li5iZmNhODk3NDZiMDc4NzBhN2Q3N2FmYzVhNmY4ZDIwZjY4OGRmNmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKQEAgLTcwLDYgKzcwLDcg
QEAgVU5FWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhw
OwogCiBXS19BUFBLSVRfTERGTEFHUyA9ICQoV0tfQVBQS0lUX0xERkxBR1NfJChXS19QTEFURk9S
TV9OQU1FKSk7CiBXS19BUFBLSVRfTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIEFwcEtpdDsK
K1dLX0FQUEtJVF9MREZMQUdTX21hY2NhdGFseXN0ID0gLWZyYW1ld29yayBBcHBLaXQ7CiAKIFdL
X0FQUFNVUFBPUlRfTERGTEFHUyA9ICQoV0tfQVBQU1VQUE9SVF9MREZMQUdTXyQoV0tfQ09DT0Ff
VE9VQ0gpKTsKIFdLX0FQUFNVUFBPUlRfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBB
cHBTdXBwb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOThjM2ViMThhMDg1NDAyOTk5
MWYxMGU4ZjYxMDNjZTZmNjU1MzRmNC4uMjJlMGRmZjBkZTZhOGQzOGIwZWYwOGM0YjhhMTBmOTEy
NDFmMzE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODQsNyArMzg0LDYgQEAgcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5HTFNldHRpbmcuY3BwCiBwbGF0Zm9y
bS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcAogCiBwbGF0Zm9ybS9pb3MvQ29sb3JJ
T1MubW0KLXBsYXRmb3JtL2lvcy9DdXJzb3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvRGV2aWNlLmNw
cAogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5tbQogcGxhdGZvcm0vaW9zL0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50SU9TLm1tCkBAIC00MzYsNyArNDM1LDcgQEAgcGxhdGZvcm0v
aW9zL3dhay9XS0dyYXBoaWNzLm1tCiBwbGF0Zm9ybS9pb3Mvd2FrL1dLVmlldy5tbQogCiBwbGF0
Zm9ybS9tYWMvQmxhY2tsaXN0VXBkYXRlci5tbQotcGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbQor
cGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL21hYy9EcmFnRGF0
YU1hYy5tbQogcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQogcGxhdGZvcm0vbWFjL0tleUV2
ZW50TWFjLm1tIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZmZDVlNTc2NDY1MGFlZjM2MDVlYTBkNGY5MTczMGEx
MjE3ZGRkM2IuLmNjMGFjN2RjMGUxYmFkYzQ2YTM1YmRjOWMwY2M2MjgxZmRiNGQxY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTcyMyw2ICs3MjMsNyBAQAogCQkyRDA2MjE1MTFEQTYzQTlGMDBBN0ZCMjYgLyogV2ViS2l0TWVk
aWFLZXlOZWVkZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQwNjIxNDgxREE2M0E3OTAwQTdGQjI2IC8qIFdlYktpdE1lZGlhS2V5TmVlZGVk
RXZlbnQuaCAqLzsgfTsKIAkJMkQwNjIxNTIxREE2M0FBMjAwQTdGQjI2IC8qIFdlYktpdE1lZGlh
S2V5TmVlZGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQwNjIxNDcxREE2M0E3OTAwQTdGQjI2IC8qIFdlYktpdE1lZGlhS2V5TmVlZGVk
RXZlbnQuY3BwICovOyB9OwogCQkyRDBCNEFBQjE4REExQ0NEMDA0MzRERTEgLyogSU9TdXJmYWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDBCNEFB
OTE4REExQ0NEMDA0MzRERTEgLyogSU9TdXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQyMjgzMDMyM0E4NDcwNzAwMzY0QjdFIC8qIEN1
cnNvck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY1ODc4NEYwMDJERTM3NTkwMUVBNDEyMiAvKiBDdXJzb3JNYWMubW0gKi87IH07CiAJCTJEMjUz
OTYzMThDRTdGNjIwMDI3MDIyMiAvKiBJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyNTM5NjExOENF
N0Y2MjAwMjcwMjIyIC8qIEltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjLmggKi87IH07CiAJ
CTJEMjkzODZCMjM1RjZCNjkwMEM3RjNCMiAvKiBFeGNlcHRpb25EZXRhaWxzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDI5Mzg2OTIzNUY2QjY4MDBD
N0YzQjIgLyogRXhjZXB0aW9uRGV0YWlscy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTJEMjlFQ0M2MTkyRUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5
UmVmcmVzaE1vbml0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEMjlFQ0MyMTkyRUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNjU1OSw3ICs2NTYwLDYgQEAKIAkJMjYyRUM0MUMxRDExMEIxRjAwQkE3OEZDIC8q
IEV2ZW50VHJhY2tpbmdSZWdpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEV2ZW50VHJhY2tpbmdSZWdpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjY1NTQxMzcxNDg5ODExQzAwMERGQzVEIC8qIEtleUV2ZW50Q29kZXNJT1MuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5RXZlbnRDb2Rlc0lPUy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyNjU1NDEzODE0ODk4MTFDMDAwREZDNUQgLyogS2V5RXZl
bnRJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBLZXlFdmVu
dElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjY1NTQxNEIxNDg5QUEyQjAw
MERGQzVEIC8qIEN1cnNvcklPUy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDdXJzb3JJT1MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjYwMUVC
RDE0QjNCOUFEMDAxMkMwRkUgLyogUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY2MDFFQkUxNEIzQjlBRDAwMTJDMEZFIC8qIFBsYXRm
b3JtRXZlbnRGYWN0b3J5SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTI2NzcyNUY2MUE1QjNBRDkwMDNDMjRERCAvKiBERkEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gREZBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIyODQ5LDcgKzIyODQ5LDYgQEAKIAkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkg
LyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggKi8sCiAJCQkJQ0U1MTY5RTUyMUYxQjg0NzAwRUE0Rjc4
IC8qIENvbG9ySU9TLmggKi8sCiAJCQkJQ0U1MTY5RTYyMUYxQjg0NzAwRUE0Rjc4IC8qIENvbG9y
SU9TLm1tICovLAotCQkJCTI2NTU0MTRCMTQ4OUFBMkIwMDBERkM1RCAvKiBDdXJzb3JJT1MuY3Bw
ICovLAogCQkJCUExRUQ3NzhBMUJFMzI5M0YwMERDMTc5MSAvKiBEZXZpY2UuY3BwICovLAogCQkJ
CUExRUQ3NzhCMUJFMzI5NDAwMERDMTc5MSAvKiBEZXZpY2UuaCAqLywKIAkJCQkzMUVBRjk3QzEy
MTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi8sCkBAIC0zMzUyOCw2
ICszMzUyNyw3IEBACiAJCQkJMDdBRkY0MjMxRUZCMTQ0OTAwQjU0NUIzIC8qIENvcmVBdWRpb0Nh
cHR1cmVTb3VyY2VJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkM2OTZDQzFFNzIwNUZDMDA1
OTc5MzcgLyogQ1BVTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUJBNzZDQTExRDIw
RTUwMDA0QzIwMUMgLyogQ1NTUHJvcGVydHlOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQky
RDIyODMwMzIzQTg0NzA3MDAzNjRCN0UgLyogQ3Vyc29yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNUNCRDU5NTkyMjgwRTkyNjAwMkIyMkFBIC8qIEN1c3RvbUhlYWRlckZpZWxkcy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCRTIzNDgwQzE4QTk4NzBCMDBFNEI2RTggLyogRGF0YUN1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0NDYzQ0Y2ODIyMTJGQTY4MDAxQTg1NzcgLyogRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IDVlMjRkYWQ4YTVlNzc4NTc2NGVhOGJkOTFiMzZjNzZmNDdkODE1YTUu
Ljc4OTU3YmIwYzdmOGJlZTIwYzU3MDA3OTAwYTlmNzhlMmRkZWM3MDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE0MiwxMCArMTQyLDggQEAgY2xhc3MgRW1wdHlDaHJv
bWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsKICAgICB2b2lkIGVsZW1lbnREaWRGb2N1
cyhFbGVtZW50JikgZmluYWwgeyB9CiAgICAgdm9pZCBlbGVtZW50RGlkQmx1cihFbGVtZW50Jikg
ZmluYWwgeyB9CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHNldEN1cnNv
cihjb25zdCBDdXJzb3ImKSBmaW5hbCB7IH0KICAgICB2b2lkIHNldEN1cnNvckhpZGRlblVudGls
TW91c2VNb3Zlcyhib29sKSBmaW5hbCB7IH0KLSNlbmRpZgogCiAgICAgdm9pZCBzY3JvbGxSZWN0
SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAKaW5kZXggMTU1MTJjYWY1MDIwZjZkMGRmZTE1MDk1ZDIxMzJiYTVlNjRkYzdmZC4uN2I4
ZTc1YjgxNWMyYzFkYjdiYWY5OGRiZjMyNTMwYzEyYWI4MGU3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcApAQCAtNDg2LDIwICs0ODYsMTIgQEAgdm9pZCBDaHJvbWU6OmRpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWUKIAogdm9p
ZCBDaHJvbWU6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKLSNpZiBFTkFCTEUo
Q1VSU09SX1NVUFBPUlQpCiAgICAgbV9jbGllbnQuc2V0Q3Vyc29yKGN1cnNvcik7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjdXJzb3IpOwotI2VuZGlmCiB9CiAKIHZvaWQgQ2hyb21lOjpzZXRD
dXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCBoaWRkZW5VbnRpbE1vdXNlTW92ZXMpCiB7
Ci0jaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQogICAgIG1fY2xpZW50LnNldEN1cnNvckhpZGRl
blVudGlsTW91c2VNb3ZlcyhoaWRkZW5VbnRpbE1vdXNlTW92ZXMpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oaGlkZGVuVW50aWxNb3VzZU1vdmVzKTsKLSNlbmRpZgogfQogCiBQbGF0Zm9ybURp
c3BsYXlJRCBDaHJvbWU6OmRpc3BsYXlJRCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAppbmRleCBkNzgxZjM1Y2I1Mzg4NzI1ZmRiMzBkYmQzMjU0NGIyZGM1MWMwZDEyLi42MjYx
N2Y3OGYzZTJmMDQ3NDhhYTU4YWRhZWI4ZmEzMGJkNzEyYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTE4OSwxMCArMTg5LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBQ
bGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3QgPSAwOwogCi0jaWYg
RU5BQkxFKENVUlNPUl9TVVBQT1JUKQogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3Qg
Q3Vyc29yJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNl
TW92ZXMoYm9vbCkgPSAwOwotI2VuZGlmCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2V0dGlu
Z0N1cnNvcigpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgRmxvYXRTaXplIHNjcmVl
blNpemUoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PENocm9tZUNsaWVudCY+KCp0aGlzKS53
aW5kb3dSZWN0KCkuc2l6ZSgpOyB9CiAgICAgdmlydHVhbCBGbG9hdFNpemUgYXZhaWxhYmxlU2Ny
ZWVuU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMp
LndpbmRvd1JlY3QoKS5zaXplKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApp
bmRleCBiZDg3MmM2NGNiOTg2Y2Y0ZDY1ZmMxYzFhMmI4ODVhMTVkZTJhNzBlLi5jYWRiNzkwNmZl
ZmJkMmU3NWI5OGVlMTYzZjlkZWI5YTEzNjk3MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCkBAIC0xNzYsMTMgKzE3NiwxMSBAQCBjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1v
dmVTaG9ydEludGVydmFsID0geyAxMDBfbXMgfTsKIGNvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92
ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDVVJTT1Jf
U1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRh
dGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFuZ2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0
byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2NyZWVuIHJlZnJlc2ggcmF0ZQogc3RhdGljIGNvbnN0
IFNlY29uZHMgY3Vyc29yVXBkYXRlSW50ZXJ2YWwgeyAyMF9tcyB9OwogCiBjb25zdCBpbnQgbWF4
aW11bUN1cnNvclNpemUgPSAxMjg7Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShNT1VTRV9DVVJTT1Jf
U0NBTEUpCiAvLyBJdCdzIHByZXR0eSB1bmxpa2VseSB0aGF0IGEgc2NhbGUgb2YgbGVzcyB0aGFu
IG9uZSB3b3VsZCBldmVyIGJlIHVzZWQuIEJ1dCBhbGwgd2UgcmVhbGx5CkBAIC0zNzYsOSArMzc0
LDcgQEAgaW5saW5lIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudExvb3BIYW5kbGVNb3VzZURyYWdn
ZWQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXMKIEV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVy
KEZyYW1lJiBmcmFtZSkKICAgICA6IG1fZnJhbWUoZnJhbWUpCiAgICAgLCBtX2hvdmVyVGltZXIo
KnRoaXMsICZFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZCkKLSNpZiBFTkFCTEUoQ1VSU09S
X1NVUFBPUlQpCiAgICAgLCBtX2N1cnNvclVwZGF0ZVRpbWVyKCp0aGlzLCAmRXZlbnRIYW5kbGVy
OjpjdXJzb3JVcGRhdGVUaW1lckZpcmVkKQotI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
ICwgbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyKCp0aGlzLCAmRXZlbnRIYW5kbGVy
OjpjbGVhckxhdGNoZWRTdGF0ZSkKICNlbmRpZgpAQCAtNDE1LDkgKzQxMSw3IEBAIERyYWdTdGF0
ZSYgRXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkK
IHsKICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwotI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkK
ICAgICBtX2N1cnNvclVwZGF0ZVRpbWVyLnN0b3AoKTsKLSNlbmRpZgogI2lmICFFTkFCTEUoSU9T
X1RPVUNIX0VWRU5UUykKICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0b3AoKTsKICNl
bmRpZgpAQCAtMTM0MCw3ICsxMzM0LDYgQEAgRnJhbWUqIEV2ZW50SGFuZGxlcjo6c3ViZnJhbWVG
b3JUYXJnZXROb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuICZkb3duY2FzdDxGcmFtZVZpZXc+
KCp3aWRnZXQpLmZyYW1lKCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiBzdGF0
aWMgYm9vbCBpc1N1Ym1pdEltYWdlKE5vZGUqIG5vZGUpCiB7CiAgICAgcmV0dXJuIGlzPEhUTUxJ
bnB1dEVsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5p
c0ltYWdlQnV0dG9uKCk7CkBAIC0xMzk3LDYgKzEzOTAsMTEgQEAgdm9pZCBFdmVudEhhbmRsZXI6
OnVwZGF0ZUN1cnNvcigpCiAgICAgaWYgKG1fbW91c2VQb3NpdGlvbklzVW5rbm93bikKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgeworICAg
ICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnN1cHBvcnRzU2V0dGluZ0N1cnNvcigp
KQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIEZyYW1lVmlldyogdmlldyA9IG1f
ZnJhbWUudmlldygpOwogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJuOwpAQCAtMTYxNyw3
ICsxNjE1LDYgQEAgT3B0aW9uYWw8Q3Vyc29yPiBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihj
b25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGJvb2wgc2gKICAgICB9CiAgICAgcmV0dXJuIHBv
aW50ZXJDdXJzb3IoKTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiB2b2lkIEV2ZW50SGFuZGxlcjo6c3RhcnRBdXRv
SGlkZUN1cnNvclRpbWVyKCkKQEAgLTE5NDMsOSArMTk0MCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3Jt
TW91c2VFCiAgICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2hvdmVy
VGltZXIuc3RvcCgpOwogCi0jaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQogICAgIG1fY3Vyc29y
VXBkYXRlVGltZXIuc3RvcCgpOwotI2VuZGlmCiAKICNpZiAhRU5BQkxFKElPU19UT1VDSF9FVkVO
VFMpCiAgICAgY2FuY2VsRmFrZU1vdXNlTW92ZUV2ZW50KCk7CkBAIC0yMDI0LDEwICsyMDE5LDgg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZUUKICAgICB9CiAKICAgICBpZiAoIW5ld1N1YmZyYW1l
IHx8IG1vdXNlRXZlbnQuc2Nyb2xsYmFyKCkpIHsKLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQp
CiAgICAgICAgIGlmIChhdXRvKiB2aWV3ID0gbV9mcmFtZS52aWV3KCkpCiAgICAgICAgICAgICB1
cGRhdGVDdXJzb3IoKnZpZXcsIG1vdXNlRXZlbnQuaGl0VGVzdFJlc3VsdCgpLCBwbGF0Zm9ybU1v
dXNlRXZlbnQuc2hpZnRLZXkoKSk7Ci0jZW5kaWYKICAgICB9CiAgICAgCiAgICAgbV9sYXN0TW91
c2VNb3ZlRXZlbnRTdWJmcmFtZSA9IG5ld1N1YmZyYW1lOwpAQCAtMzA1OSwxMyArMzA1MiwxNiBA
QCB2b2lkIEV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0YXRlVXBkYXRlKCkKICAgICAgICAg
bV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCi0jaWYgRU5BQkxFKENVUlNPUl9T
VVBQT1JUKQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlQ3Vyc29yVXBkYXRlKCkKIHsKKyAg
ICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUucGFnZSgpKSB7CisgICAgICAgIGlmICghcGFnZS0+
Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNTZXR0aW5nQ3Vyc29yKCkpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFtX2N1cnNvclVwZGF0ZVRpbWVyLmlzQWN0aXZlKCkp
CiAgICAgICAgIG1fY3Vyc29yVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KGN1cnNvclVwZGF0ZUlu
dGVydmFsKTsKIH0KLSNlbmRpZgogCiB2b2lkIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtlTW91
c2VNb3ZlRXZlbnRTb29uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDE5
MGM2YWNlNWY0M2JiMmIzNjlkOGI5ZjU2YjZlYzE3YzQ5NDMyNmQuLmRjYmYyMjI4ODE0NzEzZjE2
MzNlNDZiNzkwMGJmZTUwZTI3MjU3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtMTc1LDkgKzE3NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBzY2hlZHVsZUhv
dmVyU3RhdGVVcGRhdGUoKTsKLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAgICAgdm9pZCBz
Y2hlZHVsZUN1cnNvclVwZGF0ZSgpOwotI2VuZGlmCiAKICAgICB2b2lkIHNldFJlc2l6aW5nRnJh
bWVTZXQoSFRNTEZyYW1lU2V0RWxlbWVudCopOwogCkBAIC0zNzcsMTAgKzM3NSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVDdXJzb3IoRnJhbWVWaWV3JiwgY29uc3QgSGl0VGVzdFJlc3Vs
dCYsIGJvb2wgc2hpZnRLZXkpOwogCiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoKTsKLQotI2lm
IEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKICAgICB2b2lkIGN1cnNvclVwZGF0ZVRpbWVyRmlyZWQo
KTsKLSNlbmRpZgogCiAgICAgYm9vbCBsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coU2Nyb2xsTG9naWNh
bERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIE5vZGUqIHN0YXJ0aW5nTm9kZSA9IG51bGxw
dHIpOwogICAgIApAQCAtNTIzLDEwICs1MTgsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBU
aW1lciBtX2hvdmVyVGltZXI7Ci0KLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAgICAgVGlt
ZXIgbV9jdXJzb3JVcGRhdGVUaW1lcjsKLSNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IFRpbWVyIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DdXJzb3IuY3BwCmluZGV4IDdhZGVhZTRhNTRlYzFjMTM5ZTkxMWEwYTY3Njg1NjJlZTBkYWYx
ZjIuLmY0ZDUwMjdjYzM3ZGRiODUwYmNkZTQ3Mzc4NTkxOTgxYzdmOGI2YTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ3Vyc29yLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkN1cnNvci5oIgogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0KICNp
bmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgpAQCAtNDU2LDcgKzQ1NCwxMSBAQCB2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZv
cm1DdXJzb3IoKSBjb25zdAogfQogI2VuZGlmCiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQorI2lmICFQTEFURk9STShDT0NPQSkKK3Zv
aWQgQ3Vyc29yOjpzZXRBc1BsYXRmb3JtQ3Vyc29yKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorI2VuZGlmCiAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ3Vyc29yLmgKaW5kZXggNDhmNDMxM2NhNTY0YTg4ZjgyN2E5MjRiZDUyOTYwODJhMDNmNTBh
NC4uZWJkY2I4YThkNTk4Y2Y3ZmM5YzRkMjU1ZTgxMTg5YTVkNzJmYzk4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ3Vyc29yLmgKQEAgLTQwLDcgKzQwLDcgQEAgdHlwZWRlZiBISUNPTiBIQ1VSU09SOwog
I2luY2x1ZGUgIkdSZWZQdHJHdGsuaCIKICNlbmRpZgogCi0jaWYgVVNFKEFQUEtJVCkKKyNpZiBI
QVZFKE5TQ1VSU09SKQogT0JKQ19DTEFTUyBOU0N1cnNvcjsKICNlbmRpZgogCkBAIC03MCw3ICs3
MCw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiB1c2luZyBQbGF0Zm9ybUN1cnNv
ciA9IFJlZlB0cjxTaGFyZWRDdXJzb3I+OwotI2VsaWYgVVNFKEFQUEtJVCkKKyNlbGlmIEhBVkUo
TlNDVVJTT1IpCiB1c2luZyBQbGF0Zm9ybUN1cnNvciA9IE5TQ3Vyc29yICo7CiAjZWxpZiBQTEFU
Rk9STShHVEspCiB1c2luZyBQbGF0Zm9ybUN1cnNvciA9IEdSZWZQdHI8R2RrQ3Vyc29yPjsKQEAg
LTEzMCw4ICsxMzAsNiBAQCBwdWJsaWM6CiAKICAgICBDdXJzb3IoKSA9IGRlZmF1bHQ7CiAKLSNp
ZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBjb25z
dCBDdXJzb3ImIGZyb21UeXBlKEN1cnNvcjo6VHlwZSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBD
dXJzb3IoSW1hZ2UqLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCk7CkBAIC0xNDMsNyArMTQxLDcg
QEAgcHVibGljOgogCiAgICAgZXhwbGljaXQgQ3Vyc29yKFR5cGUpOwogCi0gICAgVHlwZSB0eXBl
KCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgVHlwZSB0eXBlKCkgY29uc3Q7CiAgICAgSW1h
Z2UqIGltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZS5nZXQoKTsgfQogICAgIGNvbnN0IElu
dFBvaW50JiBob3RTcG90KCkgY29uc3QgeyByZXR1cm4gbV9ob3RTcG90OyB9CiAKQEAgLTE1NCw2
ICsxNTIsOCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBQbGF0Zm9ybUN1cnNvciBw
bGF0Zm9ybUN1cnNvcigpIGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBc1Bs
YXRmb3JtQ3Vyc29yKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgdm9pZCBlbnN1cmVQbGF0Zm9y
bUN1cnNvcigpIGNvbnN0OwogCkBAIC0xNjYsMTMgKzE2NiwxMiBAQCBwcml2YXRlOgogICAgIGZs
b2F0IG1faW1hZ2VTY2FsZUZhY3RvciB7IDEgfTsKICNlbmRpZgogCi0jaWYgIVVTRShBUFBLSVQp
CisjaWYgIUhBVkUoTlNDVVJTT1IpCiAgICAgbXV0YWJsZSBQbGF0Zm9ybUN1cnNvciBtX3BsYXRm
b3JtQ3Vyc29yIHsgbnVsbHB0ciB9OwogI2Vsc2UKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU0N1
cnNvcj4gbV9wbGF0Zm9ybUN1cnNvcjsKICNlbmRpZgogCi0jZW5kaWYgLy8gIVBMQVRGT1JNKElP
U19GQU1JTFkpCiB9OwogCiBJbnRQb2ludCBkZXRlcm1pbmVIb3RTcG90KEltYWdlKiwgY29uc3Qg
SW50UG9pbnQmIHNwZWNpZmllZEhvdFNwb3QpOwpAQCAtMjIxLDggKzIyMCw2IEBAIGNvbnN0IEN1
cnNvciYgbm9uZUN1cnNvcigpOwogY29uc3QgQ3Vyc29yJiBncmFiQ3Vyc29yKCk7CiBjb25zdCBD
dXJzb3ImIGdyYWJiaW5nQ3Vyc29yKCk7CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQog
aW5saW5lIEN1cnNvcjo6VHlwZSBDdXJzb3I6OnR5cGUoKSBjb25zdAogewogICAgIEFTU0VSVCht
X3R5cGUgPj0gMCk7CkBAIC0yMzAsNiArMjI3LDQgQEAgaW5saW5lIEN1cnNvcjo6VHlwZSBDdXJz
b3I6OnR5cGUoKSBjb25zdAogICAgIHJldHVybiBtX3R5cGU7CiB9CiAKLSNlbmRpZgotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvQ3Vyc29ySU9TLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9DdXJzb3JJT1Mu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTViMWQ5ZjUxNmRlMjc3NDFkYTI5
ZTAyM2RhOWY2MzE5ODQ1MGZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9DdXJzb3JJT1MuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsMjYzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ3Vyc29yLmgi
Ci0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotCi0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IEN1cnNvciYgY3Vy
c29yKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQ3Vyc29yPiBjdXJzb3I7
Ci0gICAgcmV0dXJuIGN1cnNvcjsKLX0KLQotY29uc3QgQ3Vyc29yJiBwb2ludGVyQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY3Jvc3NDdXJzb3Io
KQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBoYW5kQ3Vyc29y
KCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbW92ZUN1cnNv
cigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIGlCZWFtQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgd2FpdEN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIGhlbHBD
dXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0
UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgbm9ydGhSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29u
c3QgQ3Vyc29yJiBub3J0aEVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3Io
KTsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJl
dHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aFJlc2l6ZUN1cnNvcigpCi17
Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFJlc2l6
ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIHNv
dXRoV2VzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25z
dCBDdXJzb3ImIHdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0K
LQotY29uc3QgQ3Vyc29yJiBub3J0aFNvdXRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4g
Y3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFdlc3RSZXNpemVDdXJzb3IoKQotewot
ICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aEVhc3RTb3V0aFdl
c3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vy
c29yJiBub3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJz
b3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb2x1bW5SZXNpemVDdXJzb3IoKQotewotICAgIHJl
dHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiByb3dSZXNpemVDdXJzb3IoKQotewot
ICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBtaWRkbGVQYW5uaW5nQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFBh
bm5pbmdDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29y
JiBub3J0aFBhbm5pbmdDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29u
c3QgQ3Vyc29yJiBub3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29y
KCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAg
cmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoUGFubmluZ0N1cnNvcigp
Ci17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoRWFzdFBh
bm5pbmdDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29y
JiBzb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgd2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3Io
KTsKLX0KLQotY29uc3QgQ3Vyc29yJiB2ZXJ0aWNhbFRleHRDdXJzb3IoKQotewotICAgIHJldHVy
biBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBjZWxsQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29udGV4dE1lbnVDdXJzb3IoKQotewot
ICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBub0Ryb3BDdXJzb3IoKQot
ewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3RBbGxvd2VkQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgcHJvZ3Jl
c3NDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBh
bGlhc0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3Im
IHpvb21JbkN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJz
b3ImIHpvb21PdXRDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBjb3B5Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgbm9uZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25z
dCBDdXJzb3ImIGdyYWJDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29u
c3QgQ3Vyc29yJiBncmFiYmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQot
Ci1JbnRQb2ludCBkZXRlcm1pbmVIb3RTcG90KEltYWdlKiwgY29uc3QgSW50UG9pbnQmKQotewot
ICAgIHJldHVybiBJbnRQb2ludCgpOwotfQotCi19Ci0KLSNlbmRpZiAvLyBQTEFURk9STShJT1Nf
RkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dpZGdldElP
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XaWRnZXRJT1MubW0KaW5kZXggMDQ5
MjhmOTQzNDU4YjZkNzQ3NTYzZTZhZDUwNzNhZjhmN2Y5MGY3NS4uM2UwOWMxMWI0NjMyN2I0MDE2
OTdhNWRlMGRkNzYxOTVjMWIzZGFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dpZGdldElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2lk
Z2V0SU9TLm1tCkBAIC0zMiw3ICszMiw5IEBACiAjaW1wb3J0ICJEb2N1bWVudC5oIgogI2ltcG9y
dCAiRm9udENhc2NhZGUuaCIKICNpbXBvcnQgIkZyYW1lLmgiCisjaW1wb3J0ICJGcmFtZVZpZXcu
aCIKICNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dC5oIgorI2ltcG9ydCAiSG9zdFdpbmRvdy5oIgog
I2ltcG9ydCAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJTY3JvbGxWaWV3LmgiCiAj
aW1wb3J0ICJXQUtTY3JvbGxWaWV3LmgiCkBAIC03Miw4ICs3NCwxMiBAQCB2b2lkIFdpZGdldDo6
c2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQogICAgIFVOVVNFRF9QQVJBTShmb2N1c2VkKTsKIH0KIAot
dm9pZCBXaWRnZXQ6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImKQordm9pZCBXaWRnZXQ6OnNldEN1
cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSByb290
KCk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm47CisgICAgdmlldy0+aG9zdFdpbmRv
dygpLT5zZXRDdXJzb3IoY3Vyc29yKTsKIH0KIAogdm9pZCBXaWRnZXQ6OnNob3coKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9DdXJzb3JNYWMubW0KaW5kZXggN2ZlZDk0MDhjN2IwM2U2Mzkz
MjllZjk5ZjY1ZTk4NDg0Y2ExYzhiMC4uOTNkNmE5YTY1YzhjNmIxNWU4ZDVhYWEwY2FjNjcyN2Zm
NTNjNjFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0N1cnNvck1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ3Vyc29yTWFjLm1tCkBAIC0y
NiwxMyArMjYsMTcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ3Vyc29yLmgiCiAK
LSNpZiBQTEFURk9STShNQUMpCisjaWYgSEFWRShOU0NVUlNPUikKIAorI2ltcG9ydCA8QXBwS2l0
L05TQ3Vyc29yLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KLSNpbXBvcnQgPHBhbC9zcGkv
bWFjL0hJU2VydmljZXNTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+
CiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKKyNpZiBIQVZFKEhJU0VSVklDRVMpCisj
aW1wb3J0IDxwYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmg+CisjZW5kaWYKKwogQGludGVyZmFj
ZSBXZWJDb3JlQ3Vyc29yQnVuZGxlIDogTlNPYmplY3QgeyB9CiBAZW5kCiAKQEAgLTQwLDcgKzQ0
LDkgQEAgQGltcGxlbWVudGF0aW9uIFdlYkNvcmVDdXJzb3JCdW5kbGUKIEBlbmQKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotICAgIAorCisjaWYgSEFWRShISVNFUlZJQ0VTKQorCiBzdGF0aWMgTlND
dXJzb3IgKmJ1c3lCdXRDbGlja2FibGVOU0N1cnNvcjsKIHN0YXRpYyBOU0N1cnNvciAqbWFrZUFs
aWFzTlNDdXJzb3I7CiBzdGF0aWMgTlNDdXJzb3IgKm1vdmVOU0N1cnNvcjsKQEAgLTE3NCw5ICsx
ODAsMTkgQEAgc3RhdGljIE5TQ3Vyc29yICpjdXJzb3IoY29uc3QgY2hhciAqbmFtZSkKICAgICBy
ZXR1cm4gKnNsb3Q7CiB9CiAKKyNlbHNlCisKK3N0YXRpYyBOU0N1cnNvciAqY3Vyc29yKGNvbnN0
IGNoYXIgKikKK3sKKyAgICByZXR1cm4gW05TQ3Vyc29yIGFycm93Q3Vyc29yXTsKK30KKworI2Vu
ZGlmIC8vIEhBVkUoSElTRVJWSUNFUykKKwogLy8gU2ltcGxlIE5TQ3Vyc29yIGNhbGxzIHNob3Vs
ZG4ndCBuZWVkIHByb3RlY3Rpb24sCiAvLyBidXQgY3JlYXRpbmcgYSBjdXJzb3Igd2l0aCBhIGJh
ZCBpbWFnZSBtaWdodCB0aHJvdy4KIAorI2lmIEVOQUJMRShDVVNUT01fQ1VSU09SX1NVUFBPUlQp
CiAjaWYgRU5BQkxFKE1PVVNFX0NVUlNPUl9TQ0FMRSkKIHN0YXRpYyBSZXRhaW5QdHI8TlNDdXJz
b3I+IGNyZWF0ZUN1c3RvbUN1cnNvcihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBob3RT
cG90LCBmbG9hdCBzY2FsZSkKICNlbHNlCkBAIC0yMTUsNiArMjMxLDcgQEAgc3RhdGljIFJldGFp
blB0cjxOU0N1cnNvcj4gY3JlYXRlQ3VzdG9tQ3Vyc29yKEltYWdlKiBpbWFnZSwgY29uc3QgSW50
UG9pbnQmIGhvdFMKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIHJldHVybiBu
dWxscHRyOwogfQorI2VuZGlmIC8vIEVOQUJMRShDVVNUT01fQ1VSU09SX1NVUFBPUlQpCiAKIHZv
aWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiB7CkBAIC0zNDQsNyArMzYx
LDExIEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAgICAgICAg
IGJyZWFrOwogCiAgICAgY2FzZSBDdXJzb3I6Ok5vbmU6CisjaWYgRU5BQkxFKENVU1RPTV9DVVJT
T1JfU1VQUE9SVCkKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IGFkb3B0TlMoW1tOU0N1cnNv
ciBhbGxvY10gaW5pdFdpdGhJbWFnZTphZG9wdE5TKFtbTlNJbWFnZSBhbGxvY10gaW5pdFdpdGhT
aXplOk5TTWFrZVNpemUoMSwgMSldKS5nZXQoKSBob3RTcG90Ok5TWmVyb1BvaW50XSk7CisjZWxz
ZQorICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gW05TQ3Vyc29yIGFycm93Q3Vyc29yXTsKKyNl
bmRpZgogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOgpAQCAt
MzY4LDExICszODksMTMgQEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29u
c3QKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEN1cnNvcjo6Q3VzdG9tOgorI2lmIEVOQUJM
RShDVVNUT01fQ1VSU09SX1NVUFBPUlQpCiAjaWYgRU5BQkxFKE1PVVNFX0NVUlNPUl9TQ0FMRSkK
ICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IGNyZWF0ZUN1c3RvbUN1cnNvcihtX2ltYWdlLmdl
dCgpLCBtX2hvdFNwb3QsIG1faW1hZ2VTY2FsZUZhY3Rvcik7CiAjZWxzZQogICAgICAgICBtX3Bs
YXRmb3JtQ3Vyc29yID0gY3JlYXRlQ3VzdG9tQ3Vyc29yKG1faW1hZ2UuZ2V0KCksIG1faG90U3Bv
dCk7Ci0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoTU9VU0VfQ1VSU09SX1NDQUxFKQorI2VuZGlm
IC8vIEVOQUJMRShDVVNUT01fQ1VSU09SX1NVUFBPUlQpCiAgICAgICAgIGJyZWFrOwogICAgIH0K
IH0KQEAgLTM4Myw2ICs0MDYsMTQgQEAgTlNDdXJzb3IgKkN1cnNvcjo6cGxhdGZvcm1DdXJzb3Io
KSBjb25zdAogICAgIHJldHVybiBtX3BsYXRmb3JtQ3Vyc29yLmdldCgpOwogfQogCit2b2lkIEN1
cnNvcjo6c2V0QXNQbGF0Zm9ybUN1cnNvcigpIGNvbnN0Cit7CisgICAgTlNDdXJzb3IgKmN1cnNv
ciA9IHBsYXRmb3JtQ3Vyc29yKCk7CisgICAgaWYgKFtOU0N1cnNvciBjdXJyZW50Q3Vyc29yXSA9
PSBjdXJzb3IpCisgICAgICAgIHJldHVybjsKKyAgICBbY3Vyc29yIHNldF07Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKyNlbmRpZiAvLyBI
QVZFKE5TQ1VSU09SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9X
ZWJLaXQueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2Nv
bmZpZwppbmRleCBhM2EwMTg4OThhYmRmYWRhZWNmMTcwZDNjN2ZjM2ExMmQ1MmM4NzM3Li43NDg5
NjdlMjUxZWE5ZWIzYWQ0YjljODZjYzM4Y2E5MDgwZmU5ZGE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwpAQCAtNDYsNiArNDYsNyBAQCBXS19BQ0NF
U1NJQklMSVRZX0xERkxBR1NfTUFDT1NfU0lOQ0VfMTAxNCA9IC13ZWFrX2xpYnJhcnkgL3Vzci9s
aWIvbGliQWNjZXNzaWJpbAogCiBXS19BUFBLSVRfTERGTEFHUyA9ICQoV0tfQVBQS0lUX0xERkxB
R1NfJChXS19QTEFURk9STV9OQU1FKSk7CiBXS19BUFBLSVRfTERGTEFHU19tYWNvc3ggPSAtZnJh
bWV3b3JrIEFwcEtpdDsKK1dLX0FQUEtJVF9MREZMQUdTX21hY2NhdGFseXN0ID0gLWZyYW1ld29y
ayBBcHBLaXQ7CiAKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0gJChXS19BU1NFUlRJ
T05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19BU1NFUlRJT05fU0VS
VklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4
IDFhOTdmZmFkMmY4NDhkNDUyZTcwZjMzZjUzMWIwMTU3YTE2ZGY3YTEuLmM1MWVjMDgyYjE5M2Qx
ZTRjZWQxNjc2YzAxZDQwOWU1MTE0MjQ1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA0MCw3ICsxMDQwLDYgQEAgYm9vbCBBcmd1
bWVudENvZGVyPEltYWdlSGFuZGxlPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEltYWdlSGFu
ZGxlJiBpbWFnZUhhbmQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogdm9pZCBBcmd1bWVudENvZGVyPEN1cnNvcj46OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oY3Vy
c29yLnR5cGUoKSk7CkBAIC0xMTExLDcgKzExMTAsNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8Q3Vy
c29yPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEN1cnNvciYgY3Vyc29yKQogI2VuZGlmCiAg
ICAgcmV0dXJuIHRydWU7CiB9Ci0jZW5kaWYKIAogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNl
UmVxdWVzdD46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlc291cmNlUmVxdWVzdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAwYzY1MWU2ODViMjk3OWY0ZTM2ZTljOGE1ODY0MTZk
NjcxYmRmZmY1Li4wYzE3YTg1YTZjMzYyNmVkY2IxZTc2ZGIxYTAwNmZjM2YwOWE4ZGY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBA
IC0zOSwxMCArMzksOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmIC8vIEVO
QUJMRShXRUJHTCkKICAgICBEaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoc3RydWN0IFdlYkNv
cmU6OlZpZXdwb3J0QXR0cmlidXRlcyBhdHRyaWJ1dGVzKQogICAgIERpZFJlY2VpdmVFdmVudCh1
aW50MzJfdCB0eXBlLCBib29sIGhhbmRsZWQpCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgU2V0Q3Vyc29yKFdlYkNvcmU6OkN1cnNvciBjdXJzb3IpCiAgICAgU2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKGJvb2wgaGlkZGVuVW50aWxNb3VzZU1vdmVzKQotI2VuZGlmCiAgICAg
U2V0U3RhdHVzVGV4dChTdHJpbmcgc3RhdHVzVGV4dCkKICAgICBTZXRGb2N1cyhib29sIGZvY3Vz
ZWQpCiAgICAgVGFrZUZvY3VzKHVpbnQzMl90IGRpcmVjdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBkYzlmNzRjNDlhNmJl
YTllZGMxNTA2YzVhYjk1N2UwMDZhMjA3YTVlLi41ZmM2NzY1MmFhMjc4ZmI1ZDg5Zjc1M2QzMDk2
NDljMzU2ODM5YjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCkBAIC01NSw2ICs1NSw3IEBACiAjaW1wb3J0ICJXZWJQYWdlUHJveHku
aCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRl
cm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9N
UGFzdGVBY2Nlc3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvRGljdGlvbmFyeUxvb2t1cC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpAQCAtMjY0LDkgKzI2NSwxNCBAQCBXZWJD
b3JlOjpGbG9hdFJlY3QgUGFnZUNsaWVudEltcGw6OmRvY3VtZW50UmVjdCgpIGNvbnN0CiAgICAg
cmV0dXJuIFttX2NvbnRlbnRWaWV3IGJvdW5kc107CiB9CiAKLXZvaWQgUGFnZUNsaWVudEltcGw6
OnNldEN1cnNvcihjb25zdCBDdXJzb3ImKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0Q3Vyc29y
KGNvbnN0IEN1cnNvciYgY3Vyc29yKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgLy8g
VGhlIFdlYiBwcm9jZXNzIG1heSBoYXZlIGFza2VkIHRvIGNoYW5nZSB0aGUgY3Vyc29yIHdoZW4g
dGhlIHZpZXcgd2FzIGluIGFuIGFjdGl2ZSB3aW5kb3csIGJ1dAorICAgIC8vIGlmIGl0IGlzIG5v
IGxvbmdlciBpbiBhIHdpbmRvdyBvciB0aGUgd2luZG93IGlzIG5vdCBhY3RpdmUsIHRoZW4gdGhl
IGN1cnNvciBzaG91bGQgbm90IGNoYW5nZS4KKyAgICBpZiAoIWlzVmlld1dpbmRvd0FjdGl2ZSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBjdXJzb3Iuc2V0QXNQbGF0Zm9ybUN1cnNvcigpOwog
fQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMo
Ym9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggM2FiYjFjN2UzN2M0N2RlZTM2ODM0NzJl
MmUzMzdiNDVmYWY1NTgwNS4uOGU0YzkzNzVkN2I4Y2MxMGZmYTAwODAzZDQ4MjE3M2JlNWEzNTU4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTgyMiw4ICs4MjIsNiBAQCB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6bG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5h
bWVzLCBGaWxlSWNvbgogICAgIGxvYWRlci5pY29uTG9hZGVkKGNyZWF0ZUljb25Gb3JGaWxlcyhm
aWxlbmFtZXMpKTsKIH0KIAotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKQogewogICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvcihjdXJzb3IpKTsKQEAgLTgz
NCw2ICs4MzIsOCBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0Q3Vyc29ySGlkZGVuVW50aWxN
b3VzZU1vdmVzKGJvb2wgaGlkZGVuVW50aWxNb3VzZU1vdmVzKQogICAgIG1fcGFnZS5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3ZlcyhoaWRk
ZW5VbnRpbE1vdXNlTW92ZXMpKTsKIH0KIAorI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorCiBS
ZWZQdHI8SWNvbj4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVJY29uRm9yRmlsZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4mIGZpbGVuYW1lcykKIHsKICAgICByZXR1cm4gSWNvbjo6Y3JlYXRlSWNvbkZv
ckZpbGVzKGZpbGVuYW1lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNzJlYmVmNTBkZjliMTRh
ODcyZmMzNTYwYTFjODE3Mzc0NTFkNzAyNy4uZmRhMzM4ZWNmYTY4NTVlMWMxZDYwODUwZTQ3MWY2
Nzk0ZWQxYzJjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTkxLDkgKzE5MSwxMCBAQCBwcml2
YXRlOgogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoV2ViQ29yZTo6U2hhcmVEYXRhV2l0aFBhcnNl
ZFVSTCYsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7CiAgICAg
dm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgV2ViQ29yZTo6Rmls
ZUljb25Mb2FkZXImKSBmaW5hbDsKIAotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZv
aWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpIGZpbmFsOwogICAgIHZvaWQgc2V0
Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZpbmFsOworI2lmICFIQVZFKE5TQ1VS
U09SKQorICAgIGJvb2wgc3VwcG9ydHNTZXR0aW5nQ3Vyc29yKCkgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
SU9TLmgKaW5kZXggMTQ1NzcyMjJhOWUxM2U2M2U0OTFkNmQzYjkyY2ExYmM4OWU3Y2IwMy4uYjhi
NzUyNjM1OWZlM2UyZjk2ODEzYzBhZWNhZDA3NTU1MzMwYWVmNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
SU9TLmgKQEAgLTUwLDYgKzUwLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJ1bk9wZW5QYW5lbChX
ZWJDb3JlOjpGcmFtZSYsIFdlYkNvcmU6OkZpbGVDaG9vc2VyJikgZmluYWw7CiAgICAgdm9pZCBz
aG93U2hhcmVTaGVldChXZWJDb3JlOjpTaGFyZURhdGFXaXRoUGFyc2VkVVJMJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7CiAKKyAgICB2b2lkIHNldEN1cnNvcihjb25z
dCBXZWJDb3JlOjpDdXJzb3ImKSBmaW5hbCB7IH0KKyAgICB2b2lkIHNldEN1cnNvckhpZGRlblVu
dGlsTW91c2VNb3Zlcyhib29sKSBmaW5hbCB7IH0KKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CiAgICAgdm9pZCBkaWRQcmV2ZW50RGVmYXVsdEZvckV2ZW50KCkgZmluYWw7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385851</attachid>
            <date>2019-12-16 20:59:55 -0800</date>
            <delta_ts>2019-12-17 11:57:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205317-20191216205954.patch</filename>
            <type>text/plain</type>
            <size>36526</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM2ODExNTg4MTMwNzU4NTU3ZDJhNWRl
MDk2MTgwM2RjNWUxNTA3NGMuLjlhOTY5MDgwMjFiYzhhMzU4NTUyYTBjYWY1NDNkYTVmMWFkYzFh
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMTItMTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFjQ2F0YWx5c3Q6IEN1cnNvciBzaG91bGQg
dXBkYXRlIG9uIG1vdXNlIG1vdmVtZW50IGFuZCBzdHlsZSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTMxNworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDY3OTM2OTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKyAgICAgICAgTWFrZSBFTkFCTEVf
Q1VSU09SX1NVUFBPUlQgdHJ1ZSBvbiBpT1MsIGZvciBtYWNDYXRhbHlzdC4gVGhpcyByZXN1bHRz
CisgICAgICAgIGluIGl0IGJlaW5nIHRydWUgZXZlcnl3aGVyZSwgc28gcmVtb3ZlIGl0LgorCisg
ICAgICAgIEFkZCBhIG5ldyBFTkFCTEVfQ1VTVE9NX0NVUlNPUl9TVVBQT1JULCBpbmRpY2F0aW5n
IHdoZXRoZXIgd2Ugc3VwcG9ydAorICAgICAgICBjdXN0b20gYml0bWFwIGN1cnNvcnMuIEl0IGNv
dmVycyB0aGUgc3Vic2V0IG9mIEVOQUJMRV9DVVJTT1JfU1VQUE9SVAorICAgICAgICBjb2RlIHRo
YXQgd2Ugc3RpbGwgZG9uJ3Qgc3VwcG9ydCBpbiBtYWNDYXRhbHlzdC4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorICAgICAgICBBZGQgSEFWRV9ISVNFUlZJQ0VTICh0cnVlIG9uIG1hY09T
IGJ1dCBub3QgbWFjQ2F0YWx5c3QpIGFuZAorICAgICAgICBIQVZFX05TQ1VSU09SICh0cnVlIG9u
IG1hY09TIGFuZCBtYWNDYXRhbHlzdCBidXQgbm90IGUuZy4gaU9TKS4KKwogMjAxOS0xMi0wOSAg
RnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbTVNW
Q10gd3JpdGVOdW1iZXJUb0J1ZmZlclVuc2lnbmVkIGlzIHVuc2FmZSBmb3IgYm9vbCB0eXBlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggYjU5MGYyYWFjZjNmZTJjNWE4ZDlkYWUwZjFmOGM4NDY0YTY1MGE3YS4uZDZj
NjMyZGMyMDAxMjQzNmUwZTEzMGU3MjU0MmRjYmU2NzAzYjM2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDU5IEBACisyMDE5LTEyLTE2ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgorCisgICAgICAgIG1hY0NhdGFseXN0OiBDdXJzb3Igc2hvdWxkIHVwZGF0ZSBvbiBtb3Vz
ZSBtb3ZlbWVudCBhbmQgc3R5bGUgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUzMTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ2Nzkz
Njk2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZzoKKyAgICAgICAgTGluayBBcHBLaXQgZm9y
IE5TQ3Vyc29yLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgUmVtb3Zl
IEN1cnNvcklPUy5jcHAuCisgICAgICAgIERlLXVuaWZ5IEN1cnNvck1hYzsgYmVjYXVzZSBpdCBp
bXBvcnRzIEFwcEtpdCBoZWFkZXJzLCB3ZSBoYXZlIHRvCisgICAgICAgIHRha2UgY2FyZSB0byBt
YWtlIHN1cmUgaXQgZG9lc24ndCBhbHNvIGdldCBXQUsgKHdoaWNoIGl0IGRvZXMgaWYgeW91Cisg
ICAgICAgIGxlYXZlIGl0IHVuaWZpZWQpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICBSZW1vdmUgQ3Vyc29ySU9TLmNwcCBhbmQgZGUtdW5p
ZnkgQ3Vyc29yTWFjIChieSBhZGRpbmcgaXQgdG8gdGhlIHRhcmdldCkKKworICAgICAgICAqIGxv
YWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWU6OnNldEN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6
OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyk6CisgICAgICAgIFVuaWZkZWYgbWFueSB0
aGluZ3MuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50OjpzdXBwb3J0c1NldHRpbmdDdXJzb3IpOgorICAgICAgICBBZGQgYSBD
aHJvbWVDbGllbnQgYml0LCBzdXBwb3J0c1NldHRpbmdDdXJzb3IsIHdoaWNoIGNhbiBiZSB1c2Vk
CisgICAgICAgIHRvIGd1YXJkIHdvcmsgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIGlmIGEgcGxhdGZv
cm0gZG9lc24ndCBzdXBwb3J0CisgICAgICAgIHB1c2hpbmcgY3Vyc29yIHVwZGF0ZXMgb3V0IGZy
b20gV2ViQ29yZS4gVGhpcyB3aWxsIGJlIHRydWUgZXZlcnl3aGVyZQorICAgICAgICBleGNlcHQg
aU9TLCBhbmQgZG9lcyB0aGUgd29yayBvZiB0aGUgb2xkIHBsYXRmb3JtIGlmZGVmcy4KKworICAg
ICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y2xl
YXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp1cGRhdGVDdXJzb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6OnNjaGVkdWxlQ3Vyc29yVXBkYXRlKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL0N1cnNvci5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgIFVuaWZkZWYsIGFuZCB1c2Ugc3VwcG9ydHNT
ZXR0aW5nQ3Vyc29yIHRvIGF2b2lkIHNvbWUgdW5uZWNlc3Nhcnkgd29yay4KKworICAgICAgICAq
IHBsYXRmb3JtL2lvcy9DdXJzb3JJT1MuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9XaWRnZXRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6
CisgICAgICAgIFByb3BhZ2F0ZSBjdXJzb3IgY2hhbmdlcyB1cHdhcmRzLgorCisgICAgICAgICog
cGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmN1cnNvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yIGNvbnN0KToKKyAg
ICAgICAgQ3Vyc29yTWFjIGlzIG5vdyBidWlsdCBpbiBtYWNDYXRhbHlzdC4gSG93ZXZlciwgcGFy
dHMgdGhhdCBkZXBlbmQKKyAgICAgICAgb24gSElTZXJ2aWNlcyBvciBOU0ltYWdlIGFyZSAjaWZk
ZWZmZWQgb3V0LCBhbmQgZmFsbCBiYWNrIHRvIGFuIGFycm93LgorCiAyMDE5LTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5aW5nIHRvIHNldCB0b1N0
cmluZyAvIHZhbHVlT2Ygb24gYSBjcm9zcy1vcmlnaW4gTG9jYXRpb24gb2JqZWN0IHNob3VsZCB0
aHJvdyBhIFNlY3VyaXR5RXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGQ3NjJhZDlhMzg2ODM0OTI1OGMwMmM5
NjJmOTVmZjkzYWYyNTczNy4uMGE5Nzk4YzY2MmU0OTcyMTczZjQ3NDkzZDc5ZDIzYWUzNjczYjAw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxOS0xMi0xNiAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBtYWNDYXRhbHlzdDogQ3Vyc29yIHNo
b3VsZCB1cGRhdGUgb24gbW91c2UgbW92ZW1lbnQgYW5kIHN0eWxlIGNoYW5nZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MzE3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80Njc5MzY5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAg
ICAgTGluayBBcHBLaXQgZm9yIE5TQ3Vyc29yLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Q3Vyc29yPjo6
ZGVjb2RlKToKKyAgICAgICAgRW5hYmxlIEN1cnNvciBlbmNvZGVycy4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6
OnNldEN1cnNvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgIFVuaWZkZWYgdmFyaW91cyB0aGluZ3MuCisgICAgICAgIElt
cGxlbWVudCBzZXRDdXJzb3IoKS4KKwogMjAxOS0xMi0xMSAgSmlld2VuIFRhbiAgPGppZXdlbl90
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGEgbml0IGFmdGVyIHIyNTMzNjYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZwppbmRleCBkM2YwMjkzMjYzMTA3MjM3ZGU3MThlNzIy
ZjVjNTY3ZWMxZWU5MTg0Li44ZGFjN2RmNjJiNmM4MjgwYjNjN2JmMDE2MGU2YWFkMDlhNGE1NDM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMTIt
MTYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFj
Q2F0YWx5c3Q6IEN1cnNvciBzaG91bGQgdXBkYXRlIG9uIG1vdXNlIG1vdmVtZW50IGFuZCBzdHls
ZSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTMxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3OTM2OTY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnRJT1MuaDoKKyAgICAgICAgUHJvdmlkZSBhIHN0dWIgaW1wbGVtZW50YXRpb24g
b2YgY3Vyc29yLXJlbGF0ZWQgQ2hyb21lQ2xpZW50IG1ldGhvZHMuCisKIDIwMTktMTAtMTYgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgUGFnZUNhY2hl
IHRvIEJhY2tGb3J3YXJkQ2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IGY5YmU0NDE0
NjA5ZGI1ODY4YjhiMzQwOTM3NzE1ODFkNTMyNzdjYjIuLjY4MmExZTg5NWEyZjZjMGYyZDU1ZmJk
MDFiNmFkNTMwMWNmMDAwNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtODMsOCArODMs
OCBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9DVVJTT1JfU1VQUE9S
VCkKLSNkZWZpbmUgRU5BQkxFX0NVUlNPUl9TVVBQT1JUIDAKKyNpZiAhZGVmaW5lZChFTkFCTEVf
Q1VTVE9NX0NVUlNPUl9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfQ1VTVE9NX0NVUlNPUl9TVVBQ
T1JUIDAKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKQEAgLTQ1
NSw4ICs0NTUsOCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTc5MTY3Pi4gKi8KICNkZWZpbmUgRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMgMAogI2Vu
ZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfQ1VSU09SX1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJM
RV9DVVJTT1JfU1VQUE9SVCAxCisjaWYgIWRlZmluZWQoRU5BQkxFX0NVU1RPTV9DVVJTT1JfU1VQ
UE9SVCkKKyNkZWZpbmUgRU5BQkxFX0NVU1RPTV9DVVJTT1JfU1VQUE9SVCAxCiAjZW5kaWYKIAog
I2lmICFkZWZpbmVkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRl
eCA5MGY3YmRhNmZjYjljMTY2NDllYjMyZjYxOGRiZTgyYTc1ZTdhNDlmLi4wMDQ3NTAxOWUyZmU3
NGNjNmYyZjY3NzA1OTA4MDkwOGNjMjVmMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTYxOSw2ICs2MTks
NyBAQAogCiAjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCiAjZGVmaW5lIEhBVkVfU0VDX0tF
WUNIQUlOIDEKKyNkZWZpbmUgSEFWRV9ISVNFUlZJQ0VTIDEKICNkZWZpbmUgVVNFX0FQUEtJVCAx
CiAjZGVmaW5lIFVTRV9QQVNTS0lUIDEKIApAQCAtMTIyNiw2ICsxMjI3LDcgQEAKIAogI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVBQTEVf
R1JBUEhJQ1NfQ09OVFJPTCAxCisjZGVmaW5lIEhBVkVfTlNDVVJTT1IgMQogI2VuZGlmCiAKICNp
ZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9XZWJDb3JlLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29y
ZS54Y2NvbmZpZwppbmRleCAyMmY1MjQwYzEyMGE5N2NmMWJjYTdmOGU2ZmQ5YzJhYzZhZmExNGFm
Li5iZmNhODk3NDZiMDc4NzBhN2Q3N2FmYzVhNmY4ZDIwZjY4OGRmNmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKQEAgLTcwLDYgKzcwLDcg
QEAgVU5FWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhw
OwogCiBXS19BUFBLSVRfTERGTEFHUyA9ICQoV0tfQVBQS0lUX0xERkxBR1NfJChXS19QTEFURk9S
TV9OQU1FKSk7CiBXS19BUFBLSVRfTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIEFwcEtpdDsK
K1dLX0FQUEtJVF9MREZMQUdTX21hY2NhdGFseXN0ID0gLWZyYW1ld29yayBBcHBLaXQ7CiAKIFdL
X0FQUFNVUFBPUlRfTERGTEFHUyA9ICQoV0tfQVBQU1VQUE9SVF9MREZMQUdTXyQoV0tfQ09DT0Ff
VE9VQ0gpKTsKIFdLX0FQUFNVUFBPUlRfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBB
cHBTdXBwb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggOThjM2ViMThhMDg1NDAyOTk5
MWYxMGU4ZjYxMDNjZTZmNjU1MzRmNC4uMjJlMGRmZjBkZTZhOGQzOGIwZWYwOGM0YjhhMTBmOTEy
NDFmMzE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODQsNyArMzg0LDYgQEAgcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5HTFNldHRpbmcuY3BwCiBwbGF0Zm9y
bS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcAogCiBwbGF0Zm9ybS9pb3MvQ29sb3JJ
T1MubW0KLXBsYXRmb3JtL2lvcy9DdXJzb3JJT1MuY3BwCiBwbGF0Zm9ybS9pb3MvRGV2aWNlLmNw
cAogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5tbQogcGxhdGZvcm0vaW9zL0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50SU9TLm1tCkBAIC00MzYsNyArNDM1LDcgQEAgcGxhdGZvcm0v
aW9zL3dhay9XS0dyYXBoaWNzLm1tCiBwbGF0Zm9ybS9pb3Mvd2FrL1dLVmlldy5tbQogCiBwbGF0
Zm9ybS9tYWMvQmxhY2tsaXN0VXBkYXRlci5tbQotcGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbQor
cGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbSBAbm8tdW5pZnkKIHBsYXRmb3JtL21hYy9EcmFnRGF0
YU1hYy5tbQogcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQogcGxhdGZvcm0vbWFjL0tleUV2
ZW50TWFjLm1tIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZmZDVlNTc2NDY1MGFlZjM2MDVlYTBkNGY5MTczMGEx
MjE3ZGRkM2IuLmNjMGFjN2RjMGUxYmFkYzQ2YTM1YmRjOWMwY2M2MjgxZmRiNGQxY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTcyMyw2ICs3MjMsNyBAQAogCQkyRDA2MjE1MTFEQTYzQTlGMDBBN0ZCMjYgLyogV2ViS2l0TWVk
aWFLZXlOZWVkZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQwNjIxNDgxREE2M0E3OTAwQTdGQjI2IC8qIFdlYktpdE1lZGlhS2V5TmVlZGVk
RXZlbnQuaCAqLzsgfTsKIAkJMkQwNjIxNTIxREE2M0FBMjAwQTdGQjI2IC8qIFdlYktpdE1lZGlh
S2V5TmVlZGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQwNjIxNDcxREE2M0E3OTAwQTdGQjI2IC8qIFdlYktpdE1lZGlhS2V5TmVlZGVk
RXZlbnQuY3BwICovOyB9OwogCQkyRDBCNEFBQjE4REExQ0NEMDA0MzRERTEgLyogSU9TdXJmYWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDBCNEFB
OTE4REExQ0NEMDA0MzRERTEgLyogSU9TdXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQyMjgzMDMyM0E4NDcwNzAwMzY0QjdFIC8qIEN1
cnNvck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY1ODc4NEYwMDJERTM3NTkwMUVBNDEyMiAvKiBDdXJzb3JNYWMubW0gKi87IH07CiAJCTJEMjUz
OTYzMThDRTdGNjIwMDI3MDIyMiAvKiBJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyNTM5NjExOENF
N0Y2MjAwMjcwMjIyIC8qIEltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjLmggKi87IH07CiAJ
CTJEMjkzODZCMjM1RjZCNjkwMEM3RjNCMiAvKiBFeGNlcHRpb25EZXRhaWxzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDI5Mzg2OTIzNUY2QjY4MDBD
N0YzQjIgLyogRXhjZXB0aW9uRGV0YWlscy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTJEMjlFQ0M2MTkyRUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5
UmVmcmVzaE1vbml0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEMjlFQ0MyMTkyRUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNjU1OSw3ICs2NTYwLDYgQEAKIAkJMjYyRUM0MUMxRDExMEIxRjAwQkE3OEZDIC8q
IEV2ZW50VHJhY2tpbmdSZWdpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEV2ZW50VHJhY2tpbmdSZWdpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjY1NTQxMzcxNDg5ODExQzAwMERGQzVEIC8qIEtleUV2ZW50Q29kZXNJT1MuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5RXZlbnRDb2Rlc0lPUy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyNjU1NDEzODE0ODk4MTFDMDAwREZDNUQgLyogS2V5RXZl
bnRJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBLZXlFdmVu
dElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjY1NTQxNEIxNDg5QUEyQjAw
MERGQzVEIC8qIEN1cnNvcklPUy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDdXJzb3JJT1MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjYwMUVC
RDE0QjNCOUFEMDAxMkMwRkUgLyogUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY2MDFFQkUxNEIzQjlBRDAwMTJDMEZFIC8qIFBsYXRm
b3JtRXZlbnRGYWN0b3J5SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTI2NzcyNUY2MUE1QjNBRDkwMDNDMjRERCAvKiBERkEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gREZBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIyODQ5LDcgKzIyODQ5LDYgQEAKIAkJCQlGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkg
LyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggKi8sCiAJCQkJQ0U1MTY5RTUyMUYxQjg0NzAwRUE0Rjc4
IC8qIENvbG9ySU9TLmggKi8sCiAJCQkJQ0U1MTY5RTYyMUYxQjg0NzAwRUE0Rjc4IC8qIENvbG9y
SU9TLm1tICovLAotCQkJCTI2NTU0MTRCMTQ4OUFBMkIwMDBERkM1RCAvKiBDdXJzb3JJT1MuY3Bw
ICovLAogCQkJCUExRUQ3NzhBMUJFMzI5M0YwMERDMTc5MSAvKiBEZXZpY2UuY3BwICovLAogCQkJ
CUExRUQ3NzhCMUJFMzI5NDAwMERDMTc5MSAvKiBEZXZpY2UuaCAqLywKIAkJCQkzMUVBRjk3QzEy
MTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi8sCkBAIC0zMzUyOCw2
ICszMzUyNyw3IEBACiAJCQkJMDdBRkY0MjMxRUZCMTQ0OTAwQjU0NUIzIC8qIENvcmVBdWRpb0Nh
cHR1cmVTb3VyY2VJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NkM2OTZDQzFFNzIwNUZDMDA1
OTc5MzcgLyogQ1BVTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUJBNzZDQTExRDIw
RTUwMDA0QzIwMUMgLyogQ1NTUHJvcGVydHlOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQky
RDIyODMwMzIzQTg0NzA3MDAzNjRCN0UgLyogQ3Vyc29yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNUNCRDU5NTkyMjgwRTkyNjAwMkIyMkFBIC8qIEN1c3RvbUhlYWRlckZpZWxkcy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCRTIzNDgwQzE4QTk4NzBCMDBFNEI2RTggLyogRGF0YUN1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0NDYzQ0Y2ODIyMTJGQTY4MDAxQTg1NzcgLyogRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IDVlMjRkYWQ4YTVlNzc4NTc2NGVhOGJkOTFiMzZjNzZmNDdkODE1YTUu
Ljc4OTU3YmIwYzdmOGJlZTIwYzU3MDA3OTAwYTlmNzhlMmRkZWM3MDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE0MiwxMCArMTQyLDggQEAgY2xhc3MgRW1wdHlDaHJv
bWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsKICAgICB2b2lkIGVsZW1lbnREaWRGb2N1
cyhFbGVtZW50JikgZmluYWwgeyB9CiAgICAgdm9pZCBlbGVtZW50RGlkQmx1cihFbGVtZW50Jikg
ZmluYWwgeyB9CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHNldEN1cnNv
cihjb25zdCBDdXJzb3ImKSBmaW5hbCB7IH0KICAgICB2b2lkIHNldEN1cnNvckhpZGRlblVudGls
TW91c2VNb3Zlcyhib29sKSBmaW5hbCB7IH0KLSNlbmRpZgogCiAgICAgdm9pZCBzY3JvbGxSZWN0
SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAKaW5kZXggMTU1MTJjYWY1MDIwZjZkMGRmZTE1MDk1ZDIxMzJiYTVlNjRkYzdmZC4uN2I4
ZTc1YjgxNWMyYzFkYjdiYWY5OGRiZjMyNTMwYzEyYWI4MGU3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcApAQCAtNDg2LDIwICs0ODYsMTIgQEAgdm9pZCBDaHJvbWU6OmRpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWUKIAogdm9p
ZCBDaHJvbWU6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKLSNpZiBFTkFCTEUo
Q1VSU09SX1NVUFBPUlQpCiAgICAgbV9jbGllbnQuc2V0Q3Vyc29yKGN1cnNvcik7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjdXJzb3IpOwotI2VuZGlmCiB9CiAKIHZvaWQgQ2hyb21lOjpzZXRD
dXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCBoaWRkZW5VbnRpbE1vdXNlTW92ZXMpCiB7
Ci0jaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQogICAgIG1fY2xpZW50LnNldEN1cnNvckhpZGRl
blVudGlsTW91c2VNb3ZlcyhoaWRkZW5VbnRpbE1vdXNlTW92ZXMpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oaGlkZGVuVW50aWxNb3VzZU1vdmVzKTsKLSNlbmRpZgogfQogCiBQbGF0Zm9ybURp
c3BsYXlJRCBDaHJvbWU6OmRpc3BsYXlJRCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAppbmRleCBkNzgxZjM1Y2I1Mzg4NzI1ZmRiMzBkYmQzMjU0NGIyZGM1MWMwZDEyLi42MjYx
N2Y3OGYzZTJmMDQ3NDhhYTU4YWRhZWI4ZmEzMGJkNzEyYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTE4OSwxMCArMTg5LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBQ
bGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3QgPSAwOwogCi0jaWYg
RU5BQkxFKENVUlNPUl9TVVBQT1JUKQogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3Qg
Q3Vyc29yJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNl
TW92ZXMoYm9vbCkgPSAwOwotI2VuZGlmCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2V0dGlu
Z0N1cnNvcigpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgRmxvYXRTaXplIHNjcmVl
blNpemUoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PENocm9tZUNsaWVudCY+KCp0aGlzKS53
aW5kb3dSZWN0KCkuc2l6ZSgpOyB9CiAgICAgdmlydHVhbCBGbG9hdFNpemUgYXZhaWxhYmxlU2Ny
ZWVuU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMp
LndpbmRvd1JlY3QoKS5zaXplKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApp
bmRleCBiZDg3MmM2NGNiOTg2Y2Y0ZDY1ZmMxYzFhMmI4ODVhMTVkZTJhNzBlLi5jYWRiNzkwNmZl
ZmJkMmU3NWI5OGVlMTYzZjlkZWI5YTEzNjk3MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCkBAIC0xNzYsMTMgKzE3NiwxMSBAQCBjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1v
dmVTaG9ydEludGVydmFsID0geyAxMDBfbXMgfTsKIGNvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92
ZUxvbmdJbnRlcnZhbCA9IHsgMjUwX21zIH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDVVJTT1Jf
U1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRh
dGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFuZ2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0
byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2NyZWVuIHJlZnJlc2ggcmF0ZQogc3RhdGljIGNvbnN0
IFNlY29uZHMgY3Vyc29yVXBkYXRlSW50ZXJ2YWwgeyAyMF9tcyB9OwogCiBjb25zdCBpbnQgbWF4
aW11bUN1cnNvclNpemUgPSAxMjg7Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShNT1VTRV9DVVJTT1Jf
U0NBTEUpCiAvLyBJdCdzIHByZXR0eSB1bmxpa2VseSB0aGF0IGEgc2NhbGUgb2YgbGVzcyB0aGFu
IG9uZSB3b3VsZCBldmVyIGJlIHVzZWQuIEJ1dCBhbGwgd2UgcmVhbGx5CkBAIC0zNzYsOSArMzc0
LDcgQEAgaW5saW5lIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudExvb3BIYW5kbGVNb3VzZURyYWdn
ZWQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXMKIEV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVy
KEZyYW1lJiBmcmFtZSkKICAgICA6IG1fZnJhbWUoZnJhbWUpCiAgICAgLCBtX2hvdmVyVGltZXIo
KnRoaXMsICZFdmVudEhhbmRsZXI6OmhvdmVyVGltZXJGaXJlZCkKLSNpZiBFTkFCTEUoQ1VSU09S
X1NVUFBPUlQpCiAgICAgLCBtX2N1cnNvclVwZGF0ZVRpbWVyKCp0aGlzLCAmRXZlbnRIYW5kbGVy
OjpjdXJzb3JVcGRhdGVUaW1lckZpcmVkKQotI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
ICwgbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyKCp0aGlzLCAmRXZlbnRIYW5kbGVy
OjpjbGVhckxhdGNoZWRTdGF0ZSkKICNlbmRpZgpAQCAtNDE1LDkgKzQxMSw3IEBAIERyYWdTdGF0
ZSYgRXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkK
IHsKICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwotI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkK
ICAgICBtX2N1cnNvclVwZGF0ZVRpbWVyLnN0b3AoKTsKLSNlbmRpZgogI2lmICFFTkFCTEUoSU9T
X1RPVUNIX0VWRU5UUykKICAgICBtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0b3AoKTsKICNl
bmRpZgpAQCAtMTM0MCw3ICsxMzM0LDYgQEAgRnJhbWUqIEV2ZW50SGFuZGxlcjo6c3ViZnJhbWVG
b3JUYXJnZXROb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuICZkb3duY2FzdDxGcmFtZVZpZXc+
KCp3aWRnZXQpLmZyYW1lKCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiBzdGF0
aWMgYm9vbCBpc1N1Ym1pdEltYWdlKE5vZGUqIG5vZGUpCiB7CiAgICAgcmV0dXJuIGlzPEhUTUxJ
bnB1dEVsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5p
c0ltYWdlQnV0dG9uKCk7CkBAIC0xMzk3LDYgKzEzOTAsMTEgQEAgdm9pZCBFdmVudEhhbmRsZXI6
OnVwZGF0ZUN1cnNvcigpCiAgICAgaWYgKG1fbW91c2VQb3NpdGlvbklzVW5rbm93bikKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgeworICAg
ICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnN1cHBvcnRzU2V0dGluZ0N1cnNvcigp
KQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIEZyYW1lVmlldyogdmlldyA9IG1f
ZnJhbWUudmlldygpOwogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJuOwpAQCAtMTYxNyw3
ICsxNjE1LDYgQEAgT3B0aW9uYWw8Q3Vyc29yPiBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihj
b25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGJvb2wgc2gKICAgICB9CiAgICAgcmV0dXJuIHBv
aW50ZXJDdXJzb3IoKTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiB2b2lkIEV2ZW50SGFuZGxlcjo6c3RhcnRBdXRv
SGlkZUN1cnNvclRpbWVyKCkKQEAgLTE5NDMsOSArMTk0MCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3Jt
TW91c2VFCiAgICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2hvdmVy
VGltZXIuc3RvcCgpOwogCi0jaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQogICAgIG1fY3Vyc29y
VXBkYXRlVGltZXIuc3RvcCgpOwotI2VuZGlmCiAKICNpZiAhRU5BQkxFKElPU19UT1VDSF9FVkVO
VFMpCiAgICAgY2FuY2VsRmFrZU1vdXNlTW92ZUV2ZW50KCk7CkBAIC0yMDI0LDEwICsyMDE5LDgg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZUUKICAgICB9CiAKICAgICBpZiAoIW5ld1N1YmZyYW1l
IHx8IG1vdXNlRXZlbnQuc2Nyb2xsYmFyKCkpIHsKLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQp
CiAgICAgICAgIGlmIChhdXRvKiB2aWV3ID0gbV9mcmFtZS52aWV3KCkpCiAgICAgICAgICAgICB1
cGRhdGVDdXJzb3IoKnZpZXcsIG1vdXNlRXZlbnQuaGl0VGVzdFJlc3VsdCgpLCBwbGF0Zm9ybU1v
dXNlRXZlbnQuc2hpZnRLZXkoKSk7Ci0jZW5kaWYKICAgICB9CiAgICAgCiAgICAgbV9sYXN0TW91
c2VNb3ZlRXZlbnRTdWJmcmFtZSA9IG5ld1N1YmZyYW1lOwpAQCAtMzA1OSwxMyArMzA1MiwxNiBA
QCB2b2lkIEV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0YXRlVXBkYXRlKCkKICAgICAgICAg
bV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCi0jaWYgRU5BQkxFKENVUlNPUl9T
VVBQT1JUKQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlQ3Vyc29yVXBkYXRlKCkKIHsKKyAg
ICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUucGFnZSgpKSB7CisgICAgICAgIGlmICghcGFnZS0+
Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNTZXR0aW5nQ3Vyc29yKCkpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFtX2N1cnNvclVwZGF0ZVRpbWVyLmlzQWN0aXZlKCkp
CiAgICAgICAgIG1fY3Vyc29yVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KGN1cnNvclVwZGF0ZUlu
dGVydmFsKTsKIH0KLSNlbmRpZgogCiB2b2lkIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hGYWtlTW91
c2VNb3ZlRXZlbnRTb29uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDE5
MGM2YWNlNWY0M2JiMmIzNjlkOGI5ZjU2YjZlYzE3YzQ5NDMyNmQuLmRjYmYyMjI4ODE0NzEzZjE2
MzNlNDZiNzkwMGJmZTUwZTI3MjU3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtMTc1LDkgKzE3NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBzY2hlZHVsZUhv
dmVyU3RhdGVVcGRhdGUoKTsKLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAgICAgdm9pZCBz
Y2hlZHVsZUN1cnNvclVwZGF0ZSgpOwotI2VuZGlmCiAKICAgICB2b2lkIHNldFJlc2l6aW5nRnJh
bWVTZXQoSFRNTEZyYW1lU2V0RWxlbWVudCopOwogCkBAIC0zNzcsMTAgKzM3NSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVDdXJzb3IoRnJhbWVWaWV3JiwgY29uc3QgSGl0VGVzdFJlc3Vs
dCYsIGJvb2wgc2hpZnRLZXkpOwogCiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoKTsKLQotI2lm
IEVOQUJMRShDVVJTT1JfU1VQUE9SVCkKICAgICB2b2lkIGN1cnNvclVwZGF0ZVRpbWVyRmlyZWQo
KTsKLSNlbmRpZgogCiAgICAgYm9vbCBsb2dpY2FsU2Nyb2xsT3ZlcmZsb3coU2Nyb2xsTG9naWNh
bERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIE5vZGUqIHN0YXJ0aW5nTm9kZSA9IG51bGxw
dHIpOwogICAgIApAQCAtNTIzLDEwICs1MTgsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBU
aW1lciBtX2hvdmVyVGltZXI7Ci0KLSNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAgICAgVGlt
ZXIgbV9jdXJzb3JVcGRhdGVUaW1lcjsKLSNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IFRpbWVyIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9DdXJzb3IuY3BwCmluZGV4IDdhZGVhZTRhNTRlYzFjMTM5ZTkxMWEwYTY3Njg1NjJlZTBkYWYx
ZjIuLmRmNDcyMDBkOWFlYjc5YmM1YzYwOTUzMjhlNDUxZGZmZjdkNDRiOTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ3Vyc29yLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkN1cnNvci5oIgogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0KICNp
bmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgpAQCAtMTgxLDcgKzE3OSw3IEBAIEN1cnNvcjo6Q3Vyc29yKFR5cGUgdHlwZSkK
IHsKIH0KIAotI2lmICFQTEFURk9STShDT0NPQSkKKyNpZiAhSEFWRShOU0NVUlNPUikKIAogUGxh
dGZvcm1DdXJzb3IgQ3Vyc29yOjpwbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiB7CkBAIC00NDksMTQg
KzQ0NywxOCBAQCBjb25zdCBDdXJzb3ImIGdyYWJiaW5nQ3Vyc29yKCkKICAgICByZXR1cm4gYzsK
IH0KIAotI2lmICFQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhSEFWRShOU0NVUlNPUikgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JN
KFdJTikKIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiAhSEFWRShOU0NVUlNPUikKK3Zv
aWQgQ3Vyc29yOjpzZXRBc1BsYXRmb3JtQ3Vyc29yKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorI2VuZGlmCiAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ3Vyc29yLmgKaW5kZXggNDhmNDMxM2NhNTY0YTg4ZjgyN2E5MjRiZDUyOTYwODJhMDNmNTBh
NC4uYzk2MjBlMjNhMjNlNTI5OGIzY2ZkZmQwZjZhYmI0ZDVhMzQ2ZWRhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ3Vyc29yLmgKQEAgLTQwLDcgKzQwLDcgQEAgdHlwZWRlZiBISUNPTiBIQ1VSU09SOwog
I2luY2x1ZGUgIkdSZWZQdHJHdGsuaCIKICNlbmRpZgogCi0jaWYgVVNFKEFQUEtJVCkKKyNpZiBI
QVZFKE5TQ1VSU09SKQogT0JKQ19DTEFTUyBOU0N1cnNvcjsKICNlbmRpZgogCkBAIC03MCw3ICs3
MCw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiB1c2luZyBQbGF0Zm9ybUN1cnNv
ciA9IFJlZlB0cjxTaGFyZWRDdXJzb3I+OwotI2VsaWYgVVNFKEFQUEtJVCkKKyNlbGlmIEhBVkUo
TlNDVVJTT1IpCiB1c2luZyBQbGF0Zm9ybUN1cnNvciA9IE5TQ3Vyc29yICo7CiAjZWxpZiBQTEFU
Rk9STShHVEspCiB1c2luZyBQbGF0Zm9ybUN1cnNvciA9IEdSZWZQdHI8R2RrQ3Vyc29yPjsKQEAg
LTEzMCw4ICsxMzAsNiBAQCBwdWJsaWM6CiAKICAgICBDdXJzb3IoKSA9IGRlZmF1bHQ7CiAKLSNp
ZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBjb25z
dCBDdXJzb3ImIGZyb21UeXBlKEN1cnNvcjo6VHlwZSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBD
dXJzb3IoSW1hZ2UqLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCk7CkBAIC0xNTQsNiArMTUyLDgg
QEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgUGxhdGZvcm1DdXJzb3IgcGxhdGZvcm1D
dXJzb3IoKSBjb25zdDsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXNQbGF0Zm9ybUN1
cnNvcigpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlUGxhdGZvcm1DdXJzb3Io
KSBjb25zdDsKIApAQCAtMTY2LDEzICsxNjYsMTIgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX2lt
YWdlU2NhbGVGYWN0b3IgeyAxIH07CiAjZW5kaWYKIAotI2lmICFVU0UoQVBQS0lUKQorI2lmICFI
QVZFKE5TQ1VSU09SKQogICAgIG11dGFibGUgUGxhdGZvcm1DdXJzb3IgbV9wbGF0Zm9ybUN1cnNv
ciB7IG51bGxwdHIgfTsKICNlbHNlCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNDdXJzb3I+IG1f
cGxhdGZvcm1DdXJzb3I7CiAjZW5kaWYKIAotI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZ
KQogfTsKIAogSW50UG9pbnQgZGV0ZXJtaW5lSG90U3BvdChJbWFnZSosIGNvbnN0IEludFBvaW50
JiBzcGVjaWZpZWRIb3RTcG90KTsKQEAgLTIyMSw4ICsyMjAsNiBAQCBjb25zdCBDdXJzb3ImIG5v
bmVDdXJzb3IoKTsKIGNvbnN0IEN1cnNvciYgZ3JhYkN1cnNvcigpOwogY29uc3QgQ3Vyc29yJiBn
cmFiYmluZ0N1cnNvcigpOwogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0KIGlubGluZSBD
dXJzb3I6OlR5cGUgQ3Vyc29yOjp0eXBlKCkgY29uc3QKIHsKICAgICBBU1NFUlQobV90eXBlID49
IDApOwpAQCAtMjMwLDYgKzIyNyw0IEBAIGlubGluZSBDdXJzb3I6OlR5cGUgQ3Vyc29yOjp0eXBl
KCkgY29uc3QKICAgICByZXR1cm4gbV90eXBlOwogfQogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0N1cnNv
cklPUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvQ3Vyc29ySU9TLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU1YjFkOWY1MTZkZTI3NzQxZGEyOWUwMjNkYTlm
NjMxOTg0NTBmYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvQ3Vyc29ySU9TLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDI2MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkN1cnNvci5oIgotCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25zdCBDdXJzb3ImIGN1cnNvcigpCi17
Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IEN1cnNvcj4gY3Vyc29yOwotICAgIHJl
dHVybiBjdXJzb3I7Ci19Ci0KLWNvbnN0IEN1cnNvciYgcG9pbnRlckN1cnNvcigpCi17Ci0gICAg
cmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIGNyb3NzQ3Vyc29yKCkKLXsKLSAg
ICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaGFuZEN1cnNvcigpCi17Ci0g
ICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIG1vdmVDdXJzb3IoKQotewot
ICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBpQmVhbUN1cnNvcigpCi17
Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIHdhaXRDdXJzb3IoKQot
ewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBoZWxwQ3Vyc29yKCkK
LXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFJlc2l6ZUN1
cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRo
UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgbm9ydGhFYXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vy
c29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhSZXNpemVDdXJzb3IoKQotewotICAgIHJl
dHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVhc3RSZXNpemVDdXJzb3Io
KQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aFdlc3RS
ZXNpemVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29y
JiB3ZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgbm9ydGhTb3V0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigp
OwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RXZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhFYXN0U291dGhXZXN0UmVzaXpl
Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9y
dGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgY29sdW1uUmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vy
c29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgcm93UmVzaXplQ3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbWlkZGxlUGFubmluZ0N1cnNvcigpCi17
Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RQYW5uaW5nQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhQ
YW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgbm9ydGhFYXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQot
Ci1jb25zdCBDdXJzb3ImIG5vcnRoV2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIHJldHVybiBj
dXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aFBhbm5pbmdDdXJzb3IoKQotewotICAg
IHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVhc3RQYW5uaW5nQ3Vy
c29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhX
ZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBD
dXJzb3ImIHdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgdmVydGljYWxUZXh0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29y
KCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY2VsbEN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNv
cigpOwotfQotCi1jb25zdCBDdXJzb3ImIGNvbnRleHRNZW51Q3Vyc29yKCkKLXsKLSAgICByZXR1
cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICBy
ZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm90QWxsb3dlZEN1cnNvcigpCi17
Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3ImIHByb2dyZXNzQ3Vyc29y
KCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYgYWxpYXNDdXJz
b3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiB6b29tSW5D
dXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29yJiB6b29t
T3V0Q3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNvciYg
Y29weUN1cnNvcigpCi17Ci0gICAgcmV0dXJuIGN1cnNvcigpOwotfQotCi1jb25zdCBDdXJzb3Im
IG5vbmVDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotY29uc3QgQ3Vyc29y
JiBncmFiQ3Vyc29yKCkKLXsKLSAgICByZXR1cm4gY3Vyc29yKCk7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgZ3JhYmJpbmdDdXJzb3IoKQotewotICAgIHJldHVybiBjdXJzb3IoKTsKLX0KLQotSW50UG9p
bnQgZGV0ZXJtaW5lSG90U3BvdChJbWFnZSosIGNvbnN0IEludFBvaW50JikKLXsKLSAgICByZXR1
cm4gSW50UG9pbnQoKTsKLX0KLQotfQotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XaWRnZXRJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2lkZ2V0SU9TLm1tCmluZGV4IDA0OTI4Zjk0MzQ1
OGI2ZDc0NzU2M2U2YWQ1MDczYWY4ZjdmOTBmNzUuLjNlMDljMTFiNDYzMjdiNDAxNjk3YTVkZTBk
ZDc2MTk1YzFiM2RhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
aWRnZXRJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dpZGdldElPUy5t
bQpAQCAtMzIsNyArMzIsOSBAQAogI2ltcG9ydCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgIkZvbnRD
YXNjYWRlLmgiCiAjaW1wb3J0ICJGcmFtZS5oIgorI2ltcG9ydCAiRnJhbWVWaWV3LmgiCiAjaW1w
b3J0ICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbXBvcnQgIkhvc3RXaW5kb3cuaCIKICNpbXBvcnQg
IlBsYXRmb3JtTW91c2VFdmVudC5oIgogI2ltcG9ydCAiU2Nyb2xsVmlldy5oIgogI2ltcG9ydCAi
V0FLU2Nyb2xsVmlldy5oIgpAQCAtNzIsOCArNzQsMTIgQEAgdm9pZCBXaWRnZXQ6OnNldEZvY3Vz
KGJvb2wgZm9jdXNlZCkKICAgICBVTlVTRURfUEFSQU0oZm9jdXNlZCk7CiB9CiAKLXZvaWQgV2lk
Z2V0OjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikKK3ZvaWQgV2lkZ2V0OjpzZXRDdXJzb3IoY29u
c3QgQ3Vyc29yJiBjdXJzb3IpCiB7CisgICAgRnJhbWVWaWV3KiB2aWV3ID0gcm9vdCgpOworICAg
IGlmICghdmlldykKKyAgICAgICAgcmV0dXJuOworICAgIHZpZXctPmhvc3RXaW5kb3coKS0+c2V0
Q3Vyc29yKGN1cnNvcik7CiB9CiAKIHZvaWQgV2lkZ2V0OjpzaG93KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DdXJzb3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvQ3Vyc29yTWFjLm1tCmluZGV4IDdmZWQ5NDA4YzdiMDNlNjM5MzI5ZWY5OWY2
NWU5ODQ4NGNhMWM4YjAuLjkzZDZhOWE2NWM4YzZiMTVlOGQ1YWFhMGNhYzY3MjdmZjUzYzYxZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DdXJzb3JNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0N1cnNvck1hYy5tbQpAQCAtMjYsMTMgKzI2
LDE3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkN1cnNvci5oIgogCi0jaWYgUExB
VEZPUk0oTUFDKQorI2lmIEhBVkUoTlNDVVJTT1IpCiAKKyNpbXBvcnQgPEFwcEtpdC9OU0N1cnNv
ci5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvc3BpL21hYy9ISVNl
cnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9y
dCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCisjaWYgSEFWRShISVNFUlZJQ0VTKQorI2ltcG9ydCA8
cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oPgorI2VuZGlmCisKIEBpbnRlcmZhY2UgV2ViQ29y
ZUN1cnNvckJ1bmRsZSA6IE5TT2JqZWN0IHsgfQogQGVuZAogCkBAIC00MCw3ICs0NCw5IEBAIEBp
bXBsZW1lbnRhdGlvbiBXZWJDb3JlQ3Vyc29yQnVuZGxlCiBAZW5kCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLSAgICAKKworI2lmIEhBVkUoSElTRVJWSUNFUykKKwogc3RhdGljIE5TQ3Vyc29yICpi
dXN5QnV0Q2xpY2thYmxlTlNDdXJzb3I7CiBzdGF0aWMgTlNDdXJzb3IgKm1ha2VBbGlhc05TQ3Vy
c29yOwogc3RhdGljIE5TQ3Vyc29yICptb3ZlTlNDdXJzb3I7CkBAIC0xNzQsOSArMTgwLDE5IEBA
IHN0YXRpYyBOU0N1cnNvciAqY3Vyc29yKGNvbnN0IGNoYXIgKm5hbWUpCiAgICAgcmV0dXJuICpz
bG90OwogfQogCisjZWxzZQorCitzdGF0aWMgTlNDdXJzb3IgKmN1cnNvcihjb25zdCBjaGFyICop
Cit7CisgICAgcmV0dXJuIFtOU0N1cnNvciBhcnJvd0N1cnNvcl07Cit9CisKKyNlbmRpZiAvLyBI
QVZFKEhJU0VSVklDRVMpCisKIC8vIFNpbXBsZSBOU0N1cnNvciBjYWxscyBzaG91bGRuJ3QgbmVl
ZCBwcm90ZWN0aW9uLAogLy8gYnV0IGNyZWF0aW5nIGEgY3Vyc29yIHdpdGggYSBiYWQgaW1hZ2Ug
bWlnaHQgdGhyb3cuCiAKKyNpZiBFTkFCTEUoQ1VTVE9NX0NVUlNPUl9TVVBQT1JUKQogI2lmIEVO
QUJMRShNT1VTRV9DVVJTT1JfU0NBTEUpCiBzdGF0aWMgUmV0YWluUHRyPE5TQ3Vyc29yPiBjcmVh
dGVDdXN0b21DdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCwgZmxv
YXQgc2NhbGUpCiAjZWxzZQpAQCAtMjE1LDYgKzIzMSw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlND
dXJzb3I+IGNyZWF0ZUN1c3RvbUN1cnNvcihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBo
b3RTCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KKyNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX0NVUlNPUl9TVVBQT1JUKQogCiB2b2lkIEN1cnNv
cjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBjb25zdAogewpAQCAtMzQ0LDcgKzM2MSwxMSBAQCB2
b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBjb25zdAogICAgICAgICBicmVhazsK
IAogICAgIGNhc2UgQ3Vyc29yOjpOb25lOgorI2lmIEVOQUJMRShDVVNUT01fQ1VSU09SX1NVUFBP
UlQpCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBhZG9wdE5TKFtbTlNDdXJzb3IgYWxsb2Nd
IGluaXRXaXRoSW1hZ2U6YWRvcHROUyhbW05TSW1hZ2UgYWxsb2NdIGluaXRXaXRoU2l6ZTpOU01h
a2VTaXplKDEsIDEpXSkuZ2V0KCkgaG90U3BvdDpOU1plcm9Qb2ludF0pOworI2Vsc2UKKyAgICAg
ICAgbV9wbGF0Zm9ybUN1cnNvciA9IFtOU0N1cnNvciBhcnJvd0N1cnNvcl07CisjZW5kaWYKICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEN1cnNvcjo6Tm90QWxsb3dlZDoKQEAgLTM2OCwxMSAr
Mzg5LDEzIEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAgICAg
ICAgIGJyZWFrOwogCiAgICAgY2FzZSBDdXJzb3I6OkN1c3RvbToKKyNpZiBFTkFCTEUoQ1VTVE9N
X0NVUlNPUl9TVVBQT1JUKQogI2lmIEVOQUJMRShNT1VTRV9DVVJTT1JfU0NBTEUpCiAgICAgICAg
IG1fcGxhdGZvcm1DdXJzb3IgPSBjcmVhdGVDdXN0b21DdXJzb3IobV9pbWFnZS5nZXQoKSwgbV9o
b3RTcG90LCBtX2ltYWdlU2NhbGVGYWN0b3IpOwogI2Vsc2UKICAgICAgICAgbV9wbGF0Zm9ybUN1
cnNvciA9IGNyZWF0ZUN1c3RvbUN1cnNvcihtX2ltYWdlLmdldCgpLCBtX2hvdFNwb3QpOwotI2Vu
ZGlmCisjZW5kaWYgLy8gRU5BQkxFKE1PVVNFX0NVUlNPUl9TQ0FMRSkKKyNlbmRpZiAvLyBFTkFC
TEUoQ1VTVE9NX0NVUlNPUl9TVVBQT1JUKQogICAgICAgICBicmVhazsKICAgICB9CiB9CkBAIC0z
ODMsNiArNDA2LDE0IEBAIE5TQ3Vyc29yICpDdXJzb3I6OnBsYXRmb3JtQ3Vyc29yKCkgY29uc3QK
ICAgICByZXR1cm4gbV9wbGF0Zm9ybUN1cnNvci5nZXQoKTsKIH0KIAordm9pZCBDdXJzb3I6OnNl
dEFzUGxhdGZvcm1DdXJzb3IoKSBjb25zdAoreworICAgIE5TQ3Vyc29yICpjdXJzb3IgPSBwbGF0
Zm9ybUN1cnNvcigpOworICAgIGlmIChbTlNDdXJzb3IgY3VycmVudEN1cnNvcl0gPT0gY3Vyc29y
KQorICAgICAgICByZXR1cm47CisgICAgW2N1cnNvciBzZXRdOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMpCisjZW5kaWYgLy8gSEFWRShOU0NV
UlNPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0Lnhj
Y29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5k
ZXggYTNhMDE4ODk4YWJkZmFkYWVjZjE3MGQzYzdmYzNhMTJkNTJjODczNy4uNzQ4OTY3ZTI1MWVh
OWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1
cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTQ2LDYgKzQ2LDcgQEAgV0tfQUNDRVNTSUJJTElU
WV9MREZMQUdTX01BQ09TX1NJTkNFXzEwMTQgPSAtd2Vha19saWJyYXJ5IC91c3IvbGliL2xpYkFj
Y2Vzc2liaWwKIAogV0tfQVBQS0lUX0xERkxBR1MgPSAkKFdLX0FQUEtJVF9MREZMQUdTXyQoV0tf
UExBVEZPUk1fTkFNRSkpOwogV0tfQVBQS0lUX0xERkxBR1NfbWFjb3N4ID0gLWZyYW1ld29yayBB
cHBLaXQ7CitXS19BUFBLSVRfTERGTEFHU19tYWNjYXRhbHlzdCA9IC1mcmFtZXdvcmsgQXBwS2l0
OwogCiBXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUyA9ICQoV0tfQVNTRVJUSU9OX1NFUlZJ
Q0VTX0xERkxBR1NfJChXS19DT0NPQV9UT1VDSCkpOwogV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xE
RkxBR1NfY29jb2F0b3VjaCA9IC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCAxYTk3ZmZh
ZDJmODQ4ZDQ1MmU3MGYzM2Y1MzFiMDE1N2ExNmRmN2ExLi5jNTFlYzA4MmIxOTNkMWU0Y2VkMTY3
NmMwMWQ0MDllNTExNDI0NTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKQEAgLTEwNDAsNyArMTA0MCw2IEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxJbWFnZUhhbmRsZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBJbWFnZUhhbmRsZSYgaW1h
Z2VIYW5kCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IHZvaWQgQXJndW1lbnRDb2RlcjxDdXJzb3I+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgQ3Vyc29yJiBjdXJzb3IpCiB7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKGN1cnNvci50eXBl
KCkpOwpAQCAtMTExMSw3ICsxMTEwLDYgQEAgYm9vbCBBcmd1bWVudENvZGVyPEN1cnNvcj46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBDdXJzb3ImIGN1cnNvcikKICNlbmRpZgogICAgIHJldHVy
biB0cnVlOwogfQotI2VuZGlmCiAKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJj
ZVJlcXVlc3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggMGM2NTFlNjg1YjI5NzlmNGUzNmU5YzhhNTg2NDE2ZDY3MWJkZmZm
NS4uMGMxN2E4NWE2YzM2MjZlZGNiMWU3NmRiMWEwMDZmYzNmMDlhOGRmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzksMTAg
KzM5LDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZiAvLyBFTkFCTEUoV0VC
R0wpCiAgICAgRGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKHN0cnVjdCBXZWJDb3JlOjpWaWV3
cG9ydEF0dHJpYnV0ZXMgYXR0cmlidXRlcykKICAgICBEaWRSZWNlaXZlRXZlbnQodWludDMyX3Qg
dHlwZSwgYm9vbCBoYW5kbGVkKQotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIFNldEN1
cnNvcihXZWJDb3JlOjpDdXJzb3IgY3Vyc29yKQogICAgIFNldEN1cnNvckhpZGRlblVudGlsTW91
c2VNb3Zlcyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKLSNlbmRpZgogICAgIFNldFN0YXR1
c1RleHQoU3RyaW5nIHN0YXR1c1RleHQpCiAgICAgU2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQogICAg
IFRha2VGb2N1cyh1aW50MzJfdCBkaXJlY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZGM5Zjc0YzQ5YTZiZWE5ZWRjMTUw
NmM1YWI5NTdlMDA2YTIwN2E1ZS4uNWZjNjc2NTJhYTI3OGZiNWQ4OWY3NTNkMzA5NjQ5YzM1Njgz
OWIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbQpAQCAtNTUsNiArNTUsNyBAQAogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1w
b3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgIl9XS0Rvd25sb2FkSW50ZXJuYWwuaCIK
KyNpbXBvcnQgPFdlYkNvcmUvQ3Vyc29yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVBhc3RlQWNj
ZXNzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RpY3Rpb25hcnlMb29rdXAuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KQEAgLTI2NCw5ICsyNjUsMTQgQEAgV2ViQ29yZTo6Rmxv
YXRSZWN0IFBhZ2VDbGllbnRJbXBsOjpkb2N1bWVudFJlY3QoKSBjb25zdAogICAgIHJldHVybiBb
bV9jb250ZW50VmlldyBib3VuZHNdOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRDdXJz
b3IoY29uc3QgQ3Vyc29yJikKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnNldEN1cnNvcihjb25zdCBD
dXJzb3ImIGN1cnNvcikKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIC8vIFRoZSBXZWIg
cHJvY2VzcyBtYXkgaGF2ZSBhc2tlZCB0byBjaGFuZ2UgdGhlIGN1cnNvciB3aGVuIHRoZSB2aWV3
IHdhcyBpbiBhbiBhY3RpdmUgd2luZG93LCBidXQKKyAgICAvLyBpZiBpdCBpcyBubyBsb25nZXIg
aW4gYSB3aW5kb3cgb3IgdGhlIHdpbmRvdyBpcyBub3QgYWN0aXZlLCB0aGVuIHRoZSBjdXJzb3Ig
c2hvdWxkIG5vdCBjaGFuZ2UuCisgICAgaWYgKCFpc1ZpZXdXaW5kb3dBY3RpdmUoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgY3Vyc29yLnNldEFzUGxhdGZvcm1DdXJzb3IoKTsKIH0KIAogdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6c2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDNhYmIxYzdlMzdjNDdkZWUzNjgzNDcyZTJlMzM3YjQ1
ZmFmNTU4MDUuLjhlNGM5Mzc1ZDdiOGNjMTBmZmEwMDgwM2Q0ODIxNzNiZTVhMzU1OGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCkBAIC04MjIsOCArODIyLDYgQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRmls
ZUljb24KICAgICBsb2FkZXIuaWNvbkxvYWRlZChjcmVhdGVJY29uRm9yRmlsZXMoZmlsZW5hbWVz
KSk7CiB9CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQogdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKICAgICBtX3BhZ2Uuc2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRDdXJzb3IoY3Vyc29yKSk7CkBAIC04MzQsNiArODMy
LDggQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zl
cyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpTZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoaGlkZGVuVW50aWxN
b3VzZU1vdmVzKSk7CiB9CiAKKyNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKKwogUmVmUHRyPElj
b24+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBmaWxlbmFtZXMpCiB7CiAgICAgcmV0dXJuIEljb246OmNyZWF0ZUljb25Gb3JGaWxlcyhm
aWxlbmFtZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDcyZWJlZjUwZGY5YjE0YTg3MmZjMzU2
MGExYzgxNzM3NDUxZDcwMjcuLmZkYTMzOGVjZmE2ODU1ZTFjMWQ2MDg1MGU0NzFmNjc5NGVkMWMy
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE5MSw5ICsxOTEsMTAgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHNob3dTaGFyZVNoZWV0KFdlYkNvcmU6OlNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmLCBX
VEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogICAgIHZvaWQgbG9h
ZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFdlYkNvcmU6OkZpbGVJY29uTG9h
ZGVyJikgZmluYWw7CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHNldEN1
cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKSBmaW5hbDsKICAgICB2b2lkIHNldEN1cnNvckhp
ZGRlblVudGlsTW91c2VNb3Zlcyhib29sKSBmaW5hbDsKKyNpZiAhSEFWRShOU0NVUlNPUikKKyAg
ICBib29sIHN1cHBvcnRzU2V0dGluZ0N1cnNvcigpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCmlu
ZGV4IDE0NTc3MjIyYTllMTNlNjNlNDkxZDZkM2I5MmNhMWJjODllN2NiMDMuLmI4Yjc1MjYzNTlm
ZTNlMmY5NjgxM2MwYWVjYWQwNzU1NTMzMGFlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCkBA
IC01MCw2ICs1MCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6
RnJhbWUmLCBXZWJDb3JlOjpGaWxlQ2hvb3NlciYpIGZpbmFsOwogICAgIHZvaWQgc2hvd1NoYXJl
U2hlZXQoV2ViQ29yZTo6U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogCisgICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29y
ZTo6Q3Vyc29yJikgZmluYWwgeyB9CisgICAgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNl
TW92ZXMoYm9vbCkgZmluYWwgeyB9CisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHZv
aWQgZGlkUHJldmVudERlZmF1bHRGb3JFdmVudCgpIGZpbmFsOwogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>