<?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>236016</bug_id>
          
          <creation_ts>2022-02-02 07:44:14 -0800</creation_ts>
          <short_desc>Move and rename ServiceWorkerFrameLoaderClient &amp; ServiceWorkerLibWebRTCProvider</short_desc>
          <delta_ts>2022-02-02 12:01:16 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>235958</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1836430</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 07:44:14 -0800</bug_when>
    <thetext>Move and rename ServiceWorkerFrameLoaderClient &amp; ServiceWorkerLibWebRTCProvider so that they can be reused by Shared Workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836432</commentid>
    <comment_count>1</comment_count>
      <attachid>450644</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 07:56:27 -0800</bug_when>
    <thetext>Created attachment 450644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836435</commentid>
    <comment_count>2</comment_count>
      <attachid>450644</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-02 08:19:25 -0800</bug_when>
    <thetext>Comment on attachment 450644
Patch

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

&gt; Source/WebCore/loader/FrameLoaderClient.h:354
&gt; +    virtual bool isWebWorkerFrameLoaderClient() const { return false; }

Not sure WebWorker is a great name given DedicatedWorker would seem to fit there.
Not sure I have a better name though, maybe RemoteWorker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836436</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 08:21:14 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Comment on attachment 450644 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450644&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoaderClient.h:354
&gt; &gt; +    virtual bool isWebWorkerFrameLoaderClient() const { return false; }
&gt; 
&gt; Not sure WebWorker is a great name given DedicatedWorker would seem to fit
&gt; there.
&gt; Not sure I have a better name though, maybe RemoteWorker.

My point of view was that:
1. Web is the usual prefix at the WebKit layer
2. This class could be used in theory with any type of worker (yes even dedicated ones) although there isn&apos;t any point in using it for dedicated workers since they are fully at the WebCore layer at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836437</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 08:23:36 -0800</bug_when>
    <thetext>That said, the RemoteWorker naming is growing on me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836441</commentid>
    <comment_count>5</comment_count>
      <attachid>450647</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 08:45:08 -0800</bug_when>
    <thetext>Created attachment 450647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836442</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 08:45:40 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; That said, the RemoteWorker naming is growing on me :)

Adopted before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836477</commentid>
    <comment_count>7</comment_count>
      <attachid>450658</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 09:17:03 -0800</bug_when>
    <thetext>Created attachment 450658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836541</commentid>
    <comment_count>8</comment_count>
      <attachid>450658</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 11:13:34 -0800</bug_when>
    <thetext>Comment on attachment 450658
Patch

Clearing flags on attachment: 450658

Committed r288972 (246701@trunk): &lt;https://commits.webkit.org/246701@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836542</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-02 11:13:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836543</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-02 11:14:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/88391416&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450644</attachid>
            <date>2022-02-02 07:56:27 -0800</date>
            <delta_ts>2022-02-02 08:45:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236016-20220202075626.patch</filename>
            <type>text/plain</type>
            <size>27686</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVkYTA4MDZjZGJiOTEw
