<?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>219487</bug_id>
          
          <creation_ts>2020-12-03 03:49:41 -0800</creation_ts>
          <short_desc>IPC should support non-byte aligned data references</short_desc>
          <delta_ts>2020-12-09 01:46:37 -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>WebKit2</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>217211</blocked>
    
    <blocked>217216</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>joepeck</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1711647</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-12-03 03:49:41 -0800</bug_when>
    <thetext>IPC should support non-byte aligned data references

This is needed to efficiently pass arrays of floats and ints in the WebGL GPU Process implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711652</commentid>
    <comment_count>1</comment_count>
      <attachid>415293</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-12-03 04:49:36 -0800</bug_when>
    <thetext>Created attachment 415293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711653</commentid>
    <comment_count>2</comment_count>
      <attachid>415294</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-12-03 04:52:17 -0800</bug_when>
    <thetext>Created attachment 415294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712520</commentid>
    <comment_count>3</comment_count>
      <attachid>415294</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-07 11:49:19 -0800</bug_when>
    <thetext>Comment on attachment 415294
Patch

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

&gt; Source/WebKit/Platform/IPC/ArrayReference.h:76
&gt; +    size_t m_size { };

const T* m_data { nullptr };
size_t m_size { 0 };

&gt; Source/WebKit/Platform/IPC/ArrayReference.h:117
&gt; +    const T* m_data { };

const T* m_data { nullptr };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712856</commentid>
    <comment_count>4</comment_count>
      <attachid>415294</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-12-08 12:12:41 -0800</bug_when>
    <thetext>Comment on attachment 415294
Patch

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

r=me with nits.

&gt; Source/WebKit/ChangeLog:10
&gt; +        size is determined run-time.

*at* run-time

&gt; Source/WebKit/ChangeLog:17
&gt; +        DataReference or ArrayReference, as a synchronized call return value.

synchronized -&gt; synchronous IPC

&gt; Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:33
&gt; +

I don&apos;t think we usually use a blank line in such cases.

&gt; Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:34
&gt; +

ditto.

&gt; Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h:34
&gt; +

ditto.

&gt; Source/WebKit/Platform/IPC/ArrayReference.h:2
&gt; + * Copyright (C) 2010 Apple Inc. All rights reserved.

2010-2020

&gt;&gt; Source/WebKit/Platform/IPC/ArrayReference.h:76
&gt;&gt; +    size_t m_size { };
&gt; 
&gt; const T* m_data { nullptr };
&gt; size_t m_size { 0 };

Agreed.

&gt;&gt; Source/WebKit/Platform/IPC/ArrayReference.h:117
&gt;&gt; +    const T* m_data { };
&gt; 
&gt; const T* m_data { nullptr };

Agreed.

&gt; Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.cpp:43
&gt; +    WebCore::Page* page = inspectorFrontend.frontendPage();

auto*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713032</commentid>
    <comment_count>5</comment_count>
      <attachid>415717</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-12-08 22:46:11 -0800</bug_when>
    <thetext>Created attachment 415717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713033</commentid>
    <comment_count>6</comment_count>
      <attachid>415718</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-12-08 22:47:31 -0800</bug_when>
    <thetext>Created attachment 415718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713046</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-08 23:51:46 -0800</bug_when>
    <thetext>Committed r270573: &lt;https://trac.webkit.org/changeset/270573&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415718.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713047</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-08 23:52:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/72126664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713072</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-12-09 01:25:52 -0800</bug_when>
    <thetext>This patch broke iOS builds (Apple internal builds).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713075</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-12-09 01:44:15 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #9)
&gt; This patch broke iOS builds (Apple internal builds).

Fixed in http://trac.webkit.org/r270576</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713076</commentid>
    <comment_count>11</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-12-09 01:46:37 -0800</bug_when>
    <thetext>Thanks, sorry!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415293</attachid>
            <date>2020-12-03 04:49:36 -0800</date>
            <delta_ts>2020-12-03 04:52:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219487-20201203144934.patch</filename>
            <type>text/plain</type>
            <size>86517</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTE4OGRjYzFkZTdjMzA0
OTg5ODk4MGIxNzk3OTM4NzlkNjNkNjE1Zi4uM2U5MjIzMzVjN2M3MjNkZDRmZGFiODc2OGM3NTQ5
YTAxNDVhZTFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEyLTAzICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgSVBDIHNob3VsZCBz
dXBwb3J0IG5vbi1ieXRlIGFsaWduZWQgZGF0YSByZWZlcmVuY2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk0ODcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgI2luY2x1ZGUgIkxvZ2dpbmcuaCIg
dG8gZml4IGJ1aWxkIGVycm9yIGhpZGRlbiBieQorICAgICAgICB1bmlmaWVkIGJ1aWxkLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVy
Q29yZUltYWdlLm1tOgorCiAyMDIwLTEyLTAzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25A
YXBwbGUuY29tPgogCiAgICAgICAgIEdQVSBQcm9jZXNzOiBTYW5kYm94IHZpb2xhdGlvbnMgdW5k
ZXIgSU9TdXJmYWNlOjptYXhpbXVtU2l6ZSBpbiB0aGUgV2ViIENvbnRlbnQgcHJvY2VzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCAxNTUyZDkzMzdjYzg0MjU4NWIwOGIyYjM3ODIxZWQzNDZhOTg4MGI4Li4yNGFmZWVm
NDE3ZmQzYzFhYmU0NTNiMzBmNzFjMmY4ZTFiNzZlMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
MCBAQAorMjAyMC0xMi0wMyAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgor
CisgICAgICAgIElQQyBzaG91bGQgc3VwcG9ydCBub24tYnl0ZSBhbGlnbmVkIGRhdGEgcmVmZXJl
bmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5
NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgdGVtcGxhdGVkIHZlcnNpb24gb2YgSVBDOjpEYXRhUmVmZXJlbmNlOiBBcnJheVJlZmVyZW5j
ZTx0eXBlLCBudW1iZXIgb2YgZWxlbWVudHM+LgorICAgICAgICBUaGUgbnVtYmVyIG9mIGVsZW1l
bnRzIGNhbiBiZSBvbWl0dGVkLCBpbiB3aGljaCBjYXNlIHRoZSBBcnJheVJlZmVyZW5jZQorICAg
ICAgICBzaXplIGlzIGRldGVybWluZWQgcnVuLXRpbWUuCisKKyAgICAgICAgVGhpcyB3YXkgcG9p
bnRlcnMgb2YgdHlwZWQgYXJyYXlzIHN1Y2ggYXMgZmxvYXQgYXJyYXlzIGNhbiBiZSB0cmFuc2Zl
cnJlZCBkaXJlY3RseQorICAgICAgICBmcm9tIHRoZSBJUEMgbWVzc2FnZSBkYXRhIHN0b3JlIHRv
IHRoZSB0YXJnZXQuIFRoaXMgaXMgdXNlZnVsIHdoZW4gaW1wbGVtZW50aW5nIAorICAgICAgICBJ
UEMgZm9yIFdlYkdMIGluIEdQVSBwcm9jZXNzLgorCisgICAgICAgIENoYW5nZXMgSVBDIHRvIHN1
cHBvcnQgcGFzc2luZyBkYXRhIHJlZmVyZW5jZXMsIGkuZS4KKyAgICAgICAgRGF0YVJlZmVyZW5j
ZSBvciBBcnJheVJlZmVyZW5jZSwgYXMgYSBzeW5jaHJvbml6ZWQgY2FsbCByZXR1cm4gdmFsdWUu
CisgICAgICAgIFRoZSBjYWxsZXIgbXVzdCBob2xkIHRoZSBDb25uZWN0aW9uOjpzeW5jU2VuZCgp
IHJlc3VsdCAoRGVjb2RlciBvYmplY3QpCisgICAgICAgIGZvciB0aGUgZHVyYXRpb24gb2YgdXNp
bmcgdGhlIGRhdGEgdmFsdWVzLgorCisgICAgICAgIE1ha2VzIERhdGFSZWZlcmVuY2UgYW4gYWxp
YXMgb2YgdWludDhfdCBkeW5hbWljIGFycmF5IHJlZmVyZW5jZS4KKyAgICAgICAgVW5mb3J0dW5h
dGVseSB0aGlzIG1ha2VzIHRoZSBmb3J3YXJkIGRlY2xhcmluZyBEYXRhUmVmZXJlbmNlIGhhcmQu
CisgICAgICAgIER1ZSB0byB0aGlzLCBjaGFuZ2VzIHVzZSBkZWNsYXJhdGlvbiBzaXRlcyB0byAj
aW5jbHVkZSBpbnN0ZWFkIG9mCisgICAgICAgIHVzaW5nIGZvcndhcmQgZGVjbGFyYXRpb25zLiBS
ZW1vdmVzIGZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBoZWFkZXJzCisgICAgICAgIHdoZXJlIHRo
ZSB0eXBlIGlzIG5vdCB1c2VkLgorCisgICAgICAgIEFkZHMgdmFyaW91cyAjaW5jbHVkZXMgdG8g
Zml4IGVycm9ycyBoaWRkZW4gYnkgdGhlIHVuaWZpZWQgYnVpbGQuCisKKyAgICAgICAgQWRkcyBz
b21lIFdlYkNvcmU6OiBuYW1lc3BhY2UgcXVhbGlmaWNhdGlvbnMgdG8gZml4IGVycm9ycyBoaWRk
ZW4KKyAgICAgICAgYnkgdGhlIHVuaWZpZWQgYnVpbGQuCisKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJy
dGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENDb2RlY3NQcm94eS5tbToKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVNZWRpYVJlY29yZGVyLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9j
b2xzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNvY29hLm1tOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU29ja2V0U3RyZWFtLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvV2Vi
U29ja2V0VGFzay5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNvY2tldFRh
c2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tD
b2NvYS5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3Vw
LmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmg6
CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogUGxh
dGZvcm0vSVBDL0FycmF5UmVmZXJlbmNlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuaC4KKyAgICAgICAgKElQQzo6QXJyYXlSZWZlcmVuY2U6
OkFycmF5UmVmZXJlbmNlKToKKyAgICAgICAgKElQQzo6QXJyYXlSZWZlcmVuY2U6OmlzRW1wdHkg
Y29uc3QpOgorICAgICAgICAoSVBDOjpBcnJheVJlZmVyZW5jZTo6c2l6ZSBjb25zdCk6CisgICAg
ICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjpkYXRhIGNvbnN0KToKKyAgICAgICAgKElQQzo6QXJy
YXlSZWZlcmVuY2U6OnZlY3RvciBjb25zdCk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uaDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6c2VuZFN5bmMpOgorICAgICAgICAq
IFBsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBQbGF0
Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9EZWNvZGVy
LmNwcDoKKyAgICAgICAgKElQQzo6RGVjb2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhSZWZlcmVuY2Up
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL0VuY29kZXIuY3BwOgorICAgICAgICAoSVBDOjpFbmNvZGVyOjp3cmFwRm9yVGVzdGluZyk6
CisgICAgICAgICogUGxhdGZvcm0vSVBDL0VuY29kZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvSGFuZGxlTWVzc2FnZS5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVy
Lmg6CisgICAgICAgIChJUEM6Ok1lc3NhZ2VTZW5kZXI6OnNlbmRTeW5jKToKKyAgICAgICAgKiBQ
bGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyQ29weS5jcHA6CisgICAgICAgIChJUEM6OlNoYXJlZEJ1
ZmZlckNvcHk6OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRh
dGFSZWZlcmVuY2UuY3BwOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2Uu
Y3BwOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoK
KyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9BUEkvQVBJ
RGF0YS5jcHA6CisgICAgICAgICogU2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwOgorICAg
ICAgICAqIFNoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwOgorICAgICAg
ICAoSVBDOjpBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUljb25Mb2FkaW5nQ2xp
ZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oOgorICAg
ICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnNlbmRTeW5jKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1N1YkZyYW1lU09BdXRob3JpemF0aW9u
U2Vzc2lvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9M
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlckNvbnRlbnQv
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGlvblBh
cmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViVVJMU2NoZW1lSGFuZGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJVUkxTY2hlbWVUYXNrLmg6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNv
cHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyLmNw
cDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3Zp
ZGVyTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVk
aW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL0xpYldlYlJUQ0NvZGVjcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6OldlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29u
dHJvbGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJv
bGxlcjo6cmVnaXN0ZXJFeHRlbnNpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JV
SUV4dGVuc2lvbkNvbnRyb2xsZXI6OnVucmVnaXN0ZXJFeHRlbnNpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJT
b2NrZXRTdHJlYW0uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRT
dHJlYW0uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6c2VuZFN5bmNXaXRoRGVsYXllZFJlcGx5KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Omhh
bmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KToKKwogMjAyMC0xMi0wMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBHUFUgUHJvY2VzczogU2FuZGJveCB2
aW9sYXRpb25zIHVuZGVyIElPU3VyZmFjZTo6bWF4aW11bVNpemUgaW4gdGhlIFdlYiBDb250ZW50
IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZS5tbQppbmRleCAzOGRlODU1MmYxZTQ2YTFkMzcwYWU2ZGMyNzg5YTFlYzY2NzRiYTEyLi45OWFk
OTE2NTI1OTE4NzNlMGU4M2ZlODc4OTI1ZWNhMjMzYTFhMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWlt
YWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCkBAIC0zNiw2ICszNiw3IEBACiAj
aW1wb3J0ICJGbG9hdENvbnZlcnNpb24uaCIKICNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dENHLmgi
CiAjaW1wb3J0ICJJbWFnZUJ1ZmZlci5oIgorI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAi
UGxhdGZvcm1JbWFnZUJ1ZmZlci5oIgogI2ltcG9ydCAiU291cmNlR3JhcGhpYy5oIgogI2ltcG9y
dCA8Q29yZUltYWdlL0NJQ29udGV4dC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eS5jcHAKaW5kZXggZTZhMThk
ZGE2ZTA5MmZkYjE4MDQ0NmU0ZjNhMDgzY2Y1M2MyNzYxOS4uMzc5MjhlMWI4M2Q0ZTUyNDQ1M2E4
ZDI3Y2MzYjg3OTAxYjI0OWEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkuY3BwCkBAIC0yOSw2ICsyOSw3
IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBVU0UoQVVESU9fU0VTU0lPTikKIAogI2lu
Y2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNz
LmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJS
ZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nl
c3Npb25Qcm94eU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcAppbmRleCBkOWJmNTIyNzJjMzcyOTE1
NzViNWIzOTMyNjJlNzcyMTNiOTMwZGQ0Li44ZjAxMTllZGZlMWQ2ZTkzMjQzMDA1YjM0NDEyNWIy
NGVhYjkxZTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTGVnYWN5Q0RNUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVk
ZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNE
TVNlc3Npb25Qcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
LmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5oCmluZGV4
IDZhNWM2NzI1Y2FhOWJkYjg2N2FiODZiOGM1N2YzNmRlMmM4OTZkY2YuLmJlN2Y1MjIwYmU5Yjg1
Zjg2OGE1ZjgzN2VmZWQ2NmRkZjk1ZjI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5oCkBAIC0zOSwxMCArMzksNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiB9CiAKLW5hbWVzcGFj
ZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFJlbW90ZUxlZ2FjeUNETVByb3h5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuY3BwCmlu
ZGV4IDQ3ZjVkMmYyNzBmYTVkZTRmYWRlMTUxNDQ0MjExMTc5NGVkMzZkMjguLjJjNWU3ZGU3ZDJl
NzU2OTYwYTNmM2VjODc2YzhiODI1YzZlNDViNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHku
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbk1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0xlZ2FjeUNETS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAKaW5kZXggYTk4Y2ZhNGM5
ZjgwMjMxOTA0ZjhlZjBlYWE5MzYyMjlhZmE5NzU5OC4uZmVjNjVjZjYyYjY2NzRiODMwMGM1MGNk
NDMzNDE1ZTkxNTExNDQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwCkBAIC0yOSw3ICsy
OSw2IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5o
IgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291
cmNlLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgKaW5kZXgg
ZDg5YjgwM2Y2YWJmNDFjOGU5ZWRkZTQxNDI3NjkzMjgyNmQxYjMzOC4uMDgxZWIzMTgwZDAyMTY0
YjVhYTNkNTQ4MDZmNzJjN2VkYzBjYjFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgKQEAgLTI3
LDE1ICsyNywxNiBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlJl
bW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmgiCisKICNpbmNsdWRlIDxXZWJDb3JlL1BvbGlj
eUNoZWNrZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiBuYW1lc3BhY2UgSVBDIHsK
IGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsK
IH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgKaW5kZXggNTk2OGM3YmJkMTg5
Y2Q0NzllZjRhZWFiNGQ0NDk5NTMzZmQzZDY1Yi4uZmU1NDRkNTU1MTkxZTU1NmUyZDdlMjMzOTQ3
NWEwMmZjMjlkY2ZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCkBAIC0zOSw3ICszOSw2IEBACiBuYW1lc3Bh
Y2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJl
ZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKaW5k
ZXggNjU3NmRiYjdiMWNhNWI5NDY1NzRlNWRlNDk1MmM2MWNiMzUyNzVjNy4uZTA5ZDhiNTRjMmFh
MDgzOTI4MDFiMTZhNDk2MjE3MDMwZGM3NzE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCkBAIC0y
OSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09V
UkNFKQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJJbml0aWFsaXphdGlvblNlZ21lbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
TWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgKaW5kZXggNmI4YmY4YjU3Y2MwYzhkOWQ1NDExZTk2
NTIxYjQ1YTk0YThlM2IzMi4uOTljYTZhNDE0ZWI1MDgzOTBjNzI4MzNhNjQ1MWU3MzAzOTQyMWQ3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5LmgKQEAgLTI3LDkgKzI3LDExIEBACiAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIuaCIKKwogI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KQEAgLTM4LDcgKzQwLDYgQEAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlv
bjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5LmgKaW5kZXggMzYwMzEwYjdkMTIxZDI4NmQ4ZDE2MWYxODNhYmQw
ZTc0NWI4MzUzMy4uODQzYmIwNmY3YjU2YzZlM2NmYmVlNzlhN2U0MjgxZWZlZThmOWE3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzUHJveHkuaApAQCAtMjgsMTQgKzI4LDE1IEBACiAjaWYgVVNFKExJQldFQlJUQykgJiYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkNvbm5lY3Rp
b24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiUlRDRGVjb2Rlcklk
ZW50aWZpZXIuaCIKICNpbmNsdWRlICJSVENFbmNvZGVySWRlbnRpZmllci5oIgorCiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULmg+CiAKIG5hbWVzcGFjZSBJUEMgewog
Y2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwog
fQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQppbmRleCBmOGFiYzFmNDA1ZmMx
NDY5NDc1YjRkOTBiYWQzZDUzY2EwZjgwMTRlLi42MWM0NzA4YWU5NmRiY2FhNTY5ODA5ZWUxOTk1
YmU4MTZhOTFmZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFVT
RShMSUJXRUJSVEMpICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAK
LSNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKICNpbXBvcnQgIkdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaCIKICNpbXBvcnQgIkxpYldlYlJUQ0NvZGVjc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJM
aWJXZWJSVENDb2RlY3NQcm94eU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCmluZGV4IDc4OGM1ZjAwYzAy
ZjRmMTQ4ZmVlY2NkMzhkMTA2ODE4YjBkN2U5NjEuLjNhYjRlNGIxY2YxYzE0MTIzMGMxM2U0NTc2
YzVlZDZlNmVmYzJlZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFN
KSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgpAQCAtMzYsNyArMzcs
NiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVm
ZXJlbmNlOwogY2xhc3MgRGVjb2RlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3Rv
Y29scy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDb2NvYS5tbQppbmRleCA3YTYz
MzYzNDdjMDA3ZTk3YjczYjU0Mzc3NDkxNjgzOGQ2NDAzN2RhLi4xYWE1M2NjMmZiNzdiYWY5ZTMy
NjUwNzIxMDgwOWZkNzZjZmJiZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0N1c3RvbVByb3RvY29scy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29s
cy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDb2NvYS5tbQpAQCAtMjYsNyArMjYs
NiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXIuaCIKIAotI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCAiTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzLmgi
CiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMU2Vzc2lvbi5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29s
cy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaAppbmRleCBmNmVkODExZjUzNDJmZTQ4NTU1
MTc2Zjg5ZDUxNDU3NTYyYzY2NTg1Li4wYmNkNTY3M2M5MzQ2YWRhMTFkNjU2YzNhZGQ1MWJlNGVk
YmMyNzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVBy
b3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMZWdhY3lDdXN0b21Qcm90b2NvbElELmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50
LmgiCkBAIC0zOSwxMCArNDAsNiBAQCBPQkpDX0NMQVNTIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRp
b247CiBPQkpDX0NMQVNTIFdLQ3VzdG9tUHJvdG9jb2w7CiAjZW5kaWYKIAotbmFtZXNwYWNlIElQ
QyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfSAvLyBuYW1lc3BhY2UgSVBDCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7
CkBAIC0xMTIsNCArMTA5LDMgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZC5jcHAKaW5kZXggZGRiZTRlZWRkNDQxZGY4N2M1NWFkMzMwZjA0MmNjZGNmYWRmYjkwYi4u
NjUxZmYyNTRmOTA1YzE2YTkwY2I0ODJjOTc3M2Q0YWM3NDI5NGVjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb24u
aCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2FkTWFu
YWdlci5oIgogI2luY2x1ZGUgIkRvd25sb2FkTW9uaXRvci5oIgogI2luY2x1ZGUgIkRvd25sb2Fk
UHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmgKaW5kZXggMzhhZjM1MDgwNzQ2NDI5M2I5NWZmYWYwNTlmZGVjMzY5
MDE3NzI3NC4uOTNmMDNhODI1NWYxYWU3MTczODNjMDAyOTBhMjRmOTFjYTdjNjU4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIkRvd25sb2FkSUQuaCIKICNpbmNsdWRlICJEb3dubG9hZE1hbmFnZXIu
aCIKICNpbmNsdWRlICJEb3dubG9hZE1vbml0b3IuaCIKQEAgLTQ0LDEwICs0NSw2IEBAIE9CSkNf
Q0xBU1MgTlNQcm9ncmVzczsKIE9CSkNfQ0xBU1MgTlNVUkxTZXNzaW9uRG93bmxvYWRUYXNrOwog
I2VuZGlmCiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CiBjbGFzcyBC
bG9iRGF0YUZpbGVSZWZlcmVuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcAppbmRleCAzMzIxNjM0MGYy
N2MxNjA1YzNjZDc0YmM2OTA3YjdkOTFiNDdiNzYyLi43MjZkZDk5MGJhZmQ0Mzk0YjVhZmMwMzJh
MWNmMjBmMTg0OWM0OWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEb3dubG9hZE1hbmFnZXIuaCIKIAotI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9hZC5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya0xvYWQu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRNYW5hZ2VyLmgKaW5kZXggMmNkMTYxYjBhYzNlNzg5ZTIyNDZjMDViMDE2NWYxYzcy
Njc4ZmE1MC4uOTgwYTA2Zjc4MzlkYmQ1ZTlmOWQ1MDQ1NDA5YTMzZDc3YjFjMDM4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWRNYW5hZ2VyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRJRC5oIgogI2luY2x1ZGUgIkRv
d25sb2FkTWFwLmgiCiAjaW5jbHVkZSAiTmV0d29ya0RhdGFUYXNrLmgiCkBAIC00OSw3ICs1MCw2
IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29u
bmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hh
bm5lbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFu
bmVsLmNwcAppbmRleCA0NDliMTNkOGUwN2IyY2QwNDJjNGJhMzYzNmFiNzkzZDM3YjFjM2Y0Li5j
Nzc4ODgxMWYwMzJkNThmOGI1Mjc3MzZlMWQyMjc4NDEwZjkxM2E5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmNwcApAQCAt
MjYsNyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtTb2Nr
ZXRDaGFubmVsLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5o
IgogI2luY2x1ZGUgIk5ldHdvcmtTZXNzaW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmgKaW5kZXggMzE5NjQxOTBkMTQxZDU0
OWRhMGJhZjJkYzhiZjI5N2I0ZTU4MWU4OS4uMDQzNGJmODgwOWE3ZWIzZWNjMThlOGY2NTBjYzAy
NzhhZTZlYjUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1NvY2tldENoYW5uZWwuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAor
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIK
ICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgpA
QCAtNDAsNyArNDEsNiBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBuYW1lc3BhY2UgSVBDIHsK
IGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcAppbmRleCA1YjQ4OWNjNTM4ZjdjMDcxNTEw
MTA2YzU4ZjVjMDk0ZWM5YThlMWI4Li40OGM4ODNiZmMwZmM3ZDUwMWM4YTRhNGU3Njg0Y2NjMzNl
MzhjMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtT
b2NrZXRTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1NvY2tldFN0cmVhbS5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJOZXR3b3JrU29ja2V0U3RyZWFtLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1N0b3JhZ2VTZXNzaW9uUHJvdmlkZXIuaCIKICNpbmNs
dWRlICJXZWJTb2NrZXRTdHJlYW1NZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29va2ll
UmVxdWVzdEhlYWRlckZpZWxkUHJveHkuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmgKaW5kZXggNTJlYzM5MjY5MDIxOGVkZTY2OGQ1
NWU2MzhkOGUxNzUwMmZkNmVlNS4uNzM0MjlhMDI3OTA2YjQxNmEzOGMwYzZiMzk0NmEwZGI5ZmIy
MDZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29j
a2V0U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29j
a2V0U3RyZWFtLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtRXJyb3Iu
aD4KQEAgLTM3LDcgKzM4LDYgQEAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsK
IGNsYXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oCmluZGV4IGQzM2NiZmYx
MDg5Y2MxMDVkZDFhMDBiZWJmZGY2MWQzM2M3ZjY2YmQuLmQzN2Q3ODA2OTgzYmJhNTQ3Y2EwZjky
MzVlYjRiZjZiNzMxNTY1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2su
aApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5j
bHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmV0Y2hJZGVudGlmaWVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmg+CkBAIC00Myw3ICs0NCw2IEBAIGNs
YXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlv
bjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRm9ybURhdGFS
ZWZlcmVuY2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dl
YlNvY2tldFRhc2suaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU29ja2V0VGFz
ay5oCmluZGV4IGRiNTc5NWRkMjE3ZjQ1YWQ1ZjY3ZTMwYjc5MWY5MmUyNzZjMDI5ODYuLjk2MWU0
NjQ1OWJlNzcxNzdlMjYwNWU3ZDg2NTJhZGE4MDIwOTdiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU29ja2V0VGFzay5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvV2ViU29ja2V0VGFzay5oCkBAIC0zMSw5ICszMSw2IEBACiAjaW5jbHVk
ZSAiV2ViU29ja2V0VGFza1NvdXAuaCIKICNlbHNlCiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3Mg
RGF0YVJlZmVyZW5jZTsKLX0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0VGFza0NvY29hLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2NvYS5oCmlu
ZGV4IGRhYzY5MzUwN2ViM2VmY2VhNmQxMDk0ODAxYmMwMWIzNmZlMjYzOWQuLmU2ODI2ZTQ3ZTgz
OTU5NDAyOGFmOGY0YWVkMjM5MmI0YjA1ZDJmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0VGFza0NvY29hLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EuaApAQCAtMjcsMTUg
KzI3LDEyIEBACiAKICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCiAKKyNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CiAKIE9CSkNfQ0xBU1MgTlNVUkxTZXNzaW9uV2ViU29ja2V0VGFzazsK
IAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIE5ldHdvcmtTZXNzaW9uOwogY2xhc3MgTmV0d29ya1Nlc3Npb25Db2Nv
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2ViU29j
a2V0VGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJT
b2NrZXRUYXNrQ29jb2EubW0KaW5kZXggODU1MzQ4NzQ0MDRjZTJiYWE0NGFlNjU2NTQ3ZDM3MjI1
MzMyZWFiOC4uOTBiYzQwOWJmZmI3MGEwZWU5ZTczNThiMzg2NzU5N2QyOWYyNGUwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRU
YXNrQ29jb2EubW0KQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEhBVkUoTlNVUkxTRVNTSU9OX1dF
QlNPQ0tFVCkKIAotI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCAiTmV0d29ya1Nl
c3Npb25Db2NvYS5oIgogI2ltcG9ydCAiTmV0d29ya1NvY2tldENoYW5uZWwuaCIKICNpbXBvcnQg
PEZvdW5kYXRpb24vTlNVUkxTZXNzaW9uLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcAppbmRleCA0NWZjNjY5ZDc2
NmE3NjFjNWQ3NzNkYzk1ZjA1NDFhMzhlMzZmOGUzLi5hM2U3MDE0YjVkOGVjMDk3MzhmZmE3ZDU2
NjQ1NDUwMTBmMDUzNDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRUYXNrU291cC5oIgogCi0jaW5jbHVk
ZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1NvY2tldENoYW5uZWwuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQYXJzZXJz
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29j
a2V0VGFza1NvdXAuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2Nr
ZXRUYXNrU291cC5oCmluZGV4IGU0MjFiOWUxYzcxMzE4NDM0ZjY0ODdmNWZjYjVhNmE4N2JkNzM5
MTkuLjA4ODkyMzk1OWZlNDYwZmYyYmJhNGM4YzA4Mzk5ODA2NTdiZjM0OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5o
CkBAIC0yNSwxNCArMjUsMTEgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBJUEMgewot
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3
b3JrU29ja2V0Q2hhbm5lbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50
Q29kZXJzLmgKaW5kZXggZTAwYTBjY2RmYTU4NzVjMDI4YzUwNTIzMTE0MTcyOGVlOTViNDM5Mi4u
ZTM4YmMxYzYwYWY2ZGNmMDM2OTY1YWE3OGFhZGJkNmQ4ZDRiNjI2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXJyYXlSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEZWNv
ZGVyLmgiCiAjaW5jbHVkZSAiRW5jb2Rlci5oIgogI2luY2x1ZGUgPHV0aWxpdHk+CkBAIC01Myw2
ICs1NCw0OCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgU2ltcGxlQXJndW1lbnRDb2Rl
ciB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IEV4dGVudD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8QXJyYXlSZWZlcmVuY2U8VCwgRXh0ZW50Pj4geworICAgIHVzaW5n
IEFycmF5UmVmZXJlbmNlVHlwZSA9IEFycmF5UmVmZXJlbmNlPFQsIEV4dGVudD47CisgICAgc3Rh
dGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFycmF5UmVmZXJlbmNlVHlw
ZSYgYXJyYXlSZWZlcmVuY2UpCisgICAgeworICAgICAgICBpZiAoIUV4dGVudCkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRl
cnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYXJyYXlSZWZlcmVuY2UuZGF0YSgpKSwgYXJyYXlS
ZWZlcmVuY2Uuc2l6ZSgpICogc2l6ZW9mKFQpLCBhbGlnbm9mKFQpKTsKKyAgICB9CisgICAgc3Rh
dGljIE9wdGlvbmFsPEFycmF5UmVmZXJlbmNlVHlwZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIp
CisgICAgeworICAgICAgICBpZiAoIUV4dGVudCkKKyAgICAgICAgICAgIHJldHVybiBBcnJheVJl
ZmVyZW5jZVR5cGUoKTsKKyAgICAgICAgY29uc3QgdWludDhfdCogZGF0YSA9IGRlY29kZXIuZGVj
b2RlRml4ZWRMZW5ndGhSZWZlcmVuY2UoRXh0ZW50ICogc2l6ZW9mKFQpLCBhbGlnbm9mKFQpKTsK
KyAgICAgICAgaWYgKCFkYXRhKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICAgICAgcmV0dXJuIEFycmF5UmVmZXJlbmNlVHlwZShyZWludGVycHJldF9jYXN0PGNvbnN0IFQq
PihkYXRhKSwgRXh0ZW50KTsKKyAgICB9Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxBcnJheVJlZmVyZW5jZTxULCBhcnJheVJlZmVyZW5jZUR5bmFtaWNF
eHRlbnQ+PiB7CisgICAgdXNpbmcgQXJyYXlSZWZlcmVuY2VUeXBlID0gQXJyYXlSZWZlcmVuY2U8
VCwgYXJyYXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50PjsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQXJyYXlSZWZlcmVuY2VUeXBlJiBhcnJheVJlZmVyZW5j
ZSkKKyAgICB7CisgICAgICAgIGVuY29kZXIuZW5jb2RlKHN0YXRpY19jYXN0PHVpbnQ2NF90Pihh
cnJheVJlZmVyZW5jZS5zaXplKCkpKTsKKyAgICAgICAgaWYgKCFhcnJheVJlZmVyZW5jZS5zaXpl
KCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGVuY29kZXIuZW5jb2RlRml4ZWRMZW5n
dGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGFycmF5UmVmZXJlbmNlLmRh
dGEoKSksIGFycmF5UmVmZXJlbmNlLnNpemUoKSAqIHNpemVvZihUKSwgYWxpZ25vZihUKSk7Cisg
ICAgfQorICAgIHN0YXRpYyBPcHRpb25hbDxBcnJheVJlZmVyZW5jZVR5cGU+IGRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAgdWludDY0X3Qgc2l6ZTsKKyAgICAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShzaXplKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisgICAgICAgIGlmICghc2l6ZSkKKyAgICAgICAgICAgIHJldHVybiBBcnJheVJlZmVyZW5jZVR5
cGUoKTsKKyAgICAgICAgY29uc3QgdWludDhfdCogZGF0YSA9IGRlY29kZXIuZGVjb2RlRml4ZWRM
ZW5ndGhSZWZlcmVuY2Uoc2l6ZSAqIHNpemVvZihUKSwgYWxpZ25vZihUKSk7CisgICAgICAgIGlm
ICghZGF0YSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVy
biBBcnJheVJlZmVyZW5jZVR5cGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBUKj4oZGF0YSksIHN0
YXRpY19jYXN0PHNpemVfdD4oc2l6ZSkpOworICAgIH0KK307CisKIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPE9wdGlvblNldDxUPj4gewogICAgIHN0YXRpYyB2b2lk
IGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBPcHRpb25TZXQ8VD4mIG9wdGlvblNldCkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BcnJheVJlZmVy
ZW5jZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJyYXlSZWZlcmVuY2UuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZDMyYmI0NTdhNWI4ODVmM2Q1NjY4N2U3OWYxNWMzYTI2NzFiZTY0Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJyYXlSZWZlcmVuY2UuaApA
QCAtMCwwICsxLDEyMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8
bGltaXRzPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIElQQyB7CisKK2lu
bGluZSBjb25zdGV4cHIgc2l6ZV90IGFycmF5UmVmZXJlbmNlRHluYW1pY0V4dGVudCA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCk7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBz
aXplX3QgRXh0ZW50ID0gYXJyYXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50PgorY2xhc3MgQXJyYXlS
ZWZlcmVuY2U7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorY2xhc3MgQXJyYXlSZWZlcmVuY2U8
VCwgYXJyYXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50PiB7CitwdWJsaWM6CisgICAgQXJyYXlSZWZl
cmVuY2UoKSA9IGRlZmF1bHQ7CisKKyAgICBBcnJheVJlZmVyZW5jZShjb25zdCBUKiBkYXRhLCBz
aXplX3Qgc2l6ZSkKKyAgICAgICAgOiBtX2RhdGEoZGF0YSkKKyAgICAgICAgLCBtX3NpemUoc2l6
ZSkKKyAgICB7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHNpemVfdCBpbmxpbmVDYXBhY2l0eT4K
KyAgICBBcnJheVJlZmVyZW5jZShjb25zdCBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHk+JiB2ZWN0
b3IpCisgICAgICAgIDogbV9kYXRhKHZlY3Rvci5kYXRhKCkpCisgICAgICAgICwgbV9zaXplKHZl
Y3Rvci5zaXplKCkpCisgICAgeworICAgIH0KKworICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsg
cmV0dXJuICFtX3NpemU7IH0KKworICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9z
aXplOyB9CisgICAgY29uc3QgVCogZGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoaXNF
bXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBtX2Rh
dGE7CisgICAgfQorCisgICAgVmVjdG9yPFQ+IHZlY3RvcigpIGNvbnN0CisgICAgeworICAgICAg
ICBWZWN0b3I8VD4gcmVzdWx0OworICAgICAgICByZXN1bHQuYXBwZW5kKG1fZGF0YSwgbV9zaXpl
KTsKKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworcHJpdmF0ZToKKyAgICBjb25z
dCBUKiBtX2RhdGEgeyB9OworICAgIHNpemVfdCBtX3NpemUgeyB9OworfTsKKwordGVtcGxhdGUg
PHR5cGVuYW1lIFQsIHNpemVfdCBFeHRlbnQ+CitjbGFzcyBBcnJheVJlZmVyZW5jZSB7CitwdWJs
aWM6CisgICAgQXJyYXlSZWZlcmVuY2UoKSA9IGRlZmF1bHQ7CisKKyAgICBBcnJheVJlZmVyZW5j
ZShjb25zdCBUKiBkYXRhLCBzaXplX3Qgc2l6ZSkKKyAgICAgICAgOiBtX2RhdGEoZGF0YSkKKyAg
ICB7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoc2l6ZSwgc2l6ZSA9PSBFeHRlbnQpOworICAgIH0K
KworICAgIHRlbXBsYXRlIDxzaXplX3QgaW5saW5lQ2FwYWNpdHk+CisgICAgQXJyYXlSZWZlcmVu
Y2UoY29uc3QgVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5PiYgdmVjdG9yKQorICAgICAgICA6IG1f
ZGF0YSh2ZWN0b3IuZGF0YSgpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHZlY3Rvci5zaXplKCkg
PT0gRXh0ZW50KTsKKyAgICB9CisKKyAgICBjb25zdGV4cHIgYm9vbCBpc0VtcHR5KCkgY29uc3Qg
eyByZXR1cm4gIUV4dGVudDsgfQorCisgICAgY29uc3RleHByIHNpemVfdCBzaXplKCkgY29uc3Qg
eyByZXR1cm4gRXh0ZW50OyB9CisKKyAgICBjb25zdCBUKiBkYXRhKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIGlmIChpc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgcmV0dXJuIG1fZGF0YTsKKyAgICB9CisKKyAgICBWZWN0b3I8VD4gdmVjdG9yKCkgY29uc3QK
KyAgICB7CisgICAgICAgIFZlY3RvcjxUPiByZXN1bHQ7CisgICAgICAgIGlmICghaXNFbXB0eSgp
KQorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChtX2RhdGEsIEV4dGVudCk7CisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQorCitwcml2YXRlOgorICAgIGNvbnN0IFQqIG1fZGF0YSB7IH07
Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CitBcnJh
eVJlZmVyZW5jZShjb25zdCBXVEY6OlZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mKSAtPiBBcnJh
eVJlZmVyZW5jZTxUPjsKKworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmgKaW5kZXggZWMzZDE0YWU4ZjNlYzI0NzA1NDc2M2NhZWU5MDljYzJj
ODc1ZjVkOC4uYmJkN2FiY2I0Y2RjNjA0MzgyYjEwNjVlMzMyMzg0NDljNmFjNTk3MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMjI3LDEwICsyMjcsMTIgQEAg
cHVibGljOgogICAgIHZvaWQgbWFya0N1cnJlbnRseURpc3BhdGNoZWRNZXNzYWdlQXNJbnZhbGlk
KCk7CiAKICAgICB2b2lkIHBvc3RDb25uZWN0aW9uRGlkQ2xvc2VPbkNvbm5lY3Rpb25Xb3JrUXVl
dWUoKTsKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+IHZvaWQgc2VuZFdp
dGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxldGlvbkhhbmRsZXIsIHVpbnQ2NF90
IGRlc3RpbmF0aW9uSUQgPSAwLCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4gPSB7IH0pOyAvLyBUaHJl
YWQtc2FmZS4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmQoVCYmIG1lc3NhZ2Us
IHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9u
cyA9IHsgfSk7IC8vIFRocmVhZC1zYWZlLgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wg
c2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90
IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9w
dGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsgLy8gTWFpbiB0
aHJlYWQgb25seS4KKyAgICAvLyBTeW5jIHNlbmRlcnMgc2hvdWxkIGNoZWNrIHRoZSBTZW5kU3lu
Y1Jlc3VsdCBmb3IgdHJ1ZS9mYWxzZSBpbiBjYXNlIHRoZXkgbmVlZCB0byBrbm93IGlmIHRoZSBy
ZXN1bHQgd2FzIHJlYWxseSByZWNlaXZlZC4KKyAgICAvLyBTeW5jIHNlbmRlcnMgc2hvdWxkIGhv
bGQgb24gdG8gdGhlIFNlbmRTeW5jUmVzdWx0IGluIGNhc2UgdGhleSByZWZlcmVuY2UgdGhlIGNv
bnRlbnRzIG9mIHRoZSByZXBseSB2aWEgRGF0YVJlZmVyZXJlbmNlIC8gQXJyYXlSZWZlcmVuY2Uu
CisgICAgdXNpbmcgU2VuZFN5bmNSZXN1bHQgPSBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj47Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3Nh
Z2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNl
Y29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09w
dGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHdhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5KHVp
bnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0PFdhaXRGb3JP
cHRpb24+IHdhaXRGb3JPcHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KICAgICAK
ICAgICAvLyBUaHJlYWQtc2FmZS4KQEAgLTI0OSw3ICsyNTEsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBNYWluIHRocmVhZCBvbmx5LgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+
Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBs
eSwgT2JqZWN0SWRlbnRpZmllcjxVPiBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBT
ZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0
aW9ucyA9IHsgfSkKKyAgICBTZW5kU3luY1Jlc3VsdCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlw
ZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxVPiBkZXN0aW5hdGlvbklE
LCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5
bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKICAgICB7CiAgICAgICAgIHJldHVybiBz
ZW5kU3luYzxUPihXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgZGVzdGluYXRpb25J
RC50b1VJbnQ2NCgpLCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOwogICAgIH0KQEAgLTU1MSw3
ICs1NTMsNyBAQCB2b2lkIG1vdmVUdXBsZShzdGQ6OnR1cGxlPEEuLi4+JiYgYSwgc3RkOjp0dXBs
ZTxCLi4uPiYgYikKICAgICBUdXBsZU1vdmVyPHNpemVvZi4uLihBKSwgc3RkOjp0dXBsZTxBLi4u
Piwgc3RkOjp0dXBsZTxCLi4uPj46Om1vdmUoV1RGTW92ZShhKSwgYik7CiB9CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6c2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVu
YW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGlt
ZW91dCwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMpCit0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBDb25uZWN0aW9uOjpTZW5kU3luY1Jlc3VsdCBDb25uZWN0aW9uOjpzZW5k
U3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNl
bmRTeW5jT3B0aW9ucykKIHsKICAgICBDT01QSUxFX0FTU0VSVChUOjppc1N5bmMsIFN5bmNNZXNz
YWdlRXhwZWN0ZWQpOwogICAgIFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKQEAg
LTU3MCwxNSArNTcyLDE1IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6
c2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYKICAgICAvLyBOb3cgc2Vu
ZCB0aGUgbWVzc2FnZSBhbmQgd2FpdCBmb3IgYSByZXBseS4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RGVjb2Rlcj4gcmVwbHlEZWNvZGVyID0gc2VuZFN5bmNNZXNzYWdlKHN5bmNSZXF1ZXN0SUQsIFdU
Rk1vdmUoZW5jb2RlciksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAgICAgaWYgKCFyZXBs
eURlY29kZXIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHsgfTsKIAog
ICAgIC8vIERlY29kZSB0aGUgcmVwbHkuCiAgICAgT3B0aW9uYWw8dHlwZW5hbWUgVDo6UmVwbHlB
cmd1bWVudHM+IHJlcGx5QXJndW1lbnRzOwogICAgICpyZXBseURlY29kZXIgPj4gcmVwbHlBcmd1
bWVudHM7CiAgICAgaWYgKCFyZXBseUFyZ3VtZW50cykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICByZXR1cm4geyB9OwogICAgIG1vdmVUdXBsZShXVEZNb3ZlKCpyZXBseUFyZ3VtZW50
cyksIHJlcGx5KTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gcmVwbHlEZWNvZGVyOwog
fQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIENvbm5lY3Rpb246OndhaXRGb3JBbmREaXNw
YXRjaEltbWVkaWF0ZWx5KHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCwg
T3B0aW9uU2V0PFdhaXRGb3JPcHRpb24+IHdhaXRGb3JPcHRpb25zKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjI1ZmRhN2JlZDJmZThjNDA0OWI1NTg3MDc5ZmQxZTE2MzU0ZjRmYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9EYXRhUmVmZXJlbmNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgotCi0jaW5jbHVkZSAiRGVjb2Rlci5oIgotI2luY2x1ZGUgIkVuY29kZXIuaCIKLQotbmFt
ZXNwYWNlIElQQyB7Ci0KLXZvaWQgRGF0YVJlZmVyZW5jZTo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Ci17Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheSgq
dGhpcyk7Ci19Ci0KLWJvb2wgRGF0YVJlZmVyZW5jZTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIs
IERhdGFSZWZlcmVuY2UmIGRhdGFSZWZlcmVuY2UpCi17Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVj
b2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoZGF0YVJlZmVyZW5jZSk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJl
ZmVyZW5jZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oCmlu
ZGV4IDM0NTBjMzFiNzNkZGI2YWE1ZWRjZTJhZjgwMDI5ODg3Yzc5OGUyMDUuLmRiYjNkNjkyN2Yz
NDFjNWFhOTNmYzEwNzNjYjA3NTZlM2NiYTM3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9EYXRhUmVmZXJlbmNlLmgKQEAgLTI1LDU0ICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlICJBcnJheVJlZmVyZW5jZS5oIgog
CiBuYW1lc3BhY2UgSVBDIHsKIAotY2xhc3MgRGVjb2RlcjsKLWNsYXNzIEVuY29kZXI7Ci0gICAg
Ci1jbGFzcyBEYXRhUmVmZXJlbmNlIHsKLXB1YmxpYzoKLSAgICBEYXRhUmVmZXJlbmNlKCkgPSBk
ZWZhdWx0OwotCi0gICAgRGF0YVJlZmVyZW5jZShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qg
c2l6ZSkKLSAgICAgICAgOiBtX2RhdGEoZGF0YSkKLSAgICAgICAgLCBtX3NpemUoc2l6ZSkKLSAg
ICB7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8c2l6ZV90IGlubGluZUNhcGFjaXR5PgotICAgIERh
dGFSZWZlcmVuY2UoY29uc3QgVmVjdG9yPHVpbnQ4X3QsIGlubGluZUNhcGFjaXR5PiYgdmVjdG9y
KQotICAgICAgICA6IG1fZGF0YSh2ZWN0b3IuZGF0YSgpKQotICAgICAgICAsIG1fc2l6ZSh2ZWN0
b3Iuc2l6ZSgpKQotICAgIHsKLSAgICB9Ci0KLSAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJl
dHVybiAhbV9zaXplOyB9Ci0KLSAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6
ZTsgfQotICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGEoKSBjb25zdCAKLSAgICB7IAotICAgICAgICBp
ZiAoaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVy
biBtX2RhdGE7IAotICAgIH0KLQotICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3IoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHJlc3VsdDsKLSAgICAgICAgcmVzdWx0LmFw
cGVuZChtX2RhdGEsIG1fc2l6ZSk7Ci0KLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0K
LSAgICB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIFdBUk5fVU5VU0VE
X1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgRGF0YVJlZmVyZW5jZSYpOwotCi1wcml2YXRl
OgotICAgIGNvbnN0IHVpbnQ4X3QqIG1fZGF0YSB7IG51bGxwdHIgfTsKLSAgICBzaXplX3QgbV9z
aXplIHsgMCB9OwotfTsKK3VzaW5nIERhdGFSZWZlcmVuY2UgPSBBcnJheVJlZmVyZW5jZTx1aW50
OF90LCBhcnJheVJlZmVyZW5jZUR5bmFtaWNFeHRlbnQ+OwogCiB9IC8vIG5hbWVzcGFjZSBJUEMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKaW5kZXggNzhhNDYzOGViNzMwNWJm
ZDE5MTA4NzA2OGQzMGJjZGI4ZGZlODJhZS4uMmNiNzliNzMxYzhkMzUxYTJkMDU5NDYzNjJjNWFi
OGJiYWRiZGM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKQEAgLTE4
NiwyMCArMTg2LDE1IEBAIGJvb2wgRGVjb2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHVpbnQ4
X3QqIGRhdGEsIHNpemVfdCBzaXplLCBzaXplX3QgYWxpZ25tZW50CiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLWJvb2wgRGVjb2Rlcjo6ZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoRGF0YVJl
ZmVyZW5jZSYgZGF0YVJlZmVyZW5jZSkKK2NvbnN0IHVpbnQ4X3QqIERlY29kZXI6OmRlY29kZUZp
eGVkTGVuZ3RoUmVmZXJlbmNlKHNpemVfdCBzaXplLCBzaXplX3QgYWxpZ25tZW50KQogewotICAg
IHVpbnQ2NF90IHNpemU7Ci0gICAgaWYgKCFkZWNvZGUoc2l6ZSkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAKLSAgICBpZiAoIWFsaWduQnVmZmVyUG9zaXRpb24oMSwgc2l6ZSkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWFsaWduQnVmZmVyUG9zaXRpb24oYWxpZ25tZW50
LCBzaXplKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBjb25zdCB1aW50OF90KiBk
YXRhID0gbV9idWZmZXJQb3M7CiAgICAgbV9idWZmZXJQb3MgKz0gc2l6ZTsKIAotICAgIGRhdGFS
ZWZlcmVuY2UgPSBEYXRhUmVmZXJlbmNlKGRhdGEsIHNpemUpOwotICAgIHJldHVybiB0cnVlOwor
ICAgIHJldHVybiBkYXRhOwogfQogCiBib29sIERlY29kZXI6OnJlbW92ZUF0dGFjaG1lbnQoQXR0
YWNobWVudCYgYXR0YWNobWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0RlY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaAppbmRl
eCBiNzJkZDhhY2UyNzczZGIzNTU5ZTM2NmRkOTUyNGYyMzQxZTU1ZTA2Li4zNDRjZTY4ODJmYzkw
OTg0YjJmYTU3YmY5YzQ4Yjk2NTBlMGZmNzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9EZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVj
b2Rlci5oCkBAIC00MCw3ICs0MCw2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogCi1jbGFzcyBEYXRh
UmVmZXJlbmNlOwogY2xhc3MgSW1wb3J0YW5jZUFzc2VydGlvbjsKIGVudW0gY2xhc3MgTWVzc2Fn
ZUZsYWdzIDogdWludDhfdDsKIGVudW0gY2xhc3MgU2hvdWxkRGlzcGF0Y2hXaGVuV2FpdGluZ0Zv
clN5bmNSZXBseSA6IHVpbnQ4X3Q7CkBAIC03OCw4ICs3Nyw5IEBAIHB1YmxpYzoKIAogICAgIFdB
Uk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZUZpeGVkTGVuZ3RoRGF0YSh1aW50OF90KiBkYXRh
LCBzaXplX3QsIHNpemVfdCBhbGlnbm1lbnQpOwogCi0gICAgLy8gVGhlIGRhdGEgaW4gdGhlIGRh
dGEgcmVmZXJlbmNlIGhlcmUgd2lsbCBvbmx5IGJlIHZhbGlkIGZvciB0aGUgbGlmZXRpbWUgb2Yg
dGhlIEFyZ3VtZW50RGVjb2RlciBvYmplY3QuCi0gICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wg
ZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoRGF0YVJlZmVyZW5jZSYpOworICAgIC8vIFRo
ZSBkYXRhIGluIHRoZSByZXR1cm5lZCBwb2ludGVyIGhlcmUgd2lsbCBvbmx5IGJlIHZhbGlkIGZv
ciB0aGUgbGlmZXRpbWUgb2YgdGhlIEFyZ3VtZW50RGVjb2RlciBvYmplY3QuCisgICAgLy8gUmV0
dXJucyBudWxscHRyIG9uIGZhaWx1cmUuCisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGNvbnN0IHVp
bnQ4X3QqIGRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKHNpemVfdCwgc2l6ZV90IGFsaWdubWVu
dCk7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf
YXJpdGhtZXRpYzxUPjo6dmFsdWU+KiA9IG51bGxwdHI+CiAgICAgV0FSTl9VTlVTRURfUkVUVVJO
IGJvb2wgZGVjb2RlKFQmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmNw
cAppbmRleCBmZDQwOTA3NzRiMmJjMmE3NjI5YjljMDJkYzU1NGM0Y2RjOThmNWNiLi5lODNhM2U0
YWZmNDJhNTc1NTA1ZGM4ZjA3MzE3YTFjMWFjMTlkZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9FbmNvZGVyLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkVuY29kZXIuaCIKIAorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5j
bHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VGbGFncy5oIgogI2luY2x1
ZGUgPGFsZ29yaXRobT4KQEAgLTE0MSw3ICsxNDIsNyBAQCB2b2lkIEVuY29kZXI6OndyYXBGb3JU
ZXN0aW5nKHN0ZDo6dW5pcXVlX3B0cjxFbmNvZGVyPiBvcmlnaW5hbCkKIAogICAgIG9yaWdpbmFs
LT5zZXRTaG91bGREaXNwYXRjaE1lc3NhZ2VXaGVuV2FpdGluZ0ZvclN5bmNSZXBseShTaG91bGRE
aXNwYXRjaFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5OjpZZXMpOwogCi0gICAgZW5jb2RlVmFyaWFi
bGVMZW5ndGhCeXRlQXJyYXkoRGF0YVJlZmVyZW5jZShvcmlnaW5hbC0+YnVmZmVyKCksIG9yaWdp
bmFsLT5idWZmZXJTaXplKCkpKTsKKyAgICAqdGhpcyA8PCBEYXRhUmVmZXJlbmNlKG9yaWdpbmFs
LT5idWZmZXIoKSwgb3JpZ2luYWwtPmJ1ZmZlclNpemUoKSk7CiAKICAgICBWZWN0b3I8QXR0YWNo
bWVudD4gYXR0YWNobWVudHMgPSBvcmlnaW5hbC0+cmVsZWFzZUF0dGFjaG1lbnRzKCk7CiAgICAg
cmVzZXJ2ZShhdHRhY2htZW50cy5zaXplKCkpOwpAQCAtMjE2LDEyICsyMTcsNiBAQCB2b2lkIEVu
Y29kZXI6OmVuY29kZUZpeGVkTGVuZ3RoRGF0YShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qg
c2l6ZSwgc2l6ZV90IGFsaQogICAgIG1lbWNweShidWZmZXIsIGRhdGEsIHNpemUpOwogfQogCi12
b2lkIEVuY29kZXI6OmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNvbnN0IERhdGFSZWZl
cmVuY2UmIGRhdGFSZWZlcmVuY2UpCi17Ci0gICAgZW5jb2RlKHN0YXRpY19jYXN0PHVpbnQ2NF90
PihkYXRhUmVmZXJlbmNlLnNpemUoKSkpOwotICAgIGVuY29kZUZpeGVkTGVuZ3RoRGF0YShkYXRh
UmVmZXJlbmNlLmRhdGEoKSwgZGF0YVJlZmVyZW5jZS5zaXplKCksIDEpOwotfQotCiB2b2lkIEVu
Y29kZXI6OmFkZEF0dGFjaG1lbnQoQXR0YWNobWVudCYmIGF0dGFjaG1lbnQpCiB7CiAgICAgbV9h
dHRhY2htZW50cy5hcHBlbmQoV1RGTW92ZShhdHRhY2htZW50KSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9FbmNvZGVyLmgKaW5kZXggMGVjZjU0MWY3Nzg1ODUzNmYxZmNmYTgzNmI3NmYyNDgyZTRj
OWExMS4uZWE2MTk2N2JlMWViY2JkOGI2ZmJiYWE4Yjg1YWY0MThlOGQ1MGNjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuaApAQCAtMzYsNyArMzYsNiBAQAogCiBuYW1lc3BhY2Ug
SVBDIHsKIAotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGVudW0gY2xhc3MgTWVzc2FnZUZsYWdzIDog
dWludDhfdDsKIGVudW0gY2xhc3MgTWVzc2FnZU5hbWUgOiB1aW50MTZfdDsKIGVudW0gY2xhc3Mg
U2hvdWxkRGlzcGF0Y2hXaGVuV2FpdGluZ0ZvclN5bmNSZXBseSA6IHVpbnQ4X3Q7CkBAIC02Miw3
ICs2MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHdyYXBGb3JUZXN0aW5nKHN0ZDo6dW5pcXVlX3B0
cjxFbmNvZGVyPik7CiAKICAgICB2b2lkIGVuY29kZUZpeGVkTGVuZ3RoRGF0YShjb25zdCB1aW50
OF90KiBkYXRhLCBzaXplX3QsIHNpemVfdCBhbGlnbm1lbnQpOwotICAgIHZvaWQgZW5jb2RlVmFy
aWFibGVMZW5ndGhCeXRlQXJyYXkoY29uc3QgRGF0YVJlZmVyZW5jZSYpOwogCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc3RkOjplbmFibGVfaWZfdDwhc3RkOjppc19lbnVtPHR5cGVuYW1lIHN0
ZDo6cmVtb3ZlX2NvbnN0X3Q8c3RkOjpyZW1vdmVfcmVmZXJlbmNlX3Q8VD4+Pjo6dmFsdWUgJiYg
IXN0ZDo6aXNfYXJpdGhtZXRpYzx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdF90PHN0ZDo6cmVt
b3ZlX3JlZmVyZW5jZV90PFQ+Pj46OnZhbHVlPiogPSBudWxscHRyPgogICAgIHZvaWQgZW5jb2Rl
KFQmJiB0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVz
c2FnZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCmluZGV4
IDdmZDE4M2E1NmFlOThiMDY2NDVmZjc1MTQ4YWMyOTgzYzUyZTRhZWIuLjQxMjlkNGUyYjQ5ZDVj
OGZjNDFhMmQ2NTRhZGNkODllODZjNjM3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9IYW5kbGVNZXNzYWdlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCkBAIC05Niw3ICs5Nyw2IEBAIHN0cnVjdCBDb2RpbmdUeXBlIHsKICAgICB0eXBlZGVm
IHN0ZDo6cmVtb3ZlX2NvbnN0X3Q8c3RkOjpyZW1vdmVfcmVmZXJlbmNlX3Q8VD4+IFR5cGU7CiB9
OwogCi1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5j
ZTsKIHRlbXBsYXRlPD4gc3RydWN0IENvZGluZ1R5cGU8Y29uc3QgU2hhcmVkQnVmZmVyRGF0YVJl
ZmVyZW5jZSY+IHsKICAgICB1c2luZyBUeXBlID0gRGF0YVJlZmVyZW5jZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaCBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAppbmRleCA0NmUyMWQ4ZDkzNmYyZDhiNTE2
N2IyNDlmODgxMTE2ZmZlYjdkNGI5Li43NzQ2MWQ1NTViNzI5MmMyMGViZjUxNGEzMDJkMWRjNmU3
NzcwMTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2Vu
ZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCkBA
IC01NCw5ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gc2VuZDxVPiht
ZXNzYWdlLCBkZXN0aW5hdGlvbklELnRvVUludDY0KCksIHNlbmRPcHRpb25zKTsKICAgICB9Cisg
ICAgdXNpbmcgU2VuZFN5bmNSZXN1bHQgPSBDb25uZWN0aW9uOjpTZW5kU3luY1Jlc3VsdDsKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwg
dHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5m
aW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0p
CisgICAgU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJl
cGx5JiYgcmVwbHksIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlv
blNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAgICAg
ICAgc3RhdGljX2Fzc2VydChUOjppc1N5bmMsICJNZXNzYWdlIGlzIG5vdCBzeW5jISIpOwogCkBA
IC02NCw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgotICAgIGJvb2wgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVw
bHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6Omlu
ZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9
KQorICAgIFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpS
ZXBseSYmIHJlcGx5LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBT
ZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0
aW9ucyA9IHsgfSkKICAgICB7CiAgICAgICAgIEFTU0VSVChtZXNzYWdlU2VuZGVyQ29ubmVjdGlv
bigpKTsKIApAQCAtNzIsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVSwgdHlwZW5hbWUgVD4KLSAgICBib29sIHNlbmRTeW5jKFUmJiBtZXNzYWdlLCB0
eXBlbmFtZSBVOjpSZXBseSYmIHJlcGx5LCBPYmplY3RJZGVudGlmaWVyPFQ+IGRlc3RpbmF0aW9u
SUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5k
U3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQorICAgIFNlbmRTeW5jUmVzdWx0IHNl
bmRTeW5jKFUmJiBtZXNzYWdlLCB0eXBlbmFtZSBVOjpSZXBseSYmIHJlcGx5LCBPYmplY3RJZGVu
dGlmaWVyPFQ+IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmlu
aXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHNlbmRTeW5jPFU+KHN0ZDo6Zm9yd2FyZDxVPihtZXNzYWdl
KSwgV1RGTW92ZShyZXBseSksIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwgdGltZW91dCwgc2Vu
ZFN5bmNPcHRpb25zKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9TaGFyZWRCdWZmZXJDb3B5LmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1No
YXJlZEJ1ZmZlckNvcHkuY3BwCmluZGV4IDdhM2NiMzM4NzYzNmRjYWZjZWFjZWFkOTFiODYzOWI3
YmE3NjM2YzYuLjUwMGY4MzlkZmFhZTkyOTdmNGRjNjNkYzY2MzA1ODc3YjIyZGYyZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHkuY3BwCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
Q29weS5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKQEAg
LTQ4LDcgKzQ5LDcgQEAgdm9pZCBTaGFyZWRCdWZmZXJDb3B5OjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIE9wdGlvbmFsPFNoYXJlZEJ1ZmZlckNvcHk+IFNoYXJlZEJ1ZmZlckNvcHk6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRh
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShkYXRhKSkK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcjsKICAgICBpZiAoZGF0YS5zaXpl
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TaGFyZWRCdWZmZXJE
YXRhUmVmZXJlbmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZl
ckRhdGFSZWZlcmVuY2UuY3BwCmluZGV4IDJmNzI4NWFjMGI0YmQ2ZGUxMWRmZWI5ZmUzMjhmMDFj
OTk5OTUwYTAuLmU5NmRmYjFmYmY4OTFjZDRhMGM3NzRlODVjOTA3ODc1OGE2ZmU4MjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRhdGFSZWZlcmVu
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRhdGFS
ZWZlcmVuY2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRD
b2RlcnMuaCIKICNpbmNsdWRlICJFbmNvZGVyLmgiCiAKIG5hbWVzcGFjZSBJUEMgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmluZ1JlZmVyZW5jZS5jcHAKaW5kZXggODUyZWY0
M2UwMDg2MzFjOWZhZmE4MjMwYzkxOWMxN2E5ZDRhMjliNi4uMjE2MTEzOWMzMDE0ZjBlYWZiM2Rj
NDdjODVkYTQxOTBhMmJhMDY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvU3RyaW5nUmVmZXJlbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9T
dHJpbmdSZWZlcmVuY2UuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiU3RyaW5nUmVmZXJlbmNlLmgiCiAKKyNpbmNsdWRlICJBcmd1bWVudENvZGVy
cy5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAj
aW5jbHVkZSAiRW5jb2Rlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCA4YjM3NDBmNGIxMDFhZDkwZjUwZWQ1
N2M4NTBiOTAzMGZjYzQzMGMyLi40YjIwYzg1YWM1MzYyMzY0MDNhODNlYTk3M2NkY2NkMTBmZGY3
MmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJv
bGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29u
dHJvbGxlclByb3h5LmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTlBP
YmplY3RQcm94eS5oIgogI2luY2x1ZGUgIk5QUmVtb3RlT2JqZWN0TWFwLmgiCiAjaW5jbHVkZSAi
TlBSdW50aW1lVXRpbGl0aWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKaW5kZXggYWQ0ZmNkOWQ4Y2NmNDJmMTJlZTQ4OGUw
MTM0NmM2MTlhNzAxYjhkMi4uYzdhNzA1M2NiZDI2ZDIwNDU0YzA0MmM2YWNlMTZjYjUyNTMwZjQz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9s
bGVyUHJveHkuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJQbHVnaW4uaCIKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCkBAIC0zNywxMCArMzgsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKLW5hbWVzcGFj
ZSBJUEMgewotICAgIGNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbWVzc2FnZXMucHkKaW5kZXggY2EwYWUyODQxMWE4M2RlNGJmM2ZlMDhiMDEyZTQwNTU0OGQ4
YjU3My4uZDZlZTJiY2JjYWI2YTcwZTQyZDBlOTg4NDlhYTgxMzAwOTY0Y2EyOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yMDMsNiArMjAzLDcgQEAgZGVm
IGZvcndhcmRfZGVjbGFyYXRpb25zX2Zvcl9uYW1lc3BhY2UobmFtZXNwYWNlLCBraW5kX2FuZF90
eXBlcyk6CiAKIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKCk6CiAg
ICAgcmV0dXJuIGZyb3plbnNldChbCisgICAgICAgICdJUEM6OkRhdGFSZWZlcmVuY2UnLAogICAg
ICAgICAnTWFjaFNlbmRSaWdodCcsCiAgICAgICAgICdNZWRpYVRpbWUnLAogICAgICAgICAnU3Ry
aW5nJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElEYXRhLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElEYXRhLmNwcAppbmRleCA2MTM0M2JkOTQxMDZi
NmU3ODlmODNiYzI1ZGU3OWY3YTYwNDA5M2NjLi5jNzgyMzE2ZjMwNTdhM2NhZjlkM2UyMDc3Yzgx
MzI1NTNlNjk3NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSURhdGEuY3BwCkBAIC0yNiw2
ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQVBJRGF0YS5oIgogCisj
aW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVk
ZSAiRW5jb2Rlci5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1
bWVudENvZGVyc0NGLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJz
Q0YuY3BwCmluZGV4IDliZDhhODE3NTQ5ZjU4ZmUzODNkNzI1ZGE2NjNmM2JjNTRjYTBkNzQuLjc3
ZTliNGQ1Y2M3NTJmYmNkYjZiNjVmOWFkYzI2MDE5NTZjYTE0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNDRi5oIgogCisjaW5jbHVk
ZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVk
ZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDFk
ODRlMmZlMjY4ZjM0NjBlYjI5NzVjNDJiYTk1ZDE0ZjFkMjM1Y2YuLmZhMjY4ZDU4NGEwZmM4ZGY4
N2EyMWZhNDU2MDc3YjhjNWQ0MmI4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtODEsNyArODEsNyBA
QCB2b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IENlcnRpZmljYXRlSQogICAgIC8vIEVuY29kZSBzdGFydGluZyBmcm9tIHRo
ZSByb290IGNlcnRpZmljYXRlLgogICAgIGZvciAoc2l6ZV90IGkgPSBjZXJ0aWZpY2F0ZXNEYXRh
TGlzdC5zaXplKCk7IGkgPiAwOyAtLWkpIHsKICAgICAgICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGUgPSBjZXJ0aWZpY2F0ZXNEYXRhTGlzdFtpIC0gMV0uZ2V0KCk7Ci0gICAgICAgIGVuY29kZXIu
ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmlj
YXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CisgICAgICAgIGVuY29kZXIgPDwgSVBDOjpE
YXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKTsKICAgICB9
CiAKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8u
dGxzRXJyb3JzKCkpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxDZXJ0
aWZpY2F0ZUluZm8+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBj
CiAgICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlOwogICAgIGZvciAodWlu
dDMyX3QgaSA9IDA7IGkgPCBjaGFpbkxlbmd0aDsgaSsrKSB7CiAgICAgICAgIElQQzo6RGF0YVJl
ZmVyZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQor
ICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgR0J5dGVBcnJheSogY2VydGlmaWNh
dGVEYXRhID0gZ19ieXRlX2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uu
c2l6ZSgpKTsKQEAgLTI3Nyw0ICsyNzcsMyBAQCBPcHRpb25hbDxTZXJpYWxpemVkUGxhdGZvcm1E
YXRhQ3VlVmFsdWU+ICBBcmd1bWVudENvZGVyPFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdQogI2Vu
ZGlmCiAKIH0KLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggMDkxN2YwMWJlMWM5ZjhjYWEyYWJmN2YwZjg5MGY4
OTVhM2YyZWY4Ni4uMzYwYTM1NzI2ZjY3MTg0MDg0MDg3NDA3MTA5Yjg3NTFiMzQxMDMxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CkBAIC0xMzcsNyArMTM3LDYgQEAgUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmNwcCBA
bm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgQG5vLXVuaWZ5CiBQbGF0
Zm9ybS9JUEMvQXR0YWNobWVudC5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvQ29ubmVjdGlv
bi5jcHAgQG5vLXVuaWZ5Ci1QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5jcHAgQG5vLXVuaWZ5
CiBQbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvRW5jb2Rl
ci5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcCBAbm8tdW5pZnkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0Ns
aWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50
LmgKaW5kZXggMmZlMzg2MjU5NDYzYmZiMzYyM2ViYmRiNGZlZjVmODM5MzZiMGQzZC4uNzM3YjYy
NTgxOTg2NmEwZWNiNTk5YTIxMzBiMzI5MTNlYWYzOTZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50LmgKQEAgLTMwLDEwICszMCw2
IEBACiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQog
bmFtZXNwYWNlIEFQSSB7CiAKIGNsYXNzIEljb25Mb2FkaW5nQ2xpZW50IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgKaW5kZXggNGYzOThiNTMw
ZjYwODU3NWM5NjdiODNjNzRmYTJmNDMyOGY2Y2UzYi4uOGNhOTdlNmU1OTdiZDcxMTBhMGQ3Mzhl
MGM0YTdjODU2MDNhOGE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4
aWxpYXJ5UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxp
YXJ5UHJvY2Vzc1Byb3h5LmgKQEAgLTUzLDcgKzUzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
UHJvY2Vzc1Rocm90dGxlciYgdGhyb3R0bGVyKCkgPSAwOwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gYm9vbCBzZW5kKFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBPcHRp
b25TZXQ8SVBDOjpTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSk7Ci0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkm
JiwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9zLCBPcHRpb25T
ZXQ8SVBDOjpTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsKKyAgICB1c2lu
ZyBTZW5kU3luY1Jlc3VsdCA9IElQQzo6Q29ubmVjdGlvbjo6U2VuZFN5bmNSZXN1bHQ7CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3NhZ2Us
IHR5cGVuYW1lIFQ6OlJlcGx5JiYsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGlt
ZW91dCA9IDFfcywgT3B0aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9u
cyA9IHsgfSk7CiAKICAgICBlbnVtIGNsYXNzIFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFj
dGl2aXR5IDogYm9vbCB7IE5vLCBZZXMgfTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZSBDPiB2b2lkIHNlbmRXaXRoQXN5bmNSZXBseShUJiYsIEMmJiwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCA9IDAsIE9wdGlvblNldDxJUEM6OlNlbmRPcHRpb24+ID0geyB9LCBTaG91bGRTdGFy
dFByb2Nlc3NUaHJvdHRsZXJBY3Rpdml0eSA9IFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFj
dGl2aXR5OjpZZXMpOwpAQCAtNjUsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYg
bWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxVPiBk
ZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSAxX3MsIE9wdGlvblNldDxJUEM6OlNlbmRT
eW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgU2VuZFN5bmNSZXN1bHQgc2Vu
ZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50
aWZpZXI8VT4gZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9zLCBPcHRpb25TZXQ8
SVBDOjpTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAgICAg
ICAgcmV0dXJuIHNlbmRTeW5jPFQ+KFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBk
ZXN0aW5hdGlvbklELnRvVUludDY0KCksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAgICAg
fQpAQCAtMTYzLDEyICsxNjQsMTIgQEAgYm9vbCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnNlbmQo
VCYmIG1lc3NhZ2UsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDwKIH0KIAogdGVt
cGxhdGU8dHlwZW5hbWUgVT4gCi1ib29sIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6c2VuZFN5bmMo
VSYmIG1lc3NhZ2UsIHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0
aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNl
bmRTeW5jT3B0aW9ucykKK0F1eGlsaWFyeVByb2Nlc3NQcm94eTo6U2VuZFN5bmNSZXN1bHQgQXV4
aWxpYXJ5UHJvY2Vzc1Byb3h5OjpzZW5kU3luYyhVJiYgbWVzc2FnZSwgdHlwZW5hbWUgVTo6UmVw
bHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRp
b25TZXQ8SVBDOjpTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zKQogewogICAgIENPTVBJ
TEVfQVNTRVJUKFU6OmlzU3luYywgU3luY01lc3NhZ2VFeHBlY3RlZCk7CiAKICAgICBpZiAoIW1f
Y29ubmVjdGlvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4geyB9Owog
CiAgICAgVHJhY2VTY29wZSBzY29wZShTeW5jTWVzc2FnZVN0YXJ0LCBTeW5jTWVzc2FnZUVuZCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXph
dGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Np
b24uaAppbmRleCA4MjNjMjAyYTg1NmEwMTM2ZGQ5ZWE3NTlmMGVjZGViYTQ3ZjRmMzYyLi5iNTc3
Y2JkZjhlMDc4ZjRmYjRmODczNGQ3YmZkNjA4ZDIwMzg4MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TT0F1dGhvcml6YXRpb24vU3ViRnJhbWVTT0F1dGhvcml6
YXRpb25TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRo
b3JpemF0aW9uL1N1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oCkBAIC0zMiwxMCArMzIs
NiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lv
biBmaW5hbCA6IHB1YmxpYyBOYXZpZ2F0aW9uU09BdXRob3JpemF0aW9uU2Vzc2lvbiwgcHVibGlj
IEZyYW1lTG9hZFN0YXRlOjpPYnNlcnZlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2Nv
bHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuaAppbmRleCBmZjk4Yjg0ZmE4OWRi
ZWZkZDY0NjY2YmJiYTQyZmM5MGNlYzM1NzdmLi4xMjhhMzk3N2U2M2VlNGY0ZWYxZjIwZWFhZWM4
NmQwOGVjYmY1OGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGVnYWN5Q3VzdG9t
UHJvdG9jb2xJRC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CkBAIC0zNSwxMCArMzYsNiBAQAogT0JKQ19DTEFTUyBXS0N1c3RvbVByb3Rv
Y29sTG9hZGVyOwogI2VuZGlmCiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5j
ZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNz
IFJlc291cmNlUmVxdWVzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBj
NGM3MTg3NGExMGRhOWI1NDFmZWUyODIwODA4YzFlNTBkM2ZhOTJiLi45ZGIzYTUwOWI5MTRjMDkz
Y2FmMTY5YTA1ZDY1YjU3ZWQwYzgwMTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxheWVyVHJlZUNvbnRleHQuaCIKICNpbmNsdWRlICJQREZQ
bHVnaW5JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUu
aCIKQEAgLTgwLDEwICs4MSw2IEBAIGNsYXNzIE9wZW5QYW5lbFBhcmFtZXRlcnM7CiBjbGFzcyBT
ZWN1cml0eU9yaWdpbjsKIH0KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNl
OwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDb2xvcjsKIGNsYXNzIEN1cnNvcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJD
b250ZW50Q29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJD
b250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmNwcAppbmRleCAyNGI2MzNlNDg0
ZDJhMzViYTc0ZDQ1ZjEyZWRlMzRhMGY3OGNhMGE2Li4yNDhlNTNhMDgzZDE5YTBlZjRkODNjMjNi
OGNjZTAwMzQ1ZGFhYjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2Vy
Q29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHku
Y3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmgiCiAjaW5jbHVkZSAiQVBJVXNlclNjcmlwdC5oIgogI2luY2x1ZGUgIkFQSVVzZXJTdHlsZVNo
ZWV0LmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkluamVjdFVzZXJT
Y3JpcHRJbW1lZGlhdGVseS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5h
Z2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc1Byb3h5LmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENv
bnRyb2xsZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaAppbmRleCAxMjlhMzQwZjA4OTY0ZDBmZmEyM2Ez
NzEwMWEwOWE4NTZkM2NjY2IyLi5hNGQ4ZDdjZDgwNGU2NTYwZGFiZmRlNjExNGZmMDYyMTFiYWQ0
N2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJV
c2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmgKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRXb3JsZFNo
YXJlZC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVj
ZWl2ZXIuaCIKICNpbmNsdWRlICJVc2VyQ29udGVudENvbnRyb2xsZXJJZGVudGlmaWVyLmgiCiAj
aW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgpAQCAtNDgsMTAgKzQ5LDYgQEAgY2xh
c3MgVXNlclNjcmlwdDsKIGNsYXNzIFVzZXJTdHlsZVNoZWV0OwogfQogCi1uYW1lc3BhY2UgSVBD
IHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVj
dCBTZWN1cml0eU9yaWdpbkRhdGE7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCA1ZjhmODExMWNlN2Q0NmQ0Yjk5NTBmZmRmNDFkMzg5NjMxOGQ3MGY0Li5l
OWJlOTU5NGM1OWJiMzJmZmRkMzZhNzVlOTM4MTQzZTU4MjhhMThlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJB
dXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlv
bk1hbmFnZXIuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdG9yTWFuYWdlci5oIgotI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5LmgiCiAjaW5jbHVkZSAi
RHJhd2luZ0FyZWFNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhUHJveHkuaCIKQEAg
LTc5NDEsNiArNzk0MCw3IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5
OjpjcmVhdGlvblBhcmFtZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jCiAgICAgcGFyYW1ldGVy
cy5zaG91bGRSZW5kZXJDYW52YXNJbkdQVVByb2Nlc3MgPSBwcmVmZXJlbmNlcygpLnVzZUdQVVBy
b2Nlc3NGb3JDYW52YXNSZW5kZXJpbmdFbmFibGVkKCk7CiAgICAgcGFyYW1ldGVycy5zaG91bGRS
ZW5kZXJET01JbkdQVVByb2Nlc3MgPSBwcmVmZXJlbmNlcygpLnVzZUdQVVByb2Nlc3NGb3JET01S
ZW5kZXJpbmdFbmFibGVkKCk7CiAgICAgcGFyYW1ldGVycy5zaG91bGRQbGF5TWVkaWFJbkdQVVBy
b2Nlc3MgPSBwcmVmZXJlbmNlcygpLnVzZUdQVVByb2Nlc3NGb3JNZWRpYUVuYWJsZWQoKTsKKwog
ICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlVlA5RGVjb2RlciA9IHByZWZlcmVuY2VzKCkudnA5
RGVjb2RlckVuYWJsZWQoKTsKICNpZiBFTkFCTEUoVlA5KSAmJiBQTEFURk9STShDT0NPQSkKICAg
ICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZVZQOVNXRGVjb2RlciA9IHByZWZlcmVuY2VzKCkudnA5
RGVjb2RlckVuYWJsZWQoKSAmJiAoIVdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnkoKSB8fCBwcmVm
ZXJlbmNlcygpLnZwOVNXRGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDIzMmVkMzdiZDFiZjkzMGFhZjhmOTk4NDM2ZDYz
MDU0MmVhOTMwODUuLjhhN2U5NDZkNDc5N2ZlZDBjMzQ2ZGRmMjFjNGNmMzUyYTdlMmY5NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiQ29udGVudEFzU3RyaW5nSW5jbHVkZXNDaGlsZEZyYW1lcy5oIgogI2luY2x1ZGUg
IkNvbnRleHRNZW51Q29udGV4dERhdGEuaCIKICNpbmNsdWRlICJDcmVhdGVOZXdHcm91cEZvckhp
Z2hsaWdodC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9h
ZElELmgiCiAjaW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCIKICNpbmNsdWRlICJFZGl0
aW5nUmFuZ2UuaCIKQEAgLTIwNCw3ICsyMDUsNiBAQCBlbnVtIGNsYXNzIEluc3BlY3RvclRhcmdl
dFR5cGUgOiB1aW50OF90OwogfQogCiBuYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVu
Y2U7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRm9ybURhdGFSZWZlcmVuY2U7CiBjbGFzcyBTaGFy
ZWRCdWZmZXJDb3B5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJM
U2NoZW1lSGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lSGFu
ZGxlci5oCmluZGV4IGY0MjQ1Y2U2NWU5ZDJkNTY1YjNmMTI1ZjM0NTdhMjU2ZmIzOWM5ZDQuLmQy
MzhjMmExYTYwOGRjNWE0NjMyZTZhMTk5NzdkYjYxYmFiNjEzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZUhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVIYW5kbGVyLmgKQEAgLTMxLDEwICszMSw2IEBACiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLW5h
bWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFzay5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViVVJMU2NoZW1lVGFzay5oCmluZGV4IGQ0NDJiNjJiNTIyNTg3ZjkwZmE2ODlkNTZiMjA2Mjc2
ZGViNDQ4MmIuLjgyNWNkMDI2ODhhMjY4MjE5NDFmZjdhNDE4ZjRkZjVhOTc1YmExN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmgKQEAgLTM4LDEwICszOCw2
IEBAIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgRnJhbWVJbmZvOwogfQogCi1uYW1lc3BhY2UgSVBD
IHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODAzNzA0MDRlNDlhNzhk
OGFiZTczMjJhNzhlYzkyZmMxYzBiYTBhMi4uZTIxMjUzMGZjNjVlNzQ3OTAzMTMyNGM0NWQwNDg4
MjUyZDFiNGEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xMzA3LDYgKzEzMDcsNyBAQAogCQk3QUZCRDM2MzIxRTUwRjM5MDA1REJB
Q0IgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUZCRDM2MjIxRTUwRjM5MDA1REJBQ0IgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi87IH07CiAJCTdBRkJEMzY3MjFFNTFC
QUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzY1MjFFNTFCQUIw
MDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAqLzsgfTsKIAkJ
N0FGQkQzNkYyMUU1NDZGODAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzZEMjFFNTQ2RTMwMDVE
QkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmggKi87IH07CisJCTdCMURCMjY2MjU2NjhDRTEwMDBF
MjZCQyAvKiBBcnJheVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0IxREIyNjUyNTY2OENFMDAwMEUyNkJDIC8qIEFycmF5UmVmZXJlbmNl
LmggKi87IH07CiAJCTdDMDY1RjJDMUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENv
bnRyb2xsZXJEYXRhVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDMDY1RjJBMUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRy
b2xsZXJEYXRhVHlwZXMuaCAqLzsgfTsKIAkJN0MxMzVBQTkxNzNCMEJDQTAwNTg2QUUyIC8qIFdL
UGx1Z2luSW5mb3JtYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDMTM1QUE3MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0Mx
QkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMUJBMzNDMUE0QTBFNjAwMDQzRTI0OSAv
KiBBUElEaWN0aW9uYXJ5LmggKi87IH07CkBAIC0yNzI0LDcgKzI3MjUsNiBAQAogCQkxQUM1RkZD
MTE3NEJGRDFCMDAwMTQ4M0QgLyogUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzUzNzkxODNBOUZEQTAwNzJDQjE1IC8qIFBhZ2VM
b2FkU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUxv
YWRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzc1MzdBMTgzQTlG
REIwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhZ2VMb2FkU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUFD
NzUzN0QxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0YVJlZmVyZW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBQzc1MzdFMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFSZWZlcmVuY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhh
bmdEZXRlY3Rpb25EaXNhYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
YW5nRGV0ZWN0aW9uRGlzYWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFD
NzVBMUMxQjMzNjk1RTAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhhbmdEZXRlY3Rpb25EaXNhYmxl
ck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzOTEsNiArNDM5MSw3IEBA
CiAJCTdBRkJEMzY1MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVt
b3J5U3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmg7IHBhdGggPSBDbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUZC
RDM2RDIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQZXJzaXN0ZW5jeVV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRkJE
MzZFMjFFNTQ2RTMwMDVEQkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBlcnNpc3RlbmN5VXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QjFEQjI2NTI1NjY4Q0UwMDAwRTI2QkMgLyogQXJyYXlSZWZlcmVuY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0MwNjVGMjkxQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50
Q29udHJvbGxlckRhdGFUeXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzA2NUYyQTFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyRGF0YVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QzEzNUFBNjE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1BsdWdpbkluZm9y
bWF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMjA4LDYgKzExMjA5
LDcgQEAKIAkJCQkxQUVGRDJGNzExRDE4MDdCMDA4MjE5RDMgLyogQXJndW1lbnRDb2RlcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQUYwQzRBMTJCMTYzMzQwMDhFNDlFMiAvKiBBcmd1bWVudENv
ZGVyc0NGLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTc1QzQ0QTIxQUEzMTcxMDAwMDM3RDAgLyog
QXJndW1lbnRDb2RlcnNDb2NvYS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0IxREIyNjYyNTY2OENF
MTAwMEUyNkJDIC8qIEFycmF5UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVFNzcy
ODE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
QUZBNjM0RjIzNEY3QzY0MDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRUU5NjZEMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTEzMjc4LDcgKzEzMjgwLDYgQEAKIAkJCQkyRDkyQTc4NTIxMkI2QUIxMDBG
NDkzRkQgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTE3Q0YwRTMxNjNBNDg2QzAwQzI5NTBGIC8qIENhY2hlU3RvcmFn
ZUVuZ2luZUNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5MkE3N0QyMTJCNkE3MTAwRjQ5M0ZEIC8qIENvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMkQ5MkE3N0UyMTJCNkE3MTAwRjQ5M0ZEIC8qIERhdGFSZWZlcmVuY2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkQ5MkE3N0YyMTJCNkE3MTAwRjQ5M0ZEIC8qIERlY29kZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDlEQUEzOEMyNENCQTFBODAwNzkzRDc1IC8qIERlZmF1bHRXZWJC
cm93c2VyQ2hlY2tzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQwQzU2RkUyMjlGMURFQTAwQkQz
M0U3IC8qIERldmljZU1hbmFnZW1lbnRTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGlu
YXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvci5oCmluZGV4IGY5MmRhNmE0N2Y3ZTI0ZjM4Mzk5YWEzNjk4YTIxMjkwZDM2MWQ0YTYu
LmM5ZGM2ODJiODc1NDliODI1MGRiMjJiMmExY2UyMTU1NTAwMGNlYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yLmgKQEAgLTM2LDEwICszNiw2IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0
YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGF5bWVudENvb3Jk
aW5hdG9yOwogY2xhc3MgUGF5bWVudENvbnRhY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggMmMwZGY1YjlmNTQ5Njg0
N2VkNjY5MTBiZjJmMzliMmNkYzYwY2EwMi4uNWJlOGI5OTc1MjBjNGFkN2YxYjQ0MDdhZTcyMDRj
ODRhOTk4ODc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtMzUsMTAgKzM1LDYgQEAKICNpbmNsdWRlIDx3dGYvV2Vh
a0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotbmFtZXNwYWNl
IElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y2xhc3MgUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5jcHAKaW5kZXggNmRkZWU4N2FiZGNjNzZmODY5YWQ1NTRkYjUxMTJiMzZiODJmMmQ2
Yi4uZGEzOTg4NmViYzhmMTZkODhkZmUxODczYzU3YTg3ZmVjZjZlNDZkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtODE4LDcgKzgxOCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQm
LCBjb25zCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotYm9vbCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljc0NvbnRl
eHRHTCosIFBsYXRmb3JtR0xPYmplY3QsIEdDR0xlbnVtLCBHQ0dMaW50LCBHQ0dMZW51bSwgR0NH
TGVudW0sIEdDR0xlbnVtLCBib29sLCBib29sKQorYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHRHTCosIFBsYXRmb3JtR0xPYmplY3QsIEdDR0xlbnVtLCBHQ0dMaW50LCBHQ0dMZW51bSwg
R0NHTGVudW0sIEdDR0xlbnVtLCBib29sLCBib29sKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7
CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCmlu
ZGV4IDk1YzgzNmU2OTUwNDFkOTdkMjU5MDM2ZmQ3M2RmZjVjNDZiOGZmOTEuLmM4YzU4MjkwNTBh
NTI1OGY5ZDkzMTk3NmI5NWYwNWU1OTdhNTZiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRp
b25Qcm94eS5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
UHJveHk6OmNvbm5lY3RUb0dQVVByb2Nlc3MoKQogCiAgICAgYXV0byYgY29ubmVjdGlvbiA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAg
Y29ubmVjdGlvbi5hZGRDbGllbnQoKnRoaXMpOwotICAgIGJvb2wgZGlkU3VjY2VlZCA9IGNvbm5l
Y3Rpb24uY29ubmVjdGlvbigpLnNlbmRTeW5jKAorICAgIGF1dG8gZGlkU3VjY2VlZCA9IGNvbm5l
Y3Rpb24uY29ubmVjdGlvbigpLnNlbmRTeW5jKAogICAgICAgICBNZXNzYWdlczo6UmVtb3RlQXVk
aW9EZXN0aW5hdGlvbk1hbmFnZXI6OkNyZWF0ZUF1ZGlvRGVzdGluYXRpb24obV9pbnB1dERldmlj
ZUlkLCBtX251bWJlck9mSW5wdXRDaGFubmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscygpLCBz
YW1wbGVSYXRlKCksIGhhcmR3YXJlU2FtcGxlUmF0ZSgpKSwKICAgICAgICAgTWVzc2FnZXM6OlJl
bW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBs
eShkZXN0aW5hdGlvbklEKSwgMCk7CiAKQEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIFJlbW90ZUF1
ZGlvRGVzdGluYXRpb25Qcm94eTo6Y29ubmVjdFRvR1BVUHJvY2VzcygpCiAgICAgQXVkaW9TdHJl
YW1CYXNpY0Rlc2NyaXB0aW9uIHN0cmVhbUZvcm1hdDsKICAgICBnZXRBdWRpb1N0cmVhbUJhc2lj
RGVzY3JpcHRpb24oc3RyZWFtRm9ybWF0KTsKICAgICBtX3JpbmdCdWZmZXItPmFsbG9jYXRlKHN0
cmVhbUZvcm1hdCwgbV9udW1iZXJPZkZyYW1lcyk7Ci0gICAgbV9hdWRpb0J1ZmZlckxpc3QgPSBt
YWtlVW5pcXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4oc3RyZWFtRm9ybWF0KTsKKyAgICBtX2F1ZGlv
QnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0PihzdHJl
YW1Gb3JtYXQpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuY3BwCmlu
ZGV4IGRjYmQ0ZjhhZmFmZTEwNjBhNjFiMDMwNTMxZTEyYzc0ZDM3ZWZmZDMuLjJjYTk3YzYzN2Ix
ZjE5ZTgyNzhhNmFlNzEzYzVjMTRlNjc2NzE3ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3Zp
ZGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBF
TkFCTEUoV0VCX0FVRElPKSAmJiBQTEFURk9STShDT0NPQSkKIAorI2luY2x1ZGUgIkdQVVByb2Nl
c3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFn
ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZXMuaCIKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nv
dXJjZVByb3ZpZGVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcAppbmRleCBiOGY0NWE2ZDVi
YjRkYjQ2MDk4ODAxMjQzYmI1ZTkzMTdiMWUzZTJiLi42NWI4ZmQwZDc3MzQ3ZTkzOGI1NjQ1ODIy
NmI3OGRhNDNjOTc4OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5h
Z2VyLmNwcApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgiCiAKKyNpbmNsdWRlICJHUFVQcm9j
ZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJSZW1vdGVB
dWRpb1NvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRl
ck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgi
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaAppbmRleCBlNTllMWIw
NmI0NDdlNWQ4MGNhNjEwNTJjNmM3YTMyYzRiYTE0MmU2Li44MTk0MDkwYzkzM2IyZjExYTY0NjBh
YjNjMTc3MmQzNzYxNjM3MTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFu
YWdlci5oCkBAIC0yNyw2ICsyNyw5IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxF
KEdQVV9QUk9DRVNTKQogCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlNoYXJl
ZE1lbW9yeS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NB
QXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5nQnVmZmVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllcklkZW50aWZpZXIuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2Fj
eUNETVNlc3Npb24uY3BwCmluZGV4IDBkYjg1YWU5YmQyNDFlYmExYmRhNGU2MjI0NDBmNjMyOGUx
ZDhhMGIuLjI5N2VlYmRhMTkxODlkZmUwY2ZlNmMxZWQ3NjlhYWNiOWQ2ZDkxMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKIAorI2luY2x1ZGUgIkdQ
VVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeS5o
IgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eU1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuaAppbmRleCBkNTQy
NDQyYzg0NGU1NDgzZmQzY2VkNzg1MDVkY2ExODY5NGFlNGE0Li5hMzM5ZWI3YmZmZDZiNDUxOTRk
MjlhMTA5MTRiZmEyZmZiZDc0YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuaApAQCAtMzUsNyAr
MzUsNiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRh
UmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcAppbmRleCAw
YzZmNzNkMDcxNDRiNTYyNjc2OTM2N2M5ZjJhM2E0MDE3ZWFkZTgwLi4xNjhlZjQzNWRkZTU2MTRk
MzBmM2JlMjg2NzBhNDdhZWQ2MTZkZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKQEAgLTI4LDcgKzI4LDYg
QEAKIAogI2lmIFVTRShMSUJXRUJSVEMpICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BV
X1BST0NFU1MpCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENDb2RlY3NNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIkxpYldlYlJUQ0NvZGVjc1Byb3h5TWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXgg
NzM5YTQ5NmVmNDk0Y2I0YTYxODU2NmZmYzY0ZDRhMjY0YTc0ZTlkMC4uNGJlYWUwNjIzMTdiYTI2
YTYwNjgzZjFmNDUxMjMzZWIxMDczYWE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBVU0UoTElCV0VCUlRDKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSVENEZWNvZGVySWRl
bnRpZmllci5oIgogI2luY2x1ZGUgIlJUQ0VuY29kZXJJZGVudGlmaWVyLmgiCkBAIC00Myw3ICs0
NCw2IEBAIHVzaW5nIENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3RydWN0IF9fQ1ZQaXhlbEJ1ZmZl
clBvb2wqOwogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRh
UmVmZXJlbmNlOwogY2xhc3MgRGVjb2RlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAyZGFk
MjAzODQyZjBlNTUzZmUzYjQ2MjQ0MWVlOTRmYTI2NDkzYTExLi5jMjhjZTdmMmUxN2U4OWE4ZTUx
ODZhNzcwNmEyZThhNDRmNmI3ZTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCIKICNpbmNsdWRl
ICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiU2Fu
ZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlwZXMuaD4KQEAgLTU0LDcgKzU1LDYgQEAg
Y2xhc3MgRGF0YTsKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgRGVjb2RlcjsKIGNsYXNzIENvbm5l
Y3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAg
LTE2MSw0ICsxNjEsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVj
dG9yVUlFeHRlbnNpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyLmNwcAppbmRleCA2Mjc1
Y2Y2YTZlN2U1MGM2YjM2MDYyZTEzMTg3NTc1Mjg5YTU4MGVlLi5lNWJhNjYxYWU2NmY1NWE5MDc0
NjRlNmZmMzZlNDJiN2FkZDAwZGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lv
bkNvbnRyb2xsZXIuY3BwCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogV2Vi
SW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyOjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNv
bnRyb2xsZXIoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQmIGluc3BlY3RvckZyb250
ZW5kKQogICAgIDogbV9mcm9udGVuZENsaWVudChtYWtlV2Vha1B0cihpbnNwZWN0b3JGcm9udGVu
ZCkpCiB7Ci0gICAgUGFnZSogcGFnZSA9IGluc3BlY3RvckZyb250ZW5kLmZyb250ZW5kUGFnZSgp
OworICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBpbnNwZWN0b3JGcm9udGVuZC5mcm9udGVuZFBh
Z2UoKTsKICAgICBBU1NFUlQocGFnZSk7CiAKIC8vICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOwpA
QCAtOTMsNyArOTMsNyBAQCB2b2lkIFdlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlcjo6
cmVnaXN0ZXJFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpbwogICAgICAgICBKU09OOjpW
YWx1ZTo6Y3JlYXRlKGV4dGVuc2lvbklEKSwKICAgICAgICAgSlNPTjo6VmFsdWU6OmNyZWF0ZShk
aXNwbGF5TmFtZSksCiAgICAgfTsKLSAgICBtX2Zyb250ZW5kQ2xpZW50LT5mcm9udGVuZEFQSURp
c3BhdGNoZXIoKS5kaXNwYXRjaENvbW1hbmRXaXRoUmVzdWx0QXN5bmMoInJlZ2lzdGVyRXh0ZW5z
aW9uIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMp
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShJbnNwZWN0
b3JGcm9udGVuZEFQSURpc3BhdGNoZXI6OkV2YWx1YXRpb25SZXN1bHQmJiByZXN1bHQpIG11dGFi
bGUgeworICAgIG1fZnJvbnRlbmRDbGllbnQtPmZyb250ZW5kQVBJRGlzcGF0Y2hlcigpLmRpc3Bh
dGNoQ29tbWFuZFdpdGhSZXN1bHRBc3luYygicmVnaXN0ZXJFeHRlbnNpb24iX3MsIFdURk1vdmUo
YXJndW1lbnRzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFdlYkNvcmU6Okluc3BlY3RvckZyb250
ZW5kQVBJRGlzcGF0Y2hlcjo6RXZhbHVhdGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7CiAg
ICAgICAgIGlmICghd2Vha1RoaXMgfHwgIXJlc3VsdCkgewogICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoSW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3I6OkNvbnRleHRE
ZXN0cm95ZWQpKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTExNiw3ICsxMTYsNyBAQCB2b2lk
IFdlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlcjo6dW5yZWdpc3RlckV4dGVuc2lvbihj
b25zdCBTdHJpbmcmIGV4dGVucwogICAgIH0KIAogICAgIFZlY3RvcjxSZWY8SlNPTjo6VmFsdWU+
PiBhcmd1bWVudHMgeyBKU09OOjpWYWx1ZTo6Y3JlYXRlKGV4dGVuc2lvbklEKSB9OwotICAgIG1f
ZnJvbnRlbmRDbGllbnQtPmZyb250ZW5kQVBJRGlzcGF0Y2hlcigpLmRpc3BhdGNoQ29tbWFuZFdp
dGhSZXN1bHRBc3luYygidW5yZWdpc3RlckV4dGVuc2lvbiJfcywgV1RGTW92ZShhcmd1bWVudHMp
LCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyOjpF
dmFsdWF0aW9uUmVzdWx0JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBtX2Zyb250ZW5kQ2xpZW50
LT5mcm9udGVuZEFQSURpc3BhdGNoZXIoKS5kaXNwYXRjaENvbW1hbmRXaXRoUmVzdWx0QXN5bmMo
InVucmVnaXN0ZXJFeHRlbnNpb24iX3MsIFdURk1vdmUoYXJndW1lbnRzKSwgW3dlYWtUaGlzID0g
bWFrZVdlYWtQdHIodGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlcjo6RXZhbHVh
dGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMgfHwg
IXJlc3VsdCkgewogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQo
SW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3I6OkNvbnRleHREZXN0cm95ZWQpKTsKICAgICAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggMzA2NGU5YzRhZmNjMmNmZjU0YTMy
NWUyNTMxZWQwNTIyYTAwMTM5My4uYjk3OTQ2NTllYWJkMTg0YjM4OWMwNmQxMzJmOGM0MmY4MDUy
M2NjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTM0LDEwICszNCw2IEBACiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAot
bmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDg2NTcxMWIzNjZjMjhkZjQ4NGI0Y2RjMDdhYTNmY2YzZGNlYmYyZjYuLjY5
NDg5NmM5OTdhNDk0MGRiYWIyZGE3NjU3ODIwYTI3OGFmMWRjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAg
LTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJj
ZUxvYWRlci5oIgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkZvcm1E
YXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggNTgzZTM3OWM4OWVjZmE5NTMwYjBhYmZh
MWM2OWZlYTlkNTM5NjZmYi4uN2UxZDQ5OTQ3MTVmODg0OWNlOGJmZTVlYzM0NTVkNDczNzc4MDBk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVz
c2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSAi
V2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgpAQCAtMzYsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xh
c3MgRm9ybURhdGFSZWZlcmVuY2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggOTRlZjBkMWZjZTJlNjAx
ZGY0NDljZmY4NTM5ZmJkMTY0NzkzZWJlMi4uZmY2OWY1NjA5ZTU3N2NhYzc3N2YwNGFmYTc0YWYy
MTA3NDg2NGY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk5l
dHdvcmtTb2NrZXRDaGFubmVsTWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCBmNTM0NzgzNDdlNzc1ZGYz
N2VhOTc2MzRjMjMzMDkzMmI0YTE0ZDI4Li5hZDdmZjE4N2RiYjQzNTNiOWVkM2JjNTdjNWJhMmM0
YWE0ZThjZmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgog
I2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTZW5k
UXVldWUuaD4KQEAgLTM4LDcgKzM5LDYgQEAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVj
dGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlNvY2tldFN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRTdHJlYW0uY3BwCmluZGV4IGFmMjQyY2QyYjU5NWFjNGE0NDg0Mjk3YmU1ZDVjZmUx
OGQ0OGYzMjQuLjdkMDA3MzY5YjljY2U4NWI4ZjA1NDU3ZDY2NmQxZTQ0NTFiOTZjNTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFt
LmNwcApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YlNvY2tldFN0cmVhbS5oIgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrU29ja2V0U3RyZWFtTWVz
c2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlNvY2tldFN0cmVhbS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29j
a2V0U3RyZWFtLmgKaW5kZXggZGQwODIwMTA3MTJiOWY1ZGI5ZmViZDg4ZGE2NjliNmRmNjFkMGYy
OS4uYjQzY2IyZWZhZDFlMTAxZWUyNjViOTNkZGU5YjA2MTI3MzZhMDk3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKQEAgLTI1
LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtSGFuZGxlLmg+CkBAIC0zMyw3ICszNCw2
IEBACiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwot
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tl
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldC5oCmluZGV4IGNiNDhlMDU3MzQ4YTJlODY2YjA5MWZmNWFjODcyNjA1Y2ExOTJkZDUuLjMy
M2YyNWVlOGZkODFiMDI2MzBkMmYyNTlhMWFmYjg4NGI0Y2Y1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9u
OwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaAppbmRleCBlYTUzNTk2
MDEwOWZlZTZkYzQ4MDVjZjY4OTEyNzk4ZWU5YWI2ZjAzLi40MGI0YzhmMjEyOWNmMTIzM2ExYjMx
Yjg1MTI3ZTdhN2U5ZTNkN2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
UGx1Z2lucy9QREYvUERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5oCkBAIC02MCwxMCArNjAsNiBAQCBPQkpDX0NMQVNTIFBERlNl
bGVjdGlvbjsKIE9CSkNfQ0xBU1MgV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0OwogT0JK
Q19DTEFTUyBXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlOwogCi1uYW1lc3BhY2UgSVBDIHsK
LWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFY
T2JqZWN0Q2FjaGU7CiBjbGFzcyBFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCmluZGV4IGUwNGUzYThiMmQxNzhjYzg0OTVkNDViYWY4MWYzN2RhZWZi
YjdiNzAuLjM2MmFkNzdiZTZhZTMyZTBlNjljYTkzZWJmYzYyM2VhNWRiY2ZlODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbmNsdWRlICJDYWxsYmFja0lELmgiCiAjaW5jbHVkZSAiQ29udGVudEFzU3RyaW5nSW5jbHVk
ZXNDaGlsZEZyYW1lcy5oIgogI2luY2x1ZGUgIkNyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0Lmgi
CisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2FkSUQuaCIKICNp
bmNsdWRlICJEcmF3aW5nQXJlYUluZm8uaCIKICNpbmNsdWRlICJFZGl0aW5nUmFuZ2UuaCIKQEAg
LTE2MSw3ICsxNjIsNiBAQCBjbGFzcyBBcnJheTsKIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBD
b25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiBjbGFzcyBG
b3JtRGF0YVJlZmVyZW5jZTsKIH0KQEAgLTEyNTgsNyArMTI1OCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpZFJlY2VpdmVXZWJQYWdlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29k
ZXImKTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5kU3luY1dpdGhE
ZWxheWVkUmVwbHkoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHkpCisgICAg
U2VuZFN5bmNSZXN1bHQgc2VuZFN5bmNXaXRoRGVsYXllZFJlcGx5KFQmJiBtZXNzYWdlLCB0eXBl
bmFtZSBUOjpSZXBseSYmIHJlcGx5KQogICAgIHsKICAgICAgICAgY2FuY2VsR2VzdHVyZXNCbG9j
a2VkT25TeW5jaHJvbm91c1JlcGxpZXMoKTsKICAgICAgICAgcmV0dXJuIHNlbmRTeW5jKFdURk1v
dmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBTZWNvbmRzOjppbmZpbml0eSgpLCBJUEM6OlNl
bmRTeW5jT3B0aW9uOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IDM4MzhhYjMyNmRkODM5NmI2MDEwN2NiYTNmNjI0NTA3NGM5N2Y3MTUuLjBlMjkzZmE0ZGYxOWNi
ZjhjZDY3OTMxNzZkNzg3ODkyYWQ4ZTEyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC01MTcsNyArNTE3LDcgQEAgYm9v
bCBXZWJQYWdlOjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50JiBldmVu
dCkKIAogICAgIC8vIEZJWE1FOiBJbnRlcnByZXQgdGhlIGV2ZW50IGltbWVkaWF0ZWx5IHVwb24g
cmVjZWl2aW5nIGl0IGluIFVJIHByb2Nlc3MsIHdpdGhvdXQgc2VuZGluZyB0byBXZWJQcm9jZXNz
IGZpcnN0LgogICAgIGJvb2wgZXZlbnRXYXNIYW5kbGVkID0gZmFsc2U7Ci0gICAgYm9vbCBzZW5k
UmVzdWx0ID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SW50ZXJwcmV0S2V5RXZlbnQoZWRp
dG9yU3RhdGUoU2hvdWxkUGVyZm9ybUxheW91dDo6WWVzKSwgcGxhdGZvcm1FdmVudC0+dHlwZSgp
ID09IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6Q2hhciksCisgICAgYXV0byBzZW5kUmVzdWx0ID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5
bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SW50ZXJwcmV0S2V5RXZlbnQoZWRpdG9yU3RhdGUo
U2hvdWxkUGVyZm9ybUxheW91dDo6WWVzKSwgcGxhdGZvcm1FdmVudC0+dHlwZSgpID09IFBsYXRm
b3JtS2V5Ym9hcmRFdmVudDo6Q2hhciksCiAgICAgICAgIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkludGVycHJldEtleUV2ZW50OjpSZXBseShldmVudFdhc0hhbmRsZWQpLCBtX2lkZW50aWZpZXIp
OwogICAgIHJldHVybiBzZW5kUmVzdWx0ICYmIGV2ZW50V2FzSGFuZGxlZDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415294</attachid>
            <date>2020-12-03 04:52:17 -0800</date>
            <delta_ts>2020-12-08 22:46:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219487-20201203145215.patch</filename>
            <type>text/plain</type>
            <size>85106</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1NTJkOTMzN2NjODQyNTg1
YjA4YjJiMzc4MjFlZDM0NmE5ODgwYjguLjdhNmFkNzQ3MGRkOGM2Njg5NjEwNzQ1ODM0ZDE3OThk
ODFhMDEwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQwIEBACisyMDIwLTEyLTAzICBLaW1tbyBL
aW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgSVBDIHNob3VsZCBzdXBw
b3J0IG5vbi1ieXRlIGFsaWduZWQgZGF0YSByZWZlcmVuY2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk0ODcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZW1wbGF0ZWQgdmVyc2lvbiBvZiBJ
UEM6OkRhdGFSZWZlcmVuY2U6IEFycmF5UmVmZXJlbmNlPHR5cGUsIG51bWJlciBvZiBlbGVtZW50
cz4uCisgICAgICAgIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgY2FuIGJlIG9taXR0ZWQsIGluIHdo
aWNoIGNhc2UgdGhlIEFycmF5UmVmZXJlbmNlCisgICAgICAgIHNpemUgaXMgZGV0ZXJtaW5lZCBy
dW4tdGltZS4KKworICAgICAgICBUaGlzIHdheSBwb2ludGVycyBvZiB0eXBlZCBhcnJheXMgc3Vj
aCBhcyBmbG9hdCBhcnJheXMgY2FuIGJlIHRyYW5zZmVycmVkIGRpcmVjdGx5CisgICAgICAgIGZy
b20gdGhlIElQQyBtZXNzYWdlIGRhdGEgc3RvcmUgdG8gdGhlIHRhcmdldC4gVGhpcyBpcyB1c2Vm
dWwgd2hlbiBpbXBsZW1lbnRpbmcKKyAgICAgICAgSVBDIGZvciBXZWJHTCBpbiBHUFUgcHJvY2Vz
cy4KKworICAgICAgICBDaGFuZ2VzIElQQyB0byBzdXBwb3J0IHBhc3NpbmcgZGF0YSByZWZlcmVu
Y2VzLCBpLmUuCisgICAgICAgIERhdGFSZWZlcmVuY2Ugb3IgQXJyYXlSZWZlcmVuY2UsIGFzIGEg
c3luY2hyb25pemVkIGNhbGwgcmV0dXJuIHZhbHVlLgorICAgICAgICBUaGUgY2FsbGVyIG11c3Qg
aG9sZCB0aGUgQ29ubmVjdGlvbjo6c3luY1NlbmQoKSByZXN1bHQgKERlY29kZXIgb2JqZWN0KQor
ICAgICAgICBmb3IgdGhlIGR1cmF0aW9uIG9mIHVzaW5nIHRoZSBkYXRhIHZhbHVlcy4KKworICAg
ICAgICBNYWtlcyBEYXRhUmVmZXJlbmNlIGFuIGFsaWFzIG9mIHVpbnQ4X3QgZHluYW1pYyBhcnJh
eSByZWZlcmVuY2UuCisgICAgICAgIFVuZm9ydHVuYXRlbHkgdGhpcyBtYWtlcyB0aGUgZm9yd2Fy
ZCBkZWNsYXJpbmcgRGF0YVJlZmVyZW5jZSBoYXJkLgorICAgICAgICBEdWUgdG8gdGhpcywgY2hh
bmdlcyB1c2UgZGVjbGFyYXRpb24gc2l0ZXMgdG8gI2luY2x1ZGUgaW5zdGVhZCBvZgorICAgICAg
ICB1c2luZyBmb3J3YXJkIGRlY2xhcmF0aW9ucy4gUmVtb3ZlcyBmb3J3YXJkIGRlY2xhcmF0aW9u
cyBmb3IgaGVhZGVycworICAgICAgICB3aGVyZSB0aGUgdHlwZSBpcyBub3QgdXNlZC4KKworICAg
ICAgICBBZGRzIHZhcmlvdXMgI2luY2x1ZGVzIHRvIGZpeCBlcnJvcnMgaGlkZGVuIGJ5IHRoZSB1
bmlmaWVkIGJ1aWxkLgorCisgICAgICAgIEFkZHMgc29tZSBXZWJDb3JlOjogbmFtZXNwYWNlIHF1
YWxpZmljYXRpb25zIHRvIGZpeCBlcnJvcnMgaGlkZGVuCisgICAgICAgIGJ5IHRoZSB1bmlmaWVk
IGJ1aWxkLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Q
cm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5o
OgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5
LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVBy
b3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lmg6
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW06Cisg
ICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90
b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9E
b3dubG9hZHMvRG93bmxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRNYW5hZ2VyLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tl
dENoYW5uZWwuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFu
bmVsLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHA6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5o
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EubW06CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHA6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9B
cmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9BcnJheVJlZmVyZW5jZS5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmgu
CisgICAgICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjpBcnJheVJlZmVyZW5jZSk6CisgICAgICAg
IChJUEM6OkFycmF5UmVmZXJlbmNlOjppc0VtcHR5IGNvbnN0KToKKyAgICAgICAgKElQQzo6QXJy
YXlSZWZlcmVuY2U6OnNpemUgY29uc3QpOgorICAgICAgICAoSVBDOjpBcnJheVJlZmVyZW5jZTo6
ZGF0YSBjb25zdCk6CisgICAgICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjp2ZWN0b3IgY29uc3Qp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb246OnNlbmRTeW5jKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5j
ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuaDoK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHA6CisgICAgICAgIChJUEM6OkRlY29k
ZXI6OmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMv
RGVjb2Rlci5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcDoKKyAgICAgICAg
KElQQzo6RW5jb2Rlcjo6d3JhcEZvclRlc3RpbmcpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9F
bmNvZGVyLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oOgorICAgICAgICAoSVBDOjpNZXNzYWdl
U2VuZGVyOjpzZW5kU3luYyk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNv
cHkuY3BwOgorICAgICAgICAoSVBDOjpTaGFyZWRCdWZmZXJDb3B5OjpkZWNvZGUpOgorICAgICAg
ICAqIFBsYXRmb3JtL0lQQy9TaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcDoKKyAgICAgICAg
KiBQbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcDoKKyAgICAgICAgKiBQbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSURhdGEuY3BwOgorICAgICAgICAqIFNoYXJl
ZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxDZXJ0
aWZpY2F0ZUluZm8+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPENlcnRp
ZmljYXRlSW5mbz46OmRlY29kZSk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJv
Y2Vzc1Byb3h5OjpzZW5kU3luYyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9y
aXphdGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclBy
b3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlVSTFNjaGVtZUhh
bmRsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFzay5oOgorICAgICAg
ICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRl
eHR1cmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGlu
YXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25Q
cm94eTo6Y29ubmVjdFRvR1BVUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90
ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3Bw
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9s
bGVyOjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyRXh0ZW5zaW9uKToK
KyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyOjp1bnJl
Z2lzdGVyRXh0ZW5zaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VM
b2FkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRTeW5jV2l0aERlbGF5
ZWRSZXBseSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudCk6
CisKIDIwMjAtMTItMDMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgR1BVIFByb2Nlc3M6IFNhbmRib3ggdmlvbGF0aW9ucyB1bmRlciBJT1N1cmZhY2U6
Om1heGltdW1TaXplIGluIHRoZSBXZWIgQ29udGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5LmNw
cAppbmRleCBlNmExOGRkYTZlMDkyZmRiMTgwNDQ2ZTRmM2EwODNjZjUzYzI3NjE5Li4zNzkyOGUx
YjgzZDRlNTI0NDUzYThkMjdjYzNiODc5MDFiMjQ5YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eS5jcHAK
QEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFVTRShBVURJT19T
RVNTSU9OKQogCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1
ZGUgIkdQVVByb2Nlc3MuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb25NZXNzYWdlcy5o
IgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIgogI2luY2x1ZGUg
IlJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuY3BwCmluZGV4IGQ5
YmY1MjI3MmMzNzI5MTU3NWI1YjM5MzI2MmU3NzIxM2I5MzBkZDQuLjhmMDExOWVkZmUxZDZlOTMy
NDMwMDViMzQ0MTI1YjI0ZWFiOTFlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcApAQCAtMjksNiArMjksNyBA
QAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpCiAKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAi
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1Qcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TVByb3h5LmgKaW5kZXggNmE1YzY3MjVjYWE5YmRiODY3YWI4NmI4YzU3ZjM2ZGUyYzg5NmRjZi4u
YmU3ZjUyMjBiZTliODVmODY4YTVmODM3ZWZlZDY2ZGRmOTVmMjk0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmgKQEAg
LTM5LDEwICszOSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsK
IH0KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlTGVnYWN5Q0RNUHJveHkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Np
b25Qcm94eS5jcHAKaW5kZXggNDdmNWQyZjI3MGZhNWRlNGZhZGUxNTE0NDQyMTExNzk0ZWQzNmQy
OC4uMmM1ZTdkZTdkMmU3NTY5NjBhM2YzZWM4NzZjOGI4MjVjNmU0NWI1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TVNlc3Npb25Qcm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJSZW1vdGVMZWdh
Y3lDRE1TZXNzaW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5Q0RNLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRC
dWZmZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcApp
bmRleCBhOThjZmE0YzlmODAyMzE5MDRmOGVmMGVhYTkzNjIyOWFmYTk3NTk4Li5mZWM2NWNmNjJi
NjY3NGI4MzAwYzUwY2Q0MzM0MTVlOTE1MTE0NDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5j
cHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRl
ICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlJl
bW90ZU1lZGlhUmVzb3VyY2UuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXIuaAppbmRleCBkODliODAzZjZhYmY0MWM4ZTllZGRlNDE0Mjc2OTMyODI2ZDFiMzM4Li4w
ODFlYjMxODBkMDIxNjRiNWFhM2Q1NDgwNmY3MmM3ZWRjMGNiMWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXIuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAK
KyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgi
CiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCIKKwogI2luY2x1ZGUg
PFdlYkNvcmUvUG9saWN5Q2hlY2tlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5h
bWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBE
YXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaAppbmRl
eCA1OTY4YzdiYmQxODljZDQ3OWVmNGFlYWI0ZDQ0OTk1MzNmZDNkNjViLi5mZTU0NGQ1NTUxOTFl
NTU2ZTJkN2UyMzM5NDc1YTAyZmMyOWRjZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgKQEAgLTM5LDcgKzM5
LDYgQEAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7
Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5LmNwcAppbmRleCA2NTc2ZGJiN2IxY2E1Yjk0NjU3NGU1ZGU0OTUyYzYxY2IzNTI3NWM3
Li5lMDlkOGI1NGMyYWEwODM5MjgwMWIxNmE0OTYyMTcwMzBkYzc3MTlkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkluaXRpYWxpemF0aW9uU2VnbWVudEluZm8uaCIK
ICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlU291
cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaAppbmRleCA2YjhiZjhiNTdj
YzBjOGQ5ZDU0MTFlOTY1MjFiNDVhOTRhOGUzYjMyLi45OWNhNmE0MTRlYjUwODM5MGM3MjgzM2E2
NDUxZTczMDM5NDIxZDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaApAQCAtMjcsOSArMjcsMTEgQEAKIAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIAorI2luY2x1
ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllci5oIgorCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2
YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg+CiAj
aW5jbHVkZSA8d3RmL1JlZi5oPgpAQCAtMzgsNyArNDAsNiBAQAogbmFtZXNwYWNlIElQQyB7CiBj
bGFzcyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAppbmRleCAzNjAzMTBiN2QxMjFkMjg2
ZDhkMTYxZjE4M2FiZDBlNzQ1YjgzNTMzLi44NDNiYjA2ZjdiNTZjNmUzY2ZiZWU3OWE3ZTQyODFl
ZmVlOGY5YTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCkBAIC0yOCwxNCArMjgsMTUgQEAKICNpZiBVU0UoTElC
V0VCUlRDKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5j
bHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJSVENEZWNvZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJUQ0VuY29kZXJJZGVudGlmaWVy
LmgiCisKICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQuaD4KIAogbmFt
ZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNsYXNzIERh
dGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCmluZGV4
IGY4YWJjMWY0MDVmYzE0Njk0NzViNGQ5MGJhZDNkNTNjYTBmODAxNGUuLjYxYzQ3MDhhZTk2ZGJj
YWE1Njk4MDllZTE5OTViZTgxNmE5MWZmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQpAQCAtMjgsNyArMjgs
NiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShH
UFVfUFJPQ0VTUykKIAotI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCAiR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2ltcG9ydCAiTGliV2ViUlRDQ29kZWNzTWVzc2FnZXMu
aCIKICNpbXBvcnQgIkxpYldlYlJUQ0NvZGVjc1Byb3h5TWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKaW5k
ZXggNzg4YzVmMDBjMDJmNGYxNDhmZWVjY2QzOGQxMDY4MThiMGQ3ZTk2MS4uM2FiNGU0YjFjZjFj
MTQxMjMwYzEzZTQ1NzZjNWVkNmU2ZWZjMmVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKQEAgLTI3LDYgKzI3LDcg
QEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQogCisjaW5jbHVk
ZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5Lmgi
CkBAIC0zNiw3ICszNyw2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsK
LWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNvZGVyOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9Db2NvYS9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ3VzdG9tUHJvdG9jb2xzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNvY29h
Lm1tCmluZGV4IDdhNjMzNjM0N2MwMDdlOTdiNzNiNTQzNzc0OTE2ODM4ZDY0MDM3ZGEuLjFhYTUz
Y2MyZmI3N2JhZjllMzI2NTA3MjEwODA5ZmQ3NmNmYmJmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0NvY29hL0xlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q3VzdG9tUHJvdG9jb2xzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNvY29hLm1t
CkBAIC0yNiw3ICsyNiw2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkxlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlci5oIgogCi0jaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1w
b3J0ICJMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlcy5oIgogI2ltcG9ydCAiTmV0
d29ya1Byb2Nlc3MuaCIKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxTZXNzaW9uLmg+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oCmluZGV4IGY2ZWQ4
MTFmNTM0MmZlNDg1NTUxNzZmODlkNTE0NTc1NjJjNjY1ODUuLjBiY2Q1NjczYzkzNDZhZGExMWQ2
NTZjM2FkZDUxYmU0ZWRiYzI3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxlZ2FjeUN1c3RvbVByb3RvY29s
SUQuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQuaCIKQEAgLTM5LDEwICs0MCw2IEBAIE9CSkNfQ0xBU1MgTlNVUkxTZXNz
aW9uQ29uZmlndXJhdGlvbjsKIE9CSkNfQ0xBU1MgV0tDdXN0b21Qcm90b2NvbDsKICNlbmRpZgog
Ci1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19IC8vIG5hbWVzcGFjZSBJ
UEMKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJl
c291cmNlUmVxdWVzdDsKQEAgLTExMiw0ICsxMDksMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
RG93bmxvYWRzL0Rvd25sb2FkLmNwcAppbmRleCBkZGJlNGVlZGQ0NDFkZjg3YzU1YWQzMzBmMDQy
Y2NkY2ZhZGZiOTBiLi42NTFmZjI1NGY5MDVjMTZhOTBjYjQ4MmM5NzczZDRhYzc0Mjk0ZWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWQuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VEaXNwb3NpdGlvbi5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVk
ZSAiRG93bmxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRNb25pdG9yLmgiCiAjaW5j
bHVkZSAiRG93bmxvYWRQcm94eU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAzOGFmMzUwODA3NDY0MjkzYjk1
ZmZhZjA1OWZkZWMzNjkwMTc3Mjc0Li45M2YwM2E4MjU1ZjFhZTcxNzM4M2MwMDI5MGEyNGY5MWNh
N2M2NTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRJRC5oIgogI2luY2x1ZGUgIkRv
d25sb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIkRvd25sb2FkTW9uaXRvci5oIgpAQCAtNDQsMTAg
KzQ1LDYgQEAgT0JKQ19DTEFTUyBOU1Byb2dyZXNzOwogT0JKQ19DTEFTUyBOU1VSTFNlc3Npb25E
b3dubG9hZFRhc2s7CiAjZW5kaWYKIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJl
bmNlOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZTsKIGNsYXNzIEJsb2JEYXRhRmlsZVJlZmVyZW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwCmlu
ZGV4IDMzMjE2MzQwZjI3YzE2MDVjM2NkNzRiYzY5MDdiN2Q5MWI0N2I3NjIuLjcyNmRkOTkwYmFm
ZDQzOTRiNWFmYzAzMmExY2YyMGYxODQ5YzQ5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcApAQCAt
MjYsNyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRvd25sb2FkTWFu
YWdlci5oIgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2Fk
LmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNpbmNsdWRl
ICJOZXR3b3JrTG9hZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAppbmRleCAyY2QxNjFiMGFjM2U3ODllMjI0
NmMwNWIwMTY1ZjFjNzI2NzhmYTUwLi45ODBhMDZmNzgzOWRiZDVlOWY5ZDUwNDU0MDlhMzNkNzdi
MWMwMzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rv
d25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgi
CiAjaW5jbHVkZSAiRG93bmxvYWRNYXAuaCIKICNpbmNsdWRlICJOZXR3b3JrRGF0YVRhc2suaCIK
QEAgLTQ5LDcgKzUwLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIElQ
QyB7CiBjbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNw
YWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1NvY2tldENoYW5uZWwuY3BwCmluZGV4IDQ0OWIxM2Q4ZTA3YjJjZDA0MmM0YmEzNjM2YWI3
OTNkMzdiMWMzZjQuLmM3Nzg4ODExZjAzMmQ1OGY4YjUyNzczNmUxZDIyNzg0MTBmOTEzYTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5u
ZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENo
YW5uZWwuY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1NvY2tldENoYW5uZWwuaCIKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5l
dHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Nlc3Npb24uaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5uZWwuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5uZWwuaAppbmRleCAz
MTk2NDE5MGQxNDFkNTQ5ZGEwYmFmMmRjOGJmMjk3YjRlNTgxZTg5Li4wNDM0YmY4ODA5YTdlYjNl
Y2MxOGU4ZjY1MGNjMDI3OGFlNmViNTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3Nh
Z2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL1RpbWVyLmg+CkBAIC00MCw3ICs0MSw2IEBAIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIG5h
bWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBE
YXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uY3BwCmluZGV4IDViNDg5
Y2M1MzhmN2MwNzE1MTAxMDZjNThmNWMwOTRlYzlhOGUxYjguLjQ4Yzg4M2JmYzBmYzdkNTAxYzhh
NGE0ZTc2ODRjY2MzM2UzOGMxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtTb2NrZXRTdHJlYW0uaCIKIAotI2luY2x1
ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrU3RvcmFnZVNlc3Npb25Qcm92
aWRlci5oIgogI2luY2x1ZGUgIldlYlNvY2tldFN0cmVhbU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9Db29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uaAppbmRleCA1MmVjMzky
NjkwMjE4ZWRlNjY4ZDU1ZTYzOGQ4ZTE3NTAyZmQ2ZWU1Li43MzQyOWEwMjc5MDZiNDE2YTM4YzBj
NmIzOTQ2YTBkYjlmYjIwNmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb2Nr
ZXRTdHJlYW1FcnJvci5oPgpAQCAtMzcsNyArMzgsNiBAQAogbmFtZXNwYWNlIElQQyB7CiBjbGFz
cyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmgK
aW5kZXggZDMzY2JmZjEwODljYzEwNWRkMWEwMGJlYmZkZjYxZDMzYzdmNjZiZC4uZDM3ZDc4MDY5
ODNiYmE1NDdjYTBmOTIzNWViNGJmNmI3MzE1NjVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdv
cmtlckZldGNoVGFzay5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9G
ZXRjaElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaD4KQEAgLTQz
LDcgKzQ0LDYgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogbmFtZXNwYWNlIElQQyB7CiBj
bGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiBj
bGFzcyBGb3JtRGF0YVJlZmVyZW5jZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvV2ViU29ja2V0VGFzay5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9XZWJTb2NrZXRUYXNrLmgKaW5kZXggZGI1Nzk1ZGQyMTdmNDVhZDVmNjdlMzBiNzkxZjkyZTI3
NmMwMjk4Ni4uOTYxZTQ2NDU5YmU3NzE3N2UyNjA1ZTdkODY1MmFkYTgwMjA5N2I1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTb2NrZXRUYXNrLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTb2NrZXRUYXNrLmgKQEAgLTMxLDkgKzMx
LDYgQEAKICNpbmNsdWRlICJXZWJTb2NrZXRUYXNrU291cC5oIgogI2Vsc2UKIAotbmFtZXNwYWNl
IElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRU
YXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0
VGFza0NvY29hLmgKaW5kZXggZGFjNjkzNTA3ZWIzZWZjZWE2ZDEwOTQ4MDFiYzAxYjM2ZmUyNjM5
ZC4uZTY4MjZlNDdlODM5NTk0MDI4YWY4ZjRhZWQyMzkyYjRiMDVkMmY1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2Nv
YS5oCkBAIC0yNywxNSArMjcsMTIgQEAKIAogI2lmIEhBVkUoTlNVUkxTRVNTSU9OX1dFQlNPQ0tF
VCkKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogT0JKQ19DTEFTUyBOU1VSTFNlc3Npb25X
ZWJTb2NrZXRUYXNrOwogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19
Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgTmV0d29ya1Nlc3Npb247CiBjbGFzcyBOZXR3
b3JrU2Vzc2lvbkNvY29hOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2NvYS5tbQppbmRleCA4NTUzNDg3NDQwNGNlMmJhYTQ0
YWU2NTY1NDdkMzcyMjUzMzJlYWI4Li45MGJjNDA5YmZmYjcwYTBlZTllNzM1OGIzODY3NTk3ZDI5
ZjI0ZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dl
YlNvY2tldFRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nv
Y29hL1dlYlNvY2tldFRhc2tDb2NvYS5tbQpAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgSEFWRShO
U1VSTFNFU1NJT05fV0VCU09DS0VUKQogCi0jaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1w
b3J0ICJOZXR3b3JrU2Vzc2lvbkNvY29hLmgiCiAjaW1wb3J0ICJOZXR3b3JrU29ja2V0Q2hhbm5l
bC5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTFNlc3Npb24uaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3BwCmlu
ZGV4IDQ1ZmM2NjlkNzY2YTc2MWM1ZDc3M2RjOTVmMDU0MWEzOGUzNmY4ZTMuLmEzZTcwMTRiNWQ4
ZWMwOTczOGZmYTdkNTY2NDU0NTAxMGYwNTM0MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcApAQCAtMjYsNyAr
MjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlNvY2tldFRhc2tTb3Vw
LmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nl
c3MuaCIKICNpbmNsdWRlICJOZXR3b3JrU29ja2V0Q2hhbm5lbC5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvSFRUUFBhcnNlcnMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmgKaW5kZXggZTQyMWI5ZTFjNzEzMTg0MzRmNjQ4N2Y1
ZmNiNWE2YTg3YmQ3MzkxOS4uMDg4OTIzOTU5ZmU0NjBmZjJiYmE0YzhjMDgzOTk4MDY1N2JmMzQ4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tl
dFRhc2tTb3VwLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNv
Y2tldFRhc2tTb3VwLmgKQEAgLTI1LDE0ICsyNSwxMSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KICNpbmNs
dWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KIAotbmFt
ZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIE5ldHdvcmtTb2NrZXRDaGFubmVsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuaAppbmRleCBlMDBhMGNjZGZhNTg3NWMwMjhjNTA1MjMxMTQx
NzI4ZWU5NWI0MzkyLi5lMzhiYzFjNjBhZjZkY2YwMzY5NjVhYTc4YWFkYmQ2ZDhkNGI2MjYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTI1LDYg
KzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBcnJheVJlZmVyZW5jZS5oIgog
I2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJFbmNvZGVyLmgiCiAjaW5jbHVkZSA8dXRp
bGl0eT4KQEAgLTUzLDYgKzU0LDQ4IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBTaW1w
bGVBcmd1bWVudENvZGVyIHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXpl
X3QgRXh0ZW50PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxBcnJheVJlZmVyZW5jZTxULCBFeHRlbnQ+
PiB7CisgICAgdXNpbmcgQXJyYXlSZWZlcmVuY2VUeXBlID0gQXJyYXlSZWZlcmVuY2U8VCwgRXh0
ZW50PjsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgQXJy
YXlSZWZlcmVuY2VUeXBlJiBhcnJheVJlZmVyZW5jZSkKKyAgICB7CisgICAgICAgIGlmICghRXh0
ZW50KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBlbmNvZGVyLmVuY29kZUZpeGVkTGVu
Z3RoRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihhcnJheVJlZmVyZW5jZS5k
YXRhKCkpLCBhcnJheVJlZmVyZW5jZS5zaXplKCkgKiBzaXplb2YoVCksIGFsaWdub2YoVCkpOwor
ICAgIH0KKyAgICBzdGF0aWMgT3B0aW9uYWw8QXJyYXlSZWZlcmVuY2VUeXBlPiBkZWNvZGUoRGVj
b2RlciYgZGVjb2RlcikKKyAgICB7CisgICAgICAgIGlmICghRXh0ZW50KQorICAgICAgICAgICAg
cmV0dXJuIEFycmF5UmVmZXJlbmNlVHlwZSgpOworICAgICAgICBjb25zdCB1aW50OF90KiBkYXRh
ID0gZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aFJlZmVyZW5jZShFeHRlbnQgKiBzaXplb2YoVCks
IGFsaWdub2YoVCkpOworICAgICAgICBpZiAoIWRhdGEpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgICAgICByZXR1cm4gQXJyYXlSZWZlcmVuY2VUeXBlKHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgVCo+KGRhdGEpLCBFeHRlbnQpOworICAgIH0KK307CisKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPEFycmF5UmVmZXJlbmNlPFQsIGFycmF5UmVm
ZXJlbmNlRHluYW1pY0V4dGVudD4+IHsKKyAgICB1c2luZyBBcnJheVJlZmVyZW5jZVR5cGUgPSBB
cnJheVJlZmVyZW5jZTxULCBhcnJheVJlZmVyZW5jZUR5bmFtaWNFeHRlbnQ+OworICAgIHN0YXRp
YyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBcnJheVJlZmVyZW5jZVR5cGUm
IGFycmF5UmVmZXJlbmNlKQorICAgIHsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGUoc3RhdGljX2Nh
c3Q8dWludDY0X3Q+KGFycmF5UmVmZXJlbmNlLnNpemUoKSkpOworICAgICAgICBpZiAoIWFycmF5
UmVmZXJlbmNlLnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZW5jb2Rlci5l
bmNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYXJy
YXlSZWZlcmVuY2UuZGF0YSgpKSwgYXJyYXlSZWZlcmVuY2Uuc2l6ZSgpICogc2l6ZW9mKFQpLCBh
bGlnbm9mKFQpKTsKKyAgICB9CisgICAgc3RhdGljIE9wdGlvbmFsPEFycmF5UmVmZXJlbmNlVHlw
ZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCisgICAgeworICAgICAgICB1aW50NjRfdCBzaXpl
OworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUpKQorICAgICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICAgICAgaWYgKCFzaXplKQorICAgICAgICAgICAgcmV0dXJuIEFy
cmF5UmVmZXJlbmNlVHlwZSgpOworICAgICAgICBjb25zdCB1aW50OF90KiBkYXRhID0gZGVjb2Rl
ci5kZWNvZGVGaXhlZExlbmd0aFJlZmVyZW5jZShzaXplICogc2l6ZW9mKFQpLCBhbGlnbm9mKFQp
KTsKKyAgICAgICAgaWYgKCFkYXRhKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KyAgICAgICAgcmV0dXJuIEFycmF5UmVmZXJlbmNlVHlwZShyZWludGVycHJldF9jYXN0PGNvbnN0
IFQqPihkYXRhKSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzaXplKSk7CisgICAgfQorfTsKKwogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8T3B0aW9uU2V0PFQ+PiB7CiAg
ICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE9wdGlvblNldDxU
PiYgb3B0aW9uU2V0KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0FycmF5UmVmZXJlbmNlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BcnJheVJl
ZmVyZW5jZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMzJiYjQ1N2E1Yjg4NWYzZDU2Njg3ZTc5ZjE1YzNhMjY3
MWJlNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BcnJh
eVJlZmVyZW5jZS5oCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlIDxsaW1pdHM+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3Bh
Y2UgSVBDIHsKKworaW5saW5lIGNvbnN0ZXhwciBzaXplX3QgYXJyYXlSZWZlcmVuY2VEeW5hbWlj
RXh0ZW50ID0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKTsKKwordGVtcGxhdGUg
PHR5cGVuYW1lIFQsIHNpemVfdCBFeHRlbnQgPSBhcnJheVJlZmVyZW5jZUR5bmFtaWNFeHRlbnQ+
CitjbGFzcyBBcnJheVJlZmVyZW5jZTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitjbGFzcyBB
cnJheVJlZmVyZW5jZTxULCBhcnJheVJlZmVyZW5jZUR5bmFtaWNFeHRlbnQ+IHsKK3B1YmxpYzoK
KyAgICBBcnJheVJlZmVyZW5jZSgpID0gZGVmYXVsdDsKKworICAgIEFycmF5UmVmZXJlbmNlKGNv
bnN0IFQqIGRhdGEsIHNpemVfdCBzaXplKQorICAgICAgICA6IG1fZGF0YShkYXRhKQorICAgICAg
ICAsIG1fc2l6ZShzaXplKQorICAgIHsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8c2l6ZV90IGlu
bGluZUNhcGFjaXR5PgorICAgIEFycmF5UmVmZXJlbmNlKGNvbnN0IFZlY3RvcjxULCBpbmxpbmVD
YXBhY2l0eT4mIHZlY3RvcikKKyAgICAgICAgOiBtX2RhdGEodmVjdG9yLmRhdGEoKSkKKyAgICAg
ICAgLCBtX3NpemUodmVjdG9yLnNpemUoKSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBpc0Vt
cHR5KCkgY29uc3QgeyByZXR1cm4gIW1fc2l6ZTsgfQorCisgICAgc2l6ZV90IHNpemUoKSBjb25z
dCB7IHJldHVybiBtX3NpemU7IH0KKyAgICBjb25zdCBUKiBkYXRhKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIGlmIChpc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAg
ICAgcmV0dXJuIG1fZGF0YTsKKyAgICB9CisKKyAgICBWZWN0b3I8VD4gdmVjdG9yKCkgY29uc3QK
KyAgICB7CisgICAgICAgIFZlY3RvcjxUPiByZXN1bHQ7CisgICAgICAgIHJlc3VsdC5hcHBlbmQo
bV9kYXRhLCBtX3NpemUpOworCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCitwcml2
YXRlOgorICAgIGNvbnN0IFQqIG1fZGF0YSB7IH07CisgICAgc2l6ZV90IG1fc2l6ZSB7IH07Cit9
OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgc2l6ZV90IEV4dGVudD4KK2NsYXNzIEFycmF5UmVm
ZXJlbmNlIHsKK3B1YmxpYzoKKyAgICBBcnJheVJlZmVyZW5jZSgpID0gZGVmYXVsdDsKKworICAg
IEFycmF5UmVmZXJlbmNlKGNvbnN0IFQqIGRhdGEsIHNpemVfdCBzaXplKQorICAgICAgICA6IG1f
ZGF0YShkYXRhKQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChzaXplLCBzaXplID09IEV4
dGVudCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAg
ICBBcnJheVJlZmVyZW5jZShjb25zdCBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHk+JiB2ZWN0b3Ip
CisgICAgICAgIDogbV9kYXRhKHZlY3Rvci5kYXRhKCkpCisgICAgeworICAgICAgICBBU1NFUlQo
dmVjdG9yLnNpemUoKSA9PSBFeHRlbnQpOworICAgIH0KKworICAgIGNvbnN0ZXhwciBib29sIGlz
RW1wdHkoKSBjb25zdCB7IHJldHVybiAhRXh0ZW50OyB9CisKKyAgICBjb25zdGV4cHIgc2l6ZV90
IHNpemUoKSBjb25zdCB7IHJldHVybiBFeHRlbnQ7IH0KKworICAgIGNvbnN0IFQqIGRhdGEoKSBj
b25zdAorICAgIHsKKyAgICAgICAgaWYgKGlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICByZXR1cm4gbV9kYXRhOworICAgIH0KKworICAgIFZlY3RvcjxUPiB2
ZWN0b3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgVmVjdG9yPFQ+IHJlc3VsdDsKKyAgICAgICAg
aWYgKCFpc0VtcHR5KCkpCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKG1fZGF0YSwgRXh0ZW50
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgY29uc3Qg
VCogbV9kYXRhIHsgfTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eT4KK0FycmF5UmVmZXJlbmNlKGNvbnN0IFdURjo6VmVjdG9yPFQsIGlubGluZUNhcGFj
aXR5PiYpIC0+IEFycmF5UmVmZXJlbmNlPFQ+OworCit9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBlYzNkMTRhZThmM2VjMjQ3MDU0
NzYzY2FlZTkwOWNjMmM4NzVmNWQ4Li5iYmQ3YWJjYjRjZGM2MDQzODJiMTA2NWUzMzIzODQ0OWM2
YWM1OTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0yMjcs
MTAgKzIyNywxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrQ3VycmVudGx5RGlzcGF0Y2hlZE1l
c3NhZ2VBc0ludmFsaWQoKTsKIAogICAgIHZvaWQgcG9zdENvbm5lY3Rpb25EaWRDbG9zZU9uQ29u
bmVjdGlvbldvcmtRdWV1ZSgpOwotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
Qz4gdm9pZCBzZW5kV2l0aEFzeW5jUmVwbHkoVCYmIG1lc3NhZ2UsIEMmJiBjb21wbGV0aW9uSGFu
ZGxlciwgdWludDY0X3QgZGVzdGluYXRpb25JRCA9IDAsIE9wdGlvblNldDxTZW5kT3B0aW9uPiA9
IHsgfSk7IC8vIFRocmVhZC1zYWZlLgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgc2Vu
ZChUJiYgbWVzc2FnZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgT3B0aW9uU2V0PFNlbmRPcHRp
b24+IHNlbmRPcHRpb25zID0geyB9KTsgLy8gVGhyZWFkLXNhZmUuCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiBy
ZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6
aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7
IH0pOyAvLyBNYWluIHRocmVhZCBvbmx5LgorICAgIC8vIFN5bmMgc2VuZGVycyBzaG91bGQgY2hl
Y2sgdGhlIFNlbmRTeW5jUmVzdWx0IGZvciB0cnVlL2ZhbHNlIGluIGNhc2UgdGhleSBuZWVkIHRv
IGtub3cgaWYgdGhlIHJlc3VsdCB3YXMgcmVhbGx5IHJlY2VpdmVkLgorICAgIC8vIFN5bmMgc2Vu
ZGVycyBzaG91bGQgaG9sZCBvbiB0byB0aGUgU2VuZFN5bmNSZXN1bHQgaW4gY2FzZSB0aGV5IHJl
ZmVyZW5jZSB0aGUgY29udGVudHMgb2YgdGhlIHJlcGx5IHZpYSBEYXRhUmVmZXJlcmVuY2UgLyBB
cnJheVJlZmVyZW5jZS4KKyAgICB1c2luZyBTZW5kU3luY1Jlc3VsdCA9IHN0ZDo6dW5pcXVlX3B0
cjxEZWNvZGVyPjsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBTZW5kU3luY1Jlc3VsdCBzZW5k
U3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9u
U2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pOyAvLyBNYWluIHRocmVh
ZCBvbmx5LgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgd2FpdEZvckFuZERpc3BhdGNo
SW1tZWRpYXRlbHkodWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRp
b25TZXQ8V2FpdEZvck9wdGlvbj4gd2FpdEZvck9wdGlvbnMgPSB7IH0pOyAvLyBNYWluIHRocmVh
ZCBvbmx5LgogICAgIAogICAgIC8vIFRocmVhZC1zYWZlLgpAQCAtMjQ5LDcgKzI1MSw3IEBAIHB1
YmxpYzoKIAogICAgIC8vIE1haW4gdGhyZWFkIG9ubHkuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4KLSAgICBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBU
OjpSZXBseSYmIHJlcGx5LCBPYmplY3RJZGVudGlmaWVyPFU+IGRlc3RpbmF0aW9uSUQsIFNlY29u
ZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlv
bj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQorICAgIFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jKFQm
JiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCBPYmplY3RJZGVudGlmaWVyPFU+
IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9w
dGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHNlbmRTeW5jPFQ+KFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkp
LCBkZXN0aW5hdGlvbklELnRvVUludDY0KCksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAg
ICAgfQpAQCAtNTUxLDcgKzU1Myw3IEBAIHZvaWQgbW92ZVR1cGxlKHN0ZDo6dHVwbGU8QS4uLj4m
JiBhLCBzdGQ6OnR1cGxlPEIuLi4+JiBiKQogICAgIFR1cGxlTW92ZXI8c2l6ZW9mLi4uKEEpLCBz
dGQ6OnR1cGxlPEEuLi4+LCBzdGQ6OnR1cGxlPEIuLi4+Pjo6bW92ZShXVEZNb3ZlKGEpLCBiKTsK
IH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBDb25uZWN0aW9uOjpzZW5kU3luYyhUJiYg
bWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25J
RCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0
aW9ucykKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IENvbm5lY3Rpb246OlNlbmRTeW5jUmVzdWx0IENv
bm5lY3Rpb246OnNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5
LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlvblNldDxTZW5k
U3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zKQogewogICAgIENPTVBJTEVfQVNTRVJUKFQ6Omlz
U3luYywgU3luY01lc3NhZ2VFeHBlY3RlZCk7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6
aXNNYWluKCkpOwpAQCAtNTcwLDE1ICs1NzIsMTUgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9v
bCBDb25uZWN0aW9uOjpzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJgog
ICAgIC8vIE5vdyBzZW5kIHRoZSBtZXNzYWdlIGFuZCB3YWl0IGZvciBhIHJlcGx5LgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiByZXBseURlY29kZXIgPSBzZW5kU3luY01lc3NhZ2Uoc3lu
Y1JlcXVlc3RJRCwgV1RGTW92ZShlbmNvZGVyKSwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25zKTsK
ICAgICBpZiAoIXJlcGx5RGVjb2RlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBy
ZXR1cm4geyB9OwogCiAgICAgLy8gRGVjb2RlIHRoZSByZXBseS4KICAgICBPcHRpb25hbDx0eXBl
bmFtZSBUOjpSZXBseUFyZ3VtZW50cz4gcmVwbHlBcmd1bWVudHM7CiAgICAgKnJlcGx5RGVjb2Rl
ciA+PiByZXBseUFyZ3VtZW50czsKICAgICBpZiAoIXJlcGx5QXJndW1lbnRzKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiB7IH07CiAgICAgbW92ZVR1cGxlKFdURk1vdmUo
KnJlcGx5QXJndW1lbnRzKSwgcmVwbHkpOwotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBy
ZXBseURlY29kZXI7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6
d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHkodWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vj
b25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8V2FpdEZvck9wdGlvbj4gd2FpdEZvck9wdGlvbnMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyMjVmZGE3YmVkMmZlOGM0MDQ5YjU1ODcwNzlmZDFlMTYzNTRm
NGZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNDQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCi0KLSNpbmNsdWRlICJEZWNvZGVyLmgiCi0jaW5jbHVkZSAiRW5j
b2Rlci5oIgotCi1uYW1lc3BhY2UgSVBDIHsKLQotdm9pZCBEYXRhUmVmZXJlbmNlOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVu
Z3RoQnl0ZUFycmF5KCp0aGlzKTsKLX0KLQotYm9vbCBEYXRhUmVmZXJlbmNlOjpkZWNvZGUoRGVj
b2RlciYgZGVjb2RlciwgRGF0YVJlZmVyZW5jZSYgZGF0YVJlZmVyZW5jZSkKLXsKLSAgICByZXR1
cm4gZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShkYXRhUmVmZXJlbmNlKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9EYXRhUmVmZXJlbmNlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRh
UmVmZXJlbmNlLmgKaW5kZXggMzQ1MGMzMWI3M2RkYjZhYTVlZGNlMmFmODAwMjk4ODdjNzk4ZTIw
NS4uZGJiM2Q2OTI3ZjM0MWM1YWE5M2ZjMTA3M2NiMDc1NmUzY2JhMzdkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuaApAQCAtMjUsNTQgKzI1LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgIkFycmF5
UmVmZXJlbmNlLmgiCiAKIG5hbWVzcGFjZSBJUEMgewogCi1jbGFzcyBEZWNvZGVyOwotY2xhc3Mg
RW5jb2RlcjsKLSAgICAKLWNsYXNzIERhdGFSZWZlcmVuY2UgewotcHVibGljOgotICAgIERhdGFS
ZWZlcmVuY2UoKSA9IGRlZmF1bHQ7Ci0KLSAgICBEYXRhUmVmZXJlbmNlKGNvbnN0IHVpbnQ4X3Qq
IGRhdGEsIHNpemVfdCBzaXplKQotICAgICAgICA6IG1fZGF0YShkYXRhKQotICAgICAgICAsIG1f
c2l6ZShzaXplKQotICAgIHsKLSAgICB9Ci0KLSAgICB0ZW1wbGF0ZTxzaXplX3QgaW5saW5lQ2Fw
YWNpdHk+Ci0gICAgRGF0YVJlZmVyZW5jZShjb25zdCBWZWN0b3I8dWludDhfdCwgaW5saW5lQ2Fw
YWNpdHk+JiB2ZWN0b3IpCi0gICAgICAgIDogbV9kYXRhKHZlY3Rvci5kYXRhKCkpCi0gICAgICAg
ICwgbV9zaXplKHZlY3Rvci5zaXplKCkpCi0gICAgewotICAgIH0KLQotICAgIGJvb2wgaXNFbXB0
eSgpIGNvbnN0IHsgcmV0dXJuICFtX3NpemU7IH0KLQotICAgIHNpemVfdCBzaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9zaXplOyB9Ci0gICAgY29uc3QgdWludDhfdCogZGF0YSgpIGNvbnN0IAotICAg
IHsgCi0gICAgICAgIGlmIChpc0VtcHR5KCkpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICAgICAgcmV0dXJuIG1fZGF0YTsgCi0gICAgfQotCi0gICAgVmVjdG9yPHVpbnQ4X3Q+IHZl
Y3RvcigpIGNvbnN0Ci0gICAgewotICAgICAgICBWZWN0b3I8dWludDhfdD4gcmVzdWx0OwotICAg
ICAgICByZXN1bHQuYXBwZW5kKG1fZGF0YSwgbV9zaXplKTsKLQotICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgIH0KLQotICAgIHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBEYXRhUmVmZXJlbmNl
Jik7Ci0KLXByaXZhdGU6Ci0gICAgY29uc3QgdWludDhfdCogbV9kYXRhIHsgbnVsbHB0ciB9Owot
ICAgIHNpemVfdCBtX3NpemUgeyAwIH07Ci19OwordXNpbmcgRGF0YVJlZmVyZW5jZSA9IEFycmF5
UmVmZXJlbmNlPHVpbnQ4X3QsIGFycmF5UmVmZXJlbmNlRHluYW1pY0V4dGVudD47CiAKIH0gLy8g
bmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVj
b2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcAppbmRleCA3
OGE0NjM4ZWI3MzA1YmZkMTkxMDg3MDY4ZDMwYmNkYjhkZmU4MmFlLi4yY2I3OWI3MzFjOGQzNTFh
MmQwNTk0NjM2MmM1YWI4YmJhZGJkYzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9EZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNv
ZGVyLmNwcApAQCAtMTg2LDIwICsxODYsMTUgQEAgYm9vbCBEZWNvZGVyOjpkZWNvZGVGaXhlZExl
bmd0aERhdGEodWludDhfdCogZGF0YSwgc2l6ZV90IHNpemUsIHNpemVfdCBhbGlnbm1lbnQKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBEZWNvZGVyOjpkZWNvZGVWYXJpYWJsZUxlbmd0aEJ5
dGVBcnJheShEYXRhUmVmZXJlbmNlJiBkYXRhUmVmZXJlbmNlKQorY29uc3QgdWludDhfdCogRGVj
b2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhSZWZlcmVuY2Uoc2l6ZV90IHNpemUsIHNpemVfdCBhbGln
bm1lbnQpCiB7Ci0gICAgdWludDY0X3Qgc2l6ZTsKLSAgICBpZiAoIWRlY29kZShzaXplKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIGlmICghYWxpZ25CdWZmZXJQb3NpdGlvbigx
LCBzaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghYWxpZ25CdWZmZXJQb3Np
dGlvbihhbGlnbm1lbnQsIHNpemUpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGNv
bnN0IHVpbnQ4X3QqIGRhdGEgPSBtX2J1ZmZlclBvczsKICAgICBtX2J1ZmZlclBvcyArPSBzaXpl
OwogCi0gICAgZGF0YVJlZmVyZW5jZSA9IERhdGFSZWZlcmVuY2UoZGF0YSwgc2l6ZSk7Ci0gICAg
cmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGRhdGE7CiB9CiAKIGJvb2wgRGVjb2Rlcjo6cmVtb3Zl
QXR0YWNobWVudChBdHRhY2htZW50JiBhdHRhY2htZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
RGVjb2Rlci5oCmluZGV4IGI3MmRkOGFjZTI3NzNkYjM1NTllMzY2ZGQ5NTI0ZjIzNDFlNTVlMDYu
LjM0NGNlNjg4MmZjOTA5ODRiMmZhNTdiZjljNDhiOTY1MGUwZmY3NGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9EZWNvZGVyLmgKQEAgLTQwLDcgKzQwLDYgQEAKIAogbmFtZXNwYWNlIElQQyB7
CiAKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBJbXBvcnRhbmNlQXNzZXJ0aW9uOwogZW51
bSBjbGFzcyBNZXNzYWdlRmxhZ3MgOiB1aW50OF90OwogZW51bSBjbGFzcyBTaG91bGREaXNwYXRj
aFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5IDogdWludDhfdDsKQEAgLTc4LDggKzc3LDkgQEAgcHVi
bGljOgogCiAgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlRml4ZWRMZW5ndGhEYXRh
KHVpbnQ4X3QqIGRhdGEsIHNpemVfdCwgc2l6ZV90IGFsaWdubWVudCk7CiAKLSAgICAvLyBUaGUg
ZGF0YSBpbiB0aGUgZGF0YSByZWZlcmVuY2UgaGVyZSB3aWxsIG9ubHkgYmUgdmFsaWQgZm9yIHRo
ZSBsaWZldGltZSBvZiB0aGUgQXJndW1lbnREZWNvZGVyIG9iamVjdC4KLSAgICBXQVJOX1VOVVNF
RF9SRVRVUk4gYm9vbCBkZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShEYXRhUmVmZXJlbmNl
Jik7CisgICAgLy8gVGhlIGRhdGEgaW4gdGhlIHJldHVybmVkIHBvaW50ZXIgaGVyZSB3aWxsIG9u
bHkgYmUgdmFsaWQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgQXJndW1lbnREZWNvZGVyIG9iamVj
dC4KKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgb24gZmFpbHVyZS4KKyAgICBXQVJOX1VOVVNFRF9S
RVRVUk4gY29uc3QgdWludDhfdCogZGVjb2RlRml4ZWRMZW5ndGhSZWZlcmVuY2Uoc2l6ZV90LCBz
aXplX3QgYWxpZ25tZW50KTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHN0ZDo6ZW5hYmxl
X2lmX3Q8c3RkOjppc19hcml0aG1ldGljPFQ+Ojp2YWx1ZT4qID0gbnVsbHB0cj4KICAgICBXQVJO
X1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoVCYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0VuY29kZXIuY3BwCmluZGV4IGZkNDA5MDc3NGIyYmMyYTc2MjliOWMwMmRjNTU0YzRjZGM5
OGY1Y2IuLmU4M2EzZTRhZmY0MmE1NzU1MDVkYzhmMDczMTdhMWMxYWMxOWRlYWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRW5jb2Rlci5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRD
b2RlcnMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUZs
YWdzLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMTQxLDcgKzE0Miw3IEBAIHZvaWQgRW5j
b2Rlcjo6d3JhcEZvclRlc3Rpbmcoc3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+IG9yaWdpbmFsKQog
CiAgICAgb3JpZ2luYWwtPnNldFNob3VsZERpc3BhdGNoTWVzc2FnZVdoZW5XYWl0aW5nRm9yU3lu
Y1JlcGx5KFNob3VsZERpc3BhdGNoV2hlbldhaXRpbmdGb3JTeW5jUmVwbHk6Olllcyk7CiAKLSAg
ICBlbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShEYXRhUmVmZXJlbmNlKG9yaWdpbmFsLT5i
dWZmZXIoKSwgb3JpZ2luYWwtPmJ1ZmZlclNpemUoKSkpOworICAgICp0aGlzIDw8IERhdGFSZWZl
cmVuY2Uob3JpZ2luYWwtPmJ1ZmZlcigpLCBvcmlnaW5hbC0+YnVmZmVyU2l6ZSgpKTsKIAogICAg
IFZlY3RvcjxBdHRhY2htZW50PiBhdHRhY2htZW50cyA9IG9yaWdpbmFsLT5yZWxlYXNlQXR0YWNo
bWVudHMoKTsKICAgICByZXNlcnZlKGF0dGFjaG1lbnRzLnNpemUoKSk7CkBAIC0yMTYsMTIgKzIx
Nyw2IEBAIHZvaWQgRW5jb2Rlcjo6ZW5jb2RlRml4ZWRMZW5ndGhEYXRhKGNvbnN0IHVpbnQ4X3Qq
IGRhdGEsIHNpemVfdCBzaXplLCBzaXplX3QgYWxpCiAgICAgbWVtY3B5KGJ1ZmZlciwgZGF0YSwg
c2l6ZSk7CiB9CiAKLXZvaWQgRW5jb2Rlcjo6ZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXko
Y29uc3QgRGF0YVJlZmVyZW5jZSYgZGF0YVJlZmVyZW5jZSkKLXsKLSAgICBlbmNvZGUoc3RhdGlj
X2Nhc3Q8dWludDY0X3Q+KGRhdGFSZWZlcmVuY2Uuc2l6ZSgpKSk7Ci0gICAgZW5jb2RlRml4ZWRM
ZW5ndGhEYXRhKGRhdGFSZWZlcmVuY2UuZGF0YSgpLCBkYXRhUmVmZXJlbmNlLnNpemUoKSwgMSk7
Ci19Ci0KIHZvaWQgRW5jb2Rlcjo6YWRkQXR0YWNobWVudChBdHRhY2htZW50JiYgYXR0YWNobWVu
dCkKIHsKICAgICBtX2F0dGFjaG1lbnRzLmFwcGVuZChXVEZNb3ZlKGF0dGFjaG1lbnQpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuaAppbmRleCAwZWNmNTQxZjc3ODU4NTM2ZjFmY2Zh
ODM2Yjc2ZjI0ODJlNGM5YTExLi5lYTYxOTY3YmUxZWJjYmQ4YjZmYmJhYThiODVhZjQxOGU4ZDUw
Y2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5oCkBAIC0zNiw3ICszNiw2IEBA
CiAKIG5hbWVzcGFjZSBJUEMgewogCi1jbGFzcyBEYXRhUmVmZXJlbmNlOwogZW51bSBjbGFzcyBN
ZXNzYWdlRmxhZ3MgOiB1aW50OF90OwogZW51bSBjbGFzcyBNZXNzYWdlTmFtZSA6IHVpbnQxNl90
OwogZW51bSBjbGFzcyBTaG91bGREaXNwYXRjaFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5IDogdWlu
dDhfdDsKQEAgLTYyLDcgKzYxLDYgQEAgcHVibGljOgogICAgIHZvaWQgd3JhcEZvclRlc3Rpbmco
c3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+KTsKIAogICAgIHZvaWQgZW5jb2RlRml4ZWRMZW5ndGhE
YXRhKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCwgc2l6ZV90IGFsaWdubWVudCk7Ci0gICAg
dm9pZCBlbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjb25zdCBEYXRhUmVmZXJlbmNlJik7
CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PCFzdGQ6OmlzX2Vu
dW08dHlwZW5hbWUgc3RkOjpyZW1vdmVfY29uc3RfdDxzdGQ6OnJlbW92ZV9yZWZlcmVuY2VfdDxU
Pj4+Ojp2YWx1ZSAmJiAhc3RkOjppc19hcml0aG1ldGljPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2Nv
bnN0X3Q8c3RkOjpyZW1vdmVfcmVmZXJlbmNlX3Q8VD4+Pjo6dmFsdWU+KiA9IG51bGxwdHI+CiAg
ICAgdm9pZCBlbmNvZGUoVCYmIHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9IYW5kbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVN
ZXNzYWdlLmgKaW5kZXggN2ZkMTgzYTU2YWU5OGIwNjY0NWZmNzUxNDhhYzI5ODNjNTJlNGFlYi4u
NDEyOWQ0ZTJiNDlkNWM4ZmM0MWEyZDY1NGFkY2Q4OWU4NmM2MzdmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIkRhdGFSZWZl
cmVuY2UuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTk2LDcgKzk3LDYgQEAgc3RydWN0IENvZGluZ1R5cGUg
ewogICAgIHR5cGVkZWYgc3RkOjpyZW1vdmVfY29uc3RfdDxzdGQ6OnJlbW92ZV9yZWZlcmVuY2Vf
dDxUPj4gVHlwZTsKIH07CiAKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBTaGFyZWRCdWZm
ZXJEYXRhUmVmZXJlbmNlOwogdGVtcGxhdGU8PiBzdHJ1Y3QgQ29kaW5nVHlwZTxjb25zdCBTaGFy
ZWRCdWZmZXJEYXRhUmVmZXJlbmNlJj4gewogICAgIHVzaW5nIFR5cGUgPSBEYXRhUmVmZXJlbmNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5o
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCmluZGV4IDQ2ZTIx
ZDhkOTM2ZjJkOGI1MTY3YjI0OWY4ODExMTZmZmViN2Q0YjkuLjc3NDYxZDU1NWI3MjkyYzIwZWJm
NTE0YTMwMmQxZGM2ZTc3NzAxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL01lc3NhZ2VTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNz
YWdlU2VuZGVyLmgKQEAgLTU0LDkgKzU0LDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJl
dHVybiBzZW5kPFU+KG1lc3NhZ2UsIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwgc2VuZE9wdGlv
bnMpOwogICAgIH0KKyAgICB1c2luZyBTZW5kU3luY1Jlc3VsdCA9IENvbm5lY3Rpb246OlNlbmRT
eW5jUmVzdWx0OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBib29sIHNlbmRTeW5j
KFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCBTZWNvbmRzIHRpbWVvdXQg
PSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5j
T3B0aW9ucyA9IHsgfSkKKyAgICBTZW5kU3luY1Jlc3VsdCBzZW5kU3luYyhUJiYgbWVzc2FnZSwg
dHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5m
aW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0p
CiAgICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0KFQ6OmlzU3luYywgIk1lc3NhZ2UgaXMgbm90
IHN5bmMhIik7CiAKQEAgLTY0LDcgKzY1LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUg
VDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0
ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3lu
Y09wdGlvbnMgPSB7IH0pCisgICAgU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3NhZ2Us
IHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29u
ZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlv
bj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAgICAgICAgQVNTRVJUKG1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkpOwogCkBAIC03Miw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICB9CiAK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVLCB0eXBlbmFtZSBUPgotICAgIGJvb2wgc2VuZFN5bmMo
VSYmIG1lc3NhZ2UsIHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZpZXI8
VD4gZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwg
T3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgU2Vu
ZFN5bmNSZXN1bHQgc2VuZFN5bmMoVSYmIG1lc3NhZ2UsIHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVw
bHksIE9iamVjdElkZW50aWZpZXI8VD4gZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0g
U2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09w
dGlvbnMgPSB7IH0pCiAgICAgewogICAgICAgICByZXR1cm4gc2VuZFN5bmM8VT4oc3RkOjpmb3J3
YXJkPFU+KG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgp
LCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHkuY3BwIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyQ29weS5jcHAKaW5kZXggN2EzY2IzMzg3NjM2ZGNhZmNl
YWNlYWQ5MWI4NjM5YjdiYTc2MzZjNi4uNTAwZjgzOWRmYWFlOTI5N2Y0ZGM2M2RjNjYzMDU4Nzdi
MjJkZjJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2hhcmVkQnVm
ZmVyQ29weS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVy
Q29weS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXJDb3B5LmgiCiAKKyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAi
RW5jb2Rlci5oIgpAQCAtNDgsNyArNDksNyBAQCB2b2lkIFNoYXJlZEJ1ZmZlckNvcHk6OmVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogT3B0aW9uYWw8U2hhcmVkQnVmZmVyQ29weT4gU2hh
cmVkQnVmZmVyQ29weTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiB7CiAgICAgSVBDOjpEYXRh
UmVmZXJlbmNlIGRhdGE7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0
ZUFycmF5KGRhdGEpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YSkpCiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOwogICAg
IGlmIChkYXRhLnNpemUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L1NoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5jcHAKaW5kZXggMmY3Mjg1YWMwYjRiZDZkZTEx
ZGZlYjlmZTMyOGYwMWM5OTk5NTBhMC4uZTk2ZGZiMWZiZjg5MWNkNGEwYzc3NGU4NWM5MDc4NzU4
YTZmZTgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2hhcmVkQnVm
ZmVyRGF0YVJlZmVyZW5jZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2hh
cmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmgiCiAKKyNpbmNs
dWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKIAogbmFtZXNwYWNl
IElQQyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZl
cmVuY2UuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNw
cAppbmRleCA4NTJlZjQzZTAwODYzMWM5ZmFmYTgyMzBjOTE5YzE3YTlkNGEyOWI2Li4yMTYxMTM5
YzMwMTRmMGVhZmIzZGM0N2M4NWRhNDE5MGEyYmEwNjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL1N0cmluZ1JlZmVyZW5jZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTdHJpbmdSZWZlcmVuY2UuaCIKIAorI2luY2x1ZGUg
IkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUg
IkRlY29kZXIuaCIKICNpbmNsdWRlICJFbmNvZGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmluZGV4IDhiMzc0MGY0
YjEwMWFkOTBmNTBlZDU3Yzg1MGI5MDMwZmNjNDMwYzIuLjRiMjBjODVhYzUzNjIzNjQwM2E4M2Vh
OTczY2RjY2QxMGZkZjcyZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJOUE9iamVjdFByb3h5LmgiCiAjaW5jbHVkZSAiTlBSZW1vdGVPYmplY3RNYXAu
aCIKICNpbmNsdWRlICJOUFJ1bnRpbWVVdGlsaXRpZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAppbmRleCBhZDRmY2Q5ZDhj
Y2Y0MmYxMmVlNDg4ZTAxMzQ2YzYxOWE3MDFiOGQyLi5jN2E3MDUzY2JkMjZkMjA0NTRjMDQyYzZh
Y2UxNmNiNTI1MzBmNDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNz
L1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlBsdWdpbi5oIgogI2luY2x1ZGUgIlBsdWdpbkNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKQEAgLTM3LDEwICszOCw2
IEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3Au
aD4KIAotbmFtZXNwYWNlIElQQyB7Ci0gICAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIExheWVySG9zdGluZ0NvbnRleHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBjYTBhZTI4NDExYTgzZGU0YmYzZmUw
OGIwMTJlNDA1NTQ4ZDhiNTczLi5kNmVlMmJjYmNhYjZhNzBlNDJkMGU5ODg0OWFhODEzMDA5NjRj
YTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTIwMyw2
ICsyMDMsNyBAQCBkZWYgZm9yd2FyZF9kZWNsYXJhdGlvbnNfZm9yX25hbWVzcGFjZShuYW1lc3Bh
Y2UsIGtpbmRfYW5kX3R5cGVzKToKIAogZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRf
ZGVjbGFyZWQoKToKICAgICByZXR1cm4gZnJvemVuc2V0KFsKKyAgICAgICAgJ0lQQzo6RGF0YVJl
ZmVyZW5jZScsCiAgICAgICAgICdNYWNoU2VuZFJpZ2h0JywKICAgICAgICAgJ01lZGlhVGltZScs
CiAgICAgICAgICdTdHJpbmcnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJ
L0FQSURhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSURhdGEuY3BwCmluZGV4
IDYxMzQzYmQ5NDEwNmI2ZTc4OWY4M2JjMjVkZTc5ZjdhNjA0MDkzY2MuLmM3ODIzMTZmMzA1N2Ez
Y2FmOWQzZTIwNzdjODEzMjU1M2U2OTc1NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9BUElEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGF0
YS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJB
UElEYXRhLmgiCiAKKyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkRlY29k
ZXIuaCIKICNpbmNsdWRlICJFbmNvZGVyLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2Yv
QXJndW1lbnRDb2RlcnNDRi5jcHAKaW5kZXggOWJkOGE4MTc1NDlmNThmZTM4M2Q3MjVkYTY2M2Yz
YmM1NGNhMGQ3NC4uNzdlOWI0ZDVjYzc1MmZiY2RiNmI2NWY5YWRjMjYwMTk1NmNhMTQ3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBcmd1bWVudENvZGVyc0NG
LmgiCiAKKyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAiRW5jb2Rlci5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHAKaW5kZXggMWQ4NGUyZmUyNjhmMzQ2MGViMjk3NWM0MmJhOTVkMTRmMWQyMzVjZi4uZmEy
NjhkNTg0YTBmYzhkZjg3YTIxZmE0NTYwNzdiOGM1ZDQyYjg1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCkBA
IC04MSw3ICs4MSw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2VydGlmaWNhdGVJCiAgICAgLy8gRW5jb2RlIHN0
YXJ0aW5nIGZyb20gdGhlIHJvb3QgY2VydGlmaWNhdGUuCiAgICAgZm9yIChzaXplX3QgaSA9IGNl
cnRpZmljYXRlc0RhdGFMaXN0LnNpemUoKTsgaSA+IDA7IC0taSkgewogICAgICAgICBHQnl0ZUFy
cmF5KiBjZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlc0RhdGFMaXN0W2kgLSAxXS5nZXQoKTsKLSAg
ICAgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShJUEM6OkRhdGFSZWZl
cmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKKyAgICAgICAgZW5j
b2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRl
LT5sZW4pOwogICAgIH0KIAogICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNl
cnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CkBAIC0xMDAsNyArMTAwLDcgQEAgYm9vbCBBcmd1
bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBDZXJ0
aWZpY2F0ZUluZm8mIGMKICAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNhdGU7
CiAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGNoYWluTGVuZ3RoOyBpKyspIHsKICAgICAg
ICAgSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNlcnRpZmljYXRlRGF0
YVJlZmVyZW5jZSkpCisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVEYXRh
UmVmZXJlbmNlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBHQnl0ZUFy
cmF5KiBjZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRl
RGF0YVJlZmVyZW5jZS5zaXplKCkpOwpAQCAtMjc3LDQgKzI3NywzIEBAIE9wdGlvbmFsPFNlcmlh
bGl6ZWRQbGF0Zm9ybURhdGFDdWVWYWx1ZT4gIEFyZ3VtZW50Q29kZXI8U2VyaWFsaXplZFBsYXRm
b3JtRGF0YUN1CiAjZW5kaWYKIAogfQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCAwOTE3ZjAxYmUxYzlmOGNh
YTJhYmY3ZjBmODkwZjg5NWEzZjJlZjg2Li4zNjBhMzU3MjZmNjcxODQwODQwODc0MDcxMDliODc1
MWIzNDEwMzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTEzNyw3ICsxMzcsNiBAQCBQbGF0Zm9ybS9TaGFy
ZWRNZW1vcnkuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcCBA
bm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9BdHRhY2htZW50LmNwcCBAbm8tdW5pZnkKIFBsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmNwcCBAbm8tdW5pZnkKLVBsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNl
LmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcCBAbm8tdW5pZnkKIFBsYXRm
b3JtL0lQQy9FbmNvZGVyLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcu
Y3BwIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SUljb25Mb2FkaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSWNv
bkxvYWRpbmdDbGllbnQuaAppbmRleCAyZmUzODYyNTk0NjNiZmIzNjIzZWJiZGI0ZmVmNWY4Mzkz
NmIwZDNkLi43MzdiNjI1ODE5ODY2YTBlY2I1OTlhMjEzMGIzMjkxM2VhZjM5NmQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSWNvbkxvYWRpbmdDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJSWNvbkxvYWRpbmdDbGllbnQuaApA
QCAtMzAsMTAgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNp
bmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVm
ZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgQVBJIHsKIAogY2xhc3MgSWNvbkxvYWRpbmdDbGllbnQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaApp
bmRleCA0ZjM5OGI1MzBmNjA4NTc1Yzk2N2I4M2M3NGZhMmY0MzI4ZjZjZTNiLi44Y2E5N2U2ZTU5
N2JkNzExMGEwZDczOGUwYzRhN2M4NTYwM2E4YTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaApAQCAtNTMsNyArNTMsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBQcm9jZXNzVGhyb3R0bGVyJiB0aHJvdHRsZXIoKSA9IDA7CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmQoVCYmIG1lc3NhZ2UsIHVpbnQ2NF90IGRlc3Rp
bmF0aW9uSUQsIE9wdGlvblNldDxJUEM6OlNlbmRPcHRpb24+IHNlbmRPcHRpb25zID0geyB9KTsK
LSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBl
bmFtZSBUOjpSZXBseSYmLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQg
PSAxX3MsIE9wdGlvblNldDxJUEM6OlNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7
IH0pOworICAgIHVzaW5nIFNlbmRTeW5jUmVzdWx0ID0gSVBDOjpDb25uZWN0aW9uOjpTZW5kU3lu
Y1Jlc3VsdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBTZW5kU3luY1Jlc3VsdCBzZW5kU3lu
YyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiwgdWludDY0X3QgZGVzdGluYXRpb25J
RCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9zLCBPcHRpb25TZXQ8SVBDOjpTZW5kU3luY09wdGlvbj4g
c2VuZFN5bmNPcHRpb25zID0geyB9KTsKIAogICAgIGVudW0gY2xhc3MgU2hvdWxkU3RhcnRQcm9j
ZXNzVGhyb3R0bGVyQWN0aXZpdHkgOiBib29sIHsgTm8sIFllcyB9OwogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIEM+IHZvaWQgc2VuZFdpdGhBc3luY1JlcGx5KFQmJiwgQyYmLCB1
aW50NjRfdCBkZXN0aW5hdGlvbklEID0gMCwgT3B0aW9uU2V0PElQQzo6U2VuZE9wdGlvbj4gPSB7
IH0sIFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFjdGl2aXR5ID0gU2hvdWxkU3RhcnRQcm9j
ZXNzVGhyb3R0bGVyQWN0aXZpdHk6Olllcyk7CkBAIC02NSw3ICs2Niw3IEBAIHB1YmxpYzoKICAg
ICB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KLSAgICBib29s
IHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCBPYmplY3RJ
ZGVudGlmaWVyPFU+IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IDFfcywgT3B0aW9u
U2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAgICBTZW5k
U3luY1Jlc3VsdCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBs
eSwgT2JqZWN0SWRlbnRpZmllcjxVPiBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSAx
X3MsIE9wdGlvblNldDxJUEM6OlNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0p
CiAgICAgewogICAgICAgICByZXR1cm4gc2VuZFN5bmM8VD4oV1RGTW92ZShtZXNzYWdlKSwgV1RG
TW92ZShyZXBseSksIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwgdGltZW91dCwgc2VuZFN5bmNP
cHRpb25zKTsKICAgICB9CkBAIC0xNjMsMTIgKzE2NCwxMiBAQCBib29sIEF1eGlsaWFyeVByb2Nl
c3NQcm94eTo6c2VuZChUJiYgbWVzc2FnZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgT3B0aW9u
U2V0PAogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiAKLWJvb2wgQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5OjpzZW5kU3luYyhVJiYgbWVzc2FnZSwgdHlwZW5hbWUgVTo6UmVwbHkmJiByZXBseSwgdWlu
dDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8SVBDOjpTZW5k
U3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zKQorQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpTZW5k
U3luY1Jlc3VsdCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnNlbmRTeW5jKFUmJiBtZXNzYWdlLCB0
eXBlbmFtZSBVOjpSZXBseSYmIHJlcGx5LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRz
IHRpbWVvdXQsIE9wdGlvblNldDxJUEM6OlNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMp
CiB7CiAgICAgQ09NUElMRV9BU1NFUlQoVTo6aXNTeW5jLCBTeW5jTWVzc2FnZUV4cGVjdGVkKTsK
IAogICAgIGlmICghbV9jb25uZWN0aW9uKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiB7IH07CiAKICAgICBUcmFjZVNjb3BlIHNjb3BlKFN5bmNNZXNzYWdlU3RhcnQsIFN5
bmNNZXNzYWdlRW5kKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvU09BdXRob3JpemF0aW9uL1N1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1N1YkZyYW1lU09BdXRo
b3JpemF0aW9uU2Vzc2lvbi5oCmluZGV4IDgyM2MyMDJhODU2YTAxMzZkZDllYTc1OWYwZWNkZWJh
NDdmNGYzNjIuLmI1NzdjYmRmOGUwNzhmNGZiNGY4NzM0ZDdiZmQ2MDhkMjAzODgwNjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TdWJG
cmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9TT0F1dGhvcml6YXRpb24vU3ViRnJhbWVTT0F1dGhvcml6YXRpb25TZXNzaW9uLmgK
QEAgLTMyLDEwICszMiw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUlkZW50aWZpZXIuaD4K
ICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVm
ZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgU3ViRnJhbWVTT0F1dGhv
cml6YXRpb25TZXNzaW9uIGZpbmFsIDogcHVibGljIE5hdmlnYXRpb25TT0F1dGhvcml6YXRpb25T
ZXNzaW9uLCBwdWJsaWMgRnJhbWVMb2FkU3RhdGU6Ok9ic2VydmVyIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oCmluZGV4
IGZmOThiODRmYTg5ZGJlZmRkNjQ2NjZiYmJhNDJmYzkwY2VjMzU3N2YuLjEyOGEzOTc3ZTYzZWU0
ZjRlZjFmMjBlYWFlYzg2ZDA4ZWNiZjU4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90
b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuaApAQCAtMjUsNiArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJMZWdhY3lDdXN0b21Qcm90b2NvbElELmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgi
CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTM1LDEwICszNiw2IEBACiBPQkpDX0NMQVNT
IFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXI7CiAjZW5kaWYKIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFz
cyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJj
ZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCmluZGV4IGM0YzcxODc0YTEwZGE5YjU0MWZlZTI4MjA4MDhjMWU1MGQzZmE5MmIuLjlk
YjNhNTA5YjkxNGMwOTNjYWYxNjlhMDVkNjViNTdlZDBjODAxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29udGV4dC5oIgog
I2luY2x1ZGUgIlBERlBsdWdpbklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uVHlwZS5oIgpAQCAtODAsMTAgKzgxLDYgQEAgY2xhc3MgT3BlblBhbmVsUGFyYW1l
dGVyczsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogfQogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNz
IERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENvbG9yOwog
Y2xhc3MgQ3Vyc29yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlckNv
bnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwCmlu
ZGV4IDI0YjYzM2U0ODRkMmEzNWJhNzRkNDVmMTJlZGUzNGEwZjc4Y2EwYTYuLjI0OGU1M2EwODNk
MTlhMGVmNGQ4M2MyM2I4Y2NlMDAzNDVkYWFiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENv
bnRyb2xsZXJQcm94eS5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJBUElTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJBUElVc2VyU2NyaXB0LmgiCiAjaW5jbHVkZSAi
QVBJVXNlclN0eWxlU2hlZXQuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVk
ZSAiSW5qZWN0VXNlclNjcmlwdEltbWVkaWF0ZWx5LmgiCiAjaW5jbHVkZSAiTmV0d29ya0NvbnRl
bnRSdWxlTGlzdE1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzUHJv
eHkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dl
YlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5oCmluZGV4IDEyOWEzNDBm
MDg5NjRkMGZmYTIzYTM3MTAxYTA5YTg1NmQzY2NjYjIuLmE0ZDhkN2NkODA0ZTY1NjBkYWJmZGU2
MTE0ZmYwNjIxMWJhZDQ3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHku
aApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAi
Q29udGVudFdvcmxkU2hhcmVkLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlVzZXJDb250ZW50Q29udHJvbGxlcklk
ZW50aWZpZXIuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVyLmgiCkBAIC00OCwx
MCArNDksNiBAQCBjbGFzcyBVc2VyU2NyaXB0OwogY2xhc3MgVXNlclN0eWxlU2hlZXQ7CiB9CiAK
LW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDVmOGY4MTExY2U3ZDQ2ZDRiOTk1MGZmZGY0MWQz
ODk2MzE4ZDcwZjQuLmU5YmU5NTk0YzU5YmIzMmZmZGQzNmE3NWU5MzgxNDNlNTgyOGExOGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTgsNyArNTgsNiBA
QAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIgogI2luY2x1ZGUg
IkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JNYW5hZ2Vy
LmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2FkUHJveHku
aCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0Fy
ZWFQcm94eS5oIgpAQCAtNzk0MSw2ICs3OTQwLDcgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2MK
ICAgICBwYXJhbWV0ZXJzLnNob3VsZFJlbmRlckNhbnZhc0luR1BVUHJvY2VzcyA9IHByZWZlcmVu
Y2VzKCkudXNlR1BVUHJvY2Vzc0ZvckNhbnZhc1JlbmRlcmluZ0VuYWJsZWQoKTsKICAgICBwYXJh
bWV0ZXJzLnNob3VsZFJlbmRlckRPTUluR1BVUHJvY2VzcyA9IHByZWZlcmVuY2VzKCkudXNlR1BV
UHJvY2Vzc0ZvckRPTVJlbmRlcmluZ0VuYWJsZWQoKTsKICAgICBwYXJhbWV0ZXJzLnNob3VsZFBs
YXlNZWRpYUluR1BVUHJvY2VzcyA9IHByZWZlcmVuY2VzKCkudXNlR1BVUHJvY2Vzc0Zvck1lZGlh
RW5hYmxlZCgpOworCiAgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVWUDlEZWNvZGVyID0gcHJl
ZmVyZW5jZXMoKS52cDlEZWNvZGVyRW5hYmxlZCgpOwogI2lmIEVOQUJMRShWUDkpICYmIFBMQVRG
T1JNKENPQ09BKQogICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlVlA5U1dEZWNvZGVyID0gcHJl
ZmVyZW5jZXMoKS52cDlEZWNvZGVyRW5hYmxlZCgpICYmICghV2ViQ29yZTo6c3lzdGVtSGFzQmF0
dGVyeSgpIHx8IHByZWZlcmVuY2VzKCkudnA5U1dEZWNvZGVyRW5hYmxlZE9uQmF0dGVyeSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjMyZWQzN2JkMWJmOTMw
YWFmOGY5OTg0MzZkNjMwNTQyZWE5MzA4NS4uOGE3ZTk0NmQ0Nzk3ZmVkMGMzNDZkZGYyMWM0Y2Yz
NTJhN2UyZjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJDb250ZW50QXNTdHJpbmdJbmNsdWRlc0NoaWxkRnJhbWVz
LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIkNyZWF0
ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0LmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2lu
Y2x1ZGUgIkRvd25sb2FkSUQuaCIKICNpbmNsdWRlICJEcmFnQ29udHJvbGxlckFjdGlvbi5oIgog
I2luY2x1ZGUgIkVkaXRpbmdSYW5nZS5oIgpAQCAtMjA0LDcgKzIwNSw2IEBAIGVudW0gY2xhc3Mg
SW5zcGVjdG9yVGFyZ2V0VHlwZSA6IHVpbnQ4X3Q7CiB9CiAKIG5hbWVzcGFjZSBJUEMgewotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiBjbGFzcyBGb3JtRGF0YVJlZmVyZW5j
ZTsKIGNsYXNzIFNoYXJlZEJ1ZmZlckNvcHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJVUkxTY2hlbWVIYW5kbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJVUkxTY2hlbWVIYW5kbGVyLmgKaW5kZXggZjQyNDVjZTY1ZTlkMmQ1NjViM2YxMjVmMzQ1N2Ey
NTZmYjM5YzlkNC4uZDIzOGMyYTFhNjA4ZGM1YTQ2MzJlNmExOTk3N2RiNjFiYWI2MTMzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lSGFuZGxlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZUhhbmRsZXIuaApAQCAtMzEs
MTAgKzMxLDYgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmgKaW5kZXggZDQ0MmI2MmI1MjI1ODdmOTBm
YTY4OWQ1NmIyMDYyNzZkZWI0NDgyYi4uODI1Y2QwMjY4OGEyNjgyMTk0MWZmN2E0MThmNGRmNWE5
NzViYTE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1l
VGFzay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suaApA
QCAtMzgsMTAgKzM4LDYgQEAgbmFtZXNwYWNlIEFQSSB7CiBjbGFzcyBGcmFtZUluZm87CiB9CiAK
LW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4
MDM3MDQwNGU0OWE3OGQ4YWJlNzMyMmE3OGVjOTJmYzFjMGJhMGEyLi5lMjEyNTMwZmM2NWU3NDc5
MDMxMzI0YzQ1ZDA0ODgyNTJkMWI0YTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzMDcsNiArMTMwNyw3IEBACiAJCTdBRkJEMzYz
MjFFNTBGMzkwMDVEQkFDQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzYyMjFFNTBG
MzkwMDVEQkFDQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCAqLzsgfTsKIAkJ
N0FGQkQzNjcyMUU1MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlT
dG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FG
QkQzNjUyMUU1MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9y
ZS5oICovOyB9OwogCQk3QUZCRDM2RjIxRTU0NkY4MDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGls
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQz
NkQyMUU1NDZFMzAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCAqLzsgfTsKKwkJN0IxREIy
NjYyNTY2OENFMTAwMEUyNkJDIC8qIEFycmF5UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjFEQjI2NTI1NjY4Q0UwMDAwRTI2QkMgLyog
QXJyYXlSZWZlcmVuY2UuaCAqLzsgfTsKIAkJN0MwNjVGMkMxQzhDRDk1RjAwQzJEOTUwIC8qIFdl
YlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVz
ZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEzNUFBOTE3M0IwQkNB
MDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1
Z2luSW5mb3JtYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQkEzM0MxQTRB
MEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKQEAgLTI3MjQsNyArMjcyNSw2
IEBACiAJCTFBQzVGRkMxMTc0QkZEMUIwMDAxNDgzRCAvKiBQbHVnaW5Qcm9jZXNzQXR0cmlidXRl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Qcm9jZXNzQXR0cmli
dXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUM3NTM3OTE4M0E5RkRBMDA3
MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBQYWdlTG9hZFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUFDNzUzN0ExODNBOUZEQjAwNzJDQjE1IC8qIFBhZ2VMb2FkU3RhdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZUxvYWRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkxQUM3NTM3RDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhUmVmZXJlbmNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzUzN0UxODNCRTUwRjAwNzJDQjE1IC8q
IERhdGFSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0YVJl
ZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUM3NUExQTFCMzM2ODI3
MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQUM3NUExQzFCMzM2OTVFMDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2Fi
bGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSGFuZ0Rl
dGVjdGlvbkRpc2FibGVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM5
MSw2ICs0MzkxLDcgQEAKIAkJN0FGQkQzNjUyMUU1MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaDsgcGF0aCA9IENsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdBRkJEMzZEMjFFNTQ2RTMwMDVEQkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcnNpc3RlbmN5VXRpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0FGQkQzNkUyMUU1NDZFMzAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGVyc2lzdGVuY3lVdGlscy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTdCMURCMjY1MjU2NjhDRTAwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5j
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheVJlZmVyZW5jZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzA2NUYyOTFDOENEOTVGMDBDMkQ5NTAgLyog
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDY1RjJBMUM4Q0Q5NUYwMEMyRDk1MCAv
KiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMTM1QUE2MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1Bs
dWdpbkluZm9ybWF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdLUGx1Z2luSW5mb3JtYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTEyMDgsNiArMTEyMDksNyBAQAogCQkJCTFBRUZEMkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1
bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0OUUy
IC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNzVDNDRBMjFBQTMx
NzEwMDAwMzdEMCAvKiBBcmd1bWVudENvZGVyc0NvY29hLmggaW4gSGVhZGVycyAqLywKKwkJCQk3
QjFEQjI2NjI1NjY4Q0UxMDAwRTI2QkMgLyogQXJyYXlSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNUU3NzI4MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUFBRkE2MzRGMjM0RjdDNjQwMEZGQTg2NCAvKiBBc3luY1JldmFsaWRhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFj
aG1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTMyNzgsNyArMTMyODAsNiBAQAogCQkJCTJEOTJB
Nzg1MjEyQjZBQjEwMEY0OTNGRCAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4
dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTdDRjBFMzE2M0E0ODZDMDBDMjk1MEYg
LyogQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyRDkyQTc3RDIxMkI2QTcxMDBGNDkzRkQgLyogQ29ubmVjdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQkyRDkyQTc3RTIxMkI2QTcxMDBGNDkzRkQgLyogRGF0YVJlZmVy
ZW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3RjIxMkI2QTcxMDBGNDkzRkQgLyog
RGVjb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OURBQTM4QzI0Q0JBMUE4MDA3OTNENzUg
LyogRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDBDNTZG
RTIyOUYxREVBMDBCRDMzRTcgLyogRGV2aWNlTWFuYWdlbWVudFNvZnRMaW5rLm1tIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggZjkyZGE2YTQ3ZjdlMjRmMzgzOTlhYTM2OThh
MjEyOTBkMzYxZDRhNi4uYzlkYzY4MmI4NzU0OWI4MjUwZGIyMmIyYTFjZTIxNTU1MDAwY2VjOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQ
YXltZW50Q29vcmRpbmF0b3IuaApAQCAtMzYsMTAgKzM2LDYgQEAKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAotbmFtZXNwYWNlIElQ
QyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBQYXltZW50Q29vcmRpbmF0b3I7CiBjbGFzcyBQYXltZW50Q29udGFjdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCAy
YzBkZjViOWY1NDk2ODQ3ZWQ2NjkxMGJmMmYzOWIyY2RjNjBjYTAyLi41YmU4Yjk5NzUyMGM0YWQ3
ZjFiNDQwN2FlNzIwNGM4NGE5OTg4NzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0zNSwxMCArMzUsNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCA2ZGRlZTg3YWJkY2M3NmY4NjlhZDU1NGRi
NTExMmIzNmI4MmYyZDZiLi5kYTM5ODg2ZWJjOGYxNmQ4OGRmZTE4NzNjNTdhODdmZWNmNmU0NmRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCkBAIC04MTgsNyArODE4LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdy
YXBoaWNzQ29udGV4dCYsIGNvbnMKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi1ib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJl
KEdyYXBoaWNzQ29udGV4dEdMKiwgUGxhdGZvcm1HTE9iamVjdCwgR0NHTGVudW0sIEdDR0xpbnQs
IEdDR0xlbnVtLCBHQ0dMZW51bSwgR0NHTGVudW0sIGJvb2wsIGJvb2wpCitib29sIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMKiwgUGxhdGZvcm1HTE9iamVjdCwgR0NHTGVudW0sIEdDR0xp
bnQsIEdDR0xlbnVtLCBHQ0dMZW51bSwgR0NHTGVudW0sIGJvb2wsIGJvb2wpCiB7CiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRp
b25Qcm94eS5jcHAKaW5kZXggOTVjODM2ZTY5NTA0MWQ5N2QyNTkwMzZmZDczZGZmNWM0NmI4ZmY5
MS4uYzhjNTgyOTA1MGE1MjU4ZjlkOTMxOTc2Yjk1ZjA1ZTU5N2E1NmIzMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lkIFJlbW90ZUF1
ZGlvRGVzdGluYXRpb25Qcm94eTo6Y29ubmVjdFRvR1BVUHJvY2VzcygpCiAKICAgICBhdXRvJiBj
b25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24oKTsKICAgICBjb25uZWN0aW9uLmFkZENsaWVudCgqdGhpcyk7Ci0gICAgYm9vbCBkaWRT
dWNjZWVkID0gY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoCisgICAgYXV0byBkaWRT
dWNjZWVkID0gY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoCiAgICAgICAgIE1lc3Nh
Z2VzOjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6Q3JlYXRlQXVkaW9EZXN0aW5hdGlv
bihtX2lucHV0RGV2aWNlSWQsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBudW1iZXJPZk91dHB1
dENoYW5uZWxzKCksIHNhbXBsZVJhdGUoKSwgaGFyZHdhcmVTYW1wbGVSYXRlKCkpLAogICAgICAg
ICBNZXNzYWdlczo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI6OkNyZWF0ZUF1ZGlvRGVz
dGluYXRpb246OlJlcGx5KGRlc3RpbmF0aW9uSUQpLCAwKTsKIApAQCAtMTAwLDcgKzEwMCw3IEBA
IHZvaWQgUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKCkK
ICAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gc3RyZWFtRm9ybWF0OwogICAgIGdldEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbihzdHJlYW1Gb3JtYXQpOwogICAgIG1fcmluZ0J1ZmZl
ci0+YWxsb2NhdGUoc3RyZWFtRm9ybWF0LCBtX251bWJlck9mRnJhbWVzKTsKLSAgICBtX2F1ZGlv
QnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihzdHJlYW1Gb3JtYXQp
OworICAgIG1fYXVkaW9CdWZmZXJMaXN0ID0gbWFrZVVuaXF1ZTxXZWJDb3JlOjpXZWJBdWRpb0J1
ZmZlckxpc3Q+KHN0cmVhbUZvcm1hdCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQ
cm92aWRlci5jcHAKaW5kZXggZGNiZDRmOGFmYWZlMTA2MGE2MWIwMzA1MzFlMTJjNzRkMzdlZmZk
My4uMmNhOTdjNjM3YjFmMTllODI3OGE2YWU3MTNjNWMxNGU2NzY3MTdlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3Zp
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShXRUJfQVVESU8pICYmIFBMQVRGT1JNKENPQ09BKQogCisjaW5j
bHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1NvdXJj
ZVByb3ZpZGVyTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNz
YWdlcy5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwCmlu
ZGV4IGI4ZjQ1YTZkNWJiNGRiNDYwOTg4MDEyNDNiYjVlOTMxN2IxZTNlMmIuLjY1YjhmZDBkNzcz
NDdlOTM4YjU2NDU4MjI2Yjc4ZGE0M2M5Nzg5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3Vy
Y2VQcm92aWRlck1hbmFnZXIuY3BwCkBAIC0yNiw3ICsyNiw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCIKIAorI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRp
b1NvdXJjZVByb3ZpZGVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1
ZmZlclN0b3JhZ2UuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5o
CmluZGV4IGU1OWUxYjA2YjQ0N2U1ZDgwY2E2MTA1MmM2YzdhMzJjNGJhMTQyZTYuLjgxOTQwOTBj
OTMzYjJmMTFhNjQ2MGFiM2MxNzcyZDM3NjE2MzcxMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291
cmNlUHJvdmlkZXJNYW5hZ2VyLmgKQEAgLTI3LDYgKzI3LDkgQEAKIAogI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9DQVJpbmdCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVySWRlbnRpZmll
ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVMZWdhY3lDRE1TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKaW5kZXggMGRiODVhZTliZDI0MWViYTFiZGE0
ZTYyMjQ0MGY2MzI4ZTFkOGEwYi4uMjk3ZWViZGExOTE4OWRmZTBjZmU2YzFlZDc2OWFhY2I5ZDZk
OTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVMZWdhY3lDRE1TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQog
CisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSZW1vdGVMZWdh
Y3lDRE1GYWN0b3J5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVz
c2FnZXMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90
ZS5oCmluZGV4IGQ1NDI0NDJjODQ0ZTU0ODNmZDNjZWQ3ODUwNWRjYTE4Njk0YWU0YTQuLmEzMzll
YjdiZmZkNmI0NTE5NGQyOWExMDkxNGJmYTJmZmJkNzRhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90
ZS5oCkBAIC0zNSw3ICszNSw2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlv
bjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3MuY3BwCmluZGV4IDBjNmY3M2QwNzE0NGI1NjI2NzY5MzY3YzlmMmEzYTQwMTdlYWRlODAuLjE2
OGVmNDM1ZGRlNTYxNGQzMGYzYmUyODY3MGE0N2FlZDYxNmRlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykgJiYgUExBVEZPUk0oQ09DT0Ep
ICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0NvZGVj
c01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRD
Q29kZWNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3MuaAppbmRleCA3MzlhNDk2ZWY0OTRjYjRhNjE4NTY2ZmZjNjRkNGEyNjRhNzRlOWQwLi40
YmVhZTA2MjMxN2JhMjZhNjA2ODNmMWY0NTEyMzNlYjEwNzNhYTdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaApAQCAt
MjgsNiArMjgsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpICYmIFBMQVRGT1JNKENPQ09BKSAmJiBF
TkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
IlJUQ0RlY29kZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUlRDRW5jb2RlcklkZW50aWZpZXIu
aCIKQEAgLTQzLDcgKzQ0LDYgQEAgdXNpbmcgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgPSBzdHJ1Y3Qg
X19DVlBpeGVsQnVmZmVyUG9vbCo7CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlv
bjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNvZGVyOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5oCmluZGV4IDJkYWQyMDM4NDJmMGU1NTNmZTNiNDYyNDQxZWU5NGZhMjY0OTNhMTEuLmMyOGNl
N2YyZTE3ZTg5YThlNTE4NmE3NzA2YTJlOGE0NGY2YjdlMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBUElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVu
dC5oIgogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRUeXBlcy5oPgpAQCAt
NTQsNyArNTUsNiBAQCBjbGFzcyBEYXRhOwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVy
OwogY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtMTYxLDQgKzE2MSwzIEBAIHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3Bl
Y3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIu
Y3BwCmluZGV4IDYyNzVjZjZhNmU3ZTUwYzZiMzYwNjJlMTMxODc1NzUyODlhNTgwZWUuLmU1YmE2
NjFhZTY2ZjU1YTkwNzQ2NGU2ZmYzNmU0MmI3YWRkMDBkZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiBXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6OldlYkluc3BlY3Rv
clVJRXh0ZW5zaW9uQ29udHJvbGxlcihXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCYg
aW5zcGVjdG9yRnJvbnRlbmQpCiAgICAgOiBtX2Zyb250ZW5kQ2xpZW50KG1ha2VXZWFrUHRyKGlu
c3BlY3RvckZyb250ZW5kKSkKIHsKLSAgICBQYWdlKiBwYWdlID0gaW5zcGVjdG9yRnJvbnRlbmQu
ZnJvbnRlbmRQYWdlKCk7CisgICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IGluc3BlY3RvckZyb250
ZW5kLmZyb250ZW5kUGFnZSgpOwogICAgIEFTU0VSVChwYWdlKTsKIAogLy8gICAgV1RGUmVwb3J0
QmFja3RyYWNlKCk7CkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUlFeHRlbnNp
b25Db250cm9sbGVyOjpyZWdpc3RlckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvCiAg
ICAgICAgIEpTT046OlZhbHVlOjpjcmVhdGUoZXh0ZW5zaW9uSUQpLAogICAgICAgICBKU09OOjpW
YWx1ZTo6Y3JlYXRlKGRpc3BsYXlOYW1lKSwKICAgICB9OwotICAgIG1fZnJvbnRlbmRDbGllbnQt
PmZyb250ZW5kQVBJRGlzcGF0Y2hlcigpLmRpc3BhdGNoQ29tbWFuZFdpdGhSZXN1bHRBc3luYygi
cmVnaXN0ZXJFeHRlbnNpb24iX3MsIFdURk1vdmUoYXJndW1lbnRzKSwgW3dlYWtUaGlzID0gbWFr
ZVdlYWtQdHIodGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildKEluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlcjo6RXZhbHVhdGlvblJlc3VsdCYm
IHJlc3VsdCkgbXV0YWJsZSB7CisgICAgbV9mcm9udGVuZENsaWVudC0+ZnJvbnRlbmRBUElEaXNw
YXRjaGVyKCkuZGlzcGF0Y2hDb21tYW5kV2l0aFJlc3VsdEFzeW5jKCJyZWdpc3RlckV4dGVuc2lv
biJfcywgV1RGTW92ZShhcmd1bWVudHMpLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyOjpFdmFsdWF0aW9uUmVzdWx0JiYgcmVzdWx0
KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcyB8fCAhcmVzdWx0KSB7CiAgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChJbnNwZWN0b3JFeHRlbnNpb25F
cnJvcjo6Q29udGV4dERlc3Ryb3llZCkpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTE2LDcg
KzExNiw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyOjp1bnJlZ2lz
dGVyRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zCiAgICAgfQogCiAgICAgVmVjdG9yPFJl
ZjxKU09OOjpWYWx1ZT4+IGFyZ3VtZW50cyB7IEpTT046OlZhbHVlOjpjcmVhdGUoZXh0ZW5zaW9u
SUQpIH07Ci0gICAgbV9mcm9udGVuZENsaWVudC0+ZnJvbnRlbmRBUElEaXNwYXRjaGVyKCkuZGlz
cGF0Y2hDb21tYW5kV2l0aFJlc3VsdEFzeW5jKCJ1bnJlZ2lzdGVyRXh0ZW5zaW9uIl9zLCBXVEZN
b3ZlKGFyZ3VtZW50cyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShJbnNwZWN0b3JGcm9udGVuZEFQ
SURpc3BhdGNoZXI6OkV2YWx1YXRpb25SZXN1bHQmJiByZXN1bHQpIG11dGFibGUgeworICAgIG1f
ZnJvbnRlbmRDbGllbnQtPmZyb250ZW5kQVBJRGlzcGF0Y2hlcigpLmRpc3BhdGNoQ29tbWFuZFdp
dGhSZXN1bHRBc3luYygidW5yZWdpc3RlckV4dGVuc2lvbiJfcywgV1RGTW92ZShhcmd1bWVudHMp
LCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRBUElEaXNw
YXRjaGVyOjpFdmFsdWF0aW9uUmVzdWx0JiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYg
KCF3ZWFrVGhpcyB8fCAhcmVzdWx0KSB7CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlciht
YWtlVW5leHBlY3RlZChJbnNwZWN0b3JFeHRlbnNpb25FcnJvcjo6Q29udGV4dERlc3Ryb3llZCkp
OwogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCAzMDY0ZTlj
NGFmY2MyY2ZmNTRhMzI1ZTI1MzFlZDA1MjJhMDAxMzkzLi5iOTc5NDY1OWVhYmQxODRiMzg5YzA2
ZDEzMmY4YzQyZjgwNTIzY2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtMzQsMTAgKzM0
LDYgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0K
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggODY1NzExYjM2NmMyOGRmNDg0YjRjZGMwN2FhM2Zj
ZjNkY2ViZjJmNi4uNjk0ODk2Yzk5N2E0OTQwZGJhYjJkYTc2NTc4MjBhMjc4YWYxZGM2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYlJlc291cmNlTG9hZGVyLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAj
aW5jbHVkZSAiRm9ybURhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCA1ODNlMzc5Yzg5
ZWNmYTk1MzBiMGFiZmExYzY5ZmVhOWQ1Mzk2NmZiLi43ZTFkNDk5NDcxNWY4ODQ5Y2U4YmZlNWVj
MzQ1NWQ0NzM3NzgwMGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25j
ZQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2Uu
aCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVyLmgiCkBAIC0zNiw3ICszNyw2IEBA
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFS
ZWZlcmVuY2U7CiBjbGFzcyBGb3JtRGF0YVJlZmVyZW5jZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA5
NGVmMGQxZmNlMmU2MDFkZjQ0OWNmZjg1MzlmYmQxNjQ3OTNlYmUyLi5mZjY5ZjU2MDllNTc3Y2Fj
Nzc3ZjA0YWZhNzRhZjIxMDc0ODY0Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMjYsNyArMjYsNiBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlNvY2tldENoYW5uZWwuaCIKIAotI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgi
CiAjaW5jbHVkZSAiTmV0d29ya1NvY2tldENoYW5uZWxNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IGY1
MzQ3ODM0N2U3NzVkZjM3ZWE5NzYzNGMyMzMwOTMyYjRhMTRkMjguLmFkN2ZmMTg3ZGJiNDM1M2I5
ZWQzYmM1N2M1YmEyYzRhYTRlOGNmZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2Fn
ZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTmV0d29ya1NlbmRRdWV1ZS5oPgpAQCAtMzgsNyArMzksNiBAQAogbmFtZXNwYWNlIElQQyB7
CiBjbGFzcyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7
CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKaW5kZXggYWYyNDJjZDJiNTk1YWM0YTQ0
ODQyOTdiZTVkNWNmZTE4ZDQ4ZjMyNC4uN2QwMDczNjliOWNjZTg1YjhmMDU0NTdkNjY2ZDFlNDQ1
MWI5NmM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
U29ja2V0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJTb2NrZXRTdHJlYW0uY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViU29ja2V0U3RyZWFtLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk5ldHdvcmtT
b2NrZXRTdHJlYW1NZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJTb2NrZXRTdHJlYW0uaAppbmRleCBkZDA4MjAxMDcxMmI5ZjVkYjlmZWJkODhk
YTY2OWI2ZGY2MWQwZjI5Li5iNDNjYjJlZmFkMWUxMDFlZTI2NWI5M2RkZTliMDYxMjczNmEwOTc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRT
dHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRT
dHJlYW0uaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkRh
dGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJN
ZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb2NrZXRTdHJlYW1IYW5kbGUuaD4K
QEAgLTMzLDcgKzM0LDYgQEAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNs
YXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
TGliV2ViUlRDU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDU29ja2V0LmgKaW5kZXggY2I0OGUwNTczNDhhMmU4NjZiMDkxZmY1YWM4NzI2
MDVjYTE5MmRkNS4uMzIzZjI1ZWU4ZmQ4MWIwMjYzMGQyZjI1OWExYWZiODg0YjRjZjVlNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXQuaApAQCAtMzUsNyArMzUsNiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIGNs
YXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRGVjb2RlcjsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBs
dWdpbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5o
CmluZGV4IGVhNTM1OTYwMTA5ZmVlNmRjNDgwNWNmNjg5MTI3OThlZTlhYjZmMDMuLjQwYjRjOGYy
MTI5Y2YxMjMzYTFiMzFiODUxMjdlN2E3ZTllM2Q3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKQEAgLTYwLDEwICs2MCw2IEBAIE9C
SkNfQ0xBU1MgUERGU2VsZWN0aW9uOwogT0JKQ19DTEFTUyBXS1BERlBsdWdpbkFjY2Vzc2liaWxp
dHlPYmplY3Q7CiBPQkpDX0NMQVNTIFdLUERGTGF5ZXJDb250cm9sbGVyRGVsZWdhdGU7CiAKLW5h
bWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgQVhPYmplY3RDYWNoZTsKIGNsYXNzIEVsZW1lbnQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZTA0ZTNhOGIyZDE3OGNjODQ5NWQ0
NWJhZjgxZjM3ZGFlZmJiN2I3MC4uMzYyYWQ3N2JlNmFlMzJlMGU2OWNhOTNlYmZjNjIzZWE1ZGJj
ZmU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
MzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkNhbGxiYWNrSUQuaCIKICNpbmNsdWRlICJDb250ZW50
QXNTdHJpbmdJbmNsdWRlc0NoaWxkRnJhbWVzLmgiCiAjaW5jbHVkZSAiQ3JlYXRlTmV3R3JvdXBG
b3JIaWdobGlnaHQuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93
bmxvYWRJRC5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhSW5mby5oIgogI2luY2x1ZGUgIkVkaXRp
bmdSYW5nZS5oIgpAQCAtMTYxLDcgKzE2Miw2IEBAIGNsYXNzIEFycmF5OwogCiBuYW1lc3BhY2Ug
SVBDIHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRGVj
b2RlcjsKIGNsYXNzIEZvcm1EYXRhUmVmZXJlbmNlOwogfQpAQCAtMTI1OCw3ICsxMjU4LDcgQEAg
cHVibGljOgogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBhZ2VNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBib29s
IHNlbmRTeW5jV2l0aERlbGF5ZWRSZXBseShUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkm
JiByZXBseSkKKyAgICBTZW5kU3luY1Jlc3VsdCBzZW5kU3luY1dpdGhEZWxheWVkUmVwbHkoVCYm
IG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHkpCiAgICAgewogICAgICAgICBjYW5j
ZWxHZXN0dXJlc0Jsb2NrZWRPblN5bmNocm9ub3VzUmVwbGllcygpOwogICAgICAgICByZXR1cm4g
c2VuZFN5bmMoV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShyZXBseSksIFNlY29uZHM6OmluZmlu
aXR5KCksIElQQzo6U2VuZFN5bmNPcHRpb246OkluZm9ybVBsYXRmb3JtUHJvY2Vzc1dpbGxTdXNw
ZW5kKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KaW5kZXggMzgzOGFiMzI2ZGQ4Mzk2YjYwMTA3Y2JhM2Y2MjQ1MDc0Yzk3ZjcxNS4u
MGUyOTNmYTRkZjE5Y2JmOGNkNjc5MzE3NmQ3ODc4OTJhZDhlMTI4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTUxNyw3
ICs1MTcsNyBAQCBib29sIFdlYlBhZ2U6OmhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KEtleWJv
YXJkRXZlbnQmIGV2ZW50KQogCiAgICAgLy8gRklYTUU6IEludGVycHJldCB0aGUgZXZlbnQgaW1t
ZWRpYXRlbHkgdXBvbiByZWNlaXZpbmcgaXQgaW4gVUkgcHJvY2Vzcywgd2l0aG91dCBzZW5kaW5n
IHRvIFdlYlByb2Nlc3MgZmlyc3QuCiAgICAgYm9vbCBldmVudFdhc0hhbmRsZWQgPSBmYWxzZTsK
LSAgICBib29sIHNlbmRSZXN1bHQgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJbnRlcnBy
ZXRLZXlFdmVudChlZGl0b3JTdGF0ZShTaG91bGRQZXJmb3JtTGF5b3V0OjpZZXMpLCBwbGF0Zm9y
bUV2ZW50LT50eXBlKCkgPT0gUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpDaGFyKSwKKyAgICBhdXRv
IHNlbmRSZXN1bHQgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJbnRlcnByZXRLZXlFdmVu
dChlZGl0b3JTdGF0ZShTaG91bGRQZXJmb3JtTGF5b3V0OjpZZXMpLCBwbGF0Zm9ybUV2ZW50LT50
eXBlKCkgPT0gUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpDaGFyKSwKICAgICAgICAgTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6SW50ZXJwcmV0S2V5RXZlbnQ6OlJlcGx5KGV2ZW50V2FzSGFuZGxlZCks
IG1faWRlbnRpZmllcik7CiAgICAgcmV0dXJuIHNlbmRSZXN1bHQgJiYgZXZlbnRXYXNIYW5kbGVk
OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415717</attachid>
            <date>2020-12-08 22:46:11 -0800</date>
            <delta_ts>2020-12-08 22:47:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219487-20201209084609.patch</filename>
            <type>text/plain</type>
            <size>84487</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmZjk3MTc2OGI4ODc3MzJm
NTYxYWIzNmFhZTc3YjQwN2Q1N2EyYmYuLmVmNTVjZTliNjFkYjMzZThhMzU1ODQ4NzdiOTAwMmU5
YTlkNjQxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQwIEBACisyMDIwLTEyLTAzICBLaW1tbyBL
aW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgSVBDIHNob3VsZCBzdXBw
b3J0IG5vbi1ieXRlIGFsaWduZWQgZGF0YSByZWZlcmVuY2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk0ODcKKworICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBEdW1lei4KKworICAgICAgICBBZGQgYSB0ZW1wbGF0ZWQgdmVyc2lvbiBvZiBJUEM6
OkRhdGFSZWZlcmVuY2U6IEFycmF5UmVmZXJlbmNlPHR5cGUsIG51bWJlciBvZiBlbGVtZW50cz4u
CisgICAgICAgIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgY2FuIGJlIG9taXR0ZWQsIGluIHdoaWNo
IGNhc2UgdGhlIEFycmF5UmVmZXJlbmNlCisgICAgICAgIHNpemUgaXMgZGV0ZXJtaW5lZCBhdCBy
dW4tdGltZS4KKworICAgICAgICBUaGlzIHdheSBwb2ludGVycyBvZiB0eXBlZCBhcnJheXMgc3Vj
aCBhcyBmbG9hdCBhcnJheXMgY2FuIGJlIHRyYW5zZmVycmVkIGRpcmVjdGx5CisgICAgICAgIGZy
b20gdGhlIElQQyBtZXNzYWdlIGRhdGEgc3RvcmUgdG8gdGhlIHRhcmdldC4gVGhpcyBpcyB1c2Vm
dWwgd2hlbiBpbXBsZW1lbnRpbmcKKyAgICAgICAgSVBDIGZvciBXZWJHTCBpbiBHUFUgcHJvY2Vz
cy4KKworICAgICAgICBDaGFuZ2VzIElQQyB0byBzdXBwb3J0IHBhc3NpbmcgZGF0YSByZWZlcmVu
Y2VzLCBpLmUuCisgICAgICAgIERhdGFSZWZlcmVuY2Ugb3IgQXJyYXlSZWZlcmVuY2UsIGFzIGEg
c3luY2hyb25vdXMgSVBDIGNhbGwgcmV0dXJuIHZhbHVlLgorICAgICAgICBUaGUgY2FsbGVyIG11
c3QgaG9sZCB0aGUgQ29ubmVjdGlvbjo6c3luY1NlbmQoKSByZXN1bHQgKERlY29kZXIgb2JqZWN0
KQorICAgICAgICBmb3IgdGhlIGR1cmF0aW9uIG9mIHVzaW5nIHRoZSBkYXRhIHZhbHVlcy4KKwor
ICAgICAgICBNYWtlcyBEYXRhUmVmZXJlbmNlIGFuIGFsaWFzIG9mIHVpbnQ4X3QgZHluYW1pYyBh
cnJheSByZWZlcmVuY2UuCisgICAgICAgIFVuZm9ydHVuYXRlbHkgdGhpcyBtYWtlcyB0aGUgZm9y
d2FyZCBkZWNsYXJpbmcgRGF0YVJlZmVyZW5jZSBoYXJkLgorICAgICAgICBEdWUgdG8gdGhpcywg
Y2hhbmdlcyB1c2UgZGVjbGFyYXRpb24gc2l0ZXMgdG8gI2luY2x1ZGUgaW5zdGVhZCBvZgorICAg
ICAgICB1c2luZyBmb3J3YXJkIGRlY2xhcmF0aW9ucy4gUmVtb3ZlcyBmb3J3YXJkIGRlY2xhcmF0
aW9ucyBmb3IgaGVhZGVycworICAgICAgICB3aGVyZSB0aGUgdHlwZSBpcyBub3QgdXNlZC4KKwor
ICAgICAgICBBZGRzIHZhcmlvdXMgI2luY2x1ZGVzIHRvIGZpeCBlcnJvcnMgaGlkZGVuIGJ5IHRo
ZSB1bmlmaWVkIGJ1aWxkLgorCisgICAgICAgIEFkZHMgc29tZSBXZWJDb3JlOjogbmFtZXNwYWNl
IHF1YWxpZmljYXRpb25zIHRvIGZpeCBlcnJvcnMgaGlkZGVuCisgICAgICAgIGJ5IHRoZSB1bmlm
aWVkIGJ1aWxkLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Np
b25Qcm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Q
cm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94
eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblBy
b3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJj
ZVByb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW06
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9Db2NvYS9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DdXN0b21Q
cm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWRNYW5hZ2VyLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nv
Y2tldENoYW5uZWwuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRD
aGFubmVsLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5j
cHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFz
ay5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EubW06CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHA6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQ
Qy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9BcnJheVJlZmVyZW5j
ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNl
LmguCisgICAgICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjpBcnJheVJlZmVyZW5jZSk6CisgICAg
ICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjppc0VtcHR5IGNvbnN0KToKKyAgICAgICAgKElQQzo6
QXJyYXlSZWZlcmVuY2U6OnNpemUgY29uc3QpOgorICAgICAgICAoSVBDOjpBcnJheVJlZmVyZW5j
ZTo6ZGF0YSBjb25zdCk6CisgICAgICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjp2ZWN0b3IgY29u
c3QpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgIChJUEM6
OkNvbm5lY3Rpb246OnNlbmRTeW5jKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGF0YVJlZmVy
ZW5jZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2Uu
aDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHA6CisgICAgICAgIChJUEM6OkRl
Y29kZXI6OmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKToKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvRGVjb2Rlci5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcDoKKyAgICAg
ICAgKElQQzo6RW5jb2Rlcjo6d3JhcEZvclRlc3RpbmcpOgorICAgICAgICAqIFBsYXRmb3JtL0lQ
Qy9FbmNvZGVyLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaDoKKyAg
ICAgICAgKiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oOgorICAgICAgICAoSVBDOjpNZXNz
YWdlU2VuZGVyOjpzZW5kU3luYyk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZl
ckNvcHkuY3BwOgorICAgICAgICAoSVBDOjpTaGFyZWRCdWZmZXJDb3B5OjpkZWNvZGUpOgorICAg
ICAgICAqIFBsYXRmb3JtL0lQQy9TaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcDoKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weToKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSURhdGEuY3BwOgorICAgICAgICAqIFNo
YXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxD
ZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPENl
cnRpZmljYXRlSW5mbz46OmRlY29kZSk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5OjpzZW5kU3luYyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1NPQXV0
aG9yaXphdGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxl
clByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlVSTFNjaGVt
ZUhhbmRsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFzay5oOgorICAg
ICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9y
bVRleHR1cmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRp
b25Qcm94eTo6Y29ubmVjdFRvR1BVUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lv
bi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJl
bW90ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250
cm9sbGVyOjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyRXh0ZW5zaW9u
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyOjp1
bnJlZ2lzdGVyRXh0ZW5zaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRTeW5jV2l0aERl
bGF5ZWRSZXBseSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVu
dCk6CisKIDIwMjAtMTItMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvbmN1cnJlbnQgRGlzcGxheSBMaXN0c10gQWRkIGEgbmV3IHR5cGUgdG8g
cmVwcmVzZW50IGEgc2V0IG9mIEdQVSBwcm9jZXNzIHdha2V1cCBhcmd1bWVudHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHkuY3BwCmluZGV4IGU2YTE4ZGRhNmUwOTJmZGIxODA0NDZlNGYzYTA4M2NmNTNjMjc2MTku
LjM3OTI4ZTFiODNkNGU1MjQ0NTNhOGQyN2NjM2I4NzkwMWIyNDlhM2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblBy
b3h5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgVVNF
KEFVRElPX1NFU1NJT04pCiAKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgi
CisjaW5jbHVkZSAiR1BVUHJvY2Vzcy5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbk1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmgiCiAj
aW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAK
aW5kZXggZDliZjUyMjcyYzM3MjkxNTc1YjViMzkzMjYyZTc3MjEzYjkzMGRkNC4uOGYwMTE5ZWRm
ZTFkNmU5MzI0MzAwNWIzNDQxMjViMjRlYWI5MWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuY3BwCkBAIC0yOSw2
ICsyOSw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKIAogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNp
bmNsdWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUxlZ2FjeUNETVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNUHJveHkuaAppbmRleCA2YTVjNjcyNWNhYTliZGI4NjdhYjg2YjhjNTdmMzZkZTJj
ODk2ZGNmLi5iZTdmNTIyMGJlOWI4NWY4NjhhNWY4MzdlZmVkNjZkZGY5NWYyOTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJv
eHkuaApAQCAtMzksMTAgKzM5LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgU2hhcmVk
QnVmZmVyOwogfQogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0K
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVMZWdhY3lDRE1Qcm94eQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Np
b25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvblByb3h5LmNwcAppbmRleCA0N2Y1ZDJmMjcwZmE1ZGU0ZmFkZTE1MTQ0NDIxMTE3
OTRlZDM2ZDI4Li4yYzVlN2RlN2QyZTc1Njk2MGEzZjNlYzg3NmM4YjgyNWM2ZTQ1YjUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlJl
bW90ZUxlZ2FjeUNETVNlc3Npb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckNv
cHkuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HZW5lcmljVHlwZWRBcnJheVZpZXdJbmxp
bmVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lDRE0uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NoYXJlZEJ1ZmZlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFn
ZXIuY3BwCmluZGV4IGE5OGNmYTRjOWY4MDIzMTkwNGY4ZWYwZWFhOTM2MjI5YWZhOTc1OTguLmZl
YzY1Y2Y2MmI2Njc0YjgzMDBjNTBjZDQzMzQxNWU5MTUxMTQ0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAog
I2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3Vy
Y2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5oCmluZGV4IGQ4OWI4MDNmNmFiZjQxYzhlOWVkZGU0MTQyNzY5MzI4MjZk
MWIzMzguLmMwYTk3MDBhZWE5YTQzNjkyZDk1N2FkNTk2M2Q1NDNkZjE2MGQ2NTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1BvbGljeUNoZWNrZXIuaD4KQEAgLTM1LDcgKzM2LDYgQEAKIG5hbWVzcGFj
ZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVm
ZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaAppbmRleCA1OTY4
YzdiYmQxODljZDQ3OWVmNGFlYWI0ZDQ0OTk1MzNmZDNkNjViLi5mZTU0NGQ1NTUxOTFlNTU2ZTJk
N2UyMzM5NDc1YTAyZmMyOWRjZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgKQEAgLTM5LDcgKzM5LDYgQEAK
IG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFz
cyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmNwcAppbmRleCAyNjViNzNiNmE0ZGYzNTNmNDUzZGI3MjNjYzMyOThiYzc4NWIyYzc0Li40NTBh
ZjBiN2JiYjk2YzdlZTllNWJjODk2OTc4YzdiMDEwODIyNmI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5j
cHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIkluaXRpYWxpemF0aW9uU2VnbWVudEluZm8uaCIKICNpbmNs
dWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaAppbmRleCBiYzlmOTlkZmI3YTIzMGI1
ODlhZTM0MmU1Y2QwNDc3MDc1ZjAyMTM4Li40MmM0YTI5NjI4NGZhMDczZDVlMjE1ZWZlMTZkYzkz
ZDcxNzBmNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQogCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNp
bmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyLmgiCkBAIC0zOCw3ICszOSw2IEBACiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENv
bm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCmluZGV4IDM2MDMxMGI3ZDEyMWQyODZkOGQxNjFm
MTgzYWJkMGU3NDViODM1MzMuLmQ2MjZhM2MxMmRmZGI3YzBiMzcyMzUyOTU0M2ZlOGE0MTQxNzM3
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldl
YlJUQ0NvZGVjc1Byb3h5LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoTElCV0VCUlRDKSAm
JiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiQ29u
bmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJSVENEZWNv
ZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJUQ0VuY29kZXJJZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULmg+CkBAIC0zNSw3ICszNiw2IEBA
CiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0K
aW5kZXggZjhhYmMxZjQwNWZjMTQ2OTQ3NWI0ZDkwYmFkM2Q1M2NhMGY4MDE0ZS4uNjFjNDcwOGFl
OTZkYmNhYTU2OTgwOWVlMTk5NWJlODE2YTkxZmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5B
QkxFKEdQVV9QUk9DRVNTKQogCi0jaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJMaWJXZWJSVENDb2RlY3NNZXNz
YWdlcy5oIgogI2ltcG9ydCAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIu
aAppbmRleCA3ODhjNWYwMGMwMmY0ZjE0OGZlZWNjZDM4ZDEwNjgxOGIwZDdlOTYxLi4zYWI0ZTRi
MWNmMWMxNDEyMzBjMTNlNDU3NmM1ZWQ2ZTZlZmMyZWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaApAQCAtMjcsNiAr
MjcsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCiAKKyNp
bmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlcklkZW50aWZp
ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1v
cnkuaCIKQEAgLTM2LDcgKzM3LDYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0
aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0NvY29hL0xl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q29jb2EubW0KaW5kZXggN2E2MzM2MzQ3YzAwN2U5N2I3M2I1NDM3NzQ5MTY4MzhkNjQwMzdkYS4u
MWFhNTNjYzJmYjc3YmFmOWUzMjY1MDcyMTA4MDlmZDc2Y2ZiYmYyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ29j
b2EubW0KQEAgLTI2LDcgKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgiCiAKLSNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW1wb3J0
ICJOZXR3b3JrUHJvY2Vzcy5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTFNlc3Npb24uaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xz
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKaW5kZXgg
ZjZlZDgxMWY1MzQyZmU0ODU1NTE3NmY4OWQ1MTQ1NzU2MmM2NjU4NS4uMGJjZDU2NzNjOTM0NmFk
YTExZDY1NmMzYWRkNTFiZTRlZGJjMjczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGVnYWN5Q3VzdG9tUHJv
dG9jb2xJRC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oIgpAQCAtMzksMTAgKzQwLDYgQEAgT0JKQ19DTEFTUyBOU1VS
TFNlc3Npb25Db25maWd1cmF0aW9uOwogT0JKQ19DTEFTUyBXS0N1c3RvbVByb3RvY29sOwogI2Vu
ZGlmCiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0gLy8gbmFtZXNw
YWNlIElQQwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0OwpAQCAtMTEyLDQgKzEwOSwzIEBAIHByaXZhdGU6CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwCmluZGV4IGRkYmU0ZWVkZDQ0MWRmODdjNTVhZDMz
MGYwNDJjY2RjZmFkZmI5MGIuLjY1MWZmMjU0ZjkwNWMxNmE5MGNiNDgyYzk3NzNkNGFjNzQyOTRl
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZC5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZURpc3Bvc2l0aW9uLmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJEb3dubG9hZE1hbmFnZXIuaCIKICNpbmNsdWRlICJEb3dubG9hZE1vbml0b3IuaCIK
ICNpbmNsdWRlICJEb3dubG9hZFByb3h5TWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM4YWYzNTA4MDc0NjQy
OTNiOTVmZmFmMDU5ZmRlYzM2OTAxNzcyNzQuLjkzZjAzYTgyNTVmMWFlNzE3MzgzYzAwMjkwYTI0
ZjkxY2E3YzY1ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVk
ZSAiRG93bmxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRNb25pdG9yLmgiCkBAIC00
NCwxMCArNDUsNiBAQCBPQkpDX0NMQVNTIE5TUHJvZ3Jlc3M7CiBPQkpDX0NMQVNTIE5TVVJMU2Vz
c2lvbkRvd25sb2FkVGFzazsKICNlbmRpZgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFS
ZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOwogY2xhc3MgQmxvYkRhdGFGaWxlUmVmZXJlbmNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5j
cHAKaW5kZXggMzMyMTYzNDBmMjdjMTYwNWMzY2Q3NGJjNjkwN2I3ZDkxYjQ3Yjc2Mi4uNzI2ZGQ5
OTBiYWZkNDM5NGI1YWZjMDMyYTFjZjIwZjE4NDljNDlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3Bw
CkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRG93bmxv
YWRNYW5hZ2VyLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93
bmxvYWQuaCIKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtMb2FkLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDJjZDE2MWIwYWMzZTc4
OWUyMjQ2YzA1YjAxNjVmMWM3MjY3OGZhNTAuLjk4MGEwNmY3ODM5ZGJkNWU5ZjlkNTA0NTQwOWEz
M2Q3N2IxYzAzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2Fk
SUQuaCIKICNpbmNsdWRlICJEb3dubG9hZE1hcC5oIgogI2luY2x1ZGUgIk5ldHdvcmtEYXRhVGFz
ay5oIgpAQCAtNDksNyArNTAsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3Bh
Y2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1NvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNDQ5YjEzZDhlMDdiMmNkMDQyYzRiYTM2
MzZhYjc5M2QzN2IxYzNmNC4uYzc3ODg4MTFmMDMyZDU4ZjhiNTI3NzM2ZTFkMjI3ODQxMGY5MTNh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0
Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29j
a2V0Q2hhbm5lbC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJOZXR3b3JrU29ja2V0Q2hhbm5lbC5oIgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrU2Vzc2lvbi5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5oCmlu
ZGV4IDMxOTY0MTkwZDE0MWQ1NDlkYTBiYWYyZGM4YmYyOTdiNGU1ODFlODkuLjA0MzRiZjg4MDlh
N2ViM2VjYzE4ZThmNjUwY2MwMjc4YWU2ZWI1MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmgKQEAgLTI1LDYgKzI1LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvVGltZXIuaD4KQEAgLTQwLDcgKzQxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNs
YXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAKaW5kZXgg
NWI0ODljYzUzOGY3YzA3MTUxMDEwNmM1OGY1YzA5NGVjOWE4ZTFiOC4uNDhjODgzYmZjMGZjN2Q1
MDFjOGE0YTRlNzY4NGNjYzMzZTM4YzE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29ya1NvY2tldFN0cmVhbS5oIgogCi0j
aW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtTdG9yYWdlU2Vzc2lv
blByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0U3RyZWFtTWVzc2FnZXMuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0Nvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCmluZGV4IDUy
ZWMzOTI2OTAyMThlZGU2NjhkNTVlNjM4ZDhlMTc1MDJmZDZlZTUuLjczNDI5YTAyNzkwNmI0MTZh
MzhjMGM2YjM5NDZhMGRiOWZiMjA2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1NvY2tldFN0cmVhbUVycm9yLmg+CkBAIC0zNyw3ICszOCw2IEBACiBuYW1lc3BhY2UgSVBDIHsK
IGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRh
c2suaAppbmRleCBkMzNjYmZmMTA4OWNjMTA1ZGQxYTAwYmViZmRmNjFkMzNjN2Y2NmJkLi5kMzdk
NzgwNjk4M2JiYTU0N2NhMGY5MjM1ZWI0YmY2YjczMTU2NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFz
ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL0ZldGNoSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oPgpA
QCAtNDMsNyArNDQsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgSVBD
IHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRGVjb2Rl
cjsKIGNsYXNzIEZvcm1EYXRhUmVmZXJlbmNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9XZWJTb2NrZXRUYXNrLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1dlYlNvY2tldFRhc2suaAppbmRleCBkYjU3OTVkZDIxN2Y0NWFkNWY2N2UzMGI3OTFm
OTJlMjc2YzAyOTg2Li45NjFlNDY0NTliZTc3MTc3ZTI2MDVlN2Q4NjUyYWRhODAyMDk3YjUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaApAQCAtMzEs
OSArMzEsNiBAQAogI2luY2x1ZGUgIldlYlNvY2tldFRhc2tTb3VwLmgiCiAjZWxzZQogCi1uYW1l
c3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNv
Y2tldFRhc2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJT
b2NrZXRUYXNrQ29jb2EuaAppbmRleCBkYWM2OTM1MDdlYjNlZmNlYTZkMTA5NDgwMWJjMDFiMzZm
ZTI2MzlkLi5lNjgyNmU0N2U4Mzk1OTQwMjhhZjhmNGFlZDIzOTJiNGIwNWQyZjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0VGFz
a0NvY29hLmgKQEAgLTI3LDE1ICsyNywxMiBAQAogCiAjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VC
U09DS0VUKQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBPQkpDX0NMQVNTIE5TVVJMU2Vz
c2lvbldlYlNvY2tldFRhc2s7CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5j
ZTsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsKIGNsYXNz
IE5ldHdvcmtTZXNzaW9uQ29jb2E7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0VGFza0NvY29hLm1tCmluZGV4IDg1NTM0ODc0NDA0Y2Uy
YmFhNDRhZTY1NjU0N2QzNzIyNTMzMmVhYjguLjkwYmM0MDliZmZiNzBhMGVlOWU3MzU4YjM4Njc1
OTdkMjlmMjRlMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvV2ViU29ja2V0VGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvV2ViU29ja2V0VGFza0NvY29hLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBI
QVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCiAKLSNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbXBvcnQgIk5ldHdvcmtTZXNzaW9uQ29jb2EuaCIKICNpbXBvcnQgIk5ldHdvcmtTb2NrZXRD
aGFubmVsLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMU2Vzc2lvbi5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5j
cHAKaW5kZXggNDVmYzY2OWQ3NjZhNzYxYzVkNzczZGM5NWYwNTQxYTM4ZTM2ZjhlMy4uYTNlNzAx
NGI1ZDhlYzA5NzM4ZmZhN2Q1NjY0NTQ1MDEwZjA1MzQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3BwCkBAIC0y
Niw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0VGFz
a1NvdXAuaCIKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtTb2NrZXRDaGFubmVsLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9IVFRQUGFyc2Vycy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuaAppbmRleCBlNDIxYjllMWM3MTMxODQzNGY2
NDg3ZjVmY2I1YTZhODdiZDczOTE5Li4wODg5MjM5NTlmZTQ2MGZmMmJiYTRjOGMwODM5OTgwNjU3
YmYzNDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2Vi
U29ja2V0VGFza1NvdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAv
V2ViU29ja2V0VGFza1NvdXAuaApAQCAtMjUsMTQgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQog
CisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgog
I2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgog
Ci1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgTmV0d29ya1NvY2tldENoYW5uZWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IGUwMGEwY2NkZmE1ODc1YzAyOGM1MDUy
MzExNDE3MjhlZTk1YjQzOTIuLmUzOGJjMWM2MGFmNmRjZjAzNjk2NWFhNzhhYWRiZDZkOGQ0YjYy
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApAQCAt
MjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFycmF5UmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKICNpbmNsdWRl
IDx1dGlsaXR5PgpAQCAtNTMsNiArNTQsNDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IFNpbXBsZUFyZ3VtZW50Q29kZXIgewogICAgIH0KIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQs
IHNpemVfdCBFeHRlbnQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPEFycmF5UmVmZXJlbmNlPFQsIEV4
dGVudD4+IHsKKyAgICB1c2luZyBBcnJheVJlZmVyZW5jZVR5cGUgPSBBcnJheVJlZmVyZW5jZTxU
LCBFeHRlbnQ+OworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBBcnJheVJlZmVyZW5jZVR5cGUmIGFycmF5UmVmZXJlbmNlKQorICAgIHsKKyAgICAgICAgaWYg
KCFFeHRlbnQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGVuY29kZXIuZW5jb2RlRml4
ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGFycmF5UmVmZXJl
bmNlLmRhdGEoKSksIGFycmF5UmVmZXJlbmNlLnNpemUoKSAqIHNpemVvZihUKSwgYWxpZ25vZihU
KSk7CisgICAgfQorICAgIHN0YXRpYyBPcHRpb25hbDxBcnJheVJlZmVyZW5jZVR5cGU+IGRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAgaWYgKCFFeHRlbnQpCisgICAgICAg
ICAgICByZXR1cm4gQXJyYXlSZWZlcmVuY2VUeXBlKCk7CisgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGRhdGEgPSBkZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKEV4dGVudCAqIHNpemVv
ZihUKSwgYWxpZ25vZihUKSk7CisgICAgICAgIGlmICghZGF0YSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBBcnJheVJlZmVyZW5jZVR5cGUocmVpbnRl
cnByZXRfY2FzdDxjb25zdCBUKj4oZGF0YSksIEV4dGVudCk7CisgICAgfQorfTsKKwordGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8QXJyYXlSZWZlcmVuY2U8VCwgYXJy
YXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50Pj4geworICAgIHVzaW5nIEFycmF5UmVmZXJlbmNlVHlw
ZSA9IEFycmF5UmVmZXJlbmNlPFQsIGFycmF5UmVmZXJlbmNlRHluYW1pY0V4dGVudD47CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFycmF5UmVmZXJlbmNl
VHlwZSYgYXJyYXlSZWZlcmVuY2UpCisgICAgeworICAgICAgICBlbmNvZGVyLmVuY29kZShzdGF0
aWNfY2FzdDx1aW50NjRfdD4oYXJyYXlSZWZlcmVuY2Uuc2l6ZSgpKSk7CisgICAgICAgIGlmICgh
YXJyYXlSZWZlcmVuY2Uuc2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBlbmNv
ZGVyLmVuY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihhcnJheVJlZmVyZW5jZS5kYXRhKCkpLCBhcnJheVJlZmVyZW5jZS5zaXplKCkgKiBzaXplb2Yo
VCksIGFsaWdub2YoVCkpOworICAgIH0KKyAgICBzdGF0aWMgT3B0aW9uYWw8QXJyYXlSZWZlcmVu
Y2VUeXBlPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB7CisgICAgICAgIHVpbnQ2NF90
IHNpemU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBpZiAoIXNpemUpCisgICAgICAgICAgICByZXR1
cm4gQXJyYXlSZWZlcmVuY2VUeXBlKCk7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGEgPSBk
ZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKHNpemUgKiBzaXplb2YoVCksIGFsaWdu
b2YoVCkpOworICAgICAgICBpZiAoIWRhdGEpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworICAgICAgICByZXR1cm4gQXJyYXlSZWZlcmVuY2VUeXBlKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgVCo+KGRhdGEpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHNpemUpKTsKKyAgICB9Cit9Owor
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxPcHRpb25TZXQ8VD4+
IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgT3B0aW9u
U2V0PFQ+JiBvcHRpb25TZXQpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvQXJyYXlSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Fy
cmF5UmVmZXJlbmNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QzMmJiNDU3YTViODg1ZjNkNTY2ODdlNzlmMTVj
M2EyNjcxYmU2NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0FycmF5UmVmZXJlbmNlLmgKQEAgLTAsMCArMSwxMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgPGxpbWl0cz4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBJUEMgeworCitpbmxpbmUgY29uc3RleHByIHNpemVfdCBhcnJheVJlZmVyZW5jZUR5
bmFtaWNFeHRlbnQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpOworCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVCwgc2l6ZV90IEV4dGVudCA9IGFycmF5UmVmZXJlbmNlRHluYW1pY0V4
dGVudD4KK2NsYXNzIEFycmF5UmVmZXJlbmNlOworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2Ns
YXNzIEFycmF5UmVmZXJlbmNlPFQsIGFycmF5UmVmZXJlbmNlRHluYW1pY0V4dGVudD4geworcHVi
bGljOgorICAgIEFycmF5UmVmZXJlbmNlKCkgPSBkZWZhdWx0OworCisgICAgQXJyYXlSZWZlcmVu
Y2UoY29uc3QgVCogZGF0YSwgc2l6ZV90IHNpemUpCisgICAgICAgIDogbV9kYXRhKGRhdGEpCisg
ICAgICAgICwgbV9zaXplKHNpemUpCisgICAgeworICAgIH0KKworICAgIHRlbXBsYXRlIDxzaXpl
X3QgaW5saW5lQ2FwYWNpdHk+CisgICAgQXJyYXlSZWZlcmVuY2UoY29uc3QgVmVjdG9yPFQsIGlu
bGluZUNhcGFjaXR5PiYgdmVjdG9yKQorICAgICAgICA6IG1fZGF0YSh2ZWN0b3IuZGF0YSgpKQor
ICAgICAgICAsIG1fc2l6ZSh2ZWN0b3Iuc2l6ZSgpKQorICAgIHsKKyAgICB9CisKKyAgICBib29s
IGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiAhbV9zaXplOyB9CisKKyAgICBzaXplX3Qgc2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgIGNvbnN0IFQqIGRhdGEoKSBjb25zdAorICAg
IHsKKyAgICAgICAgaWYgKGlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICByZXR1cm4gbV9kYXRhOworICAgIH0KKworICAgIFZlY3RvcjxUPiB2ZWN0b3IoKSBj
b25zdAorICAgIHsKKyAgICAgICAgVmVjdG9yPFQ+IHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZChtX2RhdGEsIG1fc2l6ZSk7CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisK
K3ByaXZhdGU6CisgICAgY29uc3QgVCogbV9kYXRhIHsgfTsKKyAgICBzaXplX3QgbV9zaXplIHsg
fTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBzaXplX3QgRXh0ZW50PgorY2xhc3MgQXJy
YXlSZWZlcmVuY2UgeworcHVibGljOgorICAgIEFycmF5UmVmZXJlbmNlKCkgPSBkZWZhdWx0Owor
CisgICAgQXJyYXlSZWZlcmVuY2UoY29uc3QgVCogZGF0YSwgc2l6ZV90IHNpemUpCisgICAgICAg
IDogbV9kYXRhKGRhdGEpCisgICAgeworICAgICAgICBBU1NFUlRfVU5VU0VEKHNpemUsIHNpemUg
PT0gRXh0ZW50KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8c2l6ZV90IGlubGluZUNhcGFjaXR5
PgorICAgIEFycmF5UmVmZXJlbmNlKGNvbnN0IFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mIHZl
Y3RvcikKKyAgICAgICAgOiBtX2RhdGEodmVjdG9yLmRhdGEoKSkKKyAgICB7CisgICAgICAgIEFT
U0VSVCh2ZWN0b3Iuc2l6ZSgpID09IEV4dGVudCk7CisgICAgfQorCisgICAgY29uc3RleHByIGJv
b2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFFeHRlbnQ7IH0KKworICAgIGNvbnN0ZXhwciBz
aXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIEV4dGVudDsgfQorCisgICAgY29uc3QgVCogZGF0
YSgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBtX2RhdGE7CisgICAgfQorCisgICAgVmVjdG9y
PFQ+IHZlY3RvcigpIGNvbnN0CisgICAgeworICAgICAgICBWZWN0b3I8VD4gcmVzdWx0OworICAg
ICAgICBpZiAoIWlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQobV9kYXRhLCBF
eHRlbnQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworcHJpdmF0ZToKKyAgICBj
b25zdCBUKiBtX2RhdGEgeyB9OworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5PgorQXJyYXlSZWZlcmVuY2UoY29uc3QgV1RGOjpWZWN0b3I8VCwgaW5saW5l
Q2FwYWNpdHk+JikgLT4gQXJyYXlSZWZlcmVuY2U8VD47CisKK30gLy8gbmFtZXNwYWNlIElQQwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGVjM2QxNGFlOGYzZWMy
NDcwNTQ3NjNjYWVlOTA5Y2MyYzg3NWY1ZDguLmJiZDdhYmNiNGNkYzYwNDM4MmIxMDY1ZTMzMjM4
NDQ5YzZhYzU5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAg
LTIyNywxMCArMjI3LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIG1hcmtDdXJyZW50bHlEaXNwYXRj
aGVkTWVzc2FnZUFzSW52YWxpZCgpOwogCiAgICAgdm9pZCBwb3N0Q29ubmVjdGlvbkRpZENsb3Nl
T25Db25uZWN0aW9uV29ya1F1ZXVlKCk7Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZSBDPiB2b2lkIHNlbmRXaXRoQXN5bmNSZXBseShUJiYgbWVzc2FnZSwgQyYmIGNvbXBsZXRp
b25IYW5kbGVyLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEID0gMCwgT3B0aW9uU2V0PFNlbmRPcHRp
b24+ID0geyB9KTsgLy8gVGhyZWFkLXNhZmUuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9v
bCBzZW5kKFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBPcHRpb25TZXQ8U2Vu
ZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pOyAvLyBUaHJlYWQtc2FmZS4KLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBs
eSYmIHJlcGx5LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNv
bmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9u
cyA9IHsgfSk7IC8vIE1haW4gdGhyZWFkIG9ubHkuCisgICAgLy8gU3luYyBzZW5kZXJzIHNob3Vs
ZCBjaGVjayB0aGUgU2VuZFN5bmNSZXN1bHQgZm9yIHRydWUvZmFsc2UgaW4gY2FzZSB0aGV5IG5l
ZWQgdG8ga25vdyBpZiB0aGUgcmVzdWx0IHdhcyByZWFsbHkgcmVjZWl2ZWQuCisgICAgLy8gU3lu
YyBzZW5kZXJzIHNob3VsZCBob2xkIG9uIHRvIHRoZSBTZW5kU3luY1Jlc3VsdCBpbiBjYXNlIHRo
ZXkgcmVmZXJlbmNlIHRoZSBjb250ZW50cyBvZiB0aGUgcmVwbHkgdmlhIERhdGFSZWZlcmVyZW5j
ZSAvIEFycmF5UmVmZXJlbmNlLgorICAgIHVzaW5nIFNlbmRTeW5jUmVzdWx0ID0gc3RkOjp1bmlx
dWVfcHRyPERlY29kZXI+OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFNlbmRTeW5jUmVzdWx0
IHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCB1aW50NjRf
dCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBP
cHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSk7IC8vIE1haW4g
dGhyZWFkIG9ubHkuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCB3YWl0Rm9yQW5kRGlz
cGF0Y2hJbW1lZGlhdGVseSh1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQs
IE9wdGlvblNldDxXYWl0Rm9yT3B0aW9uPiB3YWl0Rm9yT3B0aW9ucyA9IHsgfSk7IC8vIE1haW4g
dGhyZWFkIG9ubHkuCiAgICAgCiAgICAgLy8gVGhyZWFkLXNhZmUuCkBAIC0yNDksNyArMjUxLDcg
QEAgcHVibGljOgogCiAgICAgLy8gTWFpbiB0aHJlYWQgb25seS4KICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPgotICAgIGJvb2wgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVu
YW1lIFQ6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZpZXI8VT4gZGVzdGluYXRpb25JRCwg
U2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5j
T3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgU2VuZFN5bmNSZXN1bHQgc2VuZFN5
bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZp
ZXI8VT4gZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHko
KSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCiAgICAg
ewogICAgICAgICByZXR1cm4gc2VuZFN5bmM8VD4oV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShy
ZXBseSksIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25z
KTsKICAgICB9CkBAIC01NTEsNyArNTUzLDcgQEAgdm9pZCBtb3ZlVHVwbGUoc3RkOjp0dXBsZTxB
Li4uPiYmIGEsIHN0ZDo6dHVwbGU8Qi4uLj4mIGIpCiAgICAgVHVwbGVNb3ZlcjxzaXplb2YuLi4o
QSksIHN0ZDo6dHVwbGU8QS4uLj4sIHN0ZDo6dHVwbGU8Qi4uLj4+Ojptb3ZlKFdURk1vdmUoYSks
IGIpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIENvbm5lY3Rpb246OnNlbmRTeW5j
KFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCB1aW50NjRfdCBkZXN0aW5h
dGlvbklELCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5
bmNPcHRpb25zKQordGVtcGxhdGU8dHlwZW5hbWUgVD4gQ29ubmVjdGlvbjo6U2VuZFN5bmNSZXN1
bHQgQ29ubmVjdGlvbjo6c2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYg
cmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0
PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMpCiB7CiAgICAgQ09NUElMRV9BU1NFUlQo
VDo6aXNTeW5jLCBTeW5jTWVzc2FnZUV4cGVjdGVkKTsKICAgICBSRUxFQVNFX0FTU0VSVChSdW5M
b29wOjppc01haW4oKSk7CkBAIC01NzAsMTUgKzU3MiwxNSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBib29sIENvbm5lY3Rpb246OnNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBs
eSYmCiAgICAgLy8gTm93IHNlbmQgdGhlIG1lc3NhZ2UgYW5kIHdhaXQgZm9yIGEgcmVwbHkuCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IHJlcGx5RGVjb2RlciA9IHNlbmRTeW5jTWVzc2Fn
ZShzeW5jUmVxdWVzdElELCBXVEZNb3ZlKGVuY29kZXIpLCB0aW1lb3V0LCBzZW5kU3luY09wdGlv
bnMpOwogICAgIGlmICghcmVwbHlEZWNvZGVyKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiB7IH07CiAKICAgICAvLyBEZWNvZGUgdGhlIHJlcGx5LgogICAgIE9wdGlvbmFs
PHR5cGVuYW1lIFQ6OlJlcGx5QXJndW1lbnRzPiByZXBseUFyZ3VtZW50czsKICAgICAqcmVwbHlE
ZWNvZGVyID4+IHJlcGx5QXJndW1lbnRzOwogICAgIGlmICghcmVwbHlBcmd1bWVudHMpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHsgfTsKICAgICBtb3ZlVHVwbGUoV1RG
TW92ZSgqcmVwbHlBcmd1bWVudHMpLCByZXBseSk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0
dXJuIHJlcGx5RGVjb2RlcjsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBDb25uZWN0
aW9uOjp3YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseSh1aW50NjRfdCBkZXN0aW5hdGlvbklE
LCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlvblNldDxXYWl0Rm9yT3B0aW9uPiB3YWl0Rm9yT3B0aW9u
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNWZkYTdiZWQyZmU4YzQwNDliNTU4NzA3OWZkMWUx
NjM1NGY0ZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLQotI2luY2x1ZGUgIkRlY29kZXIuaCIKLSNpbmNsdWRl
ICJFbmNvZGVyLmgiCi0KLW5hbWVzcGFjZSBJUEMgewotCi12b2lkIERhdGFSZWZlcmVuY2U6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFi
bGVMZW5ndGhCeXRlQXJyYXkoKnRoaXMpOwotfQotCi1ib29sIERhdGFSZWZlcmVuY2U6OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyLCBEYXRhUmVmZXJlbmNlJiBkYXRhUmVmZXJlbmNlKQotewotICAg
IHJldHVybiBkZWNvZGVyLmRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGRhdGFSZWZlcmVu
Y2UpOwotfQotCi19IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0RhdGFSZWZlcmVuY2UuaAppbmRleCAzNDUwYzMxYjczZGRiNmFhNWVkY2UyYWY4MDAyOTg4N2M3
OThlMjA1Li5kYmIzZDY5MjdmMzQxYzVhYTkzZmMxMDczY2IwNzU2ZTNjYmEzN2Q1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oCkBAIC0yNSw1NCArMjUsMTAg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSAi
QXJyYXlSZWZlcmVuY2UuaCIKIAogbmFtZXNwYWNlIElQQyB7CiAKLWNsYXNzIERlY29kZXI7Ci1j
bGFzcyBFbmNvZGVyOwotICAgIAotY2xhc3MgRGF0YVJlZmVyZW5jZSB7Ci1wdWJsaWM6Ci0gICAg
RGF0YVJlZmVyZW5jZSgpID0gZGVmYXVsdDsKLQotICAgIERhdGFSZWZlcmVuY2UoY29uc3QgdWlu
dDhfdCogZGF0YSwgc2l6ZV90IHNpemUpCi0gICAgICAgIDogbV9kYXRhKGRhdGEpCi0gICAgICAg
ICwgbV9zaXplKHNpemUpCi0gICAgewotICAgIH0KLQotICAgIHRlbXBsYXRlPHNpemVfdCBpbmxp
bmVDYXBhY2l0eT4KLSAgICBEYXRhUmVmZXJlbmNlKGNvbnN0IFZlY3Rvcjx1aW50OF90LCBpbmxp
bmVDYXBhY2l0eT4mIHZlY3RvcikKLSAgICAgICAgOiBtX2RhdGEodmVjdG9yLmRhdGEoKSkKLSAg
ICAgICAgLCBtX3NpemUodmVjdG9yLnNpemUoKSkKLSAgICB7Ci0gICAgfQotCi0gICAgYm9vbCBp
c0VtcHR5KCkgY29uc3QgeyByZXR1cm4gIW1fc2l6ZTsgfQotCi0gICAgc2l6ZV90IHNpemUoKSBj
b25zdCB7IHJldHVybiBtX3NpemU7IH0KLSAgICBjb25zdCB1aW50OF90KiBkYXRhKCkgY29uc3Qg
Ci0gICAgeyAKLSAgICAgICAgaWYgKGlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwotICAgICAgICByZXR1cm4gbV9kYXRhOyAKLSAgICB9Ci0KLSAgICBWZWN0b3I8dWludDhf
dD4gdmVjdG9yKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIFZlY3Rvcjx1aW50OF90PiByZXN1bHQ7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQobV9kYXRhLCBtX3NpemUpOwotCi0gICAgICAgIHJldHVy
biByZXN1bHQ7Ci0gICAgfQotCi0gICAgdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAg
IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIERhdGFSZWZl
cmVuY2UmKTsKLQotcHJpdmF0ZToKLSAgICBjb25zdCB1aW50OF90KiBtX2RhdGEgeyBudWxscHRy
IH07Ci0gICAgc2l6ZV90IG1fc2l6ZSB7IDAgfTsKLX07Cit1c2luZyBEYXRhUmVmZXJlbmNlID0g
QXJyYXlSZWZlcmVuY2U8dWludDhfdCwgYXJyYXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50PjsKIAog
fSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9EZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwCmlu
ZGV4IDc4YTQ2MzhlYjczMDViZmQxOTEwODcwNjhkMzBiY2RiOGRmZTgyYWUuLjJjYjc5YjczMWM4
ZDM1MWEyZDA1OTQ2MzYyYzVhYjhiYmFkYmRjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0RlY29kZXIuY3BwCkBAIC0xODYsMjAgKzE4NiwxNSBAQCBib29sIERlY29kZXI6OmRlY29kZUZp
eGVkTGVuZ3RoRGF0YSh1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IGFsaWdubWVu
dAogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIERlY29kZXI6OmRlY29kZVZhcmlhYmxlTGVu
Z3RoQnl0ZUFycmF5KERhdGFSZWZlcmVuY2UmIGRhdGFSZWZlcmVuY2UpCitjb25zdCB1aW50OF90
KiBEZWNvZGVyOjpkZWNvZGVGaXhlZExlbmd0aFJlZmVyZW5jZShzaXplX3Qgc2l6ZSwgc2l6ZV90
IGFsaWdubWVudCkKIHsKLSAgICB1aW50NjRfdCBzaXplOwotICAgIGlmICghZGVjb2RlKHNpemUp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKCFhbGlnbkJ1ZmZlclBvc2l0
aW9uKDEsIHNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFhbGlnbkJ1ZmZl
clBvc2l0aW9uKGFsaWdubWVudCwgc2l6ZSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAg
ICAgY29uc3QgdWludDhfdCogZGF0YSA9IG1fYnVmZmVyUG9zOwogICAgIG1fYnVmZmVyUG9zICs9
IHNpemU7CiAKLSAgICBkYXRhUmVmZXJlbmNlID0gRGF0YVJlZmVyZW5jZShkYXRhLCBzaXplKTsK
LSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZGF0YTsKIH0KIAogYm9vbCBEZWNvZGVyOjpy
ZW1vdmVBdHRhY2htZW50KEF0dGFjaG1lbnQmIGF0dGFjaG1lbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9EZWNvZGVyLmgKaW5kZXggYjcyZGQ4YWNlMjc3M2RiMzU1OWUzNjZkZDk1MjRmMjM0MWU1
NWUwNi4uMzQ0Y2U2ODgyZmM5MDk4NGIyZmE1N2JmOWM0OGI5NjUwZTBmZjc0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaApAQCAtNDAsNyArNDAsNiBAQAogCiBuYW1lc3BhY2Ug
SVBDIHsKIAotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIEltcG9ydGFuY2VBc3NlcnRpb247
CiBlbnVtIGNsYXNzIE1lc3NhZ2VGbGFncyA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNob3VsZERp
c3BhdGNoV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkgOiB1aW50OF90OwpAQCAtNzgsOCArNzcsOSBA
QCBwdWJsaWM6CiAKICAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVGaXhlZExlbmd0
aERhdGEodWludDhfdCogZGF0YSwgc2l6ZV90LCBzaXplX3QgYWxpZ25tZW50KTsKIAotICAgIC8v
IFRoZSBkYXRhIGluIHRoZSBkYXRhIHJlZmVyZW5jZSBoZXJlIHdpbGwgb25seSBiZSB2YWxpZCBm
b3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBBcmd1bWVudERlY29kZXIgb2JqZWN0LgotICAgIFdBUk5f
VU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KERhdGFSZWZl
cmVuY2UmKTsKKyAgICAvLyBUaGUgZGF0YSBpbiB0aGUgcmV0dXJuZWQgcG9pbnRlciBoZXJlIHdp
bGwgb25seSBiZSB2YWxpZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBBcmd1bWVudERlY29kZXIg
b2JqZWN0LgorICAgIC8vIFJldHVybnMgbnVsbHB0ciBvbiBmYWlsdXJlLgorICAgIFdBUk5fVU5V
U0VEX1JFVFVSTiBjb25zdCB1aW50OF90KiBkZWNvZGVGaXhlZExlbmd0aFJlZmVyZW5jZShzaXpl
X3QsIHNpemVfdCBhbGlnbm1lbnQpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc3RkOjpl
bmFibGVfaWZfdDxzdGQ6OmlzX2FyaXRobWV0aWM8VD46OnZhbHVlPiogPSBudWxscHRyPgogICAg
IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShUJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvRW5jb2Rlci5jcHAKaW5kZXggZmQ0MDkwNzc0YjJiYzJhNzYyOWI5YzAyZGM1NTRj
NGNkYzk4ZjVjYi4uZTgzYTNlNGFmZjQyYTU3NTUwNWRjOGYwNzMxN2ExYzFhYzE5ZGVhZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJFbmNvZGVyLmgiCiAKKyNpbmNsdWRlICJBcmd1
bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNz
YWdlRmxhZ3MuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC0xNDEsNyArMTQyLDcgQEAgdm9p
ZCBFbmNvZGVyOjp3cmFwRm9yVGVzdGluZyhzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4gb3JpZ2lu
YWwpCiAKICAgICBvcmlnaW5hbC0+c2V0U2hvdWxkRGlzcGF0Y2hNZXNzYWdlV2hlbldhaXRpbmdG
b3JTeW5jUmVwbHkoU2hvdWxkRGlzcGF0Y2hXaGVuV2FpdGluZ0ZvclN5bmNSZXBseTo6WWVzKTsK
IAotICAgIGVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KERhdGFSZWZlcmVuY2Uob3JpZ2lu
YWwtPmJ1ZmZlcigpLCBvcmlnaW5hbC0+YnVmZmVyU2l6ZSgpKSk7CisgICAgKnRoaXMgPDwgRGF0
YVJlZmVyZW5jZShvcmlnaW5hbC0+YnVmZmVyKCksIG9yaWdpbmFsLT5idWZmZXJTaXplKCkpOwog
CiAgICAgVmVjdG9yPEF0dGFjaG1lbnQ+IGF0dGFjaG1lbnRzID0gb3JpZ2luYWwtPnJlbGVhc2VB
dHRhY2htZW50cygpOwogICAgIHJlc2VydmUoYXR0YWNobWVudHMuc2l6ZSgpKTsKQEAgLTIxNiwx
MiArMjE3LDYgQEAgdm9pZCBFbmNvZGVyOjplbmNvZGVGaXhlZExlbmd0aERhdGEoY29uc3QgdWlu
dDhfdCogZGF0YSwgc2l6ZV90IHNpemUsIHNpemVfdCBhbGkKICAgICBtZW1jcHkoYnVmZmVyLCBk
YXRhLCBzaXplKTsKIH0KIAotdm9pZCBFbmNvZGVyOjplbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVB
cnJheShjb25zdCBEYXRhUmVmZXJlbmNlJiBkYXRhUmVmZXJlbmNlKQotewotICAgIGVuY29kZShz
dGF0aWNfY2FzdDx1aW50NjRfdD4oZGF0YVJlZmVyZW5jZS5zaXplKCkpKTsKLSAgICBlbmNvZGVG
aXhlZExlbmd0aERhdGEoZGF0YVJlZmVyZW5jZS5kYXRhKCksIGRhdGFSZWZlcmVuY2Uuc2l6ZSgp
LCAxKTsKLX0KLQogdm9pZCBFbmNvZGVyOjphZGRBdHRhY2htZW50KEF0dGFjaG1lbnQmJiBhdHRh
Y2htZW50KQogewogICAgIG1fYXR0YWNobWVudHMuYXBwZW5kKFdURk1vdmUoYXR0YWNobWVudCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5oCmluZGV4IDBlY2Y1NDFmNzc4NTg1MzZm
MWZjZmE4MzZiNzZmMjQ4MmU0YzlhMTEuLmVhNjE5NjdiZTFlYmNiZDhiNmZiYmFhOGI4NWFmNDE4
ZThkNTBjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0VuY29kZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmgKQEAgLTM2LDcgKzM2
LDYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBlbnVtIGNs
YXNzIE1lc3NhZ2VGbGFncyA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIE1lc3NhZ2VOYW1lIDogdWlu
dDE2X3Q7CiBlbnVtIGNsYXNzIFNob3VsZERpc3BhdGNoV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkg
OiB1aW50OF90OwpAQCAtNjIsNyArNjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB3cmFwRm9yVGVz
dGluZyhzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4pOwogCiAgICAgdm9pZCBlbmNvZGVGaXhlZExl
bmd0aERhdGEoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90LCBzaXplX3QgYWxpZ25tZW50KTsK
LSAgICB2b2lkIGVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNvbnN0IERhdGFSZWZlcmVu
Y2UmKTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHN0ZDo6ZW5hYmxlX2lmX3Q8IXN0ZDo6
aXNfZW51bTx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdF90PHN0ZDo6cmVtb3ZlX3JlZmVyZW5j
ZV90PFQ+Pj46OnZhbHVlICYmICFzdGQ6OmlzX2FyaXRobWV0aWM8dHlwZW5hbWUgc3RkOjpyZW1v
dmVfY29uc3RfdDxzdGQ6OnJlbW92ZV9yZWZlcmVuY2VfdDxUPj4+Ojp2YWx1ZT4qID0gbnVsbHB0
cj4KICAgICB2b2lkIGVuY29kZShUJiYgdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0hh
bmRsZU1lc3NhZ2UuaAppbmRleCA3ZmQxODNhNTZhZTk4YjA2NjQ1ZmY3NTE0OGFjMjk4M2M1MmU0
YWViLi40MTI5ZDRlMmI0OWQ1YzhmYzQxYTJkNjU0YWRjZDg5ZTg2YzYzN2Y2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtOTYsNyArOTcsNiBAQCBzdHJ1Y3QgQ29kaW5n
VHlwZSB7CiAgICAgdHlwZWRlZiBzdGQ6OnJlbW92ZV9jb25zdF90PHN0ZDo6cmVtb3ZlX3JlZmVy
ZW5jZV90PFQ+PiBUeXBlOwogfTsKIAotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlckRhdGFSZWZlcmVuY2U7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBDb2RpbmdUeXBlPGNvbnN0
IFNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UmPiB7CiAgICAgdXNpbmcgVHlwZSA9IERhdGFSZWZl
cmVuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2Vu
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmgKaW5kZXgg
NDZlMjFkOGQ5MzZmMmQ4YjUxNjdiMjQ5Zjg4MTExNmZmZWI3ZDRiOS4uNzc0NjFkNTU1YjcyOTJj
MjBlYmY1MTRhMzAyZDFkYzZlNzc3MDExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L01lc3NhZ2VTZW5kZXIuaApAQCAtNTQsOSArNTQsMTAgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgcmV0dXJuIHNlbmQ8VT4obWVzc2FnZSwgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCBzZW5k
T3B0aW9ucyk7CiAgICAgfQorICAgIHVzaW5nIFNlbmRTeW5jUmVzdWx0ID0gQ29ubmVjdGlvbjo6
U2VuZFN5bmNSZXN1bHQ7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGJvb2wgc2Vu
ZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIFNlY29uZHMgdGlt
ZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2Vu
ZFN5bmNPcHRpb25zID0geyB9KQorICAgIFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jKFQmJiBtZXNz
YWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRz
OjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9
IHsgfSkKICAgICB7CiAgICAgICAgIHN0YXRpY19hc3NlcnQoVDo6aXNTeW5jLCAiTWVzc2FnZSBp
cyBub3Qgc3luYyEiKTsKIApAQCAtNjQsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBib29sIHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBl
bmFtZSBUOjpSZXBseSYmIHJlcGx5LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRp
bWVvdXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNl
bmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAgICBTZW5kU3luY1Jlc3VsdCBzZW5kU3luYyhUJiYgbWVz
c2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwg
U2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5j
T3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCiAgICAgewogICAgICAgICBBU1NFUlQobWVz
c2FnZVNlbmRlckNvbm5lY3Rpb24oKSk7CiAKQEAgLTcyLDcgKzczLDcgQEAgcHVibGljOgogICAg
IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUsIHR5cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5k
U3luYyhVJiYgbWVzc2FnZSwgdHlwZW5hbWUgVTo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRp
ZmllcjxUPiBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0
eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAg
ICBTZW5kU3luY1Jlc3VsdCBzZW5kU3luYyhVJiYgbWVzc2FnZSwgdHlwZW5hbWUgVTo6UmVwbHkm
JiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxUPiBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVv
dXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRT
eW5jT3B0aW9ucyA9IHsgfSkKICAgICB7CiAgICAgICAgIHJldHVybiBzZW5kU3luYzxVPihzdGQ6
OmZvcndhcmQ8VT4obWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0aW5hdGlvbklELnRvVUlu
dDY0KCksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyQ29weS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9TaGFyZWRCdWZmZXJDb3B5LmNwcAppbmRleCA3YTNjYjMzODc2MzZk
Y2FmY2VhY2VhZDkxYjg2MzliN2JhNzYzNmM2Li41MDBmODM5ZGZhYWU5Mjk3ZjRkYzYzZGM2NjMw
NTg3N2IyMmRmMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TaGFy
ZWRCdWZmZXJDb3B5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TaGFyZWRC
dWZmZXJDb3B5LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKIAorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgi
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNs
dWRlICJFbmNvZGVyLmgiCkBAIC00OCw3ICs0OSw3IEBAIHZvaWQgU2hhcmVkQnVmZmVyQ29weTo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiBPcHRpb25hbDxTaGFyZWRCdWZmZXJDb3B5
PiBTaGFyZWRCdWZmZXJDb3B5OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBJUEM6
OkRhdGFSZWZlcmVuY2UgZGF0YTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5n
dGhCeXRlQXJyYXkoZGF0YSkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRhKSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXI7
CiAgICAgaWYgKGRhdGEuc2l6ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9TaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcAppbmRleCAyZjcyODVhYzBiNGJk
NmRlMTFkZmViOWZlMzI4ZjAxYzk5OTk1MGEwLi5lOTZkZmIxZmJmODkxY2Q0YTBjNzc0ZTg1Yzkw
Nzg3NThhNmZlODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TaGFy
ZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9TaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuaCIKIAor
I2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiRW5jb2Rlci5oIgogCiBuYW1l
c3BhY2UgSVBDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmlu
Z1JlZmVyZW5jZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVu
Y2UuY3BwCmluZGV4IDg1MmVmNDNlMDA4NjMxYzlmYWZhODIzMGM5MTljMTdhOWQ0YTI5YjYuLjIx
NjExMzljMzAxNGYwZWFmYjNkYzQ3Yzg1ZGE0MTkwYTJiYTA2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmluZ1JlZmVyZW5jZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN0cmluZ1JlZmVyZW5jZS5oIgogCisjaW5j
bHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggOGIz
NzQwZjRiMTAxYWQ5MGY1MGVkNTdjODUwYjkwMzBmY2M0MzBjMi4uNGIyMGM4NWFjNTM2MjM2NDAz
YTgzZWE5NzNjZGNjZDEwZmRmNzJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAog
I2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIk5QT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlICJOUFJlbW90ZU9iamVj
dE1hcC5oIgogI2luY2x1ZGUgIk5QUnVudGltZVV0aWxpdGllcy5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvU291cmNl
L1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IGFkNGZj
ZDlkOGNjZjQyZjEyZWU0ODhlMDEzNDZjNjE5YTcwMWI4ZDIuLmM3YTcwNTNjYmQyNmQyMDQ1NGMw
NDJjNmFjZTE2Y2I1MjUzMGY0M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNs
dWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiUGx1Z2luLmgiCiAjaW5jbHVkZSAiUGx1
Z2luQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgpAQCAtMzcsMTAg
KzM4LDYgQEAKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUnVu
TG9vcC5oPgogCi1uYW1lc3BhY2UgSVBDIHsKLSAgICBjbGFzcyBEYXRhUmVmZXJlbmNlOwotfQot
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTGF5ZXJIb3N0aW5nQ29udGV4dDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IGNhMGFlMjg0MTFhODNkZTRi
ZjNmZTA4YjAxMmU0MDU1NDhkOGI1NzMuLmQ2ZWUyYmNiY2FiNmE3MGU0MmQwZTk4ODQ5YWE4MTMw
MDk2NGNhMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAt
MjAzLDYgKzIwMyw3IEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19mb3JfbmFtZXNwYWNlKG5h
bWVzcGFjZSwga2luZF9hbmRfdHlwZXMpOgogCiBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9y
d2FyZF9kZWNsYXJlZCgpOgogICAgIHJldHVybiBmcm96ZW5zZXQoWworICAgICAgICAnSVBDOjpE
YXRhUmVmZXJlbmNlJywKICAgICAgICAgJ01hY2hTZW5kUmlnaHQnLAogICAgICAgICAnTWVkaWFU
aW1lJywKICAgICAgICAgJ1N0cmluZycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvQVBJRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGF0YS5jcHAK
aW5kZXggNjEzNDNiZDk0MTA2YjZlNzg5ZjgzYmMyNWRlNzlmN2E2MDQwOTNjYy4uYzc4MjMxNmYz
MDU3YTNjYWY5ZDNlMjA3N2M4MTMyNTUzZTY5NzU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0FQSURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9B
UElEYXRhLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkFQSURhdGEuaCIKIAorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAi
RGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcAppbmRleCA5YmQ4YTgxNzU0OWY1OGZlMzgzZDcyNWRh
NjYzZjNiYzU0Y2EwZDc0Li43N2U5YjRkNWNjNzUyZmJjZGI2YjY1ZjlhZGMyNjAxOTU2Y2ExNDdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcApAQCAt
MjgsNiArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFyZ3VtZW50Q29k
ZXJzQ0YuaCIKIAorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJFbmNvZGVyLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVy
c1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcAppbmRleCAxZDg0ZTJmZTI2OGYzNDYwZWIyOTc1YzQyYmE5NWQxNGYxZDIzNWNm
Li5mYTI2OGQ1ODRhMGZjOGRmODdhMjFmYTQ1NjA3N2I4YzVkNDJiODU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5j
cHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46
OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUkKICAgICAvLyBFbmNv
ZGUgc3RhcnRpbmcgZnJvbSB0aGUgcm9vdCBjZXJ0aWZpY2F0ZS4KICAgICBmb3IgKHNpemVfdCBp
ID0gY2VydGlmaWNhdGVzRGF0YUxpc3Quc2l6ZSgpOyBpID4gMDsgLS1pKSB7CiAgICAgICAgIEdC
eXRlQXJyYXkqIGNlcnRpZmljYXRlID0gY2VydGlmaWNhdGVzRGF0YUxpc3RbaSAtIDFdLmdldCgp
OwotICAgICAgICBlbmNvZGVyLmVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KElQQzo6RGF0
YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgICAg
ICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlm
aWNhdGUtPmxlbik7CiAgICAgfQogCiAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50MzJf
dD4oY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBib29s
IEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIs
IENlcnRpZmljYXRlSW5mbyYgYwogICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBjZXJ0aWZp
Y2F0ZTsKICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgY2hhaW5MZW5ndGg7IGkrKykgewog
ICAgICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOwotICAg
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNh
dGVEYXRhUmVmZXJlbmNlKSkKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjZXJ0aWZpY2F0
ZURhdGFSZWZlcmVuY2UpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIEdC
eXRlQXJyYXkqIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9zaXplZF9uZXcoY2VydGlm
aWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7CkBAIC0yNzcsNCArMjc3LDMgQEAgT3B0aW9uYWw8
U2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlPiAgQXJndW1lbnRDb2RlcjxTZXJpYWxpemVk
UGxhdGZvcm1EYXRhQ3UKICNlbmRpZgogCiB9Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGNiNzhiYjIyYjY3
MzI3NDQ1MWNhM2NjZGM1NmE1ZWZlZjY3NzU5ODAuLjg5ZDdiNjVjNjc1MTRlOTBjM2ZkZTI0OTIw
ODc1N2Y0YTY2ZTg1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtMTM4LDcgKzEzOCw2IEBAIFBsYXRmb3Jt
L1NoYXJlZE1lbW9yeS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMu
Y3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuY3BwIEBuby11bmlmeQogUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwIEBuby11bmlmeQotUGxhdGZvcm0vSVBDL0RhdGFSZWZl
cmVuY2UuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwIEBuby11bmlmeQog
UGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0pTSVBDQmlu
ZGluZy5jcHAgQG5vLXVuaWZ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJSWNvbkxvYWRpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElJY29uTG9hZGluZ0NsaWVudC5oCmluZGV4IDJmZTM4NjI1OTQ2M2JmYjM2MjNlYmJkYjRmZWY1
ZjgzOTM2YjBkM2QuLjczN2I2MjU4MTk4NjZhMGVjYjU5OWEyMTMwYjMyOTEzZWFmMzk2ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVu
dC5oCkBAIC0zMCwxMCArMzAsNiBAQAogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERh
dGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBBUEkgewogCiBjbGFzcyBJY29uTG9hZGluZ0Ns
aWVudCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9j
ZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94
eS5oCmluZGV4IDRmMzk4YjUzMGY2MDg1NzVjOTY3YjgzYzc0ZmEyZjQzMjhmNmNlM2IuLjhjYTk3
ZTZlNTk3YmQ3MTEwYTBkNzM4ZTBjNGE3Yzg1NjAzYThhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCkBAIC01Myw3ICs1Myw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFByb2Nlc3NUaHJvdHRsZXImIHRocm90dGxlcigpID0gMDsKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgc2VuZChUJiYgbWVzc2FnZSwgdWludDY0X3Qg
ZGVzdGluYXRpb25JRCwgT3B0aW9uU2V0PElQQzo6U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7
IH0pOwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgc2VuZFN5bmMoVCYmIG1lc3NhZ2Us
IHR5cGVuYW1lIFQ6OlJlcGx5JiYsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGlt
ZW91dCA9IDFfcywgT3B0aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9u
cyA9IHsgfSk7CisgICAgdXNpbmcgU2VuZFN5bmNSZXN1bHQgPSBJUEM6OkNvbm5lY3Rpb246OlNl
bmRTeW5jUmVzdWx0OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFNlbmRTeW5jUmVzdWx0IHNl
bmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmLCB1aW50NjRfdCBkZXN0aW5h
dGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSAxX3MsIE9wdGlvblNldDxJUEM6OlNlbmRTeW5jT3B0
aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pOwogCiAgICAgZW51bSBjbGFzcyBTaG91bGRTdGFy
dFByb2Nlc3NUaHJvdHRsZXJBY3Rpdml0eSA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4gdm9pZCBzZW5kV2l0aEFzeW5jUmVwbHkoVCYmLCBD
JiYsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQgPSAwLCBPcHRpb25TZXQ8SVBDOjpTZW5kT3B0aW9u
PiA9IHsgfSwgU2hvdWxkU3RhcnRQcm9jZXNzVGhyb3R0bGVyQWN0aXZpdHkgPSBTaG91bGRTdGFy
dFByb2Nlc3NUaHJvdHRsZXJBY3Rpdml0eTo6WWVzKTsKQEAgLTY1LDcgKzY2LDcgQEAgcHVibGlj
OgogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgotICAg
IGJvb2wgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIE9i
amVjdElkZW50aWZpZXI8VT4gZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9zLCBP
cHRpb25TZXQ8SVBDOjpTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQorICAg
IFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYm
IHJlcGx5LCBPYmplY3RJZGVudGlmaWVyPFU+IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91
dCA9IDFfcywgT3B0aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9
IHsgfSkKICAgICB7CiAgICAgICAgIHJldHVybiBzZW5kU3luYzxUPihXVEZNb3ZlKG1lc3NhZ2Up
LCBXVEZNb3ZlKHJlcGx5KSwgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCB0aW1lb3V0LCBzZW5k
U3luY09wdGlvbnMpOwogICAgIH0KQEAgLTE2MywxMiArMTY0LDEyIEBAIGJvb2wgQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5OjpzZW5kKFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBP
cHRpb25TZXQ8CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFU+IAotYm9vbCBBdXhpbGlhcnlQcm9j
ZXNzUHJveHk6OnNlbmRTeW5jKFUmJiBtZXNzYWdlLCB0eXBlbmFtZSBVOjpSZXBseSYmIHJlcGx5
LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlvblNldDxJUEM6
OlNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMpCitBdXhpbGlhcnlQcm9jZXNzUHJveHk6
OlNlbmRTeW5jUmVzdWx0IEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6c2VuZFN5bmMoVSYmIG1lc3Nh
Z2UsIHR5cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNl
Y29uZHMgdGltZW91dCwgT3B0aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0
aW9ucykKIHsKICAgICBDT01QSUxFX0FTU0VSVChVOjppc1N5bmMsIFN5bmNNZXNzYWdlRXhwZWN0
ZWQpOwogCiAgICAgaWYgKCFtX2Nvbm5lY3Rpb24pCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIHsgfTsKIAogICAgIFRyYWNlU2NvcGUgc2NvcGUoU3luY01lc3NhZ2VTdGFy
dCwgU3luY01lc3NhZ2VFbmQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9TT0F1dGhvcml6YXRpb24vU3ViRnJhbWVTT0F1dGhvcml6YXRpb25TZXNzaW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TT0F1dGhvcml6YXRpb24vU3ViRnJhbWVT
T0F1dGhvcml6YXRpb25TZXNzaW9uLmgKaW5kZXggODIzYzIwMmE4NTZhMDEzNmRkOWVhNzU5ZjBl
Y2RlYmE0N2Y0ZjM2Mi4uYjU3N2NiZGY4ZTA3OGY0ZmI0Zjg3MzRkN2JmZDYwOGQyMDM4ODA2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9u
L1N1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Np
b24uaApAQCAtMzIsMTAgKzMyLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lSWRlbnRpZmll
ci5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERh
dGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBTdWJGcmFtZVNP
QXV0aG9yaXphdGlvblNlc3Npb24gZmluYWwgOiBwdWJsaWMgTmF2aWdhdGlvblNPQXV0aG9yaXph
dGlvblNlc3Npb24sIHB1YmxpYyBGcmFtZUxvYWRTdGF0ZTo6T2JzZXJ2ZXIgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmgK
aW5kZXggZmY5OGI4NGZhODlkYmVmZGQ2NDY2NmJiYmE0MmZjOTBjZWMzNTc3Zi4uMTI4YTM5Nzdl
NjNlZTRmNGVmMWYyMGVhYWVjODZkMDhlY2JmNThkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3Rv
bVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oCkBAIC0yNSw2ICsy
NSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2lu
Y2x1ZGUgIkxlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtMzUsMTAgKzM2LDYgQEAKIE9CSkNf
Q0xBU1MgV0tDdXN0b21Qcm90b2NvbExvYWRlcjsKICNlbmRpZgogCi1uYW1lc3BhY2UgSVBDIHsK
LWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
c291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKaW5kZXggYzRjNzE4NzRhMTBkYTliNTQxZmVlMjgyMDgwOGMxZTUwZDNmYTky
Yi4uOWRiM2E1MDliOTE0YzA5M2NhZjE2OWEwNWQ2NWI1N2VkMGM4MDEzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJMYXllclRyZWVDb250ZXh0
LmgiCiAjaW5jbHVkZSAiUERGUGx1Z2luSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNhbWVEb2N1
bWVudE5hdmlnYXRpb25UeXBlLmgiCkBAIC04MCwxMCArODEsNiBAQCBjbGFzcyBPcGVuUGFuZWxQ
YXJhbWV0ZXJzOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiB9CiAKLW5hbWVzcGFjZSBJUEMgewot
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ29s
b3I7CiBjbGFzcyBDdXJzb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5j
cHAKaW5kZXggMjRiNjMzZTQ4NGQyYTM1YmE3NGQ0NWYxMmVkZTM0YTBmNzhjYTBhNi4uMjQ4ZTUz
YTA4M2QxOWEwZWY0ZDgzYzIzYjhjY2UwMDM0NWRhYWIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlclByb3h5LmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgIkFQSVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIkFQSVVzZXJTY3JpcHQuaCIKICNpbmNs
dWRlICJBUElVc2VyU3R5bGVTaGVldC5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJJbmplY3RVc2VyU2NyaXB0SW1tZWRpYXRlbHkuaCIKICNpbmNsdWRlICJOZXR3b3Jr
Q29udGVudFJ1bGVMaXN0TWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nl
c3NQcm94eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlckNvbnRl
bnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmgKaW5kZXggMTI5
YTM0MGYwODk2NGQwZmZhMjNhMzcxMDFhMDlhODU2ZDNjY2NiMi4uYTRkOGQ3Y2Q4MDRlNjU2MGRh
YmZkZTYxMTRmZjA2MjExYmFkNDdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQ
cm94eS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNs
dWRlICJDb250ZW50V29ybGRTaGFyZWQuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAj
aW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRDb250cm9s
bGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKQEAg
LTQ4LDEwICs0OSw2IEBAIGNsYXNzIFVzZXJTY3JpcHQ7CiBjbGFzcyBVc2VyU3R5bGVTaGVldDsK
IH0KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNDIyYzEwODRkMGE3MzVhYjVhZTJlZWZm
NjliMGRhNWM4YjZmMTM1MC4uYTAxMWE1YjFkOWM5MmU5ZjczMDI5NDE0ZjEzM2IyZjA5MTFhMWQ0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01OCw3ICs1
OCw2IEBACiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmgiCiAjaW5j
bHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRvck1h
bmFnZXIuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQ
cm94eS5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhTWVzc2FnZXMuaCIKICNpbmNsdWRlICJEcmF3
aW5nQXJlYVByb3h5LmgiCkBAIC03OTQ2LDYgKzc5NDUsNyBAQCBXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYg
cHJvYwogICAgIHBhcmFtZXRlcnMuc2hvdWxkUmVuZGVyQ2FudmFzSW5HUFVQcm9jZXNzID0gcHJl
ZmVyZW5jZXMoKS51c2VHUFVQcm9jZXNzRm9yQ2FudmFzUmVuZGVyaW5nRW5hYmxlZCgpOwogICAg
IHBhcmFtZXRlcnMuc2hvdWxkUmVuZGVyRE9NSW5HUFVQcm9jZXNzID0gcHJlZmVyZW5jZXMoKS51
c2VHUFVQcm9jZXNzRm9yRE9NUmVuZGVyaW5nRW5hYmxlZCgpOwogICAgIHBhcmFtZXRlcnMuc2hv
dWxkUGxheU1lZGlhSW5HUFVQcm9jZXNzID0gcHJlZmVyZW5jZXMoKS51c2VHUFVQcm9jZXNzRm9y
TWVkaWFFbmFibGVkKCk7CisKICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZVZQOURlY29kZXIg
PSBwcmVmZXJlbmNlcygpLnZwOURlY29kZXJFbmFibGVkKCk7CiAjaWYgRU5BQkxFKFZQOSkgJiYg
UExBVEZPUk0oQ09DT0EpCiAgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVWUDlTV0RlY29kZXIg
PSBwcmVmZXJlbmNlcygpLnZwOURlY29kZXJFbmFibGVkKCkgJiYgKCFXZWJDb3JlOjpzeXN0ZW1I
YXNCYXR0ZXJ5KCkgfHwgcHJlZmVyZW5jZXMoKS52cDlTV0RlY29kZXJFbmFibGVkT25CYXR0ZXJ5
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAyMzJlZDM3YmQx
YmY5MzBhYWY4Zjk5ODQzNmQ2MzA1NDJlYTkzMDg1Li44YTdlOTQ2ZDQ3OTdmZWQwYzM0NmRkZjIx
YzRjZjM1MmE3ZTJmOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNvbnRlbnRBc1N0cmluZ0luY2x1ZGVzQ2hpbGRG
cmFtZXMuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAi
Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CiAjaW5jbHVkZSAiRG93bmxvYWRJRC5oIgogI2luY2x1ZGUgIkRyYWdDb250cm9sbGVyQWN0aW9u
LmgiCiAjaW5jbHVkZSAiRWRpdGluZ1JhbmdlLmgiCkBAIC0yMDQsNyArMjA1LDYgQEAgZW51bSBj
bGFzcyBJbnNwZWN0b3JUYXJnZXRUeXBlIDogdWludDhfdDsKIH0KIAogbmFtZXNwYWNlIElQQyB7
Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRGVjb2RlcjsKIGNsYXNzIEZvcm1EYXRhUmVm
ZXJlbmNlOwogY2xhc3MgU2hhcmVkQnVmZmVyQ29weTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZUhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlVSTFNjaGVtZUhhbmRsZXIuaAppbmRleCBmNDI0NWNlNjVlOWQyZDU2NWIzZjEyNWYz
NDU3YTI1NmZiMzljOWQ0Li5kMjM4YzJhMWE2MDhkYzVhNDYzMmU2YTE5OTc3ZGI2MWJhYjYxMzMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVIYW5kbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lSGFuZGxlci5oCkBA
IC0zMSwxMCArMzEsNiBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suaAppbmRleCBkNDQyYjYyYjUyMjU4
N2Y5MGZhNjg5ZDU2YjIwNjI3NmRlYjQ0ODJiLi44MjVjZDAyNjg4YTI2ODIxOTQxZmY3YTQxOGY0
ZGY1YTk3NWJhMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJVUkxT
Y2hlbWVUYXNrLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFz
ay5oCkBAIC0zOCwxMCArMzgsNiBAQCBuYW1lc3BhY2UgQVBJIHsKIGNsYXNzIEZyYW1lSW5mbzsK
IH0KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGFlZWY0MWYzMzJjYjUxOWNkYjJkOTgyYWUyYjk4ODlkOTBkMDViNTQuLjJkMjgyZTQ2NmVh
NDc0NGYwZjUyYjMzZWNjNmE5YjAzODg2MzlkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTMxOCw2ICsxMzE4LDcgQEAKIAkJN0FG
QkQzNjMyMUU1MEYzOTAwNURCQUNCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQzNjIy
MUU1MEYzOTAwNURCQUNCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oICovOyB9
OwogCQk3QUZCRDM2NzIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QUZCRDM2NTIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlLmggKi87IH07CiAJCTdBRkJEMzZGMjFFNTQ2RjgwMDVEQkFDQiAvKiBQZXJzaXN0ZW5j
eVV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QUZCRDM2RDIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5oICovOyB9OworCQk3
QjFEQjI2NjI1NjY4Q0UxMDAwRTI2QkMgLyogQXJyYXlSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMURCMjY1MjU2NjhDRTAwMDBFMjZC
QyAvKiBBcnJheVJlZmVyZW5jZS5oICovOyB9OwogCQk3QzA2NUYyQzFDOENEOTVGMDBDMkQ5NTAg
LyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzA2NUYyQTFDOENEOTVGMDBDMkQ5NTAgLyog
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggKi87IH07CiAJCTdDMTM1QUE5MTcz
QjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzEzNUFBNzE3M0IwQkNBMDA1ODZBRTIgLyog
V0tQbHVnaW5JbmZvcm1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTdDMUJBMzNFMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzFCQTMz
QzFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oICovOyB9OwpAQCAtMjczNyw3ICsy
NzM4LDYgQEAKIAkJMUFDNUZGQzExNzRCRkQxQjAwMDE0ODNEIC8qIFBsdWdpblByb2Nlc3NBdHRy
aWJ1dGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdpblByb2Nlc3NB
dHRyaWJ1dGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzc1Mzc5MTgzQTlG
REEwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBhZ2VMb2FkU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQUM3NTM3QTE4M0E5RkRCMDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlTG9hZFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTFBQzc1MzdEMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGFSZWZlcmVuY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUM3NTM3RTE4M0JFNTBGMDA3MkNC
MTUgLyogRGF0YVJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
YXRhUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzc1QTFBMUIz
MzY4MjcwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSGFuZ0RldGVjdGlvbkRpc2FibGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBQzc1QTFDMUIzMzY5NUUwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9u
RGlzYWJsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBI
YW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00NDA0LDYgKzQ0MDQsNyBAQAogCQk3QUZCRDM2NTIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOyBwYXRoID0gQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0FGQkQzNkQyMUU1NDZFMzAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRp
bHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyc2lzdGVuY3lVdGlscy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QUZCRDM2RTIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGls
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJzaXN0ZW5jeVV0aWxzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0IxREIyNjUyNTY2OENFMDAwMEUyNkJDIC8qIEFycmF5UmVm
ZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5UmVmZXJlbmNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMDY1RjI5MUM4Q0Q5NUYwMEMyRDk1
MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MwNjVGMkExQzhDRDk1RjAwQzJE
OTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxMzVBQTYxNzNCMEJDQTAwNTg2QUUyIC8q
IFdLUGx1Z2luSW5mb3JtYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV0tQbHVnaW5JbmZvcm1hdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMTIzOSw2ICsxMTI0MCw3IEBACiAJCQkJMUFFRkQyRjcxMUQxODA3QjAwODIxOUQzIC8q
IEFyZ3VtZW50Q29kZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMEM0QTEyQjE2MzM0MDA4
RTQ5RTIgLyogQXJndW1lbnRDb2RlcnNDRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE3NUM0NEEy
MUFBMzE3MTAwMDAzN0QwIC8qIEFyZ3VtZW50Q29kZXJzQ29jb2EuaCBpbiBIZWFkZXJzICovLAor
CQkJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE1RTc3MjgxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQUFGQTYzNEYyMzRGN0M2NDAwRkZBODY0IC8qIEFzeW5jUmV2YWxp
ZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFOTY2RDExMkZBRjU3MDA2QkNDMjQgLyog
QXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzMzMiw3ICsxMzMzNCw2IEBACiAJCQkJ
MkQ5MkE3ODUyMTJCNkFCMTAwRjQ5M0ZEIC8qIEJsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5k
Ym94RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxN0NGMEUzMTYzQTQ4NkMwMEMy
OTUwRiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTJEOTJBNzdEMjEyQjZBNzEwMEY0OTNGRCAvKiBDb25uZWN0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTJEOTJBNzdFMjEyQjZBNzEwMEY0OTNGRCAvKiBEYXRh
UmVmZXJlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzdGMjEyQjZBNzEwMEY0OTNG
RCAvKiBEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5REFBMzhDMjRDQkExQTgwMDc5
M0Q3NSAvKiBEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
MEM1NkZFMjI5RjFERUEwMEJEMzNFNyAvKiBEZXZpY2VNYW5hZ2VtZW50U29mdExpbmsubW0gaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCBmOTJkYTZhNDdmN2UyNGYzODM5OWFh
MzY5OGEyMTI5MGQzNjFkNGE2Li5jOWRjNjgyYjg3NTQ5YjgyNTBkYjIyYjJhMWNlMjE1NTUwMDBj
ZWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5
bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC0zNiwxMCArMzYsNiBAQAogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCi1uYW1lc3Bh
Y2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFBheW1lbnRDb29yZGluYXRvcjsKIGNsYXNzIFBheW1lbnRDb250YWN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCmlu
ZGV4IDZjYWNmZmI0NDlkOTQ2Y2IyMjMwZTMwMzk4YjNhODdjM2M2ZTg2NzIuLjJhMDRjNzRmN2Zi
NjM3NzFiYWRmYjU2MzZkMzc1Njg1OGNiMzE3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTM1LDEwICszNSw2IEBA
CiAjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDUxNzc2MDkwMDUzZjY1YTdiYTQ0
ZDZmZTlmNWZkYzVkNWQ2YWMwOGUuLjgwZDA2MmZkNGNmZDE5OWYyZTgzZGVmNmY2NDY1YmRmOTRj
ZjdlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTgyNCw3ICs4MjQsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRl
eHQoR3JhcGhpY3NDb250ZXh0JiwgY29ucwogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLWJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRl
eHR1cmUoR3JhcGhpY3NDb250ZXh0R0wqLCBQbGF0Zm9ybUdMT2JqZWN0LCBHQ0dMZW51bSwgR0NH
TGludCwgR0NHTGVudW0sIEdDR0xlbnVtLCBHQ0dMZW51bSwgYm9vbCwgYm9vbCkKK2Jvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1cmUo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0wqLCBQbGF0Zm9ybUdMT2JqZWN0LCBHQ0dMZW51bSwg
R0NHTGludCwgR0NHTGVudW0sIEdDR0xlbnVtLCBHQ0dMZW51bSwgYm9vbCwgYm9vbCkKIHsKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5LmNwcAppbmRleCA5NWM4MzZlNjk1MDQxZDk3ZDI1OTAzNmZkNzNkZmY1YzQ2
YjhmZjkxLi5jOGM1ODI5MDUwYTUyNThmOWQ5MzE5NzZiOTVmMDVlNTk3YTU2YjMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGlu
YXRpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Ojpjb25uZWN0VG9HUFVQcm9jZXNzKCkKIAogICAgIGF1
dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNz
Q29ubmVjdGlvbigpOwogICAgIGNvbm5lY3Rpb24uYWRkQ2xpZW50KCp0aGlzKTsKLSAgICBib29s
IGRpZFN1Y2NlZWQgPSBjb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kU3luYygKKyAgICBhdXRv
IGRpZFN1Y2NlZWQgPSBjb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kU3luYygKICAgICAgICAg
TWVzc2FnZXM6OlJlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3Rp
bmF0aW9uKG1faW5wdXREZXZpY2VJZCwgbV9udW1iZXJPZklucHV0Q2hhbm5lbHMsIG51bWJlck9m
T3V0cHV0Q2hhbm5lbHMoKSwgc2FtcGxlUmF0ZSgpLCBoYXJkd2FyZVNhbXBsZVJhdGUoKSksCiAg
ICAgICAgIE1lc3NhZ2VzOjpSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlcjo6Q3JlYXRlQXVk
aW9EZXN0aW5hdGlvbjo6UmVwbHkoZGVzdGluYXRpb25JRCksIDApOwogCkBAIC0xMDAsNyArMTAw
LDcgQEAgdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OmNvbm5lY3RUb0dQVVByb2Nl
c3MoKQogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBzdHJlYW1Gb3JtYXQ7CiAgICAg
Z2V0QXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKHN0cmVhbUZvcm1hdCk7CiAgICAgbV9yaW5n
QnVmZmVyLT5hbGxvY2F0ZShzdHJlYW1Gb3JtYXQsIG1fbnVtYmVyT2ZGcmFtZXMpOwotICAgIG1f
YXVkaW9CdWZmZXJMaXN0ID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KHN0cmVhbUZv
cm1hdCk7CisgICAgbV9hdWRpb0J1ZmZlckxpc3QgPSBtYWtlVW5pcXVlPFdlYkNvcmU6OldlYkF1
ZGlvQnVmZmVyTGlzdD4oc3RyZWFtRm9ybWF0KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nv
dXJjZVByb3ZpZGVyLmNwcAppbmRleCBkY2JkNGY4YWZhZmUxMDYwYTYxYjAzMDUzMWUxMmM3NGQz
N2VmZmQzLi4yY2E5N2M2MzdiMWYxOWU4Mjc4YTZhZTcxM2M1YzE0ZTY3NjcxN2U3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNl
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKFdFQl9BVURJTykgJiYgUExBVEZPUk0oQ09DT0EpCiAK
KyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlv
U291cmNlUHJvdmlkZXJNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eU1lc3NhZ2VzLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaApp
bmRleCA3MGU1ZGNiNWNkMDQ2ZWE2NDQ5ZTBmYjY3ZmIzNGIxYzI2MzlkY2YyLi44MTk0MDkwYzkz
M2IyZjExYTY0NjBhYjNjMTc3MmQzNzYxNjM3MTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJj
ZVByb3ZpZGVyTWFuYWdlci5oCkBAIC0yNyw4ICsyNyw5IEBACiAKICNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCi0jaW1wb3J0ICJDb25uZWN0aW9uLmgiCi0jaW1w
b3J0ICJTaGFyZWRNZW1vcnkuaCIKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
U2hhcmVkTWVtb3J5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DQVJpbmdC
dWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVySWRlbnRpZmllci5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvbi5jcHAKaW5kZXggMGRiODVhZTliZDI0MWViYTFiZGE0ZTYyMjQ0MGY2
MzI4ZTFkOGEwYi4uMjk3ZWViZGExOTE4OWRmZTBjZmU2YzFlZDc2OWFhY2I5ZDZkOTExOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQogCisjaW5jbHVk
ZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1GYWN0
b3J5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblByb3h5TWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCmluZGV4
IGQ1NDI0NDJjODQ0ZTU0ODNmZDNjZWQ3ODUwNWRjYTE4Njk0YWU0YTQuLmEzMzllYjdiZmZkNmI0
NTE5NGQyOWExMDkxNGJmYTJmZmJkNzRhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCkBAIC0z
NSw3ICszNSw2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNz
IERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCmlu
ZGV4IDBjNmY3M2QwNzE0NGI1NjI2NzY5MzY3YzlmMmEzYTQwMTdlYWRlODAuLjE2OGVmNDM1ZGRl
NTYxNGQzMGYzYmUyODY3MGE0N2FlZDYxNmRlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApAQCAtMjgsNyAr
MjgsNiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJM
RShHUFVfUFJPQ0VTUykKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJH
UFVQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0NvZGVjc01lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaApp
bmRleCA3MzlhNDk2ZWY0OTRjYjRhNjE4NTY2ZmZjNjRkNGEyNjRhNzRlOWQwLi40YmVhZTA2MjMx
N2JhMjZhNjA2ODNmMWY0NTEyMzNlYjEwNzNhYTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaApAQCAtMjgsNiArMjgs
NyBAQAogI2lmIFVTRShMSUJXRUJSVEMpICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BV
X1BST0NFU1MpCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlJUQ0RlY29k
ZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUlRDRW5jb2RlcklkZW50aWZpZXIuaCIKQEAgLTQz
LDcgKzQ0LDYgQEAgdXNpbmcgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgPSBzdHJ1Y3QgX19DVlBpeGVs
QnVmZmVyUG9vbCo7CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNz
IERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNvZGVyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4
IDJkYWQyMDM4NDJmMGU1NTNmZTNiNDYyNDQxZWU5NGZhMjY0OTNhMTEuLmMyOGNlN2YyZTE3ZTg5
YThlNTE4NmE3NzA2YTJlOGE0NGY2YjdlMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpbmNsdWRlICJBUElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRUeXBlcy5oPgpAQCAtNTQsNyArNTUs
NiBAQCBjbGFzcyBEYXRhOwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3Mg
Q29ubmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtMTYxLDQgKzE2MSwzIEBAIHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIuY3BwCmluZGV4
IDBmZWYyZjhlZDEyODY1NzU2YzQ1MjIyZjFmNjBhZTFmMzM1MmNiNjYuLjQ0NGI3Y2I0NTg1NmY2
OGE3YWNmYjNhYzQxNDgxMjNiMDdlY2FkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0
ZW5zaW9uQ29udHJvbGxlci5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiBXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6OldlYkluc3BlY3RvclVJRXh0ZW5z
aW9uQ29udHJvbGxlcihXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCYgaW5zcGVjdG9y
RnJvbnRlbmQpCiAgICAgOiBtX2Zyb250ZW5kQ2xpZW50KG1ha2VXZWFrUHRyKGluc3BlY3RvckZy
b250ZW5kKSkKIHsKLSAgICBQYWdlKiBwYWdlID0gaW5zcGVjdG9yRnJvbnRlbmQuZnJvbnRlbmRQ
YWdlKCk7CisgICAgYXV0byogcGFnZSA9IGluc3BlY3RvckZyb250ZW5kLmZyb250ZW5kUGFnZSgp
OwogICAgIEFTU0VSVChwYWdlKTsKIAogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmFkZE1l
c3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVy
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIFdlYlBhZ2U6OmZyb21Db3JlUGFnZSgqcGFnZSkuaWRl
bnRpZmllcigpLCAqdGhpcyk7CkBAIC0xMTEsNyArMTExLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JV
SUV4dGVuc2lvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyRXh0ZW5zaW9uKGNvbnN0IEluc3BlY3RvckV4
dGVuc2kKICAgICAgICAgSlNPTjo6VmFsdWU6OmNyZWF0ZShleHRlbnNpb25JRCksCiAgICAgICAg
IEpTT046OlZhbHVlOjpjcmVhdGUoZGlzcGxheU5hbWUpLAogICAgIH07Ci0gICAgbV9mcm9udGVu
ZENsaWVudC0+ZnJvbnRlbmRBUElEaXNwYXRjaGVyKCkuZGlzcGF0Y2hDb21tYW5kV2l0aFJlc3Vs
dEFzeW5jKCJyZWdpc3RlckV4dGVuc2lvbiJfcywgV1RGTW92ZShhcmd1bWVudHMpLCBbd2Vha1Ro
aXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0oSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyOjpFdmFsdWF0aW9u
UmVzdWx0JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBtX2Zyb250ZW5kQ2xpZW50LT5mcm9udGVu
ZEFQSURpc3BhdGNoZXIoKS5kaXNwYXRjaENvbW1hbmRXaXRoUmVzdWx0QXN5bmMoInJlZ2lzdGVy
RXh0ZW5zaW9uIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KHRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShX
ZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXI6OkV2YWx1YXRpb25SZXN1bHQm
JiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8ICFyZXN1bHQpIHsK
ICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVkKEluc3BlY3RvckV4
dGVuc2lvbkVycm9yOjpDb250ZXh0RGVzdHJveWVkKSk7CiAgICAgICAgICAgICByZXR1cm47CkBA
IC0xMzQsNyArMTM0LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6
OnVucmVnaXN0ZXJFeHRlbnNpb24oY29uc3QgSW5zcGVjdG9yRXh0ZW4KICAgICB9CiAKICAgICBW
ZWN0b3I8UmVmPEpTT046OlZhbHVlPj4gYXJndW1lbnRzIHsgSlNPTjo6VmFsdWU6OmNyZWF0ZShl
eHRlbnNpb25JRCkgfTsKLSAgICBtX2Zyb250ZW5kQ2xpZW50LT5mcm9udGVuZEFQSURpc3BhdGNo
ZXIoKS5kaXNwYXRjaENvbW1hbmRXaXRoUmVzdWx0QXN5bmMoInVucmVnaXN0ZXJFeHRlbnNpb24i
X3MsIFdURk1vdmUoYXJndW1lbnRzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEluc3BlY3RvckZy
b250ZW5kQVBJRGlzcGF0Y2hlcjo6RXZhbHVhdGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7
CisgICAgbV9mcm9udGVuZENsaWVudC0+ZnJvbnRlbmRBUElEaXNwYXRjaGVyKCkuZGlzcGF0Y2hD
b21tYW5kV2l0aFJlc3VsdEFzeW5jKCJ1bnJlZ2lzdGVyRXh0ZW5zaW9uIl9zLCBXVEZNb3ZlKGFy
Z3VtZW50cyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVu
ZEFQSURpc3BhdGNoZXI6OkV2YWx1YXRpb25SZXN1bHQmJiByZXN1bHQpIG11dGFibGUgewogICAg
ICAgICBpZiAoIXdlYWtUaGlzIHx8ICFyZXN1bHQpIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKG1ha2VVbmV4cGVjdGVkKEluc3BlY3RvckV4dGVuc2lvbkVycm9yOjpDb250ZXh0RGVz
dHJveWVkKSk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4
IDMwNjRlOWM0YWZjYzJjZmY1NGEzMjVlMjUzMWVkMDUyMmEwMDEzOTMuLmI5Nzk0NjU5ZWFiZDE4
NGIzODljMDZkMTMyZjhjNDJmODA1MjNjYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0z
NCwxMCArMzQsNiBAQAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5j
ZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNz
IFJlc291cmNlUmVxdWVzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4NjU3MTFiMzY2YzI4ZGY0ODRiNGNk
YzA3YWEzZmNmM2RjZWJmMmY2Li42OTQ4OTZjOTk3YTQ5NDBkYmFiMmRhNzY1NzgyMGEyNzhhZjFk
YzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXIuaCIKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJGb3JtRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDU4
M2UzNzljODllY2ZhOTUzMGIwYWJmYTFjNjlmZWE5ZDUzOTY2ZmIuLjdlMWQ0OTk0NzE1Zjg4NDlj
ZThiZmU1ZWMzNDU1ZDQ3Mzc3ODAwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtMjYsNiArMjYsNyBAQAogI3By
YWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlICJTaGFyZWFibGVS
ZXNvdXJjZS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKQEAgLTM2LDcg
KzM3LDYgQEAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBJUEMgewotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIEZvcm1EYXRhUmVmZXJlbmNlOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3Bw
CmluZGV4IDk0ZWYwZDFmY2UyZTYwMWRmNDQ5Y2ZmODUzOWZiZDE2NDc5M2ViZTIuLmZmNjlmNTYw
OWU1NzdjYWM3NzdmMDRhZmE3NGFmMjEwNzQ4NjRmODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0yNiw3ICsy
Niw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0Q2hhbm5lbC5o
IgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrU29ja2V0Q2hhbm5lbE1lc3NhZ2VzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVs
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLmgK
aW5kZXggZjUzNDc4MzQ3ZTc3NWRmMzdlYTk3NjM0YzIzMzA5MzJiNGExNGQyOC4uYWQ3ZmYxODdk
YmI0MzUzYjllZDNiYzU3YzViYTJjNGFhNGU4Y2ZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaApAQCAtMjUsNiArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9OZXR3b3JrU2VuZFF1ZXVlLmg+CkBAIC0zOCw3ICszOSw2IEBACiBuYW1lc3Bh
Y2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJl
ZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcAppbmRleCBhZjI0MmNkMmI1
OTVhYzRhNDQ4NDI5N2JlNWQ1Y2ZlMThkNDhmMzI0Li43ZDAwNzM2OWI5Y2NlODViOGYwNTQ1N2Q2
NjZkMWU0NDUxYjk2YzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay9XZWJTb2NrZXRTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRTdHJlYW0uaCIKIAotI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJlYW0uaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5oCmluZGV4IGRkMDgyMDEwNzEyYjlmNWRi
OWZlYmQ4OGRhNjY5YjZkZjYxZDBmMjkuLmI0M2NiMmVmYWQxZTEwMWVlMjY1YjkzZGRlOWIwNjEy
NzM2YTA5NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlNvY2tldFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlNvY2tldFN0cmVhbS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2lu
Y2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFN0cmVhbUhh
bmRsZS5oPgpAQCAtMzMsNyArMzQsNiBAQAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0
aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaAppbmRleCBjYjQ4ZTA1NzM0OGEyZTg2NmIwOTFm
ZjVhYzg3MjYwNWNhMTkyZGQ1Li4zMjNmMjVlZThmZDgxYjAyNjMwZDJmMjU5YTFhZmI4ODRiNGNm
NWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
TGliV2ViUlRDU29ja2V0LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ1NvY2tldC5oCkBAIC0zNSw3ICszNSw2IEBACiAKIG5hbWVzcGFjZSBJ
UEMgewogY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNv
ZGVyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERG
UGx1Z2luLmgKaW5kZXggZWE1MzU5NjAxMDlmZWU2ZGM0ODA1Y2Y2ODkxMjc5OGVlOWFiNmYwMy4u
NDBiNGM4ZjIxMjljZjEyMzNhMWIzMWI4NTEyN2U3YTdlOWUzZDdjYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaApAQCAtNjAsMTAgKzYw
LDYgQEAgT0JKQ19DTEFTUyBQREZTZWxlY3Rpb247CiBPQkpDX0NMQVNTIFdLUERGUGx1Z2luQWNj
ZXNzaWJpbGl0eU9iamVjdDsKIE9CSkNfQ0xBU1MgV0tQREZMYXllckNvbnRyb2xsZXJEZWxlZ2F0
ZTsKIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBBWE9iamVjdENhY2hlOwogY2xhc3MgRWxlbWVudDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBlMDRlM2E4YjJkMTc4
Y2M4NDk1ZDQ1YmFmODFmMzdkYWVmYmI3YjcwLi4zNjJhZDc3YmU2YWUzMmUwZTY5Y2E5M2ViZmM2
MjNlYTVkYmNmZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQ2FsbGJhY2tJRC5oIgogI2luY2x1ZGUg
IkNvbnRlbnRBc1N0cmluZ0luY2x1ZGVzQ2hpbGRGcmFtZXMuaCIKICNpbmNsdWRlICJDcmVhdGVO
ZXdHcm91cEZvckhpZ2hsaWdodC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFJbmZvLmgiCiAjaW5jbHVk
ZSAiRWRpdGluZ1JhbmdlLmgiCkBAIC0xNjEsNyArMTYyLDYgQEAgY2xhc3MgQXJyYXk7CiAKIG5h
bWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBj
bGFzcyBEZWNvZGVyOwogY2xhc3MgRm9ybURhdGFSZWZlcmVuY2U7CiB9CkBAIC0xMjU4LDcgKzEy
NTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViUGFnZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgot
ICAgIGJvb2wgc2VuZFN5bmNXaXRoRGVsYXllZFJlcGx5KFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBU
OjpSZXBseSYmIHJlcGx5KQorICAgIFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jV2l0aERlbGF5ZWRS
ZXBseShUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSkKICAgICB7CiAgICAg
ICAgIGNhbmNlbEdlc3R1cmVzQmxvY2tlZE9uU3luY2hyb25vdXNSZXBsaWVzKCk7CiAgICAgICAg
IHJldHVybiBzZW5kU3luYyhXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgU2Vjb25k
czo6aW5maW5pdHkoKSwgSVBDOjpTZW5kU3luY09wdGlvbjo6SW5mb3JtUGxhdGZvcm1Qcm9jZXNz
V2lsbFN1c3BlbmQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQppbmRleCAzODM4YWIzMjZkZDgzOTZiNjAxMDdjYmEzZjYyNDUwNzRj
OTdmNzE1Li4wZTI5M2ZhNGRmMTljYmY4Y2Q2NzkzMTc2ZDc4Nzg5MmFkOGUxMjgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpA
QCAtNTE3LDcgKzUxNyw3IEBAIGJvb2wgV2ViUGFnZTo6aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZl
bnQoS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAKICAgICAvLyBGSVhNRTogSW50ZXJwcmV0IHRoZSBl
dmVudCBpbW1lZGlhdGVseSB1cG9uIHJlY2VpdmluZyBpdCBpbiBVSSBwcm9jZXNzLCB3aXRob3V0
IHNlbmRpbmcgdG8gV2ViUHJvY2VzcyBmaXJzdC4KICAgICBib29sIGV2ZW50V2FzSGFuZGxlZCA9
IGZhbHNlOwotICAgIGJvb2wgc2VuZFJlc3VsdCA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBh
cmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkludGVycHJldEtleUV2ZW50KGVkaXRvclN0YXRlKFNob3VsZFBlcmZvcm1MYXlvdXQ6Olllcyks
IHBsYXRmb3JtRXZlbnQtPnR5cGUoKSA9PSBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OkNoYXIpLAor
ICAgIGF1dG8gc2VuZFJlc3VsdCA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nl
c3NDb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkludGVycHJl
dEtleUV2ZW50KGVkaXRvclN0YXRlKFNob3VsZFBlcmZvcm1MYXlvdXQ6OlllcyksIHBsYXRmb3Jt
RXZlbnQtPnR5cGUoKSA9PSBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OkNoYXIpLAogICAgICAgICBN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJbnRlcnByZXRLZXlFdmVudDo6UmVwbHkoZXZlbnRXYXNI
YW5kbGVkKSwgbV9pZGVudGlmaWVyKTsKICAgICByZXR1cm4gc2VuZFJlc3VsdCAmJiBldmVudFdh
c0hhbmRsZWQ7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415718</attachid>
            <date>2020-12-08 22:47:31 -0800</date>
            <delta_ts>2020-12-08 23:51:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219487-20201209084730.patch</filename>
            <type>text/plain</type>
            <size>84510</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmZjk3MTc2OGI4ODc3MzJm
NTYxYWIzNmFhZTc3YjQwN2Q1N2EyYmYuLmVmNTVjZTliNjFkYjMzZThhMzU1ODQ4NzdiOTAwMmU5
YTlkNjQxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQwIEBACisyMDIwLTEyLTAzICBLaW1tbyBL
aW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgSVBDIHNob3VsZCBzdXBw
b3J0IG5vbi1ieXRlIGFsaWduZWQgZGF0YSByZWZlcmVuY2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk0ODcKKworICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBEdW1lei4KKworICAgICAgICBBZGQgYSB0ZW1wbGF0ZWQgdmVyc2lvbiBvZiBJUEM6
OkRhdGFSZWZlcmVuY2U6IEFycmF5UmVmZXJlbmNlPHR5cGUsIG51bWJlciBvZiBlbGVtZW50cz4u
CisgICAgICAgIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgY2FuIGJlIG9taXR0ZWQsIGluIHdoaWNo
IGNhc2UgdGhlIEFycmF5UmVmZXJlbmNlCisgICAgICAgIHNpemUgaXMgZGV0ZXJtaW5lZCBhdCBy
dW4tdGltZS4KKworICAgICAgICBUaGlzIHdheSBwb2ludGVycyBvZiB0eXBlZCBhcnJheXMgc3Vj
aCBhcyBmbG9hdCBhcnJheXMgY2FuIGJlIHRyYW5zZmVycmVkIGRpcmVjdGx5CisgICAgICAgIGZy
b20gdGhlIElQQyBtZXNzYWdlIGRhdGEgc3RvcmUgdG8gdGhlIHRhcmdldC4gVGhpcyBpcyB1c2Vm
dWwgd2hlbiBpbXBsZW1lbnRpbmcKKyAgICAgICAgSVBDIGZvciBXZWJHTCBpbiBHUFUgcHJvY2Vz
cy4KKworICAgICAgICBDaGFuZ2VzIElQQyB0byBzdXBwb3J0IHBhc3NpbmcgZGF0YSByZWZlcmVu
Y2VzLCBpLmUuCisgICAgICAgIERhdGFSZWZlcmVuY2Ugb3IgQXJyYXlSZWZlcmVuY2UsIGFzIGEg
c3luY2hyb25vdXMgSVBDIGNhbGwgcmV0dXJuIHZhbHVlLgorICAgICAgICBUaGUgY2FsbGVyIG11
c3QgaG9sZCB0aGUgQ29ubmVjdGlvbjo6c3luY1NlbmQoKSByZXN1bHQgKERlY29kZXIgb2JqZWN0
KQorICAgICAgICBmb3IgdGhlIGR1cmF0aW9uIG9mIHVzaW5nIHRoZSBkYXRhIHZhbHVlcy4KKwor
ICAgICAgICBNYWtlcyBEYXRhUmVmZXJlbmNlIGFuIGFsaWFzIG9mIHVpbnQ4X3QgZHluYW1pYyBh
cnJheSByZWZlcmVuY2UuCisgICAgICAgIFVuZm9ydHVuYXRlbHkgdGhpcyBtYWtlcyB0aGUgZm9y
d2FyZCBkZWNsYXJpbmcgRGF0YVJlZmVyZW5jZSBoYXJkLgorICAgICAgICBEdWUgdG8gdGhpcywg
Y2hhbmdlcyB1c2UgZGVjbGFyYXRpb24gc2l0ZXMgdG8gI2luY2x1ZGUgaW5zdGVhZCBvZgorICAg
ICAgICB1c2luZyBmb3J3YXJkIGRlY2xhcmF0aW9ucy4gUmVtb3ZlcyBmb3J3YXJkIGRlY2xhcmF0
aW9ucyBmb3IgaGVhZGVycworICAgICAgICB3aGVyZSB0aGUgdHlwZSBpcyBub3QgdXNlZC4KKwor
ICAgICAgICBBZGRzIHZhcmlvdXMgI2luY2x1ZGVzIHRvIGZpeCBlcnJvcnMgaGlkZGVuIGJ5IHRo
ZSB1bmlmaWVkIGJ1aWxkLgorCisgICAgICAgIEFkZHMgc29tZSBXZWJDb3JlOjogbmFtZXNwYWNl
IHF1YWxpZmljYXRpb25zIHRvIGZpeCBlcnJvcnMgaGlkZGVuCisgICAgICAgIGJ5IHRoZSB1bmlm
aWVkIGJ1aWxkLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Np
b25Qcm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Q
cm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94
eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvblBy
b3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJj
ZVByb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW06
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9Db2NvYS9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DdXN0b21Q
cm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWRNYW5hZ2VyLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nv
Y2tldENoYW5uZWwuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRD
aGFubmVsLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5j
cHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFz
ay5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJTb2NrZXRUYXNrQ29jb2EubW06CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHA6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQ
Qy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9BcnJheVJlZmVyZW5j
ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNl
LmguCisgICAgICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjpBcnJheVJlZmVyZW5jZSk6CisgICAg
ICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjppc0VtcHR5IGNvbnN0KToKKyAgICAgICAgKElQQzo6
QXJyYXlSZWZlcmVuY2U6OnNpemUgY29uc3QpOgorICAgICAgICAoSVBDOjpBcnJheVJlZmVyZW5j
ZTo6ZGF0YSBjb25zdCk6CisgICAgICAgIChJUEM6OkFycmF5UmVmZXJlbmNlOjp2ZWN0b3IgY29u
c3QpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgIChJUEM6
OkNvbm5lY3Rpb246OnNlbmRTeW5jKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGF0YVJlZmVy
ZW5jZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2Uu
aDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHA6CisgICAgICAgIChJUEM6OkRl
Y29kZXI6OmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKToKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvRGVjb2Rlci5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcDoKKyAgICAg
ICAgKElQQzo6RW5jb2Rlcjo6d3JhcEZvclRlc3RpbmcpOgorICAgICAgICAqIFBsYXRmb3JtL0lQ
Qy9FbmNvZGVyLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaDoKKyAg
ICAgICAgKiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oOgorICAgICAgICAoSVBDOjpNZXNz
YWdlU2VuZGVyOjpzZW5kU3luYyk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZl
ckNvcHkuY3BwOgorICAgICAgICAoSVBDOjpTaGFyZWRCdWZmZXJDb3B5OjpkZWNvZGUpOgorICAg
ICAgICAqIFBsYXRmb3JtL0lQQy9TaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcDoKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weToKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSURhdGEuY3BwOgorICAgICAgICAqIFNo
YXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxD
ZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPENl
cnRpZmljYXRlSW5mbz46OmRlY29kZSk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5OjpzZW5kU3luYyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1NPQXV0
aG9yaXphdGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxl
clByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlVSTFNjaGVt
ZUhhbmRsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFzay5oOgorICAg
ICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9y
bVRleHR1cmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvRGVzdGluYXRp
b25Qcm94eTo6Y29ubmVjdFRvR1BVUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lv
bi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJl
bW90ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250
cm9sbGVyOjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyRXh0ZW5zaW9u
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyOjp1
bnJlZ2lzdGVyRXh0ZW5zaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRTeW5jV2l0aERl
bGF5ZWRSZXBseSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVu
dCk6CisKIDIwMjAtMTItMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvbmN1cnJlbnQgRGlzcGxheSBMaXN0c10gQWRkIGEgbmV3IHR5cGUgdG8g
cmVwcmVzZW50IGEgc2V0IG9mIEdQVSBwcm9jZXNzIHdha2V1cCBhcmd1bWVudHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHkuY3BwCmluZGV4IGU2YTE4ZGRhNmUwOTJmZGIxODA0NDZlNGYzYTA4M2NmNTNjMjc2MTku
LjM3OTI4ZTFiODNkNGU1MjQ0NTNhOGQyN2NjM2I4NzkwMWIyNDlhM2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblBy
b3h5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgVVNF
KEFVRElPX1NFU1NJT04pCiAKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgi
CisjaW5jbHVkZSAiR1BVUHJvY2Vzcy5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbk1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmgiCiAj
aW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1Qcm94eS5jcHAK
aW5kZXggZDliZjUyMjcyYzM3MjkxNTc1YjViMzkzMjYyZTc3MjEzYjkzMGRkNC4uOGYwMTE5ZWRm
ZTFkNmU5MzI0MzAwNWIzNDQxMjViMjRlYWI5MWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkuY3BwCkBAIC0yOSw2
ICsyOSw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKIAogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNp
bmNsdWRlICJSZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUxlZ2FjeUNETVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNUHJveHkuaAppbmRleCA2YTVjNjcyNWNhYTliZGI4NjdhYjg2YjhjNTdmMzZkZTJj
ODk2ZGNmLi5iZTdmNTIyMGJlOWI4NWY4NjhhNWY4MzdlZmVkNjZkZGY5NWYyOTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNUHJv
eHkuaApAQCAtMzksMTAgKzM5LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgU2hhcmVk
QnVmZmVyOwogfQogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0K
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZW1vdGVMZWdhY3lDRE1Qcm94eQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Np
b25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvblByb3h5LmNwcAppbmRleCA0N2Y1ZDJmMjcwZmE1ZGU0ZmFkZTE1MTQ0NDIxMTE3
OTRlZDM2ZDI4Li4yYzVlN2RlN2QyZTc1Njk2MGEzZjNlYzg3NmM4YjgyNWM2ZTQ1YjUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vz
c2lvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlJl
bW90ZUxlZ2FjeUNETVNlc3Npb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckNv
cHkuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HZW5lcmljVHlwZWRBcnJheVZpZXdJbmxp
bmVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lDRE0uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NoYXJlZEJ1ZmZlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFn
ZXIuY3BwCmluZGV4IGE5OGNmYTRjOWY4MDIzMTkwNGY4ZWYwZWFhOTM2MjI5YWZhOTc1OTguLmZl
YzY1Y2Y2MmI2Njc0YjgzMDBjNTBjZDQzMzQxNWU5MTUxMTQ0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAog
I2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3Vy
Y2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5oCmluZGV4IGQ4OWI4MDNmNmFiZjQxYzhlOWVkZGU0MTQyNzY5MzI4MjZk
MWIzMzguLmMwYTk3MDBhZWE5YTQzNjkyZDk1N2FkNTk2M2Q1NDNkZjE2MGQ2NTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1BvbGljeUNoZWNrZXIuaD4KQEAgLTM1LDcgKzM2LDYgQEAKIG5hbWVzcGFj
ZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFzcyBEYXRhUmVm
ZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaAppbmRleCA1OTY4
YzdiYmQxODljZDQ3OWVmNGFlYWI0ZDQ0OTk1MzNmZDNkNjViLi5mZTU0NGQ1NTUxOTFlNTU2ZTJk
N2UyMzM5NDc1YTAyZmMyOWRjZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgKQEAgLTM5LDcgKzM5LDYgQEAK
IG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7Ci1jbGFz
cyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmNwcAppbmRleCAyNjViNzNiNmE0ZGYzNTNmNDUzZGI3MjNjYzMyOThiYzc4NWIyYzc0Li40NTBh
ZjBiN2JiYjk2YzdlZTllNWJjODk2OTc4YzdiMDEwODIyNmI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5j
cHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIkluaXRpYWxpemF0aW9uU2VnbWVudEluZm8uaCIKICNpbmNs
dWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaAppbmRleCBiYzlmOTlkZmI3YTIzMGI1
ODlhZTM0MmU1Y2QwNDc3MDc1ZjAyMTM4Li40MmM0YTI5NjI4NGZhMDczZDVlMjE1ZWZlMTZkYzkz
ZDcxNzBmNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQogCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKICNp
bmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyLmgiCkBAIC0zOCw3ICszOSw2IEBACiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENv
bm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCmluZGV4IDM2MDMxMGI3ZDEyMWQyODZkOGQxNjFm
MTgzYWJkMGU3NDViODM1MzMuLmQ2MjZhM2MxMmRmZGI3YzBiMzcyMzUyOTU0M2ZlOGE0MTQxNzM3
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldl
YlJUQ0NvZGVjc1Byb3h5LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoTElCV0VCUlRDKSAm
JiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiQ29u
bmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJSVENEZWNv
ZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJUQ0VuY29kZXJJZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULmg+CkBAIC0zNSw3ICszNiw2IEBA
CiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0K
aW5kZXggZjhhYmMxZjQwNWZjMTQ2OTQ3NWI0ZDkwYmFkM2Q1M2NhMGY4MDE0ZS4uNjFjNDcwOGFl
OTZkYmNhYTU2OTgwOWVlMTk5NWJlODE2YTkxZmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5B
QkxFKEdQVV9QUk9DRVNTKQogCi0jaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJMaWJXZWJSVENDb2RlY3NNZXNz
YWdlcy5oIgogI2ltcG9ydCAiTGliV2ViUlRDQ29kZWNzUHJveHlNZXNzYWdlcy5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIu
aAppbmRleCA3ODhjNWYwMGMwMmY0ZjE0OGZlZWNjZDM4ZDEwNjgxOGIwZDdlOTYxLi4zYWI0ZTRi
MWNmMWMxNDEyMzBjMTNlNDU3NmM1ZWQ2ZTZlZmMyZWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaApAQCAtMjcsNiAr
MjcsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCiAKKyNp
bmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlcklkZW50aWZp
ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1v
cnkuaCIKQEAgLTM2LDcgKzM3LDYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0
aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0NvY29hL0xl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q29jb2EubW0KaW5kZXggN2E2MzM2MzQ3YzAwN2U5N2I3M2I1NDM3NzQ5MTY4MzhkNjQwMzdkYS4u
MWFhNTNjYzJmYjc3YmFmOWUzMjY1MDcyMTA4MDlmZDc2Y2ZiYmYyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DdXN0b21Qcm90b2NvbHMvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ29j
b2EubW0KQEAgLTI2LDcgKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgiCiAKLSNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW1wb3J0
ICJOZXR3b3JrUHJvY2Vzcy5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTFNlc3Npb24uaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xz
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKaW5kZXgg
ZjZlZDgxMWY1MzQyZmU0ODU1NTE3NmY4OWQ1MTQ1NzU2MmM2NjU4NS4uMGJjZDU2NzNjOTM0NmFk
YTExZDY1NmMzYWRkNTFiZTRlZGJjMjczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGVnYWN5Q3VzdG9tUHJv
dG9jb2xJRC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudC5oIgpAQCAtMzksMTAgKzQwLDYgQEAgT0JKQ19DTEFTUyBOU1VS
TFNlc3Npb25Db25maWd1cmF0aW9uOwogT0JKQ19DTEFTUyBXS0N1c3RvbVByb3RvY29sOwogI2Vu
ZGlmCiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0gLy8gbmFtZXNw
YWNlIElQQwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0OwpAQCAtMTEyLDQgKzEwOSwzIEBAIHByaXZhdGU6CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwCmluZGV4IGRkYmU0ZWVkZDQ0MWRmODdjNTVhZDMz
MGYwNDJjY2RjZmFkZmI5MGIuLjY1MWZmMjU0ZjkwNWMxNmE5MGNiNDgyYzk3NzNkNGFjNzQyOTRl
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZC5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZURpc3Bvc2l0aW9uLmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJEb3dubG9hZE1hbmFnZXIuaCIKICNpbmNsdWRlICJEb3dubG9hZE1vbml0b3IuaCIK
ICNpbmNsdWRlICJEb3dubG9hZFByb3h5TWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM4YWYzNTA4MDc0NjQy
OTNiOTVmZmFmMDU5ZmRlYzM2OTAxNzcyNzQuLjkzZjAzYTgyNTVmMWFlNzE3MzgzYzAwMjkwYTI0
ZjkxY2E3YzY1ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVk
ZSAiRG93bmxvYWRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRNb25pdG9yLmgiCkBAIC00
NCwxMCArNDUsNiBAQCBPQkpDX0NMQVNTIE5TUHJvZ3Jlc3M7CiBPQkpDX0NMQVNTIE5TVVJMU2Vz
c2lvbkRvd25sb2FkVGFzazsKICNlbmRpZgogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFS
ZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOwogY2xhc3MgQmxvYkRhdGFGaWxlUmVmZXJlbmNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5j
cHAKaW5kZXggMzMyMTYzNDBmMjdjMTYwNWMzY2Q3NGJjNjkwN2I3ZDkxYjQ3Yjc2Mi4uNzI2ZGQ5
OTBiYWZkNDM5NGI1YWZjMDMyYTFjZjIwZjE4NDljNDlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3Bw
CkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRG93bmxv
YWRNYW5hZ2VyLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93
bmxvYWQuaCIKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtMb2FkLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDJjZDE2MWIwYWMzZTc4
OWUyMjQ2YzA1YjAxNjVmMWM3MjY3OGZhNTAuLjk4MGEwNmY3ODM5ZGJkNWU5ZjlkNTA0NTQwOWEz
M2Q3N2IxYzAzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2Fk
SUQuaCIKICNpbmNsdWRlICJEb3dubG9hZE1hcC5oIgogI2luY2x1ZGUgIk5ldHdvcmtEYXRhVGFz
ay5oIgpAQCAtNDksNyArNTAsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3Bh
Y2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1NvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNDQ5YjEzZDhlMDdiMmNkMDQyYzRiYTM2
MzZhYjc5M2QzN2IxYzNmNC4uYzc3ODg4MTFmMDMyZDU4ZjhiNTI3NzM2ZTFkMjI3ODQxMGY5MTNh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0
Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29j
a2V0Q2hhbm5lbC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJOZXR3b3JrU29ja2V0Q2hhbm5lbC5oIgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrU2Vzc2lvbi5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0Q2hhbm5lbC5oCmlu
ZGV4IDMxOTY0MTkwZDE0MWQ1NDlkYTBiYWYyZGM4YmYyOTdiNGU1ODFlODkuLjA0MzRiZjg4MDlh
N2ViM2VjYzE4ZThmNjUwY2MwMjc4YWU2ZWI1MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRDaGFubmVsLmgKQEAgLTI1LDYgKzI1LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvVGltZXIuaD4KQEAgLTQwLDcgKzQxLDYgQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKLWNs
YXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAKaW5kZXgg
NWI0ODljYzUzOGY3YzA3MTUxMDEwNmM1OGY1YzA5NGVjOWE4ZTFiOC4uNDhjODgzYmZjMGZjN2Q1
MDFjOGE0YTRlNzY4NGNjYzMzZTM4YzE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29ya1NvY2tldFN0cmVhbS5oIgogCi0j
aW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtTdG9yYWdlU2Vzc2lv
blByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0U3RyZWFtTWVzc2FnZXMuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0Nvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCmluZGV4IDUy
ZWMzOTI2OTAyMThlZGU2NjhkNTVlNjM4ZDhlMTc1MDJmZDZlZTUuLjczNDI5YTAyNzkwNmI0MTZh
MzhjMGM2YjM5NDZhMGRiOWZiMjA2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1NvY2tldFN0cmVhbUVycm9yLmg+CkBAIC0zNyw3ICszOCw2IEBACiBuYW1lc3BhY2UgSVBDIHsK
IGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRh
c2suaAppbmRleCBkMzNjYmZmMTA4OWNjMTA1ZGQxYTAwYmViZmRmNjFkMzNjN2Y2NmJkLi5kMzdk
NzgwNjk4M2JiYTU0N2NhMGY5MjM1ZWI0YmY2YjczMTU2NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFz
ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL0ZldGNoSWRlbnRpZmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oPgpA
QCAtNDMsNyArNDQsNiBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBuYW1lc3BhY2UgSVBD
IHsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRGVjb2Rl
cjsKIGNsYXNzIEZvcm1EYXRhUmVmZXJlbmNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9XZWJTb2NrZXRUYXNrLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1dlYlNvY2tldFRhc2suaAppbmRleCBkYjU3OTVkZDIxN2Y0NWFkNWY2N2UzMGI3OTFm
OTJlMjc2YzAyOTg2Li45NjFlNDY0NTliZTc3MTc3ZTI2MDVlN2Q4NjUyYWRhODAyMDk3YjUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlNvY2tldFRhc2suaApAQCAtMzEs
OSArMzEsNiBAQAogI2luY2x1ZGUgIldlYlNvY2tldFRhc2tTb3VwLmgiCiAjZWxzZQogCi1uYW1l
c3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNv
Y2tldFRhc2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9XZWJT
b2NrZXRUYXNrQ29jb2EuaAppbmRleCBkYWM2OTM1MDdlYjNlZmNlYTZkMTA5NDgwMWJjMDFiMzZm
ZTI2MzlkLi5lNjgyNmU0N2U4Mzk1OTQwMjhhZjhmNGFlZDIzOTJiNGIwNWQyZjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0VGFz
a0NvY29hLmgKQEAgLTI3LDE1ICsyNywxMiBAQAogCiAjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VC
U09DS0VUKQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBPQkpDX0NMQVNTIE5TVVJMU2Vz
c2lvbldlYlNvY2tldFRhc2s7CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5j
ZTsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsKIGNsYXNz
IE5ldHdvcmtTZXNzaW9uQ29jb2E7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL1dlYlNvY2tldFRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvV2ViU29ja2V0VGFza0NvY29hLm1tCmluZGV4IDg1NTM0ODc0NDA0Y2Uy
YmFhNDRhZTY1NjU0N2QzNzIyNTMzMmVhYjguLjkwYmM0MDliZmZiNzBhMGVlOWU3MzU4YjM4Njc1
OTdkMjlmMjRlMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvV2ViU29ja2V0VGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvV2ViU29ja2V0VGFza0NvY29hLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBI
QVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCiAKLSNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbXBvcnQgIk5ldHdvcmtTZXNzaW9uQ29jb2EuaCIKICNpbXBvcnQgIk5ldHdvcmtTb2NrZXRD
aGFubmVsLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMU2Vzc2lvbi5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5j
cHAKaW5kZXggNDVmYzY2OWQ3NjZhNzYxYzVkNzczZGM5NWYwNTQxYTM4ZTM2ZjhlMy4uYTNlNzAx
NGI1ZDhlYzA5NzM4ZmZhN2Q1NjY0NTQ1MDEwZjA1MzQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3BwCkBAIC0y
Niw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0VGFz
a1NvdXAuaCIKIAotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtTb2NrZXRDaGFubmVsLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9IVFRQUGFyc2Vycy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuaAppbmRleCBlNDIxYjllMWM3MTMxODQzNGY2
NDg3ZjVmY2I1YTZhODdiZDczOTE5Li4wODg5MjM5NTlmZTQ2MGZmMmJiYTRjOGMwODM5OTgwNjU3
YmYzNDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2Vi
U29ja2V0VGFza1NvdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAv
V2ViU29ja2V0VGFza1NvdXAuaApAQCAtMjUsMTQgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQog
CisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgog
I2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgog
Ci1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBX
ZWJLaXQgewogY2xhc3MgTmV0d29ya1NvY2tldENoYW5uZWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IGUwMGEwY2NkZmE1ODc1YzAyOGM1MDUy
MzExNDE3MjhlZTk1YjQzOTIuLmUzOGJjMWM2MGFmNmRjZjAzNjk2NWFhNzhhYWRiZDZkOGQ0YjYy
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApAQCAt
MjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFycmF5UmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKICNpbmNsdWRl
IDx1dGlsaXR5PgpAQCAtNTMsNiArNTQsNDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IFNpbXBsZUFyZ3VtZW50Q29kZXIgewogICAgIH0KIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQs
IHNpemVfdCBFeHRlbnQ+IHN0cnVjdCBBcmd1bWVudENvZGVyPEFycmF5UmVmZXJlbmNlPFQsIEV4
dGVudD4+IHsKKyAgICB1c2luZyBBcnJheVJlZmVyZW5jZVR5cGUgPSBBcnJheVJlZmVyZW5jZTxU
LCBFeHRlbnQ+OworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBBcnJheVJlZmVyZW5jZVR5cGUmIGFycmF5UmVmZXJlbmNlKQorICAgIHsKKyAgICAgICAgaWYg
KCFFeHRlbnQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGVuY29kZXIuZW5jb2RlRml4
ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGFycmF5UmVmZXJl
bmNlLmRhdGEoKSksIGFycmF5UmVmZXJlbmNlLnNpemUoKSAqIHNpemVvZihUKSwgYWxpZ25vZihU
KSk7CisgICAgfQorICAgIHN0YXRpYyBPcHRpb25hbDxBcnJheVJlZmVyZW5jZVR5cGU+IGRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAgaWYgKCFFeHRlbnQpCisgICAgICAg
ICAgICByZXR1cm4gQXJyYXlSZWZlcmVuY2VUeXBlKCk7CisgICAgICAgIGNvbnN0IHVpbnQ4X3Qq
IGRhdGEgPSBkZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKEV4dGVudCAqIHNpemVv
ZihUKSwgYWxpZ25vZihUKSk7CisgICAgICAgIGlmICghZGF0YSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJldHVybiBBcnJheVJlZmVyZW5jZVR5cGUocmVpbnRl
cnByZXRfY2FzdDxjb25zdCBUKj4oZGF0YSksIEV4dGVudCk7CisgICAgfQorfTsKKwordGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8QXJyYXlSZWZlcmVuY2U8VCwgYXJy
YXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50Pj4geworICAgIHVzaW5nIEFycmF5UmVmZXJlbmNlVHlw
ZSA9IEFycmF5UmVmZXJlbmNlPFQsIGFycmF5UmVmZXJlbmNlRHluYW1pY0V4dGVudD47CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFycmF5UmVmZXJlbmNl
VHlwZSYgYXJyYXlSZWZlcmVuY2UpCisgICAgeworICAgICAgICBlbmNvZGVyLmVuY29kZShzdGF0
aWNfY2FzdDx1aW50NjRfdD4oYXJyYXlSZWZlcmVuY2Uuc2l6ZSgpKSk7CisgICAgICAgIGlmICgh
YXJyYXlSZWZlcmVuY2Uuc2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBlbmNv
ZGVyLmVuY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihhcnJheVJlZmVyZW5jZS5kYXRhKCkpLCBhcnJheVJlZmVyZW5jZS5zaXplKCkgKiBzaXplb2Yo
VCksIGFsaWdub2YoVCkpOworICAgIH0KKyAgICBzdGF0aWMgT3B0aW9uYWw8QXJyYXlSZWZlcmVu
Y2VUeXBlPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKKyAgICB7CisgICAgICAgIHVpbnQ2NF90
IHNpemU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2l6ZSkpCisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBpZiAoIXNpemUpCisgICAgICAgICAgICByZXR1
cm4gQXJyYXlSZWZlcmVuY2VUeXBlKCk7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGEgPSBk
ZWNvZGVyLmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJlbmNlKHNpemUgKiBzaXplb2YoVCksIGFsaWdu
b2YoVCkpOworICAgICAgICBpZiAoIWRhdGEpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworICAgICAgICByZXR1cm4gQXJyYXlSZWZlcmVuY2VUeXBlKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgVCo+KGRhdGEpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHNpemUpKTsKKyAgICB9Cit9Owor
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxPcHRpb25TZXQ8VD4+
IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgT3B0aW9u
U2V0PFQ+JiBvcHRpb25TZXQpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvQXJyYXlSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Fy
cmF5UmVmZXJlbmNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ2N2JkZmRiNmExYzZlZDQzNDEyNTFiZjg4ZjA2
MjE2ZDE4NjY3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0FycmF5UmVmZXJlbmNlLmgKQEAgLTAsMCArMSwxMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSA8bGltaXRzPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIElQQyB7CisKK2lubGluZSBjb25zdGV4cHIgc2l6ZV90IGFycmF5UmVmZXJl
bmNlRHluYW1pY0V4dGVudCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCk7CisK
K3RlbXBsYXRlIDx0eXBlbmFtZSBULCBzaXplX3QgRXh0ZW50ID0gYXJyYXlSZWZlcmVuY2VEeW5h
bWljRXh0ZW50PgorY2xhc3MgQXJyYXlSZWZlcmVuY2U7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
PgorY2xhc3MgQXJyYXlSZWZlcmVuY2U8VCwgYXJyYXlSZWZlcmVuY2VEeW5hbWljRXh0ZW50PiB7
CitwdWJsaWM6CisgICAgQXJyYXlSZWZlcmVuY2UoKSA9IGRlZmF1bHQ7CisKKyAgICBBcnJheVJl
ZmVyZW5jZShjb25zdCBUKiBkYXRhLCBzaXplX3Qgc2l6ZSkKKyAgICAgICAgOiBtX2RhdGEoZGF0
YSkKKyAgICAgICAgLCBtX3NpemUoc2l6ZSkKKyAgICB7CisgICAgfQorCisgICAgdGVtcGxhdGUg
PHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAgICBBcnJheVJlZmVyZW5jZShjb25zdCBWZWN0b3I8
VCwgaW5saW5lQ2FwYWNpdHk+JiB2ZWN0b3IpCisgICAgICAgIDogbV9kYXRhKHZlY3Rvci5kYXRh
KCkpCisgICAgICAgICwgbV9zaXplKHZlY3Rvci5zaXplKCkpCisgICAgeworICAgIH0KKworICAg
IGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFtX3NpemU7IH0KKworICAgIHNpemVfdCBz
aXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CisgICAgY29uc3QgVCogZGF0YSgpIGNvbnN0
CisgICAgeworICAgICAgICBpZiAoaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgICAgIHJldHVybiBtX2RhdGE7CisgICAgfQorCisgICAgVmVjdG9yPFQ+IHZlY3Rv
cigpIGNvbnN0CisgICAgeworICAgICAgICBWZWN0b3I8VD4gcmVzdWx0OworICAgICAgICByZXN1
bHQuYXBwZW5kKG1fZGF0YSwgbV9zaXplKTsKKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKworcHJpdmF0ZToKKyAgICBjb25zdCBUKiBtX2RhdGEgeyBudWxscHRyIH07CisgICAgc2l6
ZV90IG1fc2l6ZSB7IDAgfTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBzaXplX3QgRXh0
ZW50PgorY2xhc3MgQXJyYXlSZWZlcmVuY2UgeworcHVibGljOgorICAgIEFycmF5UmVmZXJlbmNl
KCkgPSBkZWZhdWx0OworCisgICAgQXJyYXlSZWZlcmVuY2UoY29uc3QgVCogZGF0YSwgc2l6ZV90
IHNpemUpCisgICAgICAgIDogbV9kYXRhKGRhdGEpCisgICAgeworICAgICAgICBBU1NFUlRfVU5V
U0VEKHNpemUsIHNpemUgPT0gRXh0ZW50KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8c2l6ZV90
IGlubGluZUNhcGFjaXR5PgorICAgIEFycmF5UmVmZXJlbmNlKGNvbnN0IFZlY3RvcjxULCBpbmxp
bmVDYXBhY2l0eT4mIHZlY3RvcikKKyAgICAgICAgOiBtX2RhdGEodmVjdG9yLmRhdGEoKSkKKyAg
ICB7CisgICAgICAgIEFTU0VSVCh2ZWN0b3Iuc2l6ZSgpID09IEV4dGVudCk7CisgICAgfQorCisg
ICAgY29uc3RleHByIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFFeHRlbnQ7IH0KKwor
ICAgIGNvbnN0ZXhwciBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIEV4dGVudDsgfQorCisg
ICAgY29uc3QgVCogZGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoaXNFbXB0eSgpKQor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBtX2RhdGE7CisgICAg
fQorCisgICAgVmVjdG9yPFQ+IHZlY3RvcigpIGNvbnN0CisgICAgeworICAgICAgICBWZWN0b3I8
VD4gcmVzdWx0OworICAgICAgICBpZiAoIWlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQobV9kYXRhLCBFeHRlbnQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKwor
cHJpdmF0ZToKKyAgICBjb25zdCBUKiBtX2RhdGEgeyBudWxscHRyIH07Cit9OworCit0ZW1wbGF0
ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CitBcnJheVJlZmVyZW5jZShjb25z
dCBXVEY6OlZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4mKSAtPiBBcnJheVJlZmVyZW5jZTxUPjsK
KworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmgKaW5kZXggZWMzZDE0YWU4ZjNlYzI0NzA1NDc2M2NhZWU5MDljYzJjODc1ZjVkOC4uYmJkN2Fi
Y2I0Y2RjNjA0MzgyYjEwNjVlMzMyMzg0NDljNmFjNTk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMjI3LDEwICsyMjcsMTIgQEAgcHVibGljOgogICAgIHZv
aWQgbWFya0N1cnJlbnRseURpc3BhdGNoZWRNZXNzYWdlQXNJbnZhbGlkKCk7CiAKICAgICB2b2lk
IHBvc3RDb25uZWN0aW9uRGlkQ2xvc2VPbkNvbm5lY3Rpb25Xb3JrUXVldWUoKTsKLQogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+IHZvaWQgc2VuZFdpdGhBc3luY1JlcGx5KFQm
JiBtZXNzYWdlLCBDJiYgY29tcGxldGlvbkhhbmRsZXIsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQg
PSAwLCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4gPSB7IH0pOyAvLyBUaHJlYWQtc2FmZS4KICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmQoVCYmIG1lc3NhZ2UsIHVpbnQ2NF90IGRlc3Rp
bmF0aW9uSUQsIE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSk7IC8vIFRo
cmVhZC1zYWZlLgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgc2VuZFN5bmMoVCYmIG1l
c3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQs
IFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3lu
Y09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KKyAg
ICAvLyBTeW5jIHNlbmRlcnMgc2hvdWxkIGNoZWNrIHRoZSBTZW5kU3luY1Jlc3VsdCBmb3IgdHJ1
ZS9mYWxzZSBpbiBjYXNlIHRoZXkgbmVlZCB0byBrbm93IGlmIHRoZSByZXN1bHQgd2FzIHJlYWxs
eSByZWNlaXZlZC4KKyAgICAvLyBTeW5jIHNlbmRlcnMgc2hvdWxkIGhvbGQgb24gdG8gdGhlIFNl
bmRTeW5jUmVzdWx0IGluIGNhc2UgdGhleSByZWZlcmVuY2UgdGhlIGNvbnRlbnRzIG9mIHRoZSBy
ZXBseSB2aWEgRGF0YVJlZmVyZXJlbmNlIC8gQXJyYXlSZWZlcmVuY2UuCisgICAgdXNpbmcgU2Vu
ZFN5bmNSZXN1bHQgPSBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj47CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6
OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9
IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNP
cHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBib29sIHdhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5KHVpbnQ2NF90IGRlc3RpbmF0
aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0PFdhaXRGb3JPcHRpb24+IHdhaXRGb3JP
cHRpb25zID0geyB9KTsgLy8gTWFpbiB0aHJlYWQgb25seS4KICAgICAKICAgICAvLyBUaHJlYWQt
c2FmZS4KQEAgLTI0OSw3ICsyNTEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBNYWluIHRocmVhZCBv
bmx5LgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+Ci0gICAgYm9vbCBzZW5k
U3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRp
ZmllcjxVPiBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0
eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAg
ICBTZW5kU3luY1Jlc3VsdCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkm
JiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxVPiBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVv
dXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRT
eW5jT3B0aW9ucyA9IHsgfSkKICAgICB7CiAgICAgICAgIHJldHVybiBzZW5kU3luYzxUPihXVEZN
b3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgZGVzdGluYXRpb25JRC50b1VJbnQ2NCgpLCB0
aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOwogICAgIH0KQEAgLTU1MSw3ICs1NTMsNyBAQCB2b2lk
IG1vdmVUdXBsZShzdGQ6OnR1cGxlPEEuLi4+JiYgYSwgc3RkOjp0dXBsZTxCLi4uPiYgYikKICAg
ICBUdXBsZU1vdmVyPHNpemVvZi4uLihBKSwgc3RkOjp0dXBsZTxBLi4uPiwgc3RkOjp0dXBsZTxC
Li4uPj46Om1vdmUoV1RGTW92ZShhKSwgYik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJv
b2wgQ29ubmVjdGlvbjo6c2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYg
cmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0
PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBD
b25uZWN0aW9uOjpTZW5kU3luY1Jlc3VsdCBDb25uZWN0aW9uOjpzZW5kU3luYyhUJiYgbWVzc2Fn
ZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vj
b25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucykK
IHsKICAgICBDT01QSUxFX0FTU0VSVChUOjppc1N5bmMsIFN5bmNNZXNzYWdlRXhwZWN0ZWQpOwog
ICAgIFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTU3MCwxNSArNTcyLDE1
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgQ29ubmVjdGlvbjo6c2VuZFN5bmMoVCYmIG1l
c3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYKICAgICAvLyBOb3cgc2VuZCB0aGUgbWVzc2FnZSBh
bmQgd2FpdCBmb3IgYSByZXBseS4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gcmVwbHlE
ZWNvZGVyID0gc2VuZFN5bmNNZXNzYWdlKHN5bmNSZXF1ZXN0SUQsIFdURk1vdmUoZW5jb2Rlciks
IHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAgICAgaWYgKCFyZXBseURlY29kZXIpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIC8vIERlY29kZSB0
aGUgcmVwbHkuCiAgICAgT3B0aW9uYWw8dHlwZW5hbWUgVDo6UmVwbHlBcmd1bWVudHM+IHJlcGx5
QXJndW1lbnRzOwogICAgICpyZXBseURlY29kZXIgPj4gcmVwbHlBcmd1bWVudHM7CiAgICAgaWYg
KCFyZXBseUFyZ3VtZW50cykKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4g
eyB9OwogICAgIG1vdmVUdXBsZShXVEZNb3ZlKCpyZXBseUFyZ3VtZW50cyksIHJlcGx5KTsKLSAg
ICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gcmVwbHlEZWNvZGVyOwogfQogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBib29sIENvbm5lY3Rpb246OndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5
KHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCwgT3B0aW9uU2V0PFdhaXRG
b3JPcHRpb24+IHdhaXRGb3JPcHRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9E
YXRhUmVmZXJlbmNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjI1ZmRhN2Jl
ZDJmZThjNDA0OWI1NTg3MDc5ZmQxZTE2MzU0ZjRmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVm
ZXJlbmNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotCi0jaW5jbHVk
ZSAiRGVjb2Rlci5oIgotI2luY2x1ZGUgIkVuY29kZXIuaCIKLQotbmFtZXNwYWNlIElQQyB7Ci0K
LXZvaWQgRGF0YVJlZmVyZW5jZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0g
ICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheSgqdGhpcyk7Ci19Ci0KLWJv
b2wgRGF0YVJlZmVyZW5jZTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIERhdGFSZWZlcmVuY2Um
IGRhdGFSZWZlcmVuY2UpCi17Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5n
dGhCeXRlQXJyYXkoZGF0YVJlZmVyZW5jZSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIElQQwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oCmluZGV4IDM0NTBjMzFiNzNk
ZGI2YWE1ZWRjZTJhZjgwMDI5ODg3Yzc5OGUyMDUuLmRiYjNkNjkyN2YzNDFjNWFhOTNmYzEwNzNj
YjA3NTZlM2NiYTM3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Rh
dGFSZWZlcmVuY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EYXRhUmVmZXJl
bmNlLmgKQEAgLTI1LDU0ICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKyNpbmNsdWRlICJBcnJheVJlZmVyZW5jZS5oIgogCiBuYW1lc3BhY2UgSVBD
IHsKIAotY2xhc3MgRGVjb2RlcjsKLWNsYXNzIEVuY29kZXI7Ci0gICAgCi1jbGFzcyBEYXRhUmVm
ZXJlbmNlIHsKLXB1YmxpYzoKLSAgICBEYXRhUmVmZXJlbmNlKCkgPSBkZWZhdWx0OwotCi0gICAg
RGF0YVJlZmVyZW5jZShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSkKLSAgICAgICAg
OiBtX2RhdGEoZGF0YSkKLSAgICAgICAgLCBtX3NpemUoc2l6ZSkKLSAgICB7Ci0gICAgfQotCi0g
ICAgdGVtcGxhdGU8c2l6ZV90IGlubGluZUNhcGFjaXR5PgotICAgIERhdGFSZWZlcmVuY2UoY29u
c3QgVmVjdG9yPHVpbnQ4X3QsIGlubGluZUNhcGFjaXR5PiYgdmVjdG9yKQotICAgICAgICA6IG1f
ZGF0YSh2ZWN0b3IuZGF0YSgpKQotICAgICAgICAsIG1fc2l6ZSh2ZWN0b3Iuc2l6ZSgpKQotICAg
IHsKLSAgICB9Ci0KLSAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiAhbV9zaXplOyB9
Ci0KLSAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQotICAgIGNvbnN0
IHVpbnQ4X3QqIGRhdGEoKSBjb25zdCAKLSAgICB7IAotICAgICAgICBpZiAoaXNFbXB0eSgpKQot
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBtX2RhdGE7IAotICAg
IH0KLQotICAgIFZlY3Rvcjx1aW50OF90PiB2ZWN0b3IoKSBjb25zdAotICAgIHsKLSAgICAgICAg
VmVjdG9yPHVpbnQ4X3Q+IHJlc3VsdDsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChtX2RhdGEsIG1f
c2l6ZSk7Ci0KLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLSAgICB2b2lkIGVuY29k
ZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRl
Y29kZShEZWNvZGVyJiwgRGF0YVJlZmVyZW5jZSYpOwotCi1wcml2YXRlOgotICAgIGNvbnN0IHVp
bnQ4X3QqIG1fZGF0YSB7IG51bGxwdHIgfTsKLSAgICBzaXplX3QgbV9zaXplIHsgMCB9OwotfTsK
K3VzaW5nIERhdGFSZWZlcmVuY2UgPSBBcnJheVJlZmVyZW5jZTx1aW50OF90LCBhcnJheVJlZmVy
ZW5jZUR5bmFtaWNFeHRlbnQ+OwogCiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvRGVjb2Rlci5jcHAKaW5kZXggNzhhNDYzOGViNzMwNWJmZDE5MTA4NzA2OGQzMGJj
ZGI4ZGZlODJhZS4uMmNiNzliNzMxYzhkMzUxYTJkMDU5NDYzNjJjNWFiOGJiYWRiZGM1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKQEAgLTE4NiwyMCArMTg2LDE1IEBA
IGJvb2wgRGVjb2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHVpbnQ4X3QqIGRhdGEsIHNpemVf
dCBzaXplLCBzaXplX3QgYWxpZ25tZW50CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgRGVj
b2Rlcjo6ZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoRGF0YVJlZmVyZW5jZSYgZGF0YVJl
ZmVyZW5jZSkKK2NvbnN0IHVpbnQ4X3QqIERlY29kZXI6OmRlY29kZUZpeGVkTGVuZ3RoUmVmZXJl
bmNlKHNpemVfdCBzaXplLCBzaXplX3QgYWxpZ25tZW50KQogewotICAgIHVpbnQ2NF90IHNpemU7
Ci0gICAgaWYgKCFkZWNvZGUoc2l6ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAg
ICBpZiAoIWFsaWduQnVmZmVyUG9zaXRpb24oMSwgc2l6ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBpZiAoIWFsaWduQnVmZmVyUG9zaXRpb24oYWxpZ25tZW50LCBzaXplKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBjb25zdCB1aW50OF90KiBkYXRhID0gbV9idWZmZXJQ
b3M7CiAgICAgbV9idWZmZXJQb3MgKz0gc2l6ZTsKIAotICAgIGRhdGFSZWZlcmVuY2UgPSBEYXRh
UmVmZXJlbmNlKGRhdGEsIHNpemUpOwotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBkYXRh
OwogfQogCiBib29sIERlY29kZXI6OnJlbW92ZUF0dGFjaG1lbnQoQXR0YWNobWVudCYgYXR0YWNo
bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaAppbmRleCBiNzJkZDhhY2UyNzcz
ZGIzNTU5ZTM2NmRkOTUyNGYyMzQxZTU1ZTA2Li4zNDRjZTY4ODJmYzkwOTg0YjJmYTU3YmY5YzQ4
Yjk2NTBlMGZmNzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNv
ZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5oCkBAIC00MCw3
ICs0MCw2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogCi1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xh
c3MgSW1wb3J0YW5jZUFzc2VydGlvbjsKIGVudW0gY2xhc3MgTWVzc2FnZUZsYWdzIDogdWludDhf
dDsKIGVudW0gY2xhc3MgU2hvdWxkRGlzcGF0Y2hXaGVuV2FpdGluZ0ZvclN5bmNSZXBseSA6IHVp
bnQ4X3Q7CkBAIC03OCw4ICs3Nyw5IEBAIHB1YmxpYzoKIAogICAgIFdBUk5fVU5VU0VEX1JFVFVS
TiBib29sIGRlY29kZUZpeGVkTGVuZ3RoRGF0YSh1aW50OF90KiBkYXRhLCBzaXplX3QsIHNpemVf
dCBhbGlnbm1lbnQpOwogCi0gICAgLy8gVGhlIGRhdGEgaW4gdGhlIGRhdGEgcmVmZXJlbmNlIGhl
cmUgd2lsbCBvbmx5IGJlIHZhbGlkIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIEFyZ3VtZW50RGVj
b2RlciBvYmplY3QuCi0gICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoRGF0YVJlZmVyZW5jZSYpOworICAgIC8vIFRoZSBkYXRhIGluIHRoZSBy
ZXR1cm5lZCBwb2ludGVyIGhlcmUgd2lsbCBvbmx5IGJlIHZhbGlkIGZvciB0aGUgbGlmZXRpbWUg
b2YgdGhlIEFyZ3VtZW50RGVjb2RlciBvYmplY3QuCisgICAgLy8gUmV0dXJucyBudWxscHRyIG9u
IGZhaWx1cmUuCisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGNvbnN0IHVpbnQ4X3QqIGRlY29kZUZp
eGVkTGVuZ3RoUmVmZXJlbmNlKHNpemVfdCwgc2l6ZV90IGFsaWdubWVudCk7CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYXJpdGhtZXRpYzxUPjo6
dmFsdWU+KiA9IG51bGxwdHI+CiAgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKFQm
IHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcAppbmRleCBmZDQwOTA3
NzRiMmJjMmE3NjI5YjljMDJkYzU1NGM0Y2RjOThmNWNiLi5lODNhM2U0YWZmNDJhNTc1NTA1ZGM4
ZjA3MzE3YTFjMWFjMTlkZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9FbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmNw
cApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkVuY29k
ZXIuaCIKIAorI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VGbGFncy5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4K
QEAgLTE0MSw3ICsxNDIsNyBAQCB2b2lkIEVuY29kZXI6OndyYXBGb3JUZXN0aW5nKHN0ZDo6dW5p
cXVlX3B0cjxFbmNvZGVyPiBvcmlnaW5hbCkKIAogICAgIG9yaWdpbmFsLT5zZXRTaG91bGREaXNw
YXRjaE1lc3NhZ2VXaGVuV2FpdGluZ0ZvclN5bmNSZXBseShTaG91bGREaXNwYXRjaFdoZW5XYWl0
aW5nRm9yU3luY1JlcGx5OjpZZXMpOwogCi0gICAgZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJy
YXkoRGF0YVJlZmVyZW5jZShvcmlnaW5hbC0+YnVmZmVyKCksIG9yaWdpbmFsLT5idWZmZXJTaXpl
KCkpKTsKKyAgICAqdGhpcyA8PCBEYXRhUmVmZXJlbmNlKG9yaWdpbmFsLT5idWZmZXIoKSwgb3Jp
Z2luYWwtPmJ1ZmZlclNpemUoKSk7CiAKICAgICBWZWN0b3I8QXR0YWNobWVudD4gYXR0YWNobWVu
dHMgPSBvcmlnaW5hbC0+cmVsZWFzZUF0dGFjaG1lbnRzKCk7CiAgICAgcmVzZXJ2ZShhdHRhY2ht
ZW50cy5zaXplKCkpOwpAQCAtMjE2LDEyICsyMTcsNiBAQCB2b2lkIEVuY29kZXI6OmVuY29kZUZp
eGVkTGVuZ3RoRGF0YShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IGFs
aQogICAgIG1lbWNweShidWZmZXIsIGRhdGEsIHNpemUpOwogfQogCi12b2lkIEVuY29kZXI6OmVu
Y29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNvbnN0IERhdGFSZWZlcmVuY2UmIGRhdGFSZWZl
cmVuY2UpCi17Ci0gICAgZW5jb2RlKHN0YXRpY19jYXN0PHVpbnQ2NF90PihkYXRhUmVmZXJlbmNl
LnNpemUoKSkpOwotICAgIGVuY29kZUZpeGVkTGVuZ3RoRGF0YShkYXRhUmVmZXJlbmNlLmRhdGEo
KSwgZGF0YVJlZmVyZW5jZS5zaXplKCksIDEpOwotfQotCiB2b2lkIEVuY29kZXI6OmFkZEF0dGFj
aG1lbnQoQXR0YWNobWVudCYmIGF0dGFjaG1lbnQpCiB7CiAgICAgbV9hdHRhY2htZW50cy5hcHBl
bmQoV1RGTW92ZShhdHRhY2htZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9FbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9FbmNvZGVyLmgK
aW5kZXggMGVjZjU0MWY3Nzg1ODUzNmYxZmNmYTgzNmI3NmYyNDgyZTRjOWExMS4uZWE2MTk2N2Jl
MWViY2JkOGI2ZmJiYWE4Yjg1YWY0MThlOGQ1MGNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0VuY29kZXIuaApAQCAtMzYsNyArMzYsNiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAotY2xhc3Mg
RGF0YVJlZmVyZW5jZTsKIGVudW0gY2xhc3MgTWVzc2FnZUZsYWdzIDogdWludDhfdDsKIGVudW0g
Y2xhc3MgTWVzc2FnZU5hbWUgOiB1aW50MTZfdDsKIGVudW0gY2xhc3MgU2hvdWxkRGlzcGF0Y2hX
aGVuV2FpdGluZ0ZvclN5bmNSZXBseSA6IHVpbnQ4X3Q7CkBAIC02Miw3ICs2MSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHdyYXBGb3JUZXN0aW5nKHN0ZDo6dW5pcXVlX3B0cjxFbmNvZGVyPik7CiAK
ICAgICB2b2lkIGVuY29kZUZpeGVkTGVuZ3RoRGF0YShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QsIHNpemVfdCBhbGlnbm1lbnQpOwotICAgIHZvaWQgZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRl
QXJyYXkoY29uc3QgRGF0YVJlZmVyZW5jZSYpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
c3RkOjplbmFibGVfaWZfdDwhc3RkOjppc19lbnVtPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0
X3Q8c3RkOjpyZW1vdmVfcmVmZXJlbmNlX3Q8VD4+Pjo6dmFsdWUgJiYgIXN0ZDo6aXNfYXJpdGht
ZXRpYzx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdF90PHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZV90
PFQ+Pj46OnZhbHVlPiogPSBudWxscHRyPgogICAgIHZvaWQgZW5jb2RlKFQmJiB0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCmluZGV4IDdmZDE4M2E1NmFlOThi
MDY2NDVmZjc1MTQ4YWMyOTgzYzUyZTRhZWIuLjQxMjlkNGUyYjQ5ZDVjOGZjNDFhMmQ2NTRhZGNk
ODllODZjNjM3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0hhbmRs
ZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdl
LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQXJndW1lbnRD
b2RlcnMuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBs
ZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC05Niw3
ICs5Nyw2IEBAIHN0cnVjdCBDb2RpbmdUeXBlIHsKICAgICB0eXBlZGVmIHN0ZDo6cmVtb3ZlX2Nv
bnN0X3Q8c3RkOjpyZW1vdmVfcmVmZXJlbmNlX3Q8VD4+IFR5cGU7CiB9OwogCi1jbGFzcyBEYXRh
UmVmZXJlbmNlOwogY2xhc3MgU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZTsKIHRlbXBsYXRlPD4g
c3RydWN0IENvZGluZ1R5cGU8Y29uc3QgU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZSY+IHsKICAg
ICB1c2luZyBUeXBlID0gRGF0YVJlZmVyZW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L01lc3NhZ2VTZW5kZXIuaAppbmRleCA0NmUyMWQ4ZDkzNmYyZDhiNTE2N2IyNDlmODgxMTE2ZmZl
YjdkNGI5Li43NzQ2MWQ1NTViNzI5MmMyMGViZjUxNGEzMDJkMWRjNmU3NzcwMTFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oCkBAIC01NCw5ICs1NCwxMCBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gc2VuZDxVPihtZXNzYWdlLCBkZXN0aW5h
dGlvbklELnRvVUludDY0KCksIHNlbmRPcHRpb25zKTsKICAgICB9CisgICAgdXNpbmcgU2VuZFN5
bmNSZXN1bHQgPSBDb25uZWN0aW9uOjpTZW5kU3luY1Jlc3VsdDsKIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVw
bHkmJiByZXBseSwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9u
U2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pCisgICAgU2VuZFN5bmNS
ZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIFNl
Y29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09w
dGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAgICAgICAgc3RhdGljX2Fzc2Vy
dChUOjppc1N5bmMsICJNZXNzYWdlIGlzIG5vdCBzeW5jISIpOwogCkBAIC02NCw3ICs2NSw3IEBA
IHB1YmxpYzoKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGJvb2wgc2Vu
ZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRl
c3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlv
blNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQorICAgIFNlbmRTeW5j
UmVzdWx0IHNlbmRTeW5jKFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCB1
aW50NjRfdCBkZXN0aW5hdGlvbklELCBTZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0
eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpKTsKIApAQCAtNzIs
NyArNzMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSwgdHlw
ZW5hbWUgVD4KLSAgICBib29sIHNlbmRTeW5jKFUmJiBtZXNzYWdlLCB0eXBlbmFtZSBVOjpSZXBs
eSYmIHJlcGx5LCBPYmplY3RJZGVudGlmaWVyPFQ+IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGlt
ZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4gc2Vu
ZFN5bmNPcHRpb25zID0geyB9KQorICAgIFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jKFUmJiBtZXNz
YWdlLCB0eXBlbmFtZSBVOjpSZXBseSYmIHJlcGx5LCBPYmplY3RJZGVudGlmaWVyPFQ+IGRlc3Rp
bmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IFNlY29uZHM6OmluZmluaXR5KCksIE9wdGlvblNl
dDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAgICAgICAg
cmV0dXJuIHNlbmRTeW5jPFU+KHN0ZDo6Zm9yd2FyZDxVPihtZXNzYWdlKSwgV1RGTW92ZShyZXBs
eSksIGRlc3RpbmF0aW9uSUQudG9VSW50NjQoKSwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25zKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TaGFyZWRCdWZm
ZXJDb3B5LmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHku
Y3BwCmluZGV4IDdhM2NiMzM4NzYzNmRjYWZjZWFjZWFkOTFiODYzOWI3YmE3NjM2YzYuLjUwMGY4
MzlkZmFhZTkyOTdmNGRjNjNkYzY2MzA1ODc3YjIyZGYyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHkuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgogCisjaW5j
bHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVuY29kZXIuaCIKQEAgLTQ4LDcgKzQ5LDcgQEAg
dm9pZCBTaGFyZWRCdWZmZXJDb3B5OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIE9w
dGlvbmFsPFNoYXJlZEJ1ZmZlckNvcHk+IFNoYXJlZEJ1ZmZlckNvcHk6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQogewogICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhOwotICAgIGlmICghZGVj
b2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShkYXRhKSkKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGRhdGEpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIFJlZlB0
cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcjsKICAgICBpZiAoZGF0YS5zaXplKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2Uu
Y3BwCmluZGV4IDJmNzI4NWFjMGI0YmQ2ZGUxMWRmZWI5ZmUzMjhmMDFjOTk5OTUwYTAuLmU5NmRm
YjFmYmY4OTFjZDRhMGM3NzRlODVjOTA3ODc1OGE2ZmU4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuY3BwCkBA
IC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVm
ZmVyRGF0YVJlZmVyZW5jZS5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlICJFbmNvZGVyLmgiCiAKIG5hbWVzcGFjZSBJUEMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL1N0cmluZ1JlZmVyZW5jZS5jcHAKaW5kZXggODUyZWY0M2UwMDg2MzFjOWZhZmE4
MjMwYzkxOWMxN2E5ZDRhMjliNi4uMjE2MTEzOWMzMDE0ZjBlYWZiM2RjNDdjODVkYTQxOTBhMmJh
MDY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJl
bmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJpbmdSZWZlcmVuY2Uu
Y3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU3Ry
aW5nUmVmZXJlbmNlLmgiCiAKKyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAiRW5jb2Rl
ci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJv
bGxlclByb3h5LmNwcAppbmRleCA4YjM3NDBmNGIxMDFhZDkwZjUwZWQ1N2M4NTBiOTAzMGZjYzQz
MGMyLi40YjIwYzg1YWM1MzYyMzY0MDNhODNlYTk3M2NkY2NkMTBmZGY3MmY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNw
cApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAK
LSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTlBPYmplY3RQcm94eS5oIgog
I2luY2x1ZGUgIk5QUmVtb3RlT2JqZWN0TWFwLmgiCiAjaW5jbHVkZSAiTlBSdW50aW1lVXRpbGl0
aWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29u
dHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJv
bGxlclByb3h5LmgKaW5kZXggYWQ0ZmNkOWQ4Y2NmNDJmMTJlZTQ4OGUwMTM0NmM2MTlhNzAxYjhk
Mi4uYzdhNzA1M2NiZDI2ZDIwNDU0YzA0MmM2YWNlMTZjYjUyNTMwZjQzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaApAQCAt
MjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCiAjaW5jbHVk
ZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJQ
bHVnaW4uaCIKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2hhcmVh
YmxlQml0bWFwLmgiCkBAIC0zNywxMCArMzgsNiBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotICAgIGNs
YXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBMYXll
ckhvc3RpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkK
aW5kZXggY2EwYWUyODQxMWE4M2RlNGJmM2ZlMDhiMDEyZTQwNTU0OGQ4YjU3My4uZDZlZTJiY2Jj
YWI2YTcwZTQyZDBlOTg4NDlhYTgxMzAwOTY0Y2EyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yMDMsNiArMjAzLDcgQEAgZGVmIGZvcndhcmRfZGVjbGFy
YXRpb25zX2Zvcl9uYW1lc3BhY2UobmFtZXNwYWNlLCBraW5kX2FuZF90eXBlcyk6CiAKIGRlZiB0
eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKCk6CiAgICAgcmV0dXJuIGZyb3pl
bnNldChbCisgICAgICAgICdJUEM6OkRhdGFSZWZlcmVuY2UnLAogICAgICAgICAnTWFjaFNlbmRS
aWdodCcsCiAgICAgICAgICdNZWRpYVRpbWUnLAogICAgICAgICAnU3RyaW5nJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FQSS9BUElEYXRhLmNwcAppbmRleCA2MTM0M2JkOTQxMDZiNmU3ODlmODNiYzI1ZGU3
OWY3YTYwNDA5M2NjLi5jNzgyMzE2ZjMwNTdhM2NhZjlkM2UyMDc3YzgxMzI1NTNlNjk3NTZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSURhdGEuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQVBJRGF0YS5oIgogCisjaW5jbHVkZSAiQXJndW1l
bnRDb2RlcnMuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAiRW5jb2Rlci5oIgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwCmluZGV4IDli
ZDhhODE3NTQ5ZjU4ZmUzODNkNzI1ZGE2NjNmM2JjNTRjYTBkNzQuLjc3ZTliNGQ1Y2M3NTJmYmNk
YjZiNjVmOWFkYzI2MDE5NTZjYTE0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NmL0Fy
Z3VtZW50Q29kZXJzQ0YuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnNDRi5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgog
I2luY2x1ZGUgIkVuY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9z
b3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwCmluZGV4IDFkODRlMmZlMjY4ZjM0NjBl
YjI5NzVjNDJiYTk1ZDE0ZjFkMjM1Y2YuLmZhMjY4ZDU4NGEwZmM4ZGY4N2EyMWZhNDU2MDc3Yjhj
NWQ0MmI4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3NvdXAvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIEFyZ3VtZW50
Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENl
cnRpZmljYXRlSQogICAgIC8vIEVuY29kZSBzdGFydGluZyBmcm9tIHRoZSByb290IGNlcnRpZmlj
YXRlLgogICAgIGZvciAoc2l6ZV90IGkgPSBjZXJ0aWZpY2F0ZXNEYXRhTGlzdC5zaXplKCk7IGkg
PiAwOyAtLWkpIHsKICAgICAgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0
ZXNEYXRhTGlzdFtpIC0gMV0uZ2V0KCk7Ci0gICAgICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0
aWZpY2F0ZS0+bGVuKSk7CisgICAgICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKGNl
cnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKTsKICAgICB9CiAKICAgICBlbmNvZGVy
IDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOwpA
QCAtMTAwLDcgKzEwMCw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+Ojpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjCiAgICAgR1JlZlB0cjxH
VGxzQ2VydGlmaWNhdGU+IGNlcnRpZmljYXRlOwogICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkg
PCBjaGFpbkxlbmd0aDsgaSsrKSB7CiAgICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBjZXJ0aWZp
Y2F0ZURhdGFSZWZlcmVuY2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxl
bmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UpKQorICAgICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZSkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICAgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRl
X2FycmF5X3NpemVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKQEAgLTI3
Nyw0ICsyNzcsMyBAQCBPcHRpb25hbDxTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU+ICBB
cmd1bWVudENvZGVyPFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdQogI2VuZGlmCiAKIH0KLQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKaW5kZXggY2I3OGJiMjJiNjczMjc0NDUxY2EzY2NkYzU2YTVlZmVmNjc3NTk4MC4uODlk
N2I2NWM2NzUxNGU5MGMzZmRlMjQ5MjA4NzU3ZjRhNjZlODVhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0x
MzgsNyArMTM4LDYgQEAgUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmNwcCBAbm8tdW5pZnkKIFBsYXRm
b3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvQXR0YWNo
bWVudC5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAgQG5vLXVuaWZ5
Ci1QbGF0Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMv
RGVjb2Rlci5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvRW5jb2Rlci5jcHAgQG5vLXVuaWZ5
CiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcCBAbm8tdW5pZnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElJY29uTG9hZGluZ0NsaWVudC5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50LmgKaW5kZXggMmZlMzg2
MjU5NDYzYmZiMzYyM2ViYmRiNGZlZjVmODM5MzZiMGQzZC4uNzM3YjYyNTgxOTg2NmEwZWNiNTk5
YTIxMzBiMzI5MTNlYWYzOTZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSUljb25Mb2FkaW5nQ2xpZW50LmgKQEAgLTMwLDEwICszMCw2IEBACiAjaW5jbHVkZSA8
d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAKLW5h
bWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIEFQSSB7
CiAKIGNsYXNzIEljb25Mb2FkaW5nQ2xpZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgKaW5kZXggNGYzOThiNTMwZjYwODU3NWM5NjdiODNj
NzRmYTJmNDMyOGY2Y2UzYi4uOGNhOTdlNmU1OTdiZDcxMTBhMGQ3MzhlMGM0YTdjODU2MDNhOGE3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5
LmgKQEAgLTUzLDcgKzUzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgUHJvY2Vzc1Rocm90dGxl
ciYgdGhyb3R0bGVyKCkgPSAwOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBzZW5k
KFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBPcHRpb25TZXQ8SVBDOjpTZW5k
T3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9v
bCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiwgdWludDY0X3QgZGVz
dGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9zLCBPcHRpb25TZXQ8SVBDOjpTZW5kU3lu
Y09wdGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KTsKKyAgICB1c2luZyBTZW5kU3luY1Jlc3Vs
dCA9IElQQzo6Q29ubmVjdGlvbjo6U2VuZFN5bmNSZXN1bHQ7CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJl
cGx5JiYsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMgdGltZW91dCA9IDFfcywgT3B0
aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSk7CiAKICAg
ICBlbnVtIGNsYXNzIFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFjdGl2aXR5IDogYm9vbCB7
IE5vLCBZZXMgfTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBDPiB2b2lkIHNl
bmRXaXRoQXN5bmNSZXBseShUJiYsIEMmJiwgdWludDY0X3QgZGVzdGluYXRpb25JRCA9IDAsIE9w
dGlvblNldDxJUEM6OlNlbmRPcHRpb24+ID0geyB9LCBTaG91bGRTdGFydFByb2Nlc3NUaHJvdHRs
ZXJBY3Rpdml0eSA9IFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFjdGl2aXR5OjpZZXMpOwpA
QCAtNjUsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+Ci0gICAgYm9vbCBzZW5kU3luYyhUJiYgbWVzc2FnZSwgdHlwZW5h
bWUgVDo6UmVwbHkmJiByZXBseSwgT2JqZWN0SWRlbnRpZmllcjxVPiBkZXN0aW5hdGlvbklELCBT
ZWNvbmRzIHRpbWVvdXQgPSAxX3MsIE9wdGlvblNldDxJUEM6OlNlbmRTeW5jT3B0aW9uPiBzZW5k
U3luY09wdGlvbnMgPSB7IH0pCisgICAgU2VuZFN5bmNSZXN1bHQgc2VuZFN5bmMoVCYmIG1lc3Nh
Z2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHksIE9iamVjdElkZW50aWZpZXI8VT4gZGVzdGlu
YXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gMV9zLCBPcHRpb25TZXQ8SVBDOjpTZW5kU3luY09w
dGlvbj4gc2VuZFN5bmNPcHRpb25zID0geyB9KQogICAgIHsKICAgICAgICAgcmV0dXJuIHNlbmRT
eW5jPFQ+KFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0aW5hdGlvbklELnRv
VUludDY0KCksIHRpbWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAgICAgfQpAQCAtMTYzLDEyICsx
NjQsMTIgQEAgYm9vbCBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnNlbmQoVCYmIG1lc3NhZ2UsIHVp
bnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDwKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUg
VT4gCi1ib29sIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6c2VuZFN5bmMoVSYmIG1lc3NhZ2UsIHR5
cGVuYW1lIFU6OlJlcGx5JiYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFNlY29uZHMg
dGltZW91dCwgT3B0aW9uU2V0PElQQzo6U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucykK
K0F1eGlsaWFyeVByb2Nlc3NQcm94eTo6U2VuZFN5bmNSZXN1bHQgQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5OjpzZW5kU3luYyhVJiYgbWVzc2FnZSwgdHlwZW5hbWUgVTo6UmVwbHkmJiByZXBseSwgdWlu
dDY0X3QgZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8SVBDOjpTZW5k
U3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zKQogewogICAgIENPTVBJTEVfQVNTRVJUKFU6Omlz
U3luYywgU3luY01lc3NhZ2VFeHBlY3RlZCk7CiAKICAgICBpZiAoIW1fY29ubmVjdGlvbikKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4geyB9OwogCiAgICAgVHJhY2VTY29w
ZSBzY29wZShTeW5jTWVzc2FnZVN0YXJ0LCBTeW5jTWVzc2FnZUVuZCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9TdWJGcmFtZVNP
QXV0aG9yaXphdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NP
QXV0aG9yaXphdGlvbi9TdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaAppbmRleCA4MjNj
MjAyYTg1NmEwMTM2ZGQ5ZWE3NTlmMGVjZGViYTQ3ZjRmMzYyLi5iNTc3Y2JkZjhlMDc4ZjRmYjRm
ODczNGQ3YmZkNjA4ZDIwMzg4MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9TT0F1dGhvcml6YXRpb24vU3ViRnJhbWVTT0F1dGhvcml6YXRpb25TZXNzaW9uLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1N1YkZy
YW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oCkBAIC0zMiwxMCArMzIsNiBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvRnJhbWVJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKLW5h
bWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1Ymxp
YyBOYXZpZ2F0aW9uU09BdXRob3JpemF0aW9uU2Vzc2lvbiwgcHVibGljIEZyYW1lTG9hZFN0YXRl
OjpPYnNlcnZlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkuaAppbmRleCBmZjk4Yjg0ZmE4OWRiZWZkZDY0NjY2YmJiYTQy
ZmM5MGNlYzM1NzdmLi4xMjhhMzk3N2U2M2VlNGY0ZWYxZjIwZWFhZWM4NmQwOGVjYmY1OGQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29s
cy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGVnYWN5Q3VzdG9tUHJvdG9jb2xJRC5oIgog
I2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBA
IC0zNSwxMCArMzYsNiBAQAogT0JKQ19DTEFTUyBXS0N1c3RvbVByb3RvY29sTG9hZGVyOwogI2Vu
ZGlmCiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVxdWVz
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBjNGM3MTg3NGExMGRhOWI1
NDFmZWUyODIwODA4YzFlNTBkM2ZhOTJiLi45ZGIzYTUwOWI5MTRjMDkzY2FmMTY5YTA1ZDY1YjU3
ZWQwYzgwMTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yNSw2ICsy
NSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2lu
Y2x1ZGUgIkxheWVyVHJlZUNvbnRleHQuaCIKICNpbmNsdWRlICJQREZQbHVnaW5JZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSAiU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCIKQEAgLTgwLDEwICs4
MSw2IEBAIGNsYXNzIE9wZW5QYW5lbFBhcmFtZXRlcnM7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsK
IH0KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBDb2xvcjsKIGNsYXNzIEN1cnNvcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxl
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJD
b250ZW50Q29udHJvbGxlclByb3h5LmNwcAppbmRleCAyNGI2MzNlNDg0ZDJhMzViYTc0ZDQ1ZjEy
ZWRlMzRhMGY3OGNhMGE2Li4yNDhlNTNhMDgzZDE5YTBlZjRkODNjMjNiOGNjZTAwMzQ1ZGFhYjA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2Vy
Q29udGVudENvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
VXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuY3BwCkBAIC0zMSw3ICsz
MSw2IEBACiAjaW5jbHVkZSAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAi
QVBJVXNlclNjcmlwdC5oIgogI2luY2x1ZGUgIkFQSVVzZXJTdHlsZVNoZWV0LmgiCi0jaW5jbHVk
ZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkluamVjdFVzZXJTY3JpcHRJbW1lZGlhdGVs
eS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc1Byb3h5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250
cm9sbGVyUHJveHkuaAppbmRleCAxMjlhMzQwZjA4OTY0ZDBmZmEyM2EzNzEwMWEwOWE4NTZkM2Nj
Y2IyLi5hNGQ4ZDdjZDgwNGU2NTYwZGFiZmRlNjExNGZmMDYyMTFiYWQ0N2MwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRy
b2xsZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJDb250ZW50L1dl
YlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1
ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRXb3JsZFNoYXJlZC5oIgorI2luY2x1
ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNs
dWRlICJVc2VyQ29udGVudENvbnRyb2xsZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5SWRlbnRpZmllci5oIgpAQCAtNDgsMTAgKzQ5LDYgQEAgY2xhc3MgVXNlclNjcmlwdDsK
IGNsYXNzIFVzZXJTdHlsZVNoZWV0OwogfQogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFS
ZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBTZWN1cml0eU9yaWdp
bkRhdGE7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA0
MjJjMTA4NGQwYTczNWFiNWFlMmVlZmY2OWIwZGE1YzhiNmYxMzUwLi5hMDExYTViMWQ5YzkyZTlm
NzMwMjk0MTRmMTMzYjJmMDkxMWExZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkRl
Y2lzaW9uTGlzdGVuZXIuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKICNp
bmNsdWRlICJBdXRoZW50aWNhdG9yTWFuYWdlci5oIgotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5LmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhUHJveHkuaCIKQEAgLTc5NDYsNiArNzk0NSw3
IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFt
ZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jCiAgICAgcGFyYW1ldGVycy5zaG91bGRSZW5kZXJD
YW52YXNJbkdQVVByb2Nlc3MgPSBwcmVmZXJlbmNlcygpLnVzZUdQVVByb2Nlc3NGb3JDYW52YXNS
ZW5kZXJpbmdFbmFibGVkKCk7CiAgICAgcGFyYW1ldGVycy5zaG91bGRSZW5kZXJET01JbkdQVVBy
b2Nlc3MgPSBwcmVmZXJlbmNlcygpLnVzZUdQVVByb2Nlc3NGb3JET01SZW5kZXJpbmdFbmFibGVk
KCk7CiAgICAgcGFyYW1ldGVycy5zaG91bGRQbGF5TWVkaWFJbkdQVVByb2Nlc3MgPSBwcmVmZXJl
bmNlcygpLnVzZUdQVVByb2Nlc3NGb3JNZWRpYUVuYWJsZWQoKTsKKwogICAgIHBhcmFtZXRlcnMu
c2hvdWxkRW5hYmxlVlA5RGVjb2RlciA9IHByZWZlcmVuY2VzKCkudnA5RGVjb2RlckVuYWJsZWQo
KTsKICNpZiBFTkFCTEUoVlA5KSAmJiBQTEFURk9STShDT0NPQSkKICAgICBwYXJhbWV0ZXJzLnNo
b3VsZEVuYWJsZVZQOVNXRGVjb2RlciA9IHByZWZlcmVuY2VzKCkudnA5RGVjb2RlckVuYWJsZWQo
KSAmJiAoIVdlYkNvcmU6OnN5c3RlbUhhc0JhdHRlcnkoKSB8fCBwcmVmZXJlbmNlcygpLnZwOVNX
RGVjb2RlckVuYWJsZWRPbkJhdHRlcnkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDIzMmVkMzdiZDFiZjkzMGFhZjhmOTk4NDM2ZDYzMDU0MmVhOTMwODUuLjhh
N2U5NDZkNDc5N2ZlZDBjMzQ2ZGRmMjFjNGNmMzUyYTdlMmY5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ29udGVu
dEFzU3RyaW5nSW5jbHVkZXNDaGlsZEZyYW1lcy5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29u
dGV4dERhdGEuaCIKICNpbmNsdWRlICJDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodC5oIgorI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVk
ZSAiRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCIKICNpbmNsdWRlICJFZGl0aW5nUmFuZ2UuaCIKQEAg
LTIwNCw3ICsyMDUsNiBAQCBlbnVtIGNsYXNzIEluc3BlY3RvclRhcmdldFR5cGUgOiB1aW50OF90
OwogfQogCiBuYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiBjbGFzcyBEZWNv
ZGVyOwogY2xhc3MgRm9ybURhdGFSZWZlcmVuY2U7CiBjbGFzcyBTaGFyZWRCdWZmZXJDb3B5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lSGFuZGxlci5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lSGFuZGxlci5oCmluZGV4IGY0
MjQ1Y2U2NWU5ZDJkNTY1YjNmMTI1ZjM0NTdhMjU2ZmIzOWM5ZDQuLmQyMzhjMmExYTYwOGRjNWE0
NjMyZTZhMTk5NzdkYjYxYmFiNjEzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlVSTFNjaGVtZUhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJVUkxTY2hlbWVIYW5kbGVyLmgKQEAgLTMxLDEwICszMSw2IEBACiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBJUEMgewot
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVz
b3VyY2VSZXF1ZXN0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
VVJMU2NoZW1lVGFzay5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFz
ay5oCmluZGV4IGQ0NDJiNjJiNTIyNTg3ZjkwZmE2ODlkNTZiMjA2Mjc2ZGViNDQ4MmIuLjgyNWNk
MDI2ODhhMjY4MjE5NDFmZjdhNDE4ZjRkZjVhOTc1YmExN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmgKQEAgLTM4LDEwICszOCw2IEBAIG5hbWVzcGFjZSBB
UEkgewogY2xhc3MgRnJhbWVJbmZvOwogfQogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFS
ZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlc291cmNlRXJyb3I7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWVlZjQxZjMzMmNiNTE5Y2RiMmQ5ODJhZTJiOTg4
OWQ5MGQwNWI1NC4uMmQyODJlNDY2ZWE0NzQ0ZjBmNTJiMzNlY2M2YTliMDM4ODYzOWQ1ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MzE4LDYgKzEzMTgsNyBAQAogCQk3QUZCRDM2MzIxRTUwRjM5MDA1REJBQ0IgLyogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QUZCRDM2MjIxRTUwRjM5MDA1REJBQ0IgLyogV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmggKi87IH07CiAJCTdBRkJEMzY3MjFFNTFCQUIwMDVEQkFDQiAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzY1MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAqLzsgfTsKIAkJN0FGQkQzNkYyMUU1NDZG
ODAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzZEMjFFNTQ2RTMwMDVEQkFDQiAvKiBQZXJzaXN0
ZW5jeVV0aWxzLmggKi87IH07CisJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBBcnJheVJl
ZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0IxREIyNjUyNTY2OENFMDAwMEUyNkJDIC8qIEFycmF5UmVmZXJlbmNlLmggKi87IH07CiAJCTdD
MDY1RjJDMUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlw
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMDY1
RjJBMUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMu
aCAqLzsgfTsKIAkJN0MxMzVBQTkxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTM1
QUE3MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0MxQkEzM0UxQTRBMEU2MDAw
NDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDMUJBMzNDMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5
LmggKi87IH07CkBAIC0yNzM3LDcgKzI3MzgsNiBAQAogCQkxQUM1RkZDMTE3NEJGRDFCMDAwMTQ4
M0QgLyogUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUFDNzUzNzkxODNBOUZEQTAwNzJDQjE1IC8qIFBhZ2VMb2FkU3RhdGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUxvYWRTdGF0ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzc1MzdBMTgzQTlGREIwMDcyQ0IxNSAvKiBQ
YWdlTG9hZFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VMb2Fk
U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUFDNzUzN0QxODNCRTUwRjAw
NzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRGF0YVJlZmVyZW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFBQzc1MzdFMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNh
Ymxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYW5nRGV0ZWN0aW9uRGlz
YWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzVBMUMxQjMzNjk1RTAw
NTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MDQsNiArNDQwNCw3IEBACiAJCTdBRkJEMzY1MjFF
NTFCQUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlLmg7IHBhdGggPSBDbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlT
dG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUZCRDM2RDIxRTU0NkUzMDA1
REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJzaXN0ZW5jeVV0
aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRkJEMzZFMjFFNTQ2RTMwMDVE
QkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcnNpc3Rl
bmN5VXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QjFEQjI2NTI1NjY4
Q0UwMDAwRTI2QkMgLyogQXJyYXlSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQXJyYXlSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
N0MwNjVGMjkxQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFU
eXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXJEYXRhVHlwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QzA2NUYyQTFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0
YVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlVzZXJDb250ZW50
Q29udHJvbGxlckRhdGFUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzEz
NUFBNjE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1BsdWdpbkluZm9ybWF0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMjM5LDYgKzExMjQwLDcgQEAKIAkJCQkxQUVG
RDJGNzExRDE4MDdCMDA4MjE5RDMgLyogQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQUYwQzRBMTJCMTYzMzQwMDhFNDlFMiAvKiBBcmd1bWVudENvZGVyc0NGLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMTc1QzQ0QTIxQUEzMTcxMDAwMDM3RDAgLyogQXJndW1lbnRDb2RlcnND
b2NvYS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0IxREIyNjYyNTY2OENFMTAwMEUyNkJDIC8qIEFy
cmF5UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVFNzcyODE4M0RENkY2MDAwNzIw
M0YgLyogQXN5bmNSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQUZBNjM0RjIzNEY3QzY0
MDBGRkE4NjQgLyogQXN5bmNSZXZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU5
NjZEMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTEz
MzMyLDcgKzEzMzM0LDYgQEAKIAkJCQkyRDkyQTc4NTIxMkI2QUIxMDBGNDkzRkQgLyogQmxvYkRh
dGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE3Q0YwRTMxNjNBNDg2QzAwQzI5NTBGIC8qIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rp
b25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3N0QyMTJCNkE3
MTAwRjQ5M0ZEIC8qIENvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5MkE3N0Uy
MTJCNkE3MTAwRjQ5M0ZEIC8qIERhdGFSZWZlcmVuY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ5MkE3N0YyMTJCNkE3MTAwRjQ5M0ZEIC8qIERlY29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDlEQUEzOEMyNENCQTFBODAwNzkzRDc1IC8qIERlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQwQzU2RkUyMjlGMURFQTAwQkQzM0U3IC8qIERldmljZU1h
bmFnZW1lbnRTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCmluZGV4
IGY5MmRhNmE0N2Y3ZTI0ZjM4Mzk5YWEzNjk4YTIxMjkwZDM2MWQ0YTYuLmM5ZGM2ODJiODc1NDli
ODI1MGRiMjJiMmExY2UyMTU1NTAwMGNlYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTM2LDEw
ICszNiw2IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdIYXNoLmg+CiAKLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0K
LQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3Mg
UGF5bWVudENvbnRhY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggNmNhY2ZmYjQ0OWQ5NDZjYjIyMzBlMzAzOThiM2E4
N2MzYzZlODY3Mi4uMmEwNGM3NGY3ZmI2Mzc3MWJhZGZiNTYzNmQzNzU2ODU4Y2IzMTdhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24uaApAQCAtMzUsMTAgKzM1LDYgQEAKICNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBE
YXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVtb3RlQXVk
aW9Tb3VyY2VQcm92aWRlck1hbmFnZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5k
ZXggNTE3NzYwOTAwNTNmNjVhN2JhNDRkNmZlOWY1ZmRjNWQ1ZDZhYzA4ZS4uODBkMDYyZmQ0Y2Zk
MTk5ZjJlODNkZWY2ZjY0NjViZGY5NGNmN2VhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmNwcApAQCAtODI0LDcgKzgyNCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpw
YWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQmLCBjb25zCiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAotYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNvcHlW
aWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljc0NvbnRleHRHTCosIFBsYXRmb3Jt
R0xPYmplY3QsIEdDR0xlbnVtLCBHQ0dMaW50LCBHQ0dMZW51bSwgR0NHTGVudW0sIEdDR0xlbnVt
LCBib29sLCBib29sKQorYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNvcHlWaWRlb1Rl
eHR1cmVUb1BsYXRmb3JtVGV4dHVyZShXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTCosIFBsYXRm
b3JtR0xPYmplY3QsIEdDR0xlbnVtLCBHQ0dMaW50LCBHQ0dMZW51bSwgR0NHTGVudW0sIEdDR0xl
bnVtLCBib29sLCBib29sKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCmluZGV4IDk1YzgzNmU2OTUw
NDFkOTdkMjU5MDM2ZmQ3M2RmZjVjNDZiOGZmOTEuLmM4YzU4MjkwNTBhNTI1OGY5ZDkzMTk3NmI5
NWYwNWU1OTdhNTZiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAKQEAg
LTgyLDcgKzgyLDcgQEAgdm9pZCBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHk6OmNvbm5lY3RU
b0dQVVByb2Nlc3MoKQogCiAgICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgY29ubmVjdGlvbi5hZGRD
bGllbnQoKnRoaXMpOwotICAgIGJvb2wgZGlkU3VjY2VlZCA9IGNvbm5lY3Rpb24uY29ubmVjdGlv
bigpLnNlbmRTeW5jKAorICAgIGF1dG8gZGlkU3VjY2VlZCA9IGNvbm5lY3Rpb24uY29ubmVjdGlv
bigpLnNlbmRTeW5jKAogICAgICAgICBNZXNzYWdlczo6UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1h
bmFnZXI6OkNyZWF0ZUF1ZGlvRGVzdGluYXRpb24obV9pbnB1dERldmljZUlkLCBtX251bWJlck9m
SW5wdXRDaGFubmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscygpLCBzYW1wbGVSYXRlKCksIGhh
cmR3YXJlU2FtcGxlUmF0ZSgpKSwKICAgICAgICAgTWVzc2FnZXM6OlJlbW90ZUF1ZGlvRGVzdGlu
YXRpb25NYW5hZ2VyOjpDcmVhdGVBdWRpb0Rlc3RpbmF0aW9uOjpSZXBseShkZXN0aW5hdGlvbklE
KSwgMCk7CiAKQEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Q
cm94eTo6Y29ubmVjdFRvR1BVUHJvY2VzcygpCiAgICAgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0
aW9uIHN0cmVhbUZvcm1hdDsKICAgICBnZXRBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24oc3Ry
ZWFtRm9ybWF0KTsKICAgICBtX3JpbmdCdWZmZXItPmFsbG9jYXRlKHN0cmVhbUZvcm1hdCwgbV9u
dW1iZXJPZkZyYW1lcyk7Ci0gICAgbV9hdWRpb0J1ZmZlckxpc3QgPSBtYWtlVW5pcXVlPFdlYkF1
ZGlvQnVmZmVyTGlzdD4oc3RyZWFtRm9ybWF0KTsKKyAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1h
a2VVbmlxdWU8V2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0PihzdHJlYW1Gb3JtYXQpOwogI2Vu
ZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuY3BwCmluZGV4IGRjYmQ0ZjhhZmFm
ZTEwNjBhNjFiMDMwNTMxZTEyYzc0ZDM3ZWZmZDMuLjJjYTk3YzYzN2IxZjE5ZTgyNzhhNmFlNzEz
YzVjMTRlNjc2NzE3ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyLmNwcApAQCAtMjgs
NiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElP
KSAmJiBQTEFURk9STShDT0NPQSkKIAorI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgi
CiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIuaCIKICNpbmNsdWRl
ICJSZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZXMuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFu
YWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nv
dXJjZVByb3ZpZGVyTWFuYWdlci5oCmluZGV4IDcwZTVkY2I1Y2QwNDZlYTY0NDllMGZiNjdmYjM0
YjFjMjYzOWRjZjIuLjgxOTQwOTBjOTMzYjJmMTFhNjQ2MGFiM2MxNzcyZDM3NjE2MzcxMDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9T
b3VyY2VQcm92aWRlck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLmgKQEAgLTI3LDggKzI3LDkg
QEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKLSNpbXBv
cnQgIkNvbm5lY3Rpb24uaCIKLSNpbXBvcnQgIlNoYXJlZE1lbW9yeS5oIgorI2luY2x1ZGUgIkNv
bm5lY3Rpb24uaCIKKyNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKKyNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0NBUmluZ0J1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQ
bGF5ZXJJZGVudGlmaWVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmNwcAppbmRleCAwZGI4NWFl
OWJkMjQxZWJhMWJkYTRlNjIyNDQwZjYzMjhlMWQ4YTBiLi4yOTdlZWJkYTE5MTg5ZGZlMGNmZTZj
MWVkNzY5YWFjYjlkNmQ5MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKExFR0FDWV9FTkNS
WVBURURfTUVESUEpCiAKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1
ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJp
dmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJh
Y2tQcml2YXRlUmVtb3RlLmgKaW5kZXggZDU0MjQ0MmM4NDRlNTQ4M2ZkM2NlZDc4NTA1ZGNhMTg2
OTRhZTRhNC4uYTMzOWViN2JmZmQ2YjQ1MTk0ZDI5YTEwOTE0YmZhMmZmYmQ3NGEzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRl
UmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJh
Y2tQcml2YXRlUmVtb3RlLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiBj
bGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMv
TGliV2ViUlRDQ29kZWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L0xpYldlYlJUQ0NvZGVjcy5jcHAKaW5kZXggMGM2ZjczZDA3MTQ0YjU2MjY3NjkzNjdjOWYyYTNh
NDAxN2VhZGU4MC4uMTY4ZWY0MzVkZGU1NjE0ZDMwZjNiZTI4NjcwYTQ3YWVkNjE2ZGUwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3MuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKSAmJiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCi0jaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAi
TGliV2ViUlRDQ29kZWNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENDb2RlY3NQcm94
eU1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL0xpYldlYlJUQ0NvZGVjcy5oCmluZGV4IDczOWE0OTZlZjQ5NGNiNGE2MTg1NjZmZmM2NGQ0
YTI2NGE3NGU5ZDAuLjRiZWFlMDYyMzE3YmEyNmE2MDY4M2YxZjQ1MTIzM2ViMTA3M2FhN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0Nv
ZGVjcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJU
Q0NvZGVjcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKExJQldFQlJUQykgJiYgUExBVEZP
Uk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVy
LmgiCiAjaW5jbHVkZSAiUlRDRGVjb2RlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSVENFbmNv
ZGVySWRlbnRpZmllci5oIgpAQCAtNDMsNyArNDQsNiBAQCB1c2luZyBDVlBpeGVsQnVmZmVyUG9v
bFJlZiA9IHN0cnVjdCBfX0NWUGl4ZWxCdWZmZXJQb29sKjsKIAogbmFtZXNwYWNlIElQQyB7CiBj
bGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmgKaW5kZXggMmRhZDIwMzg0MmYwZTU1M2ZlM2I0NjI0NDFlZTk0ZmEy
NjQ5M2ExMS4uYzI4Y2U3ZjJlMTdlODlhOGU1MTg2YTc3MDZhMmU4YTQ0ZjZiN2UzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkFQSUluamVjdGVkQnVu
ZGxlQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQ29udGVu
dFR5cGVzLmg+CkBAIC01NCw3ICs1NSw2IEBAIGNsYXNzIERhdGE7CiBuYW1lc3BhY2UgSVBDIHsK
IGNsYXNzIERlY29kZXI7CiBjbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNjEsNCArMTYxLDMgQEAgcHJpdmF0ZToKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5z
aW9uQ29udHJvbGxlci5jcHAKaW5kZXggMGZlZjJmOGVkMTI4NjU3NTZjNDUyMjJmMWY2MGFlMWYz
MzUyY2I2Ni4uNDQ0YjdjYjQ1ODU2ZjY4YTdhY2ZiM2FjNDE0ODEyM2IwN2VjYWQ4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4
dGVuc2lvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNw
ZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyLmNwcApAQCAtNDMsNyArNDMs
NyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIFdlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
cjo6V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyKFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2xpZW50JiBpbnNwZWN0b3JGcm9udGVuZCkKICAgICA6IG1fZnJvbnRlbmRDbGllbnQo
bWFrZVdlYWtQdHIoaW5zcGVjdG9yRnJvbnRlbmQpKQogewotICAgIFBhZ2UqIHBhZ2UgPSBpbnNw
ZWN0b3JGcm9udGVuZC5mcm9udGVuZFBhZ2UoKTsKKyAgICBhdXRvKiBwYWdlID0gaW5zcGVjdG9y
RnJvbnRlbmQuZnJvbnRlbmRQYWdlKCk7CiAgICAgQVNTRVJUKHBhZ2UpOwogCiAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJJbnNwZWN0
b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgV2ViUGFnZTo6
ZnJvbUNvcmVQYWdlKCpwYWdlKS5pZGVudGlmaWVyKCksICp0aGlzKTsKQEAgLTExMSw3ICsxMTEs
NyBAQCB2b2lkIFdlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlcjo6cmVnaXN0ZXJFeHRl
bnNpb24oY29uc3QgSW5zcGVjdG9yRXh0ZW5zaQogICAgICAgICBKU09OOjpWYWx1ZTo6Y3JlYXRl
KGV4dGVuc2lvbklEKSwKICAgICAgICAgSlNPTjo6VmFsdWU6OmNyZWF0ZShkaXNwbGF5TmFtZSks
CiAgICAgfTsKLSAgICBtX2Zyb250ZW5kQ2xpZW50LT5mcm9udGVuZEFQSURpc3BhdGNoZXIoKS5k
aXNwYXRjaENvbW1hbmRXaXRoUmVzdWx0QXN5bmMoInJlZ2lzdGVyRXh0ZW5zaW9uIl9zLCBXVEZN
b3ZlKGFyZ3VtZW50cyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShJbnNwZWN0b3JGcm9udGVuZEFQ
SURpc3BhdGNoZXI6OkV2YWx1YXRpb25SZXN1bHQmJiByZXN1bHQpIG11dGFibGUgeworICAgIG1f
ZnJvbnRlbmRDbGllbnQtPmZyb250ZW5kQVBJRGlzcGF0Y2hlcigpLmRpc3BhdGNoQ29tbWFuZFdp
dGhSZXN1bHRBc3luYygicmVnaXN0ZXJFeHRlbnNpb24iX3MsIFdURk1vdmUoYXJndW1lbnRzKSwg
W3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0
Y2hlcjo6RXZhbHVhdGlvblJlc3VsdCYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICgh
d2Vha1RoaXMgfHwgIXJlc3VsdCkgewogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFr
ZVVuZXhwZWN0ZWQoSW5zcGVjdG9yRXh0ZW5zaW9uRXJyb3I6OkNvbnRleHREZXN0cm95ZWQpKTsK
ICAgICAgICAgICAgIHJldHVybjsKQEAgLTEzNCw3ICsxMzQsNyBAQCB2b2lkIFdlYkluc3BlY3Rv
clVJRXh0ZW5zaW9uQ29udHJvbGxlcjo6dW5yZWdpc3RlckV4dGVuc2lvbihjb25zdCBJbnNwZWN0
b3JFeHRlbgogICAgIH0KIAogICAgIFZlY3RvcjxSZWY8SlNPTjo6VmFsdWU+PiBhcmd1bWVudHMg
eyBKU09OOjpWYWx1ZTo6Y3JlYXRlKGV4dGVuc2lvbklEKSB9OwotICAgIG1fZnJvbnRlbmRDbGll
bnQtPmZyb250ZW5kQVBJRGlzcGF0Y2hlcigpLmRpc3BhdGNoQ29tbWFuZFdpdGhSZXN1bHRBc3lu
YygidW5yZWdpc3RlckV4dGVuc2lvbiJfcywgV1RGTW92ZShhcmd1bWVudHMpLCBbd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cih0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyOjpFdmFsdWF0aW9uUmVz
dWx0JiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBtX2Zyb250ZW5kQ2xpZW50LT5mcm9udGVuZEFQ
SURpc3BhdGNoZXIoKS5kaXNwYXRjaENvbW1hbmRXaXRoUmVzdWx0QXN5bmMoInVucmVnaXN0ZXJF
eHRlbnNpb24iX3MsIFdURk1vdmUoYXJndW1lbnRzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIo
dGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlcjo6RXZhbHVhdGlvblJlc3VsdCYm
IHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMgfHwgIXJlc3VsdCkgewog
ICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoSW5zcGVjdG9yRXh0
ZW5zaW9uRXJyb3I6OkNvbnRleHREZXN0cm95ZWQpKTsKICAgICAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggMzA2NGU5YzRhZmNjMmNmZjU0YTMyNWUyNTMxZWQwNTIy
YTAwMTM5My4uYjk3OTQ2NTllYWJkMTg0YjM4OWMwNmQxMzJmOGM0MmY4MDUyM2NjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLmgKQEAgLTM0LDEwICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotbmFtZXNwYWNlIElQ
QyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IDg2NTcxMWIzNjZjMjhkZjQ4NGI0Y2RjMDdhYTNmY2YzZGNlYmYyZjYuLjY5NDg5NmM5OTdhNDk0
MGRiYWIyZGE3NjU3ODIwYTI3OGFmMWRjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTI2LDcgKzI2LDYg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlci5oIgog
Ci0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkZvcm1EYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmgKaW5kZXggNTgzZTM3OWM4OWVjZmE5NTMwYjBhYmZhMWM2OWZlYTlkNTM5
NjZmYi4uN2UxZDQ5OTQ3MTVmODg0OWNlOGJmZTVlYzM0NTVkNDczNzc4MDBkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5o
CkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5o
IgogI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5
SWRlbnRpZmllci5oIgpAQCAtMzYsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogY2xhc3MgRm9ybURhdGFS
ZWZlcmVuY2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggOTRlZjBkMWZjZTJlNjAxZGY0NDljZmY4NTM5
ZmJkMTY0NzkzZWJlMi4uZmY2OWY1NjA5ZTU3N2NhYzc3N2YwNGFmYTc0YWYyMTA3NDg2NGY4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJTb2NrZXRDaGFubmVsLmgiCiAKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAj
aW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk5ldHdvcmtTb2NrZXRD
aGFubmVsTWVzc2FnZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCBmNTM0NzgzNDdlNzc1ZGYzN2VhOTc2MzRjMjMz
MDkzMmI0YTE0ZDI4Li5hZDdmZjE4N2RiYjQzNTNiOWVkM2JjNTdjNWJhMmM0YWE0ZThjZmVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRDaGFu
bmVsLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hh
bm5lbC5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTZW5kUXVldWUuaD4KQEAg
LTM4LDcgKzM5LDYgQEAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNz
IERlY29kZXI7Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0
cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJl
YW0uY3BwCmluZGV4IGFmMjQyY2QyYjU5NWFjNGE0NDg0Mjk3YmU1ZDVjZmUxOGQ0OGYzMjQuLjdk
MDA3MzY5YjljY2U4NWI4ZjA1NDU3ZDY2NmQxZTQ0NTFiOTZjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcApAQCAtMjYs
NyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlNvY2tldFN0cmVh
bS5oIgogCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZXMuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVh
bS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgK
aW5kZXggZGQwODIwMTA3MTJiOWY1ZGI5ZmViZDg4ZGE2NjliNmRmNjFkMGYyOS4uYjQzY2IyZWZh
ZDFlMTAxZWUyNjViOTNkZGU5YjA2MTI3MzZhMDk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmgKQEAgLTI1LDYgKzI1LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvU29ja2V0U3RyZWFtSGFuZGxlLmg+CkBAIC0zMyw3ICszNCw2IEBACiBuYW1lc3Bh
Y2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwotY2xhc3MgRGF0YVJl
ZmVyZW5jZTsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oCmluZGV4
IGNiNDhlMDU3MzQ4YTJlODY2YjA5MWZmNWFjODcyNjA1Y2ExOTJkZDUuLjMyM2YyNWVlOGZkODFi
MDI2MzBkMmYyNTlhMWFmYjg4NGI0Y2Y1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgKQEAgLTM1LDcg
KzM1LDYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0
YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaAppbmRleCBlYTUzNTk2MDEwOWZlZTZkYzQ4
MDVjZjY4OTEyNzk4ZWU5YWI2ZjAzLi40MGI0YzhmMjEyOWNmMTIzM2ExYjMxYjg1MTI3ZTdhN2U5
ZTNkN2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYv
UERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BE
RlBsdWdpbi5oCkBAIC02MCwxMCArNjAsNiBAQCBPQkpDX0NMQVNTIFBERlNlbGVjdGlvbjsKIE9C
SkNfQ0xBU1MgV0tQREZQbHVnaW5BY2Nlc3NpYmlsaXR5T2JqZWN0OwogT0JKQ19DTEFTUyBXS1BE
RkxheWVyQ29udHJvbGxlckRlbGVnYXRlOwogCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERhdGFS
ZWZlcmVuY2U7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFYT2JqZWN0Q2FjaGU7
CiBjbGFzcyBFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCmluZGV4IGUwNGUzYThiMmQxNzhjYzg0OTVkNDViYWY4MWYzN2RhZWZiYjdiNzAuLjM2MmFk
NzdiZTZhZTMyZTBlNjljYTkzZWJmYzYyM2VhNWRiY2ZlODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJD
YWxsYmFja0lELmgiCiAjaW5jbHVkZSAiQ29udGVudEFzU3RyaW5nSW5jbHVkZXNDaGlsZEZyYW1l
cy5oIgogI2luY2x1ZGUgIkNyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0LmgiCisjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRvd25sb2FkSUQuaCIKICNpbmNsdWRlICJEcmF3
aW5nQXJlYUluZm8uaCIKICNpbmNsdWRlICJFZGl0aW5nUmFuZ2UuaCIKQEAgLTE2MSw3ICsxNjIs
NiBAQCBjbGFzcyBBcnJheTsKIAogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBDb25uZWN0aW9uOwot
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKIGNsYXNzIERlY29kZXI7CiBjbGFzcyBGb3JtRGF0YVJlZmVy
ZW5jZTsKIH0KQEAgLTEyNTgsNyArMTI1OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2Vp
dmVXZWJQYWdlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgYm9vbCBzZW5kU3luY1dpdGhEZWxheWVkUmVwbHko
VCYmIG1lc3NhZ2UsIHR5cGVuYW1lIFQ6OlJlcGx5JiYgcmVwbHkpCisgICAgU2VuZFN5bmNSZXN1
bHQgc2VuZFN5bmNXaXRoRGVsYXllZFJlcGx5KFQmJiBtZXNzYWdlLCB0eXBlbmFtZSBUOjpSZXBs
eSYmIHJlcGx5KQogICAgIHsKICAgICAgICAgY2FuY2VsR2VzdHVyZXNCbG9ja2VkT25TeW5jaHJv
bm91c1JlcGxpZXMoKTsKICAgICAgICAgcmV0dXJuIHNlbmRTeW5jKFdURk1vdmUobWVzc2FnZSks
IFdURk1vdmUocmVwbHkpLCBTZWNvbmRzOjppbmZpbml0eSgpLCBJUEM6OlNlbmRTeW5jT3B0aW9u
OjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDM4MzhhYjMyNmRk
ODM5NmI2MDEwN2NiYTNmNjI0NTA3NGM5N2Y3MTUuLjBlMjkzZmE0ZGYxOWNiZjhjZDY3OTMxNzZk
Nzg3ODkyYWQ4ZTEyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC01MTcsNyArNTE3LDcgQEAgYm9vbCBXZWJQYWdlOjpo
YW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50JiBldmVudCkKIAogICAgIC8v
IEZJWE1FOiBJbnRlcnByZXQgdGhlIGV2ZW50IGltbWVkaWF0ZWx5IHVwb24gcmVjZWl2aW5nIGl0
IGluIFVJIHByb2Nlc3MsIHdpdGhvdXQgc2VuZGluZyB0byBXZWJQcm9jZXNzIGZpcnN0LgogICAg
IGJvb2wgZXZlbnRXYXNIYW5kbGVkID0gZmFsc2U7Ci0gICAgYm9vbCBzZW5kUmVzdWx0ID0gV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SW50ZXJwcmV0S2V5RXZlbnQoZWRpdG9yU3RhdGUoU2hv
dWxkUGVyZm9ybUxheW91dDo6WWVzKSwgcGxhdGZvcm1FdmVudC0+dHlwZSgpID09IFBsYXRmb3Jt
S2V5Ym9hcmRFdmVudDo6Q2hhciksCisgICAgYXV0byBzZW5kUmVzdWx0ID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6SW50ZXJwcmV0S2V5RXZlbnQoZWRpdG9yU3RhdGUoU2hvdWxkUGVyZm9y
bUxheW91dDo6WWVzKSwgcGxhdGZvcm1FdmVudC0+dHlwZSgpID09IFBsYXRmb3JtS2V5Ym9hcmRF
dmVudDo6Q2hhciksCiAgICAgICAgIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkludGVycHJldEtl
eUV2ZW50OjpSZXBseShldmVudFdhc0hhbmRsZWQpLCBtX2lkZW50aWZpZXIpOwogICAgIHJldHVy
biBzZW5kUmVzdWx0ICYmIGV2ZW50V2FzSGFuZGxlZDsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>