<?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>237592</bug_id>
          
          <creation_ts>2022-03-08 03:02:20 -0800</creation_ts>
          <short_desc>Remove RemoteVideoSample</short_desc>
          <delta_ts>2022-03-10 01:10:17 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1849175</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 03:02:20 -0800</bug_when>
    <thetext>Remove RemoteVideoSample</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849176</commentid>
    <comment_count>1</comment_count>
      <attachid>454091</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 03:04:25 -0800</bug_when>
    <thetext>Created attachment 454091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849192</commentid>
    <comment_count>2</comment_count>
      <attachid>454100</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 04:16:55 -0800</bug_when>
    <thetext>Created attachment 454100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849268</commentid>
    <comment_count>3</comment_count>
      <attachid>454100</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-03-08 08:10:12 -0800</bug_when>
    <thetext>Comment on attachment 454100
Patch

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

&gt; Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:110
&gt; +        connection-&gt;send(Messages::LibWebRTCCodecs::CompletedDecodingCV { identifier, timeStamp, pixelBuffer, MediaTime(timeStampNs, 1) }, 0);

I see this isn&apos;t new, but do you mean to create a MediaTime with a timescale of 1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849279</commentid>
    <comment_count>4</comment_count>
      <attachid>454125</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 08:40:52 -0800</bug_when>
    <thetext>Created attachment 454125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849286</commentid>
    <comment_count>5</comment_count>
      <attachid>454126</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 08:46:26 -0800</bug_when>
    <thetext>Created attachment 454126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849289</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-08 08:49:29 -0800</bug_when>
    <thetext>(In reply to Eric Carlson from comment #3)
&gt; Comment on attachment 454100 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=454100&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:110
&gt; &gt; +        connection-&gt;send(Messages::LibWebRTCCodecs::CompletedDecodingCV { identifier, timeStamp, pixelBuffer, MediaTime(timeStampNs, 1) }, 0);
&gt; 
&gt; I see this isn&apos;t new, but do you mean to create a MediaTime with a timescale
&gt; of 1?

Good point, fixing it in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849780</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-09 11:22:39 -0800</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 454126 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849977</commentid>
    <comment_count>8</comment_count>
      <attachid>454319</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-09 23:06:02 -0800</bug_when>
    <thetext>Created attachment 454319
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849989</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-10 01:09:10 -0800</bug_when>
    <thetext>Committed r291095 (248257@main): &lt;https://commits.webkit.org/248257@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454319.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849990</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-10 01:10:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/90085513&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454091</attachid>
            <date>2022-03-08 03:04:25 -0800</date>
            <delta_ts>2022-03-08 04:21:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237592-20220308120423.patch</filename>
            <type>text/plain</type>
            <size>43022</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDViOTAyZDMxMmVmZTBm
ZDRhY2UwZDI3NTFlMzFjYzVhYTFkZGY1ZS4uNzhmYjgyMzVkYmVkM2VjZjA3MDE1OTNiNmRkYTAx
Yzc1ZGVhZWJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAzLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlk
ZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuaDogUmVtb3ZlZC4KKwogMjAyMi0wMy0w
OCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2NvcGUgY2Fw
dHVyZSBzb3VyY2VzIGJ5IHBhZ2UgaWRlbnRpZmllcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzBmY2I3YjI5Mzhj
MThkZDQzNWFmYjczOGI0ZWY3MmY4NTFkODNlYS4uN2RjNWIyMzk4NDhjNDFhMDA0MjQ3NmRhZDgx
MDgxYjAzMzcyMDcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMi0wMy0wOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFJlbW90ZVZp
ZGVvU2FtcGxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzc1OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZW5kIFJlbW90ZVZpZGVvU2FtcGxlIGRhdGEgZGlyZWN0bHkgYXMgSVBDIG1lc3NhZ2UgcGFy
YW1ldGVycyBpbnN0ZWFkIG9mIGluc2lkZSBSZW1vdGVWaWRlb1NhbXBsZS4KKworICAgICAgICAq
IEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lmg6CisgICAgICAgICogR1BV
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6
OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVEZWNvZGVyQ2FsbGJhY2spOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZ0NWKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvRnJhbWVBdmFpbGFi
bGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9G
cmFtZUF2YWlsYWJsZUNWKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3Rl
VmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorCiAy
MDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBT
Y29wZSBjYXB0dXJlIHNvdXJjZXMgYnkgcGFnZSBpZGVudGlmaWVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCBkMWUxYTAzZDFiM2Y5ZDdjOTE4NWI5YTI3MzMzMGRhM2JlOTcxNTZjLi5mZWI2ZjMzYTdjYTE3
OThmN2JkZjc4ZWNkNWIyZTYwZjM4YThlMDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjA4MSw3ICsy
MDgxLDYgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXJGb3JtYXQuY3BwCiBwbGF0Zm9y
bS9ncmFwaGljcy9QaXhlbEZvcm1hdC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtVGlt
ZVJhbmdlcy5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5jcHAKLXBsYXRmb3JtL2dyYXBo
aWNzL1JlbW90ZVZpZGVvU2FtcGxlLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3Qu
Y3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
U291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxMThkMGUyNjNkZjY2YTVlMDUwM2JjNzViOWZi
YjY3YTY0MWJjMDFiLi41MTQ2MzViMDIyYTc0Y2U4YzVhYWJhMmM4NzQ2YzgyNWRkN2RkOTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xMjAsNyArMTIwLDYgQEAKIAkJMDczNzk0RkUxOUY1ODY0RTAwRTVBMDQ1IC8qIFJUQ05v
dGlmaWVyc01vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3Mzc5NEY4MTlGNTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmllcnNNb2NrLmggKi87IH07
CiAJCTA3MzhFNUVDMjQ5OTgzOTAwMERBMTAxQyAvKiBBVk91dHB1dERldmljZU1lbnVDb250cm9s
bGVyVGFyZ2V0UGlja2VyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDczOEU1RUEyNDk5NjhBRDAwREExMDFDIC8qIEFWT3V0cHV0RGV2aWNlTWVudUNv
bnRyb2xsZXJUYXJnZXRQaWNrZXIubW0gKi87IH07CiAJCTA3Mzk1NUJCMjdBQjI3N0YwMDlBMDhE
MiAvKiBTY3JlZW5DYXB0dXJlS2l0U2hhcmluZ1Nlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzNUQzMjI3QTlCNjBCMDBGQjAz
RTQgLyogU2NyZWVuQ2FwdHVyZUtpdFNoYXJpbmdTZXNzaW9uTWFuYWdlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA3M0ExNTU0MjE3N0E0MjYw
MEVBMDhGMiAvKiBSZW1vdGVWaWRlb1NhbXBsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDczQTE1NTMyMTc3QTM5QTAwRUEwOEYyIC8qIFJlbW90ZVZp
ZGVvU2FtcGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMDczQjg3NjcxRTQzODVBQzAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczQjg3NjMx
RTQzODU5RDAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3M0I4NzY5MUU0Mzg1QUMwMDcx
QzBFQyAvKiBBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3M0I4NzY1MUU0Mzg1OUQwMDcxQzBFQyAvKiBBdWRpb1Nh
bXBsZURhdGFTb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwNzQwQjE0NDI1REUzMUY4MDBFMzhEQkEgLyogTW9ja01lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3NDBCMTQzMjVERTMxQTkwMEUzOERCQSAvKiBNb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3IuY3BwICovOyB9OwpAQCAtMTI0Myw2ICsxMjQyLDcgQEAKIAkJNDM1OEU4N0QxMzYwQTJFRTAw
RTQ3NDhDIC8qIEpTU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM1OEU4N0IxMzYwQTJFRTAwRTQ3NDhDIC8qIEpT
U1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oICovOyB9OwogCQk0MzU4RTg4MTEzNjBBMzE3MDBFNDc0
OEMgLyogRkVEcm9wU2hhZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MzU4RTg3RjEzNjBBMzE3MDBFNDc0OEMgLyogRkVEcm9wU2hhZG93LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDM1OEU4ODYx
MzYwQTMzQjAwRTQ3NDhDIC8qIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNThFODgzMTM2MEEzM0IwMEU0NzQ4
QyAvKiBTVkdGRURyb3BTaGFkb3dFbGVtZW50LmggKi87IH07CisJCTQzNjcwN0U3MjRDOUNBNEIx
MDA0NDIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MThCQjEyRDlDQTRCMDAwNDIy
MzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhD
MTEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwODgyMTJEOUNBNEEwMDA0NDIzNCAvKiBS
ZW5kZXJTVkdCbG9jay5oICovOyB9OwogCQk0MzY3MDhDMzEyRDlDQTRCMDAwNDQyMzQgLyogTGVn
YWN5UmVuZGVyU1ZHQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MzY3MDg4NDEyRDlDQTRBMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZH
Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEM0MzNGOENBNEMxMDA0NDIzNCAvKiBSZW5kZXJT
VkdDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQzNjcwNzc0MTJEOUJDNEEwMDA0NDIzNCAvKiBSZW5kZXJTVkdDb250YWluZXIuaCAqLzsg
fTsKQEAgLTEyNjQsNyArMTI2NCw2IEBACiAJCTQzNjcwOEUzMTJEOUNBNEIwMDA0NDIzNCAvKiBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEE0MTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3IuaCAqLzsgfTsKIAkJNDM2NzA4RTUxMkQ5Q0E0QjAwMDQ0MjM0IC8q
IExlZ2FjeVJlbmRlclNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQzNjcwOEE2MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdS
b290LmggKi87IH07CiAJCTQzNjcwOEU1MTJEOURCNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdSb290
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhB
NjEyRDlEQjRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUm9vdC5oICovOyB9OwotCQk0MzY3MDdFNzI0
QzlDQTRCMTAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzE4QkIxMkQ5Q0E0
QjAwMDQyMjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLzsgfTsKIAkJ
NDM2NzA4RTkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQzNjcwOEFBMTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxl
Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEVCMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDM2NzA4QUMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEVFMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdNYXJr
ZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MzY3MDhBRjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHTWFya2VyRGF0YS5oICovOyB9OwpAQCAtNjA4
Miw4ICs2MDgxLDYgQEAKIAkJMDczOEU1RTgyNDk5NjhBQzAwREExMDFDIC8qIEFWT3V0cHV0RGV2
aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZPdXRwdXRE
ZXZpY2VNZW51Q29udHJvbGxlclRhcmdldFBpY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwNzM4RTVFQTI0OTk2OEFEMDBEQTEwMUMgLyogQVZPdXRwdXREZXZpY2VNZW51Q29u
dHJvbGxlclRhcmdldFBpY2tlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWT3V0cHV0RGV2
aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3MzhFNUVCMjQ5OTY5MDkwMERBMTAxQyAvKiBBVlBsYXliYWNrVGFyZ2V0UGlja2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFWUGxheWJhY2tUYXJnZXRQaWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMDczQTE1NTEyMTc3QTM5ODAwRUEwOEYyIC8qIFJlbW90ZVZpZGVv
U2FtcGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVZpZGVvU2FtcGxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDczQTE1NTMyMTc3QTM5QTAwRUEwOEYyIC8qIFJl
bW90ZVZpZGVvU2FtcGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVZpZGVvU2FtcGxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3M0I4NzU2MUU0MERDRTUwMDcxQzBFQyAvKiBB
dWRpb1N0cmVhbURlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDczQjg3NTcxRTQwRENGRDAwNzFDMEVDIC8qIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDQUF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzNCODc1ODFFNDBEQ0ZE
MDA3MUMwRUMgLyogQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtOTA5Niw5ICs5MDkzLDcgQEAKIAkJNDM2NzA4QTUxMkQ5Q0E1QzAw
MDQ0MjM0IC8qIFJlbmRlclNWR1Jvb3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyU1ZHUm9vdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQzNjcwOEE2MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdSb290LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVJlbmRlclNWR1Jvb3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QTYxMkQ5REI0QjAwMDQ0MjM0IC8qIFJlbmRl
clNWR1Jvb3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUm9v
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MzY3MDhCODEyQzlDQTRDMDAwMTE0
MzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QTkxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNv
bnRhaW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQzNjcxOEJCMTJEOUNB
NEIwMDA0MjIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QUExMkQ5Q0E0QjAwMDQ0MjM0
IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBQjEyRDlDQTRCMDAwNDQy
MzQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBQzEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVy
U1ZHVmlld3BvcnRDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTkxMDksMTEgKzkxMDQsMTMgQEAKIAkJNDM2NzA4QjUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNW
R1JlbmRlclRyZWVBc1RleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZH
UmVuZGVyVHJlZUFzVGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhC
NjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291cmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQzNjcwOEI3MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUmVzb3VyY2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQzNjcwOEI4MTJDOUNBNEMwMDAxMTQzNCAvKiBSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MzY3MDhCODEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2Vz
Q2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3Vy
Y2VzQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhCOTEyRDlD
QTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU1ZHUmVzb3VyY2VzQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDM2NzA4QkExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QkIxMkQ5
Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEZEMTJEOUNBNEEwMDAzMjExNCAvKiBSZW5kZXJTVkdN
b2RlbE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdN
b2RlbE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3MThCQjEyRDlD
QTRCMDAwNDIyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkMzMTJEQTI1RTgwMEFGODBB
MiAvKiBSZW5kZXJNYXRoTUxCbG9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJNYXRoTUxCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQzOTA0NkM0MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxCbG9jay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNYXRoTUxCbG9jay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZDNTEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVy
TWF0aE1MRmVuY2VkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
bmRlck1hdGhNTEZlbmNlZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTE1
Myw4ICsyOTE1MCw2IEBACiAJCQkJQ0QxRjlBRkMyNkZEMzhDQTAwNjE3RUI2IC8qIFBsYXRmb3Jt
VmlkZW9UcmFuc2ZlckNoYXJhY3RlcmlzdGljcy5oICovLAogCQkJCUJDQUI0MTdGMTNFMzU2RTgw
MEQ4QUFGMyAvKiBSZWdpb24uY3BwICovLAogCQkJCUJDQUI0MTgwMTNFMzU2RTgwMEQ4QUFGMyAv
KiBSZWdpb24uaCAqLywKLQkJCQkwNzNBMTU1MTIxNzdBMzk4MDBFQTA4RjIgLyogUmVtb3RlVmlk
ZW9TYW1wbGUuY3BwICovLAotCQkJCTA3M0ExNTUzMjE3N0EzOUEwMEVBMDhGMiAvKiBSZW1vdGVW
aWRlb1NhbXBsZS5oICovLAogCQkJCTcyOTlCQzY2MjNENjg2QzYwMENDNjg4MyAvKiBSZW5kZXJp
bmdNb2RlLmggKi8sCiAJCQkJNzI5RDA1MkUyNTMxM0UyNjAwNDIyMDk4IC8qIFJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllci5oICovLAogCQkJCUE3M0Y5NUZDMTJDOTdCRkUwMDMxQUFGOSAvKiBS
b3VuZGVkUmVjdC5jcHAgKi8sCkBAIC0zNjg3NCw3ICszNjg2OSw2IEBACiAJCQkJNDZCOTUxOUEy
MDdENjM1NDAwQTdEMkREIC8qIFJlbW90ZUZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREMz
MTJFOTIyRkNEN0MwMDAxMjA0RUMgLyogUmVtb3RlUGxheWJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEQzMxMkVCMjJGQ0Q3QzkwMDEyMDRFQyAvKiBSZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0
eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQkwNzNBMTU1NDIxNzdBNDI2MDBFQTA4RjIg
LyogUmVtb3RlVmlkZW9TYW1wbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQwNkMwRDhGMENGRDEx
NDYwMDY1RjQzRiAvKiBSZW1vdmVGb3JtYXRDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
MzMwOUUwNTA5OUU2NDkyMDA1NkU1ODEgLyogUmVtb3ZlTm9kZUNvbW1hbmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzMzA5RTA3MDk5RTY0OTIwMDU2RTU4MSAvKiBSZW1vdmVOb2RlUHJlc2Vydmlu
Z0NoaWxkcmVuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGRhYjZmMmE0MTc3M2E1YjI3ODE1YWIyMGQ0YmQ0NDY5ZDYyYjky
ZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsMTU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUmVtb3RlVmlkZW9T
YW1wbGUuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKQot
Ci0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Q0cuaCIKLSNpbmNsdWRlICJJT1N1cmZhY2UuaCIK
LSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCi0j
aW5jbHVkZSAiVmlkZW9GcmFtZUNWLmgiCi0KLSNpZiBVU0UoQUNDRUxFUkFURSkKLSNpbmNsdWRl
IDxBY2NlbGVyYXRlL0FjY2VsZXJhdGUuaD4KLSNlbmRpZgotCi0jaW5jbHVkZSA8cGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmg+Ci0jaW5jbHVkZSAiQ29yZVZpZGVvU29mdExpbmsuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZh
Y2U+IHRyYW5zZmVyQkdSQVBpeGVsQnVmZmVyVG9JT1N1cmZhY2UoQ1ZQaXhlbEJ1ZmZlclJlZiBw
aXhlbEJ1ZmZlcikKLXsKLSNpZiBVU0UoQUNDRUxFUkFURSkKLSAgICBBU1NFUlQoQ1ZQaXhlbEJ1
ZmZlckdldFBpeGVsRm9ybWF0VHlwZShwaXhlbEJ1ZmZlcikgPT0ga0NWUGl4ZWxGb3JtYXRUeXBl
XzMyQkdSQSk7Ci0KLSAgICBhdXRvIHJlc3VsdCA9IENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJl
c3MocGl4ZWxCdWZmZXIsIGtDVlBpeGVsQnVmZmVyTG9ja19SZWFkT25seSk7Ci0gICAgQVNTRVJU
KHJlc3VsdCA9PSBrQ1ZSZXR1cm5TdWNjZXNzKTsKLSAgICBpZiAocmVzdWx0ICE9IGtDVlJldHVy
blN1Y2Nlc3MpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJ0cmFuc2ZlckJH
UkFQaXhlbEJ1ZmZlclRvSU9TdXJmYWNlIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MoKSBy
ZXR1cm5lZCBlcnJvciBjb2RlICVkIiwgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgfQotCi0gICAgSW50U2l6ZSBzaXplIHsgc3RhdGljX2Nhc3Q8aW50PihDVlBpeGVsQnVm
ZmVyR2V0V2lkdGgocGl4ZWxCdWZmZXIpKSwgc3RhdGljX2Nhc3Q8aW50PihDVlBpeGVsQnVmZmVy
R2V0SGVpZ2h0KHBpeGVsQnVmZmVyKSkgfTsKLSAgICBhdXRvIGlvU3VyZmFjZSA9IElPU3VyZmFj
ZTo6Y3JlYXRlKHNpemUsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBJT1N1cmZhY2U6
OkZvcm1hdDo6QkdSQSk7Ci0KLSAgICBJT1N1cmZhY2U6OkxvY2tlciBsb2NrKCppb1N1cmZhY2Up
OwotICAgIHZJbWFnZV9CdWZmZXIgc3JjOwotICAgIHNyYy53aWR0aCA9IHNpemUud2lkdGgoKTsK
LSAgICBzcmMuaGVpZ2h0ID0gc2l6ZS5oZWlnaHQoKTsKLSAgICBzcmMucm93Qnl0ZXMgPSBDVlBp
eGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3cocGl4ZWxCdWZmZXIpOwotICAgIHNyYy5kYXRhID0gQ1ZQ
aXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzKHBpeGVsQnVmZmVyKTsKLQotICAgIHZJbWFnZV9CdWZm
ZXIgZGVzdDsKLSAgICBkZXN0LndpZHRoID0gc2l6ZS53aWR0aCgpOwotICAgIGRlc3QuaGVpZ2h0
ID0gc2l6ZS5oZWlnaHQoKTsKLSAgICBkZXN0LnJvd0J5dGVzID0gaW9TdXJmYWNlLT5ieXRlc1Bl
clJvdygpOwotICAgIGRlc3QuZGF0YSA9IGxvY2suc3VyZmFjZUJhc2VBZGRyZXNzKCk7Ci0KLSAg
ICB2SW1hZ2VVbnByZW11bHRpcGx5RGF0YV9CR1JBODg4OCgmc3JjLCAmZGVzdCwga3ZJbWFnZU5v
RmxhZ3MpOwotCi0gICAgcmVzdWx0ID0gQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKHBp
eGVsQnVmZmVyLCBrQ1ZQaXhlbEJ1ZmZlckxvY2tfUmVhZE9ubHkpOwotICAgIEFTU0VSVChyZXN1
bHQgPT0ga0NWUmV0dXJuU3VjY2Vzcyk7Ci0gICAgaWYgKHJlc3VsdCAhPSBrQ1ZSZXR1cm5TdWNj
ZXNzKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAidHJhbnNmZXJCR1JBUGl4
ZWxCdWZmZXJUb0lPU3VyZmFjZSBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MoKSByZXR1
cm5lZCBlcnJvciBjb2RlICVkIiwgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgfQotICAgIHJldHVybiBpb1N1cmZhY2U7Ci0jZWxzZQotICAgIFJFTEVBU0VfTE9HX0VSUk9S
KE1lZGlhLCAidHJhbnNmZXJCR1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFjZSBjYW5ub3QgY29udmVy
dCB0byBJT1N1cmZhY2UiKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLSNlbmRpZgotfQotCi1zdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+IFJlbW90ZVZpZGVvU2FtcGxlOjpjcmVhdGUo
TWVkaWFTYW1wbGUmIHNhbXBsZSwgU2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2Ugc2hvdWxkQ2hlY2tG
b3JJT1N1cmZhY2UpCi17Ci0gICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGltYWdlQnVm
ZmVyOwotICAgIGlmIChpczxNZWRpYVNhbXBsZUFWRk9iakM+KHNhbXBsZSkpCi0gICAgICAgIGlt
YWdlQnVmZmVyID0gZG93bmNhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUpLnBpeGVsQnVm
ZmVyKCk7Ci0gICAgZWxzZSBpZiAoaXM8VmlkZW9GcmFtZUNWPihzYW1wbGUpKQotICAgICAgICBp
bWFnZUJ1ZmZlciA9IGRvd25jYXN0PFZpZGVvRnJhbWVDVj4oc2FtcGxlKS5waXhlbEJ1ZmZlcigp
OwotICAgIGVsc2UgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgIlJlbW90ZVZp
ZGVvU2FtcGxlOjpjcmVhdGU6IGNhbm5vdCBvYnRhaW4gQ1ZQaXhlbEJ1ZmZlciBmcm9tIHNhbXBs
ZS4gVW5rbm93biBzYW1wbGUgdHlwZS4iKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
fQotICAgIGlmICghaW1hZ2VCdWZmZXIpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVk
aWEsICJSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlOiBjYW5ub3Qgb2J0YWluIENWUGl4ZWxCdWZm
ZXIgZnJvbSBzYW1wbGUuIE5vIGJ1ZmZlci4iKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgfQotICAgIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IGlvU3VyZmFjZTsKLSAgICBhdXRv
IHN1cmZhY2UgPSBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlKGltYWdlQnVmZmVyLmdldCgpKTsK
LSAgICBpZiAoIXN1cmZhY2UgJiYgc2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2UgPT0gU2hvdWxkQ2hl
Y2tGb3JJT1N1cmZhY2U6OlllcykgewotICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIGNhbnZh
cyBkYXRhIHRoYXQgaXMgUkdCQSwgbm90IElPU3VyZmFjZSBiYWNrZWQuCi0gICAgICAgIGF1dG8g
cGl4ZWxGb3JtYXRUeXBlID0gQ1ZQaXhlbEJ1ZmZlckdldFBpeGVsRm9ybWF0VHlwZShpbWFnZUJ1
ZmZlci5nZXQoKSk7Ci0gICAgICAgIGlmIChwaXhlbEZvcm1hdFR5cGUgIT0ga0NWUGl4ZWxGb3Jt
YXRUeXBlXzMyQkdSQSkgewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJS
ZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlIGRvZXMgbm90IHN1cHBvcnQgbm9uIElPU3VyZmFjZSBi
YWNrZWQgc2FtcGxlcyB0aGF0IGFyZSBub3QgQkdSQSIpOwotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgICAgIH0KLQotICAgICAgICBpb1N1cmZhY2UgPSB0cmFuc2ZlckJHUkFQaXhl
bEJ1ZmZlclRvSU9TdXJmYWNlKGltYWdlQnVmZmVyLmdldCgpKTsKLSAgICAgICAgaWYgKCFpb1N1
cmZhY2UpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgICAgICBzdXJmYWNlID0g
aW9TdXJmYWNlLT5zdXJmYWNlKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0
cjxSZW1vdGVWaWRlb1NhbXBsZT4obmV3IFJlbW90ZVZpZGVvU2FtcGxlKHN1cmZhY2UsIFdURk1v
dmUoaW1hZ2VCdWZmZXIpLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgc2FtcGxlLnBy
ZXNlbnRhdGlvblRpbWUoKSwgc2FtcGxlLnZpZGVvUm90YXRpb24oKSwgc2FtcGxlLnZpZGVvTWly
cm9yZWQoKSkpOwotfQotCi1zdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+IFJlbW90
ZVZpZGVvU2FtcGxlOjpjcmVhdGUoUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgaW1hZ2VC
dWZmZXIsIE1lZGlhVGltZSYmIHByZXNlbnRhdGlvblRpbWUsIE1lZGlhU2FtcGxlOjpWaWRlb1Jv
dGF0aW9uIHJvdGF0aW9uLCBTaG91bGRDaGVja0ZvcklPU3VyZmFjZSBzaG91bGRDaGVja0ZvcklP
U3VyZmFjZSkKLXsKLSAgICBhdXRvIHN1cmZhY2UgPSBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNl
KGltYWdlQnVmZmVyLmdldCgpKTsKLSAgICBpZiAoIXN1cmZhY2UgJiYgc2hvdWxkQ2hlY2tGb3JJ
T1N1cmZhY2UgPT0gU2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2U6OlllcykgewotICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihNZWRpYSwgIlJlbW90ZVZpZGVvU2FtcGxlOjpjcmVhdGU6IENWUGl4ZWxC
dWZmZXJHZXRJT1N1cmZhY2UgcmV0dXJuZWQgbnVsbHB0ciIpOwotICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICB9Ci0KLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2Ft
cGxlPihuZXcgUmVtb3RlVmlkZW9TYW1wbGUoc3VyZmFjZSwgV1RGTW92ZShpbWFnZUJ1ZmZlciks
IERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBXVEZNb3ZlKHByZXNlbnRhdGlvblRpbWUp
LCByb3RhdGlvbiwgZmFsc2UpKTsKLX0KLQotUmVtb3RlVmlkZW9TYW1wbGU6OlJlbW90ZVZpZGVv
U2FtcGxlKElPU3VyZmFjZVJlZiBzdXJmYWNlLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
JiBpbWFnZUJ1ZmZlciwgY29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiBjb2xvclNwYWNlLCBN
ZWRpYVRpbWUmJiB0aW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9v
bCBtaXJyb3JlZCkKLSAgICA6IG1faW9TdXJmYWNlKFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRl
RnJvbVN1cmZhY2Uoc3VyZmFjZSwgY29sb3JTcGFjZSkpCi0gICAgLCBtX2ltYWdlQnVmZmVyKFdU
Rk1vdmUoaW1hZ2VCdWZmZXIpKQotICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKLSAgICAsIG1f
dGltZShXVEZNb3ZlKHRpbWUpKQotICAgICwgbV92aWRlb0Zvcm1hdChJT1N1cmZhY2VHZXRQaXhl
bEZvcm1hdChzdXJmYWNlKSkKLSAgICAsIG1fc2l6ZShJbnRTaXplKElPU3VyZmFjZUdldFdpZHRo
KHN1cmZhY2UpLCBJT1N1cmZhY2VHZXRIZWlnaHQoc3VyZmFjZSkpKQotICAgICwgbV9taXJyb3Jl
ZChtaXJyb3JlZCkKLXsKLX0KLQotSU9TdXJmYWNlUmVmIFJlbW90ZVZpZGVvU2FtcGxlOjpzdXJm
YWNlKCkgY29uc3QKLXsKLSAgICBpZiAoIW1faW9TdXJmYWNlICYmIG1fc2VuZFJpZ2h0KQotICAg
ICAgICBjb25zdF9jYXN0PFJlbW90ZVZpZGVvU2FtcGxlKj4odGhpcyktPm1faW9TdXJmYWNlID0g
V2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGVGcm9tU2VuZFJpZ2h0KFdURk1vdmUoY29uc3RfY2Fz
dDxSZW1vdGVWaWRlb1NhbXBsZSo+KHRoaXMpLT5tX3NlbmRSaWdodCksIERlc3RpbmF0aW9uQ29s
b3JTcGFjZTo6U1JHQigpKTsKLQotICAgIHJldHVybiBtX2lvU3VyZmFjZSA/IG1faW9TdXJmYWNl
LT5zdXJmYWNlKCkgOiBudWxscHRyOwotfQotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmMWRkOTE5MDFmODQ5ZTA5YTI0NjY0OWZjZGRhNzhkMGRkYzlhY2U0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwx
MzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09D
T0EpCi0KLSNpbmNsdWRlICJJT1N1cmZhY2UuaCIKLSNpbmNsdWRlICJNZWRpYVNhbXBsZS5oIgot
I2luY2x1ZGUgIlJlbW90ZVZpZGVvU2FtcGxlLmgiCi0jaW5jbHVkZSA8d3RmL01hY2hTZW5kUmln
aHQuaD4KLSNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Ci0KLXR5cGVkZWYgc3RydWN0IF9fQ1ZC
dWZmZXIqIENWUGl4ZWxCdWZmZXJSZWY7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3Mg
UHJvY2Vzc0lkZW50aXR5OwotCi1jbGFzcyBSZW1vdGVWaWRlb1NhbXBsZSB7Ci1wdWJsaWM6Ci0g
ICAgUmVtb3RlVmlkZW9TYW1wbGUoKSA9IGRlZmF1bHQ7Ci0gICAgUmVtb3RlVmlkZW9TYW1wbGUo
UmVtb3RlVmlkZW9TYW1wbGUmJikgPSBkZWZhdWx0OwotICAgIFJlbW90ZVZpZGVvU2FtcGxlJiBv
cGVyYXRvcj0oUmVtb3RlVmlkZW9TYW1wbGUmJikgPSBkZWZhdWx0OwotICAgIH5SZW1vdGVWaWRl
b1NhbXBsZSgpID0gZGVmYXVsdDsKLQotICAgIGVudW0gY2xhc3MgU2hvdWxkQ2hlY2tGb3JJT1N1
cmZhY2UgeyBObywgWWVzIH07Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4gY3JlYXRlKE1lZGlhU2FtcGxlJiwgU2hvdWxkQ2hlY2tG
b3JJT1N1cmZhY2UgPSBTaG91bGRDaGVja0ZvcklPU3VyZmFjZTo6WWVzKTsKLSAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxlPiBjcmVhdGUo
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYsIE1lZGlhVGltZSYmIHByZXNlbnRhdGlvblRp
bWUsIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uID0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRp
b246Ok5vbmUsIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlID0gU2hvdWxkQ2hlY2tGb3JJT1N1cmZh
Y2U6Olllcyk7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCBJT1N1cmZhY2VSZWYgc3VyZmFjZSgpIGNv
bnN0OwotICAgIENWUGl4ZWxCdWZmZXJSZWYgaW1hZ2VCdWZmZXIoKSBjb25zdCB7IHJldHVybiBt
X2ltYWdlQnVmZmVyLmdldCgpOyB9Ci0KLSAgICB2b2lkIHNldE93bmVyc2hpcElkZW50aXR5KGNv
bnN0IFByb2Nlc3NJZGVudGl0eSYpOwotICAgIHZvaWQgY2xlYXJJT1N1cmZhY2UoKSB7IG1faW9T
dXJmYWNlID0gbnVsbHB0cjsgfQotCi0gICAgY29uc3QgTWVkaWFUaW1lJiB0aW1lKCkgY29uc3Qg
eyByZXR1cm4gbV90aW1lOyB9Ci0gICAgdWludDMyX3QgdmlkZW9Gb3JtYXQoKSBjb25zdCB7IHJl
dHVybiBtX3ZpZGVvRm9ybWF0OyB9Ci0gICAgSW50U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4g
bV9zaXplOyB9Ci0gICAgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24oKSBjb25z
dCB7IHJldHVybiBtX3JvdGF0aW9uOyB9Ci0gICAgYm9vbCBtaXJyb3JlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWlycm9yZWQ7IH0KLQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobV9pb1N1cmZh
Y2UpCi0gICAgICAgICAgICBlbmNvZGVyIDw8IG1faW9TdXJmYWNlLT5jcmVhdGVTZW5kUmlnaHQo
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZW5jb2RlciA8PCBNYWNoU2VuZFJpZ2h0KCk7
Ci0gICAgICAgIGVuY29kZXIgPDwgbV9yb3RhdGlvbjsKLSAgICAgICAgZW5jb2RlciA8PCBtX3Rp
bWU7Ci0gICAgICAgIGVuY29kZXIgPDwgbV92aWRlb0Zvcm1hdDsKLSAgICAgICAgZW5jb2RlciA8
PCBtX3NpemU7Ci0gICAgICAgIGVuY29kZXIgPDwgbV9taXJyb3JlZDsKLSAgICB9Ci0KLSAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVj
b2RlKERlY29kZXImIGRlY29kZXIsIFJlbW90ZVZpZGVvU2FtcGxlJiBzYW1wbGUpCi0gICAgewot
ICAgICAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdodDsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShzZW5kUmlnaHQpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBzYW1w
bGUubV9zZW5kUmlnaHQgPSBXVEZNb3ZlKHNlbmRSaWdodCk7Ci0KLSAgICAgICAgTWVkaWFTYW1w
bGU6OlZpZGVvUm90YXRpb24gcm90YXRpb247Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cm90YXRpb24pKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBzYW1wbGUubV9y
b3RhdGlvbiA9IHJvdGF0aW9uOwotCi0gICAgICAgIE1lZGlhVGltZSB0aW1lOwotICAgICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHRpbWUpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICBzYW1wbGUubV90aW1lID0gV1RGTW92ZSh0aW1lKTsKLQotICAgICAgICB1aW50MzJfdCBm
b3JtYXQ7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZm9ybWF0KSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fdmlkZW9Gb3JtYXQgPSBmb3JtYXQ7Ci0K
LSAgICAgICAgSW50U2l6ZSBzaXplOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBzYW1wbGUubV9zaXplID0gV1RG
TW92ZShzaXplKTsKLQotICAgICAgICBib29sIG1pcnJvcmVkOwotICAgICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKG1pcnJvcmVkKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
c2FtcGxlLm1fbWlycm9yZWQgPSBtaXJyb3JlZDsKLQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVtb3RlVmlkZW9TYW1wbGUoSU9TdXJmYWNlUmVmLCBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgY29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiwg
TWVkaWFUaW1lJiYsIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uLCBib29sKTsKLQotICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IG1faW9TdXJmYWNlOwotICAgIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX2ltYWdlQnVmZmVyOwotICAgIE1hY2hTZW5kUmlnaHQg
bV9zZW5kUmlnaHQ7Ci0gICAgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7
IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lIH07Ci0gICAgTWVkaWFUaW1lIG1fdGlt
ZTsKLSAgICB1aW50MzJfdCBtX3ZpZGVvRm9ybWF0IHsgMCB9OwotICAgIEludFNpemUgbV9zaXpl
OwotICAgIGJvb2wgbV9taXJyb3JlZCB7IGZhbHNlIH07Ci19OwotCi1pbmxpbmUgdm9pZCBSZW1v
dGVWaWRlb1NhbXBsZTo6c2V0T3duZXJzaGlwSWRlbnRpdHkoY29uc3QgUHJvY2Vzc0lkZW50aXR5
JiByZXNvdXJjZU93bmVyKQotewotICAgIGlmIChtX2lvU3VyZmFjZSkKLSAgICAgICAgbV9pb1N1
cmZhY2UtPnNldE93bmVyc2hpcElkZW50aXR5KHJlc291cmNlT3duZXIpOwotfQotCi19Ci0KLSNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCmluZGV4IDE5MjY3MzhmOWUw
MjgxOWM3ZjRmYjlkYzhhZTUzNTk5M2MwNGU5MDkuLjJkZTM2NWE0ZmQzYjY5NTcyMzQ1YjE4MWE1
MjQ0MTA1ZDhkMmU1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKQEAgLTQ0LDEwICs0NCw2IEBAIGNsYXNzIERl
Y29kZXI7CiBjbGFzcyBTZW1hcGhvcmU7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNz
IFJlbW90ZVZpZGVvU2FtcGxlOwotfQotCiBuYW1lc3BhY2Ugd2VicnRjIHsKIHVzaW5nIExvY2Fs
RGVjb2RlciA9IHZvaWQqOwogdXNpbmcgTG9jYWxFbmNvZGVyID0gdm9pZCo7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1t
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5t
bQppbmRleCA3YWQ2ZDZhMWRiNGE3M2ZmYzc3YWVhNDcwZWY0MjRkOGY3MWZlZjRjLi4xOWI2ZDVi
M2NjMDkyMjEzOTdkYWFmMWE3YjczYTY3ZTgwZDI2ZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KQEAgLTQw
LDcgKzQwLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTYW1wbGVB
VkZPYmpDLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1JlbW90ZVZpZGVvU2FtcGxlLmg+CiAjaW1wb3J0
IDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg+CiAjaW1wb3J0IDx3ZWJydGMvc2Rr
L1dlYktpdC9XZWJLaXRFbmNvZGVyLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KQEAgLTEw
OCwxMCArMTA3LDcgQEAgYXV0byBMaWJXZWJSVENDb2RlY3NQcm94eTo6Y3JlYXRlRGVjb2RlckNh
bGxiYWNrKFJUQ0RlY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIKICAgICAgICAgICAgIGNvbm5l
Y3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVkRGVjb2Rpbmcg
eyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsIFdURk1vdmUocHJvcGVydGllcykgfSwgMCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgYXV0byByZW1vdGVTYW1wbGUgPSBX
ZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKCpzYW1wbGUpOwotICAgICAgICBpZiAo
IXJlbW90ZVNhbXBsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzOjpDb21wbGV0ZWREZWNvZGluZ0NWIHsgaWRl
bnRpZmllciwgdGltZVN0YW1wLCAqcmVtb3RlU2FtcGxlIH0sIDApOworICAgICAgICBjb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZERlY29kaW5nQ1Yg
eyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsIHBpeGVsQnVmZmVyLCBNZWRpYVRpbWUodGltZVN0YW1w
TnMsIDEpIH0sIDApOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggYmY4MGU1NGI4YmRkZmM2NTc3MTMyOWY1YzA5ZmJiYjUxOGUwMzAzNS4uYWUwNjVmOWY4MmY0
MTRkNTUzM2FkNmZlNWE2YmM3NDI1ZWFhODliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAKQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2Jq
Qy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVWaWRlb1NvdXJjZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUv
UmVtb3RlVmlkZW9TYW1wbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlz
dC5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtMTkxLDIyICsxOTAsMTkgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuICZzYW1wbGU7CiAgICAgfQogCi0gICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRh
IG1ldGFkYXRhKSBmaW5hbAorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1w
bGUmIGZyYW1lLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKSBmaW5hbAogICAgIHsKLSAg
ICAgICAgYXV0byB2aWRlb1NhbXBsZSA9IHJvdGF0ZVZpZGVvRnJhbWVJZk5lZWRlZChzYW1wbGUp
OwotICAgICAgICBpZiAoIXZpZGVvU2FtcGxlKQorICAgICAgICBhdXRvIHZpZGVvRnJhbWUgPSBy
b3RhdGVWaWRlb0ZyYW1lSWZOZWVkZWQoZnJhbWUpOworICAgICAgICBpZiAoIXZpZGVvRnJhbWUp
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmIChtX3Jlc291cmNlT3duZXIpCi0gICAg
ICAgICAgICB2aWRlb1NhbXBsZS0+c2V0T3duZXJzaGlwSWRlbnRpdHkobV9yZXNvdXJjZU93bmVy
KTsKLSAgICAgICAgaWYgKG1fdmlkZW9GcmFtZU9iamVjdEhlYXApIHsKLSAgICAgICAgICAgIGF1
dG8gcHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZChzYW1wbGUpOwotICAg
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEp
LCAwKTsKKyAgICAgICAgICAgIHZpZGVvRnJhbWUtPnNldE93bmVyc2hpcElkZW50aXR5KG1fcmVz
b3VyY2VPd25lcik7CisgICAgICAgIGlmICghbV92aWRlb0ZyYW1lT2JqZWN0SGVhcCkgeworICAg
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6VmlkZW9GcmFtZUF2YWlsYWJsZUNWKG1faWQsIHZpZGVvRnJhbWUtPnBpeGVsQnVm
ZmVyKCksIHZpZGVvRnJhbWUtPnZpZGVvUm90YXRpb24oKSwgdmlkZW9GcmFtZS0+dmlkZW9NaXJy
b3JlZCgpLCB2aWRlb0ZyYW1lLT5wcmVzZW50YXRpb25UaW1lKCksIG1ldGFkYXRhKSwgMCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgYXV0byByZW1vdGVTYW1wbGUg
PSBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKCp2aWRlb1NhbXBsZSk7Ci0gICAgICAgIGlmICgh
cmVtb3RlU2FtcGxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpWaWRlb1NhbXBsZUF2
YWlsYWJsZUNWKG1faWQsICpyZW1vdGVTYW1wbGUsIG1ldGFkYXRhKSwgMCk7CisgICAgICAgIGF1
dG8gcHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZCgqdmlkZW9GcmFtZSk7
CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OlZpZGVvRnJhbWVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEp
LCAwKTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlUGl4
ZWxCdWZmZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCmluZGV4IDNkODFlMjYx
N2ZmZTkyMzc3ZGVmODA5YTAxOGNkNDJkZjJkYzM3ZTAuLmI0YmNiYmE5ZTk1OGEzNmY1MWNmNmNh
ZDExNzYzNzQ4ZGVkOGY5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApAQCAtMzksNyArMzksNiBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q01hY3Jvcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVlA5VXRp
bGl0aWVzQ29jb2EuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVy
Lmg+CkBAIC0zNjAsNyArMzU5LDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERl
Y29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyLAogICAgICAgICBm
cmFtZS5zaXplKCkud2lkdGgoKSwgZnJhbWUuc2l6ZSgpLmhlaWdodCgpKTsKIH0KIAotdm9pZCBM
aWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIg
ZGVjb2RlcklkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3RlVmlk
ZW9TYW1wbGUmJiByZW1vdGVTYW1wbGUpCit2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVk
RGVjb2RpbmdDVihSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwgdWludDMy
X3QgdGltZVN0YW1wLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBwaXhlbEJ1ZmZlciwg
TWVkaWFUaW1lIHRpbWUpCiB7CiAgICAgYXNzZXJ0SXNDdXJyZW50KHdvcmtRdWV1ZSgpKTsKIApA
QCAtMzczLDE0ICszNzIsMTIgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29k
aW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIKICAgICBMb2NrZXIg
bG9ja2VyIHsgQWRvcHRMb2NrLCBkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFja0xvY2sgfTsK
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47
Ci0gICAgaWYgKCFyZW1vdGVTYW1wbGUuc3VyZmFjZSgpKQotICAgICAgICByZXR1cm47Ci0gICAg
YXV0byBwaXhlbEJ1ZmZlciA9IGNyZWF0ZUNWUGl4ZWxCdWZmZXIocmVtb3RlU2FtcGxlLnN1cmZh
Y2UoKSkudmFsdWVfb3IobnVsbHB0cik7CisKICAgICBpZiAoIXBpeGVsQnVmZmVyKSB7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHdl
YnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxi
YWNrLCB0aW1lU3RhbXAsIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSwgcGl4ZWxCdWZm
ZXIuZ2V0KCkpOworICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXIt
PmRlY29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIHRpbWUudG9Eb3VibGUoKSwgcGl4ZWxC
dWZmZXIuZ2V0KCkpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBmb3JtYXROYW1lRnJvbUNv
ZGVjVHlwZShMaWJXZWJSVENDb2RlY3M6OlR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXggZjU4MjI2
Y2RjMmZhYWE1YTQzM2ZkODk4NGJkNGE1OGJhMTAzNDA5Mi4uN2M5ZjJlNzM0YTk0YTVlYjU5ZDJj
MDhkMTVmMjZkOTNiYWIyODllYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTUxLDEwICs1MSw2IEBAIGNsYXNz
IENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1j
bGFzcyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0KLQogbmFtZXNwYWNlIHdlYnJ0YyB7CiBjbGFzcyBW
aWRlb0ZyYW1lOwogc3RydWN0IFdlYktpdEVuY29kZWRGcmFtZUluZm87CkBAIC0xMzUsNyArMTMx
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZhaWxlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlm
aWVyKTsKICAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1
aW50MzJfdCB0aW1lU3RhbXAsIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmKTsK
ICAgICAvLyBGSVhNRTogV2lsbCBiZSByZW1vdmVkIG9uY2UgUmVtb3RlVmlkZW9GcmFtZVByb3h5
IHByb3ZpZGVycyBhcmUgdGhlIG9ubHkgb25lcyBzZW5kaW5nIGRhdGEuCi0gICAgdm9pZCBjb21w
bGV0ZWREZWNvZGluZ0NWKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAs
IFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOworICAgIHZvaWQgY29tcGxldGVkRGVjb2Rp
bmdDVihSVENEZWNvZGVySWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgTWVkaWFUaW1lKTsKICAgICB2b2lkIGNvbXBsZXRlZEVuY29k
aW5nKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UmJiwgY29uc3Qgd2Vi
cnRjOjpXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJik7CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IGNvbnZlcnRUb0JHUkEoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5tZXNzYWdlcy5pbgppbmRleCA2ZmMzZGI3MmQ2N2ExZDcyNjhhZmMwMTJkMmJmZGZjMjRlZDUz
MzgzLi4xNjdhMzk2MzU0ZGQ2ZjNjMjQ2MmIxYWEyNzUwZmVjMjllNmUxYWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBACiBtZXNzYWdlcyAtPiBMaWJX
ZWJSVENDb2RlY3MgTm90UmVmQ291bnRlZCB7CiAgICAgRmFpbGVkRGVjb2RpbmcoV2ViS2l0OjpS
VENEZWNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIENvbXBsZXRlZERlY29kaW5nKFdl
YktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1w
LCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyBmcmFtZSkKLSAgICBD
b21wbGV0ZWREZWNvZGluZ0NWKFdlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmll
ciwgdWludDMyX3QgdGltZVN0YW1wLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUp
CisgICAgQ29tcGxldGVkRGVjb2RpbmdDVihXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IHBpeGVsQnVmZmVyLCBNZWRpYVRpbWUgbWVkaWFUaW1lKQogICAgIENvbXBsZXRlZEVuY29kaW5n
KFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJl
bmNlIGRhdGEsIHN0cnVjdCB3ZWJydGM6OldlYktpdEVuY29kZWRGcmFtZUluZm8gaW5mbyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCmluZGV4IDBkN2JkYWMxMGM4Mjc3OGMxMDM2YzMy
MTU1ZGYxOTY0MzM1OTFlNTIuLjY0YzgyOTAzNDViMDA4ZmUxMGY2ODI3Mjg2ZDA5MTZiMmY0MGY3
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcApAQCAtMzMsOCArMzMsNyBAQAogI2luY2x1
ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
U2FtcGxlQVZGT2JqQy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2Vi
QXVkaW9CdWZmZXJMaXN0Lmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5h
Z2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyYwogICAg
IGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3RvcmFnZShpcGNIYW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlv
biwgbnVtYmVyT2ZGcmFtZXMsIFdURk1vdmUoc2VtYXBob3JlKSwgbWVkaWFUaW1lLCBmcmFtZUNo
dW5rU2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2Ft
cGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJl
bW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmIHByb3BlcnRpZXMsIFZpZGVvU2FtcGxl
TWV0YWRhdGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRl
b0ZyYW1lQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIs
IFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmIHByb3BlcnRpZXMsIFZpZGVvU2Ft
cGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3Ao
KSk7CiAgICAgLy8gQ3JlYXRlIHZpZGVvRnJhbWUgYmVmb3JlIGVhcmx5IG91dHMgc28gdGhhdCB0
aGUgcmVmZXJlbmNlIGluIGBwcm9wZXJ0aWVzYCBpcyBhZG9wdGVkLgpAQCAtMTc3LDcgKzE3Niw3
IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmCiAgICAgaXRlcmF0b3ItPnZhbHVlLT52aWRlb0Zy
YW1lQXZhaWxhYmxlKFdURk1vdmUodmlkZW9GcmFtZSksIHZpZGVvRnJhbWVTaXplLCBtZXRhZGF0
YSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3Rl
VmlkZW9TYW1wbGUmJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCit2b2lk
IFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxlQ1YoUmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+JiYgcGl4ZWxCdWZmZXIsIFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9u
IHJvdGF0aW9uLCBib29sIG1pcnJvcmVkLCBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSwgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBBU1NFUlQoIVdURjo6
aXNNYWluUnVuTG9vcCgpKTsKICAgICBhdXRvIGl0ZXJhdG9yID0gbV92aWRlb1NvdXJjZXMuZmlu
ZChpZGVudGlmaWVyKTsKQEAgLTE4NSw3ICsxODQsOSBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZUNWKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVu
dAogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gZmluZCBzb3Vy
Y2UgJWxsdSBmb3IgcmVtb3RlVmlkZW9TYW1wbGVBdmFpbGFibGUiLCBpZGVudGlmaWVyLnRvVUlu
dDY0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGl0ZXJhdG9yLT52YWx1ZS0+dmlk
ZW9TYW1wbGVBdmFpbGFibGUoV1RGTW92ZShzYW1wbGUpLCBtZXRhZGF0YSk7CisKKyAgICBJbnRT
aXplIHZpZGVvRnJhbWVTaXplIHsgc3RhdGljX2Nhc3Q8aW50PihDVlBpeGVsQnVmZmVyR2V0V2lk
dGgocGl4ZWxCdWZmZXIuZ2V0KCkpKSwgc3RhdGljX2Nhc3Q8aW50PihDVlBpeGVsQnVmZmVyR2V0
SGVpZ2h0KHBpeGVsQnVmZmVyLmdldCgpKSkgfTsKKyAgICBpdGVyYXRvci0+dmFsdWUtPnZpZGVv
RnJhbWVBdmFpbGFibGUoVmlkZW9GcmFtZUNWOjpjcmVhdGUocHJlc2VudGF0aW9uVGltZSwgbWly
cm9yZWQsIHJvdGF0aW9uLCBXVEZNb3ZlKHBpeGVsQnVmZmVyKSksIHZpZGVvRnJhbWVTaXplLCBt
ZXRhZGF0YSk7CiB9CiAKIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6
UmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYgc291cmNlKQpAQCAt
MjU4LDIzICsyNTksNiBAQCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86
OlJlbW90ZVZpZGVvKFNvdXJjZSYmIHNvdXJjZSkKIHsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJl
U2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZp
ZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQot
ewotICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSBjcmVhdGVDVlBpeGVsQnVmZmVyKHJlbW90ZVNhbXBs
ZS5zdXJmYWNlKCkpLnZhbHVlX29yKG51bGxwdHIpOwotICAgIGlmICghcGl4ZWxCdWZmZXIpIHsK
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBhdXRvIHZpZGVvRnJhbWUgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUZyb21QaXhl
bEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSwgcmVtb3RlU2FtcGxlLnJvdGF0aW9uKCksIHJl
bW90ZVNhbXBsZS5taXJyb3JlZCgpLCByZW1vdGVTYW1wbGUudGltZSgpKTsKLSAgICBpZiAoIXZp
ZGVvRnJhbWUpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICB2aWRlb0ZyYW1lQXZhaWxhYmxlKHZpZGVvRnJhbWUucmVsZWFzZU5v
bk51bGwoKSwgcmVtb3RlU2FtcGxlLnNpemUoKSwgbWV0YWRhdGEpOwotfQotCiB2b2lkIFJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlkZW9GcmFtZUF2YWlsYWJsZShS
ZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBJbnRTaXplIHNpemUsIFZpZGVvU2FtcGxlTWV0YWRh
dGEgbWV0YWRhdGEpCiB7CiAgICAgc3dpdGNoT24obV9zb3VyY2UsIFsmXShSZWY8UmVtb3RlUmVh
bHRpbWVWaWRlb1NvdXJjZT4mIHNvdXJjZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAppbmRleCBj
ZWI3MTcwOWJmYzU5ZDQ0YjVhOGI0ZjgyYmIwZjc3MjZhN2U1MTgzLi42OTQ1Y2FkOWZmMTFhYjg4
MmNjYzdkNzY0MTBhNzVkZWI3ODJhNDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaApAQCAtNDUs
NyArNDUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbWFnZVRyYW5zZmVyU2Vz
c2lvblZUOwotY2xhc3MgUmVtb3RlVmlkZW9TYW1wbGU7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNzUsOSArNzQsOSBAQCBwcml2YXRlOgogICAgIC8vIE1lc3NhZ2VzCiAgICAgdm9pZCBh
dWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVy
LCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9y
ZSYmLCBjb25zdCBNZWRpYVRpbWUmLCBzaXplX3QgZnJhbWVTYW1wbGVTaXplKTsKICAgICB2b2lk
IGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRp
ZmllciwgTWVkaWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwg
UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxl
TWV0YWRhdGEpOworICAgIHZvaWQgdmlkZW9GcmFtZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVz
JiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgIC8vIEZJWE1FOiBXaWxsIGJl
IHJlbW92ZWQgb25jZSBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFyZSB0aGUgb25s
eSBvbmVzIHNlbmRpbmcgZGF0YS4KLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVv
U2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOworICAgIHZvaWQgdmlkZW9G
cmFtZUF2YWlsYWJsZUNWKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBS
ZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgV2ViQ29yZTo6TWVkaWFTYW1wbGU6OlZpZGVv
Um90YXRpb24sIGJvb2wgbWlycm9yZWQsIE1lZGlhVGltZSwgV2ViQ29yZTo6VmlkZW9TYW1wbGVN
ZXRhZGF0YSk7CiAKICAgICB2b2lkIHNldENvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKik7CiAK
QEAgLTExMiw3ICsxMTEsNiBAQCBwcml2YXRlOgogICAgICAgICB1c2luZyBTb3VyY2UgPSBzdGQ6
OnZhcmlhbnQ8UmVmPFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U+LCBSZWY8UmVtb3RlUmVhbHRp
bWVEaXNwbGF5U291cmNlPj47CiAgICAgICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvKFNvdXJjZSYm
KTsKIAotICAgICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlbW90ZVZp
ZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgICAgICB2b2lk
IHZpZGVvRnJhbWVBdmFpbGFibGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBXZWJDb3Jl
OjpJbnRTaXplLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsKIAogICAgIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggNmVmZjhhOGZj
MTVmNDZlZWQwODY4NmE2ZWZjOTMyN2RjNGJjZGY5MC4uMjk4YmVjNjk4NzUyYjdlZjY4MTM1ZTMz
NjNiNzI0NzY3YmExOGQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdl
cy5pbgpAQCAtMjUsOCArMjUsOCBAQAogCiBtZXNzYWdlcyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBBdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6
OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6
SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlIGNh
cHR1cmVTZW1hcGhvcmUsIE1lZGlhVGltZSBtZWRpYVRpbWUsIHNpemVfdCBmcmFtZUNodW5rU2l6
ZSk7Ci0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVz
IHNhbXBsZSwgc3RydWN0IFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCi0g
ICAgVmlkZW9TYW1wbGVBdmFpbGFibGVDVihXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRl
bnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2FtcGxlLCBzdHJ1Y3QgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKKyAgICBWaWRlb0ZyYW1lQXZhaWxh
YmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlJl
bW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyBzYW1wbGUsIHN0cnVjdCBXZWJDb3JlOjpW
aWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQorICAgIFZpZGVvRnJhbWVBdmFpbGFibGVDVihX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IHBpeGVsQnVmZmVyLCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6VmlkZW9Sb3Rh
dGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCwgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWUs
IHN0cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZp
ZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFs
dGltZVZpZGVvU291cmNlLmNwcAppbmRleCBjNGI3MDUxOWQ1MDE2OGYwZTRjMjcwMzgzMTEwY2Vl
M2Y3MTcxZmJlLi5lZGQ1ZDQxNjEzM2FjNzIyZGEwYjk4ZTM0NjBiOTVlNDFjMWMzYTc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRl
b1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJl
YWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYUNvbnN0cmFpbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291
cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
V2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewo=
</data>
<flag name="commit-queue"
          id="481670"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454100</attachid>
            <date>2022-03-08 04:16:55 -0800</date>
            <delta_ts>2022-03-08 08:40:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237592-20220308131653.patch</filename>
            <type>text/plain</type>
            <size>43013</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDViOTAyZDMxMmVmZTBm
ZDRhY2UwZDI3NTFlMzFjYzVhYTFkZGY1ZS4uNzhmYjgyMzVkYmVkM2VjZjA3MDE1OTNiNmRkYTAx
Yzc1ZGVhZWJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAzLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlk
ZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuaDogUmVtb3ZlZC4KKwogMjAyMi0wMy0w
OCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2NvcGUgY2Fw
dHVyZSBzb3VyY2VzIGJ5IHBhZ2UgaWRlbnRpZmllcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzBmY2I3YjI5Mzhj
MThkZDQzNWFmYjczOGI0ZWY3MmY4NTFkODNlYS4uN2RjNWIyMzk4NDhjNDFhMDA0MjQ3NmRhZDgx
MDgxYjAzMzcyMDcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMi0wMy0wOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFJlbW90ZVZp
ZGVvU2FtcGxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzc1OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZW5kIFJlbW90ZVZpZGVvU2FtcGxlIGRhdGEgZGlyZWN0bHkgYXMgSVBDIG1lc3NhZ2UgcGFy
YW1ldGVycyBpbnN0ZWFkIG9mIGluc2lkZSBSZW1vdGVWaWRlb1NhbXBsZS4KKworICAgICAgICAq
IEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lmg6CisgICAgICAgICogR1BV
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6
OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVEZWNvZGVyQ2FsbGJhY2spOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZ0NWKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvRnJhbWVBdmFpbGFi
bGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9G
cmFtZUF2YWlsYWJsZUNWKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3Rl
VmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorCiAy
MDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBT
Y29wZSBjYXB0dXJlIHNvdXJjZXMgYnkgcGFnZSBpZGVudGlmaWVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCBkMWUxYTAzZDFiM2Y5ZDdjOTE4NWI5YTI3MzMzMGRhM2JlOTcxNTZjLi5mZWI2ZjMzYTdjYTE3
OThmN2JkZjc4ZWNkNWIyZTYwZjM4YThlMDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjA4MSw3ICsy
MDgxLDYgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXJGb3JtYXQuY3BwCiBwbGF0Zm9y
bS9ncmFwaGljcy9QaXhlbEZvcm1hdC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtVGlt
ZVJhbmdlcy5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5jcHAKLXBsYXRmb3JtL2dyYXBo
aWNzL1JlbW90ZVZpZGVvU2FtcGxlLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3Qu
Y3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
U291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxMThkMGUyNjNkZjY2YTVlMDUwM2JjNzViOWZi
YjY3YTY0MWJjMDFiLi41MTQ2MzViMDIyYTc0Y2U4YzVhYWJhMmM4NzQ2YzgyNWRkN2RkOTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xMjAsNyArMTIwLDYgQEAKIAkJMDczNzk0RkUxOUY1ODY0RTAwRTVBMDQ1IC8qIFJUQ05v
dGlmaWVyc01vY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3Mzc5NEY4MTlGNTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmllcnNNb2NrLmggKi87IH07
CiAJCTA3MzhFNUVDMjQ5OTgzOTAwMERBMTAxQyAvKiBBVk91dHB1dERldmljZU1lbnVDb250cm9s
bGVyVGFyZ2V0UGlja2VyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDczOEU1RUEyNDk5NjhBRDAwREExMDFDIC8qIEFWT3V0cHV0RGV2aWNlTWVudUNv
bnRyb2xsZXJUYXJnZXRQaWNrZXIubW0gKi87IH07CiAJCTA3Mzk1NUJCMjdBQjI3N0YwMDlBMDhE
MiAvKiBTY3JlZW5DYXB0dXJlS2l0U2hhcmluZ1Nlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzNUQzMjI3QTlCNjBCMDBGQjAz
RTQgLyogU2NyZWVuQ2FwdHVyZUtpdFNoYXJpbmdTZXNzaW9uTWFuYWdlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA3M0ExNTU0MjE3N0E0MjYw
MEVBMDhGMiAvKiBSZW1vdGVWaWRlb1NhbXBsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDczQTE1NTMyMTc3QTM5QTAwRUEwOEYyIC8qIFJlbW90ZVZp
ZGVvU2FtcGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMDczQjg3NjcxRTQzODVBQzAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczQjg3NjMx
RTQzODU5RDAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3M0I4NzY5MUU0Mzg1QUMwMDcx
QzBFQyAvKiBBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3M0I4NzY1MUU0Mzg1OUQwMDcxQzBFQyAvKiBBdWRpb1Nh
bXBsZURhdGFTb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwNzQwQjE0NDI1REUzMUY4MDBFMzhEQkEgLyogTW9ja01lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3NDBCMTQzMjVERTMxQTkwMEUzOERCQSAvKiBNb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3IuY3BwICovOyB9OwpAQCAtMTI0Myw2ICsxMjQyLDcgQEAKIAkJNDM1OEU4N0QxMzYwQTJFRTAw
RTQ3NDhDIC8qIEpTU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM1OEU4N0IxMzYwQTJFRTAwRTQ3NDhDIC8qIEpT
U1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oICovOyB9OwogCQk0MzU4RTg4MTEzNjBBMzE3MDBFNDc0
OEMgLyogRkVEcm9wU2hhZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MzU4RTg3RjEzNjBBMzE3MDBFNDc0OEMgLyogRkVEcm9wU2hhZG93LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDM1OEU4ODYx
MzYwQTMzQjAwRTQ3NDhDIC8qIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNThFODgzMTM2MEEzM0IwMEU0NzQ4
QyAvKiBTVkdGRURyb3BTaGFkb3dFbGVtZW50LmggKi87IH07CisJCTQzNjcwN0U3MjRDOUNBNEIx
MDA0NDIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MThCQjEyRDlDQTRCMDAwNDIy
MzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhD
MTEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwODgyMTJEOUNBNEEwMDA0NDIzNCAvKiBS
ZW5kZXJTVkdCbG9jay5oICovOyB9OwogCQk0MzY3MDhDMzEyRDlDQTRCMDAwNDQyMzQgLyogTGVn
YWN5UmVuZGVyU1ZHQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MzY3MDg4NDEyRDlDQTRBMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZH
Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEM0MzNGOENBNEMxMDA0NDIzNCAvKiBSZW5kZXJT
VkdDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQzNjcwNzc0MTJEOUJDNEEwMDA0NDIzNCAvKiBSZW5kZXJTVkdDb250YWluZXIuaCAqLzsg
fTsKQEAgLTEyNjQsNyArMTI2NCw2IEBACiAJCTQzNjcwOEUzMTJEOUNBNEIwMDA0NDIzNCAvKiBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEE0MTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3IuaCAqLzsgfTsKIAkJNDM2NzA4RTUxMkQ5Q0E0QjAwMDQ0MjM0IC8q
IExlZ2FjeVJlbmRlclNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQzNjcwOEE2MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdS
b290LmggKi87IH07CiAJCTQzNjcwOEU1MTJEOURCNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdSb290
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhB
NjEyRDlEQjRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUm9vdC5oICovOyB9OwotCQk0MzY3MDdFNzI0
QzlDQTRCMTAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzE4QkIxMkQ5Q0E0
QjAwMDQyMjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLzsgfTsKIAkJ
NDM2NzA4RTkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQzNjcwOEFBMTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxl
Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEVCMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDM2NzA4QUMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEVFMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdNYXJr
ZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MzY3MDhBRjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHTWFya2VyRGF0YS5oICovOyB9OwpAQCAtNjA4
Miw4ICs2MDgxLDYgQEAKIAkJMDczOEU1RTgyNDk5NjhBQzAwREExMDFDIC8qIEFWT3V0cHV0RGV2
aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZPdXRwdXRE
ZXZpY2VNZW51Q29udHJvbGxlclRhcmdldFBpY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwNzM4RTVFQTI0OTk2OEFEMDBEQTEwMUMgLyogQVZPdXRwdXREZXZpY2VNZW51Q29u
dHJvbGxlclRhcmdldFBpY2tlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWT3V0cHV0RGV2
aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3MzhFNUVCMjQ5OTY5MDkwMERBMTAxQyAvKiBBVlBsYXliYWNrVGFyZ2V0UGlja2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFWUGxheWJhY2tUYXJnZXRQaWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMDczQTE1NTEyMTc3QTM5ODAwRUEwOEYyIC8qIFJlbW90ZVZpZGVv
U2FtcGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVZpZGVvU2FtcGxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDczQTE1NTMyMTc3QTM5QTAwRUEwOEYyIC8qIFJl
bW90ZVZpZGVvU2FtcGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVZpZGVvU2FtcGxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3M0I4NzU2MUU0MERDRTUwMDcxQzBFQyAvKiBB
dWRpb1N0cmVhbURlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDczQjg3NTcxRTQwRENGRDAwNzFDMEVDIC8qIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDQUF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzNCODc1ODFFNDBEQ0ZE
MDA3MUMwRUMgLyogQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtOTA5Niw5ICs5MDkzLDcgQEAKIAkJNDM2NzA4QTUxMkQ5Q0E1QzAw
MDQ0MjM0IC8qIFJlbmRlclNWR1Jvb3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyU1ZHUm9vdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQzNjcwOEE2MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdSb290LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVJlbmRlclNWR1Jvb3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QTYxMkQ5REI0QjAwMDQ0MjM0IC8qIFJlbmRl
clNWR1Jvb3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUm9v
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MzY3MDhCODEyQzlDQTRDMDAwMTE0
MzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QTkxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNv
bnRhaW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQzNjcxOEJCMTJEOUNB
NEIwMDA0MjIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QUExMkQ5Q0E0QjAwMDQ0MjM0
IC8qIExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBQjEyRDlDQTRCMDAwNDQy
MzQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBQzEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVy
U1ZHVmlld3BvcnRDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTkxMDksMTEgKzkxMDQsMTMgQEAKIAkJNDM2NzA4QjUxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNW
R1JlbmRlclRyZWVBc1RleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZH
UmVuZGVyVHJlZUFzVGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhC
NjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291cmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQzNjcwOEI3MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUmVzb3VyY2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQzNjcwOEI4MTJDOUNBNEMwMDAxMTQzNCAvKiBSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MzY3MDhCODEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2Vz
Q2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3Vy
Y2VzQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhCOTEyRDlD
QTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU1ZHUmVzb3VyY2VzQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDM2NzA4QkExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QkIxMkQ5
Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEZEMTJEOUNBNEEwMDAzMjExNCAvKiBSZW5kZXJTVkdN
b2RlbE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdN
b2RlbE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3MThCQjEyRDlD
QTRCMDAwNDIyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkMzMTJEQTI1RTgwMEFGODBB
MiAvKiBSZW5kZXJNYXRoTUxCbG9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJNYXRoTUxCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQzOTA0NkM0MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxCbG9jay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNYXRoTUxCbG9jay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZDNTEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVy
TWF0aE1MRmVuY2VkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
bmRlck1hdGhNTEZlbmNlZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTE1
Myw4ICsyOTE1MCw2IEBACiAJCQkJQ0QxRjlBRkMyNkZEMzhDQTAwNjE3RUI2IC8qIFBsYXRmb3Jt
VmlkZW9UcmFuc2ZlckNoYXJhY3RlcmlzdGljcy5oICovLAogCQkJCUJDQUI0MTdGMTNFMzU2RTgw
MEQ4QUFGMyAvKiBSZWdpb24uY3BwICovLAogCQkJCUJDQUI0MTgwMTNFMzU2RTgwMEQ4QUFGMyAv
KiBSZWdpb24uaCAqLywKLQkJCQkwNzNBMTU1MTIxNzdBMzk4MDBFQTA4RjIgLyogUmVtb3RlVmlk
ZW9TYW1wbGUuY3BwICovLAotCQkJCTA3M0ExNTUzMjE3N0EzOUEwMEVBMDhGMiAvKiBSZW1vdGVW
aWRlb1NhbXBsZS5oICovLAogCQkJCTcyOTlCQzY2MjNENjg2QzYwMENDNjg4MyAvKiBSZW5kZXJp
bmdNb2RlLmggKi8sCiAJCQkJNzI5RDA1MkUyNTMxM0UyNjAwNDIyMDk4IC8qIFJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllci5oICovLAogCQkJCUE3M0Y5NUZDMTJDOTdCRkUwMDMxQUFGOSAvKiBS
b3VuZGVkUmVjdC5jcHAgKi8sCkBAIC0zNjg3NCw3ICszNjg2OSw2IEBACiAJCQkJNDZCOTUxOUEy
MDdENjM1NDAwQTdEMkREIC8qIFJlbW90ZUZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREMz
MTJFOTIyRkNEN0MwMDAxMjA0RUMgLyogUmVtb3RlUGxheWJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEQzMxMkVCMjJGQ0Q3QzkwMDEyMDRFQyAvKiBSZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0
eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQkwNzNBMTU1NDIxNzdBNDI2MDBFQTA4RjIg
LyogUmVtb3RlVmlkZW9TYW1wbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQwNkMwRDhGMENGRDEx
NDYwMDY1RjQzRiAvKiBSZW1vdmVGb3JtYXRDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
MzMwOUUwNTA5OUU2NDkyMDA1NkU1ODEgLyogUmVtb3ZlTm9kZUNvbW1hbmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzMzA5RTA3MDk5RTY0OTIwMDU2RTU4MSAvKiBSZW1vdmVOb2RlUHJlc2Vydmlu
Z0NoaWxkcmVuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGRhYjZmMmE0MTc3M2E1YjI3ODE1YWIyMGQ0YmQ0NDY5ZDYyYjky
ZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsMTU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUmVtb3RlVmlkZW9T
YW1wbGUuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKQot
Ci0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Q0cuaCIKLSNpbmNsdWRlICJJT1N1cmZhY2UuaCIK
LSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCi0j
aW5jbHVkZSAiVmlkZW9GcmFtZUNWLmgiCi0KLSNpZiBVU0UoQUNDRUxFUkFURSkKLSNpbmNsdWRl
IDxBY2NlbGVyYXRlL0FjY2VsZXJhdGUuaD4KLSNlbmRpZgotCi0jaW5jbHVkZSA8cGFsL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmg+Ci0jaW5jbHVkZSAiQ29yZVZpZGVvU29mdExpbmsuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZh
Y2U+IHRyYW5zZmVyQkdSQVBpeGVsQnVmZmVyVG9JT1N1cmZhY2UoQ1ZQaXhlbEJ1ZmZlclJlZiBw
aXhlbEJ1ZmZlcikKLXsKLSNpZiBVU0UoQUNDRUxFUkFURSkKLSAgICBBU1NFUlQoQ1ZQaXhlbEJ1
ZmZlckdldFBpeGVsRm9ybWF0VHlwZShwaXhlbEJ1ZmZlcikgPT0ga0NWUGl4ZWxGb3JtYXRUeXBl
XzMyQkdSQSk7Ci0KLSAgICBhdXRvIHJlc3VsdCA9IENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJl
c3MocGl4ZWxCdWZmZXIsIGtDVlBpeGVsQnVmZmVyTG9ja19SZWFkT25seSk7Ci0gICAgQVNTRVJU
KHJlc3VsdCA9PSBrQ1ZSZXR1cm5TdWNjZXNzKTsKLSAgICBpZiAocmVzdWx0ICE9IGtDVlJldHVy
blN1Y2Nlc3MpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJ0cmFuc2ZlckJH
UkFQaXhlbEJ1ZmZlclRvSU9TdXJmYWNlIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MoKSBy
ZXR1cm5lZCBlcnJvciBjb2RlICVkIiwgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgfQotCi0gICAgSW50U2l6ZSBzaXplIHsgc3RhdGljX2Nhc3Q8aW50PihDVlBpeGVsQnVm
ZmVyR2V0V2lkdGgocGl4ZWxCdWZmZXIpKSwgc3RhdGljX2Nhc3Q8aW50PihDVlBpeGVsQnVmZmVy
R2V0SGVpZ2h0KHBpeGVsQnVmZmVyKSkgfTsKLSAgICBhdXRvIGlvU3VyZmFjZSA9IElPU3VyZmFj
ZTo6Y3JlYXRlKHNpemUsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBJT1N1cmZhY2U6
OkZvcm1hdDo6QkdSQSk7Ci0KLSAgICBJT1N1cmZhY2U6OkxvY2tlciBsb2NrKCppb1N1cmZhY2Up
OwotICAgIHZJbWFnZV9CdWZmZXIgc3JjOwotICAgIHNyYy53aWR0aCA9IHNpemUud2lkdGgoKTsK
LSAgICBzcmMuaGVpZ2h0ID0gc2l6ZS5oZWlnaHQoKTsKLSAgICBzcmMucm93Qnl0ZXMgPSBDVlBp
eGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3cocGl4ZWxCdWZmZXIpOwotICAgIHNyYy5kYXRhID0gQ1ZQ
aXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzKHBpeGVsQnVmZmVyKTsKLQotICAgIHZJbWFnZV9CdWZm
ZXIgZGVzdDsKLSAgICBkZXN0LndpZHRoID0gc2l6ZS53aWR0aCgpOwotICAgIGRlc3QuaGVpZ2h0
ID0gc2l6ZS5oZWlnaHQoKTsKLSAgICBkZXN0LnJvd0J5dGVzID0gaW9TdXJmYWNlLT5ieXRlc1Bl
clJvdygpOwotICAgIGRlc3QuZGF0YSA9IGxvY2suc3VyZmFjZUJhc2VBZGRyZXNzKCk7Ci0KLSAg
ICB2SW1hZ2VVbnByZW11bHRpcGx5RGF0YV9CR1JBODg4OCgmc3JjLCAmZGVzdCwga3ZJbWFnZU5v
RmxhZ3MpOwotCi0gICAgcmVzdWx0ID0gQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKHBp
eGVsQnVmZmVyLCBrQ1ZQaXhlbEJ1ZmZlckxvY2tfUmVhZE9ubHkpOwotICAgIEFTU0VSVChyZXN1
bHQgPT0ga0NWUmV0dXJuU3VjY2Vzcyk7Ci0gICAgaWYgKHJlc3VsdCAhPSBrQ1ZSZXR1cm5TdWNj
ZXNzKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAidHJhbnNmZXJCR1JBUGl4
ZWxCdWZmZXJUb0lPU3VyZmFjZSBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MoKSByZXR1
cm5lZCBlcnJvciBjb2RlICVkIiwgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgfQotICAgIHJldHVybiBpb1N1cmZhY2U7Ci0jZWxzZQotICAgIFJFTEVBU0VfTE9HX0VSUk9S
KE1lZGlhLCAidHJhbnNmZXJCR1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFjZSBjYW5ub3QgY29udmVy
dCB0byBJT1N1cmZhY2UiKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLSNlbmRpZgotfQotCi1zdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+IFJlbW90ZVZpZGVvU2FtcGxlOjpjcmVhdGUo
TWVkaWFTYW1wbGUmIHNhbXBsZSwgU2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2Ugc2hvdWxkQ2hlY2tG
b3JJT1N1cmZhY2UpCi17Ci0gICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGltYWdlQnVm
ZmVyOwotICAgIGlmIChpczxNZWRpYVNhbXBsZUFWRk9iakM+KHNhbXBsZSkpCi0gICAgICAgIGlt
YWdlQnVmZmVyID0gZG93bmNhc3Q8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUpLnBpeGVsQnVm
ZmVyKCk7Ci0gICAgZWxzZSBpZiAoaXM8VmlkZW9GcmFtZUNWPihzYW1wbGUpKQotICAgICAgICBp
bWFnZUJ1ZmZlciA9IGRvd25jYXN0PFZpZGVvRnJhbWVDVj4oc2FtcGxlKS5waXhlbEJ1ZmZlcigp
OwotICAgIGVsc2UgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgIlJlbW90ZVZp
ZGVvU2FtcGxlOjpjcmVhdGU6IGNhbm5vdCBvYnRhaW4gQ1ZQaXhlbEJ1ZmZlciBmcm9tIHNhbXBs
ZS4gVW5rbm93biBzYW1wbGUgdHlwZS4iKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
fQotICAgIGlmICghaW1hZ2VCdWZmZXIpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVk
aWEsICJSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlOiBjYW5ub3Qgb2J0YWluIENWUGl4ZWxCdWZm
ZXIgZnJvbSBzYW1wbGUuIE5vIGJ1ZmZlci4iKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgfQotICAgIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IGlvU3VyZmFjZTsKLSAgICBhdXRv
IHN1cmZhY2UgPSBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlKGltYWdlQnVmZmVyLmdldCgpKTsK
LSAgICBpZiAoIXN1cmZhY2UgJiYgc2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2UgPT0gU2hvdWxkQ2hl
Y2tGb3JJT1N1cmZhY2U6OlllcykgewotICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIGNhbnZh
cyBkYXRhIHRoYXQgaXMgUkdCQSwgbm90IElPU3VyZmFjZSBiYWNrZWQuCi0gICAgICAgIGF1dG8g
cGl4ZWxGb3JtYXRUeXBlID0gQ1ZQaXhlbEJ1ZmZlckdldFBpeGVsRm9ybWF0VHlwZShpbWFnZUJ1
ZmZlci5nZXQoKSk7Ci0gICAgICAgIGlmIChwaXhlbEZvcm1hdFR5cGUgIT0ga0NWUGl4ZWxGb3Jt
YXRUeXBlXzMyQkdSQSkgewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJS
ZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlIGRvZXMgbm90IHN1cHBvcnQgbm9uIElPU3VyZmFjZSBi
YWNrZWQgc2FtcGxlcyB0aGF0IGFyZSBub3QgQkdSQSIpOwotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgICAgIH0KLQotICAgICAgICBpb1N1cmZhY2UgPSB0cmFuc2ZlckJHUkFQaXhl
bEJ1ZmZlclRvSU9TdXJmYWNlKGltYWdlQnVmZmVyLmdldCgpKTsKLSAgICAgICAgaWYgKCFpb1N1
cmZhY2UpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgICAgICBzdXJmYWNlID0g
aW9TdXJmYWNlLT5zdXJmYWNlKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0
cjxSZW1vdGVWaWRlb1NhbXBsZT4obmV3IFJlbW90ZVZpZGVvU2FtcGxlKHN1cmZhY2UsIFdURk1v
dmUoaW1hZ2VCdWZmZXIpLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgc2FtcGxlLnBy
ZXNlbnRhdGlvblRpbWUoKSwgc2FtcGxlLnZpZGVvUm90YXRpb24oKSwgc2FtcGxlLnZpZGVvTWly
cm9yZWQoKSkpOwotfQotCi1zdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+IFJlbW90
ZVZpZGVvU2FtcGxlOjpjcmVhdGUoUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgaW1hZ2VC
dWZmZXIsIE1lZGlhVGltZSYmIHByZXNlbnRhdGlvblRpbWUsIE1lZGlhU2FtcGxlOjpWaWRlb1Jv
dGF0aW9uIHJvdGF0aW9uLCBTaG91bGRDaGVja0ZvcklPU3VyZmFjZSBzaG91bGRDaGVja0ZvcklP
U3VyZmFjZSkKLXsKLSAgICBhdXRvIHN1cmZhY2UgPSBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNl
KGltYWdlQnVmZmVyLmdldCgpKTsKLSAgICBpZiAoIXN1cmZhY2UgJiYgc2hvdWxkQ2hlY2tGb3JJ
T1N1cmZhY2UgPT0gU2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2U6OlllcykgewotICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihNZWRpYSwgIlJlbW90ZVZpZGVvU2FtcGxlOjpjcmVhdGU6IENWUGl4ZWxC
dWZmZXJHZXRJT1N1cmZhY2UgcmV0dXJuZWQgbnVsbHB0ciIpOwotICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICB9Ci0KLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2Ft
cGxlPihuZXcgUmVtb3RlVmlkZW9TYW1wbGUoc3VyZmFjZSwgV1RGTW92ZShpbWFnZUJ1ZmZlciks
IERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBXVEZNb3ZlKHByZXNlbnRhdGlvblRpbWUp
LCByb3RhdGlvbiwgZmFsc2UpKTsKLX0KLQotUmVtb3RlVmlkZW9TYW1wbGU6OlJlbW90ZVZpZGVv
U2FtcGxlKElPU3VyZmFjZVJlZiBzdXJmYWNlLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
JiBpbWFnZUJ1ZmZlciwgY29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiBjb2xvclNwYWNlLCBN
ZWRpYVRpbWUmJiB0aW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9v
bCBtaXJyb3JlZCkKLSAgICA6IG1faW9TdXJmYWNlKFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRl
RnJvbVN1cmZhY2Uoc3VyZmFjZSwgY29sb3JTcGFjZSkpCi0gICAgLCBtX2ltYWdlQnVmZmVyKFdU
Rk1vdmUoaW1hZ2VCdWZmZXIpKQotICAgICwgbV9yb3RhdGlvbihyb3RhdGlvbikKLSAgICAsIG1f
dGltZShXVEZNb3ZlKHRpbWUpKQotICAgICwgbV92aWRlb0Zvcm1hdChJT1N1cmZhY2VHZXRQaXhl
bEZvcm1hdChzdXJmYWNlKSkKLSAgICAsIG1fc2l6ZShJbnRTaXplKElPU3VyZmFjZUdldFdpZHRo
KHN1cmZhY2UpLCBJT1N1cmZhY2VHZXRIZWlnaHQoc3VyZmFjZSkpKQotICAgICwgbV9taXJyb3Jl
ZChtaXJyb3JlZCkKLXsKLX0KLQotSU9TdXJmYWNlUmVmIFJlbW90ZVZpZGVvU2FtcGxlOjpzdXJm
YWNlKCkgY29uc3QKLXsKLSAgICBpZiAoIW1faW9TdXJmYWNlICYmIG1fc2VuZFJpZ2h0KQotICAg
ICAgICBjb25zdF9jYXN0PFJlbW90ZVZpZGVvU2FtcGxlKj4odGhpcyktPm1faW9TdXJmYWNlID0g
V2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGVGcm9tU2VuZFJpZ2h0KFdURk1vdmUoY29uc3RfY2Fz
dDxSZW1vdGVWaWRlb1NhbXBsZSo+KHRoaXMpLT5tX3NlbmRSaWdodCksIERlc3RpbmF0aW9uQ29s
b3JTcGFjZTo6U1JHQigpKTsKLQotICAgIHJldHVybiBtX2lvU3VyZmFjZSA/IG1faW9TdXJmYWNl
LT5zdXJmYWNlKCkgOiBudWxscHRyOwotfQotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmMWRkOTE5MDFmODQ5ZTA5YTI0NjY0OWZjZGRhNzhkMGRkYzlhY2U0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwx
MzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09D
T0EpCi0KLSNpbmNsdWRlICJJT1N1cmZhY2UuaCIKLSNpbmNsdWRlICJNZWRpYVNhbXBsZS5oIgot
I2luY2x1ZGUgIlJlbW90ZVZpZGVvU2FtcGxlLmgiCi0jaW5jbHVkZSA8d3RmL01hY2hTZW5kUmln
aHQuaD4KLSNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Ci0KLXR5cGVkZWYgc3RydWN0IF9fQ1ZC
dWZmZXIqIENWUGl4ZWxCdWZmZXJSZWY7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3Mg
UHJvY2Vzc0lkZW50aXR5OwotCi1jbGFzcyBSZW1vdGVWaWRlb1NhbXBsZSB7Ci1wdWJsaWM6Ci0g
ICAgUmVtb3RlVmlkZW9TYW1wbGUoKSA9IGRlZmF1bHQ7Ci0gICAgUmVtb3RlVmlkZW9TYW1wbGUo
UmVtb3RlVmlkZW9TYW1wbGUmJikgPSBkZWZhdWx0OwotICAgIFJlbW90ZVZpZGVvU2FtcGxlJiBv
cGVyYXRvcj0oUmVtb3RlVmlkZW9TYW1wbGUmJikgPSBkZWZhdWx0OwotICAgIH5SZW1vdGVWaWRl
b1NhbXBsZSgpID0gZGVmYXVsdDsKLQotICAgIGVudW0gY2xhc3MgU2hvdWxkQ2hlY2tGb3JJT1N1
cmZhY2UgeyBObywgWWVzIH07Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4gY3JlYXRlKE1lZGlhU2FtcGxlJiwgU2hvdWxkQ2hlY2tG
b3JJT1N1cmZhY2UgPSBTaG91bGRDaGVja0ZvcklPU3VyZmFjZTo6WWVzKTsKLSAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxlPiBjcmVhdGUo
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYsIE1lZGlhVGltZSYmIHByZXNlbnRhdGlvblRp
bWUsIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uID0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRp
b246Ok5vbmUsIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlID0gU2hvdWxkQ2hlY2tGb3JJT1N1cmZh
Y2U6Olllcyk7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCBJT1N1cmZhY2VSZWYgc3VyZmFjZSgpIGNv
bnN0OwotICAgIENWUGl4ZWxCdWZmZXJSZWYgaW1hZ2VCdWZmZXIoKSBjb25zdCB7IHJldHVybiBt
X2ltYWdlQnVmZmVyLmdldCgpOyB9Ci0KLSAgICB2b2lkIHNldE93bmVyc2hpcElkZW50aXR5KGNv
bnN0IFByb2Nlc3NJZGVudGl0eSYpOwotICAgIHZvaWQgY2xlYXJJT1N1cmZhY2UoKSB7IG1faW9T
dXJmYWNlID0gbnVsbHB0cjsgfQotCi0gICAgY29uc3QgTWVkaWFUaW1lJiB0aW1lKCkgY29uc3Qg
eyByZXR1cm4gbV90aW1lOyB9Ci0gICAgdWludDMyX3QgdmlkZW9Gb3JtYXQoKSBjb25zdCB7IHJl
dHVybiBtX3ZpZGVvRm9ybWF0OyB9Ci0gICAgSW50U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4g
bV9zaXplOyB9Ci0gICAgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24oKSBjb25z
dCB7IHJldHVybiBtX3JvdGF0aW9uOyB9Ci0gICAgYm9vbCBtaXJyb3JlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWlycm9yZWQ7IH0KLQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobV9pb1N1cmZh
Y2UpCi0gICAgICAgICAgICBlbmNvZGVyIDw8IG1faW9TdXJmYWNlLT5jcmVhdGVTZW5kUmlnaHQo
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZW5jb2RlciA8PCBNYWNoU2VuZFJpZ2h0KCk7
Ci0gICAgICAgIGVuY29kZXIgPDwgbV9yb3RhdGlvbjsKLSAgICAgICAgZW5jb2RlciA8PCBtX3Rp
bWU7Ci0gICAgICAgIGVuY29kZXIgPDwgbV92aWRlb0Zvcm1hdDsKLSAgICAgICAgZW5jb2RlciA8
PCBtX3NpemU7Ci0gICAgICAgIGVuY29kZXIgPDwgbV9taXJyb3JlZDsKLSAgICB9Ci0KLSAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVj
b2RlKERlY29kZXImIGRlY29kZXIsIFJlbW90ZVZpZGVvU2FtcGxlJiBzYW1wbGUpCi0gICAgewot
ICAgICAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdodDsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShzZW5kUmlnaHQpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBzYW1w
bGUubV9zZW5kUmlnaHQgPSBXVEZNb3ZlKHNlbmRSaWdodCk7Ci0KLSAgICAgICAgTWVkaWFTYW1w
bGU6OlZpZGVvUm90YXRpb24gcm90YXRpb247Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cm90YXRpb24pKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBzYW1wbGUubV9y
b3RhdGlvbiA9IHJvdGF0aW9uOwotCi0gICAgICAgIE1lZGlhVGltZSB0aW1lOwotICAgICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHRpbWUpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICBzYW1wbGUubV90aW1lID0gV1RGTW92ZSh0aW1lKTsKLQotICAgICAgICB1aW50MzJfdCBm
b3JtYXQ7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZm9ybWF0KSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fdmlkZW9Gb3JtYXQgPSBmb3JtYXQ7Ci0K
LSAgICAgICAgSW50U2l6ZSBzaXplOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBzYW1wbGUubV9zaXplID0gV1RG
TW92ZShzaXplKTsKLQotICAgICAgICBib29sIG1pcnJvcmVkOwotICAgICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKG1pcnJvcmVkKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
c2FtcGxlLm1fbWlycm9yZWQgPSBtaXJyb3JlZDsKLQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVtb3RlVmlkZW9TYW1wbGUoSU9TdXJmYWNlUmVmLCBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgY29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiwg
TWVkaWFUaW1lJiYsIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uLCBib29sKTsKLQotICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IG1faW9TdXJmYWNlOwotICAgIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX2ltYWdlQnVmZmVyOwotICAgIE1hY2hTZW5kUmlnaHQg
bV9zZW5kUmlnaHQ7Ci0gICAgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gbV9yb3RhdGlvbiB7
IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lIH07Ci0gICAgTWVkaWFUaW1lIG1fdGlt
ZTsKLSAgICB1aW50MzJfdCBtX3ZpZGVvRm9ybWF0IHsgMCB9OwotICAgIEludFNpemUgbV9zaXpl
OwotICAgIGJvb2wgbV9taXJyb3JlZCB7IGZhbHNlIH07Ci19OwotCi1pbmxpbmUgdm9pZCBSZW1v
dGVWaWRlb1NhbXBsZTo6c2V0T3duZXJzaGlwSWRlbnRpdHkoY29uc3QgUHJvY2Vzc0lkZW50aXR5
JiByZXNvdXJjZU93bmVyKQotewotICAgIGlmIChtX2lvU3VyZmFjZSkKLSAgICAgICAgbV9pb1N1
cmZhY2UtPnNldE93bmVyc2hpcElkZW50aXR5KHJlc291cmNlT3duZXIpOwotfQotCi19Ci0KLSNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCmluZGV4IDE5MjY3MzhmOWUw
MjgxOWM3ZjRmYjlkYzhhZTUzNTk5M2MwNGU5MDkuLjJkZTM2NWE0ZmQzYjY5NTcyMzQ1YjE4MWE1
MjQ0MTA1ZDhkMmU1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKQEAgLTQ0LDEwICs0NCw2IEBAIGNsYXNzIERl
Y29kZXI7CiBjbGFzcyBTZW1hcGhvcmU7CiB9CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNz
IFJlbW90ZVZpZGVvU2FtcGxlOwotfQotCiBuYW1lc3BhY2Ugd2VicnRjIHsKIHVzaW5nIExvY2Fs
RGVjb2RlciA9IHZvaWQqOwogdXNpbmcgTG9jYWxFbmNvZGVyID0gdm9pZCo7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1t
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5t
bQppbmRleCA3YWQ2ZDZhMWRiNGE3M2ZmYzc3YWVhNDcwZWY0MjRkOGY3MWZlZjRjLi4xOWI2ZDVi
M2NjMDkyMjEzOTdkYWFmMWE3YjczYTY3ZTgwZDI2ZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KQEAgLTQw
LDcgKzQwLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVkaWFTYW1wbGVB
VkZPYmpDLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1JlbW90ZVZpZGVvU2FtcGxlLmg+CiAjaW1wb3J0
IDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg+CiAjaW1wb3J0IDx3ZWJydGMvc2Rr
L1dlYktpdC9XZWJLaXRFbmNvZGVyLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KQEAgLTEw
OCwxMCArMTA3LDcgQEAgYXV0byBMaWJXZWJSVENDb2RlY3NQcm94eTo6Y3JlYXRlRGVjb2RlckNh
bGxiYWNrKFJUQ0RlY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIKICAgICAgICAgICAgIGNvbm5l
Y3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVkRGVjb2Rpbmcg
eyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsIFdURk1vdmUocHJvcGVydGllcykgfSwgMCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgYXV0byByZW1vdGVTYW1wbGUgPSBX
ZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKCpzYW1wbGUpOwotICAgICAgICBpZiAo
IXJlbW90ZVNhbXBsZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzOjpDb21wbGV0ZWREZWNvZGluZ0NWIHsgaWRl
bnRpZmllciwgdGltZVN0YW1wLCAqcmVtb3RlU2FtcGxlIH0sIDApOworICAgICAgICBjb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZERlY29kaW5nQ1Yg
eyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsIHBpeGVsQnVmZmVyLCBNZWRpYVRpbWUodGltZVN0YW1w
TnMsIDEpIH0sIDApOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggYmY4MGU1NGI4YmRkZmM2NTc3MTMyOWY1YzA5ZmJiYjUxOGUwMzAzNS4uYWUwNjVmOWY4MmY0
MTRkNTUzM2FkNmZlNWE2YmM3NDI1ZWFhODliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAKQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2Jq
Qy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVWaWRlb1NvdXJjZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUv
UmVtb3RlVmlkZW9TYW1wbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlz
dC5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtMTkxLDIyICsxOTAsMTkgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuICZzYW1wbGU7CiAgICAgfQogCi0gICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRh
IG1ldGFkYXRhKSBmaW5hbAorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1w
bGUmIGZyYW1lLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKSBmaW5hbAogICAgIHsKLSAg
ICAgICAgYXV0byB2aWRlb1NhbXBsZSA9IHJvdGF0ZVZpZGVvRnJhbWVJZk5lZWRlZChzYW1wbGUp
OwotICAgICAgICBpZiAoIXZpZGVvU2FtcGxlKQorICAgICAgICBhdXRvIHZpZGVvRnJhbWUgPSBy
b3RhdGVWaWRlb0ZyYW1lSWZOZWVkZWQoZnJhbWUpOworICAgICAgICBpZiAoIXZpZGVvRnJhbWUp
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmIChtX3Jlc291cmNlT3duZXIpCi0gICAg
ICAgICAgICB2aWRlb1NhbXBsZS0+c2V0T3duZXJzaGlwSWRlbnRpdHkobV9yZXNvdXJjZU93bmVy
KTsKLSAgICAgICAgaWYgKG1fdmlkZW9GcmFtZU9iamVjdEhlYXApIHsKLSAgICAgICAgICAgIGF1
dG8gcHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZChzYW1wbGUpOwotICAg
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEp
LCAwKTsKKyAgICAgICAgICAgIHZpZGVvRnJhbWUtPnNldE93bmVyc2hpcElkZW50aXR5KG1fcmVz
b3VyY2VPd25lcik7CisgICAgICAgIGlmICghbV92aWRlb0ZyYW1lT2JqZWN0SGVhcCkgeworICAg
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6VmlkZW9GcmFtZUF2YWlsYWJsZUNWKG1faWQsIHZpZGVvRnJhbWUtPnBpeGVsQnVm
ZmVyKCksIHZpZGVvRnJhbWUtPnZpZGVvUm90YXRpb24oKSwgdmlkZW9GcmFtZS0+dmlkZW9NaXJy
b3JlZCgpLCB2aWRlb0ZyYW1lLT5wcmVzZW50YXRpb25UaW1lKCksIG1ldGFkYXRhKSwgMCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgYXV0byByZW1vdGVTYW1wbGUg
PSBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKCp2aWRlb1NhbXBsZSk7Ci0gICAgICAgIGlmICgh
cmVtb3RlU2FtcGxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpWaWRlb1NhbXBsZUF2
YWlsYWJsZUNWKG1faWQsICpyZW1vdGVTYW1wbGUsIG1ldGFkYXRhKSwgMCk7CisgICAgICAgIGF1
dG8gcHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZCgqdmlkZW9GcmFtZSk7
CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OlZpZGVvRnJhbWVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEp
LCAwKTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlUGl4
ZWxCdWZmZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCmluZGV4IDNkODFlMjYx
N2ZmZTkyMzc3ZGVmODA5YTAxOGNkNDJkZjJkYzM3ZTAuLmI0YmNiYmE5ZTk1OGEzNmY1MWNmNmNh
ZDExNzYzNzQ4ZGVkOGY5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApAQCAtMzksNyArMzksNiBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q01hY3Jvcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVlA5VXRp
bGl0aWVzQ29jb2EuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVy
Lmg+CkBAIC0zNjAsNyArMzU5LDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERl
Y29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyLAogICAgICAgICBm
cmFtZS5zaXplKCkud2lkdGgoKSwgZnJhbWUuc2l6ZSgpLmhlaWdodCgpKTsKIH0KIAotdm9pZCBM
aWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIg
ZGVjb2RlcklkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3RlVmlk
ZW9TYW1wbGUmJiByZW1vdGVTYW1wbGUpCit2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVk
RGVjb2RpbmdDVihSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwgdWludDMy
X3QgdGltZVN0YW1wLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBwaXhlbEJ1ZmZlciwg
TWVkaWFUaW1lIHRpbWUpCiB7CiAgICAgYXNzZXJ0SXNDdXJyZW50KHdvcmtRdWV1ZSgpKTsKIApA
QCAtMzczLDE0ICszNzIsMTIgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29k
aW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIKICAgICBMb2NrZXIg
bG9ja2VyIHsgQWRvcHRMb2NrLCBkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFja0xvY2sgfTsK
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47
Ci0gICAgaWYgKCFyZW1vdGVTYW1wbGUuc3VyZmFjZSgpKQotICAgICAgICByZXR1cm47Ci0gICAg
YXV0byBwaXhlbEJ1ZmZlciA9IGNyZWF0ZUNWUGl4ZWxCdWZmZXIocmVtb3RlU2FtcGxlLnN1cmZh
Y2UoKSkudmFsdWVfb3IobnVsbHB0cik7CisKICAgICBpZiAoIXBpeGVsQnVmZmVyKSB7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHdl
YnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxi
YWNrLCB0aW1lU3RhbXAsIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSwgcGl4ZWxCdWZm
ZXIuZ2V0KCkpOworICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXIt
PmRlY29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIHRpbWUudG9Eb3VibGUoKSwgcGl4ZWxC
dWZmZXIuZ2V0KCkpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBmb3JtYXROYW1lRnJvbUNv
ZGVjVHlwZShMaWJXZWJSVENDb2RlY3M6OlR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXggZjU4MjI2
Y2RjMmZhYWE1YTQzM2ZkODk4NGJkNGE1OGJhMTAzNDA5Mi4uN2M5ZjJlNzM0YTk0YTVlYjU5ZDJj
MDhkMTVmMjZkOTNiYWIyODllYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTUxLDEwICs1MSw2IEBAIGNsYXNz
IENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1j
bGFzcyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0KLQogbmFtZXNwYWNlIHdlYnJ0YyB7CiBjbGFzcyBW
aWRlb0ZyYW1lOwogc3RydWN0IFdlYktpdEVuY29kZWRGcmFtZUluZm87CkBAIC0xMzUsNyArMTMx
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZhaWxlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlm
aWVyKTsKICAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1
aW50MzJfdCB0aW1lU3RhbXAsIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmKTsK
ICAgICAvLyBGSVhNRTogV2lsbCBiZSByZW1vdmVkIG9uY2UgUmVtb3RlVmlkZW9GcmFtZVByb3h5
IHByb3ZpZGVycyBhcmUgdGhlIG9ubHkgb25lcyBzZW5kaW5nIGRhdGEuCi0gICAgdm9pZCBjb21w
bGV0ZWREZWNvZGluZ0NWKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAs
IFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOworICAgIHZvaWQgY29tcGxldGVkRGVjb2Rp
bmdDVihSVENEZWNvZGVySWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgTWVkaWFUaW1lKTsKICAgICB2b2lkIGNvbXBsZXRlZEVuY29k
aW5nKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UmJiwgY29uc3Qgd2Vi
cnRjOjpXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJik7CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IGNvbnZlcnRUb0JHUkEoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5tZXNzYWdlcy5pbgppbmRleCA2ZmMzZGI3MmQ2N2ExZDcyNjhhZmMwMTJkMmJmZGZjMjRlZDUz
MzgzLi4xNjdhMzk2MzU0ZGQ2ZjNjMjQ2MmIxYWEyNzUwZmVjMjllNmUxYWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBACiBtZXNzYWdlcyAtPiBMaWJX
ZWJSVENDb2RlY3MgTm90UmVmQ291bnRlZCB7CiAgICAgRmFpbGVkRGVjb2RpbmcoV2ViS2l0OjpS
VENEZWNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIENvbXBsZXRlZERlY29kaW5nKFdl
YktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1w
LCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyBmcmFtZSkKLSAgICBD
b21wbGV0ZWREZWNvZGluZ0NWKFdlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmll
ciwgdWludDMyX3QgdGltZVN0YW1wLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUp
CisgICAgQ29tcGxldGVkRGVjb2RpbmdDVihXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IHBpeGVsQnVmZmVyLCBNZWRpYVRpbWUgbWVkaWFUaW1lKQogICAgIENvbXBsZXRlZEVuY29kaW5n
KFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJl
bmNlIGRhdGEsIHN0cnVjdCB3ZWJydGM6OldlYktpdEVuY29kZWRGcmFtZUluZm8gaW5mbyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCmluZGV4IDBkN2JkYWMxMGM4Mjc3OGMxMDM2YzMy
MTU1ZGYxOTY0MzM1OTFlNTIuLmIwOThlZmJlN2MzM2MzZGI5ZWYwNzZlMTk2ZWQ0YThmOTdkZmYy
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcApAQCAtMzMsOCArMzMsNyBAQAogI2luY2x1
ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
U2FtcGxlQVZGT2JqQy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2Vi
QXVkaW9CdWZmZXJMaXN0Lmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5h
Z2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyYwogICAg
IGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3RvcmFnZShpcGNIYW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlv
biwgbnVtYmVyT2ZGcmFtZXMsIFdURk1vdmUoc2VtYXBob3JlKSwgbWVkaWFUaW1lLCBmcmFtZUNo
dW5rU2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2Ft
cGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJl
bW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmIHByb3BlcnRpZXMsIFZpZGVvU2FtcGxl
TWV0YWRhdGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRl
b0ZyYW1lQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIs
IFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmIHByb3BlcnRpZXMsIFZpZGVvU2Ft
cGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3Ao
KSk7CiAgICAgLy8gQ3JlYXRlIHZpZGVvRnJhbWUgYmVmb3JlIGVhcmx5IG91dHMgc28gdGhhdCB0
aGUgcmVmZXJlbmNlIGluIGBwcm9wZXJ0aWVzYCBpcyBhZG9wdGVkLgpAQCAtMTc3LDcgKzE3Niw3
IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmCiAgICAgaXRlcmF0b3ItPnZhbHVlLT52aWRlb0Zy
YW1lQXZhaWxhYmxlKFdURk1vdmUodmlkZW9GcmFtZSksIHZpZGVvRnJhbWVTaXplLCBtZXRhZGF0
YSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3Rl
VmlkZW9TYW1wbGUmJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCit2b2lk
IFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxlQ1YoUmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+JiYgcGl4ZWxCdWZmZXIsIFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9u
IHJvdGF0aW9uLCBib29sIG1pcnJvcmVkLCBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSwgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBBU1NFUlQoIVdURjo6
aXNNYWluUnVuTG9vcCgpKTsKICAgICBhdXRvIGl0ZXJhdG9yID0gbV92aWRlb1NvdXJjZXMuZmlu
ZChpZGVudGlmaWVyKTsKQEAgLTE4NSw3ICsxODQsMTAgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2Ft
cGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGVDVihSZWFsdGltZU1lZGlhU291cmNlSWRl
bnQKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIGZpbmQgc291
cmNlICVsbHUgZm9yIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlIiwgaWRlbnRpZmllci50b1VJ
bnQ2NCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpdGVyYXRvci0+dmFsdWUtPnZp
ZGVvU2FtcGxlQXZhaWxhYmxlKFdURk1vdmUoc2FtcGxlKSwgbWV0YWRhdGEpOworCisgICAgYXV0
byB2aWRlb0ZyYW1lID0gVmlkZW9GcmFtZUNWOjpjcmVhdGUocHJlc2VudGF0aW9uVGltZSwgbWly
cm9yZWQsIHJvdGF0aW9uLCBXVEZNb3ZlKHBpeGVsQnVmZmVyKSk7CisgICAgYXV0byBzaXplID0g
dmlkZW9GcmFtZS0+cHJlc2VudGF0aW9uU2l6ZSgpOworICAgIGl0ZXJhdG9yLT52YWx1ZS0+dmlk
ZW9GcmFtZUF2YWlsYWJsZSh2aWRlb0ZyYW1lLmdldCgpLCB7IHN0YXRpY19jYXN0PGludD4oc2l6
ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihzaXplLmhlaWdodCgpKSB9LCBtZXRhZGF0YSk7
CiB9CiAKIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVk
aW8oUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYgc291cmNlKQpAQCAtMjU4LDIzICsy
NjAsNiBAQCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OlJlbW90ZVZp
ZGVvKFNvdXJjZSYmIHNvdXJjZSkKIHsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZpZGVvU2FtcGxl
JiYgcmVtb3RlU2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQotewotICAgIGF1
dG8gcGl4ZWxCdWZmZXIgPSBjcmVhdGVDVlBpeGVsQnVmZmVyKHJlbW90ZVNhbXBsZS5zdXJmYWNl
KCkpLnZhbHVlX29yKG51bGxwdHIpOwotICAgIGlmICghcGl4ZWxCdWZmZXIpIHsKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBhdXRv
IHZpZGVvRnJhbWUgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUZyb21QaXhlbEJ1ZmZlcihX
VEZNb3ZlKHBpeGVsQnVmZmVyKSwgcmVtb3RlU2FtcGxlLnJvdGF0aW9uKCksIHJlbW90ZVNhbXBs
ZS5taXJyb3JlZCgpLCByZW1vdGVTYW1wbGUudGltZSgpKTsKLSAgICBpZiAoIXZpZGVvRnJhbWUp
IHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICB2aWRlb0ZyYW1lQXZhaWxhYmxlKHZpZGVvRnJhbWUucmVsZWFzZU5vbk51bGwoKSwg
cmVtb3RlU2FtcGxlLnNpemUoKSwgbWV0YWRhdGEpOwotfQotCiB2b2lkIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlkZW9GcmFtZUF2YWlsYWJsZShSZWY8TWVkaWFT
YW1wbGU+JiYgc2FtcGxlLCBJbnRTaXplIHNpemUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRh
dGEpCiB7CiAgICAgc3dpdGNoT24obV9zb3VyY2UsIFsmXShSZWY8UmVtb3RlUmVhbHRpbWVWaWRl
b1NvdXJjZT4mIHNvdXJjZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAppbmRleCBjZWI3MTcwOWJm
YzU5ZDQ0YjVhOGI0ZjgyYmIwZjc3MjZhN2U1MTgzLi42OTQ1Y2FkOWZmMTFhYjg4MmNjYzdkNzY0
MTBhNzVkZWI3ODJhNDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaApAQCAtNDUsNyArNDUsNiBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOwot
Y2xhc3MgUmVtb3RlVmlkZW9TYW1wbGU7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNzUs
OSArNzQsOSBAQCBwcml2YXRlOgogICAgIC8vIE1lc3NhZ2VzCiAgICAgdm9pZCBhdWRpb1N0b3Jh
Z2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBjb25zdCBT
aGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmLCBjb25z
dCBNZWRpYVRpbWUmLCBzaXplX3QgZnJhbWVTYW1wbGVTaXplKTsKICAgICB2b2lkIGF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgTWVk
aWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgdm9pZCB2aWRlb1NhbXBsZUF2
YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlVmlk
ZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEp
OworICAgIHZvaWQgdmlkZW9GcmFtZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291
cmNlSWRlbnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNv
cmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgIC8vIEZJWE1FOiBXaWxsIGJlIHJlbW92ZWQg
b25jZSBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFyZSB0aGUgb25seSBvbmVzIHNl
bmRpbmcgZGF0YS4KLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYs
IFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOworICAgIHZvaWQgdmlkZW9GcmFtZUF2YWls
YWJsZUNWKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgV2ViQ29yZTo6TWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24s
IGJvb2wgbWlycm9yZWQsIE1lZGlhVGltZSwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7
CiAKICAgICB2b2lkIHNldENvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKik7CiAKQEAgLTExMiw3
ICsxMTEsNiBAQCBwcml2YXRlOgogICAgICAgICB1c2luZyBTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8
UmVmPFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U+LCBSZWY8UmVtb3RlUmVhbHRpbWVEaXNwbGF5
U291cmNlPj47CiAgICAgICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvKFNvdXJjZSYmKTsKIAotICAg
ICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxl
JiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgICAgICB2b2lkIHZpZGVvRnJh
bWVBdmFpbGFibGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBXZWJDb3JlOjpJbnRTaXpl
LCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
Q2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggNmVmZjhhOGZjMTVmNDZlZWQw
ODY4NmE2ZWZjOTMyN2RjNGJjZGY5MC4uMjk4YmVjNjk4NzUyYjdlZjY4MTM1ZTMzNjNiNzI0NzY3
YmExOGQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAt
MjUsOCArMjUsOCBAQAogCiBtZXNzYWdlcyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlciBO
b3RSZWZDb3VudGVkIHsKICAgICBBdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxl
IHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBkZXNjcmlw
dGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlIGNhcHR1cmVTZW1h
cGhvcmUsIE1lZGlhVGltZSBtZWRpYVRpbWUsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSk7Ci0gICAg
VmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIgaWQsIFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzIHNhbXBsZSwg
c3RydWN0IFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCi0gICAgVmlkZW9T
YW1wbGVBdmFpbGFibGVDVihXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBp
ZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2FtcGxlLCBzdHJ1Y3QgV2ViQ29yZTo6Vmlk
ZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKKyAgICBWaWRlb0ZyYW1lQXZhaWxhYmxlKFdlYkNv
cmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlJlbW90ZVZpZGVv
RnJhbWVQcm94eTo6UHJvcGVydGllcyBzYW1wbGUsIHN0cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBs
ZU1ldGFkYXRhIG1ldGFkYXRhKQorICAgIFZpZGVvRnJhbWVBdmFpbGFibGVDVihXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+IHBpeGVsQnVmZmVyLCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3Rh
dGlvbiwgYm9vbCBtaXJyb3JlZCwgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWUsIHN0cnVjdCBX
ZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVv
U291cmNlLmNwcAppbmRleCBjNGI3MDUxOWQ1MDE2OGYwZTRjMjcwMzgzMTEwY2VlM2Y3MTcxZmJl
Li5lZGQ1ZDQxNjEzM2FjNzIyZGEwYjk4ZTM0NjBiOTVlNDFjMWMzYTc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlk
ZW9Tb3VyY2UuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNv
bnN0cmFpbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+Ci0jaW5jbHVkZSA8
V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9C
dWZmZXJMaXN0Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454125</attachid>
            <date>2022-03-08 08:40:52 -0800</date>
            <delta_ts>2022-03-08 08:46:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237592-20220308174051.patch</filename>
            <type>text/plain</type>
            <size>45506</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MWU1NmJmZDdiYWI1
NjZiYjExNDU0ZmVhODc5YmI3NmZmOTkwZi4uNDJhZmIyYzFhYjgxZTgzYTdjMDNlNzMyMGRlZmI3
ODQzZTRiNjY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAzLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlk
ZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAg
ICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBs
ZS5oOiBSZW1vdmVkLgorCiAyMDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJSVEMgZGVjb2RlZCBmcmFtZXMgYXJlIG5vdCBjb3JyZWN0bHkg
cm90YXRlZCBpbiBjYXNlIEdQVSBQcm9jZXNzIERPTSByZW5kZXJpbmcgZmxhZyBpcyBzZXQgdG8g
dHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBlZWI5OGY5MTE0MzIzYTlmZWUwOWE5ZDBhMjQ1ZTM5N2Q3NTBhMmQw
Li4xNjNhYWFhMGUwMDRhYzA2YzU1ODA2MjUxMzc3MjhhZWVhY2EyNDM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMwIEBACisyMDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlkZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzU5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgUmVtb3RlVmlkZW9TYW1wbGUgZGF0
YSBkaXJlY3RseSBhcyBJUEMgbWVzc2FnZSBwYXJhbWV0ZXJzIGluc3RlYWQgb2YgaW5zaWRlIFJl
bW90ZVZpZGVvU2FtcGxlLgorCisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0
ZURlY29kZXJDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNh
cHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9M
aWJXZWJSVENDb2RlY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmNv
bXBsZXRlZERlY29kaW5nQ1YpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJX
ZWJSVENDb2RlY3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRD
Q29kZWNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2Ft
cGxlTWFuYWdlcjo6dmlkZW9GcmFtZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxlQ1YpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6
dmlkZW9TYW1wbGVBdmFpbGFibGVDVik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlkZW9TYW1wbGVBdmFpbGFibGUp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
UmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisKIDIwMjItMDMtMDggIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdW5uZWVkZWQgQXN5
bmMga2V5d29yZHMgaW4gbWVzc2FnZXMuaW4gZmlsZXMgYWZ0ZXIgcjI5MDkwMwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UKaW5kZXggMDk5ZDEzYTA3MmY2YTlhNjE4NzYxYTY2M2MwMmIwNjA0ZTliODUzMi4uNTA4
N2NjZGM2OWE0OTQ1NGMzMzQ3ZTQzMWIxMGNlODUyZDBjZjEzNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
CkBAIC0xNTY0LDcgKzE1NjQsNiBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFE
RVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1WaWRlb1RyYWNrQ29uZmlndXJhdGlv
bi5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1WaWRlb1RyYW5zZmVyQ2hhcmFjdGVy
aXN0aWNzLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaAotICAgIHBsYXRmb3JtL2dy
YXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmluZ01v
ZGUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggMjVkMzI2ZTM5OGIzZmFlYzUzMDg3NzlmMjc5NTYyNWM2YzdmMWFmNS4uMThmMzQzZjg1YTlk
OWJhMzJiZjE0NWY2MGI5YmI0YzA0OWQxM2VlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTIwODEsNyAr
MjA4MSw2IEBAIHBsYXRmb3JtL2dyYXBoaWNzL1BpeGVsQnVmZmVyRm9ybWF0LmNwcAogcGxhdGZv
cm0vZ3JhcGhpY3MvUGl4ZWxGb3JtYXQuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybVRp
bWVSYW5nZXMuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uY3BwCi1wbGF0Zm9ybS9ncmFw
aGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0
LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKIHBsYXRmb3JtL2dyYXBoaWNz
L1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjgzMjQwNWNlNzk3ODg0OTQ5Y2IzNDMwMjNi
OTAwMWFiZWViNjNmNS4uYmYxMzY3OWQ3YTM3MmZkNDU1NTEzNDA4ZTMzNDRhMDkyNTk4Mzk4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTIwLDcgKzEyMCw2IEBACiAJCTA3Mzc5NEZFMTlGNTg2NEUwMEU1QTA0NSAvKiBSVENO
b3RpZmllcnNNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzM3OTRGODE5RjU4NjRFMDBFNUEwNDUgLyogUlRDTm90aWZpZXJzTW9jay5oICovOyB9
OwogCQkwNzM4RTVFQzI0OTk4MzkwMDBEQTEwMUMgLyogQVZPdXRwdXREZXZpY2VNZW51Q29udHJv
bGxlclRhcmdldFBpY2tlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3MzhFNUVBMjQ5OTY4QUQwMERBMTAxQyAvKiBBVk91dHB1dERldmljZU1lbnVD
b250cm9sbGVyVGFyZ2V0UGlja2VyLm1tICovOyB9OwogCQkwNzM5NTVCQjI3QUIyNzdGMDA5QTA4
RDIgLyogU2NyZWVuQ2FwdHVyZUtpdFNoYXJpbmdTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzVEMzIyN0E5QjYwQjAwRkIw
M0U0IC8qIFNjcmVlbkNhcHR1cmVLaXRTaGFyaW5nU2Vzc2lvbk1hbmFnZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwNzNBMTU1NDIxNzdBNDI2
MDBFQTA4RjIgLyogUmVtb3RlVmlkZW9TYW1wbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3M0ExNTUzMjE3N0EzOUEwMEVBMDhGMiAvKiBSZW1vdGVW
aWRlb1NhbXBsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTA3M0I4NzY3MUU0Mzg1QUMwMDcxQzBFQyAvKiBBdWRpb1NhbXBsZUJ1ZmZlckxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3M0I4NzYz
MUU0Mzg1OUQwMDcxQzBFQyAvKiBBdWRpb1NhbXBsZUJ1ZmZlckxpc3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzNCODc2OTFFNDM4NUFDMDA3
MUMwRUMgLyogQXVkaW9TYW1wbGVEYXRhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzNCODc2NTFFNDM4NTlEMDA3MUMwRUMgLyogQXVkaW9T
YW1wbGVEYXRhU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDc0MEIxNDQyNURFMzFGODAwRTM4REJBIC8qIE1vY2tNZWRpYVNlc3Npb25D
b29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzQwQjE0MzI1REUzMUE5MDBFMzhEQkEgLyogTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yLmNwcCAqLzsgfTsKQEAgLTEyNDIsNiArMTI0MSw3IEBACiAJCTQzNThFODdEMTM2MEEyRUUw
MEU0NzQ4QyAvKiBKU1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNThFODdCMTM2MEEyRUUwMEU0NzQ4QyAvKiBK
U1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCAqLzsgfTsKIAkJNDM1OEU4ODExMzYwQTMxNzAwRTQ3
NDhDIC8qIEZFRHJvcFNoYWRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDM1OEU4N0YxMzYwQTMxNzAwRTQ3NDhDIC8qIEZFRHJvcFNoYWRvdy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQzNThFODg2
MTM2MEEzM0IwMEU0NzQ4QyAvKiBTVkdGRURyb3BTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzU4RTg4MzEzNjBBMzNCMDBFNDc0
OEMgLyogU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oICovOyB9OworCQk0MzY3MDdFNzI0QzlDQTRC
MTAwNDQyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzE4QkIxMkQ5Q0E0QjAwMDQy
MjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLzsgfTsKIAkJNDM2NzA4
QzExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDg4MjEyRDlDQTRBMDAwNDQyMzQgLyog
UmVuZGVyU1ZHQmxvY2suaCAqLzsgfTsKIAkJNDM2NzA4QzMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExl
Z2FjeVJlbmRlclNWR0NvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDM2NzA4ODQxMkQ5Q0E0QTAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNW
R0NvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhDNDMzRjhDQTRDMTAwNDQyMzQgLyogUmVuZGVy
U1ZHQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MzY3MDc3NDEyRDlCQzRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHQ29udGFpbmVyLmggKi87
IH07CkBAIC0xMjYzLDcgKzEyNjMsNiBAQAogCQk0MzY3MDhFMzEyRDlDQTRCMDAwNDQyMzQgLyog
UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhBNDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZH
UmVzb3VyY2VTb2xpZENvbG9yLmggKi87IH07CiAJCTQzNjcwOEU1MTJEOUNBNEIwMDA0NDIzNCAv
KiBMZWdhY3lSZW5kZXJTVkdSb290LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MzY3MDhBNjEyRDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZH
Um9vdC5oICovOyB9OwogCQk0MzY3MDhFNTEyRDlEQjRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUm9v
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4
QTYxMkQ5REI0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jvb3QuaCAqLzsgfTsKLQkJNDM2NzA3RTcy
NEM5Q0E0QjEwMDQ0MjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcxOEJCMTJEOUNB
NEIwMDA0MjIzNCAvKiBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi87IH07CiAJ
CTQzNjcwOEU5MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxl
Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MzY3MDhBQTEyRDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhFQjEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVy
U1ZHVmlld3BvcnRDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQzNjcwOEFDMTJEOUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9y
dENvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhFRTEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHTWFy
a2VyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDM2NzA4QUYxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR01hcmtlckRhdGEuaCAqLzsgfTsKQEAgLTYw
ODIsOCArNjA4MSw2IEBACiAJCTA3MzhFNUU4MjQ5OTY4QUMwMERBMTAxQyAvKiBBVk91dHB1dERl
dmljZU1lbnVDb250cm9sbGVyVGFyZ2V0UGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWT3V0cHV0
RGV2aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDczOEU1RUEyNDk5NjhBRDAwREExMDFDIC8qIEFWT3V0cHV0RGV2aWNlTWVudUNv
bnRyb2xsZXJUYXJnZXRQaWNrZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBVk91dHB1dERl
dmljZU1lbnVDb250cm9sbGVyVGFyZ2V0UGlja2VyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwNzM4RTVFQjI0OTk2OTA5MDBEQTEwMUMgLyogQVZQbGF5YmFja1RhcmdldFBpY2tl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXliYWNrVGFyZ2V0UGlja2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTA3M0ExNTUxMjE3N0EzOTgwMEVBMDhGMiAvKiBSZW1vdGVWaWRl
b1NhbXBsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVWaWRlb1NhbXBsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3M0ExNTUzMjE3N0EzOUEwMEVBMDhGMiAvKiBS
ZW1vdGVWaWRlb1NhbXBsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVWaWRlb1NhbXBsZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzNCODc1NjFFNDBEQ0U1MDA3MUMwRUMgLyog
QXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTA3M0I4NzU3MUU0MERDRkQwMDcxQzBFQyAvKiBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ0FBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDczQjg3NTgxRTQwRENG
RDAwNzFDMEVDIC8qIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTkwOTYsOSArOTA5Myw3IEBACiAJCTQzNjcwOEE1MTJEOUNBNUMw
MDA0NDIzNCAvKiBSZW5kZXJTVkdSb290LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlclNWR1Jvb3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MzY3MDhBNjEyRDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHUm9vdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lSZW5kZXJTVkdSb290Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEE2MTJEOURCNEIwMDA0NDIzNCAvKiBSZW5k
ZXJTVkdSb290LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jv
b3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDM2NzA4QjgxMkM5Q0E0QzAwMDEx
NDM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEE5MTJEOUNBNEIwMDA0NDIz
NCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVD
b250YWluZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MzY3MThCQjEyRDlD
QTRCMDAwNDIyMzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEFBMTJEOUNBNEIwMDA0NDIz
NCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWlu
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QUIxMkQ5Q0E0QjAwMDQ0
MjM0IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QUMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRl
clNWR1ZpZXdwb3J0Q29udGFpbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC05MTA5LDExICs5MTA0LDEzIEBACiAJCTQzNjcwOEI1MTJEOUNBNEIwMDA0NDIzNCAvKiBT
VkdSZW5kZXJUcmVlQXNUZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1JlbmRlclRyZWVBc1RleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4
QjYxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTVkdSZXNvdXJjZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MzY3MDhCNzEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Jlc291cmNlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MzY3MDhCODEyQzlDQTRDMDAwMTE0MzQgLyogUmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QjgxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNl
c0NhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291
cmNlc0NhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QjkxMkQ5
Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0NhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1Jlc291cmNlc0NhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQzNjcwOEJBMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNvbHZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdSZXNvdXJjZXND
eWNsZVNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEJCMTJE
OUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhGRDEyRDlDQTRBMDAwMzIxMTQgLyogUmVuZGVyU1ZH
TW9kZWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZH
TW9kZWxPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDM2NzE4QkIxMkQ5
Q0E0QjAwMDQyMjM0IC8qIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5l
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZDMzEyREEyNUU4MDBBRjgw
QTIgLyogUmVuZGVyTWF0aE1MQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyTWF0aE1MQmxvY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MzkwNDZDNDEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MQmxvY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWF0aE1MQmxvY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2QzUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRl
ck1hdGhNTEZlbmNlZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW5kZXJNYXRoTUxGZW5jZWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkx
NTYsOCArMjkxNTMsNiBAQAogCQkJCUNEMUY5QUZDMjZGRDM4Q0EwMDYxN0VCNiAvKiBQbGF0Zm9y
bVZpZGVvVHJhbnNmZXJDaGFyYWN0ZXJpc3RpY3MuaCAqLywKIAkJCQlCQ0FCNDE3RjEzRTM1NkU4
MDBEOEFBRjMgLyogUmVnaW9uLmNwcCAqLywKIAkJCQlCQ0FCNDE4MDEzRTM1NkU4MDBEOEFBRjMg
LyogUmVnaW9uLmggKi8sCi0JCQkJMDczQTE1NTEyMTc3QTM5ODAwRUEwOEYyIC8qIFJlbW90ZVZp
ZGVvU2FtcGxlLmNwcCAqLywKLQkJCQkwNzNBMTU1MzIxNzdBMzlBMDBFQTA4RjIgLyogUmVtb3Rl
VmlkZW9TYW1wbGUuaCAqLywKIAkJCQk3Mjk5QkM2NjIzRDY4NkM2MDBDQzY4ODMgLyogUmVuZGVy
aW5nTW9kZS5oICovLAogCQkJCTcyOUQwNTJFMjUzMTNFMjYwMDQyMjA5OCAvKiBSZW5kZXJpbmdS
ZXNvdXJjZUlkZW50aWZpZXIuaCAqLywKIAkJCQlBNzNGOTVGQzEyQzk3QkZFMDAzMUFBRjkgLyog
Um91bmRlZFJlY3QuY3BwICovLApAQCAtMzY4NzYsNyArMzY4NzEsNiBAQAogCQkJCTQ2Qjk1MTlB
MjA3RDYzNTQwMEE3RDJERCAvKiBSZW1vdGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RD
MzEyRTkyMkZDRDdDMDAwMTIwNEVDIC8qIFJlbW90ZVBsYXliYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDREMzMTJFQjIyRkNEN0M5MDAxMjA0RUMgLyogUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxp
dHlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDczQTE1NTQyMTc3QTQyNjAwRUEwOEYy
IC8qIFJlbW90ZVZpZGVvU2FtcGxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMDZDMEQ4RjBDRkQx
MTQ2MDA2NUY0M0YgLyogUmVtb3ZlRm9ybWF0Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTMzMDlFMDUwOTlFNjQ5MjAwNTZFNTgxIC8qIFJlbW92ZU5vZGVDb21tYW5kLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5MzMwOUUwNzA5OUU2NDkyMDA1NkU1ODEgLyogUmVtb3ZlTm9kZVByZXNlcnZp
bmdDaGlsZHJlbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkYWI2ZjJhNDE3NzNhNWIyNzgxNWFiMjBkNGJkNDQ2OWQ2MmI5
MmVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDE1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlbW90ZVZpZGVv
U2FtcGxlLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkK
LQotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENHLmgiCi0jaW5jbHVkZSAiSU9TdXJmYWNlLmgi
Ci0jaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgot
I2luY2x1ZGUgIlZpZGVvRnJhbWVDVi5oIgotCi0jaWYgVVNFKEFDQ0VMRVJBVEUpCi0jaW5jbHVk
ZSA8QWNjZWxlcmF0ZS9BY2NlbGVyYXRlLmg+Ci0jZW5kaWYKLQotI2luY2x1ZGUgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgotI2luY2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJm
YWNlPiB0cmFuc2ZlckJHUkFQaXhlbEJ1ZmZlclRvSU9TdXJmYWNlKENWUGl4ZWxCdWZmZXJSZWYg
cGl4ZWxCdWZmZXIpCi17Ci0jaWYgVVNFKEFDQ0VMRVJBVEUpCi0gICAgQVNTRVJUKENWUGl4ZWxC
dWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUocGl4ZWxCdWZmZXIpID09IGtDVlBpeGVsRm9ybWF0VHlw
ZV8zMkJHUkEpOwotCi0gICAgYXV0byByZXN1bHQgPSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRy
ZXNzKHBpeGVsQnVmZmVyLCBrQ1ZQaXhlbEJ1ZmZlckxvY2tfUmVhZE9ubHkpOwotICAgIEFTU0VS
VChyZXN1bHQgPT0ga0NWUmV0dXJuU3VjY2Vzcyk7Ci0gICAgaWYgKHJlc3VsdCAhPSBrQ1ZSZXR1
cm5TdWNjZXNzKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAidHJhbnNmZXJC
R1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFjZSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKCkg
cmV0dXJuZWQgZXJyb3IgY29kZSAlZCIsIHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIH0KLQotICAgIEludFNpemUgc2l6ZSB7IHN0YXRpY19jYXN0PGludD4oQ1ZQaXhlbEJ1
ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKSksIHN0YXRpY19jYXN0PGludD4oQ1ZQaXhlbEJ1ZmZl
ckdldEhlaWdodChwaXhlbEJ1ZmZlcikpIH07Ci0gICAgYXV0byBpb1N1cmZhY2UgPSBJT1N1cmZh
Y2U6OmNyZWF0ZShzaXplLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgSU9TdXJmYWNl
OjpGb3JtYXQ6OkJHUkEpOwotCi0gICAgSU9TdXJmYWNlOjpMb2NrZXIgbG9jaygqaW9TdXJmYWNl
KTsKLSAgICB2SW1hZ2VfQnVmZmVyIHNyYzsKLSAgICBzcmMud2lkdGggPSBzaXplLndpZHRoKCk7
Ci0gICAgc3JjLmhlaWdodCA9IHNpemUuaGVpZ2h0KCk7Ci0gICAgc3JjLnJvd0J5dGVzID0gQ1ZQ
aXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93KHBpeGVsQnVmZmVyKTsKLSAgICBzcmMuZGF0YSA9IENW
UGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlcik7Ci0KLSAgICB2SW1hZ2VfQnVm
ZmVyIGRlc3Q7Ci0gICAgZGVzdC53aWR0aCA9IHNpemUud2lkdGgoKTsKLSAgICBkZXN0LmhlaWdo
dCA9IHNpemUuaGVpZ2h0KCk7Ci0gICAgZGVzdC5yb3dCeXRlcyA9IGlvU3VyZmFjZS0+Ynl0ZXNQ
ZXJSb3coKTsKLSAgICBkZXN0LmRhdGEgPSBsb2NrLnN1cmZhY2VCYXNlQWRkcmVzcygpOwotCi0g
ICAgdkltYWdlVW5wcmVtdWx0aXBseURhdGFfQkdSQTg4ODgoJnNyYywgJmRlc3QsIGt2SW1hZ2VO
b0ZsYWdzKTsKLQotICAgIHJlc3VsdCA9IENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhw
aXhlbEJ1ZmZlciwga0NWUGl4ZWxCdWZmZXJMb2NrX1JlYWRPbmx5KTsKLSAgICBBU1NFUlQocmVz
dWx0ID09IGtDVlJldHVyblN1Y2Nlc3MpOwotICAgIGlmIChyZXN1bHQgIT0ga0NWUmV0dXJuU3Vj
Y2VzcykgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgInRyYW5zZmVyQkdSQVBp
eGVsQnVmZmVyVG9JT1N1cmZhY2UgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKCkgcmV0
dXJuZWQgZXJyb3IgY29kZSAlZCIsIHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgIH0KLSAgICByZXR1cm4gaW9TdXJmYWNlOwotI2Vsc2UKLSAgICBSRUxFQVNFX0xPR19FUlJP
UihNZWRpYSwgInRyYW5zZmVyQkdSQVBpeGVsQnVmZmVyVG9JT1N1cmZhY2UgY2Fubm90IGNvbnZl
cnQgdG8gSU9TdXJmYWNlIik7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYKLX0KLQotc3Rk
Ojp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxlPiBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRl
KE1lZGlhU2FtcGxlJiBzYW1wbGUsIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlIHNob3VsZENoZWNr
Rm9ySU9TdXJmYWNlKQotewotICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBpbWFnZUJ1
ZmZlcjsKLSAgICBpZiAoaXM8TWVkaWFTYW1wbGVBVkZPYmpDPihzYW1wbGUpKQotICAgICAgICBp
bWFnZUJ1ZmZlciA9IGRvd25jYXN0PE1lZGlhU2FtcGxlQVZGT2JqQz4oc2FtcGxlKS5waXhlbEJ1
ZmZlcigpOwotICAgIGVsc2UgaWYgKGlzPFZpZGVvRnJhbWVDVj4oc2FtcGxlKSkKLSAgICAgICAg
aW1hZ2VCdWZmZXIgPSBkb3duY2FzdDxWaWRlb0ZyYW1lQ1Y+KHNhbXBsZSkucGl4ZWxCdWZmZXIo
KTsKLSAgICBlbHNlIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJSZW1vdGVW
aWRlb1NhbXBsZTo6Y3JlYXRlOiBjYW5ub3Qgb2J0YWluIENWUGl4ZWxCdWZmZXIgZnJvbSBzYW1w
bGUuIFVua25vd24gc2FtcGxlIHR5cGUuIik7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAg
IH0KLSAgICBpZiAoIWltYWdlQnVmZmVyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1l
ZGlhLCAiUmVtb3RlVmlkZW9TYW1wbGU6OmNyZWF0ZTogY2Fubm90IG9idGFpbiBDVlBpeGVsQnVm
ZmVyIGZyb20gc2FtcGxlLiBObyBidWZmZXIuIik7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgIH0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBpb1N1cmZhY2U7Ci0gICAgYXV0
byBzdXJmYWNlID0gQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFjZShpbWFnZUJ1ZmZlci5nZXQoKSk7
Ci0gICAgaWYgKCFzdXJmYWNlICYmIHNob3VsZENoZWNrRm9ySU9TdXJmYWNlID09IFNob3VsZENo
ZWNrRm9ySU9TdXJmYWNlOjpZZXMpIHsKLSAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciBjYW52
YXMgZGF0YSB0aGF0IGlzIFJHQkEsIG5vdCBJT1N1cmZhY2UgYmFja2VkLgotICAgICAgICBhdXRv
IHBpeGVsRm9ybWF0VHlwZSA9IENWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUoaW1hZ2VC
dWZmZXIuZ2V0KCkpOwotICAgICAgICBpZiAocGl4ZWxGb3JtYXRUeXBlICE9IGtDVlBpeGVsRm9y
bWF0VHlwZV8zMkJHUkEpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAi
UmVtb3RlVmlkZW9TYW1wbGU6OmNyZWF0ZSBkb2VzIG5vdCBzdXBwb3J0IG5vbiBJT1N1cmZhY2Ug
YmFja2VkIHNhbXBsZXMgdGhhdCBhcmUgbm90IEJHUkEiKTsKLSAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgICAgICB9Ci0KLSAgICAgICAgaW9TdXJmYWNlID0gdHJhbnNmZXJCR1JBUGl4
ZWxCdWZmZXJUb0lPU3VyZmFjZShpbWFnZUJ1ZmZlci5nZXQoKSk7Ci0gICAgICAgIGlmICghaW9T
dXJmYWNlKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgc3VyZmFjZSA9
IGlvU3VyZmFjZS0+c3VyZmFjZSgpOwotICAgIH0KLQotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8UmVtb3RlVmlkZW9TYW1wbGU+KG5ldyBSZW1vdGVWaWRlb1NhbXBsZShzdXJmYWNlLCBXVEZN
b3ZlKGltYWdlQnVmZmVyKSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIHNhbXBsZS5w
cmVzZW50YXRpb25UaW1lKCksIHNhbXBsZS52aWRlb1JvdGF0aW9uKCksIHNhbXBsZS52aWRlb01p
cnJvcmVkKCkpKTsKLX0KLQotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxlPiBSZW1v
dGVWaWRlb1NhbXBsZTo6Y3JlYXRlKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGltYWdl
QnVmZmVyLCBNZWRpYVRpbWUmJiBwcmVzZW50YXRpb25UaW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9S
b3RhdGlvbiByb3RhdGlvbiwgU2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2Ugc2hvdWxkQ2hlY2tGb3JJ
T1N1cmZhY2UpCi17Ci0gICAgYXV0byBzdXJmYWNlID0gQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFj
ZShpbWFnZUJ1ZmZlci5nZXQoKSk7Ci0gICAgaWYgKCFzdXJmYWNlICYmIHNob3VsZENoZWNrRm9y
SU9TdXJmYWNlID09IFNob3VsZENoZWNrRm9ySU9TdXJmYWNlOjpZZXMpIHsKLSAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoTWVkaWEsICJSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlOiBDVlBpeGVs
QnVmZmVyR2V0SU9TdXJmYWNlIHJldHVybmVkIG51bGxwdHIiKTsKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVWaWRlb1Nh
bXBsZT4obmV3IFJlbW90ZVZpZGVvU2FtcGxlKHN1cmZhY2UsIFdURk1vdmUoaW1hZ2VCdWZmZXIp
LCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgV1RGTW92ZShwcmVzZW50YXRpb25UaW1l
KSwgcm90YXRpb24sIGZhbHNlKSk7Ci19Ci0KLVJlbW90ZVZpZGVvU2FtcGxlOjpSZW1vdGVWaWRl
b1NhbXBsZShJT1N1cmZhY2VSZWYgc3VyZmFjZSwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
JiYgaW1hZ2VCdWZmZXIsIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwg
TWVkaWFUaW1lJiYgdGltZSwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24sIGJv
b2wgbWlycm9yZWQpCi0gICAgOiBtX2lvU3VyZmFjZShXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0
ZUZyb21TdXJmYWNlKHN1cmZhY2UsIGNvbG9yU3BhY2UpKQotICAgICwgbV9pbWFnZUJ1ZmZlcihX
VEZNb3ZlKGltYWdlQnVmZmVyKSkKLSAgICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgLCBt
X3RpbWUoV1RGTW92ZSh0aW1lKSkKLSAgICAsIG1fdmlkZW9Gb3JtYXQoSU9TdXJmYWNlR2V0UGl4
ZWxGb3JtYXQoc3VyZmFjZSkpCi0gICAgLCBtX3NpemUoSW50U2l6ZShJT1N1cmZhY2VHZXRXaWR0
aChzdXJmYWNlKSwgSU9TdXJmYWNlR2V0SGVpZ2h0KHN1cmZhY2UpKSkKLSAgICAsIG1fbWlycm9y
ZWQobWlycm9yZWQpCi17Ci19Ci0KLUlPU3VyZmFjZVJlZiBSZW1vdGVWaWRlb1NhbXBsZTo6c3Vy
ZmFjZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2lvU3VyZmFjZSAmJiBtX3NlbmRSaWdodCkKLSAg
ICAgICAgY29uc3RfY2FzdDxSZW1vdGVWaWRlb1NhbXBsZSo+KHRoaXMpLT5tX2lvU3VyZmFjZSA9
IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlRnJvbVNlbmRSaWdodChXVEZNb3ZlKGNvbnN0X2Nh
c3Q8UmVtb3RlVmlkZW9TYW1wbGUqPih0aGlzKS0+bV9zZW5kUmlnaHQpLCBEZXN0aW5hdGlvbkNv
bG9yU3BhY2U6OlNSR0IoKSk7Ci0KLSAgICByZXR1cm4gbV9pb1N1cmZhY2UgPyBtX2lvU3VyZmFj
ZS0+c3VyZmFjZSgpIDogbnVsbHB0cjsKLX0KLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjFkZDkxOTAxZjg0OWUwOWEyNDY2NDlmY2RkYTc4ZDBkZGM5YWNlNC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5oCisrKyAvZGV2L251bGwKQEAgLTEs
MTM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENP
Q09BKQotCi0jaW5jbHVkZSAiSU9TdXJmYWNlLmgiCi0jaW5jbHVkZSAiTWVkaWFTYW1wbGUuaCIK
LSNpbmNsdWRlICJSZW1vdGVWaWRlb1NhbXBsZS5oIgotI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJp
Z2h0Lmg+Ci0jaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgotCi10eXBlZGVmIHN0cnVjdCBfX0NW
QnVmZmVyKiBDVlBpeGVsQnVmZmVyUmVmOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFByb2Nlc3NJZGVudGl0eTsKLQotY2xhc3MgUmVtb3RlVmlkZW9TYW1wbGUgewotcHVibGljOgot
ICAgIFJlbW90ZVZpZGVvU2FtcGxlKCkgPSBkZWZhdWx0OwotICAgIFJlbW90ZVZpZGVvU2FtcGxl
KFJlbW90ZVZpZGVvU2FtcGxlJiYpID0gZGVmYXVsdDsKLSAgICBSZW1vdGVWaWRlb1NhbXBsZSYg
b3BlcmF0b3I9KFJlbW90ZVZpZGVvU2FtcGxlJiYpID0gZGVmYXVsdDsKLSAgICB+UmVtb3RlVmlk
ZW9TYW1wbGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBlbnVtIGNsYXNzIFNob3VsZENoZWNrRm9ySU9T
dXJmYWNlIHsgTm8sIFllcyB9OwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+IGNyZWF0ZShNZWRpYVNhbXBsZSYsIFNob3VsZENoZWNr
Rm9ySU9TdXJmYWNlID0gU2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2U6Olllcyk7Ci0gICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4gY3JlYXRl
KFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmLCBNZWRpYVRpbWUmJiBwcmVzZW50YXRpb25U
aW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiA9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0
aW9uOjpOb25lLCBTaG91bGRDaGVja0ZvcklPU3VyZmFjZSA9IFNob3VsZENoZWNrRm9ySU9TdXJm
YWNlOjpZZXMpOwotCi0gICAgV0VCQ09SRV9FWFBPUlQgSU9TdXJmYWNlUmVmIHN1cmZhY2UoKSBj
b25zdDsKLSAgICBDVlBpeGVsQnVmZmVyUmVmIGltYWdlQnVmZmVyKCkgY29uc3QgeyByZXR1cm4g
bV9pbWFnZUJ1ZmZlci5nZXQoKTsgfQotCi0gICAgdm9pZCBzZXRPd25lcnNoaXBJZGVudGl0eShj
b25zdCBQcm9jZXNzSWRlbnRpdHkmKTsKLSAgICB2b2lkIGNsZWFySU9TdXJmYWNlKCkgeyBtX2lv
U3VyZmFjZSA9IG51bGxwdHI7IH0KLQotICAgIGNvbnN0IE1lZGlhVGltZSYgdGltZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdGltZTsgfQotICAgIHVpbnQzMl90IHZpZGVvRm9ybWF0KCkgY29uc3QgeyBy
ZXR1cm4gbV92aWRlb0Zvcm1hdDsgfQotICAgIEludFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc2l6ZTsgfQotICAgIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9yb3RhdGlvbjsgfQotICAgIGJvb2wgbWlycm9yZWQoKSBjb25zdCB7IHJl
dHVybiBtX21pcnJvcmVkOyB9Ci0KLSAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKG1faW9TdXJm
YWNlKQotICAgICAgICAgICAgZW5jb2RlciA8PCBtX2lvU3VyZmFjZS0+Y3JlYXRlU2VuZFJpZ2h0
KCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVuY29kZXIgPDwgTWFjaFNlbmRSaWdodCgp
OwotICAgICAgICBlbmNvZGVyIDw8IG1fcm90YXRpb247Ci0gICAgICAgIGVuY29kZXIgPDwgbV90
aW1lOwotICAgICAgICBlbmNvZGVyIDw8IG1fdmlkZW9Gb3JtYXQ7Ci0gICAgICAgIGVuY29kZXIg
PDwgbV9zaXplOwotICAgICAgICBlbmNvZGVyIDw8IG1fbWlycm9yZWQ7Ci0gICAgfQotCi0gICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVWaWRlb1NhbXBsZSYgc2FtcGxlKQotICAgIHsK
LSAgICAgICAgTWFjaFNlbmRSaWdodCBzZW5kUmlnaHQ7Ci0gICAgICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoc2VuZFJpZ2h0KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgc2Ft
cGxlLm1fc2VuZFJpZ2h0ID0gV1RGTW92ZShzZW5kUmlnaHQpOwotCi0gICAgICAgIE1lZGlhU2Ft
cGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJvdGF0aW9uKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1f
cm90YXRpb24gPSByb3RhdGlvbjsKLQotICAgICAgICBNZWRpYVRpbWUgdGltZTsKLSAgICAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZSh0aW1lKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgc2FtcGxlLm1fdGltZSA9IFdURk1vdmUodGltZSk7Ci0KLSAgICAgICAgdWludDMyX3Qg
Zm9ybWF0OwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZvcm1hdCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHNhbXBsZS5tX3ZpZGVvRm9ybWF0ID0gZm9ybWF0Owot
Ci0gICAgICAgIEludFNpemUgc2l6ZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXpl
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fc2l6ZSA9IFdU
Rk1vdmUoc2l6ZSk7Ci0KLSAgICAgICAgYm9vbCBtaXJyb3JlZDsKLSAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShtaXJyb3JlZCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IHNhbXBsZS5tX21pcnJvcmVkID0gbWlycm9yZWQ7Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCi1wcml2YXRlOgotICAgIFJlbW90ZVZpZGVvU2FtcGxlKElPU3VyZmFjZVJlZiwgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYsIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYs
IE1lZGlhVGltZSYmLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiwgYm9vbCk7Ci0KLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBtX2lvU3VyZmFjZTsKLSAgICBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9pbWFnZUJ1ZmZlcjsKLSAgICBNYWNoU2VuZFJpZ2h0
IG1fc2VuZFJpZ2h0OwotICAgIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24g
eyBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6Tm9uZSB9OwotICAgIE1lZGlhVGltZSBtX3Rp
bWU7Ci0gICAgdWludDMyX3QgbV92aWRlb0Zvcm1hdCB7IDAgfTsKLSAgICBJbnRTaXplIG1fc2l6
ZTsKLSAgICBib29sIG1fbWlycm9yZWQgeyBmYWxzZSB9OwotfTsKLQotaW5saW5lIHZvaWQgUmVt
b3RlVmlkZW9TYW1wbGU6OnNldE93bmVyc2hpcElkZW50aXR5KGNvbnN0IFByb2Nlc3NJZGVudGl0
eSYgcmVzb3VyY2VPd25lcikKLXsKLSAgICBpZiAobV9pb1N1cmZhY2UpCi0gICAgICAgIG1faW9T
dXJmYWNlLT5zZXRPd25lcnNoaXBJZGVudGl0eShyZXNvdXJjZU93bmVyKTsKLX0KLQotfQotCi0j
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAppbmRleCAxOTI2NzM4Zjll
MDI4MTljN2Y0ZmI5ZGM4YWU1MzU5OTNjMDRlOTA5Li4yZGUzNjVhNGZkM2I2OTU3MjM0NWIxODFh
NTI0NDEwNWQ4ZDJlNWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCkBAIC00NCwxMCArNDQsNiBAQCBjbGFzcyBE
ZWNvZGVyOwogY2xhc3MgU2VtYXBob3JlOwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFz
cyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0KLQogbmFtZXNwYWNlIHdlYnJ0YyB7CiB1c2luZyBMb2Nh
bERlY29kZXIgPSB2b2lkKjsKIHVzaW5nIExvY2FsRW5jb2RlciA9IHZvaWQqOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5t
bSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHku
bW0KaW5kZXggN2FkNmQ2YTFkYjRhNzNmZmM3N2FlYTQ3MGVmNDI0ZDhmNzFmZWY0Yy4uZDhhNDZk
NzkwN2Q2NTU5ODIwYzg0M2FhNTIwNGViZTYzY2E2MmU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCkBAIC00
MCw3ICs0MCw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL0NWVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01lZGlhU2FtcGxl
QVZGT2JqQy5oPgotI2ltcG9ydCA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2ltcG9y
dCA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5oPgogI2ltcG9ydCA8d2VicnRjL3Nk
ay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CkBAIC0x
MDUsMTMgKzEwNCwxMCBAQCBhdXRvIExpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVEZWNvZGVy
Q2FsbGJhY2soUlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllcgogICAgICAgICAgICAgc2Ft
cGxlLT5zZXRPd25lcnNoaXBJZGVudGl0eShyZXNvdXJjZU93bmVyKTsKICAgICAgICAgaWYgKHZp
ZGVvRnJhbWVPYmplY3RIZWFwKSB7CiAgICAgICAgICAgICBhdXRvIHByb3BlcnRpZXMgPSB2aWRl
b0ZyYW1lT2JqZWN0SGVhcC0+YWRkKHNhbXBsZS5yZWxlYXNlTm9uTnVsbCgpKTsKLSAgICAgICAg
ICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVk
RGVjb2RpbmcgeyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsIFdURk1vdmUocHJvcGVydGllcykgfSwg
MCk7CisgICAgICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2Rl
Y3M6OkNvbXBsZXRlZERlY29kaW5nIHsgaWRlbnRpZmllciwgdGltZVN0YW1wLCB0aW1lU3RhbXBO
cywgV1RGTW92ZShwcm9wZXJ0aWVzKSB9LCAwKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQotICAgICAgICBhdXRvIHJlbW90ZVNhbXBsZSA9IFdlYkNvcmU6OlJlbW90ZVZpZGVvU2Ft
cGxlOjpjcmVhdGUoKnNhbXBsZSk7Ci0gICAgICAgIGlmICghcmVtb3RlU2FtcGxlKQotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJS
VENDb2RlY3M6OkNvbXBsZXRlZERlY29kaW5nQ1YgeyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsICpy
ZW1vdGVTYW1wbGUgfSwgMCk7CisgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Okxp
YldlYlJUQ0NvZGVjczo6Q29tcGxldGVkRGVjb2RpbmdDViB7IGlkZW50aWZpZXIsIHRpbWVTdGFt
cCwgdGltZVN0YW1wTnMsIHBpeGVsQnVmZmVyIH0sIDApOwogICAgIH07CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggNzg3YmIxMjFlNzRjNjY5NjU4MThiNjIwNDliMjFmZTli
OTVlNzJmNy4uNjA0YTcxMjcwYmQwMzNlYmVkYjg1ZTE3NjA5MzU0MzY3MmE4NTQzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlh
Q2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhU2FtcGxlQVZGT2JqQy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVWaWRlb1NvdXJjZS5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApA
QCAtMTk1LDIyICsxOTQsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICZzYW1wbGU7CiAg
ICAgfQogCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxl
LCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKSBmaW5hbAorICAgIHZvaWQgdmlkZW9TYW1w
bGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIGZyYW1lLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFk
YXRhKSBmaW5hbAogICAgIHsKLSAgICAgICAgYXV0byB2aWRlb1NhbXBsZSA9IHJvdGF0ZVZpZGVv
RnJhbWVJZk5lZWRlZChzYW1wbGUpOwotICAgICAgICBpZiAoIXZpZGVvU2FtcGxlKQorICAgICAg
ICBhdXRvIHZpZGVvRnJhbWUgPSByb3RhdGVWaWRlb0ZyYW1lSWZOZWVkZWQoZnJhbWUpOworICAg
ICAgICBpZiAoIXZpZGVvRnJhbWUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmICht
X3Jlc291cmNlT3duZXIpCi0gICAgICAgICAgICB2aWRlb1NhbXBsZS0+c2V0T3duZXJzaGlwSWRl
bnRpdHkobV9yZXNvdXJjZU93bmVyKTsKLSAgICAgICAgaWYgKG1fdmlkZW9GcmFtZU9iamVjdEhl
YXApIHsKLSAgICAgICAgICAgIGF1dG8gcHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhl
YXAtPmFkZChzYW1wbGUpOwotICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwg
cHJvcGVydGllcywgbWV0YWRhdGEpLCAwKTsKKyAgICAgICAgICAgIHZpZGVvRnJhbWUtPnNldE93
bmVyc2hpcElkZW50aXR5KG1fcmVzb3VyY2VPd25lcik7CisgICAgICAgIGlmICghbV92aWRlb0Zy
YW1lT2JqZWN0SGVhcCkgeworICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6VmlkZW9GcmFtZUF2YWlsYWJsZUNWKG1faWQs
IHZpZGVvRnJhbWUtPnBpeGVsQnVmZmVyKCksIHZpZGVvRnJhbWUtPnZpZGVvUm90YXRpb24oKSwg
dmlkZW9GcmFtZS0+dmlkZW9NaXJyb3JlZCgpLCB2aWRlb0ZyYW1lLT5wcmVzZW50YXRpb25UaW1l
KCksIG1ldGFkYXRhKSwgMCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgYXV0byByZW1vdGVTYW1wbGUgPSBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKCp2aWRlb1Nh
bXBsZSk7Ci0gICAgICAgIGlmICghcmVtb3RlU2FtcGxlKQotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyOjpWaWRlb1NhbXBsZUF2YWlsYWJsZUNWKG1faWQsICpyZW1vdGVTYW1wbGUsIG1ldGFk
YXRhKSwgMCk7CisgICAgICAgIGF1dG8gcHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhl
YXAtPmFkZCgqdmlkZW9GcmFtZSk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdl
czo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlZpZGVvRnJhbWVBdmFpbGFibGUobV9pZCwg
cHJvcGVydGllcywgbWV0YWRhdGEpLCAwKTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gcm90YXRlUGl4ZWxCdWZmZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3MuY3BwCmluZGV4IDNkODFlMjYxN2ZmZTkyMzc3ZGVmODA5YTAxOGNkNDJkZjJkYzM3ZTAuLjU3
YTgzNDcxYTQ1YzE0ZmUwNDc4MzI0NjkyMjU2NGQxYjNiMjZmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApA
QCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1Nh
bXBsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVlA5VXRpbGl0aWVzQ29jb2EuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2Rr
L1dlYktpdC9XZWJLaXREZWNvZGVyLmg+CkBAIC0zMzIsNyArMzMxLDcgQEAgdm9pZCBMaWJXZWJS
VENDb2RlY3M6OmZhaWxlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVu
dGlmaWVyKQogICAgICAgICBkZWNvZGVyLT5oYXNFcnJvciA9IHRydWU7CiB9CiAKLXZvaWQgTGli
V2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVySWRlbnRpZmllciBkZWNv
ZGVySWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6
OlByb3BlcnRpZXMmJiBwcm9wZXJ0aWVzKQordm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRl
ZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyLCB1aW50MzJf
dCB0aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCwgUmVtb3RlVmlkZW9GcmFtZVByb3h5
OjpQcm9wZXJ0aWVzJiYgcHJvcGVydGllcykKIHsKICAgICBhc3NlcnRJc0N1cnJlbnQod29ya1F1
ZXVlKCkpOwogCkBAIC0zNTQsMTMgKzM1MywxMyBAQCB2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29t
cGxldGVkRGVjb2RpbmcoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIsCiAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwog
ICAgIGF1dG8mIGZyYW1lID0gcmVtb3RlVmlkZW9GcmFtZS5sZWFrUmVmKCk7IC8vIEJhbGFuY2Vk
IGJ5IHRoZSByZWxlYXNlIGNhbGxiYWNrIG9mIHZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZS4KLSAg
ICB3ZWJydGM6OnZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZShkZWNvZGVyLT5kZWNvZGVkSW1hZ2VD
YWxsYmFjaywgdGltZVN0YW1wLCBmcmFtZS5wcmVzZW50YXRpb25UaW1lKCkudG9Eb3VibGUoKSwg
JmZyYW1lLAorICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXItPmRl
Y29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIHRpbWVTdGFtcFJUUCwgJmZyYW1lLAogICAg
ICAgICBbXShhdXRvKiBwb2ludGVyKSB7IHJldHVybiBzdGF0aWNfY2FzdDxSZW1vdGVWaWRlb0Zy
YW1lUHJveHkqPihwb2ludGVyKS0+cGl4ZWxCdWZmZXIoKTsgfSwKICAgICAgICAgW10oYXV0byog
cG9pbnRlcikgeyBzdGF0aWNfY2FzdDxSZW1vdGVWaWRlb0ZyYW1lUHJveHkqPihwb2ludGVyKS0+
ZGVyZWYoKTsgfSwKICAgICAgICAgZnJhbWUuc2l6ZSgpLndpZHRoKCksIGZyYW1lLnNpemUoKS5o
ZWlnaHQoKSk7CiB9CiAKLXZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZ0NW
KFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3Rh
bXAsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxlKQordm9pZCBMaWJX
ZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVj
b2RlcklkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgdWludDMyX3QgdGltZVN0YW1wUlRQ
LCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBwaXhlbEJ1ZmZlcikKIHsKICAgICBhc3Nl
cnRJc0N1cnJlbnQod29ya1F1ZXVlKCkpOwogCkBAIC0zNzMsMTQgKzM3MiwxMiBAQCB2b2lkIExp
YldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRGVjb2RpbmdDVihSVENEZWNvZGVySWRlbnRpZmllciBk
ZWNvZGVySWRlbnRpZmllcgogICAgIExvY2tlciBsb2NrZXIgeyBBZG9wdExvY2ssIGRlY29kZXIt
PmRlY29kZWRJbWFnZUNhbGxiYWNrTG9jayB9OwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlZElt
YWdlQ2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIXJlbW90ZVNhbXBsZS5zdXJm
YWNlKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBhdXRvIHBpeGVsQnVmZmVyID0gY3JlYXRlQ1ZQ
aXhlbEJ1ZmZlcihyZW1vdGVTYW1wbGUuc3VyZmFjZSgpKS52YWx1ZV9vcihudWxscHRyKTsKKwog
ICAgIGlmICghcGl4ZWxCdWZmZXIpIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgd2VicnRjOjp2aWRlb0RlY29kZXJUYXNrQ29tcGxl
dGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVTdGFtcCwgcmVtb3RlU2FtcGxl
LnRpbWUoKS50b0RvdWJsZSgpLCBwaXhlbEJ1ZmZlci5nZXQoKSk7CisgICAgd2VicnRjOjp2aWRl
b0RlY29kZXJUYXNrQ29tcGxldGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVT
dGFtcCwgdGltZVN0YW1wUlRQLCBwaXhlbEJ1ZmZlci5nZXQoKSk7CiB9CiAKIHN0YXRpYyBpbmxp
bmUgU3RyaW5nIGZvcm1hdE5hbWVGcm9tQ29kZWNUeXBlKExpYldlYlJUQ0NvZGVjczo6VHlwZSB0
eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGli
V2ViUlRDQ29kZWNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJX
ZWJSVENDb2RlY3MuaAppbmRleCBmNTgyMjZjZGMyZmFhYTVhNDMzZmQ4OTg0YmQ0YTU4YmExMDM0
MDkyLi5jNzZlMWU3ODJiNTU5Nzc4ODA2ZGYzYjk0MTBmMzZjZWE5MGU2NzBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
aApAQCAtNTEsMTAgKzUxLDYgQEAgY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIERlY29kZXI7CiB9
CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFJlbW90ZVZpZGVvU2FtcGxlOwotfQotCiBu
YW1lc3BhY2Ugd2VicnRjIHsKIGNsYXNzIFZpZGVvRnJhbWU7CiBzdHJ1Y3QgV2ViS2l0RW5jb2Rl
ZEZyYW1lSW5mbzsKQEAgLTEzMyw5ICsxMjksOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb25NYXlOb0xvbmdlckJlTmVlZGVkKCk7CiAKICAgICB2b2lkIGZhaWxlZERl
Y29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVyKTsKLSAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5n
KFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAsIFJlbW90ZVZpZGVvRnJh
bWVQcm94eTo6UHJvcGVydGllcyYmKTsKKyAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5nKFJUQ0Rl
Y29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcFJU
UCwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYpOwogICAgIC8vIEZJWE1FOiBX
aWxsIGJlIHJlbW92ZWQgb25jZSBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFyZSB0
aGUgb25seSBvbmVzIHNlbmRpbmcgZGF0YS4KLSAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5nQ1Yo
UlRDRGVjb2RlcklkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3Rl
VmlkZW9TYW1wbGUmJik7CisgICAgdm9pZCBjb21wbGV0ZWREZWNvZGluZ0NWKFJUQ0RlY29kZXJJ
ZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCwgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpOwogICAgIHZvaWQgY29tcGxldGVkRW5jb2Rpbmco
UlRDRW5jb2RlcklkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSYmLCBjb25zdCB3ZWJydGM6
OldlYktpdEVuY29kZWRGcmFtZUluZm8mKTsKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4gY29udmVydFRvQkdSQShDVlBpeGVsQnVmZmVyUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1l
c3NhZ2VzLmluCmluZGV4IDZmYzNkYjcyZDY3YTFkNzI2OGFmYzAxMmQyYmZkZmMyNGVkNTMzODMu
LmE1M2Y2OTExN2RlODY3ZDlhYWViMTUyMDViNWI1MDZjYzI0ZDM3ODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3MubWVzc2FnZXMuaW4KQEAgLTI0LDggKzI0LDggQEAKIAogbWVzc2FnZXMgLT4gTGliV2Vi
UlRDQ29kZWNzIE5vdFJlZkNvdW50ZWQgewogICAgIEZhaWxlZERlY29kaW5nKFdlYktpdDo6UlRD
RGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllcikKLSAgICBDb21wbGV0ZWREZWNvZGluZyhXZWJL
aXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwg
V2ViS2l0OjpSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3BlcnRpZXMgZnJhbWUpCi0gICAgQ29t
cGxldGVkRGVjb2RpbmdDVihXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIs
IHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2FtcGxlKQor
ICAgIENvbXBsZXRlZERlY29kaW5nKFdlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRp
ZmllciwgdWludDMyX3QgdGltZVN0YW1wLCB1aW50MzJfdCB0aW1lU3RhbXBSVFAsIFdlYktpdDo6
UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzIGZyYW1lKQorICAgIENvbXBsZXRlZERl
Y29kaW5nQ1YoV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCB1aW50MzJf
dCB0aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCwgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IHBpeGVsQnVmZmVyKQogICAgIENvbXBsZXRlZEVuY29kaW5nKFdlYktpdDo6UlRDRW5j
b2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIHN0cnVj
dCB3ZWJydGM6OldlYktpdEVuY29kZWRGcmFtZUluZm8gaW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXIuY3BwCmluZGV4IDBkN2JkYWMxMGM4Mjc3OGMxMDM2YzMyMTU1ZGYxOTY0MzM1OTFl
NTIuLmIwOThlZmJlN2MzM2MzZGI5ZWYwNzZlMTk2ZWQ0YThmOTdkZmYyZTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyLmNwcApAQCAtMzMsOCArMzMsNyBAQAogI2luY2x1ZGUgIlNoYXJlZFJpbmdC
dWZmZXJTdG9yYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvQ1ZVdGlsaXRpZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1ZpZGVvRnJhbWVDVi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0
Lmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTE1
OSw3ICsxNTgsNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3Jh
Z2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyYwogICAgIGl0ZXJhdG9yLT52YWx1
ZS0+c2V0U3RvcmFnZShpcGNIYW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFt
ZXMsIFdURk1vdmUoc2VtYXBob3JlKSwgbWVkaWFUaW1lLCBmcmFtZUNodW5rU2l6ZSk7CiB9CiAK
LXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJl
YWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvRnJhbWVQ
cm94eTo6UHJvcGVydGllcyYmIHByb3BlcnRpZXMsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRh
dGEpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxl
KFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvRnJh
bWVQcm94eTo6UHJvcGVydGllcyYmIHByb3BlcnRpZXMsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0
YWRhdGEpCiB7CiAgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7CiAgICAgLy8gQ3Jl
YXRlIHZpZGVvRnJhbWUgYmVmb3JlIGVhcmx5IG91dHMgc28gdGhhdCB0aGUgcmVmZXJlbmNlIGlu
IGBwcm9wZXJ0aWVzYCBpcyBhZG9wdGVkLgpAQCAtMTc3LDcgKzE3Niw3IEBAIHZvaWQgUmVtb3Rl
Q2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFT
b3VyY2VJZGVudGlmCiAgICAgaXRlcmF0b3ItPnZhbHVlLT52aWRlb0ZyYW1lQXZhaWxhYmxlKFdU
Rk1vdmUodmlkZW9GcmFtZSksIHZpZGVvRnJhbWVTaXplLCBtZXRhZGF0YSk7CiB9CiAKLXZvaWQg
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YoUmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlVmlkZW9TYW1wbGUmJiBz
YW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgaWRlbnRpZmllciwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgcGl4ZWxC
dWZmZXIsIFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29s
IG1pcnJvcmVkLCBNZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZSwgV2ViQ29yZTo6VmlkZW9TYW1w
bGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBBU1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgp
KTsKICAgICBhdXRvIGl0ZXJhdG9yID0gbV92aWRlb1NvdXJjZXMuZmluZChpZGVudGlmaWVyKTsK
QEAgLTE4NSw3ICsxODQsMTAgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlk
ZW9TYW1wbGVBdmFpbGFibGVDVihSZWFsdGltZU1lZGlhU291cmNlSWRlbnQKICAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIGZpbmQgc291cmNlICVsbHUgZm9yIHJl
bW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlIiwgaWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KLSAgICBpdGVyYXRvci0+dmFsdWUtPnZpZGVvU2FtcGxlQXZhaWxh
YmxlKFdURk1vdmUoc2FtcGxlKSwgbWV0YWRhdGEpOworCisgICAgYXV0byB2aWRlb0ZyYW1lID0g
VmlkZW9GcmFtZUNWOjpjcmVhdGUocHJlc2VudGF0aW9uVGltZSwgbWlycm9yZWQsIHJvdGF0aW9u
LCBXVEZNb3ZlKHBpeGVsQnVmZmVyKSk7CisgICAgYXV0byBzaXplID0gdmlkZW9GcmFtZS0+cHJl
c2VudGF0aW9uU2l6ZSgpOworICAgIGl0ZXJhdG9yLT52YWx1ZS0+dmlkZW9GcmFtZUF2YWlsYWJs
ZSh2aWRlb0ZyYW1lLmdldCgpLCB7IHN0YXRpY19jYXN0PGludD4oc2l6ZS53aWR0aCgpKSwgc3Rh
dGljX2Nhc3Q8aW50PihzaXplLmhlaWdodCgpKSB9LCBtZXRhZGF0YSk7CiB9CiAKIFJlbW90ZUNh
cHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJl
YWx0aW1lQXVkaW9Tb3VyY2U+JiYgc291cmNlKQpAQCAtMjU4LDIzICsyNjAsNiBAQCBSZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OlJlbW90ZVZpZGVvKFNvdXJjZSYmIHNv
dXJjZSkKIHsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlk
ZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxl
LCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQotewotICAgIGF1dG8gcGl4ZWxCdWZmZXIg
PSBjcmVhdGVDVlBpeGVsQnVmZmVyKHJlbW90ZVNhbXBsZS5zdXJmYWNlKCkpLnZhbHVlX29yKG51
bGxwdHIpOwotICAgIGlmICghcGl4ZWxCdWZmZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIHZpZGVvRnJhbWUgPSBN
ZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZUZyb21QaXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVm
ZmVyKSwgcmVtb3RlU2FtcGxlLnJvdGF0aW9uKCksIHJlbW90ZVNhbXBsZS5taXJyb3JlZCgpLCBy
ZW1vdGVTYW1wbGUudGltZSgpKTsKLSAgICBpZiAoIXZpZGVvRnJhbWUpIHsKLSAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2aWRlb0Zy
YW1lQXZhaWxhYmxlKHZpZGVvRnJhbWUucmVsZWFzZU5vbk51bGwoKSwgcmVtb3RlU2FtcGxlLnNp
emUoKSwgbWV0YWRhdGEpOwotfQotCiB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpS
ZW1vdGVWaWRlbzo6dmlkZW9GcmFtZUF2YWlsYWJsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxl
LCBJbnRTaXplIHNpemUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgc3dp
dGNoT24obV9zb3VyY2UsIFsmXShSZWY8UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4mIHNvdXJj
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNh
cHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAppbmRleCBjZWI3MTcwOWJmYzU5ZDQ0YjVhOGI0Zjgy
YmIwZjc3MjZhN2U1MTgzLi42OTQ1Y2FkOWZmMTFhYjg4MmNjYzdkNzY0MTBhNzVkZWI3ODJhNDUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaApAQCAtNDUsNyArNDUsNiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOwotY2xhc3MgUmVtb3RlVmlk
ZW9TYW1wbGU7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNzUsOSArNzQsOSBAQCBwcml2
YXRlOgogICAgIC8vIE1lc3NhZ2VzCiAgICAgdm9pZCBhdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNv
cmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6OklQ
Q0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2
NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmLCBjb25zdCBNZWRpYVRpbWUmLCBz
aXplX3QgZnJhbWVTYW1wbGVTaXplKTsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgTWVkaWFUaW1lLCB1aW50NjRf
dCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQ
cm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOworICAgIHZvaWQgdmlk
ZW9GcmFtZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwg
UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxl
TWV0YWRhdGEpOwogICAgIC8vIEZJWE1FOiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZW1vdGVWaWRl
b0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFyZSB0aGUgb25seSBvbmVzIHNlbmRpbmcgZGF0YS4KLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVv
U2FtcGxlTWV0YWRhdGEpOworICAgIHZvaWQgdmlkZW9GcmFtZUF2YWlsYWJsZUNWKFdlYkNvcmU6
OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4mJiwgV2ViQ29yZTo6TWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQs
IE1lZGlhVGltZSwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAKICAgICB2b2lkIHNl
dENvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKik7CiAKQEAgLTExMiw3ICsxMTEsNiBAQCBwcml2
YXRlOgogICAgICAgICB1c2luZyBTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmPFJlbW90ZVJlYWx0
aW1lVmlkZW9Tb3VyY2U+LCBSZWY8UmVtb3RlUmVhbHRpbWVEaXNwbGF5U291cmNlPj47CiAgICAg
ICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvKFNvdXJjZSYmKTsKIAotICAgICAgICB2b2lkIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZp
ZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgICAgICB2b2lkIHZpZGVvRnJhbWVBdmFpbGFibGUoUmVm
PFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBXZWJDb3JlOjpJbnRTaXplLCBXZWJDb3JlOjpWaWRl
b1NhbXBsZU1ldGFkYXRhKTsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIubWVzc2FnZXMuaW4KaW5kZXggNmVmZjhhOGZjMTVmNDZlZWQwODY4NmE2ZWZjOTMyN2Rj
NGJjZGY5MC4uMjk4YmVjNjk4NzUyYjdlZjY4MTM1ZTMzNjNiNzI0NzY3YmExOGQ2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9S
ZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjUsOCArMjUsOCBAQAog
CiBtZXNzYWdlcyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlciBOb3RSZWZDb3VudGVkIHsK
ICAgICBBdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVu
dGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUs
IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgdWludDY0X3Qg
bnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlIGNhcHR1cmVTZW1hcGhvcmUsIE1lZGlhVGlt
ZSBtZWRpYVRpbWUsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSk7Ci0gICAgVmlkZW9TYW1wbGVBdmFp
bGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6
UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzIHNhbXBsZSwgc3RydWN0IFdlYkNvcmU6
OlZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCi0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGVD
VihXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVt
b3RlVmlkZW9TYW1wbGUgc2FtcGxlLCBzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0
YSBtZXRhZGF0YSkKKyAgICBWaWRlb0ZyYW1lQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVk
aWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJv
cGVydGllcyBzYW1wbGUsIHN0cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFk
YXRhKQorICAgIFZpZGVvRnJhbWVBdmFpbGFibGVDVihXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291
cmNlSWRlbnRpZmllciBpZCwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHBpeGVsQnVmZmVy
LCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJy
b3JlZCwgTWVkaWFUaW1lIHByZXNlbnRhdGlvblRpbWUsIHN0cnVjdCBXZWJDb3JlOjpWaWRlb1Nh
bXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRl
eCBkMmQyNGFiYWI5ZWMzNGEwZGEyMmViNjVhOGFkM2NiNWYwMDdkOTdjLi42MDBlMWRjYzRhMWQy
MWQ3NDhlZDk1MjlkNzM4ZTE4Zjg4ZDhiZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBA
IC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVW
aWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454126</attachid>
            <date>2022-03-08 08:46:26 -0800</date>
            <delta_ts>2022-03-09 23:05:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237592-20220308174625.patch</filename>
            <type>text/plain</type>
            <size>45659</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwOTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA5MWU1NmJmZDdiYWI1
NjZiYjExNDU0ZmVhODc5YmI3NmZmOTkwZi4uNDJhZmIyYzFhYjgxZTgzYTdjMDNlNzMyMGRlZmI3
ODQzZTRiNjY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAzLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlk
ZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAg
ICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxlLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBs
ZS5oOiBSZW1vdmVkLgorCiAyMDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJSVEMgZGVjb2RlZCBmcmFtZXMgYXJlIG5vdCBjb3JyZWN0bHkg
cm90YXRlZCBpbiBjYXNlIEdQVSBQcm9jZXNzIERPTSByZW5kZXJpbmcgZmxhZyBpcyBzZXQgdG8g
dHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBlZWI5OGY5MTE0MzIzYTlmZWUwOWE5ZDBhMjQ1ZTM5N2Q3NTBhMmQw
Li5mNmI5ZjNmMzk5MDIzYjk5MTJiOTk5NjNhZDYyMzcwOWUwMDBjZGU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMxIEBACisyMDIyLTAzLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlkZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzU5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgUmVtb3RlVmlkZW9TYW1wbGUgZGF0
YSBkaXJlY3RseSBhcyBJUEMgbWVzc2FnZSBwYXJhbWV0ZXJzIGluc3RlYWQgb2YgaW5zaWRlIFJl
bW90ZVZpZGVvU2FtcGxlLgorICAgICAgICBGaXggdGltZVN0YW1wTnMgYnkgc2VuZGluZyB0aGVt
IGJhY2sgdG8gV2ViUHJvY2VzcyBhbmQgZGl2aWRlIHRoZW0gYnkgMTAwMCB0byBwdXQgdGhlbSBh
cyBtaWxsaXNlY29uZHMsIGFzIGV4cGVjdGVkIGJ5IGxpYndlYnJ0YyBiYWNrZW5kLgorCisgICAg
ICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0ZURlY29kZXJDYWxsYmFjayk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nQ1YpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9GcmFtZUF2
YWlsYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2
aWRlb0ZyYW1lQXZhaWxhYmxlQ1YpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2Ft
cGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGVDVik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpS
ZW1vdGVWaWRlbzo6dmlkZW9TYW1wbGVBdmFpbGFibGUpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6
CisKIDIwMjItMDMtMDggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZW1vdmUgdW5uZWVkZWQgQXN5bmMga2V5d29yZHMgaW4gbWVzc2FnZXMu
aW4gZmlsZXMgYWZ0ZXIgcjI5MDkwMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMDk5ZDEzYTA3MmY2
YTlhNjE4NzYxYTY2M2MwMmIwNjA0ZTliODUzMi4uNTA4N2NjZGM2OWE0OTQ1NGMzMzQ3ZTQzMWIx
MGNlODUyZDBjZjEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xNTY0LDcgKzE1NjQsNiBAQCBz
ZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvUGxhdGZvcm1WaWRlb1RyYWNrQ29uZmlndXJhdGlvbi5oCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvUGxhdGZvcm1WaWRlb1RyYW5zZmVyQ2hhcmFjdGVyaXN0aWNzLmgKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9SZWdpb24uaAotICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVvU2FtcGxl
LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmluZ01vZGUuaAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL1JvdW5kZWRSZWN0LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMjVkMzI2ZTM5OGIzZmFlYzUzMDg3
NzlmMjc5NTYyNWM2YzdmMWFmNS4uMThmMzQzZjg1YTlkOWJhMzJiZjE0NWY2MGI5YmI0YzA0OWQx
M2VlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTIwODEsNyArMjA4MSw2IEBAIHBsYXRmb3JtL2dyYXBo
aWNzL1BpeGVsQnVmZmVyRm9ybWF0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxGb3JtYXQu
Y3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybVRpbWVSYW5nZXMuY3BwCiBwbGF0Zm9ybS9n
cmFwaGljcy9SZWdpb24uY3BwCi1wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5j
cHAKIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggNjgzMjQwNWNlNzk3ODg0OTQ5Y2IzNDMwMjNiOTAwMWFiZWViNjNmNS4uYmYxMzY3OWQ3
YTM3MmZkNDU1NTEzNDA4ZTMzNDRhMDkyNTk4Mzk4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIwLDcgKzEyMCw2IEBACiAJ
CTA3Mzc5NEZFMTlGNTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmllcnNNb2NrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzM3OTRGODE5RjU4NjRFMDBF
NUEwNDUgLyogUlRDTm90aWZpZXJzTW9jay5oICovOyB9OwogCQkwNzM4RTVFQzI0OTk4MzkwMDBE
QTEwMUMgLyogQVZPdXRwdXREZXZpY2VNZW51Q29udHJvbGxlclRhcmdldFBpY2tlci5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MzhFNUVBMjQ5OTY4
QUQwMERBMTAxQyAvKiBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyVGFyZ2V0UGlja2VyLm1t
ICovOyB9OwogCQkwNzM5NTVCQjI3QUIyNzdGMDA5QTA4RDIgLyogU2NyZWVuQ2FwdHVyZUtpdFNo
YXJpbmdTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDcwMzVEMzIyN0E5QjYwQjAwRkIwM0U0IC8qIFNjcmVlbkNhcHR1cmVLaXRT
aGFyaW5nU2Vzc2lvbk1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQkwNzNBMTU1NDIxNzdBNDI2MDBFQTA4RjIgLyogUmVtb3RlVmlkZW9T
YW1wbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3
M0ExNTUzMjE3N0EzOUEwMEVBMDhGMiAvKiBSZW1vdGVWaWRlb1NhbXBsZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3M0I4NzY3MUU0Mzg1QUMw
MDcxQzBFQyAvKiBBdWRpb1NhbXBsZUJ1ZmZlckxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3M0I4NzYzMUU0Mzg1OUQwMDcxQzBFQyAvKiBBdWRp
b1NhbXBsZUJ1ZmZlckxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwNzNCODc2OTFFNDM4NUFDMDA3MUMwRUMgLyogQXVkaW9TYW1wbGVEYXRh
U291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
NzNCODc2NTFFNDM4NTlEMDA3MUMwRUMgLyogQXVkaW9TYW1wbGVEYXRhU291cmNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDc0MEIxNDQyNURF
MzFGODAwRTM4REJBIC8qIE1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzQwQjE0MzI1REUzMUE5MDBF
MzhEQkEgLyogTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcCAqLzsgfTsKQEAgLTEyNDIs
NiArMTI0MSw3IEBACiAJCTQzNThFODdEMTM2MEEyRUUwMEU0NzQ4QyAvKiBKU1NWR0ZFRHJvcFNo
YWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQzNThFODdCMTM2MEEyRUUwMEU0NzQ4QyAvKiBKU1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQu
aCAqLzsgfTsKIAkJNDM1OEU4ODExMzYwQTMxNzAwRTQ3NDhDIC8qIEZFRHJvcFNoYWRvdy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM1OEU4N0YxMzYw
QTMxNzAwRTQ3NDhDIC8qIEZFRHJvcFNoYWRvdy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQzNThFODg2MTM2MEEzM0IwMEU0NzQ4QyAvKiBTVkdG
RURyb3BTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MzU4RTg4MzEzNjBBMzNCMDBFNDc0OEMgLyogU1ZHRkVEcm9wU2hhZG93RWxl
bWVudC5oICovOyB9OworCQk0MzY3MDdFNzI0QzlDQTRCMTAwNDQyMzQgLyogUmVuZGVyU1ZHVHJh
bnNmb3JtYWJsZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDM2NzE4QkIxMkQ5Q0E0QjAwMDQyMjM0IC8qIFJlbmRlclNWR1RyYW5zZm9y
bWFibGVDb250YWluZXIuaCAqLzsgfTsKIAkJNDM2NzA4QzExMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJl
bmRlclNWR0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MzY3MDg4MjEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHQmxvY2suaCAqLzsgfTsK
IAkJNDM2NzA4QzMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR0NvbnRhaW5lci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4ODQx
MkQ5Q0E0QTAwMDQ0MjM0IC8qIExlZ2FjeVJlbmRlclNWR0NvbnRhaW5lci5oICovOyB9OwogCQk0
MzY3MDhDNDMzRjhDQTRDMTAwNDQyMzQgLyogUmVuZGVyU1ZHQ29udGFpbmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDc3NDEyRDlCQzRBMDAw
NDQyMzQgLyogUmVuZGVyU1ZHQ29udGFpbmVyLmggKi87IH07CkBAIC0xMjYzLDcgKzEyNjMsNiBA
QAogCQk0MzY3MDhFMzEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3
MDhBNDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmggKi87
IH07CiAJCTQzNjcwOEU1MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdSb290Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhBNjEy
RDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHUm9vdC5oICovOyB9OwogCQk0MzY3MDhF
NTEyRDlEQjRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUm9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4QTYxMkQ5REI0QjAwMDQ0MjM0IC8qIFJl
bmRlclNWR1Jvb3QuaCAqLzsgfTsKLQkJNDM2NzA3RTcyNEM5Q0E0QjEwMDQ0MjM0IC8qIFJlbmRl
clNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcxOEJCMTJEOUNBNEIwMDA0MjIzNCAvKiBSZW5kZXJTVkdU
cmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggKi87IH07CiAJCTQzNjcwOEU5MTJEOUNBNEIwMDA0NDIz
NCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhBQTEyRDlDQTRCMDAwNDQy
MzQgLyogTGVnYWN5UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovOyB9OwogCQk0
MzY3MDhFQjEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEFDMTJE
OUNBNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oICovOyB9OwogCQk0
MzY3MDhFRTEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHTWFya2VyRGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4QUYxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIFNWR01hcmtlckRhdGEuaCAqLzsgfTsKQEAgLTYwODIsOCArNjA4MSw2IEBACiAJCTA3MzhF
NUU4MjQ5OTY4QUMwMERBMTAxQyAvKiBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyVGFyZ2V0
UGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWT3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJUYXJn
ZXRQaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDczOEU1RUEyNDk5NjhB
RDAwREExMDFDIC8qIEFWT3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyVGFyZ2V0
UGlja2VyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzM4RTVFQjI0OTk2OTA5
MDBEQTEwMUMgLyogQVZQbGF5YmFja1RhcmdldFBpY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBs
YXliYWNrVGFyZ2V0UGlja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3M0Ex
NTUxMjE3N0EzOTgwMEVBMDhGMiAvKiBSZW1vdGVWaWRlb1NhbXBsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW1vdGVWaWRlb1NhbXBsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTA3M0ExNTUzMjE3N0EzOUEwMEVBMDhGMiAvKiBSZW1vdGVWaWRlb1NhbXBsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW1vdGVWaWRlb1NhbXBsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwNzNCODc1NjFFNDBEQ0U1MDA3MUMwRUMgLyogQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1N0cmVhbURlc2NyaXB0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3M0I4NzU3MUU0MERDRkQwMDcxQzBF
QyAvKiBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDczQjg3NTgxRTQwRENGRDAwNzFDMEVDIC8qIENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkwOTYs
OSArOTA5Myw3IEBACiAJCTQzNjcwOEE1MTJEOUNBNUMwMDA0NDIzNCAvKiBSZW5kZXJTVkdSb290
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR1Jvb3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhBNjEyRDlDQTRCMDAwNDQy
MzQgLyogTGVnYWN5UmVuZGVyU1ZHUm9vdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMZWdhY3lSZW5kZXJTVkdSb290Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQzNjcwOEE2MTJEOURCNEIwMDA0NDIzNCAvKiBSZW5kZXJTVkdSb290LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jvb3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNDM2NzA4QjgxMkM5Q0E0QzAwMDExNDM0IC8qIFJlbmRlclNWR1RyYW5zZm9y
bWFibGVDb250YWluZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQzNjcwOEE5MTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFu
c2Zvcm1hYmxlQ29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IExlZ2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MzY3MThCQjEyRDlDQTRCMDAwNDIyMzQgLyogUmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQzNjcwOEFBMTJEOUNBNEIwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdUcmFu
c2Zvcm1hYmxlQ29udGFpbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExl
Z2FjeVJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDM2NzA4QUIxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
clNWR1ZpZXdwb3J0Q29udGFpbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDM2NzA4QUMxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1ZpZXdwb3J0Q29udGFp
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTA5LDExICs5MTA0LDEzIEBA
CiAJCTQzNjcwOEI1MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZW5kZXJUcmVlQXNUZXh0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1JlbmRlclRyZWVBc1RleHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QjYxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNW
R1Jlc291cmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdS
ZXNvdXJjZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDhCNzEyRDlD
QTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNWR1Jlc291cmNlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3
MDhCODEyQzlDQTRDMDAwMTE0MzQgLyogUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdUcmFuc2Zv
cm1hYmxlQ29udGFpbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4
QjgxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0NhY2hlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291cmNlc0NhY2hlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM2NzA4QjkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291
cmNlc0NhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Jlc291cmNl
c0NhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEJBMTJEOUNBNEIw
MDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEJCMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNv
dXJjZXNDeWNsZVNvbHZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdS
ZXNvdXJjZXNDeWNsZVNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3
MDhGRDEyRDlDQTRBMDAwMzIxMTQgLyogUmVuZGVyU1ZHTW9kZWxPYmplY3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHTW9kZWxPYmplY3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDM2NzE4QkIxMkQ5Q0E0QjAwMDQyMjM0IC8qIFJlbmRlclNW
R1RyYW5zZm9ybWFibGVDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MzkwNDZDMzEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MQmxvY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWF0aE1MQmxv
Y2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZDNDEyREEyNUU4MDBB
RjgwQTIgLyogUmVuZGVyTWF0aE1MQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVuZGVyTWF0aE1MQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDM5MDQ2QzUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEZlbmNlZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNYXRoTUxGZW5jZWQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkxNTYsOCArMjkxNTMsNiBAQAogCQkJCUNE
MUY5QUZDMjZGRDM4Q0EwMDYxN0VCNiAvKiBQbGF0Zm9ybVZpZGVvVHJhbnNmZXJDaGFyYWN0ZXJp
c3RpY3MuaCAqLywKIAkJCQlCQ0FCNDE3RjEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmNwcCAq
LywKIAkJCQlCQ0FCNDE4MDEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmggKi8sCi0JCQkJMDcz
QTE1NTEyMTc3QTM5ODAwRUEwOEYyIC8qIFJlbW90ZVZpZGVvU2FtcGxlLmNwcCAqLywKLQkJCQkw
NzNBMTU1MzIxNzdBMzlBMDBFQTA4RjIgLyogUmVtb3RlVmlkZW9TYW1wbGUuaCAqLywKIAkJCQk3
Mjk5QkM2NjIzRDY4NkM2MDBDQzY4ODMgLyogUmVuZGVyaW5nTW9kZS5oICovLAogCQkJCTcyOUQw
NTJFMjUzMTNFMjYwMDQyMjA5OCAvKiBSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaCAqLywK
IAkJCQlBNzNGOTVGQzEyQzk3QkZFMDAzMUFBRjkgLyogUm91bmRlZFJlY3QuY3BwICovLApAQCAt
MzY4NzYsNyArMzY4NzEsNiBAQAogCQkJCTQ2Qjk1MTlBMjA3RDYzNTQwMEE3RDJERCAvKiBSZW1v
dGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDMzEyRTkyMkZDRDdDMDAwMTIwNEVDIC8q
IFJlbW90ZVBsYXliYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREMzMTJFQjIyRkNEN0M5MDAx
MjA0RUMgLyogUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMDczQTE1NTQyMTc3QTQyNjAwRUEwOEYyIC8qIFJlbW90ZVZpZGVvU2FtcGxlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlEMDZDMEQ4RjBDRkQxMTQ2MDA2NUY0M0YgLyogUmVtb3ZlRm9y
bWF0Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMDUwOTlFNjQ5MjAwNTZFNTgx
IC8qIFJlbW92ZU5vZGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUwNzA5OUU2
NDkyMDA1NkU1ODEgLyogUmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbkNvbW1hbmQuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UmVtb3RlVmlkZW9TYW1wbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UmVtb3RlVmlkZW9TYW1wbGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWI2
ZjJhNDE3NzNhNWIyNzgxNWFiMjBkNGJkNDQ2OWQ2MmI5MmVhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1JlbW90ZVZpZGVvU2FtcGxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlbW90ZVZpZGVvU2FtcGxlLmgiCi0KLSNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkKLQotI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dENHLmgiCi0jaW5jbHVkZSAiSU9TdXJmYWNlLmgiCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgot
I2luY2x1ZGUgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgotI2luY2x1ZGUgIlZpZGVvRnJhbWVDVi5o
IgotCi0jaWYgVVNFKEFDQ0VMRVJBVEUpCi0jaW5jbHVkZSA8QWNjZWxlcmF0ZS9BY2NlbGVyYXRl
Lmg+Ci0jZW5kaWYKLQotI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgotI2lu
Y2x1ZGUgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3Rh
dGljIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiB0cmFuc2ZlckJHUkFQaXhlbEJ1
ZmZlclRvSU9TdXJmYWNlKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIpCi17Ci0jaWYgVVNF
KEFDQ0VMRVJBVEUpCi0gICAgQVNTRVJUKENWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUo
cGl4ZWxCdWZmZXIpID09IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpOwotCi0gICAgYXV0byBy
ZXN1bHQgPSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCBrQ1ZQaXhl
bEJ1ZmZlckxvY2tfUmVhZE9ubHkpOwotICAgIEFTU0VSVChyZXN1bHQgPT0ga0NWUmV0dXJuU3Vj
Y2Vzcyk7Ci0gICAgaWYgKHJlc3VsdCAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7Ci0gICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAidHJhbnNmZXJCR1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFj
ZSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKCkgcmV0dXJuZWQgZXJyb3IgY29kZSAlZCIs
IHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIEludFNpemUg
c2l6ZSB7IHN0YXRpY19jYXN0PGludD4oQ1ZQaXhlbEJ1ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVy
KSksIHN0YXRpY19jYXN0PGludD4oQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChwaXhlbEJ1ZmZlcikp
IH07Ci0gICAgYXV0byBpb1N1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBEZXN0aW5h
dGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgSU9TdXJmYWNlOjpGb3JtYXQ6OkJHUkEpOwotCi0gICAg
SU9TdXJmYWNlOjpMb2NrZXIgbG9jaygqaW9TdXJmYWNlKTsKLSAgICB2SW1hZ2VfQnVmZmVyIHNy
YzsKLSAgICBzcmMud2lkdGggPSBzaXplLndpZHRoKCk7Ci0gICAgc3JjLmhlaWdodCA9IHNpemUu
aGVpZ2h0KCk7Ci0gICAgc3JjLnJvd0J5dGVzID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93
KHBpeGVsQnVmZmVyKTsKLSAgICBzcmMuZGF0YSA9IENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVz
cyhwaXhlbEJ1ZmZlcik7Ci0KLSAgICB2SW1hZ2VfQnVmZmVyIGRlc3Q7Ci0gICAgZGVzdC53aWR0
aCA9IHNpemUud2lkdGgoKTsKLSAgICBkZXN0LmhlaWdodCA9IHNpemUuaGVpZ2h0KCk7Ci0gICAg
ZGVzdC5yb3dCeXRlcyA9IGlvU3VyZmFjZS0+Ynl0ZXNQZXJSb3coKTsKLSAgICBkZXN0LmRhdGEg
PSBsb2NrLnN1cmZhY2VCYXNlQWRkcmVzcygpOwotCi0gICAgdkltYWdlVW5wcmVtdWx0aXBseURh
dGFfQkdSQTg4ODgoJnNyYywgJmRlc3QsIGt2SW1hZ2VOb0ZsYWdzKTsKLQotICAgIHJlc3VsdCA9
IENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwga0NWUGl4ZWxCdWZm
ZXJMb2NrX1JlYWRPbmx5KTsKLSAgICBBU1NFUlQocmVzdWx0ID09IGtDVlJldHVyblN1Y2Nlc3Mp
OwotICAgIGlmIChyZXN1bHQgIT0ga0NWUmV0dXJuU3VjY2VzcykgewotICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihNZWRpYSwgInRyYW5zZmVyQkdSQVBpeGVsQnVmZmVyVG9JT1N1cmZhY2UgQ1ZQ
aXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKCkgcmV0dXJuZWQgZXJyb3IgY29kZSAlZCIsIHJl
c3VsdCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICByZXR1cm4gaW9TdXJm
YWNlOwotI2Vsc2UKLSAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgInRyYW5zZmVyQkdSQVBp
eGVsQnVmZmVyVG9JT1N1cmZhY2UgY2Fubm90IGNvbnZlcnQgdG8gSU9TdXJmYWNlIik7Ci0gICAg
cmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYKLX0KLQotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVv
U2FtcGxlPiBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFNo
b3VsZENoZWNrRm9ySU9TdXJmYWNlIHNob3VsZENoZWNrRm9ySU9TdXJmYWNlKQotewotICAgIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBpbWFnZUJ1ZmZlcjsKLSAgICBpZiAoaXM8TWVkaWFT
YW1wbGVBVkZPYmpDPihzYW1wbGUpKQotICAgICAgICBpbWFnZUJ1ZmZlciA9IGRvd25jYXN0PE1l
ZGlhU2FtcGxlQVZGT2JqQz4oc2FtcGxlKS5waXhlbEJ1ZmZlcigpOwotICAgIGVsc2UgaWYgKGlz
PFZpZGVvRnJhbWVDVj4oc2FtcGxlKSkKLSAgICAgICAgaW1hZ2VCdWZmZXIgPSBkb3duY2FzdDxW
aWRlb0ZyYW1lQ1Y+KHNhbXBsZSkucGl4ZWxCdWZmZXIoKTsKLSAgICBlbHNlIHsKLSAgICAgICAg
UkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlOiBjYW5u
b3Qgb2J0YWluIENWUGl4ZWxCdWZmZXIgZnJvbSBzYW1wbGUuIFVua25vd24gc2FtcGxlIHR5cGUu
Iik7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICBpZiAoIWltYWdlQnVmZmVy
KSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiUmVtb3RlVmlkZW9TYW1wbGU6
OmNyZWF0ZTogY2Fubm90IG9idGFpbiBDVlBpeGVsQnVmZmVyIGZyb20gc2FtcGxlLiBObyBidWZm
ZXIuIik7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8SU9TdXJmYWNlPiBpb1N1cmZhY2U7Ci0gICAgYXV0byBzdXJmYWNlID0gQ1ZQaXhlbEJ1ZmZl
ckdldElPU3VyZmFjZShpbWFnZUJ1ZmZlci5nZXQoKSk7Ci0gICAgaWYgKCFzdXJmYWNlICYmIHNo
b3VsZENoZWNrRm9ySU9TdXJmYWNlID09IFNob3VsZENoZWNrRm9ySU9TdXJmYWNlOjpZZXMpIHsK
LSAgICAgICAgLy8gU3BlY2lhbCBjYXNlIGZvciBjYW52YXMgZGF0YSB0aGF0IGlzIFJHQkEsIG5v
dCBJT1N1cmZhY2UgYmFja2VkLgotICAgICAgICBhdXRvIHBpeGVsRm9ybWF0VHlwZSA9IENWUGl4
ZWxCdWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUoaW1hZ2VCdWZmZXIuZ2V0KCkpOwotICAgICAgICBp
ZiAocGl4ZWxGb3JtYXRUeXBlICE9IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIHsKLSAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiUmVtb3RlVmlkZW9TYW1wbGU6OmNyZWF0
ZSBkb2VzIG5vdCBzdXBwb3J0IG5vbiBJT1N1cmZhY2UgYmFja2VkIHNhbXBsZXMgdGhhdCBhcmUg
bm90IEJHUkEiKTsKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaW9TdXJmYWNlID0gdHJhbnNmZXJCR1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFjZShpbWFn
ZUJ1ZmZlci5nZXQoKSk7Ci0gICAgICAgIGlmICghaW9TdXJmYWNlKQotICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0KLSAgICAgICAgc3VyZmFjZSA9IGlvU3VyZmFjZS0+c3VyZmFjZSgpOwot
ICAgIH0KLQotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+KG5l
dyBSZW1vdGVWaWRlb1NhbXBsZShzdXJmYWNlLCBXVEZNb3ZlKGltYWdlQnVmZmVyKSwgRGVzdGlu
YXRpb25Db2xvclNwYWNlOjpTUkdCKCksIHNhbXBsZS5wcmVzZW50YXRpb25UaW1lKCksIHNhbXBs
ZS52aWRlb1JvdGF0aW9uKCksIHNhbXBsZS52aWRlb01pcnJvcmVkKCkpKTsKLX0KLQotc3RkOjp1
bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxlPiBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGltYWdlQnVmZmVyLCBNZWRpYVRpbWUmJiBwcmVz
ZW50YXRpb25UaW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgU2hvdWxk
Q2hlY2tGb3JJT1N1cmZhY2Ugc2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2UpCi17Ci0gICAgYXV0byBz
dXJmYWNlID0gQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFjZShpbWFnZUJ1ZmZlci5nZXQoKSk7Ci0g
ICAgaWYgKCFzdXJmYWNlICYmIHNob3VsZENoZWNrRm9ySU9TdXJmYWNlID09IFNob3VsZENoZWNr
Rm9ySU9TdXJmYWNlOjpZZXMpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJS
ZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlOiBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlIHJldHVy
bmVkIG51bGxwdHIiKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCi0gICAgcmV0
dXJuIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4obmV3IFJlbW90ZVZpZGVvU2Ft
cGxlKHN1cmZhY2UsIFdURk1vdmUoaW1hZ2VCdWZmZXIpLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6
OlNSR0IoKSwgV1RGTW92ZShwcmVzZW50YXRpb25UaW1lKSwgcm90YXRpb24sIGZhbHNlKSk7Ci19
Ci0KLVJlbW90ZVZpZGVvU2FtcGxlOjpSZW1vdGVWaWRlb1NhbXBsZShJT1N1cmZhY2VSZWYgc3Vy
ZmFjZSwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgaW1hZ2VCdWZmZXIsIGNvbnN0IERl
c3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgTWVkaWFUaW1lJiYgdGltZSwgTWVkaWFT
YW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgOiBtX2lv
U3VyZmFjZShXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZUZyb21TdXJmYWNlKHN1cmZhY2UsIGNv
bG9yU3BhY2UpKQotICAgICwgbV9pbWFnZUJ1ZmZlcihXVEZNb3ZlKGltYWdlQnVmZmVyKSkKLSAg
ICAsIG1fcm90YXRpb24ocm90YXRpb24pCi0gICAgLCBtX3RpbWUoV1RGTW92ZSh0aW1lKSkKLSAg
ICAsIG1fdmlkZW9Gb3JtYXQoSU9TdXJmYWNlR2V0UGl4ZWxGb3JtYXQoc3VyZmFjZSkpCi0gICAg
LCBtX3NpemUoSW50U2l6ZShJT1N1cmZhY2VHZXRXaWR0aChzdXJmYWNlKSwgSU9TdXJmYWNlR2V0
SGVpZ2h0KHN1cmZhY2UpKSkKLSAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi17Ci19Ci0KLUlP
U3VyZmFjZVJlZiBSZW1vdGVWaWRlb1NhbXBsZTo6c3VyZmFjZSgpIGNvbnN0Ci17Ci0gICAgaWYg
KCFtX2lvU3VyZmFjZSAmJiBtX3NlbmRSaWdodCkKLSAgICAgICAgY29uc3RfY2FzdDxSZW1vdGVW
aWRlb1NhbXBsZSo+KHRoaXMpLT5tX2lvU3VyZmFjZSA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3Jl
YXRlRnJvbVNlbmRSaWdodChXVEZNb3ZlKGNvbnN0X2Nhc3Q8UmVtb3RlVmlkZW9TYW1wbGUqPih0
aGlzKS0+bV9zZW5kUmlnaHQpLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSk7Ci0KLSAg
ICByZXR1cm4gbV9pb1N1cmZhY2UgPyBtX2lvU3VyZmFjZS0+c3VyZmFjZSgpIDogbnVsbHB0cjsK
LX0KLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVW
aWRlb1NhbXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlk
ZW9TYW1wbGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFkZDkxOTAxZjg0OWUw
OWEyNDY2NDlmY2RkYTc4ZDBkZGM5YWNlNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVW
aWRlb1NhbXBsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKQotCi0jaW5jbHVkZSAiSU9TdXJm
YWNlLmgiCi0jaW5jbHVkZSAiTWVkaWFTYW1wbGUuaCIKLSNpbmNsdWRlICJSZW1vdGVWaWRlb1Nh
bXBsZS5oIgotI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+Ci0jaW5jbHVkZSA8d3RmL01l
ZGlhVGltZS5oPgotCi10eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVyUmVm
OwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFByb2Nlc3NJZGVudGl0eTsKLQotY2xh
c3MgUmVtb3RlVmlkZW9TYW1wbGUgewotcHVibGljOgotICAgIFJlbW90ZVZpZGVvU2FtcGxlKCkg
PSBkZWZhdWx0OwotICAgIFJlbW90ZVZpZGVvU2FtcGxlKFJlbW90ZVZpZGVvU2FtcGxlJiYpID0g
ZGVmYXVsdDsKLSAgICBSZW1vdGVWaWRlb1NhbXBsZSYgb3BlcmF0b3I9KFJlbW90ZVZpZGVvU2Ft
cGxlJiYpID0gZGVmYXVsdDsKLSAgICB+UmVtb3RlVmlkZW9TYW1wbGUoKSA9IGRlZmF1bHQ7Ci0K
LSAgICBlbnVtIGNsYXNzIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlIHsgTm8sIFllcyB9OwotICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+
IGNyZWF0ZShNZWRpYVNhbXBsZSYsIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlID0gU2hvdWxkQ2hl
Y2tGb3JJT1N1cmZhY2U6Olllcyk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4gY3JlYXRlKFJldGFpblB0cjxDVlBpeGVsQnVmZmVy
UmVmPiYmLCBNZWRpYVRpbWUmJiBwcmVzZW50YXRpb25UaW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9S
b3RhdGlvbiA9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBTaG91bGRDaGVja0Zv
cklPU3VyZmFjZSA9IFNob3VsZENoZWNrRm9ySU9TdXJmYWNlOjpZZXMpOwotCi0gICAgV0VCQ09S
RV9FWFBPUlQgSU9TdXJmYWNlUmVmIHN1cmZhY2UoKSBjb25zdDsKLSAgICBDVlBpeGVsQnVmZmVy
UmVmIGltYWdlQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZUJ1ZmZlci5nZXQoKTsgfQot
Ci0gICAgdm9pZCBzZXRPd25lcnNoaXBJZGVudGl0eShjb25zdCBQcm9jZXNzSWRlbnRpdHkmKTsK
LSAgICB2b2lkIGNsZWFySU9TdXJmYWNlKCkgeyBtX2lvU3VyZmFjZSA9IG51bGxwdHI7IH0KLQot
ICAgIGNvbnN0IE1lZGlhVGltZSYgdGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZTsgfQotICAg
IHVpbnQzMl90IHZpZGVvRm9ybWF0KCkgY29uc3QgeyByZXR1cm4gbV92aWRlb0Zvcm1hdDsgfQot
ICAgIEludFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQotICAgIE1lZGlhU2Ft
cGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGlvbjsg
fQotICAgIGJvb2wgbWlycm9yZWQoKSBjb25zdCB7IHJldHVybiBtX21pcnJvcmVkOyB9Ci0KLSAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAotICAgIHsKLSAgICAgICAgaWYgKG1faW9TdXJmYWNlKQotICAgICAgICAgICAgZW5jb2Rl
ciA8PCBtX2lvU3VyZmFjZS0+Y3JlYXRlU2VuZFJpZ2h0KCk7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIGVuY29kZXIgPDwgTWFjaFNlbmRSaWdodCgpOwotICAgICAgICBlbmNvZGVyIDw8IG1f
cm90YXRpb247Ci0gICAgICAgIGVuY29kZXIgPDwgbV90aW1lOwotICAgICAgICBlbmNvZGVyIDw8
IG1fdmlkZW9Gb3JtYXQ7Ci0gICAgICAgIGVuY29kZXIgPDwgbV9zaXplOwotICAgICAgICBlbmNv
ZGVyIDw8IG1fbWlycm9yZWQ7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBS
ZW1vdGVWaWRlb1NhbXBsZSYgc2FtcGxlKQotICAgIHsKLSAgICAgICAgTWFjaFNlbmRSaWdodCBz
ZW5kUmlnaHQ7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2VuZFJpZ2h0KSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fc2VuZFJpZ2h0ID0gV1RGTW92
ZShzZW5kUmlnaHQpOwotCi0gICAgICAgIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0
aW9uOwotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJvdGF0aW9uKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fcm90YXRpb24gPSByb3RhdGlvbjsKLQot
ICAgICAgICBNZWRpYVRpbWUgdGltZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0aW1l
KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fdGltZSA9IFdU
Rk1vdmUodGltZSk7Ci0KLSAgICAgICAgdWludDMyX3QgZm9ybWF0OwotICAgICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGZvcm1hdCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IHNhbXBsZS5tX3ZpZGVvRm9ybWF0ID0gZm9ybWF0OwotCi0gICAgICAgIEludFNpemUgc2l6ZTsK
LSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgc2FtcGxlLm1fc2l6ZSA9IFdURk1vdmUoc2l6ZSk7Ci0KLSAgICAgICAg
Ym9vbCBtaXJyb3JlZDsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtaXJyb3JlZCkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHNhbXBsZS5tX21pcnJvcmVkID0gbWly
cm9yZWQ7Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFJl
bW90ZVZpZGVvU2FtcGxlKElPU3VyZmFjZVJlZiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
JiYsIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYsIE1lZGlhVGltZSYmLCBNZWRpYVNhbXBs
ZTo6VmlkZW9Sb3RhdGlvbiwgYm9vbCk7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6
SU9TdXJmYWNlPiBtX2lvU3VyZmFjZTsKLSAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4g
bV9pbWFnZUJ1ZmZlcjsKLSAgICBNYWNoU2VuZFJpZ2h0IG1fc2VuZFJpZ2h0OwotICAgIE1lZGlh
U2FtcGxlOjpWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBNZWRpYVNhbXBsZTo6VmlkZW9Sb3Rh
dGlvbjo6Tm9uZSB9OwotICAgIE1lZGlhVGltZSBtX3RpbWU7Ci0gICAgdWludDMyX3QgbV92aWRl
b0Zvcm1hdCB7IDAgfTsKLSAgICBJbnRTaXplIG1fc2l6ZTsKLSAgICBib29sIG1fbWlycm9yZWQg
eyBmYWxzZSB9OwotfTsKLQotaW5saW5lIHZvaWQgUmVtb3RlVmlkZW9TYW1wbGU6OnNldE93bmVy
c2hpcElkZW50aXR5KGNvbnN0IFByb2Nlc3NJZGVudGl0eSYgcmVzb3VyY2VPd25lcikKLXsKLSAg
ICBpZiAobV9pb1N1cmZhY2UpCi0gICAgICAgIG1faW9TdXJmYWNlLT5zZXRPd25lcnNoaXBJZGVu
dGl0eShyZXNvdXJjZU93bmVyKTsKLX0KLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzUHJveHkuaAppbmRleCAxOTI2NzM4ZjllMDI4MTljN2Y0ZmI5ZGM4YWU1MzU5OTNj
MDRlOTA5Li4yZGUzNjVhNGZkM2I2OTU3MjM0NWIxODFhNTI0NDEwNWQ4ZDJlNWE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQ
cm94eS5oCkBAIC00NCwxMCArNDQsNiBAQCBjbGFzcyBEZWNvZGVyOwogY2xhc3MgU2VtYXBob3Jl
OwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0K
LQogbmFtZXNwYWNlIHdlYnJ0YyB7CiB1c2luZyBMb2NhbERlY29kZXIgPSB2b2lkKjsKIHVzaW5n
IExvY2FsRW5jb2RlciA9IHZvaWQqOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KaW5kZXggN2FkNmQ2YTFkYjRhNzNm
ZmM3N2FlYTQ3MGVmNDI0ZDhmNzFmZWY0Yy4uZDhhNDZkNzkwN2Q2NTU5ODIwYzg0M2FhNTIwNGVi
ZTYzY2E2MmU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENDb2RlY3NQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCkBAIC00MCw3ICs0MCw2IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL0NWVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVy
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2ltcG9ydCA8d2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0RGVjb2Rlci5oPgogI2ltcG9ydCA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5o
PgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CkBAIC0xMDUsMTMgKzEwNCwxMCBAQCBhdXRvIExp
YldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVEZWNvZGVyQ2FsbGJhY2soUlRDRGVjb2RlcklkZW50
aWZpZXIgaWRlbnRpZmllcgogICAgICAgICAgICAgc2FtcGxlLT5zZXRPd25lcnNoaXBJZGVudGl0
eShyZXNvdXJjZU93bmVyKTsKICAgICAgICAgaWYgKHZpZGVvRnJhbWVPYmplY3RIZWFwKSB7CiAg
ICAgICAgICAgICBhdXRvIHByb3BlcnRpZXMgPSB2aWRlb0ZyYW1lT2JqZWN0SGVhcC0+YWRkKHNh
bXBsZS5yZWxlYXNlTm9uTnVsbCgpKTsKLSAgICAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVkRGVjb2RpbmcgeyBpZGVudGlmaWVyLCB0
aW1lU3RhbXAsIFdURk1vdmUocHJvcGVydGllcykgfSwgMCk7CisgICAgICAgICAgICBjb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZERlY29kaW5nIHsg
aWRlbnRpZmllciwgdGltZVN0YW1wLCB0aW1lU3RhbXBOcywgV1RGTW92ZShwcm9wZXJ0aWVzKSB9
LCAwKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBhdXRvIHJlbW90
ZVNhbXBsZSA9IFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlOjpjcmVhdGUoKnNhbXBsZSk7Ci0g
ICAgICAgIGlmICghcmVtb3RlU2FtcGxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBj
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZERlY29k
aW5nQ1YgeyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsICpyZW1vdGVTYW1wbGUgfSwgMCk7CisgICAg
ICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVk
RGVjb2RpbmdDViB7IGlkZW50aWZpZXIsIHRpbWVTdGFtcCwgdGltZVN0YW1wTnMsIHBpeGVsQnVm
ZmVyIH0sIDApOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXgg
Nzg3YmIxMjFlNzRjNjY5NjU4MThiNjIwNDliMjFmZTliOTVlNzJmNy4uNjA0YTcxMjcwYmQwMzNl
YmVkYjg1ZTE3NjA5MzU0MzY3MmE4NTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAK
QEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVhbHRpbWVWaWRlb1NvdXJjZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVt
b3RlVmlkZW9TYW1wbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5o
PgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtMTk1LDIyICsxOTQsMTkgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuICZzYW1wbGU7CiAgICAgfQogCi0gICAgdm9pZCB2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1l
dGFkYXRhKSBmaW5hbAorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
IGZyYW1lLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKSBmaW5hbAogICAgIHsKLSAgICAg
ICAgYXV0byB2aWRlb1NhbXBsZSA9IHJvdGF0ZVZpZGVvRnJhbWVJZk5lZWRlZChzYW1wbGUpOwot
ICAgICAgICBpZiAoIXZpZGVvU2FtcGxlKQorICAgICAgICBhdXRvIHZpZGVvRnJhbWUgPSByb3Rh
dGVWaWRlb0ZyYW1lSWZOZWVkZWQoZnJhbWUpOworICAgICAgICBpZiAoIXZpZGVvRnJhbWUpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmIChtX3Jlc291cmNlT3duZXIpCi0gICAgICAg
ICAgICB2aWRlb1NhbXBsZS0+c2V0T3duZXJzaGlwSWRlbnRpdHkobV9yZXNvdXJjZU93bmVyKTsK
LSAgICAgICAgaWYgKG1fdmlkZW9GcmFtZU9iamVjdEhlYXApIHsKLSAgICAgICAgICAgIGF1dG8g
cHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZChzYW1wbGUpOwotICAgICAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEpLCAw
KTsKKyAgICAgICAgICAgIHZpZGVvRnJhbWUtPnNldE93bmVyc2hpcElkZW50aXR5KG1fcmVzb3Vy
Y2VPd25lcik7CisgICAgICAgIGlmICghbV92aWRlb0ZyYW1lT2JqZWN0SGVhcCkgeworICAgICAg
ICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlcjo6VmlkZW9GcmFtZUF2YWlsYWJsZUNWKG1faWQsIHZpZGVvRnJhbWUtPnBpeGVsQnVmZmVy
KCksIHZpZGVvRnJhbWUtPnZpZGVvUm90YXRpb24oKSwgdmlkZW9GcmFtZS0+dmlkZW9NaXJyb3Jl
ZCgpLCB2aWRlb0ZyYW1lLT5wcmVzZW50YXRpb25UaW1lKCksIG1ldGFkYXRhKSwgMCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgYXV0byByZW1vdGVTYW1wbGUgPSBS
ZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKCp2aWRlb1NhbXBsZSk7Ci0gICAgICAgIGlmICghcmVt
b3RlU2FtcGxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpWaWRlb1NhbXBsZUF2YWls
YWJsZUNWKG1faWQsICpyZW1vdGVTYW1wbGUsIG1ldGFkYXRhKSwgMCk7CisgICAgICAgIGF1dG8g
cHJvcGVydGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZCgqdmlkZW9GcmFtZSk7Cisg
ICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXI6OlZpZGVvRnJhbWVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEpLCAw
KTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlUGl4ZWxC
dWZmZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCmluZGV4IDNkODFlMjYxN2Zm
ZTkyMzc3ZGVmODA5YTAxOGNkNDJkZjJkYzM3ZTAuLmZkMTIyZGJlNTczY2FhYTliOTQ0Yzg2NTdh
NDU0NWEwZGE1YzViNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01h
Y3Jvcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVlA5VXRpbGl0
aWVzQ29jb2EuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg+
CkBAIC0zMzIsNyArMzMxLDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmZhaWxlZERlY29kaW5n
KFJUQ0RlY29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyKQogICAgICAgICBkZWNvZGVy
LT5oYXNFcnJvciA9IHRydWU7CiB9CiAKLXZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWRE
ZWNvZGluZyhSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwgdWludDMyX3Qg
dGltZVN0YW1wLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3BlcnRpZXMmJiBwcm9wZXJ0aWVz
KQordm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVu
dGlmaWVyIGRlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAsIHVpbnQzMl90IHRp
bWVTdGFtcE5zLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3BlcnRpZXMmJiBwcm9wZXJ0aWVz
KQogewogICAgIGFzc2VydElzQ3VycmVudCh3b3JrUXVldWUoKSk7CiAKQEAgLTM1NCwxMyArMzUz
LDEzIEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVy
SWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwKICAgICBpZiAoIWRlY29kZXItPmRlY29kZWRJ
bWFnZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgYXV0byYgZnJhbWUgPSByZW1vdGVW
aWRlb0ZyYW1lLmxlYWtSZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIHJlbGVhc2UgY2FsbGJhY2sg
b2YgdmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlLgotICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFz
a0NvbXBsZXRlKGRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIGZyYW1l
LnByZXNlbnRhdGlvblRpbWUoKS50b0RvdWJsZSgpLCAmZnJhbWUsCisgICAgd2VicnRjOjp2aWRl
b0RlY29kZXJUYXNrQ29tcGxldGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVT
dGFtcCwgdGltZVN0YW1wTnMgLyAxMDAwLCAmZnJhbWUsCiAgICAgICAgIFtdKGF1dG8qIHBvaW50
ZXIpIHsgcmV0dXJuIHN0YXRpY19jYXN0PFJlbW90ZVZpZGVvRnJhbWVQcm94eSo+KHBvaW50ZXIp
LT5waXhlbEJ1ZmZlcigpOyB9LAogICAgICAgICBbXShhdXRvKiBwb2ludGVyKSB7IHN0YXRpY19j
YXN0PFJlbW90ZVZpZGVvRnJhbWVQcm94eSo+KHBvaW50ZXIpLT5kZXJlZigpOyB9LAogICAgICAg
ICBmcmFtZS5zaXplKCkud2lkdGgoKSwgZnJhbWUuc2l6ZSgpLmhlaWdodCgpKTsKIH0KIAotdm9p
ZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZp
ZXIgZGVjb2RlcklkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3Rl
VmlkZW9TYW1wbGUmJiByZW1vdGVTYW1wbGUpCit2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29tcGxl
dGVkRGVjb2RpbmdDVihSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwgdWlu
dDMyX3QgdGltZVN0YW1wLCB1aW50MzJfdCB0aW1lU3RhbXBOcywgUmV0YWluUHRyPENWUGl4ZWxC
dWZmZXJSZWY+JiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXNzZXJ0SXNDdXJyZW50KHdvcmtRdWV1
ZSgpKTsKIApAQCAtMzczLDE0ICszNzIsMTIgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBs
ZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIKICAg
ICBMb2NrZXIgbG9ja2VyIHsgQWRvcHRMb2NrLCBkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFj
a0xvY2sgfTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrKQogICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKCFyZW1vdGVTYW1wbGUuc3VyZmFjZSgpKQotICAgICAgICByZXR1
cm47Ci0gICAgYXV0byBwaXhlbEJ1ZmZlciA9IGNyZWF0ZUNWUGl4ZWxCdWZmZXIocmVtb3RlU2Ft
cGxlLnN1cmZhY2UoKSkudmFsdWVfb3IobnVsbHB0cik7CisKICAgICBpZiAoIXBpeGVsQnVmZmVy
KSB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXItPmRlY29kZWRJ
bWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSwg
cGl4ZWxCdWZmZXIuZ2V0KCkpOworICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRl
KGRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIHRpbWVTdGFtcE5zIC8g
MTAwMCwgcGl4ZWxCdWZmZXIuZ2V0KCkpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBmb3Jt
YXROYW1lRnJvbUNvZGVjVHlwZShMaWJXZWJSVENDb2RlY3M6OlR5cGUgdHlwZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgK
aW5kZXggZjU4MjI2Y2RjMmZhYWE1YTQzM2ZkODk4NGJkNGE1OGJhMTAzNDA5Mi4uMDJkY2NhYzg0
MDAxMDAzODFlZjRjY2NkYmRkN2QyNDYwZTk2NTQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTUxLDEwICs1
MSw2IEBAIGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwogfQogCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci1jbGFzcyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0KLQogbmFtZXNwYWNlIHdlYnJ0
YyB7CiBjbGFzcyBWaWRlb0ZyYW1lOwogc3RydWN0IFdlYktpdEVuY29kZWRGcmFtZUluZm87CkBA
IC0xMzMsOSArMTI5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9u
TWF5Tm9Mb25nZXJCZU5lZWRlZCgpOwogCiAgICAgdm9pZCBmYWlsZWREZWNvZGluZyhSVENEZWNv
ZGVySWRlbnRpZmllcik7Ci0gICAgdm9pZCBjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVySWRl
bnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3Bl
cnRpZXMmJik7CisgICAgdm9pZCBjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVySWRlbnRpZmll
ciwgdWludDMyX3QgdGltZVN0YW1wLCB1aW50MzJfdCB0aW1lU3RhbXBOcywgUmVtb3RlVmlkZW9G
cmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYpOwogICAgIC8vIEZJWE1FOiBXaWxsIGJlIHJlbW92ZWQg
b25jZSBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFyZSB0aGUgb25seSBvbmVzIHNl
bmRpbmcgZGF0YS4KLSAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50
aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUmJik7
CisgICAgdm9pZCBjb21wbGV0ZWREZWNvZGluZ0NWKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1aW50
MzJfdCB0aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcE5zLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4mJik7CiAgICAgdm9pZCBjb21wbGV0ZWRFbmNvZGluZyhSVENFbmNvZGVySWRlbnRp
ZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlJiYsIGNvbnN0IHdlYnJ0Yzo6V2ViS2l0RW5jb2RlZEZy
YW1lSW5mbyYpOwogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0VG9CR1JB
KENWUGl4ZWxCdWZmZXJSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MubWVzc2FnZXMuaW4KaW5kZXgg
NmZjM2RiNzJkNjdhMWQ3MjY4YWZjMDEyZDJiZmRmYzI0ZWQ1MzM4My4uOGNiYmY4NmUzNWI0ODU2
YTdiMjY3ZjRhYjAwOWQ5ZTZkNTBhZTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdlcy5p
bgpAQCAtMjQsOCArMjQsOCBAQAogCiBtZXNzYWdlcyAtPiBMaWJXZWJSVENDb2RlY3MgTm90UmVm
Q291bnRlZCB7CiAgICAgRmFpbGVkRGVjb2RpbmcoV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmll
ciBpZGVudGlmaWVyKQotICAgIENvbXBsZXRlZERlY29kaW5nKFdlYktpdDo6UlRDRGVjb2Rlcklk
ZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBXZWJLaXQ6OlJlbW90ZVZp
ZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyBmcmFtZSkKLSAgICBDb21wbGV0ZWREZWNvZGluZ0NW
KFdlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0
YW1wLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUpCisgICAgQ29tcGxldGVkRGVj
b2RpbmcoV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCB1aW50MzJfdCB0
aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcE5zLCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQ
cm94eTo6UHJvcGVydGllcyBmcmFtZSkKKyAgICBDb21wbGV0ZWREZWNvZGluZ0NWKFdlYktpdDo6
UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCB1aW50
MzJfdCB0aW1lU3RhbXBOcywgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHBpeGVsQnVmZmVy
KQogICAgIENvbXBsZXRlZEVuY29kaW5nKFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWRl
bnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIHN0cnVjdCB3ZWJydGM6OldlYktpdEVu
Y29kZWRGcmFtZUluZm8gaW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCmluZGV4
IDBkN2JkYWMxMGM4Mjc3OGMxMDM2YzMyMTU1ZGYxOTY0MzM1OTFlNTIuLmIwOThlZmJlN2MzM2Mz
ZGI5ZWYwNzZlMTk2ZWQ0YThmOTdkZmYyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcApA
QCAtMzMsOCArMzMsNyBAQAogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4K
LSNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVDVi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAKICNpZiBQTEFURk9S
TShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lk
IFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6
OlJlYWx0aW1lTWVkaWFTb3VyYwogICAgIGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3RvcmFnZShpcGNI
YW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMsIFdURk1vdmUoc2VtYXBo
b3JlKSwgbWVkaWFUaW1lLCBmcmFtZUNodW5rU2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYm
IHByb3BlcnRpZXMsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNh
cHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGll
cyYmIHByb3BlcnRpZXMsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgQVNT
RVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7CiAgICAgLy8gQ3JlYXRlIHZpZGVvRnJhbWUgYmVm
b3JlIGVhcmx5IG91dHMgc28gdGhhdCB0aGUgcmVmZXJlbmNlIGluIGBwcm9wZXJ0aWVzYCBpcyBh
ZG9wdGVkLgpAQCAtMTc3LDcgKzE3Niw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFn
ZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmCiAgICAg
aXRlcmF0b3ItPnZhbHVlLT52aWRlb0ZyYW1lQXZhaWxhYmxlKFdURk1vdmUodmlkZW9GcmFtZSks
IHZpZGVvRnJhbWVTaXplLCBtZXRhZGF0YSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlVmlkZW9TYW1wbGUmJiBzYW1wbGUsIFZpZGVvU2FtcGxl
TWV0YWRhdGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRl
b0ZyYW1lQXZhaWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmll
ciwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgcGl4ZWxCdWZmZXIsIFdlYkNvcmU6Ok1l
ZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkLCBNZWRpYVRp
bWUgcHJlc2VudGF0aW9uVGltZSwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0
YSkKIHsKICAgICBBU1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgpKTsKICAgICBhdXRvIGl0ZXJh
dG9yID0gbV92aWRlb1NvdXJjZXMuZmluZChpZGVudGlmaWVyKTsKQEAgLTE4NSw3ICsxODQsMTAg
QEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGVD
VihSZWFsdGltZU1lZGlhU291cmNlSWRlbnQKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2Vi
UlRDLCAiVW5hYmxlIHRvIGZpbmQgc291cmNlICVsbHUgZm9yIHJlbW90ZVZpZGVvU2FtcGxlQXZh
aWxhYmxlIiwgaWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICBpdGVyYXRvci0+dmFsdWUtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKFdURk1vdmUoc2FtcGxl
KSwgbWV0YWRhdGEpOworCisgICAgYXV0byB2aWRlb0ZyYW1lID0gVmlkZW9GcmFtZUNWOjpjcmVh
dGUocHJlc2VudGF0aW9uVGltZSwgbWlycm9yZWQsIHJvdGF0aW9uLCBXVEZNb3ZlKHBpeGVsQnVm
ZmVyKSk7CisgICAgYXV0byBzaXplID0gdmlkZW9GcmFtZS0+cHJlc2VudGF0aW9uU2l6ZSgpOwor
ICAgIGl0ZXJhdG9yLT52YWx1ZS0+dmlkZW9GcmFtZUF2YWlsYWJsZSh2aWRlb0ZyYW1lLmdldCgp
LCB7IHN0YXRpY19jYXN0PGludD4oc2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihzaXpl
LmhlaWdodCgpKSB9LCBtZXRhZGF0YSk7CiB9CiAKIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
OjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+
JiYgc291cmNlKQpAQCAtMjU4LDIzICsyNjAsNiBAQCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
cjo6UmVtb3RlVmlkZW86OlJlbW90ZVZpZGVvKFNvdXJjZSYmIHNvdXJjZSkKIHsKIH0KIAotdm9p
ZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKFJlbW90ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFk
YXRhIG1ldGFkYXRhKQotewotICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSBjcmVhdGVDVlBpeGVsQnVm
ZmVyKHJlbW90ZVNhbXBsZS5zdXJmYWNlKCkpLnZhbHVlX29yKG51bGxwdHIpOwotICAgIGlmICgh
cGl4ZWxCdWZmZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIHZpZGVvRnJhbWUgPSBNZWRpYVNhbXBsZUFWRk9iakM6
OmNyZWF0ZUZyb21QaXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSwgcmVtb3RlU2FtcGxl
LnJvdGF0aW9uKCksIHJlbW90ZVNhbXBsZS5taXJyb3JlZCgpLCByZW1vdGVTYW1wbGUudGltZSgp
KTsKLSAgICBpZiAoIXZpZGVvRnJhbWUpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2aWRlb0ZyYW1lQXZhaWxhYmxlKHZpZGVv
RnJhbWUucmVsZWFzZU5vbk51bGwoKSwgcmVtb3RlU2FtcGxlLnNpemUoKSwgbWV0YWRhdGEpOwot
fQotCiB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlkZW9G
cmFtZUF2YWlsYWJsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBJbnRTaXplIHNpemUsIFZp
ZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgc3dpdGNoT24obV9zb3VyY2UsIFsm
XShSZWY8UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4mIHNvdXJjZSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuaAppbmRleCBjZWI3MTcwOWJmYzU5ZDQ0YjVhOGI0ZjgyYmIwZjc3MjZhN2U1MTgzLi42
OTQ1Y2FkOWZmMTFhYjg4MmNjYzdkNzY0MTBhNzVkZWI3ODJhNDUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuaApAQCAtNDUsNyArNDUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJ
bWFnZVRyYW5zZmVyU2Vzc2lvblZUOwotY2xhc3MgUmVtb3RlVmlkZW9TYW1wbGU7CiB9CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtNzUsOSArNzQsOSBAQCBwcml2YXRlOgogICAgIC8vIE1lc3Nh
Z2VzCiAgICAgdm9pZCBhdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFT
b3VyY2VJZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0IFdl
YkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVz
LCBJUEM6OlNlbWFwaG9yZSYmLCBjb25zdCBNZWRpYVRpbWUmLCBzaXplX3QgZnJhbWVTYW1wbGVT
aXplKTsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1l
ZGlhU291cmNlSWRlbnRpZmllciwgTWVkaWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7
Ci0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291
cmNlSWRlbnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNv
cmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOworICAgIHZvaWQgdmlkZW9GcmFtZUF2YWlsYWJsZShX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVBy
b3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgIC8v
IEZJWE1FOiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlk
ZXJzIGFyZSB0aGUgb25seSBvbmVzIHNlbmRpbmcgZGF0YS4KLSAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlQ1YoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNv
cmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwor
ICAgIHZvaWQgdmlkZW9GcmFtZUF2YWlsYWJsZUNWKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgV2ViQ29yZTo6TWVk
aWFTYW1wbGU6OlZpZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQsIE1lZGlhVGltZSwgV2ViQ29y
ZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAKICAgICB2b2lkIHNldENvbm5lY3Rpb24oSVBDOjpD
b25uZWN0aW9uKik7CiAKQEAgLTExMiw3ICsxMTEsNiBAQCBwcml2YXRlOgogICAgICAgICB1c2lu
ZyBTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmPFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U+LCBS
ZWY8UmVtb3RlUmVhbHRpbWVEaXNwbGF5U291cmNlPj47CiAgICAgICAgIGV4cGxpY2l0IFJlbW90
ZVZpZGVvKFNvdXJjZSYmKTsKIAotICAgICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdl
YkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEp
OwogICAgICAgICB2b2lkIHZpZGVvRnJhbWVBdmFpbGFibGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2Ft
cGxlPiYmLCBXZWJDb3JlOjpJbnRTaXplLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsK
IAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4K
aW5kZXggNmVmZjhhOGZjMTVmNDZlZWQwODY4NmE2ZWZjOTMyN2RjNGJjZGY5MC4uMjk4YmVjNjk4
NzUyYjdlZjY4MTM1ZTMzNjNiNzI0NzY3YmExOGQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjUsOCArMjUsOCBAQAogCiBtZXNzYWdlcyAtPiBSZW1v
dGVDYXB0dXJlU2FtcGxlTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBBdWRpb1N0b3JhZ2VD
aGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQ
Qzo6U2VtYXBob3JlIGNhcHR1cmVTZW1hcGhvcmUsIE1lZGlhVGltZSBtZWRpYVRpbWUsIHNpemVf
dCBmcmFtZUNodW5rU2l6ZSk7Ci0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVBy
b3h5OjpQcm9wZXJ0aWVzIHNhbXBsZSwgc3RydWN0IFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRh
dGEgbWV0YWRhdGEpCi0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGVDVihXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2Ft
cGxlLCBzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKKyAgICBW
aWRlb0ZyYW1lQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVy
IGlkLCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyBzYW1wbGUsIHN0
cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQorICAgIFZpZGVvRnJh
bWVBdmFpbGFibGVDVihXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwg
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHBpeGVsQnVmZmVyLCBXZWJDb3JlOjpNZWRpYVNh
bXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCwgTWVkaWFUaW1lIHBy
ZXNlbnRhdGlvblRpbWUsIHN0cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFk
YXRhKQogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9S
ZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRleCBkMmQyNGFiYWI5ZWMzNGEw
ZGEyMmViNjVhOGFkM2NiNWYwMDdkOTdjLi42MDBlMWRjYzRhMWQyMWQ3NDhlZDk1MjlkNzM4ZTE4
Zjg4ZDhiZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZWFsdGltZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454319</attachid>
            <date>2022-03-09 23:06:02 -0800</date>
            <delta_ts>2022-03-10 01:09:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-237592-20220310080600.patch</filename>
            <type>text/plain</type>
            <size>38699</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNlMGE5MjE1OTdmOWUy
ZWE0NzMwNTI4ZThlYjE5NGViMDliMGMxNC4uMmJiOTVjYzQxNTZjN2MyZjI5OTM1ZWRjYzNkOTYz
MjlkZjk0MTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAzLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlk
ZW9TYW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBO
byBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1NhbXBsZS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUu
aDogUmVtb3ZlZC4KKwogMjAyMi0wMy0wOSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbd2ViLWFuaW1hdGlvbnNdIGNvdW50ZXItaW5jcmVtZW50IHNob3Vs
ZCBzdXBwb3J0IGRpc2NyZXRlIGFuaW1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmMzQ3M2QxNDMxODNiMjhh
OWNjYmQyYWY3YmExNDExMjNjMTVjZDQ3Li5jNDQzMTVmYmNjOTRhNjhjNTRlYTBjNjViNzE0MTUw
MjA2MDViMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTAzLTA5ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgUmVtb3RlVmlkZW9T
YW1wbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NzU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBTZW5k
IFJlbW90ZVZpZGVvU2FtcGxlIGRhdGEgZGlyZWN0bHkgYXMgSVBDIG1lc3NhZ2UgcGFyYW1ldGVy
cyBpbnN0ZWFkIG9mIGluc2lkZSBSZW1vdGVWaWRlb1NhbXBsZS4KKyAgICAgICAgRml4IHRpbWVT
dGFtcE5zIGJ5IHNlbmRpbmcgdGhlbSBiYWNrIHRvIFdlYlByb2Nlc3MgYW5kIGRpdmlkZSB0aGVt
IGJ5IDEwMDAgdG8gcHV0IHRoZW0gYXMgbWlsbGlzZWNvbmRzLCBhcyBleHBlY3RlZCBieSBsaWJ3
ZWJydGMgYmFja2VuZC4KKworICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0Nv
ZGVjc1Byb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNz
UHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVE
ZWNvZGVyQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGli
V2ViUlRDQ29kZWNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjb21w
bGV0ZWREZWNvZGluZ0NWKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0Nv
ZGVjcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1
cmVTYW1wbGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OnZpZGVvRnJhbWVBdmFpbGFibGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9GcmFtZUF2YWlsYWJsZUNWKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZp
ZGVvU2FtcGxlQXZhaWxhYmxlQ1YpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJl
YWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorCiAyMDIyLTAzLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgYWNjZXNzaWJpbGl0eSBsaWJyYXJ5IHNo
b3VsZCBiZSBzb2Z0IGxpbmtlZCBvcHRpb25hbGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBhZTA4
ODVmMzI2Y2U0MGE2ZjAxZWZkM2EzOWEzM2IxZWU1MmM0M2IzLi43MzY0NDJhMDhhNzQ1MDBhMzUy
ZjA0YzJlMTA2ZDhjNDFlN2E0ZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJz
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE1NjQsNyArMTU2
NCw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9QbGF0Zm9ybVZpZGVvVHJhY2tDb25maWd1cmF0aW9uLmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9QbGF0Zm9ybVZpZGVvVHJhbnNmZXJDaGFyYWN0ZXJpc3RpY3MuaAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5oCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlk
ZW9TYW1wbGUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmluZ1Jlc291cmNlSWRlbnRp
Zmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUmVuZGVyaW5nTW9kZS5oCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA3MzY4NDIxYjI3NzRm
ZDVkNWU2YTZhZmU3OTYwYjQyZWNiNDQ4N2M5Li5kMmQ0YzcyZTEyYjZhMmUwYTUyMWY4NGE5Yjhl
ZTE3YzBmNjA1MmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjA4MSw3ICsyMDgxLDYgQEAgcGxhdGZv
cm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXJGb3JtYXQuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9QaXhl
bEZvcm1hdC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtVGltZVJhbmdlcy5jcHAKIHBs
YXRmb3JtL2dyYXBoaWNzL1JlZ2lvbi5jcHAKLXBsYXRmb3JtL2dyYXBoaWNzL1JlbW90ZVZpZGVv
U2FtcGxlLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuY3BwCiBwbGF0Zm9ybS9n
cmFwaGljcy9TaGFkb3dCbHVyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJp
dmF0ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBkNTUzMmNiOWQ4Y2E1NWRmMjNlZDhiMzcxNmE1YjQ2OWQyZmY4MjNhLi5l
YWVhMzgyOTVjOWFmNDQxNmYzOGE1NjlhY2M2Y2U0OTllMDAxY2U2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjAsNyArMTIw
LDYgQEAKIAkJMDczNzk0RkUxOUY1ODY0RTAwRTVBMDQ1IC8qIFJUQ05vdGlmaWVyc01vY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mzc5NEY4MTlG
NTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmllcnNNb2NrLmggKi87IH07CiAJCTA3MzhFNUVDMjQ5
OTgzOTAwMERBMTAxQyAvKiBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyVGFyZ2V0UGlja2Vy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczOEU1
RUEyNDk5NjhBRDAwREExMDFDIC8qIEFWT3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQ
aWNrZXIubW0gKi87IH07CiAJCTA3Mzk1NUJCMjdBQjI3N0YwMDlBMDhEMiAvKiBTY3JlZW5DYXB0
dXJlS2l0U2hhcmluZ1Nlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzNUQzMjI3QTlCNjBCMDBGQjAzRTQgLyogU2NyZWVuQ2Fw
dHVyZUtpdFNoYXJpbmdTZXNzaW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA3M0ExNTU0MjE3N0E0MjYwMEVBMDhGMiAvKiBSZW1v
dGVWaWRlb1NhbXBsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDczQTE1NTMyMTc3QTM5QTAwRUEwOEYyIC8qIFJlbW90ZVZpZGVvU2FtcGxlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDczQjg3Njcx
RTQzODVBQzAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczQjg3NjMxRTQzODU5RDAwNzFDMEVD
IC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTA3M0I4NzY5MUU0Mzg1QUMwMDcxQzBFQyAvKiBBdWRpb1Nh
bXBsZURhdGFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3M0I4NzY1MUU0Mzg1OUQwMDcxQzBFQyAvKiBBdWRpb1NhbXBsZURhdGFTb3VyY2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzQw
QjE0NDI1REUzMUY4MDBFMzhEQkEgLyogTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NDBCMTQzMjVE
RTMxQTkwMEUzOERCQSAvKiBNb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwICovOyB9OwpA
QCAtNjA4NSw4ICs2MDg0LDYgQEAKIAkJMDczOEU1RTgyNDk5NjhBQzAwREExMDFDIC8qIEFWT3V0
cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZP
dXRwdXREZXZpY2VNZW51Q29udHJvbGxlclRhcmdldFBpY2tlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwNzM4RTVFQTI0OTk2OEFEMDBEQTEwMUMgLyogQVZPdXRwdXREZXZpY2VN
ZW51Q29udHJvbGxlclRhcmdldFBpY2tlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWT3V0
cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJUYXJnZXRQaWNrZXIubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3MzhFNUVCMjQ5OTY5MDkwMERBMTAxQyAvKiBBVlBsYXliYWNrVGFyZ2V0
UGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWUGxheWJhY2tUYXJnZXRQaWNrZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDczQTE1NTEyMTc3QTM5ODAwRUEwOEYyIC8qIFJlbW90
ZVZpZGVvU2FtcGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVZpZGVvU2FtcGxlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDczQTE1NTMyMTc3QTM5QTAwRUEwOEYy
IC8qIFJlbW90ZVZpZGVvU2FtcGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVZpZGVvU2FtcGxl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3M0I4NzU2MUU0MERDRTUwMDcxQzBF
QyAvKiBBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDczQjg3NTcxRTQwRENGRDAwNzFDMEVDIC8qIENBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzNCODc1ODFF
NDBEQ0ZEMDA3MUMwRUMgLyogQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkxNjMsOCArMjkxNjAsNiBAQAogCQkJCUNEMUY5QUZD
MjZGRDM4Q0EwMDYxN0VCNiAvKiBQbGF0Zm9ybVZpZGVvVHJhbnNmZXJDaGFyYWN0ZXJpc3RpY3Mu
aCAqLywKIAkJCQlCQ0FCNDE3RjEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmNwcCAqLywKIAkJ
CQlCQ0FCNDE4MDEzRTM1NkU4MDBEOEFBRjMgLyogUmVnaW9uLmggKi8sCi0JCQkJMDczQTE1NTEy
MTc3QTM5ODAwRUEwOEYyIC8qIFJlbW90ZVZpZGVvU2FtcGxlLmNwcCAqLywKLQkJCQkwNzNBMTU1
MzIxNzdBMzlBMDBFQTA4RjIgLyogUmVtb3RlVmlkZW9TYW1wbGUuaCAqLywKIAkJCQk3Mjk5QkM2
NjIzRDY4NkM2MDBDQzY4ODMgLyogUmVuZGVyaW5nTW9kZS5oICovLAogCQkJCTcyOUQwNTJFMjUz
MTNFMjYwMDQyMjA5OCAvKiBSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaCAqLywKIAkJCQlB
NzNGOTVGQzEyQzk3QkZFMDAzMUFBRjkgLyogUm91bmRlZFJlY3QuY3BwICovLApAQCAtMzY4ODgs
NyArMzY4ODMsNiBAQAogCQkJCTQ2Qjk1MTlBMjA3RDYzNTQwMEE3RDJERCAvKiBSZW1vdGVGcmFt
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDMzEyRTkyMkZDRDdDMDAwMTIwNEVDIC8qIFJlbW90
ZVBsYXliYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREMzMTJFQjIyRkNEN0M5MDAxMjA0RUMg
LyogUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMDczQTE1NTQyMTc3QTQyNjAwRUEwOEYyIC8qIFJlbW90ZVZpZGVvU2FtcGxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEMDZDMEQ4RjBDRkQxMTQ2MDA2NUY0M0YgLyogUmVtb3ZlRm9ybWF0Q29t
bWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMDUwOTlFNjQ5MjAwNTZFNTgxIC8qIFJl
bW92ZU5vZGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUwNzA5OUU2NDkyMDA1
NkU1ODEgLyogUmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbkNvbW1hbmQuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3Rl
VmlkZW9TYW1wbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3Rl
VmlkZW9TYW1wbGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWI2ZjJhNDE3
NzNhNWIyNzgxNWFiMjBkNGJkNDQ2OWQ2MmI5MmVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Jl
bW90ZVZpZGVvU2FtcGxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIlJlbW90ZVZpZGVvU2FtcGxlLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkKLQotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENH
LmgiCi0jaW5jbHVkZSAiSU9TdXJmYWNlLmgiCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1
ZGUgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgotI2luY2x1ZGUgIlZpZGVvRnJhbWVDVi5oIgotCi0j
aWYgVVNFKEFDQ0VMRVJBVEUpCi0jaW5jbHVkZSA8QWNjZWxlcmF0ZS9BY2NlbGVyYXRlLmg+Ci0j
ZW5kaWYKLQotI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgotI2luY2x1ZGUg
IkNvcmVWaWRlb1NvZnRMaW5rLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGlu
bGluZSBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiB0cmFuc2ZlckJHUkFQaXhlbEJ1ZmZlclRv
SU9TdXJmYWNlKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIpCi17Ci0jaWYgVVNFKEFDQ0VM
RVJBVEUpCi0gICAgQVNTRVJUKENWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUocGl4ZWxC
dWZmZXIpID09IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpOwotCi0gICAgYXV0byByZXN1bHQg
PSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCBrQ1ZQaXhlbEJ1ZmZl
ckxvY2tfUmVhZE9ubHkpOwotICAgIEFTU0VSVChyZXN1bHQgPT0ga0NWUmV0dXJuU3VjY2Vzcyk7
Ci0gICAgaWYgKHJlc3VsdCAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKE1lZGlhLCAidHJhbnNmZXJCR1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFjZSBDVlBp
eGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKCkgcmV0dXJuZWQgZXJyb3IgY29kZSAlZCIsIHJlc3Vs
dCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIEludFNpemUgc2l6ZSB7
IHN0YXRpY19jYXN0PGludD4oQ1ZQaXhlbEJ1ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKSksIHN0
YXRpY19jYXN0PGludD4oQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChwaXhlbEJ1ZmZlcikpIH07Ci0g
ICAgYXV0byBpb1N1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBEZXN0aW5hdGlvbkNv
bG9yU3BhY2U6OlNSR0IoKSwgSU9TdXJmYWNlOjpGb3JtYXQ6OkJHUkEpOwotCi0gICAgSU9TdXJm
YWNlOjpMb2NrZXIgbG9jaygqaW9TdXJmYWNlKTsKLSAgICB2SW1hZ2VfQnVmZmVyIHNyYzsKLSAg
ICBzcmMud2lkdGggPSBzaXplLndpZHRoKCk7Ci0gICAgc3JjLmhlaWdodCA9IHNpemUuaGVpZ2h0
KCk7Ci0gICAgc3JjLnJvd0J5dGVzID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93KHBpeGVs
QnVmZmVyKTsKLSAgICBzcmMuZGF0YSA9IENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzcyhwaXhl
bEJ1ZmZlcik7Ci0KLSAgICB2SW1hZ2VfQnVmZmVyIGRlc3Q7Ci0gICAgZGVzdC53aWR0aCA9IHNp
emUud2lkdGgoKTsKLSAgICBkZXN0LmhlaWdodCA9IHNpemUuaGVpZ2h0KCk7Ci0gICAgZGVzdC5y
b3dCeXRlcyA9IGlvU3VyZmFjZS0+Ynl0ZXNQZXJSb3coKTsKLSAgICBkZXN0LmRhdGEgPSBsb2Nr
LnN1cmZhY2VCYXNlQWRkcmVzcygpOwotCi0gICAgdkltYWdlVW5wcmVtdWx0aXBseURhdGFfQkdS
QTg4ODgoJnNyYywgJmRlc3QsIGt2SW1hZ2VOb0ZsYWdzKTsKLQotICAgIHJlc3VsdCA9IENWUGl4
ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwga0NWUGl4ZWxCdWZmZXJMb2Nr
X1JlYWRPbmx5KTsKLSAgICBBU1NFUlQocmVzdWx0ID09IGtDVlJldHVyblN1Y2Nlc3MpOwotICAg
IGlmIChyZXN1bHQgIT0ga0NWUmV0dXJuU3VjY2VzcykgewotICAgICAgICBSRUxFQVNFX0xPR19F
UlJPUihNZWRpYSwgInRyYW5zZmVyQkdSQVBpeGVsQnVmZmVyVG9JT1N1cmZhY2UgQ1ZQaXhlbEJ1
ZmZlclVubG9ja0Jhc2VBZGRyZXNzKCkgcmV0dXJuZWQgZXJyb3IgY29kZSAlZCIsIHJlc3VsdCk7
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICByZXR1cm4gaW9TdXJmYWNlOwot
I2Vsc2UKLSAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgInRyYW5zZmVyQkdSQVBpeGVsQnVm
ZmVyVG9JT1N1cmZhY2UgY2Fubm90IGNvbnZlcnQgdG8gSU9TdXJmYWNlIik7Ci0gICAgcmV0dXJu
IG51bGxwdHI7Ci0jZW5kaWYKLX0KLQotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxl
PiBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFNob3VsZENo
ZWNrRm9ySU9TdXJmYWNlIHNob3VsZENoZWNrRm9ySU9TdXJmYWNlKQotewotICAgIFJldGFpblB0
cjxDVlBpeGVsQnVmZmVyUmVmPiBpbWFnZUJ1ZmZlcjsKLSAgICBpZiAoaXM8TWVkaWFTYW1wbGVB
VkZPYmpDPihzYW1wbGUpKQotICAgICAgICBpbWFnZUJ1ZmZlciA9IGRvd25jYXN0PE1lZGlhU2Ft
cGxlQVZGT2JqQz4oc2FtcGxlKS5waXhlbEJ1ZmZlcigpOwotICAgIGVsc2UgaWYgKGlzPFZpZGVv
RnJhbWVDVj4oc2FtcGxlKSkKLSAgICAgICAgaW1hZ2VCdWZmZXIgPSBkb3duY2FzdDxWaWRlb0Zy
YW1lQ1Y+KHNhbXBsZSkucGl4ZWxCdWZmZXIoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoTWVkaWEsICJSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlOiBjYW5ub3Qgb2J0
YWluIENWUGl4ZWxCdWZmZXIgZnJvbSBzYW1wbGUuIFVua25vd24gc2FtcGxlIHR5cGUuIik7Ci0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICBpZiAoIWltYWdlQnVmZmVyKSB7Ci0g
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiUmVtb3RlVmlkZW9TYW1wbGU6OmNyZWF0
ZTogY2Fubm90IG9idGFpbiBDVlBpeGVsQnVmZmVyIGZyb20gc2FtcGxlLiBObyBidWZmZXIuIik7
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SU9T
dXJmYWNlPiBpb1N1cmZhY2U7Ci0gICAgYXV0byBzdXJmYWNlID0gQ1ZQaXhlbEJ1ZmZlckdldElP
U3VyZmFjZShpbWFnZUJ1ZmZlci5nZXQoKSk7Ci0gICAgaWYgKCFzdXJmYWNlICYmIHNob3VsZENo
ZWNrRm9ySU9TdXJmYWNlID09IFNob3VsZENoZWNrRm9ySU9TdXJmYWNlOjpZZXMpIHsKLSAgICAg
ICAgLy8gU3BlY2lhbCBjYXNlIGZvciBjYW52YXMgZGF0YSB0aGF0IGlzIFJHQkEsIG5vdCBJT1N1
cmZhY2UgYmFja2VkLgotICAgICAgICBhdXRvIHBpeGVsRm9ybWF0VHlwZSA9IENWUGl4ZWxCdWZm
ZXJHZXRQaXhlbEZvcm1hdFR5cGUoaW1hZ2VCdWZmZXIuZ2V0KCkpOwotICAgICAgICBpZiAocGl4
ZWxGb3JtYXRUeXBlICE9IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIHsKLSAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhLCAiUmVtb3RlVmlkZW9TYW1wbGU6OmNyZWF0ZSBkb2Vz
IG5vdCBzdXBwb3J0IG5vbiBJT1N1cmZhY2UgYmFja2VkIHNhbXBsZXMgdGhhdCBhcmUgbm90IEJH
UkEiKTsKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICB9Ci0KLSAgICAgICAg
aW9TdXJmYWNlID0gdHJhbnNmZXJCR1JBUGl4ZWxCdWZmZXJUb0lPU3VyZmFjZShpbWFnZUJ1ZmZl
ci5nZXQoKSk7Ci0gICAgICAgIGlmICghaW9TdXJmYWNlKQotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICAgICAgc3VyZmFjZSA9IGlvU3VyZmFjZS0+c3VyZmFjZSgpOwotICAgIH0K
LQotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+KG5ldyBSZW1v
dGVWaWRlb1NhbXBsZShzdXJmYWNlLCBXVEZNb3ZlKGltYWdlQnVmZmVyKSwgRGVzdGluYXRpb25D
b2xvclNwYWNlOjpTUkdCKCksIHNhbXBsZS5wcmVzZW50YXRpb25UaW1lKCksIHNhbXBsZS52aWRl
b1JvdGF0aW9uKCksIHNhbXBsZS52aWRlb01pcnJvcmVkKCkpKTsKLX0KLQotc3RkOjp1bmlxdWVf
cHRyPFJlbW90ZVZpZGVvU2FtcGxlPiBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKFJldGFpblB0
cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGltYWdlQnVmZmVyLCBNZWRpYVRpbWUmJiBwcmVzZW50YXRp
b25UaW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgU2hvdWxkQ2hlY2tG
b3JJT1N1cmZhY2Ugc2hvdWxkQ2hlY2tGb3JJT1N1cmZhY2UpCi17Ci0gICAgYXV0byBzdXJmYWNl
ID0gQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFjZShpbWFnZUJ1ZmZlci5nZXQoKSk7Ci0gICAgaWYg
KCFzdXJmYWNlICYmIHNob3VsZENoZWNrRm9ySU9TdXJmYWNlID09IFNob3VsZENoZWNrRm9ySU9T
dXJmYWNlOjpZZXMpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWEsICJSZW1vdGVW
aWRlb1NhbXBsZTo6Y3JlYXRlOiBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlIHJldHVybmVkIG51
bGxwdHIiKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0
ZDo6dW5pcXVlX3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4obmV3IFJlbW90ZVZpZGVvU2FtcGxlKHN1
cmZhY2UsIFdURk1vdmUoaW1hZ2VCdWZmZXIpLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0Io
KSwgV1RGTW92ZShwcmVzZW50YXRpb25UaW1lKSwgcm90YXRpb24sIGZhbHNlKSk7Ci19Ci0KLVJl
bW90ZVZpZGVvU2FtcGxlOjpSZW1vdGVWaWRlb1NhbXBsZShJT1N1cmZhY2VSZWYgc3VyZmFjZSwg
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgaW1hZ2VCdWZmZXIsIGNvbnN0IERlc3RpbmF0
aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgTWVkaWFUaW1lJiYgdGltZSwgTWVkaWFTYW1wbGU6
OlZpZGVvUm90YXRpb24gcm90YXRpb24sIGJvb2wgbWlycm9yZWQpCi0gICAgOiBtX2lvU3VyZmFj
ZShXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZUZyb21TdXJmYWNlKHN1cmZhY2UsIGNvbG9yU3Bh
Y2UpKQotICAgICwgbV9pbWFnZUJ1ZmZlcihXVEZNb3ZlKGltYWdlQnVmZmVyKSkKLSAgICAsIG1f
cm90YXRpb24ocm90YXRpb24pCi0gICAgLCBtX3RpbWUoV1RGTW92ZSh0aW1lKSkKLSAgICAsIG1f
dmlkZW9Gb3JtYXQoSU9TdXJmYWNlR2V0UGl4ZWxGb3JtYXQoc3VyZmFjZSkpCi0gICAgLCBtX3Np
emUoSW50U2l6ZShJT1N1cmZhY2VHZXRXaWR0aChzdXJmYWNlKSwgSU9TdXJmYWNlR2V0SGVpZ2h0
KHN1cmZhY2UpKSkKLSAgICAsIG1fbWlycm9yZWQobWlycm9yZWQpCi17Ci19Ci0KLUlPU3VyZmFj
ZVJlZiBSZW1vdGVWaWRlb1NhbXBsZTo6c3VyZmFjZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2lv
U3VyZmFjZSAmJiBtX3NlbmRSaWdodCkKLSAgICAgICAgY29uc3RfY2FzdDxSZW1vdGVWaWRlb1Nh
bXBsZSo+KHRoaXMpLT5tX2lvU3VyZmFjZSA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlRnJv
bVNlbmRSaWdodChXVEZNb3ZlKGNvbnN0X2Nhc3Q8UmVtb3RlVmlkZW9TYW1wbGUqPih0aGlzKS0+
bV9zZW5kUmlnaHQpLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSk7Ci0KLSAgICByZXR1
cm4gbV9pb1N1cmZhY2UgPyBtX2lvU3VyZmFjZS0+c3VyZmFjZSgpIDogbnVsbHB0cjsKLX0KLQot
fQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1Nh
bXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1w
bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFkZDkxOTAxZjg0OWUwOWEyNDY2
NDlmY2RkYTc4ZDBkZGM5YWNlNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1Nh
bXBsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKQotCi0jaW5jbHVkZSAiSU9TdXJmYWNlLmgi
Ci0jaW5jbHVkZSAiTWVkaWFTYW1wbGUuaCIKLSNpbmNsdWRlICJSZW1vdGVWaWRlb1NhbXBsZS5o
IgotI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+Ci0jaW5jbHVkZSA8d3RmL01lZGlhVGlt
ZS5oPgotCi10eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVyUmVmOwotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFByb2Nlc3NJZGVudGl0eTsKLQotY2xhc3MgUmVt
b3RlVmlkZW9TYW1wbGUgewotcHVibGljOgotICAgIFJlbW90ZVZpZGVvU2FtcGxlKCkgPSBkZWZh
dWx0OwotICAgIFJlbW90ZVZpZGVvU2FtcGxlKFJlbW90ZVZpZGVvU2FtcGxlJiYpID0gZGVmYXVs
dDsKLSAgICBSZW1vdGVWaWRlb1NhbXBsZSYgb3BlcmF0b3I9KFJlbW90ZVZpZGVvU2FtcGxlJiYp
ID0gZGVmYXVsdDsKLSAgICB+UmVtb3RlVmlkZW9TYW1wbGUoKSA9IGRlZmF1bHQ7Ci0KLSAgICBl
bnVtIGNsYXNzIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlIHsgTm8sIFllcyB9OwotICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+IGNyZWF0
ZShNZWRpYVNhbXBsZSYsIFNob3VsZENoZWNrRm9ySU9TdXJmYWNlID0gU2hvdWxkQ2hlY2tGb3JJ
T1N1cmZhY2U6Olllcyk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxSZW1vdGVWaWRlb1NhbXBsZT4gY3JlYXRlKFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYm
LCBNZWRpYVRpbWUmJiBwcmVzZW50YXRpb25UaW1lLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlv
biA9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBTaG91bGRDaGVja0ZvcklPU3Vy
ZmFjZSA9IFNob3VsZENoZWNrRm9ySU9TdXJmYWNlOjpZZXMpOwotCi0gICAgV0VCQ09SRV9FWFBP
UlQgSU9TdXJmYWNlUmVmIHN1cmZhY2UoKSBjb25zdDsKLSAgICBDVlBpeGVsQnVmZmVyUmVmIGlt
YWdlQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZUJ1ZmZlci5nZXQoKTsgfQotCi0gICAg
dm9pZCBzZXRPd25lcnNoaXBJZGVudGl0eShjb25zdCBQcm9jZXNzSWRlbnRpdHkmKTsKLSAgICB2
b2lkIGNsZWFySU9TdXJmYWNlKCkgeyBtX2lvU3VyZmFjZSA9IG51bGxwdHI7IH0KLQotICAgIGNv
bnN0IE1lZGlhVGltZSYgdGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZTsgfQotICAgIHVpbnQz
Ml90IHZpZGVvRm9ybWF0KCkgY29uc3QgeyByZXR1cm4gbV92aWRlb0Zvcm1hdDsgfQotICAgIElu
dFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQotICAgIE1lZGlhU2FtcGxlOjpW
aWRlb1JvdGF0aW9uIHJvdGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGlvbjsgfQotICAg
IGJvb2wgbWlycm9yZWQoKSBjb25zdCB7IHJldHVybiBtX21pcnJvcmVkOyB9Ci0KLSAgICB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAot
ICAgIHsKLSAgICAgICAgaWYgKG1faW9TdXJmYWNlKQotICAgICAgICAgICAgZW5jb2RlciA8PCBt
X2lvU3VyZmFjZS0+Y3JlYXRlU2VuZFJpZ2h0KCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IGVuY29kZXIgPDwgTWFjaFNlbmRSaWdodCgpOwotICAgICAgICBlbmNvZGVyIDw8IG1fcm90YXRp
b247Ci0gICAgICAgIGVuY29kZXIgPDwgbV90aW1lOwotICAgICAgICBlbmNvZGVyIDw8IG1fdmlk
ZW9Gb3JtYXQ7Ci0gICAgICAgIGVuY29kZXIgPDwgbV9zaXplOwotICAgICAgICBlbmNvZGVyIDw8
IG1fbWlycm9yZWQ7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVW
aWRlb1NhbXBsZSYgc2FtcGxlKQotICAgIHsKLSAgICAgICAgTWFjaFNlbmRSaWdodCBzZW5kUmln
aHQ7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2VuZFJpZ2h0KSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fc2VuZFJpZ2h0ID0gV1RGTW92ZShzZW5k
UmlnaHQpOwotCi0gICAgICAgIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uOwot
ICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJvdGF0aW9uKSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fcm90YXRpb24gPSByb3RhdGlvbjsKLQotICAgICAg
ICBNZWRpYVRpbWUgdGltZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0aW1lKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgc2FtcGxlLm1fdGltZSA9IFdURk1vdmUo
dGltZSk7Ci0KLSAgICAgICAgdWludDMyX3QgZm9ybWF0OwotICAgICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKGZvcm1hdCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHNhbXBs
ZS5tX3ZpZGVvRm9ybWF0ID0gZm9ybWF0OwotCi0gICAgICAgIEludFNpemUgc2l6ZTsKLSAgICAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgc2FtcGxlLm1fc2l6ZSA9IFdURk1vdmUoc2l6ZSk7Ci0KLSAgICAgICAgYm9vbCBt
aXJyb3JlZDsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtaXJyb3JlZCkpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHNhbXBsZS5tX21pcnJvcmVkID0gbWlycm9yZWQ7
Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFJlbW90ZVZp
ZGVvU2FtcGxlKElPU3VyZmFjZVJlZiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYsIGNv
bnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYsIE1lZGlhVGltZSYmLCBNZWRpYVNhbXBsZTo6Vmlk
ZW9Sb3RhdGlvbiwgYm9vbCk7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJm
YWNlPiBtX2lvU3VyZmFjZTsKLSAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9pbWFn
ZUJ1ZmZlcjsKLSAgICBNYWNoU2VuZFJpZ2h0IG1fc2VuZFJpZ2h0OwotICAgIE1lZGlhU2FtcGxl
OjpWaWRlb1JvdGF0aW9uIG1fcm90YXRpb24geyBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6
Tm9uZSB9OwotICAgIE1lZGlhVGltZSBtX3RpbWU7Ci0gICAgdWludDMyX3QgbV92aWRlb0Zvcm1h
dCB7IDAgfTsKLSAgICBJbnRTaXplIG1fc2l6ZTsKLSAgICBib29sIG1fbWlycm9yZWQgeyBmYWxz
ZSB9OwotfTsKLQotaW5saW5lIHZvaWQgUmVtb3RlVmlkZW9TYW1wbGU6OnNldE93bmVyc2hpcElk
ZW50aXR5KGNvbnN0IFByb2Nlc3NJZGVudGl0eSYgcmVzb3VyY2VPd25lcikKLXsKLSAgICBpZiAo
bV9pb1N1cmZhY2UpCi0gICAgICAgIG1faW9TdXJmYWNlLT5zZXRPd25lcnNoaXBJZGVudGl0eShy
ZXNvdXJjZU93bmVyKTsKLX0KLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzUHJveHkuaAppbmRleCBiMjc2MTFkZTM0NWIwNDA1ZGJkOGJiYjQ4MGMzYjI2MzNhZmQ5YzNj
Li42OWUxYTg2NGVlYzg4ZWRlNDg1ZTUzZDhkMmRhY2ZkMTM1MzU0NTMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5o
CkBAIC00NCwxMCArNDQsNiBAQCBjbGFzcyBEZWNvZGVyOwogY2xhc3MgU2VtYXBob3JlOwogfQog
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0KLQogbmFt
ZXNwYWNlIHdlYnJ0YyB7CiB1c2luZyBMb2NhbERlY29kZXIgPSB2b2lkKjsKIHVzaW5nIExvY2Fs
RW5jb2RlciA9IHZvaWQqOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KaW5kZXggN2FkNmQ2YTFkYjRhNzNmZmM3N2Fl
YTQ3MGVmNDI0ZDhmNzFmZWY0Yy4uZDhhNDZkNzkwN2Q2NTU5ODIwYzg0M2FhNTIwNGViZTYzY2E2
MmU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3NQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5Lm1tCkBAIC00MCw3ICs0MCw2IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L0NWVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5oPgotI2ltcG9ydCA8V2ViQ29yZS9S
ZW1vdGVWaWRlb1NhbXBsZS5oPgogI2ltcG9ydCA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVj
b2Rlci5oPgogI2ltcG9ydCA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oPgogI2lt
cG9ydCA8d3RmL0Jsb2NrUHRyLmg+CkBAIC0xMDUsMTMgKzEwNCwxMCBAQCBhdXRvIExpYldlYlJU
Q0NvZGVjc1Byb3h5OjpjcmVhdGVEZWNvZGVyQ2FsbGJhY2soUlRDRGVjb2RlcklkZW50aWZpZXIg
aWRlbnRpZmllcgogICAgICAgICAgICAgc2FtcGxlLT5zZXRPd25lcnNoaXBJZGVudGl0eShyZXNv
dXJjZU93bmVyKTsKICAgICAgICAgaWYgKHZpZGVvRnJhbWVPYmplY3RIZWFwKSB7CiAgICAgICAg
ICAgICBhdXRvIHByb3BlcnRpZXMgPSB2aWRlb0ZyYW1lT2JqZWN0SGVhcC0+YWRkKHNhbXBsZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKLSAgICAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVkRGVjb2RpbmcgeyBpZGVudGlmaWVyLCB0aW1lU3Rh
bXAsIFdURk1vdmUocHJvcGVydGllcykgfSwgMCk7CisgICAgICAgICAgICBjb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZERlY29kaW5nIHsgaWRlbnRp
ZmllciwgdGltZVN0YW1wLCB0aW1lU3RhbXBOcywgV1RGTW92ZShwcm9wZXJ0aWVzKSB9LCAwKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBhdXRvIHJlbW90ZVNhbXBs
ZSA9IFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlOjpjcmVhdGUoKnNhbXBsZSk7Ci0gICAgICAg
IGlmICghcmVtb3RlU2FtcGxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZERlY29kaW5nQ1Yg
eyBpZGVudGlmaWVyLCB0aW1lU3RhbXAsICpyZW1vdGVTYW1wbGUgfSwgMCk7CisgICAgICAgIGNv
bm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6Q29tcGxldGVkRGVjb2Rp
bmdDViB7IGlkZW50aWZpZXIsIHRpbWVTdGFtcCwgdGltZVN0YW1wTnMsIHBpeGVsQnVmZmVyIH0s
IDApOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggYmY4MGU1
NGI4YmRkZmM2NTc3MTMyOWY1YzA5ZmJiYjUxOGUwMzAzNS4uYWUwNjVmOWY4MmY0MTRkNTUzM2Fk
NmZlNWE2YmM3NDI1ZWFhODliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTQ0
LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVhbHRpbWVWaWRlb1NvdXJjZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlk
ZW9TYW1wbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5oPgogI2lu
Y2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtMTkxLDIyICsxOTAsMTkgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuICZzYW1wbGU7CiAgICAgfQogCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2
YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRh
KSBmaW5hbAorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIGZyYW1l
LCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKSBmaW5hbAogICAgIHsKLSAgICAgICAgYXV0
byB2aWRlb1NhbXBsZSA9IHJvdGF0ZVZpZGVvRnJhbWVJZk5lZWRlZChzYW1wbGUpOwotICAgICAg
ICBpZiAoIXZpZGVvU2FtcGxlKQorICAgICAgICBhdXRvIHZpZGVvRnJhbWUgPSByb3RhdGVWaWRl
b0ZyYW1lSWZOZWVkZWQoZnJhbWUpOworICAgICAgICBpZiAoIXZpZGVvRnJhbWUpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGlmIChtX3Jlc291cmNlT3duZXIpCi0gICAgICAgICAgICB2
aWRlb1NhbXBsZS0+c2V0T3duZXJzaGlwSWRlbnRpdHkobV9yZXNvdXJjZU93bmVyKTsKLSAgICAg
ICAgaWYgKG1fdmlkZW9GcmFtZU9iamVjdEhlYXApIHsKLSAgICAgICAgICAgIGF1dG8gcHJvcGVy
dGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZChzYW1wbGUpOwotICAgICAgICAgICAg
bV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6
VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEpLCAwKTsKKyAg
ICAgICAgICAgIHZpZGVvRnJhbWUtPnNldE93bmVyc2hpcElkZW50aXR5KG1fcmVzb3VyY2VPd25l
cik7CisgICAgICAgIGlmICghbV92aWRlb0ZyYW1lT2JqZWN0SGVhcCkgeworICAgICAgICAgICAg
bV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6
VmlkZW9GcmFtZUF2YWlsYWJsZUNWKG1faWQsIHZpZGVvRnJhbWUtPnBpeGVsQnVmZmVyKCksIHZp
ZGVvRnJhbWUtPnZpZGVvUm90YXRpb24oKSwgdmlkZW9GcmFtZS0+dmlkZW9NaXJyb3JlZCgpLCB2
aWRlb0ZyYW1lLT5wcmVzZW50YXRpb25UaW1lKCksIG1ldGFkYXRhKSwgMCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgYXV0byByZW1vdGVTYW1wbGUgPSBSZW1vdGVW
aWRlb1NhbXBsZTo6Y3JlYXRlKCp2aWRlb1NhbXBsZSk7Ci0gICAgICAgIGlmICghcmVtb3RlU2Ft
cGxlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpWaWRlb1NhbXBsZUF2YWlsYWJsZUNW
KG1faWQsICpyZW1vdGVTYW1wbGUsIG1ldGFkYXRhKSwgMCk7CisgICAgICAgIGF1dG8gcHJvcGVy
dGllcyA9IG1fdmlkZW9GcmFtZU9iamVjdEhlYXAtPmFkZCgqdmlkZW9GcmFtZSk7CisgICAgICAg
IG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6
OlZpZGVvRnJhbWVBdmFpbGFibGUobV9pZCwgcHJvcGVydGllcywgbWV0YWRhdGEpLCAwKTsKICAg
ICB9CiAKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlUGl4ZWxCdWZmZXIo
TWVkaWFTYW1wbGUmIHNhbXBsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCmluZGV4IDNkODFlMjYxN2ZmZTkyMzc3
ZGVmODA5YTAxOGNkNDJkZjJkYzM3ZTAuLmZkMTIyZGJlNTczY2FhYTliOTQ0Yzg2NTdhNDU0NWEw
ZGE1YzViNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvQ1ZVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVlA5VXRpbGl0aWVzQ29j
b2EuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg+CkBAIC0z
MzIsNyArMzMxLDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmZhaWxlZERlY29kaW5nKFJUQ0Rl
Y29kZXJJZGVudGlmaWVyIGRlY29kZXJJZGVudGlmaWVyKQogICAgICAgICBkZWNvZGVyLT5oYXNF
cnJvciA9IHRydWU7CiB9CiAKLXZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGlu
ZyhSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0
YW1wLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3BlcnRpZXMmJiBwcm9wZXJ0aWVzKQordm9p
ZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nKFJUQ0RlY29kZXJJZGVudGlmaWVy
IGRlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFt
cE5zLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3BlcnRpZXMmJiBwcm9wZXJ0aWVzKQogewog
ICAgIGFzc2VydElzQ3VycmVudCh3b3JrUXVldWUoKSk7CiAKQEAgLTM1NCwxMyArMzUzLDEzIEBA
IHZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVySWRlbnRp
ZmllciBkZWNvZGVySWRlbnRpZmllciwKICAgICBpZiAoIWRlY29kZXItPmRlY29kZWRJbWFnZUNh
bGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgYXV0byYgZnJhbWUgPSByZW1vdGVWaWRlb0Zy
YW1lLmxlYWtSZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIHJlbGVhc2UgY2FsbGJhY2sgb2Ygdmlk
ZW9EZWNvZGVyVGFza0NvbXBsZXRlLgotICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBs
ZXRlKGRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIGZyYW1lLnByZXNl
bnRhdGlvblRpbWUoKS50b0RvdWJsZSgpLCAmZnJhbWUsCisgICAgd2VicnRjOjp2aWRlb0RlY29k
ZXJUYXNrQ29tcGxldGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVTdGFtcCwg
dGltZVN0YW1wTnMgLyAxMDAwLCAmZnJhbWUsCiAgICAgICAgIFtdKGF1dG8qIHBvaW50ZXIpIHsg
cmV0dXJuIHN0YXRpY19jYXN0PFJlbW90ZVZpZGVvRnJhbWVQcm94eSo+KHBvaW50ZXIpLT5waXhl
bEJ1ZmZlcigpOyB9LAogICAgICAgICBbXShhdXRvKiBwb2ludGVyKSB7IHN0YXRpY19jYXN0PFJl
bW90ZVZpZGVvRnJhbWVQcm94eSo+KHBvaW50ZXIpLT5kZXJlZigpOyB9LAogICAgICAgICBmcmFt
ZS5zaXplKCkud2lkdGgoKSwgZnJhbWUuc2l6ZSgpLmhlaWdodCgpKTsKIH0KIAotdm9pZCBMaWJX
ZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVj
b2RlcklkZW50aWZpZXIsIHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9T
YW1wbGUmJiByZW1vdGVTYW1wbGUpCit2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRGVj
b2RpbmdDVihSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwgdWludDMyX3Qg
dGltZVN0YW1wLCB1aW50MzJfdCB0aW1lU3RhbXBOcywgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+JiYgcGl4ZWxCdWZmZXIpCiB7CiAgICAgYXNzZXJ0SXNDdXJyZW50KHdvcmtRdWV1ZSgpKTsK
IApAQCAtMzczLDE0ICszNzIsMTIgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERl
Y29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIKICAgICBMb2Nr
ZXIgbG9ja2VyIHsgQWRvcHRMb2NrLCBkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFja0xvY2sg
fTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrKQogICAgICAgICByZXR1
cm47Ci0gICAgaWYgKCFyZW1vdGVTYW1wbGUuc3VyZmFjZSgpKQotICAgICAgICByZXR1cm47Ci0g
ICAgYXV0byBwaXhlbEJ1ZmZlciA9IGNyZWF0ZUNWUGl4ZWxCdWZmZXIocmVtb3RlU2FtcGxlLnN1
cmZhY2UoKSkudmFsdWVfb3IobnVsbHB0cik7CisKICAgICBpZiAoIXBpeGVsQnVmZmVyKSB7CiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAg
IHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29kZXItPmRlY29kZWRJbWFnZUNh
bGxiYWNrLCB0aW1lU3RhbXAsIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSwgcGl4ZWxC
dWZmZXIuZ2V0KCkpOworICAgIHdlYnJ0Yzo6dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKGRlY29k
ZXItPmRlY29kZWRJbWFnZUNhbGxiYWNrLCB0aW1lU3RhbXAsIHRpbWVTdGFtcE5zIC8gMTAwMCwg
cGl4ZWxCdWZmZXIuZ2V0KCkpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBmb3JtYXROYW1l
RnJvbUNvZGVjVHlwZShMaWJXZWJSVENDb2RlY3M6OlR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXgg
ZjU4MjI2Y2RjMmZhYWE1YTQzM2ZkODk4NGJkNGE1OGJhMTAzNDA5Mi4uMDJkY2NhYzg0MDAxMDAz
ODFlZjRjY2NkYmRkN2QyNDYwZTk2NTQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTUxLDEwICs1MSw2IEBA
IGNsYXNzIENvbm5lY3Rpb247CiBjbGFzcyBEZWNvZGVyOwogfQogCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci1jbGFzcyBSZW1vdGVWaWRlb1NhbXBsZTsKLX0KLQogbmFtZXNwYWNlIHdlYnJ0YyB7CiBj
bGFzcyBWaWRlb0ZyYW1lOwogc3RydWN0IFdlYktpdEVuY29kZWRGcmFtZUluZm87CkBAIC0xMzMs
OSArMTI5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9uTWF5Tm9M
b25nZXJCZU5lZWRlZCgpOwogCiAgICAgdm9pZCBmYWlsZWREZWNvZGluZyhSVENEZWNvZGVySWRl
bnRpZmllcik7Ci0gICAgdm9pZCBjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVySWRlbnRpZmll
ciwgdWludDMyX3QgdGltZVN0YW1wLCBSZW1vdGVWaWRlb0ZyYW1lUHJveHk6OlByb3BlcnRpZXMm
Jik7CisgICAgdm9pZCBjb21wbGV0ZWREZWNvZGluZyhSVENEZWNvZGVySWRlbnRpZmllciwgdWlu
dDMyX3QgdGltZVN0YW1wLCB1aW50MzJfdCB0aW1lU3RhbXBOcywgUmVtb3RlVmlkZW9GcmFtZVBy
b3h5OjpQcm9wZXJ0aWVzJiYpOwogICAgIC8vIEZJWE1FOiBXaWxsIGJlIHJlbW92ZWQgb25jZSBS
ZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFyZSB0aGUgb25seSBvbmVzIHNlbmRpbmcg
ZGF0YS4KLSAgICB2b2lkIGNvbXBsZXRlZERlY29kaW5nQ1YoUlRDRGVjb2RlcklkZW50aWZpZXIs
IHVpbnQzMl90IHRpbWVTdGFtcCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUmJik7CisgICAg
dm9pZCBjb21wbGV0ZWREZWNvZGluZ0NWKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1aW50MzJfdCB0
aW1lU3RhbXAsIHVpbnQzMl90IHRpbWVTdGFtcE5zLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4mJik7CiAgICAgdm9pZCBjb21wbGV0ZWRFbmNvZGluZyhSVENFbmNvZGVySWRlbnRpZmllciwg
SVBDOjpEYXRhUmVmZXJlbmNlJiYsIGNvbnN0IHdlYnJ0Yzo6V2ViS2l0RW5jb2RlZEZyYW1lSW5m
byYpOwogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0VG9CR1JBKENWUGl4
ZWxCdWZmZXJSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MubWVzc2FnZXMuaW4KaW5kZXggNmZjM2Ri
NzJkNjdhMWQ3MjY4YWZjMDEyZDJiZmRmYzI0ZWQ1MzM4My4uOGNiYmY4NmUzNWI0ODU2YTdiMjY3
ZjRhYjAwOWQ5ZTZkNTBhZTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdlcy5pbgpAQCAt
MjQsOCArMjQsOCBAQAogCiBtZXNzYWdlcyAtPiBMaWJXZWJSVENDb2RlY3MgTm90UmVmQ291bnRl
ZCB7CiAgICAgRmFpbGVkRGVjb2RpbmcoV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllciBpZGVu
dGlmaWVyKQotICAgIENvbXBsZXRlZERlY29kaW5nKFdlYktpdDo6UlRDRGVjb2RlcklkZW50aWZp
ZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJh
bWVQcm94eTo6UHJvcGVydGllcyBmcmFtZSkKLSAgICBDb21wbGV0ZWREZWNvZGluZ0NWKFdlYktp
dDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBX
ZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUpCisgICAgQ29tcGxldGVkRGVjb2Rpbmco
V2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCB1aW50MzJfdCB0aW1lU3Rh
bXAsIHVpbnQzMl90IHRpbWVTdGFtcE5zLCBXZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQcm94eTo6
UHJvcGVydGllcyBmcmFtZSkKKyAgICBDb21wbGV0ZWREZWNvZGluZ0NWKFdlYktpdDo6UlRDRGVj
b2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCB1aW50MzJfdCB0
aW1lU3RhbXBOcywgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHBpeGVsQnVmZmVyKQogICAg
IENvbXBsZXRlZEVuY29kaW5nKFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmll
ciwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIHN0cnVjdCB3ZWJydGM6OldlYktpdEVuY29kZWRG
cmFtZUluZm8gaW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCmluZGV4IDBkN2Jk
YWMxMGM4Mjc3OGMxMDM2YzMyMTU1ZGYxOTY0MzM1OTFlNTIuLmIwOThlZmJlN2MzM2MzZGI5ZWYw
NzZlMTk2ZWQ0YThmOTdkZmYyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcApAQCAtMzMs
OCArMzMsNyBAQAogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4KLSNpbmNs
dWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlQVZGT2JqQy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVt
b3RlVmlkZW9TYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVDVi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyYwogICAgIGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3RvcmFnZShpcGNIYW5kbGUu
aGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMsIFdURk1vdmUoc2VtYXBob3JlKSwg
bWVkaWFUaW1lLCBmcmFtZUNodW5rU2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlm
aWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmIHByb3Bl
cnRpZXMsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1lQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyYmIHBy
b3BlcnRpZXMsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgQVNTRVJUKCFX
VEY6OmlzTWFpblJ1bkxvb3AoKSk7CiAgICAgLy8gQ3JlYXRlIHZpZGVvRnJhbWUgYmVmb3JlIGVh
cmx5IG91dHMgc28gdGhhdCB0aGUgcmVmZXJlbmNlIGluIGBwcm9wZXJ0aWVzYCBpcyBhZG9wdGVk
LgpAQCAtMTc3LDcgKzE3Niw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZp
ZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmCiAgICAgaXRlcmF0
b3ItPnZhbHVlLT52aWRlb0ZyYW1lQXZhaWxhYmxlKFdURk1vdmUodmlkZW9GcmFtZSksIHZpZGVv
RnJhbWVTaXplLCBtZXRhZGF0YSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFn
ZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIg
aWRlbnRpZmllciwgUmVtb3RlVmlkZW9TYW1wbGUmJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRh
dGEgbWV0YWRhdGEpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb0ZyYW1l
QXZhaWxhYmxlQ1YoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgcGl4ZWxCdWZmZXIsIFdlYkNvcmU6Ok1lZGlhU2Ft
cGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkLCBNZWRpYVRpbWUgcHJl
c2VudGF0aW9uVGltZSwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsK
ICAgICBBU1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgpKTsKICAgICBhdXRvIGl0ZXJhdG9yID0g
bV92aWRlb1NvdXJjZXMuZmluZChpZGVudGlmaWVyKTsKQEAgLTE4NSw3ICsxODQsMTAgQEAgdm9p
ZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGVDVihSZWFs
dGltZU1lZGlhU291cmNlSWRlbnQKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAi
VW5hYmxlIHRvIGZpbmQgc291cmNlICVsbHUgZm9yIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxl
IiwgaWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBp
dGVyYXRvci0+dmFsdWUtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKFdURk1vdmUoc2FtcGxlKSwgbWV0
YWRhdGEpOworCisgICAgYXV0byB2aWRlb0ZyYW1lID0gVmlkZW9GcmFtZUNWOjpjcmVhdGUocHJl
c2VudGF0aW9uVGltZSwgbWlycm9yZWQsIHJvdGF0aW9uLCBXVEZNb3ZlKHBpeGVsQnVmZmVyKSk7
CisgICAgYXV0byBzaXplID0gdmlkZW9GcmFtZS0+cHJlc2VudGF0aW9uU2l6ZSgpOworICAgIGl0
ZXJhdG9yLT52YWx1ZS0+dmlkZW9GcmFtZUF2YWlsYWJsZSh2aWRlb0ZyYW1lLmdldCgpLCB7IHN0
YXRpY19jYXN0PGludD4oc2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihzaXplLmhlaWdo
dCgpKSB9LCBtZXRhZGF0YSk7CiB9CiAKIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1v
dGVBdWRpbzo6UmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYgc291
cmNlKQpAQCAtMjU4LDIzICsyNjAsNiBAQCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVt
b3RlVmlkZW86OlJlbW90ZVZpZGVvKFNvdXJjZSYmIHNvdXJjZSkKIHsKIH0KIAotdm9pZCBSZW1v
dGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KFJlbW90ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1l
dGFkYXRhKQotewotICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSBjcmVhdGVDVlBpeGVsQnVmZmVyKHJl
bW90ZVNhbXBsZS5zdXJmYWNlKCkpLnZhbHVlX29yKG51bGxwdHIpOwotICAgIGlmICghcGl4ZWxC
dWZmZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBhdXRvIHZpZGVvRnJhbWUgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0
ZUZyb21QaXhlbEJ1ZmZlcihXVEZNb3ZlKHBpeGVsQnVmZmVyKSwgcmVtb3RlU2FtcGxlLnJvdGF0
aW9uKCksIHJlbW90ZVNhbXBsZS5taXJyb3JlZCgpLCByZW1vdGVTYW1wbGUudGltZSgpKTsKLSAg
ICBpZiAoIXZpZGVvRnJhbWUpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2aWRlb0ZyYW1lQXZhaWxhYmxlKHZpZGVvRnJhbWUu
cmVsZWFzZU5vbk51bGwoKSwgcmVtb3RlU2FtcGxlLnNpemUoKSwgbWV0YWRhdGEpOwotfQotCiB2
b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlkZW9GcmFtZUF2
YWlsYWJsZShSZWY8TWVkaWFTYW1wbGU+JiYgc2FtcGxlLCBJbnRTaXplIHNpemUsIFZpZGVvU2Ft
cGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgc3dpdGNoT24obV9zb3VyY2UsIFsmXShSZWY8
UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4mIHNvdXJjZSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIu
aAppbmRleCBjZWI3MTcwOWJmYzU5ZDQ0YjVhOGI0ZjgyYmIwZjc3MjZhN2U1MTgzLi42OTQ1Y2Fk
OWZmMTFhYjg4MmNjYzdkNzY0MTBhNzVkZWI3ODJhNDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIu
aApAQCAtNDUsNyArNDUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbWFnZVRy
YW5zZmVyU2Vzc2lvblZUOwotY2xhc3MgUmVtb3RlVmlkZW9TYW1wbGU7CiB9CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNzUsOSArNzQsOSBAQCBwcml2YXRlOgogICAgIC8vIE1lc3NhZ2VzCiAg
ICAgdm9pZCBhdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6
OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6
OlNlbWFwaG9yZSYmLCBjb25zdCBNZWRpYVRpbWUmLCBzaXplX3QgZnJhbWVTYW1wbGVTaXplKTsK
ICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291
cmNlSWRlbnRpZmllciwgTWVkaWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7Ci0gICAg
dm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRl
bnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQcm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZp
ZGVvU2FtcGxlTWV0YWRhdGEpOworICAgIHZvaWQgdmlkZW9GcmFtZUF2YWlsYWJsZShXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQ
cm9wZXJ0aWVzJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgIC8vIEZJWE1F
OiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZW1vdGVWaWRlb0ZyYW1lUHJveHkgcHJvdmlkZXJzIGFy
ZSB0aGUgb25seSBvbmVzIHNlbmRpbmcgZGF0YS4KLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxh
YmxlQ1YoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJl
bW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOworICAgIHZv
aWQgdmlkZW9GcmFtZUF2YWlsYWJsZUNWKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVu
dGlmaWVyLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiwgV2ViQ29yZTo6TWVkaWFTYW1w
bGU6OlZpZGVvUm90YXRpb24sIGJvb2wgbWlycm9yZWQsIE1lZGlhVGltZSwgV2ViQ29yZTo6Vmlk
ZW9TYW1wbGVNZXRhZGF0YSk7CiAKICAgICB2b2lkIHNldENvbm5lY3Rpb24oSVBDOjpDb25uZWN0
aW9uKik7CiAKQEAgLTExMiw3ICsxMTEsNiBAQCBwcml2YXRlOgogICAgICAgICB1c2luZyBTb3Vy
Y2UgPSBzdGQ6OnZhcmlhbnQ8UmVmPFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U+LCBSZWY8UmVt
b3RlUmVhbHRpbWVEaXNwbGF5U291cmNlPj47CiAgICAgICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVv
KFNvdXJjZSYmKTsKIAotICAgICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6
OlJlbW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAg
ICAgICB2b2lkIHZpZGVvRnJhbWVBdmFpbGFibGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYm
LCBXZWJDb3JlOjpJbnRTaXplLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsKIAogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXgg
NmVmZjhhOGZjMTVmNDZlZWQwODY4NmE2ZWZjOTMyN2RjNGJjZGY5MC4uMjk4YmVjNjk4NzUyYjdl
ZjY4MTM1ZTMzNjNiNzI0NzY3YmExOGQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5tZXNzYWdlcy5pbgpAQCAtMjUsOCArMjUsOCBAQAogCiBtZXNzYWdlcyAtPiBSZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBBdWRpb1N0b3JhZ2VDaGFuZ2Vk
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJl
ZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1E
ZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2Vt
YXBob3JlIGNhcHR1cmVTZW1hcGhvcmUsIE1lZGlhVGltZSBtZWRpYVRpbWUsIHNpemVfdCBmcmFt
ZUNodW5rU2l6ZSk7Ci0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6UmVtb3RlVmlkZW9GcmFtZVByb3h5OjpQ
cm9wZXJ0aWVzIHNhbXBsZSwgc3RydWN0IFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0
YWRhdGEpCi0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGVDVihXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2FtcGxlLCBz
dHJ1Y3QgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKKyAgICBWaWRlb0Zy
YW1lQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBX
ZWJLaXQ6OlJlbW90ZVZpZGVvRnJhbWVQcm94eTo6UHJvcGVydGllcyBzYW1wbGUsIHN0cnVjdCBX
ZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQorICAgIFZpZGVvRnJhbWVBdmFp
bGFibGVDVihXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgUmV0YWlu
UHRyPENWUGl4ZWxCdWZmZXJSZWY+IHBpeGVsQnVmZmVyLCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6
VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgYm9vbCBtaXJyb3JlZCwgTWVkaWFUaW1lIHByZXNlbnRh
dGlvblRpbWUsIHN0cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQog
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVS
ZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9S
ZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRleCBjNGI3MDUxOWQ1MDE2OGYwZTRjMjcw
MzgzMTEwY2VlM2Y3MTcxZmJlLi5lZGQ1ZDQxNjEzM2FjNzIyZGEwYjk4ZTM0NjBiOTVlNDFjMWMz
YTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVh
bHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGlt
ZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>