ZTMzYmVmNWEzNDE1ODExMjMwNzkwZTcwMC4uMTg3MDFlYzgyYjZkZjAxZTEzNmUxODA0MjAwNzhm
NDFlYzljMWM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbmQgcmVuYW1lIFNl
cnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCAmIFNlcnZpY2VXb3JrZXJMaWJXZWJSVENQcm92
aWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2
MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92
ZSBhbmQgcmVuYW1lIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCAmIFNlcnZpY2VXb3Jr
ZXJMaWJXZWJSVENQcm92aWRlciBzbyB0aGF0IHRoZXkgY2FuIGJlIHJldXNlZCBieSBTaGFyZWQg
V29ya2Vycy4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorCiAyMDIy
LTAyLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBMaWJX
ZWJSVENDb2RlY3Mgc2hvdWxkIG5vdCBuZWVkIHRvIGNyZWF0ZSBJT1N1cmZhY2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGMyM2UzMWU5MjI2M2NiZTc3NTc0MWQwZjQ1MDZkZTFlYTE3MGQ3MDEuLjVmNTY4MzgwMWY5
NWM5MzFjMjgwOTFlOWVkOTBmMDdkZDIyZTE1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMjItMDItMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBN
b3ZlIGFuZCByZW5hbWUgU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50ICYgU2VydmljZVdv
cmtlckxpYldlYlJUQ1Byb3ZpZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzYwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNb3ZlIGFuZCByZW5hbWUgU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xp
ZW50ICYgU2VydmljZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyIHNvIHRoYXQgdGhleSBjYW4gYmUg
cmV1c2VkIGJ5IFNoYXJlZCBXb3JrZXJzLgorCisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5o
OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxv
YWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjppbnN0YWxsU2VydmljZVdvcmtlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjpjb250aW51ZURpZFJlY2VpdmVGZXRjaFJlc3BvbnNlKToKKyAg
ICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlNlcnZpY2VXb3JrZXJGcmFtZUxv
YWRlckNsaWVudDo6U2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6U2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVEb2N1
bWVudExvYWRlcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg6CisgICAgICAgIChpc1R5cGUpOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6
V2ViV29ya2VyRnJhbWVMb2FkZXJDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJG
cmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oOiBBZGRlZC4KKyAgICAg
ICAgKGlzVHlwZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYldvcmtlckxpYldl
YlJUQ1Byb3ZpZGVyLmg6IEFkZGVkLgorCiAyMDIyLTAyLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBMaWJXZWJSVENDb2RlY3Mgc2hvdWxkIG5vdCBuZWVk
IHRvIGNyZWF0ZSBJT1N1cmZhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNs
aWVudC5oCmluZGV4IDM1MmE0YzRmYjUwNGY3Y2Q0ZDJlYzQwNmU2YmMyOTExYTU1ZmQwOTQuLjBh
MTM5OWQzODExZmFlMGJmNDI0YmRiMDJhYjMxMTRlNmYxZTg3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC0zNTEsNyArMzUxLDcgQEAgcHVibGljOgog
CiAgICAgLy8gRklYTUUgKGJ1ZyAxMTYyMzMpOiBXZSBuZWVkIHRvIGdldCByaWQgb2YgRW1wdHlG
cmFtZUxvYWRlckNsaWVudCBjb21wbGV0ZWx5LCB0aGVuIHRoaXMgd2lsbCBubyBsb25nZXIgYmUg
bmVlZGVkLgogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1NlcnZpY2VXb3JrZXJGcmFt
ZUxvYWRlckNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29s
IGlzV2ViV29ya2VyRnJhbWVMb2FkZXJDbGllbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
CiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgdmlydHVhbCBSZWZQdHI8TGVnYWN5UHJldmlld0xv
YWRlckNsaWVudD4gY3JlYXRlUHJldmlld0xvYWRlckNsaWVudChjb25zdCBTdHJpbmcmLCBjb25z
dCBTdHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dp
bmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IDQ0ZTBhN2FjYjdi
NTNkNjBiNDdhYmM0NmY5ZGUxZGNkOWRkZWZjYmEuLjFjNDJkMDQwYzFhOTBiMGFhZGQxNGU4YjMz
NWVmOGRkYmJjYWY5ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC0xMTEsNiArMTEx
LDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgTShXZWJHTCkgXAogICAgIE0oV2ViUlRDKSBcCiAgICAg
TShXaGVlbEV2ZW50cykgXAorICAgIE0oV29ya2VyKSBcCiAgICAgTShYUikgXAogCiBXRUJLSVQy
X0xPR19DSEFOTkVMUyhERUNMQVJFX0xPR19DSEFOTkVMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggZGY0N2M3
ODZjOGRlZjYyNGY0M2ZjOTQ2ZGRjODJkMzQzMjI5OTk0ZS4uODIwMGI2OGEzMGMzOTM0MzA5OTEw
MmZiY2UxNjViYTgwNTg1M2Y5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC03ODIsNiArNzgyLDcgQEAgV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXT3JpZ2luVGFibGUuY3BwCiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudC5jcHAKIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
ZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCitXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViV29ya2VyRnJh
bWVMb2FkZXJDbGllbnQuY3BwCiAKIFdlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA3YThjMmI4M2EyZDBmODJjYzQ3Y2NmMTM1ZWM3YjE2YzA3YTFh
NzhhLi44MzY2Y2ZiMzgyZDUyYTc4YWM0NDM2NDZkYjQ1OWE4YTQxYjUwMWQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg5Nyw2ICs4
OTcsOCBAQAogCQk0NkJFQjZERjIyRkJCMTZCMDAyNjk4NjcgLyogU2Vzc2lvblN0b3JhZ2VOYW1l
c3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
QkVCNkREMjJGQkIxNkIwMDI2OTg2NyAvKiBTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZS5oICovOyB9
OwogCQk0NkJFQjZFMzIyRkJCMjFBMDAyNjk4NjcgLyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFt
ZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NkJFQjZFMTIyRkJCMjFBMDAyNjk4NjcgLyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNl
LmggKi87IH07CiAJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVu
dGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovOyB9
OworCQk0NkM1QjdDRTI3QUFEREQzMDAwQzVCNDcgLyogV2ViV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzVC
N0NEMjdBQUREQkUwMDBDNUI0NyAvKiBXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oICovOyB9
OworCQk0NkM1QjdDRjI3QUFEREQ2MDAwQzVCNDcgLyogV2ViV29ya2VyTGliV2ViUlRDUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzVC
N0NCMjdBQUREQkUwMDBDNUI0NyAvKiBXZWJXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oICovOyB9
OwogCQk0NkNFM0IxMTIzRDhDODQ5MDAxNkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkNFM0Ix
MDIzRDhDODNEMDAxNkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggKi87IH07CiAJ
CTQ2REYwNjNDMUYzOTA1RjgwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REYwNjNB
MUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAqLzsgfTsK
IAkJNDZFRTI4NDkyNjlFMDRBQzAwREQ0OEFCIC8qIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3Ry
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFRTI4
NDgyNjlFMDQ5QjAwREQ0OEFCIC8qIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5oICovOyB9
OwpAQCAtNDI2NCw2ICs0MjY2LDkgQEAKIAkJNDZCRUI2RTEyMkZCQjIxQTAwMjY5ODY3IC8qIFRy
YW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2llbnRM
b2NhbFN0b3JhZ2VOYW1lc3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZC
RUI2RTIyMkZCQjIxQTAwMjY5ODY3IC8qIFRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIg
LyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QzVCN0NCMjdBQURE
QkUwMDBDNUI0NyAvKiBXZWJXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0NkM1QjdDQzI3QUFEREJFMDAwQzVCNDcgLyogV2ViV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkM1QjdDRDI3QUFEREJFMDAwQzVCNDcg
LyogV2ViV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViV29ya2Vy
RnJhbWVMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZDRTNC
MTAyM0Q4QzgzRDAwMTZBOTZBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2MzkxRjM5MDVFNTAwMTk4MEJCIC8qIE5l
dHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQ
cmVmbGlnaHRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdv
cmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NzIxNiw2ICs3MjIxLDcgQEAKIAkJCQk3QUZCRDM2RTIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lz
dGVuY3lVdGlscy5jcHAgKi8sCiAJCQkJN0FGQkQzNkQyMUU1NDZFMzAwNURCQUNCIC8qIFBlcnNp
c3RlbmN5VXRpbHMuaCAqLywKIAkJCQlCQ0M0M0FCODEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZv
cm1Qb3B1cE1lbnVEYXRhLmNwcCAqLywKKwkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdGMTYgLyog
UGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggKi8sCiAJCQkJNDlFQ0E0MUIyM0ZDQTQ4NjAwMjMzNThE
IC8qIFBvbGljeURlY2lzaW9uLmggKi8sCiAJCQkJRTE4QzkyRjMxMkRCOUU3MTAwQ0YyQUVCIC8q
IFByaW50SW5mby5jcHAgKi8sCiAJCQkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50
SW5mby5oICovLApAQCAtNzIzNSw3ICs3MjQxLDYgQEAKIAkJCQkyRDY1RDE5NjI3NEI4RTg0MDA5
QzQxMDEgLyogU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuY3BwICovLAogCQkJCTJENjVEMTk1
Mjc0QjhFODQwMDlDNDEwMSAvKiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZS5oICovLAogCQkJ
CTVDODBCM0REMjM2OTBGMTAwMDg2RTZERSAvKiBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmNwcCAqLywKLQkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1
cE1lbnVEYXRhLmggKi8sCiAJCQkJNUM4MEIzREIyMzY5MEQ4RDAwODZFNkRFIC8qIFNlcnZpY2VX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCAqLywKIAkJCQkxQUZERTY1NzE5NTRBNDJCMDBDNDhG
RkEgLyogU2Vzc2lvblN0YXRlLmNwcCAqLywKIAkJCQkxQUZERTY1ODE5NTRBNDJCMDBDNDhGRkEg
LyogU2Vzc2lvblN0YXRlLmggKi8sCkBAIC05NDUyLDYgKzk0NTcsOSBAQAogCQkJCTQ2NkJDMDNB
MUZBMjY2QzkwMDJGQTlDMSAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdl
cy5pbiAqLywKIAkJCQk4M0YxQTA3NzFGOTZFNzcwMDA0NUI5NEUgLyogV2ViU1dPcmlnaW5UYWJs
ZS5jcHAgKi8sCiAJCQkJODNGMUEwNzgxRjk2RTc3MTAwNDVCOTRFIC8qIFdlYlNXT3JpZ2luVGFi
bGUuaCAqLywKKwkJCQk0NkM1QjdDQzI3QUFEREJFMDAwQzVCNDcgLyogV2ViV29ya2VyRnJhbWVM
b2FkZXJDbGllbnQuY3BwICovLAorCQkJCTQ2QzVCN0NEMjdBQUREQkUwMDBDNUI0NyAvKiBXZWJX
b3JrZXJGcmFtZUxvYWRlckNsaWVudC5oICovLAorCQkJCTQ2QzVCN0NCMjdBQUREQkUwMDBDNUI0
NyAvKiBXZWJXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oICovLAogCQkJKTsKIAkJCXBhdGggPSBT
dG9yYWdlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTEzNjc2LDYgKzEzNjg0LDgg
QEAKIAkJCQk4M0VFNTc1QzFEQjdENjExMDBDNzRDNTAgLyogV2ViVmFsaWRhdGlvbk1lc3NhZ2VD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MkZENDQzMjIyNjVDRTIwMEExRUNDMyAvKiBX
ZWJWaWV3RGlkTW92ZVRvV2luZG93T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJERkM3
REJCMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDZDNUI3Q0UyN0FBREREMzAwMEM1QjQ3IC8qIFdlYldvcmtlckZyYW1lTG9hZGVyQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0NkM1QjdDRjI3QUFEREQ2MDAwQzVCNDcgLyogV2ViV29ya2Vy
TGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5Q0Q1NUFBMTI4RTI5NEYw
MDEzM0M4NSAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjkyMzJERjQxOEIyOUQ2ODAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNEI3MjQ0MTlGNUI5QkUwMEFFOTZE
NiAvKiBXS0FjdGlvbk1lbnVJdGVtVHlwZXMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmlu
ZGV4IDFiZDZmMzQ3ZWVmNTRiMDBlZWJhYTQ1M2ZlNzc4ZTc0Zjg3N2RkMzUuLjU2ZjE5YWQxMjFk
ZDAxNDkyYTU5ZDI3YjM1ZDc3MzZjZjg5MTEwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTQ2LDYgKzQ2
LDcgQEAKICNpbmNsdWRlICJXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJX
ZWJVUkxTY2hlbWVIYW5kbGVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJVUkxTY2hlbWVUYXNrUHJv
eHkuaCIKKyNpbmNsdWRlICJXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZUhvc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NhY2hl
ZFJlc291cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaD4K
QEAgLTE3OSwxMCArMTgwLDggQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2Fk
KFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKICAgICBXZWJSZXNv
dXJjZUxvYWRlcjo6VHJhY2tpbmdQYXJhbWV0ZXJzIHRyYWNraW5nUGFyYW1ldGVyczsKICAgICBp
ZiAoYXV0byogd2ViRnJhbWVMb2FkZXJDbGllbnQgPSB0b1dlYkZyYW1lTG9hZGVyQ2xpZW50KGZy
YW1lTG9hZGVyQ2xpZW50KSkKICAgICAgICAgdHJhY2tpbmdQYXJhbWV0ZXJzLndlYlBhZ2VQcm94
eUlEID0gdmFsdWVPckRlZmF1bHQod2ViRnJhbWVMb2FkZXJDbGllbnQtPndlYlBhZ2VQcm94eUlE
KCkpOwotI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBlbHNlIGlmIChpczxTZXJ2aWNl
V29ya2VyRnJhbWVMb2FkZXJDbGllbnQ+KGZyYW1lTG9hZGVyQ2xpZW50KSkKLSAgICAgICAgdHJh
Y2tpbmdQYXJhbWV0ZXJzLndlYlBhZ2VQcm94eUlEID0gZG93bmNhc3Q8U2VydmljZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50PihmcmFtZUxvYWRlckNsaWVudCkud2ViUGFnZVByb3h5SUQoKTsKLSNl
bmRpZgorICAgIGVsc2UgaWYgKGlzPFdlYldvcmtlckZyYW1lTG9hZGVyQ2xpZW50PihmcmFtZUxv
YWRlckNsaWVudCkpCisgICAgICAgIHRyYWNraW5nUGFyYW1ldGVycy53ZWJQYWdlUHJveHlJRCA9
IGRvd25jYXN0PFdlYldvcmtlckZyYW1lTG9hZGVyQ2xpZW50PihmcmFtZUxvYWRlckNsaWVudCku
d2ViUGFnZVByb3h5SUQoKTsKICAgICB0cmFja2luZ1BhcmFtZXRlcnMucGFnZUlEID0gdmFsdWVP
ckRlZmF1bHQoZnJhbWVMb2FkZXJDbGllbnQucGFnZUlEKCkpOwogICAgIHRyYWNraW5nUGFyYW1l
dGVycy5mcmFtZUlEID0gdmFsdWVPckRlZmF1bHQoZnJhbWVMb2FkZXJDbGllbnQuZnJhbWVJRCgp
KTsKICAgICB0cmFja2luZ1BhcmFtZXRlcnMucmVzb3VyY2VJRCA9IGlkZW50aWZpZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggNTVjYTdkYzNjZTA2YjU1MTQ5Y2E5
YzNjYWNmNTgxMmQ1NjQ5YWY5OS4uZGY3MjZjOTMxYmVmNDljMDFkNzVhMDFmYTI1MjM3Y2I5MDI3
MjRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NNZXNzYWdlcy5o
IgotI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5oIgogI2luY2x1ZGUgIlJl
bW90ZVdlYkxvY2tSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIK
QEAgLTU0LDkgKzUzLDEwIEBACiAjaW5jbHVkZSAiV2ViU2VydmljZVdvcmtlckZldGNoVGFza0Ns
aWVudC5oIgogI2luY2x1ZGUgIldlYlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViVXNl
ckNvbnRlbnRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiV2ViV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQuaCIKKyNpbmNsdWRlICJXZWJXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9FbXB0eUNsaWVudHMu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9NZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNv
bmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aD4KQEAgLTc2LDMxICs3Niw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFBBTDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0KLSNpZiBFTkFCTEUoV0VCX1JUQykK
LWNsYXNzIFNlcnZpY2VXb3JrZXJMaWJXZWJSVENQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJD
b3JlOjpMaWJXZWJSVENQcm92aWRlciB7Ci1wdWJsaWM6Ci0gICAgU2VydmljZVdvcmtlckxpYldl
YlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0OwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxXZWJDb3Jl
OjpSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hh
bm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgZmluYWwgeyByZXR1cm4gJlJUQ0RhdGFDaGFu
bmVsUmVtb3RlTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnJlbW90ZUhhbmRsZXJDb25uZWN0aW9u
KCk7IH0KLX07Ci0jZW5kaWYKLQotU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpTZXJ2
aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQoV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdl
UHJveHlJRCwgUGFnZUlkZW50aWZpZXIgcGFnZUlELCBGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi0gICAgOiBtX3dlYlBhZ2VQcm94eUlEKHdlYlBhZ2VQ
cm94eUlEKQotICAgICwgbV9wYWdlSUQocGFnZUlEKQotICAgICwgbV9mcmFtZUlEKGZyYW1lSUQp
Ci0gICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCi17Ci0gICAgUkVMRUFTRV9MT0coU2Vydmlj
ZVdvcmtlciwgIlNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6U2VydmljZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50IHdlYlBhZ2VQcm94eUlEICVsbHUsIHBhZ2VJRCAlbGx1LCBmcmFtZUlE
ICAlbGx1Iiwgd2ViUGFnZVByb3h5SUQudG9VSW50NjQoKSwgcGFnZUlELnRvVUludDY0KCksIGZy
YW1lSUQudG9VSW50NjQoKSk7Ci19Ci0KLVJlZjxEb2N1bWVudExvYWRlcj4gU2VydmljZVdvcmtl
ckZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0YSkKLXsK
LSAgICByZXR1cm4gV2ViRG9jdW1lbnRMb2FkZXI6OmNyZWF0ZShyZXF1ZXN0LCBzdWJzdGl0dXRl
RGF0YSk7Ci19Ci0KIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbihSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQ
YWdlSWRlbnRpZmllciwgUGFnZUdyb3VwSWRlbnRpZmllciBwYWdlR3JvdXBJRCwgV2ViUGFnZVBy
b3h5SWRlbnRpZmllciB3ZWJQYWdlUHJveHlJRCwgUGFnZUlkZW50aWZpZXIgcGFnZUlELCBjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9u
RGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKICAgICA6IG1fY29ubmVjdGlvblRvTmV0d29ya1By
b2Nlc3MoV1RGTW92ZShjb25uZWN0aW9uKSkKICAgICAsIG1fcmVnaXN0cmFibGVEb21haW4oV1RG
TW92ZShyZWdpc3RyYWJsZURvbWFpbikpCkBAIC0xNTIsMTQgKzEyNywxNCBAQCB2b2lkIFdlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjppbnN0YWxsU2VydmljZVdvcmtlcihTZXJ2aWNlV29y
a2VyQ29udGV4dERhdAogICAgIHBhZ2VDb25maWd1cmF0aW9uLndlYkxvY2tSZWdpc3RyeSA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvY2tSZWdpc3RyeSgpOwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLnVzZXJDb250ZW50UHJvdmlkZXIgPSBtX3VzZXJDb250ZW50Q29udHJvbGxlcjsKICNp
ZiBFTkFCTEUoV0VCX1JUQykKLSAgICBwYWdlQ29uZmlndXJhdGlvbi5saWJXZWJSVENQcm92aWRl
ciA9IG1ha2VVbmlxdWVSZWY8U2VydmljZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyPigpOworICAg
IHBhZ2VDb25maWd1cmF0aW9uLmxpYldlYlJUQ1Byb3ZpZGVyID0gbWFrZVVuaXF1ZVJlZjxXZWJX
b3JrZXJMaWJXZWJSVENQcm92aWRlcj4oKTsKICNlbmRpZgogCiAgICAgYXV0byBlZmZlY3RpdmVV
c2VyQWdlbnQgPSAgV1RGTW92ZSh1c2VyQWdlbnQpOwogICAgIGlmIChlZmZlY3RpdmVVc2VyQWdl
bnQuaXNOdWxsKCkpCiAgICAgICAgIGVmZmVjdGl2ZVVzZXJBZ2VudCA9IG1fdXNlckFnZW50Owog
Ci0gICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbWFrZVVu
aXF1ZVJlZjxTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ+KG1fd2ViUGFnZVByb3h5SUQs
IG1fcGFnZUlELCBGcmFtZUlkZW50aWZpZXI6OmdlbmVyYXRlKCksIGVmZmVjdGl2ZVVzZXJBZ2Vu
dCk7CisgICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbWFr
ZVVuaXF1ZVJlZjxXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4obV93ZWJQYWdlUHJveHlJRCwg
bV9wYWdlSUQsIEZyYW1lSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgZWZmZWN0aXZlVXNlckFnZW50
KTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGF1dG8gc2VydmljZVdvcmtlcklk
ZW50aWZpZXIgPSBjb250ZXh0RGF0YS5zZXJ2aWNlV29ya2VySWRlbnRpZmllcjsKQEAgLTIzNSw3
ICsyMTAsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpjYW5jZWxGZXRj
aChTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcgogdm9pZCBXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6Y29udGludWVEaWRSZWNlaXZlRmV0Y2hSZXNwb25zZShTV1NlcnZlckNv
bm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgRmV0Y2hJZGVudGlmaWVyIGZl
dGNoSWRlbnRpZmllcikKIHsKICAgICBhdXRvKiBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgPSBT
V0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpOwotICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJT
ZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OmNvbnRpbnVlRGlkUmVjZWl2ZUZldGNoUmVz
cG9uc2UgZm9yIHNlcnZpY2Ugd29ya2VyICVsbHUsIGZldGNoIGlkZW50aWZpZXIgJWxsdSwgaGFz
IHNlcnZpY2Ugd29ya2VyICVkIiwgc2VydmljZVdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSwg
ZmV0Y2hJZGVudGlmaWVyLnRvVUludDY0KCksICEhc2VydmljZVdvcmtlclRocmVhZFByb3h5KTsK
KyAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiV2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb246OmNvbnRpbnVlRGlkUmVjZWl2ZUZldGNoUmVzcG9uc2UgZm9yIHNlcnZpY2Ugd29ya2Vy
ICVsbHUsIGZldGNoIGlkZW50aWZpZXIgJWxsdSwgaGFzIHNlcnZpY2Ugd29ya2VyICVkIiwgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSwgZmV0Y2hJZGVudGlmaWVyLnRvVUludDY0
KCksICEhc2VydmljZVdvcmtlclRocmVhZFByb3h5KTsKIAogICAgIGlmIChzZXJ2aWNlV29ya2Vy
VGhyZWFkUHJveHkpCiAgICAgICAgIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+Y29udGludWVE
aWRSZWNlaXZlRmV0Y2hSZXNwb25zZShzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgZmV0Y2hJ
ZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IGFjZTFhOTlk
ZDExODcxZmMyYmRkN2NiNDVmZjU3NGE4NzlmMTUxZWIuLjIyOThhZWNlZjhjZjFhMTEwOGRkZGEx
MzhiYTA0M2I3NDM0Yjg2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAt
MzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCiAjaW5jbHVkZSAiV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb25NZXNzYWdlc1JlcGxpZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0VtcHR5RnJh
bWVMb2FkZXJDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4KQEAgLTU2LDkgKzU1LDkgQEAgZW51bSBjbGFz
cyBXb3JrZXJUaHJlYWRNb2RlIDogYm9vbDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNz
IFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDsKLXN0cnVjdCBTZXJ2aWNlV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogY2xhc3MgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyOworY2xhc3Mg
V2ViV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ7CitzdHJ1Y3QgU2VydmljZVdvcmtlckluaXRpYWxp
emF0aW9uRGF0YTsKIAogY2xhc3MgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24gZmluYWwg
OiBwdWJsaWMgV2ViQ29yZTo6U1dDb250ZXh0TWFuYWdlcjo6Q29ubmVjdGlvbiwgcHVibGljIElQ
Qzo6TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKQEAgLTExNSw3ICsxMTQsNyBAQCBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJRDsKICAgICBXZWJD
b3JlOjpQYWdlSWRlbnRpZmllciBtX3BhZ2VJRDsKIAotICAgIEhhc2hTZXQ8c3RkOjp1bmlxdWVf
cHRyPFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4+IG1fbG9hZGVyczsKKyAgICBIYXNo
U2V0PHN0ZDo6dW5pcXVlX3B0cjxXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4+IG1fbG9hZGVy
czsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50c01h
dGNoQWxsQ2FsbGJhY2s+IG1fbWF0Y2hBbGxSZXF1ZXN0czsKICAgICB1aW50NjRfdCBtX3ByZXZp
b3VzUmVxdWVzdElkZW50aWZpZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fdXNlckFnZW50OwpAQCAt
MTI0LDM1ICsxMjMsNiBAQCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8V2ViUHJlZmVyZW5j
ZXNTdG9yZT4gbV9wcmVmZXJlbmNlc1N0b3JlOwogfTsKIAotY2xhc3MgU2VydmljZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJD
bGllbnQgewotcHVibGljOgotICAgIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudChXZWJQ
YWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7Ci0KLSAgICBXZWJQYWdlUHJv
eHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlEKCkgY29uc3QgeyByZXR1cm4gbV93ZWJQYWdlUHJv
eHlJRDsgfQotCi0gICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7IG1f
dXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmPFdl
YkNvcmU6OkRvY3VtZW50TG9hZGVyPiBjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpIGZpbmFs
OwotCi0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wYWdlSUQ7IH0KLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZnJh
bWVJRDsgfQotCi0gICAgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShXZWJDb3JlOjpE
b2N1bWVudExvYWRlciosIFdlYkNvcmU6OlJlc291cmNlTG9hZGVySWRlbnRpZmllcikgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQotICAgIGJvb2wgaXNTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9Ci0KLSAgICBTdHJpbmcgdXNlckFnZW50
KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdXNlckFnZW50OyB9Ci0KLSAgICBX
ZWJQYWdlUHJveHlJZGVudGlmaWVyIG1fd2ViUGFnZVByb3h5SUQ7Ci0gICAgV2ViQ29yZTo6UGFn
ZUlkZW50aWZpZXIgbV9wYWdlSUQ7Ci0gICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIG1fZnJh
bWVJRDsKLSAgICBTdHJpbmcgbV91c2VyQWdlbnQ7Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJLaXQ6OlNlcnZpY2VXb3JrZXJG
cmFtZUxvYWRlckNsaWVudCkKLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
RnJhbWVMb2FkZXJDbGllbnQmIGZyYW1lTG9hZGVyQ2xpZW50KSB7IHJldHVybiBmcmFtZUxvYWRl
ckNsaWVudC5pc1NlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgpOyB9Ci1TUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0VORCgpCi0KICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJXb3JrZXJGcmFt
ZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJX
b3JrZXJGcmFtZUxvYWRlckNsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJlY2YzNGM3YmFkOWM0MzUz
YmNkZTNlZTYwMTQ5ZmNlYjAzYWVkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYldvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMCww
ICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxNy0yMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYldvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgi
CisjaW5jbHVkZSAiV2ViRG9jdW1lbnRMb2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K1dlYldvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudChX
ZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBXZWJDb3JlOjpQYWdlSWRlbnRp
ZmllciBwYWdlSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCkKKyAgICA6IG1fd2ViUGFnZVByb3h5SUQod2ViUGFnZVByb3h5SUQpCisg
ICAgLCBtX3BhZ2VJRChwYWdlSUQpCisgICAgLCBtX2ZyYW1lSUQoZnJhbWVJRCkKKyAgICAsIG1f
dXNlckFnZW50KHVzZXJBZ2VudCkKK3sKKyAgICBSRUxFQVNFX0xPRyhXb3JrZXIsICJXZWJXb3Jr
ZXJGcmFtZUxvYWRlckNsaWVudDo6V2ViV29ya2VyRnJhbWVMb2FkZXJDbGllbnQgd2ViUGFnZVBy
b3h5SUQgJSIgUFJJdTY0ICIsIHBhZ2VJRCAlIiBQUkl1NjQgIiwgZnJhbWVJRCAgJSIgUFJJdTY0
LCB3ZWJQYWdlUHJveHlJRC50b1VJbnQ2NCgpLCBwYWdlSUQudG9VSW50NjQoKSwgZnJhbWVJRC50
b1VJbnQ2NCgpKTsKK30KKworUmVmPFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyPiBXZWJXb3JrZXJG
cmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYgc3Vi
c3RpdHV0ZURhdGEpCit7CisgICAgcmV0dXJuIFdlYkRvY3VtZW50TG9hZGVyOjpjcmVhdGUocmVx
dWVzdCwgc3Vic3RpdHV0ZURhdGEpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYldvcmtlckZyYW1lTG9h
ZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJXb3JrZXJG
cmFtZUxvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMGE3NjQ2YWMxMzA1NDk0NzYxOGQ2N2Zm
ZjRiZmY3YzUyYTQ5YmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0wLDAgKzEsNjEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9FbXB0
eUZyYW1lTG9hZGVyQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJX
b3JrZXJGcmFtZUxvYWRlckNsaWVudCBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudChX
ZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CisKKyAgICBXZWJQYWdl
UHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlEKCkgY29uc3QgeyByZXR1cm4gbV93ZWJQYWdl
UHJveHlJRDsgfQorCisgICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7
IG1fdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9CisKK3ByaXZhdGU6CisgICAgUmVm
PFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyPiBjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpIGZp
bmFsOworCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlE
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wYWdlSUQ7IH0KKyAgICBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
ZnJhbWVJRDsgfQorCisgICAgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShXZWJDb3Jl
OjpEb2N1bWVudExvYWRlciosIFdlYkNvcmU6OlJlc291cmNlTG9hZGVySWRlbnRpZmllcikgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaXNXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVu
dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIFN0cmluZyB1c2VyQWdlbnQo
Y29uc3QgVVJMJikgY29uc3QgZmluYWwgeyByZXR1cm4gbV91c2VyQWdlbnQ7IH0KKworICAgIFdl
YlBhZ2VQcm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJRDsKKyAgICBXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciBtX3BhZ2VJRDsKKyAgICBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgbV9mcmFt
ZUlEOworICAgIFN0cmluZyBtX3VzZXJBZ2VudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYktpdDo6V2ViV29ya2VyRnJhbWVM
b2FkZXJDbGllbnQpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZyYW1l
TG9hZGVyQ2xpZW50JiBmcmFtZUxvYWRlckNsaWVudCkgeyByZXR1cm4gZnJhbWVMb2FkZXJDbGll
bnQuaXNXZWJXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJB
SVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViV29ya2VyTGliV2ViUlRDUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjJjNjNlYjA4
YzUzMDhlMzc5YzY0Zjc1NmE4MGQzN2IyY2Q3NjNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViV29ya2VyTGliV2ViUlRDUHJvdmlkZXIuaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDUHJvdmlkZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBFTkFCTEUoV0VC
X1JUQykKK2NsYXNzIFdlYldvcmtlckxpYldlYlJUQ1Byb3ZpZGVyIGZpbmFsIDogcHVibGljIFdl
YkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyIHsKK3B1YmxpYzoKKyAgICBXZWJXb3JrZXJMaWJXZWJS
VENQcm92aWRlcigpID0gZGVmYXVsdDsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8V2ViQ29yZTo6
UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4gY3JlYXRlUlRDRGF0YUNoYW5u
ZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpIGZpbmFsIHsgcmV0dXJuICZSVENEYXRhQ2hhbm5l
bFJlbW90ZU1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5yZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigp
OyB9Cit9OworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450647</attachid>
            <date>2022-02-02 08:45:08 -0800</date>
            <delta_ts>2022-02-02 09:47:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236016-20220202084507.patch</filename>
            <type>text/plain</type>
            <size>27883</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVkYTA4MDZjZGJiOTEw
ZTMzYmVmNWEzNDE1ODExMjMwNzkwZTcwMC4uNTBjNjczMWU4NTA2Zjc2ZWZjNGMxNjA2N2JkNjRm
Nzk0ZTJlMWFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbmQgcmVuYW1lIFNl
cnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCAmIFNlcnZpY2VXb3JrZXJMaWJXZWJSVENQcm92
aWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2
MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBNb3Zl
IGFuZCByZW5hbWUgU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50ICYgU2VydmljZVdvcmtl
ckxpYldlYlJUQ1Byb3ZpZGVyIHNvIHRoYXQgdGhleSBjYW4gYmUgcmV1c2VkIGJ5IFNoYXJlZCBX
b3JrZXJzLgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIwMjIt
MDItMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIExpYldl
YlJUQ0NvZGVjcyBzaG91bGQgbm90IG5lZWQgdG8gY3JlYXRlIElPU3VyZmFjZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggYzIzZTMxZTkyMjYzY2JlNzc1NzQxZDBmNDUwNmRlMWVhMTcwZDcwMS4uZjBhMGNlYTY1YWQz
ZTM5YjJmOWViNjllOWYyNzBmY2ZiYTBmMWM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAor
MjAyMi0wMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1v
dmUgYW5kIHJlbmFtZSBTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQgJiBTZXJ2aWNlV29y
a2VyTGliV2ViUlRDUHJvdmlkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNjAxNgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgTW92ZSBhbmQgcmVuYW1lIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVu
dCAmIFNlcnZpY2VXb3JrZXJMaWJXZWJSVENQcm92aWRlciBzbyB0aGF0IHRoZXkgY2FuIGJlIHJl
dXNlZCBieSBTaGFyZWQgV29ya2Vycy4KKworICAgICAgICAqIFBsYXRmb3JtL0xvZ2dpbmcuaDoK
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRl
Z3kuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2Fk
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJD
bGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV29ya2VyRnJhbWVMb2Fk
ZXJDbGllbnQ6OlJlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZURvY3VtZW50TG9hZGVyKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQuaDogQWRkZWQuCisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3Rv
cmFnZS9SZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6aW5zdGFsbFNlcnZp
Y2VXb3JrZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6Y29udGludWVEaWRSZWNlaXZlRmV0Y2hSZXNwb25zZSk6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OlNlcnZp
Y2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlNl
cnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIpOiBEZWxl
dGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5oOgorICAgICAgICAoaXNUeXBlKTogRGVsZXRlZC4KKwogMjAyMi0wMi0wMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTGliV2ViUlRDQ29kZWNz
IHNob3VsZCBub3QgbmVlZCB0byBjcmVhdGUgSU9TdXJmYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCAzNTJhNGM0ZmI1MDRmN2NkNGQyZWM0MDZlNmJj
MjkxMWE1NWZkMDk0Li43YTdhMWI1ZjI0YzU4YzA4OWMyMDlmMmVmMzAzNTMzMTM0NDYxNzc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMzUxLDcgKzM1
MSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIEZJWE1FIChidWcgMTE2MjMzKTogV2UgbmVlZCB0byBn
ZXQgcmlkIG9mIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgY29tcGxldGVseSwgdGhlbiB0aGlzIHdp
bGwgbm8gbG9uZ2VyIGJlIG5lZWRlZC4KICAgICB2aXJ0dWFsIGJvb2wgaXNFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNT
ZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQor
ICAgIHZpcnR1YWwgYm9vbCBpc1JlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAogI2lmIFVTRShRVUlDS19MT09LKQogICAgIHZpcnR1YWwgUmVm
UHRyPExlZ2FjeVByZXZpZXdMb2FkZXJDbGllbnQ+IGNyZWF0ZVByZXZpZXdMb2FkZXJDbGllbnQo
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9Mb2dnaW5nLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcu
aAppbmRleCA0NGUwYTdhY2I3YjUzZDYwYjQ3YWJjNDZmOWRlMWRjZDlkZGVmY2JhLi4xYzQyZDA0
MGMxYTkwYjBhYWRkMTRlOGIzMzVlZjhkZGJiY2FmOWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dp
bmcuaApAQCAtMTExLDYgKzExMSw3IEBAIGV4dGVybiAiQyIgewogICAgIE0oV2ViR0wpIFwKICAg
ICBNKFdlYlJUQykgXAogICAgIE0oV2hlZWxFdmVudHMpIFwKKyAgICBNKFdvcmtlcikgXAogICAg
IE0oWFIpIFwKIAogV0VCS0lUMl9MT0dfQ0hBTk5FTFMoREVDTEFSRV9MT0dfQ0hBTk5FTCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0CmluZGV4IGRmNDdjNzg2YzhkZWY2MjRmNDNmYzk0NmRkYzgyZDM0MzIyOTk5NGUuLjRm
MGEyMzU0NDFiMmUxYzBjY2NjMTQwZGNjNTBmMjZmMDA0NDNjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAt
Nzc3LDYgKzc3Nyw3IEBAIFdlYlByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5JbmZvUHJvdmlkZXIu
Y3BwIEBuby11bmlmeQogCiBXZWJQcm9jZXNzL1NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlYWx0
aW1lTWVkaWFTb3VyY2VNYW5hZ2VyLmNwcAogCitXZWJQcm9jZXNzL1N0b3JhZ2UvUmVtb3RlV29y
a2VyRnJhbWVMb2FkZXJDbGllbnQuY3BwCiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLmNwcAogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmNwcAogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXT3JpZ2luVGFibGUuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3YThj
MmI4M2EyZDBmODJjYzQ3Y2NmMTM1ZWM3YjE2YzA3YTFhNzhhLi42NGU0MDQ0MGI4ZTM3OWY2NWZi
NGFlYWNiZTM3OTgzNDU2YjYxYTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg5Nyw2ICs4OTcsOCBAQAogCQk0NkJFQjZERjIyRkJC
MTZCMDAyNjk4NjcgLyogU2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkVCNkREMjJGQkIxNkIwMDI2OTg2NyAv
KiBTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZS5oICovOyB9OwogCQk0NkJFQjZFMzIyRkJCMjFBMDAy
Njk4NjcgLyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZFMTIyRkJCMjFBMDAyNjk4Njcg
LyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggKi87IH07CiAJCTQ2QzM5MjI5MjMx
NkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIg
LyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovOyB9OworCQk0NkM1QjdDRTI3QUFEREQzMDAw
QzVCNDcgLyogUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzVCN0NEMjdBQUREQkUwMDBDNUI0NyAv
KiBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oICovOyB9OworCQk0NkM1QjdDRjI3QUFE
REQ2MDAwQzVCNDcgLyogUmVtb3RlV29ya2VyTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzVCN0NCMjdBQUREQkUwMDBD
NUI0NyAvKiBSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oICovOyB9OwogCQk0NkNFM0Ix
MTIzRDhDODQ5MDAxNkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkNFM0IxMDIzRDhDODNEMDAx
NkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggKi87IH07CiAJCTQ2REYwNjNDMUYz
OTA1RjgwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REYwNjNBMUYzOTA1RTUwMDE5
ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAqLzsgfTsKIAkJNDZFRTI4NDky
NjlFMDRBQzAwREQ0OEFCIC8qIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFRTI4NDgyNjlFMDQ5QjAw
REQ0OEFCIC8qIFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5oICovOyB9OwpAQCAtNDI2NCw2
ICs0MjY2LDkgQEAKIAkJNDZCRUI2RTEyMkZCQjIxQTAwMjY5ODY3IC8qIFRyYW5zaWVudExvY2Fs
U3RvcmFnZU5hbWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2llbnRMb2NhbFN0b3JhZ2VO
YW1lc3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZCRUI2RTIyMkZCQjIx
QTAwMjY5ODY3IC8qIFRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVBy
b3h5SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QzVCN0NCMjdBQUREQkUwMDBDNUI0NyAv
KiBSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVX
b3JrZXJMaWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
NkM1QjdDQzI3QUFEREJFMDAwQzVCNDcgLyogUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkM1QjdDRDI3QUFEREJFMDAwQzVCNDcg
LyogUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3Rl
V29ya2VyRnJhbWVMb2FkZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDZDRTNCMTAyM0Q4QzgzRDAwMTZBOTZBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2MzkxRjM5MDVFNTAwMTk4MEJC
IC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29y
a0NPUlNQcmVmbGlnaHRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNzIxNiw2ICs3MjIxLDcgQEAKIAkJCQk3QUZCRDM2RTIxRTU0NkUzMDA1REJBQ0IgLyog
UGVyc2lzdGVuY3lVdGlscy5jcHAgKi8sCiAJCQkJN0FGQkQzNkQyMUU1NDZFMzAwNURCQUNCIC8q
IFBlcnNpc3RlbmN5VXRpbHMuaCAqLywKIAkJCQlCQ0M0M0FCODEyN0I5NURDMDAzMTdGMTYgLyog
UGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCAqLywKKwkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdG
MTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggKi8sCiAJCQkJNDlFQ0E0MUIyM0ZDQTQ4NjAw
MjMzNThEIC8qIFBvbGljeURlY2lzaW9uLmggKi8sCiAJCQkJRTE4QzkyRjMxMkRCOUU3MTAwQ0Yy
QUVCIC8qIFByaW50SW5mby5jcHAgKi8sCiAJCQkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4IC8q
IFByaW50SW5mby5oICovLApAQCAtNzIzNSw3ICs3MjQxLDYgQEAKIAkJCQkyRDY1RDE5NjI3NEI4
RTg0MDA5QzQxMDEgLyogU2Nyb2xsaW5nQWNjZWxlcmF0aW9uQ3VydmUuY3BwICovLAogCQkJCTJE
NjVEMTk1Mjc0QjhFODQwMDlDNDEwMSAvKiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZS5oICov
LAogCQkJCTVDODBCM0REMjM2OTBGMTAwMDg2RTZERSAvKiBTZXJ2aWNlV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhLmNwcCAqLywKLQkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZv
cm1Qb3B1cE1lbnVEYXRhLmggKi8sCiAJCQkJNUM4MEIzREIyMzY5MEQ4RDAwODZFNkRFIC8qIFNl
cnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCAqLywKIAkJCQkxQUZERTY1NzE5NTRBNDJC
MDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmNwcCAqLywKIAkJCQkxQUZERTY1ODE5NTRBNDJCMDBD
NDhGRkEgLyogU2Vzc2lvblN0YXRlLmggKi8sCkBAIC05NDQwLDYgKzk0NDUsOSBAQAogCQk1MTE4
RTk5ODFGMjk1MjU5MDAzRUY5RjUgLyogU3RvcmFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDZDNUI3Q0MyN0FBRERCRTAwMEM1QjQ3IC8qIFJlbW90
ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmNwcCAqLywKKwkJCQk0NkM1QjdDRDI3QUFEREJFMDAw
QzVCNDcgLyogUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk0NkM1QjdD
QjI3QUFEREJFMDAwQzVCNDcgLyogUmVtb3RlV29ya2VyTGliV2ViUlRDUHJvdmlkZXIuaCAqLywK
IAkJCQk0MTMxRjNFMDFGOTg3MTJDMDA1OTk5NUEgLyogV2ViU2VydmljZVdvcmtlckZldGNoVGFz
a0NsaWVudC5jcHAgKi8sCiAJCQkJNDE5QUNGOUIxRjk4MUQyNjAwOUYxQTgzIC8qIFdlYlNlcnZp
Y2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaCAqLywKIAkJCQk1MUJFQjYyOTFGM0E1QUNEMDA1MDI5
QjkgLyogV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCAqLywKQEAgLTEzMjkxLDYgKzEzMjk5
LDggQEAKIAkJCQlBNTVCQTgxNzFCQTIzRTEyMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9y
VUkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODFGMUJBMjVCMjcwMDdDRDMzRCAvKiBSZW1v
dGVXZWJJbnNwZWN0b3JVSVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgyNTFCQTI1
Q0ZCMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlQcm94eU1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0NkM1QjdDRTI3QUFEREQzMDAwQzVCNDcgLyogUmVtb3RlV29ya2VyRnJh
bWVMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2QzVCN0NGMjdBQURERDYwMDBD
NUI0NyAvKiBSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNUNCN0FGRTcyM0M2ODIwNzAwRTQ5Q0YzIC8qIFJlc291cmNlTG9hZEluZm8uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkJFOTY5Q0IxRTU0RDRDRjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDFiZDZmMzQ3ZWVmNTRiMDBlZWJhYTQ1M2ZlNzc4ZTc0
Zjg3N2RkMzUuLmJlOTdkYTBlMWRlODIwZWFjMjQzM2EzMGRmYzM1YWZkMmVjYzE3MDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRl
ICJSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYkNvbXBpbGVk
Q29udGVudFJ1bGVMaXN0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAj
aW5jbHVkZSAiV2ViRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTE3OSwxMCArMTgwLDggQEAgdm9pZCBX
ZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxv
YWRlciwgQ2FjaGVkUmVzb3UKICAgICBXZWJSZXNvdXJjZUxvYWRlcjo6VHJhY2tpbmdQYXJhbWV0
ZXJzIHRyYWNraW5nUGFyYW1ldGVyczsKICAgICBpZiAoYXV0byogd2ViRnJhbWVMb2FkZXJDbGll
bnQgPSB0b1dlYkZyYW1lTG9hZGVyQ2xpZW50KGZyYW1lTG9hZGVyQ2xpZW50KSkKICAgICAgICAg
dHJhY2tpbmdQYXJhbWV0ZXJzLndlYlBhZ2VQcm94eUlEID0gdmFsdWVPckRlZmF1bHQod2ViRnJh
bWVMb2FkZXJDbGllbnQtPndlYlBhZ2VQcm94eUlEKCkpOwotI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKLSAgICBlbHNlIGlmIChpczxTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ+KGZy
YW1lTG9hZGVyQ2xpZW50KSkKLSAgICAgICAgdHJhY2tpbmdQYXJhbWV0ZXJzLndlYlBhZ2VQcm94
eUlEID0gZG93bmNhc3Q8U2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50PihmcmFtZUxvYWRl
ckNsaWVudCkud2ViUGFnZVByb3h5SUQoKTsKLSNlbmRpZgorICAgIGVsc2UgaWYgKGlzPFJlbW90
ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50PihmcmFtZUxvYWRlckNsaWVudCkpCisgICAgICAgIHRy
YWNraW5nUGFyYW1ldGVycy53ZWJQYWdlUHJveHlJRCA9IGRvd25jYXN0PFJlbW90ZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50PihmcmFtZUxvYWRlckNsaWVudCkud2ViUGFnZVByb3h5SUQoKTsKICAg
ICB0cmFja2luZ1BhcmFtZXRlcnMucGFnZUlEID0gdmFsdWVPckRlZmF1bHQoZnJhbWVMb2FkZXJD
bGllbnQucGFnZUlEKCkpOwogICAgIHRyYWNraW5nUGFyYW1ldGVycy5mcmFtZUlEID0gdmFsdWVP
ckRlZmF1bHQoZnJhbWVMb2FkZXJDbGllbnQuZnJhbWVJRCgpKTsKICAgICB0cmFja2luZ1BhcmFt
ZXRlcnMucmVzb3VyY2VJRCA9IGlkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNs
aWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2MzZmY0ZjdlM2NhZWJhMzQxZTY2MjliYTBmODQzNzQ1YjAw
ZGZkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1JlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxNy0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZVdvcmtl
ckZyYW1lTG9hZGVyQ2xpZW50LmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAi
V2ViRG9jdW1lbnRMb2FkZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1JlbW90ZVdvcmtl
ckZyYW1lTG9hZGVyQ2xpZW50OjpSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudChXZWJQYWdl
UHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBw
YWdlSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCkKKyAgICA6IG1fd2ViUGFnZVByb3h5SUQod2ViUGFnZVByb3h5SUQpCisgICAgLCBt
X3BhZ2VJRChwYWdlSUQpCisgICAgLCBtX2ZyYW1lSUQoZnJhbWVJRCkKKyAgICAsIG1fdXNlckFn
ZW50KHVzZXJBZ2VudCkKK3sKKyAgICBSRUxFQVNFX0xPRyhXb3JrZXIsICJSZW1vdGVXb3JrZXJG
cmFtZUxvYWRlckNsaWVudDo6UmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQgd2ViUGFnZVBy
b3h5SUQgJSIgUFJJdTY0ICIsIHBhZ2VJRCAlIiBQUkl1NjQgIiwgZnJhbWVJRCAgJSIgUFJJdTY0
LCB3ZWJQYWdlUHJveHlJRC50b1VJbnQ2NCgpLCBwYWdlSUQudG9VSW50NjQoKSwgZnJhbWVJRC50
b1VJbnQ2NCgpKTsKK30KKworUmVmPFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyPiBSZW1vdGVXb3Jr
ZXJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYg
c3Vic3RpdHV0ZURhdGEpCit7CisgICAgcmV0dXJuIFdlYkRvY3VtZW50TG9hZGVyOjpjcmVhdGUo
cmVxdWVzdCwgc3Vic3RpdHV0ZURhdGEpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1JlbW90ZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9SZW1v
dGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkMTZkZjk1OTg0NDYwMDUx
N2Y2YmMxYTQ1MWRkNjM4MzhlODRkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0w
LDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8
V2ViQ29yZS9FbXB0eUZyYW1lTG9hZGVyQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudCBmaW5hbCA6IHB1YmxpYyBXZWJD
b3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBSZW1vdGVXb3JrZXJG
cmFtZUxvYWRlckNsaWVudChXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCk7CisKKyAgICBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlEKCkgY29uc3Qg
eyByZXR1cm4gbV93ZWJQYWdlUHJveHlJRDsgfQorCisgICAgdm9pZCBzZXRVc2VyQWdlbnQoU3Ry
aW5nJiYgdXNlckFnZW50KSB7IG1fdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9CisK
K3ByaXZhdGU6CisgICAgUmVmPFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyPiBjcmVhdGVEb2N1bWVu
dExvYWRlcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpT
dWJzdGl0dXRlRGF0YSYpIGZpbmFsOworCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdl
SWRlbnRpZmllcj4gcGFnZUlEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wYWdlSUQ7IH0KKyAg
ICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fZnJhbWVJRDsgfQorCisgICAgYm9vbCBzaG91bGRVc2VDcmVkZW50
aWFsU3RvcmFnZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVySWRlbnRpZmllcikgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaXNSZW1vdGVX
b3JrZXJGcmFtZUxvYWRlckNsaWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKwor
ICAgIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgZmluYWwgeyByZXR1cm4gbV91
c2VyQWdlbnQ7IH0KKworICAgIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJ
RDsKKyAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX3BhZ2VJRDsKKyAgICBXZWJDb3JlOjpG
cmFtZUlkZW50aWZpZXIgbV9mcmFtZUlEOworICAgIFN0cmluZyBtX3VzZXJBZ2VudDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdl
YktpdDo6UmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQpCisgICAgc3RhdGljIGJvb2wgaXNU
eXBlKGNvbnN0IFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50JiBmcmFtZUxvYWRlckNsaWVudCkg
eyByZXR1cm4gZnJhbWVMb2FkZXJDbGllbnQuaXNSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvUmVtb3RlV29ya2VyTGliV2ViUlRD
UHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWI1ZmYyY2E5YzRiMzkyODRlNGRhZWFiNzkxZTFlMmI3
ZGJkMDExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvUmVtb3RlV29ya2VyTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMCwwICsxLDQzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsUmVt
b3RlTWFuYWdlci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKK2NsYXNzIFJlbW90ZVdv
cmtlckxpYldlYlJUQ1Byb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkxpYldlYlJUQ1By
b3ZpZGVyIHsKK3B1YmxpYzoKKyAgICBSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlcigpID0g
ZGVmYXVsdDsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4gY3JlYXRlUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVy
Q29ubmVjdGlvbigpIGZpbmFsIHsgcmV0dXJuICZSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6
OnNoYXJlZE1hbmFnZXIoKS5yZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpOyB9Cit9OworI2VuZGlm
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwCmluZGV4IDU1Y2E3ZGMzY2UwNmI1NTE0OWNhOWMzY2FjZjU4MTJkNTY0OWFmOTkuLmFkMDM3
MjVmMTA1NGJhOTk3MjdjODZjZDY5ZDdmOWE0ZWM2YWYzNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKQEAgLTMzLDggKzMzLDkgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtQcm9jZXNzTWVzc2FnZXMuaCIKLSNpbmNsdWRlICJSVENEYXRhQ2hhbm5l
bFJlbW90ZU1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1vdGVXZWJMb2NrUmVnaXN0cnkuaCIKKyNp
bmNsdWRlICJSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIlJlbW90
ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckZldGNo
VGFza01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0
YS5oIgogI2luY2x1ZGUgIldlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeS5oIgpAQCAtNTYsNyAr
NTcsNiBAQAogI2luY2x1ZGUgIldlYlVzZXJDb250ZW50Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9FbXB0eUNsaWVudHMu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9NZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNv
bmZpZ3VyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aD4KQEAgLTc2LDMxICs3Niw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFBBTDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0KLSNpZiBFTkFCTEUoV0VCX1JUQykK
LWNsYXNzIFNlcnZpY2VXb3JrZXJMaWJXZWJSVENQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJD
b3JlOjpMaWJXZWJSVENQcm92aWRlciB7Ci1wdWJsaWM6Ci0gICAgU2VydmljZVdvcmtlckxpYldl
YlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0OwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxXZWJDb3Jl
OjpSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hh
bm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgZmluYWwgeyByZXR1cm4gJlJUQ0RhdGFDaGFu
bmVsUmVtb3RlTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnJlbW90ZUhhbmRsZXJDb25uZWN0aW9u
KCk7IH0KLX07Ci0jZW5kaWYKLQotU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpTZXJ2
aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQoV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdl
UHJveHlJRCwgUGFnZUlkZW50aWZpZXIgcGFnZUlELCBGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi0gICAgOiBtX3dlYlBhZ2VQcm94eUlEKHdlYlBhZ2VQ
cm94eUlEKQotICAgICwgbV9wYWdlSUQocGFnZUlEKQotICAgICwgbV9mcmFtZUlEKGZyYW1lSUQp
Ci0gICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCi17Ci0gICAgUkVMRUFTRV9MT0coU2Vydmlj
ZVdvcmtlciwgIlNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6U2VydmljZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50IHdlYlBhZ2VQcm94eUlEICVsbHUsIHBhZ2VJRCAlbGx1LCBmcmFtZUlE
ICAlbGx1Iiwgd2ViUGFnZVByb3h5SUQudG9VSW50NjQoKSwgcGFnZUlELnRvVUludDY0KCksIGZy
YW1lSUQudG9VSW50NjQoKSk7Ci19Ci0KLVJlZjxEb2N1bWVudExvYWRlcj4gU2VydmljZVdvcmtl
ckZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0YSkKLXsK
LSAgICByZXR1cm4gV2ViRG9jdW1lbnRMb2FkZXI6OmNyZWF0ZShyZXF1ZXN0LCBzdWJzdGl0dXRl
RGF0YSk7Ci19Ci0KIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbihSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQ
YWdlSWRlbnRpZmllciwgUGFnZUdyb3VwSWRlbnRpZmllciBwYWdlR3JvdXBJRCwgV2ViUGFnZVBy
b3h5SWRlbnRpZmllciB3ZWJQYWdlUHJveHlJRCwgUGFnZUlkZW50aWZpZXIgcGFnZUlELCBjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9u
RGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKICAgICA6IG1fY29ubmVjdGlvblRvTmV0d29ya1By
b2Nlc3MoV1RGTW92ZShjb25uZWN0aW9uKSkKICAgICAsIG1fcmVnaXN0cmFibGVEb21haW4oV1RG
TW92ZShyZWdpc3RyYWJsZURvbWFpbikpCkBAIC0xNTIsMTQgKzEyNywxNCBAQCB2b2lkIFdlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjppbnN0YWxsU2VydmljZVdvcmtlcihTZXJ2aWNlV29y
a2VyQ29udGV4dERhdAogICAgIHBhZ2VDb25maWd1cmF0aW9uLndlYkxvY2tSZWdpc3RyeSA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvY2tSZWdpc3RyeSgpOwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLnVzZXJDb250ZW50UHJvdmlkZXIgPSBtX3VzZXJDb250ZW50Q29udHJvbGxlcjsKICNp
ZiBFTkFCTEUoV0VCX1JUQykKLSAgICBwYWdlQ29uZmlndXJhdGlvbi5saWJXZWJSVENQcm92aWRl
ciA9IG1ha2VVbmlxdWVSZWY8U2VydmljZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyPigpOworICAg
IHBhZ2VDb25maWd1cmF0aW9uLmxpYldlYlJUQ1Byb3ZpZGVyID0gbWFrZVVuaXF1ZVJlZjxSZW1v
dGVXb3JrZXJMaWJXZWJSVENQcm92aWRlcj4oKTsKICNlbmRpZgogCiAgICAgYXV0byBlZmZlY3Rp
dmVVc2VyQWdlbnQgPSAgV1RGTW92ZSh1c2VyQWdlbnQpOwogICAgIGlmIChlZmZlY3RpdmVVc2Vy
QWdlbnQuaXNOdWxsKCkpCiAgICAgICAgIGVmZmVjdGl2ZVVzZXJBZ2VudCA9IG1fdXNlckFnZW50
OwogCi0gICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbWFr
ZVVuaXF1ZVJlZjxTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ+KG1fd2ViUGFnZVByb3h5
SUQsIG1fcGFnZUlELCBGcmFtZUlkZW50aWZpZXI6OmdlbmVyYXRlKCksIGVmZmVjdGl2ZVVzZXJB
Z2VudCk7CisgICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0g
bWFrZVVuaXF1ZVJlZjxSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4obV93ZWJQYWdlUHJv
eHlJRCwgbV9wYWdlSUQsIEZyYW1lSWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgZWZmZWN0aXZlVXNl
ckFnZW50KTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGF1dG8gc2VydmljZVdv
cmtlcklkZW50aWZpZXIgPSBjb250ZXh0RGF0YS5zZXJ2aWNlV29ya2VySWRlbnRpZmllcjsKQEAg
LTIzNSw3ICsyMTAsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpjYW5j
ZWxGZXRjaChTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcgogdm9pZCBXZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6Y29udGludWVEaWRSZWNlaXZlRmV0Y2hSZXNwb25zZShTV1Nl
cnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgRmV0Y2hJZGVudGlm
aWVyIGZldGNoSWRlbnRpZmllcikKIHsKICAgICBhdXRvKiBzZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHkgPSBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHkoc2VydmljZVdvcmtlcklkZW50aWZpZXIpOwotICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3Jr
ZXIsICJTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ6OmNvbnRpbnVlRGlkUmVjZWl2ZUZl
dGNoUmVzcG9uc2UgZm9yIHNlcnZpY2Ugd29ya2VyICVsbHUsIGZldGNoIGlkZW50aWZpZXIgJWxs
dSwgaGFzIHNlcnZpY2Ugd29ya2VyICVkIiwgc2VydmljZVdvcmtlcklkZW50aWZpZXIudG9VSW50
NjQoKSwgZmV0Y2hJZGVudGlmaWVyLnRvVUludDY0KCksICEhc2VydmljZVdvcmtlclRocmVhZFBy
b3h5KTsKKyAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OmNvbnRpbnVlRGlkUmVjZWl2ZUZldGNoUmVzcG9uc2UgZm9yIHNlcnZpY2Ug
d29ya2VyICVsbHUsIGZldGNoIGlkZW50aWZpZXIgJWxsdSwgaGFzIHNlcnZpY2Ugd29ya2VyICVk
Iiwgc2VydmljZVdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSwgZmV0Y2hJZGVudGlmaWVyLnRv
VUludDY0KCksICEhc2VydmljZVdvcmtlclRocmVhZFByb3h5KTsKIAogICAgIGlmIChzZXJ2aWNl
V29ya2VyVGhyZWFkUHJveHkpCiAgICAgICAgIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+Y29u
dGludWVEaWRSZWNlaXZlRmV0Y2hSZXNwb25zZShzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwg
ZmV0Y2hJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IGFj
ZTFhOTlkZDExODcxZmMyYmRkN2NiNDVmZjU3NGE4NzlmMTUxZWIuLjdkOTViZjQ2MmJjZTkyMjcy
MjRiYmU0NzI0NGU3NzI2YjQzOTg0ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
aApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIK
ICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCiAjaW5jbHVkZSAiV2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdlc1JlcGxpZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Vt
cHR5RnJhbWVMb2FkZXJDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NXQ29udGV4dE1hbmFn
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4KQEAgLTU2LDkgKzU1LDkgQEAgZW51
bSBjbGFzcyBXb3JrZXJUaHJlYWRNb2RlIDogYm9vbDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LWNsYXNzIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDsKLXN0cnVjdCBTZXJ2aWNlV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhOworY2xhc3MgUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQ7CiBjbGFzcyBXZWJVc2VyQ29udGVudENvbnRyb2xsZXI7CitzdHJ1Y3QgU2VydmljZVdvcmtl
ckluaXRpYWxpemF0aW9uRGF0YTsKIAogY2xhc3MgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24gZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6U1dDb250ZXh0TWFuYWdlcjo6Q29ubmVjdGlvbiwg
cHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKQEAgLTExNSw3ICsxMTQsNyBA
QCBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJRDsK
ICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX3BhZ2VJRDsKIAotICAgIEhhc2hTZXQ8c3Rk
Ojp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4+IG1fbG9hZGVyczsK
KyAgICBIYXNoU2V0PHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVu
dD4+IG1fbG9hZGVyczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2s+IG1fbWF0Y2hBbGxSZXF1ZXN0czsKICAgICB1aW50
NjRfdCBtX3ByZXZpb3VzUmVxdWVzdElkZW50aWZpZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fdXNl
ckFnZW50OwpAQCAtMTI0LDM1ICsxMjMsNiBAQCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8
V2ViUHJlZmVyZW5jZXNTdG9yZT4gbV9wcmVmZXJlbmNlc1N0b3JlOwogfTsKIAotY2xhc3MgU2Vy
dmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkVtcHR5
RnJhbWVMb2FkZXJDbGllbnQgewotcHVibGljOgotICAgIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRl
ckNsaWVudChXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwg
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7Ci0KLSAg
ICBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlEKCkgY29uc3QgeyByZXR1cm4g
bV93ZWJQYWdlUHJveHlJRDsgfQotCi0gICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNl
ckFnZW50KSB7IG1fdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9Ci0KLXByaXZhdGU6
Ci0gICAgUmVmPFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyPiBjcmVhdGVEb2N1bWVudExvYWRlcihj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRl
RGF0YSYpIGZpbmFsOwotCi0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmll
cj4gcGFnZUlEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wYWdlSUQ7IH0KLSAgICBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fZnJhbWVJRDsgfQotCi0gICAgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIFdlYkNvcmU6OlJlc291cmNlTG9hZGVySWRlbnRp
ZmllcikgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGJvb2wgaXNTZXJ2aWNlV29ya2VyRnJh
bWVMb2FkZXJDbGllbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9Ci0KLSAgICBTdHJp
bmcgdXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdXNlckFnZW50
OyB9Ci0KLSAgICBXZWJQYWdlUHJveHlJZGVudGlmaWVyIG1fd2ViUGFnZVByb3h5SUQ7Ci0gICAg
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV9wYWdlSUQ7Ci0gICAgV2ViQ29yZTo6RnJhbWVJZGVu
dGlmaWVyIG1fZnJhbWVJRDsKLSAgICBTdHJpbmcgbV91c2VyQWdlbnQ7Ci19OwotCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJLaXQ6OlNl
cnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCkKLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29u
c3QgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQmIGZyYW1lTG9hZGVyQ2xpZW50KSB7IHJldHVy
biBmcmFtZUxvYWRlckNsaWVudC5pc1NlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgpOyB9
Ci1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCi0KICNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCg==
</data>
<flag name="commit-queue"
          id="477125"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450658</attachid>
            <date>2022-02-02 09:17:03 -0800</date>
            <delta_ts>2022-02-02 12:01:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236016-20220202091702.patch</filename>
            <type>text/plain</type>
            <size>27973</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQzM2RmZjM5NTM1ZmU2
MzNkYWYzODZhYjYzODU3NjRlYjJjOGQ0OC4uYjc4NmNkMWExNjYyY2IzMjU5MmNkOTRlZDkyYjcx
MWM2YTBmOGE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBhbmQgcmVuYW1lIFNl
cnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCAmIFNlcnZpY2VXb3JrZXJMaWJXZWJSVENQcm92
aWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2
MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBNb3Zl
IGFuZCByZW5hbWUgU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50ICYgU2VydmljZVdvcmtl
ckxpYldlYlJUQ1Byb3ZpZGVyIHNvIHRoYXQgdGhleSBjYW4gYmUgcmV1c2VkIGJ5IFNoYXJlZCBX
b3JrZXJzLgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIwMjIt
MDItMDIgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDog
RGlzcGxheSBzdGFydE9iamVjdCBhbmQgYW5jaG9yT2JqZWN0IG9iamVjdElEIHdoZW4gbG9nZ2lu
ZyBBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWEgZnJvbSBBWExvZ2dlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBj
MjNlMzFlOTIyNjNjYmU3NzU3NDFkMGY0NTA2ZGUxZWExNzBkNzAxLi5mMGEwY2VhNjVhZDNlMzli
MmY5ZWI2OWU5ZjI3MGZjZmJhMGYxYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIy
LTAyLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBh
bmQgcmVuYW1lIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCAmIFNlcnZpY2VXb3JrZXJM
aWJXZWJSVENQcm92aWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKwor
ICAgICAgICBNb3ZlIGFuZCByZW5hbWUgU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50ICYg
U2VydmljZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyIHNvIHRoYXQgdGhleSBjYW4gYmUgcmV1c2Vk
IGJ5IFNoYXJlZCBXb3JrZXJzLgorCisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOgorICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVu
dC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNs
aWVudDo6UmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRG9jdW1lbnRMb2FkZXIpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5o
OiBBZGRlZC4KKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdl
L1JlbW90ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjppbnN0YWxsU2VydmljZVdv
cmtlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpj
b250aW51ZURpZFJlY2VpdmVGZXRjaFJlc3BvbnNlKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OlNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudDo6U2VydmljZVdv
cmtlckZyYW1lTG9hZGVyQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6U2Vydmlj
ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVEb2N1bWVudExvYWRlcik6IERlbGV0ZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmg6CisgICAgICAgIChpc1R5cGUpOiBEZWxldGVkLgorCiAyMDIyLTAyLTAyICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBMaWJXZWJSVENDb2RlY3Mgc2hv
dWxkIG5vdCBuZWVkIHRvIGNyZWF0ZSBJT1N1cmZhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDM1MmE0YzRmYjUwNGY3Y2Q0ZDJlYzQwNmU2YmMyOTEx
YTU1ZmQwOTQuLjdhN2ExYjVmMjRjNThjMDg5YzIwOWYyZWYzMDM1MzMxMzQ0NjE3NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC0zNTEsNyArMzUxLDcg
QEAgcHVibGljOgogCiAgICAgLy8gRklYTUUgKGJ1ZyAxMTYyMzMpOiBXZSBuZWVkIHRvIGdldCBy
aWQgb2YgRW1wdHlGcmFtZUxvYWRlckNsaWVudCBjb21wbGV0ZWx5LCB0aGVuIHRoaXMgd2lsbCBu
byBsb25nZXIgYmUgbmVlZGVkLgogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5RnJhbWVMb2FkZXJD
bGllbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1NlcnZp
Y2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
dmlydHVhbCBib29sIGlzUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogCiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgdmlydHVhbCBSZWZQdHI8
TGVnYWN5UHJldmlld0xvYWRlckNsaWVudD4gY3JlYXRlUHJldmlld0xvYWRlckNsaWVudChjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmlu
ZGV4IDQ0ZTBhN2FjYjdiNTNkNjBiNDdhYmM0NmY5ZGUxZGNkOWRkZWZjYmEuLjFjNDJkMDQwYzFh
OTBiMGFhZGQxNGU4YjMzNWVmOGRkYmJjYWY5ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5o
CkBAIC0xMTEsNiArMTExLDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgTShXZWJHTCkgXAogICAgIE0o
V2ViUlRDKSBcCiAgICAgTShXaGVlbEV2ZW50cykgXAorICAgIE0oV29ya2VyKSBcCiAgICAgTShY
UikgXAogCiBXRUJLSVQyX0xPR19DSEFOTkVMUyhERUNMQVJFX0xPR19DSEFOTkVMKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKaW5kZXggZGY0N2M3ODZjOGRlZjYyNGY0M2ZjOTQ2ZGRjODJkMzQzMjI5OTk0ZS4uNGYwYTIz
NTQ0MWIyZTFjMGNjY2MxNDBkY2M1MGYyNmYwMDQ0M2NhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC03Nzcs
NiArNzc3LDcgQEAgV2ViUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpbkluZm9Qcm92aWRlci5jcHAg
QG5vLXVuaWZ5CiAKIFdlYlByb2Nlc3MvU3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVN
ZWRpYVNvdXJjZU1hbmFnZXIuY3BwCiAKK1dlYlByb2Nlc3MvU3RvcmFnZS9SZW1vdGVXb3JrZXJG
cmFtZUxvYWRlckNsaWVudC5jcHAKIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24uY3BwCiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwCiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dPcmlnaW5UYWJsZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdhOGMyYjgz
YTJkMGY4MmNjNDdjY2YxMzVlYzdiMTZjMDdhMWE3OGEuLjY0ZTQwNDQwYjhlMzc5ZjY1ZmI0YWVh
Y2JlMzc5ODM0NTZiNjFhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtODk3LDYgKzg5Nyw4IEBACiAJCTQ2QkVCNkRGMjJGQkIxNkIw
MDI2OTg2NyAvKiBTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRUI2REQyMkZCQjE2QjAwMjY5ODY3IC8qIFNl
c3Npb25TdG9yYWdlTmFtZXNwYWNlLmggKi87IH07CiAJCTQ2QkVCNkUzMjJGQkIyMUEwMDI2OTg2
NyAvKiBUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkVCNkUxMjJGQkIyMUEwMDI2OTg2NyAvKiBU
cmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuaCAqLzsgfTsKIAkJNDZDMzkyMjkyMzE2RUM0
RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzM5MjI4MjMxNkVDNEQwMDhFRUQ5QiAvKiBX
ZWJQYWdlUHJveHlJZGVudGlmaWVyLmggKi87IH07CisJCTQ2QzVCN0NFMjdBQURERDMwMDBDNUI0
NyAvKiBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNUI3Q0QyN0FBRERCRTAwMEM1QjQ3IC8qIFJl
bW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmggKi87IH07CisJCTQ2QzVCN0NGMjdBQURERDYw
MDBDNUI0NyAvKiBSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNUI3Q0IyN0FBRERCRTAwMEM1QjQ3
IC8qIFJlbW90ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CiAJCTQ2Q0UzQjExMjNE
OEM4NDkwMDE2QTk2QSAvKiBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Q0UzQjEwMjNEOEM4M0QwMDE2QTk2
QSAvKiBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMuaCAqLzsgfTsKIAkJNDZERjA2M0MxRjM5MDVG
ODAwMTk4MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZERjA2M0ExRjM5MDVFNTAwMTk4MEJC
IC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oICovOyB9OwogCQk0NkVFMjg0OTI2OUUw
NEFDMDBERDQ4QUIgLyogV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkVFMjg0ODI2OUUwNDlCMDBERDQ4
QUIgLyogV2ViQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmggKi87IH07CkBAIC00MjY0LDYgKzQy
NjYsOSBAQAogCQk0NkJFQjZFMTIyRkJCMjFBMDAyNjk4NjcgLyogVHJhbnNpZW50TG9jYWxTdG9y
YWdlTmFtZXNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVz
cGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkJFQjZFMjIyRkJCMjFBMDAy
Njk4NjcgLyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ2QzM5MjI4MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZDNUI3Q0IyN0FBRERCRTAwMEM1QjQ3IC8qIFJl
bW90ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVdvcmtl
ckxpYldlYlJUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QzVC
N0NDMjdBQUREQkUwMDBDNUI0NyAvKiBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QzVCN0NEMjdBQUREQkUwMDBDNUI0NyAvKiBS
ZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVXb3Jr
ZXJGcmFtZUxvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkNF
M0IxMDIzRDhDODNEMDAxNkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkRGMDYzOTFGMzkwNUU1MDAxOTgwQkIgLyog
TmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ2REYwNjNBMUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09S
U1ByZWZsaWdodENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0
d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC03MjE2LDYgKzcyMjEsNyBAQAogCQkJCTdBRkJEMzZFMjFFNTQ2RTMwMDVEQkFDQiAvKiBQZXJz
aXN0ZW5jeVV0aWxzLmNwcCAqLywKIAkJCQk3QUZCRDM2RDIxRTU0NkUzMDA1REJBQ0IgLyogUGVy
c2lzdGVuY3lVdGlscy5oICovLAogCQkJCUJDQzQzQUI4MTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0
Zm9ybVBvcHVwTWVudURhdGEuY3BwICovLAorCQkJCUJDQzQzQUI5MTI3Qjk1REMwMDMxN0YxNiAv
KiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCAqLywKIAkJCQk0OUVDQTQxQjIzRkNBNDg2MDAyMzM1
OEQgLyogUG9saWN5RGVjaXNpb24uaCAqLywKIAkJCQlFMThDOTJGMzEyREI5RTcxMDBDRjJBRUIg
LyogUHJpbnRJbmZvLmNwcCAqLywKIAkJCQlFMUNDMUI4RTEyRDdFQURGMDA2MjU4MzggLyogUHJp
bnRJbmZvLmggKi8sCkBAIC03MjM1LDcgKzcyNDEsNiBAQAogCQkJCTJENjVEMTk2Mjc0QjhFODQw
MDlDNDEwMSAvKiBTY3JvbGxpbmdBY2NlbGVyYXRpb25DdXJ2ZS5jcHAgKi8sCiAJCQkJMkQ2NUQx
OTUyNzRCOEU4NDAwOUM0MTAxIC8qIFNjcm9sbGluZ0FjY2VsZXJhdGlvbkN1cnZlLmggKi8sCiAJ
CQkJNUM4MEIzREQyMzY5MEYxMDAwODZFNkRFIC8qIFNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuY3BwICovLAotCQkJCUJDQzQzQUI5MTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBv
cHVwTWVudURhdGEuaCAqLywKIAkJCQk1QzgwQjNEQjIzNjkwRDhEMDA4NkU2REUgLyogU2Vydmlj
ZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oICovLAogCQkJCTFBRkRFNjU3MTk1NEE0MkIwMEM0
OEZGQSAvKiBTZXNzaW9uU3RhdGUuY3BwICovLAogCQkJCTFBRkRFNjU4MTk1NEE0MkIwMEM0OEZG
QSAvKiBTZXNzaW9uU3RhdGUuaCAqLywKQEAgLTk0NDAsNiArOTQ0NSw5IEBACiAJCTUxMThFOTk4
MUYyOTUyNTkwMDNFRjlGNSAvKiBTdG9yYWdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKKwkJCQk0NkM1QjdDQzI3QUFEREJFMDAwQzVCNDcgLyogUmVtb3RlV29y
a2VyRnJhbWVMb2FkZXJDbGllbnQuY3BwICovLAorCQkJCTQ2QzVCN0NEMjdBQUREQkUwMDBDNUI0
NyAvKiBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudC5oICovLAorCQkJCTQ2QzVCN0NCMjdB
QUREQkUwMDBDNUI0NyAvKiBSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oICovLAogCQkJ
CTQxMzFGM0UwMUY5ODcxMkMwMDU5OTk1QSAvKiBXZWJTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrQ2xp
ZW50LmNwcCAqLywKIAkJCQk0MTlBQ0Y5QjFGOTgxRDI2MDA5RjFBODMgLyogV2ViU2VydmljZVdv
cmtlckZldGNoVGFza0NsaWVudC5oICovLAogCQkJCTUxQkVCNjI5MUYzQTVBQ0QwMDUwMjlCOSAv
KiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwICovLApAQCAtMTMyOTEsNiArMTMyOTksOCBA
QAogCQkJCUE1NUJBODE3MUJBMjNFMTIwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdl
Ykluc3BlY3RvclVJUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODI1MUJBMjVDRkIw
MDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQ2QzVCN0NFMjdBQURERDMwMDBDNUI0NyAvKiBSZW1vdGVXb3JrZXJGcmFtZUxv
YWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZDNUI3Q0YyN0FBRERENjAwMEM1QjQ3
IC8qIFJlbW90ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
Q0I3QUZFNzIzQzY4MjA3MDBFNDlDRjMgLyogUmVzb3VyY2VMb2FkSW5mby5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2Fk
ZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2Fk
ZXJTdHJhdGVneS5jcHAKaW5kZXggMWJkNmYzNDdlZWY1NGIwMGVlYmFhNDUzZmU3NzhlNzRmODc3
ZGQzNS4uYmU5N2RhMGUxZGU4MjBlYWMyNDMzYTMwZGZjMzVhZmQyZWNjMTcwOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIlJl
bW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViQ29tcGlsZWRDb250
ZW50UnVsZUxpc3QuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlICJXZWJEb2N1bWVudExvYWRlci5oIgpAQCAtMTc5LDEwICsxODAsOCBAQCB2b2lkIFdlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVy
LCBDYWNoZWRSZXNvdQogICAgIFdlYlJlc291cmNlTG9hZGVyOjpUcmFja2luZ1BhcmFtZXRlcnMg
dHJhY2tpbmdQYXJhbWV0ZXJzOwogICAgIGlmIChhdXRvKiB3ZWJGcmFtZUxvYWRlckNsaWVudCA9
IHRvV2ViRnJhbWVMb2FkZXJDbGllbnQoZnJhbWVMb2FkZXJDbGllbnQpKQogICAgICAgICB0cmFj
a2luZ1BhcmFtZXRlcnMud2ViUGFnZVByb3h5SUQgPSB2YWx1ZU9yRGVmYXVsdCh3ZWJGcmFtZUxv
YWRlckNsaWVudC0+d2ViUGFnZVByb3h5SUQoKSk7Ci0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQotICAgIGVsc2UgaWYgKGlzPFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4oZnJhbWVM
b2FkZXJDbGllbnQpKQotICAgICAgICB0cmFja2luZ1BhcmFtZXRlcnMud2ViUGFnZVByb3h5SUQg
PSBkb3duY2FzdDxTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ+KGZyYW1lTG9hZGVyQ2xp
ZW50KS53ZWJQYWdlUHJveHlJRCgpOwotI2VuZGlmCisgICAgZWxzZSBpZiAoaXM8UmVtb3RlV29y
a2VyRnJhbWVMb2FkZXJDbGllbnQ+KGZyYW1lTG9hZGVyQ2xpZW50KSkKKyAgICAgICAgdHJhY2tp
bmdQYXJhbWV0ZXJzLndlYlBhZ2VQcm94eUlEID0gZG93bmNhc3Q8UmVtb3RlV29ya2VyRnJhbWVM
b2FkZXJDbGllbnQ+KGZyYW1lTG9hZGVyQ2xpZW50KS53ZWJQYWdlUHJveHlJRCgpOwogICAgIHRy
YWNraW5nUGFyYW1ldGVycy5wYWdlSUQgPSB2YWx1ZU9yRGVmYXVsdChmcmFtZUxvYWRlckNsaWVu
dC5wYWdlSUQoKSk7CiAgICAgdHJhY2tpbmdQYXJhbWV0ZXJzLmZyYW1lSUQgPSB2YWx1ZU9yRGVm
YXVsdChmcmFtZUxvYWRlckNsaWVudC5mcmFtZUlEKCkpOwogICAgIHRyYWNraW5nUGFyYW1ldGVy
cy5yZXNvdXJjZUlEID0gaWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1JlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1JlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jYzNmZjRmN2UzY2FlYmEzNDFlNjYyOWJhMGY4NDM3NDViMDBkZmRl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvUmVt
b3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjE3LTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlV29ya2VyRnJh
bWVMb2FkZXJDbGllbnQuaCIKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJE
b2N1bWVudExvYWRlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworUmVtb3RlV29ya2VyRnJh
bWVMb2FkZXJDbGllbnQ6OlJlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50KFdlYlBhZ2VQcm94
eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJ
RCwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50KQorICAgIDogbV93ZWJQYWdlUHJveHlJRCh3ZWJQYWdlUHJveHlJRCkKKyAgICAsIG1fcGFn
ZUlEKHBhZ2VJRCkKKyAgICAsIG1fZnJhbWVJRChmcmFtZUlEKQorICAgICwgbV91c2VyQWdlbnQo
dXNlckFnZW50KQoreworICAgIFJFTEVBU0VfTE9HKFdvcmtlciwgIlJlbW90ZVdvcmtlckZyYW1l
TG9hZGVyQ2xpZW50OjpSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudCB3ZWJQYWdlUHJveHlJ
RCAlIiBQUkl1NjQgIiwgcGFnZUlEICUiIFBSSXU2NCAiLCBmcmFtZUlEICAlIiBQUkl1NjQsIHdl
YlBhZ2VQcm94eUlELnRvVUludDY0KCksIHBhZ2VJRC50b1VJbnQ2NCgpLCBmcmFtZUlELnRvVUlu
dDY0KCkpOworfQorCitSZWY8V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI+IFJlbW90ZVdvcmtlckZy
YW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlN1YnN0aXR1dGVEYXRhJiBzdWJz
dGl0dXRlRGF0YSkKK3sKKyAgICByZXR1cm4gV2ViRG9jdW1lbnRMb2FkZXI6OmNyZWF0ZShyZXF1
ZXN0LCBzdWJzdGl0dXRlRGF0YSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvUmVtb3RlV29ya2VyRnJhbWVM
b2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1JlbW90ZVdv
cmtlckZyYW1lTG9hZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJlMWU5MDZjNWQ1NDdmYmExMWY4
MDY4OWNhMjk5ZGI5NmJjNzgyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1JlbW90ZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTAsMCAr
MSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJXZWJQ
YWdlUHJveHlJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9FbXB0eUZyYW1lTG9hZGVy
Q2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZW1vdGVXb3JrZXJGcmFt
ZUxvYWRlckNsaWVudCBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50IHsKK3B1YmxpYzoKKyAgICBSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudChXZWJQYWdl
UHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CisKKyAgICBXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlEKCkgY29uc3QgeyByZXR1cm4gbV93ZWJQYWdlUHJveHlJ
RDsgfQorCisgICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7IG1fdXNl
ckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9CisKK3ByaXZhdGU6CisgICAgUmVmPFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyPiBjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpIGZpbmFsOwor
CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wYWdlSUQ7IH0KKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZnJhbWVJ
RDsgfQorCisgICAgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShXZWJDb3JlOjpEb2N1
bWVudExvYWRlciosIFdlYkNvcmU6OlJlc291cmNlTG9hZGVySWRlbnRpZmllcikgZmluYWwgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgaXNSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIFN0cmluZyB1c2VyQWdlbnQoY29u
c3QgVVJMJikgY29uc3QgZmluYWwgeyByZXR1cm4gbV91c2VyQWdlbnQ7IH0KKworICAgIFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJRDsKKyAgICBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciBtX3BhZ2VJRDsKKyAgICBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgbV9mcmFtZUlE
OworICAgIFN0cmluZyBtX3VzZXJBZ2VudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYktpdDo6UmVtb3RlV29ya2VyRnJhbWVM
b2FkZXJDbGllbnQpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZyYW1l
TG9hZGVyQ2xpZW50JiBmcmFtZUxvYWRlckNsaWVudCkgeyByZXR1cm4gZnJhbWVMb2FkZXJDbGll
bnQuaXNSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgpOyB9CitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9SZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvUmVtb3RlV29ya2VyTGliV2ViUlRDUHJvdmlkZXIuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OWI1ZmYyY2E5YzRiMzkyODRlNGRhZWFiNzkxZTFlMmI3ZGJkMDExCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvUmVtb3RlV29ya2VyTGliV2ViUlRD
UHJvdmlkZXIuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlci5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyNp
ZiBFTkFCTEUoV0VCX1JUQykKK2NsYXNzIFJlbW90ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyIGZp
bmFsIDogcHVibGljIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyIHsKK3B1YmxpYzoKKyAgICBS
ZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRlcigpID0gZGVmYXVsdDsKKworcHJpdmF0ZToKKyAg
ICBSZWZQdHI8V2ViQ29yZTo6UlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4g
Y3JlYXRlUlRDRGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpIGZpbmFsIHsgcmV0
dXJuICZSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5yZW1vdGVI
YW5kbGVyQ29ubmVjdGlvbigpOyB9Cit9OworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDU1Y2E3ZGMzY2UwNmI1
NTE0OWNhOWMzY2FjZjU4MTJkNTY0OWFmOTkuLmFkMDM3MjVmMTA1NGJhOTk3MjdjODZjZDY5ZDdm
OWE0ZWM2YWYzNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTMz
LDggKzMzLDkgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzTWVz
c2FnZXMuaCIKLSNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXIuaCIKICNpbmNs
dWRlICJSZW1vdGVXZWJMb2NrUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJSZW1vdGVXb3JrZXJGcmFt
ZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIlJlbW90ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckZldGNoVGFza01lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIldlYkJyb2Fk
Y2FzdENoYW5uZWxSZWdpc3RyeS5oIgpAQCAtNTYsNyArNTcsNiBAQAogI2luY2x1ZGUgIldlYlVz
ZXJDb250ZW50Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9FbXB0eUNsaWVudHMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0xp
YldlYlJUQ1Byb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KQEAgLTc2LDMxICs3Niw2IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFBBTDsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi0KLSNpZiBFTkFCTEUoV0VCX1JUQykKLWNsYXNzIFNlcnZpY2VXb3JrZXJMaWJX
ZWJSVENQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlciB7
Ci1wdWJsaWM6Ci0gICAgU2VydmljZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0
OwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbFJlbW90ZUhh
bmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0
aW9uKCkgZmluYWwgeyByZXR1cm4gJlJUQ0RhdGFDaGFubmVsUmVtb3RlTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcigpLnJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCk7IH0KLX07Ci0jZW5kaWYKLQotU2Vy
dmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGll
bnQoV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdlUHJveHlJRCwgUGFnZUlkZW50aWZpZXIg
cGFnZUlELCBGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQp
Ci0gICAgOiBtX3dlYlBhZ2VQcm94eUlEKHdlYlBhZ2VQcm94eUlEKQotICAgICwgbV9wYWdlSUQo
cGFnZUlEKQotICAgICwgbV9mcmFtZUlEKGZyYW1lSUQpCi0gICAgLCBtX3VzZXJBZ2VudCh1c2Vy
QWdlbnQpCi17Ci0gICAgUkVMRUFTRV9MT0coU2VydmljZVdvcmtlciwgIlNlcnZpY2VXb3JrZXJG
cmFtZUxvYWRlckNsaWVudDo6U2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50IHdlYlBhZ2VQ
cm94eUlEICVsbHUsIHBhZ2VJRCAlbGx1LCBmcmFtZUlEICAlbGx1Iiwgd2ViUGFnZVByb3h5SUQu
dG9VSW50NjQoKSwgcGFnZUlELnRvVUludDY0KCksIGZyYW1lSUQudG9VSW50NjQoKSk7Ci19Ci0K
LVJlZjxEb2N1bWVudExvYWRlcj4gU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xpZW50OjpjcmVh
dGVEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN1
YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0YSkKLXsKLSAgICByZXR1cm4gV2ViRG9jdW1lbnRM
b2FkZXI6OmNyZWF0ZShyZXF1ZXN0LCBzdWJzdGl0dXRlRGF0YSk7Ci19Ci0KIFdlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbihSZWY8SVBD
OjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYg
cmVnaXN0cmFibGVEb21haW4sIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciwgUGFnZUdyb3Vw
SWRlbnRpZmllciBwYWdlR3JvdXBJRCwgV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdlUHJv
eHlJRCwgUGFnZUlkZW50aWZpZXIgcGFnZUlELCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBz
dG9yZSwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0
YSkKICAgICA6IG1fY29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoV1RGTW92ZShjb25uZWN0aW9u
KSkKICAgICAsIG1fcmVnaXN0cmFibGVEb21haW4oV1RGTW92ZShyZWdpc3RyYWJsZURvbWFpbikp
CkBAIC0xNTIsMTQgKzEyNywxNCBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjppbnN0YWxsU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyQ29udGV4dERhdAogICAgIHBhZ2VD
b25maWd1cmF0aW9uLndlYkxvY2tSZWdpc3RyeSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndl
YkxvY2tSZWdpc3RyeSgpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnVzZXJDb250ZW50UHJvdmlk
ZXIgPSBtX3VzZXJDb250ZW50Q29udHJvbGxlcjsKICNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICBw
YWdlQ29uZmlndXJhdGlvbi5saWJXZWJSVENQcm92aWRlciA9IG1ha2VVbmlxdWVSZWY8U2Vydmlj
ZVdvcmtlckxpYldlYlJUQ1Byb3ZpZGVyPigpOworICAgIHBhZ2VDb25maWd1cmF0aW9uLmxpYldl
YlJUQ1Byb3ZpZGVyID0gbWFrZVVuaXF1ZVJlZjxSZW1vdGVXb3JrZXJMaWJXZWJSVENQcm92aWRl
cj4oKTsKICNlbmRpZgogCiAgICAgYXV0byBlZmZlY3RpdmVVc2VyQWdlbnQgPSAgV1RGTW92ZSh1
c2VyQWdlbnQpOwogICAgIGlmIChlZmZlY3RpdmVVc2VyQWdlbnQuaXNOdWxsKCkpCiAgICAgICAg
IGVmZmVjdGl2ZVVzZXJBZ2VudCA9IG1fdXNlckFnZW50OwogCi0gICAgcGFnZUNvbmZpZ3VyYXRp
b24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbWFrZVVuaXF1ZVJlZjxTZXJ2aWNlV29ya2Vy
RnJhbWVMb2FkZXJDbGllbnQ+KG1fd2ViUGFnZVByb3h5SUQsIG1fcGFnZUlELCBGcmFtZUlkZW50
aWZpZXI6OmdlbmVyYXRlKCksIGVmZmVjdGl2ZVVzZXJBZ2VudCk7CisgICAgcGFnZUNvbmZpZ3Vy
YXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbWFrZVVuaXF1ZVJlZjxSZW1vdGVXb3Jr
ZXJGcmFtZUxvYWRlckNsaWVudD4obV93ZWJQYWdlUHJveHlJRCwgbV9wYWdlSUQsIEZyYW1lSWRl
bnRpZmllcjo6Z2VuZXJhdGUoKSwgZWZmZWN0aXZlVXNlckFnZW50KTsKIAogI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAogICAgIGF1dG8gc2VydmljZVdvcmtlcklkZW50aWZpZXIgPSBjb250ZXh0
RGF0YS5zZXJ2aWNlV29ya2VySWRlbnRpZmllcjsKQEAgLTIzNSw3ICsyMTAsNyBAQCB2b2lkIFdl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpjYW5jZWxGZXRjaChTV1NlcnZlckNvbm5lY3Rp
b25JZGVudGlmaWVyIHNlcgogdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6Y29u
dGludWVEaWRSZWNlaXZlRmV0Y2hSZXNwb25zZShTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVy
IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgRmV0Y2hJZGVudGlmaWVyIGZldGNoSWRlbnRpZmllcikKIHsK
ICAgICBhdXRvKiBzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkgPSBTV0NvbnRleHRNYW5hZ2VyOjpz
aW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoc2VydmljZVdvcmtlcklkZW50aWZp
ZXIpOwotICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNlV29ya2VyRnJhbWVM
b2FkZXJDbGllbnQ6OmNvbnRpbnVlRGlkUmVjZWl2ZUZldGNoUmVzcG9uc2UgZm9yIHNlcnZpY2Ug
d29ya2VyICVsbHUsIGZldGNoIGlkZW50aWZpZXIgJWxsdSwgaGFzIHNlcnZpY2Ugd29ya2VyICVk
Iiwgc2VydmljZVdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSwgZmV0Y2hJZGVudGlmaWVyLnRv
VUludDY0KCksICEhc2VydmljZVdvcmtlclRocmVhZFByb3h5KTsKKyAgICBSRUxFQVNFX0xPRyhT
ZXJ2aWNlV29ya2VyLCAiV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmNvbnRpbnVlRGlk
UmVjZWl2ZUZldGNoUmVzcG9uc2UgZm9yIHNlcnZpY2Ugd29ya2VyICVsbHUsIGZldGNoIGlkZW50
aWZpZXIgJWxsdSwgaGFzIHNlcnZpY2Ugd29ya2VyICVkIiwgc2VydmljZVdvcmtlcklkZW50aWZp
ZXIudG9VSW50NjQoKSwgZmV0Y2hJZGVudGlmaWVyLnRvVUludDY0KCksICEhc2VydmljZVdvcmtl
clRocmVhZFByb3h5KTsKIAogICAgIGlmIChzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkpCiAgICAg
ICAgIHNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS0+Y29udGludWVEaWRSZWNlaXZlRmV0Y2hSZXNw
b25zZShzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgZmV0Y2hJZGVudGlmaWVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IGFjZTFhOTlkZDExODcxZmMyYmRkN2NiNDVm
ZjU3NGE4NzlmMTUxZWIuLjdkOTViZjQ2MmJjZTkyMjcyMjRiYmU0NzI0NGU3NzI2YjQzOTg0ZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzcsNyArMzcsNiBAQAogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNl
c1N0b3JlLmgiCiAjaW5jbHVkZSAiV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdl
c1JlcGxpZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0VtcHR5RnJhbWVMb2FkZXJDbGllbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29y
a2VyVHlwZXMuaD4KQEAgLTU2LDkgKzU1LDkgQEAgZW51bSBjbGFzcyBXb3JrZXJUaHJlYWRNb2Rl
IDogYm9vbDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFNlcnZpY2VXb3JrZXJGcmFt
ZUxvYWRlckNsaWVudDsKLXN0cnVjdCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwor
Y2xhc3MgUmVtb3RlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQ7CiBjbGFzcyBXZWJVc2VyQ29udGVu
dENvbnRyb2xsZXI7CitzdHJ1Y3QgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIAog
Y2xhc3MgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24gZmluYWwgOiBwdWJsaWMgV2ViQ29y
ZTo6U1dDb250ZXh0TWFuYWdlcjo6Q29ubmVjdGlvbiwgcHVibGljIElQQzo6TWVzc2FnZVJlY2Vp
dmVyIHsKIHB1YmxpYzoKQEAgLTExNSw3ICsxMTQsNyBAQCBwcml2YXRlOgogICAgIFdlYlBhZ2VQ
cm94eUlkZW50aWZpZXIgbV93ZWJQYWdlUHJveHlJRDsKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRp
ZmllciBtX3BhZ2VJRDsKIAotICAgIEhhc2hTZXQ8c3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VXb3Jr
ZXJGcmFtZUxvYWRlckNsaWVudD4+IG1fbG9hZGVyczsKKyAgICBIYXNoU2V0PHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVXb3JrZXJGcmFtZUxvYWRlckNsaWVudD4+IG1fbG9hZGVyczsKICAgICBIYXNo
TWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJh
Y2s+IG1fbWF0Y2hBbGxSZXF1ZXN0czsKICAgICB1aW50NjRfdCBtX3ByZXZpb3VzUmVxdWVzdElk
ZW50aWZpZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fdXNlckFnZW50OwpAQCAtMTI0LDM1ICsxMjMs
NiBAQCBwcml2YXRlOgogICAgIHN0ZDo6b3B0aW9uYWw8V2ViUHJlZmVyZW5jZXNTdG9yZT4gbV9w
cmVmZXJlbmNlc1N0b3JlOwogfTsKIAotY2xhc3MgU2VydmljZVdvcmtlckZyYW1lTG9hZGVyQ2xp
ZW50IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQgewotcHVi
bGljOgotICAgIFNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudChXZWJQYWdlUHJveHlJZGVu
dGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7Ci0KLSAgICBXZWJQYWdlUHJveHlJZGVudGlmaWVy
IHdlYlBhZ2VQcm94eUlEKCkgY29uc3QgeyByZXR1cm4gbV93ZWJQYWdlUHJveHlJRDsgfQotCi0g
ICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7IG1fdXNlckFnZW50ID0g
V1RGTW92ZSh1c2VyQWdlbnQpOyB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmPFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyPiBjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpIGZpbmFsOwotCi0gICAgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4gcGFnZUlEKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9wYWdlSUQ7IH0KLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRl
bnRpZmllcj4gZnJhbWVJRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZnJhbWVJRDsgfQotCi0g
ICAgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIFdlYkNvcmU6OlJlc291cmNlTG9hZGVySWRlbnRpZmllcikgZmluYWwgeyByZXR1cm4gdHJ1
ZTsgfQotICAgIGJvb2wgaXNTZXJ2aWNlV29ya2VyRnJhbWVMb2FkZXJDbGllbnQoKSBjb25zdCBm
aW5hbCB7IHJldHVybiB0cnVlOyB9Ci0KLSAgICBTdHJpbmcgdXNlckFnZW50KGNvbnN0IFVSTCYp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdXNlckFnZW50OyB9Ci0KLSAgICBXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyIG1fd2ViUGFnZVByb3h5SUQ7Ci0gICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIg
bV9wYWdlSUQ7Ci0gICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIG1fZnJhbWVJRDsKLSAgICBT
dHJpbmcgbV91c2VyQWdlbnQ7Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJLaXQ6OlNlcnZpY2VXb3JrZXJGcmFtZUxvYWRlckNs
aWVudCkKLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6RnJhbWVMb2FkZXJD
bGllbnQmIGZyYW1lTG9hZGVyQ2xpZW50KSB7IHJldHVybiBmcmFtZUxvYWRlckNsaWVudC5pc1Nl
cnZpY2VXb3JrZXJGcmFtZUxvYWRlckNsaWVudCgpOyB9Ci1TUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCi0KICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCg==
</data>
<flag name="commit-queue"
          id="477159"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>