<?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>234988</bug_id>
          
          <creation_ts>2022-01-07 14:40:02 -0800</creation_ts>
          <short_desc>Disable CFURLCache in WebKit2</short_desc>
          <delta_ts>2022-01-21 17:02:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1829081</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-07 14:40:02 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829088</commentid>
    <comment_count>1</comment_count>
      <attachid>448634</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-07 14:46:16 -0800</bug_when>
    <thetext>Created attachment 448634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831092</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-14 14:40:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/87619196&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832809</commentid>
    <comment_count>3</comment_count>
      <attachid>449670</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-21 10:48:46 -0800</bug_when>
    <thetext>Created attachment 449670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832836</commentid>
    <comment_count>4</comment_count>
      <attachid>449681</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-21 12:03:37 -0800</bug_when>
    <thetext>Created attachment 449681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832898</commentid>
    <comment_count>5</comment_count>
      <attachid>449681</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-21 14:57:44 -0800</bug_when>
    <thetext>Comment on attachment 449681
Patch

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

r=me

I added some style comments.

&gt; Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:362
&gt; +void _CFURLStorageSessionDisableCache(CFURLStorageSessionRef);

Can we make this declaration conditional on HAVE(CFNETWORK_DISABLE_CACHE_SPI)? That way you get an easier to understand compiler error, rather than a linker error, if you try to use this function when you shouldn&apos;t.

&gt; Source/WebCore/platform/network/NetworkStorageSession.h:123
&gt; +    enum class ShouldDisableURLCache : bool { No, Yes };

I would call this ShouldDisableCFURLCache, since we still enable the WebCore URL cache even when this is true.

&gt; Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp:49
&gt; +    bool isCacheDisabled = false;

Can we just use the shouldDisableURLCache parameter instead of tracking this boolean separately?

&gt; Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:184
&gt; +    bool isCacheDisabled = false;

Can we just use the shouldDisableURLCache parameter instead of tracking this boolean separately?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832900</commentid>
    <comment_count>6</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-21 15:08:19 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #5)
&gt; Comment on attachment 449681 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449681&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; I added some style comments.
&gt; 
&gt; &gt; Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:362
&gt; &gt; +void _CFURLStorageSessionDisableCache(CFURLStorageSessionRef);
&gt; 
&gt; Can we make this declaration conditional on
&gt; HAVE(CFNETWORK_DISABLE_CACHE_SPI)? That way you get an easier to understand
&gt; compiler error, rather than a linker error, if you try to use this function
&gt; when you shouldn&apos;t.

Sure.

&gt; 
&gt; &gt; Source/WebCore/platform/network/NetworkStorageSession.h:123
&gt; &gt; +    enum class ShouldDisableURLCache : bool { No, Yes };
&gt; 
&gt; I would call this ShouldDisableCFURLCache, since we still enable the WebCore
&gt; URL cache even when this is true.

Sure, I didn&apos;t add &apos;CF&apos; as it does not exist on other platforms. 

&gt; &gt; Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp:49
&gt; &gt; +    bool isCacheDisabled = false;
&gt; 
&gt; Can we just use the shouldDisableURLCache parameter instead of tracking this
&gt; boolean separately?

Sure.

&gt; 
&gt; &gt; Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:184
&gt; &gt; +    bool isCacheDisabled = false;
&gt; 
&gt; Can we just use the shouldDisableURLCache parameter instead of tracking this
&gt; boolean separately?

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832925</commentid>
    <comment_count>7</comment_count>
      <attachid>449707</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-21 15:59:23 -0800</bug_when>
    <thetext>Created attachment 449707
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832940</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-21 17:02:23 -0800</bug_when>
    <thetext>Committed r288389 (246286@main): &lt;https://commits.webkit.org/246286@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449707.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448634</attachid>
            <date>2022-01-07 14:46:16 -0800</date>
            <delta_ts>2022-01-21 10:48:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234988-20220107144615.patch</filename>
            <type>text/plain</type>
            <size>6647</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3ZWFjOGE5Zjg2ZmU2
YzY2MTBhODUzZjdmZjZiYjA1OTM2YmNmYy4uNDJkODAxODYxODJmMDA3MDlmNzYwYjhjMGY2MjQ3
OWU2Njg1NzVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTA3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFNldCBDRlVSTENhY2hlIHBy
b3BlcnRpZXMgb24gYSBiYWNrZ3JvdW5kIHF1ZXVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ5ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNoZSBjYW4g
YmUgc2xvdyAoc2VlIHJkYXI6Ly84NTQxODczMikgYW5kIFVJIHByb2Nlc3MgbWF5IGtpbGwgbmV0
d29yayBwcm9jZXNzIGZvcgorICAgICAgICBiZWluZyB1bnJlc3BvbnNpdmUuIFRvIHdvcmsgYXJv
dW5kIHRoZSBpc3N1ZSwgd2UgY2FuIG1vdmUgdGhlIGNhbGwgb2ZmIHRoZSBtYWluIHRocmVhZCBv
ZiBuZXR3b3JrIHByb2Nlc3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b246OnNoYXJlZENhY2hlUXVldWUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25DRk5ldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKToKKwogMjAyMi0w
MS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFS
ZWNvcmRlciBzaG91bGQgc3VwcG9ydCB0aGUgYml0c1BlclNlY29uZCBvcHRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNz
aW9uLmNwcAppbmRleCBiMjE3NzlmNzA5NDA4ZDMyODU2ZjAxZGRkNTQ3OTg4YWE2NDFiYzNjLi44
MDA2YjlhMjI2ZjI4Y2NjMGQ3NGU3ODhlNzM5NzQ4ZDViMGY0ODVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24u
Y3BwCkBAIC00OCw2ICs0OCwxMiBAQCBib29sIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cHJvY2Vz
c01heVVzZUNvb2tpZUFQSSgpCiAgICAgcmV0dXJuIG1fcHJvY2Vzc01heVVzZUNvb2tpZUFQSTsK
IH0KIAorV29ya1F1ZXVlJiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNoYXJlZENhY2hlUXVldWUo
KQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZWY8V29ya1F1ZXVlPj4gcXVldWUoV29y
a1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNh
Y2hlIiwgIFdvcmtRdWV1ZTo6UU9TOjpEZWZhdWx0KSk7CisgICAgcmV0dXJuIHF1ZXVlLmdldCgp
OworfQorCiB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cGVybWl0UHJvY2Vzc1RvVXNlQ29v
a2llQVBJKGJvb2wgdmFsdWUpCiB7CiAgICAgbV9wcm9jZXNzTWF5VXNlQ29va2llQVBJID0gdmFs
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb24uaAppbmRleCAzMWJjMTU3NDM2ODQzMDk4MjJmZGQ4Y2UzODczZDc0NzU3
YjJjNDg0Li40MTg2MGVlYTkxNmY2OGE4NDFiNDIwZDYxZjU2NWYzMTBhZjgzYzBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2lu
Y2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1dvcmtRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAj
aWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRlVSTENPTk5FQ1RJT04pCkBAIC0xMDcsNiArMTA4
LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcGVybWl0UHJv
Y2Vzc1RvVXNlQ29va2llQVBJKGJvb2wpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29s
IHByb2Nlc3NNYXlVc2VDb29raWVBUEkoKTsKKyAgICBzdGF0aWMgV29ya1F1ZXVlJiBzaGFyZWRD
YWNoZVF1ZXVlKCk7CiAKICAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQoKSBjb25zdCB7IHJl
dHVybiBtX3Nlc3Npb25JRDsgfQogICAgIENyZWRlbnRpYWxTdG9yYWdlJiBjcmVkZW50aWFsU3Rv
cmFnZSgpIHsgcmV0dXJuIG1fY3JlZGVudGlhbFN0b3JhZ2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNl
c3Npb25DRk5ldC5jcHAKaW5kZXggNDhmYWQ4MmQzMThkMTcyNmU0YmIyMzFiM2YzYmYzOWNkOWVi
OWQ3MC4uNTIwY2JhNGZiYTZkNzk3NDk1ZDYyMDg3ZjJiZTlkMGI2NmM4NzVlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Np
b25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3
b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAgLTQ2LDE1ICs0Niw2IEBAIFJldGFpblB0cjxD
RlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3Rv
cmFnZVNlc3Npb25GCiAgICAgaWYgKCFzdG9yYWdlU2Vzc2lvbikKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKLSAgICBhdXRvIGNhY2hlID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNv
cHlDYWNoZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lvbi5nZXQoKSkpOwotICAg
IGlmICghY2FjaGUpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgQ0ZVUkxDYWNoZVNl
dERpc2tDYXBhY2l0eShjYWNoZS5nZXQoKSwgMCk7Ci0KLSAgICBhdXRvIHNoYXJlZENhY2hlID0g
YWRvcHRDRihDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hlKCkpOwotICAgIENGVVJMQ2FjaGVT
ZXRNZW1vcnlDYXBhY2l0eShjYWNoZS5nZXQoKSwgQ0ZVUkxDYWNoZU1lbW9yeUNhcGFjaXR5KHNo
YXJlZENhY2hlLmdldCgpKSk7Ci0KICAgICBpZiAoIU5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cHJv
Y2Vzc01heVVzZUNvb2tpZUFQSSgpKQogICAgICAgICByZXR1cm4gc3RvcmFnZVNlc3Npb247CiAK
QEAgLTY4LDYgKzU5LDE2IEBAIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBOZXR3
b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25GCiAgICAgYXV0byBzaGFy
ZWRQb2xpY3kgPSBDRkhUVFBDb29raWVTdG9yYWdlR2V0Q29va2llQWNjZXB0UG9saWN5KHNoYXJl
ZENvb2tpZVN0b3JhZ2UpOwogICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRDb29raWVBY2NlcHRQ
b2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgc2hhcmVkUG9saWN5KTsKIAorICAgIE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6c2hhcmVkQ2FjaGVRdWV1ZSgpLmRpc3BhdGNoKFtzdG9yYWdlU2Vzc2lv
bl0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBjYWNoZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFn
ZVNlc3Npb25Db3B5Q2FjaGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0
KCkpKTsKKyAgICAgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBDRlVSTENhY2hlU2V0RGlza0NhcGFjaXR5KGNhY2hlLmdldCgpLCAwKTsKKyAgICAgICAgYXV0
byBzaGFyZWRDYWNoZSA9IGFkb3B0Q0YoQ0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgpKTsK
KyAgICAgICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KGNhY2hlLmdldCgpLCBDRlVSTENh
Y2hlTWVtb3J5Q2FwYWNpdHkoc2hhcmVkQ2FjaGUuZ2V0KCkpKTsKKyAgICB9KTsKKwogICAgIHJl
dHVybiBzdG9yYWdlU2Vzc2lvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29j
b2EubW0KaW5kZXggYjI4ZWJiZGRlYTRmYmEwMGEzMjFkMThkMjBiZWY0NWJkMDM5MmFjNy4uYTI4
ZTZlMWIyYjMwYmQxNjlmMTUzNmQ5N2I0Y2JkYzA1NzJkMDJkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbkNvY29hLm1tCkBAIC0xODcsMTQgKzE4Nyw2IEBAIFJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdS
ZWYgaWRlbnRpCiAgICAgLy8gRklYTUUgOTE5OTY0OTogSWYgYW55IG9mIHRoZSBzdG9yYWdlcyBk
byBub3QgZXhpc3QsIGRvIG5vIHVzZSB0aGUgc3RvcmFnZSBzZXNzaW9uLgogICAgIC8vIFRoaXMg
Y291bGQgb2NjdXIgaWYgdGhlcmUgaXMgYW4gaXNzdWUgZmlndXJpbmcgb3V0IHdoZXJlIHRvIHBs
YWNlIGEgc3RvcmFnZSBvbiBkaXNrIChlLmcuIHRoZQogICAgIC8vIHNhbmRib3ggZG9lcyBub3Qg
YWxsb3cgQ0ZOZXR3b3JrIGFjY2VzcykuCi0KLSAgICBhdXRvIGNhY2hlID0gYWRvcHRDRihfQ0ZV
UkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNoZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vz
c2lvbi5nZXQoKSkpOwotICAgIGlmICghY2FjaGUpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
Ci0gICAgQ0ZVUkxDYWNoZVNldERpc2tDYXBhY2l0eShjYWNoZS5nZXQoKSwgMCk7IC8vIFNldHRp
bmcgZGlzayBjYWNoZSBzaXplIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IG9uY2UgPHJkYXI6Ly9w
cm9ibGVtLzEyNjU2ODE0PiBpcyBmaXhlZC4KLSAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNp
dHkoY2FjaGUuZ2V0KCksIFtbTlNVUkxDYWNoZSBzaGFyZWRVUkxDYWNoZV0gbWVtb3J5Q2FwYWNp
dHldKTsKLQogICAgIGF1dG8gY29va2llU3RvcmFnZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNl
c3Npb25Db3B5Q29va2llU3RvcmFnZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lv
bi5nZXQoKSkpOwogICAgIGlmICghY29va2llU3RvcmFnZSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0yMDgsNiArMjAwLDEyIEBAIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVm
PiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdSZWYgaWRlbnRpCiAgICAgLy8g
RklYTUU6IFVzZSBfQ0ZIVFRQQ29va2llU3RvcmFnZUdldERlZmF1bHQgd2hlbiBVU0UoQ0ZORVRX
T1JLKSBpcyBkZWZpbmVkIGluIFdlYktpdCBmb3IgY29uc2lzdGVuY3kuCiAgICAgQ0ZIVFRQQ29v
a2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBuc0Nv
b2tpZUFjY2VwdFBvbGljeSk7CiAKKyAgICBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNoYXJlZENh
Y2hlUXVldWUoKS5kaXNwYXRjaChbc3RvcmFnZVNlc3Npb25dKCkgbXV0YWJsZSB7CisgICAgICAg
IGF1dG8gY2FjaGUgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7CisgICAgICAgIGlmICghY2Fj
aGUpCisgICAgICAgICAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2FjaGUuZ2V0KCks
IFtbTlNVUkxDYWNoZSBzaGFyZWRVUkxDYWNoZV0gbWVtb3J5Q2FwYWNpdHldKTsKKyAgICB9KTsK
KwogICAgIHJldHVybiBzdG9yYWdlU2Vzc2lvbjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449670</attachid>
            <date>2022-01-21 10:48:46 -0800</date>
            <delta_ts>2022-01-21 12:03:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234988-20220121104845.patch</filename>
            <type>text/plain</type>
            <size>14690</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU2NWQxYzdhMjI4MTMxMmE5YTg4YzRi
MDFiMjJmZjA2MzExYzdiMDYuLmYzZDBmNjRlNjAwNzFmN2YxYzhmMWQzNTQ5ZGMzNWYxZWVmZmI5
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjItMDEt
MTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJ
bXBsZW1lbnQgVGVtcG9yYWwuTm93Lmluc3RhbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY3Mzk1Zjk2NTVj
NjE2MTkzNGU0NDExZjFkNTg1ODNhNWQzZDhjNjUuLmIwMjkwNWJkYzRjNWVlYjRlYjhlOWM5NDJm
NjJhNjVlYTExNGE1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMi0wMS0yMSAg
U2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBEaXNhYmxlIENGVVJM
Q2FjaGUgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0OTg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NzYxOTE5Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBfQ0ZVUkxTdG9yYWdl
U2Vzc2lvbkNvcHlDYWNoZSBjYW4gYmUgc2xvdyAoc2VlIHJkYXI6Ly84NTQxODczMikgYW5kIFVJ
IHByb2Nlc3MgbWF5IGtpbGwgbmV0d29yayBwcm9jZXNzIGZvcgorICAgICAgICBiZWluZyB1bnJl
c3BvbnNpdmUuIFNpbmNlIFdlYktpdCBkb2VzIG5vdCB1c2UgQ0ZVUkxDYWNoZSwgd2Ugc2hvdWxk
IGRpc2FibGUgaXQgdG8gYXZvaWQgdGhlIGhhbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcik6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25D
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbik6
CisKIDIwMjItMDEtMjAgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0lGQ10gSW1wbGVtZW50IFRleHRVdGlsOjpkaXJlY3Rpb25Gb3JUZXh0Q29udGVudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKaW5kZXggZGQxYmRkN2Q3YzM5MmZmMmZlMjE1MTNkZGY3NTYzOTcwMjFk
MGE3OS4uOGYyMjUzNzI1MTE2ZmZmNzRmMWYxYWQ1MTEyNTIyODlhYzYxNTdiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVp
X2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oOgor
CiAyMDIyLTAxLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVXNlIGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVpbGRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDcwMmE2YWUwOGQ3NWUwOGEzOWE3YjNhMjMyMzBmNDUwMmYwZTUyODUuLmFh
Y2M2OTFiOWM2NjZmNjQyNDUzNzQ1MTZkYjZlMDJlZGZkYjE1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisK
KyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpuZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjplbnN1cmVTZXNzaW9uKToKKwogMjAyMi0wMS0yMCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFNQSSBmb3IgcGFzc2lu
ZyBhcm91bmQgYW5kIGdldHRpbmcgZGV0YWlscyBhYm91dCBgV2ViQ29yZTo6Q1NTU3R5bGVEZWNs
YXJhdGlvbmAgaW4gaW5qZWN0ZWQgYnVuZGxlIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXgg
MmEzOGE2MDg4M2RhNmQ1ZTY0OTllN2JjNmVmMWRkOWJjZDUwYTg5My4uNzZkNjc3ODI4NzcyYzNh
Mzg1Y2ViNDQ1M2U4NTY2MTNjOGVhMmM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMi0wMS0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKwor
ICAgICAgICBEaXNhYmxlIENGVVJMQ2FjaGUgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0OTg4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84NzYxOTE5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcC5jcHA6Cisg
ICAgICAgIChOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OmVuc3VyZVNlc3Npb24pOgorCiAyMDIy
LTAxLTExICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eGVkIGluc3RhbGxoZHIgYnVpbGQgZmFpbHVyZXMgaW4gV2ViQ29yZSBhbmQgV2ViS2l0TGVnYWN5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDU4YzYzNzA4YTM0OTM5ZmNkZjM4ZDQ5NWQ2MjFlZTcx
NGNiMzgzNDcuLmM2MTVkMjY4ODg3NWExZDkyOWM0NGQwMjYwNmQ3OTNhNmM3ZmQ5NmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0xMTUyLDMgKzExNTIsMTAgQEAKICNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAyMDAKICNkZWZpbmUgSEFW
RV9QTEFURk9STV9TQ1JPTExfTU9NRU5UVU1fSU5URVJSVVBUSU9OX1JFQVNPTiAxCiAjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMjAzMDApIFwKKyAgICB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxNTA0MDApIFwKKyAgICB8fCAoUExBVEZPUk0oQVBQTEVU
VikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkgXAorICAgIHx8IChQ
TEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gODA1
MDApCisjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0RJU0FCTEVfQ0FDSEVfU1BJIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCBkMjQ3
YTJkODQ5NWNkZTlkZDNmZGIxYmJlN2Y5Mzc4MzJlNzgxNjMzLi4xNzgzMmNjODVlMjA0OWI5NDc2
NTU1ZjY3Yjc3YmMwMTcwZTg0MDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jZi9DRk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zi9DRk5ldHdvcmtTUEkuaApAQCAtMzU5LDYgKzM1OSw3IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2Fj
aGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIHZv
aWQgX0NGQ2FjaGVkVVJMUmVzcG9uc2VTZXRCZWNhbWVGaWxlQmFja2VkQ2FsbEJhY2tCbG9jayhD
RkNhY2hlZFVSTFJlc3BvbnNlUmVmLCBDRkNhY2hlZFVSTFJlc3BvbnNlQ2FsbEJhY2tCbG9jaywg
ZGlzcGF0Y2hfcXVldWVfdCk7CiAjZW5kaWYKIAordm9pZCBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkRp
c2FibGVDYWNoZShDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKIENGVVJMU3RvcmFnZVNlc3Npb25S
ZWYgX0NGVVJMU3RvcmFnZVNlc3Npb25DcmVhdGUoQ0ZBbGxvY2F0b3JSZWYsIENGU3RyaW5nUmVm
LCBDRkRpY3Rpb25hcnlSZWYpOwogQ0ZVUkxDYWNoZVJlZiBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNv
cHlDYWNoZShDRkFsbG9jYXRvclJlZiwgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZik7CiB2b2lkIENG
VVJMUmVxdWVzdFNldFNob3VsZFN0YXJ0U3luY2hyb25vdXNseShDRlVSTFJlcXVlc3RSZWYsIEJv
b2xlYW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uLmgKaW5kZXggMzFiYzE1NzQzNjg0MzA5ODIyZmRkOGNlMzg3M2Q3
NDc1N2IyYzQ4NC4uM2YzZTIwN2QxMmZmNzFjMTRiNjJiMDQ0MTQzMDFmMTI1Yjk1ZTgwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNl
c3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9y
YWdlU2Vzc2lvbi5oCkBAIC0xMjAsNyArMTIwLDggQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShDT0NPQSkgfHwgVVNFKENGVVJMQ09OTkVDVElPTikKLSAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZUNGU3RvcmFn
ZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIpOworICAgIGVudW0g
Y2xhc3MgU2hvdWxkRGlzYWJsZVVSTENhY2hlIDogYm9vbCB7IE5vLCBZZXMgfTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0
ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIsIFNo
b3VsZERpc2FibGVVUkxDYWNoZSA9IFNob3VsZERpc2FibGVVUkxDYWNoZTo6Tm8pOwogICAgIGVu
dW0gY2xhc3MgSXNJbk1lbW9yeUNvb2tpZVN0b3JlIDogYm9vbCB7IE5vLCBZZXMgfTsKICAgICBX
RUJDT1JFX0VYUE9SVCBOZXR3b3JrU3RvcmFnZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIFJldGFp
blB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiYmLCBSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3Rv
cmFnZVJlZj4mJiwgSXNJbk1lbW9yeUNvb2tpZVN0b3JlID0gSXNJbk1lbW9yeUNvb2tpZVN0b3Jl
OjpObyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
KFBBTDo6U2Vzc2lvbklEKTsKQEAgLTMwMSw3ICszMDIsNyBAQCBwcml2YXRlOgogfTsKIAogI2lm
IFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQotV0VCQ09SRV9FWFBPUlQg
UmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vz
c2lvbihDRlN0cmluZ1JlZiBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k+ID0gc3RkOjpudWxsb3B0KTsKK1dFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdS
ZWYgaWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxIVFRQQ29va2llQWNjZXB0UG9saWN5PiA9IHN0
ZDo6bnVsbG9wdCwgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpTaG91bGREaXNhYmxlVVJMQ2FjaGUg
PSBOZXR3b3JrU3RvcmFnZVNlc3Npb246OlNob3VsZERpc2FibGVVUkxDYWNoZTo6Tm8pOwogI2Vu
ZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
TmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggNDhmYWQ4MmQz
MThkMTcyNmU0YmIyMzFiM2YzYmYzOWNkOWViOWQ3MC4uNGU4NGRkNjEzM2MyMzJiNDc1YmMxNmJm
ZGY5ZGUxODJkOTJlOGY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAg
LTM5LDIxICszOSwzNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFn
ZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIpCitSZXRhaW5QdHI8
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0
b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcihDRlN0cmluZ1JlZiBpZGVudGlmaWVyLCBTaG91bGRE
aXNhYmxlVVJMQ2FjaGUgc2hvdWxkRGlzYWJsZVVSTENhY2hlKQogewogICAgIGF1dG8gc3RvcmFn
ZVNlc3Npb24gPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ3JlYXRlKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIGlkZW50aWZpZXIsIG51bGxwdHIpKTsKIAogICAgIGlmICghc3RvcmFnZVNlc3Np
b24pCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBjYWNoZSA9IGFkb3B0Q0Yo
X0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFn
ZVNlc3Npb24uZ2V0KCkpKTsKLSAgICBpZiAoIWNhY2hlKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICBib29sIGlzQ2FjaGVEaXNhYmxlZCA9IGZhbHNlOworCisjaWYgSEFWRShDRk5FVFdP
UktfRElTQUJMRV9DQUNIRV9TUEkpCisgICAgaWYgKHNob3VsZERpc2FibGVVUkxDYWNoZSA9PSBT
aG91bGREaXNhYmxlVVJMQ2FjaGU6OlllcykgeworICAgICAgICBfQ0ZVUkxTdG9yYWdlU2Vzc2lv
bkRpc2FibGVDYWNoZShzdG9yYWdlU2Vzc2lvbi5nZXQoKSk7CisgICAgICAgIGlzQ2FjaGVEaXNh
YmxlZCA9IHRydWU7CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2hvdWxkRGlzYWJs
ZVVSTENhY2hlKTsKKyNlbmRpZgorCisgICAgaWYgKCFpc0NhY2hlRGlzYWJsZWQpIHsKKyAgICAg
ICAgYXV0byBjYWNoZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKKyAgICAgICAgaWYgKCFj
YWNoZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQ0ZVUkxDYWNoZVNldERp
c2tDYXBhY2l0eShjYWNoZS5nZXQoKSwgMCk7CisgICAgICAgIENGVVJMQ2FjaGVTZXREaXNrQ2Fw
YWNpdHkoY2FjaGUuZ2V0KCksIDApOwogCi0gICAgYXV0byBzaGFyZWRDYWNoZSA9IGFkb3B0Q0Yo
Q0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgpKTsKLSAgICBDRlVSTENhY2hlU2V0TWVtb3J5
Q2FwYWNpdHkoY2FjaGUuZ2V0KCksIENGVVJMQ2FjaGVNZW1vcnlDYXBhY2l0eShzaGFyZWRDYWNo
ZS5nZXQoKSkpOworICAgICAgICBhdXRvIHNoYXJlZENhY2hlID0gYWRvcHRDRihDRlVSTENhY2hl
Q29weVNoYXJlZFVSTENhY2hlKCkpOworICAgICAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNp
dHkoY2FjaGUuZ2V0KCksIENGVVJMQ2FjaGVNZW1vcnlDYXBhY2l0eShzaGFyZWRDYWNoZS5nZXQo
KSkpOworICAgIH0KIAogICAgIGlmICghTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpwcm9jZXNzTWF5
VXNlQ29va2llQVBJKCkpCiAgICAgICAgIHJldHVybiBzdG9yYWdlU2Vzc2lvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05l
dHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCmluZGV4IGIyOGViYmRkZWE0ZmJhMDBhMzIxZDE4
ZDIwYmVmNDViZDAzOTJhYzcuLmUxODA0NzY5MjM5ZjUwZGI0YTliNTEzMTdjZTNkMWVhNzE2MGMw
YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQpAQCAtMTcxLDcgKzE3
MSw3IEBAIENvb2tpZVN0b3JhZ2VPYnNlcnZlciYgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29r
aWVTdG9yYWdlT2JzZXJ2ZXIoKSBjb25zdAogICAgIHJldHVybiAqbV9jb29raWVTdG9yYWdlT2Jz
ZXJ2ZXI7CiB9CiAKLVJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVQcml2
YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdSZWYgaWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxI
VFRQQ29va2llQWNjZXB0UG9saWN5PiBjb29raWVBY2NlcHRQb2xpY3kpCitSZXRhaW5QdHI8Q0ZV
UkxTdG9yYWdlU2Vzc2lvblJlZj4gY3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKENGU3RyaW5n
UmVmIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8SFRUUENvb2tpZUFjY2VwdFBvbGljeT4gY29v
a2llQWNjZXB0UG9saWN5LCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OlNob3VsZERpc2FibGVVUkxD
YWNoZSBzaG91bGREaXNhYmxlVVJMQ2FjaGUpCiB7CiAgICAgY29uc3Qgdm9pZCogc2Vzc2lvblBy
b3BlcnR5S2V5c1tdID0geyBfa0NGVVJMU3RvcmFnZVNlc3Npb25Jc1ByaXZhdGUgfTsKICAgICBj
b25zdCB2b2lkKiBzZXNzaW9uUHJvcGVydHlWYWx1ZXNbXSA9IHsga0NGQm9vbGVhblRydWUgfTsK
QEAgLTE4MSw2ICsxODEsMTcgQEAgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNy
ZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihDRlN0cmluZ1JlZiBpZGVudGkKICAgICBpZiAoIXN0
b3JhZ2VTZXNzaW9uKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIGJvb2wgaXNDYWNo
ZURpc2FibGVkID0gZmFsc2U7CisKKyNpZiBIQVZFKENGTkVUV09SS19ESVNBQkxFX0NBQ0hFX1NQ
SSkKKyAgICBpZiAoc2hvdWxkRGlzYWJsZVVSTENhY2hlID09IE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6U2hvdWxkRGlzYWJsZVVSTENhY2hlOjpZZXMpIHsKKyAgICAgICAgX0NGVVJMU3RvcmFnZVNl
c3Npb25EaXNhYmxlQ2FjaGUoc3RvcmFnZVNlc3Npb24uZ2V0KCkpOworICAgICAgICBpc0NhY2hl
RGlzYWJsZWQgPSB0cnVlOworICAgIH0KKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNob3VsZERp
c2FibGVVUkxDYWNoZSk7CisjZW5kaWYKKwogICAgIC8vIFRoZSBwcml2YXRlIHN0b3JhZ2Ugc2Vz
c2lvbiBzaG91bGQgaGF2ZSB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBkZWZhdWx0IHN0b3Jh
Z2Ugc2Vzc2lvbiwKICAgICAvLyB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCBpdCBzaG91bGQgYmUg
aW4tbWVtb3J5IG9ubHkgc3RvcmFnZS4KIApAQCAtMTg4LDEyICsxOTksMTMgQEAgUmV0YWluUHRy
PENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihDRlN0
cmluZ1JlZiBpZGVudGkKICAgICAvLyBUaGlzIGNvdWxkIG9jY3VyIGlmIHRoZXJlIGlzIGFuIGlz
c3VlIGZpZ3VyaW5nIG91dCB3aGVyZSB0byBwbGFjZSBhIHN0b3JhZ2Ugb24gZGlzayAoZS5nLiB0
aGUKICAgICAvLyBzYW5kYm94IGRvZXMgbm90IGFsbG93IENGTmV0d29yayBhY2Nlc3MpLgogCi0g
ICAgYXV0byBjYWNoZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKLSAgICBpZiAoIWNhY2hl
KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIWlzQ2FjaGVEaXNhYmxlZCkgewor
ICAgICAgICBhdXRvIGNhY2hlID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNo
ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lvbi5nZXQoKSkpOworICAgICAgICBp
ZiAoIWNhY2hlKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBDRlVSTENhY2hl
U2V0RGlza0NhcGFjaXR5KGNhY2hlLmdldCgpLCAwKTsgLy8gU2V0dGluZyBkaXNrIGNhY2hlIHNp
emUgc2hvdWxkIG5vdCBiZSBuZWNlc3Nhcnkgb25jZSA8cmRhcjovL3Byb2JsZW0vMTI2NTY4MTQ+
IGlzIGZpeGVkLgotICAgIENGVVJMQ2FjaGVTZXRNZW1vcnlDYXBhY2l0eShjYWNoZS5nZXQoKSwg
W1tOU1VSTENhY2hlIHNoYXJlZFVSTENhY2hlXSBtZW1vcnlDYXBhY2l0eV0pOworICAgICAgICBD
RlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2FjaGUuZ2V0KCksIFtbTlNVUkxDYWNoZSBzaGFy
ZWRVUkxDYWNoZV0gbWVtb3J5Q2FwYWNpdHldKTsKKyAgICB9CiAKICAgICBhdXRvIGNvb2tpZVN0
b3JhZ2UgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKICAgICBpZiAoIWNvb2tp
ZVN0b3JhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCmluZGV4IDI2YmQxMDcxOTk0YjNmODI3YmQ3ZDU5NzQ1MzlhZjE0OWMxNjIyY2EuLmQz
OGQzODdhODgwMDk1NWQxNWYzNzVhM2FiNzhiY2I5Zjk4YjBkYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC00NDMsNyArNDQzLDcg
QEAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4gTmV0d29y
a1Byb2Nlc3M6Om5ld1Rlc3RpbmdTZXNzaW8KIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAv
LyBTZXNzaW9uIG5hbWUgc2hvdWxkIGJlIHNob3J0IGVub3VnaCBmb3Igc2hhcmVkIG1lbW9yeSBy
ZWdpb24gbmFtZSB0byBiZSB1bmRlciB0aGUgbGltaXQsIG90aGVyd2lzZSBzYW5kYm94IHJ1bGVz
IHdvbid0IHdvcmsgKHNlZSA8cmRhcjovL3Byb2JsZW0vMTM2NDI4NTI+KS4KLSAgICBhdXRvIHNl
c3Npb24gPSBXZWJDb3JlOjpjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24obWFrZVN0cmluZygi
V2ViS2l0IFRlc3QtIiwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpKS5jcmVhdGVDRlN0cmluZygpLmdl
dCgpKTsKKyAgICBhdXRvIHNlc3Npb24gPSBXZWJDb3JlOjpjcmVhdGVQcml2YXRlU3RvcmFnZVNl
c3Npb24obWFrZVN0cmluZygiV2ViS2l0IFRlc3QtIiwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpKS5j
cmVhdGVDRlN0cmluZygpLmdldCgpLCBzdGQ6Om51bGxvcHQsIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6U2hvdWxkRGlzYWJsZVVSTENhY2hlOjpZZXMpOwogICAgIFJldGFpblB0cjxDRkhUVFBDb29r
aWVTdG9yYWdlUmVmPiBjb29raWVTdG9yYWdlOwogICAgIGlmIChXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OnByb2Nlc3NNYXlVc2VDb29raWVBUEkoKSkgewogICAgICAgICBBU1NFUlQo
aGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVz
KSk7CkBAIC00NzUsNyArNDc1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZW5zdXJlU2Vzc2lv
bihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgc2hvdWxkVXNlVGVzdGkKICAgICBSZXRh
aW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gc3RvcmFnZVNlc3Npb247CiAgICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiBjZklkZW50aWZpZXIgPSBtYWtlU3RyaW5nKGlkZW50aWZpZXJCYXNl
LCAiLlByaXZhdGVCcm93c2luZy4iLCBjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkpLmNyZWF0
ZUNGU3RyaW5nKCk7CiAgICAgaWYgKHNlc3Npb25JRC5pc0VwaGVtZXJhbCgpKQotICAgICAgICBz
dG9yYWdlU2Vzc2lvbiA9IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihjZklkZW50aWZpZXIu
Z2V0KCkpOworICAgICAgICBzdG9yYWdlU2Vzc2lvbiA9IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vz
c2lvbihjZklkZW50aWZpZXIuZ2V0KCksIHN0ZDo6bnVsbG9wdCwgV2ViQ29yZTo6TmV0d29ya1N0
b3JhZ2VTZXNzaW9uOjpTaG91bGREaXNhYmxlVVJMQ2FjaGU6Olllcyk7CiAgICAgZWxzZSBpZiAo
c2Vzc2lvbklEICE9IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpCiAgICAgICAg
IHN0b3JhZ2VTZXNzaW9uID0gV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVD
RlN0b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcihjZklkZW50aWZpZXIuZ2V0KCkpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L05ldHdvcmtTdG9yYWdl
U2Vzc2lvbk1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L05ldHdv
cmtTdG9yYWdlU2Vzc2lvbk1hcC5jcHAKaW5kZXggNGQwYjI2ZDJjZGUzYmZjMDMzNjZlYzk5MTUw
M2RmYmU1YWEyMmE1Ni4uYmE2NjUxY2E3NDRmNWZlMmRlYWZlNjZkZGFkMjdlYzI1N2UyOTk2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9OZXR3b3JrU3Rv
cmFnZVNlc3Npb25NYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBv
cnQvTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwLmNwcApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIE5l
dHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6ZW5zdXJlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIGNvbnN0IFN0cgogICAgIGlmIChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSkKICAgICAg
ICAgc3RvcmFnZVNlc3Npb24gPSBXZWJDb3JlOjpjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24o
aWRlbnRpZmllci5nZXQoKSk7CiAgICAgZWxzZQotICAgICAgICBzdG9yYWdlU2Vzc2lvbiA9IFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklk
ZW50aWZpZXIoaWRlbnRpZmllci5nZXQoKSk7CisgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gV2Vi
Q29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0b3JhZ2VTZXNzaW9uRm9ySWRl
bnRpZmllcihpZGVudGlmaWVyLmdldCgpLCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246
OlNob3VsZERpc2FibGVVUkxDYWNoZTo6WWVzKTsKIAogICAgIFJldGFpblB0cjxDRkhUVFBDb29r
aWVTdG9yYWdlUmVmPiBjb29raWVTdG9yYWdlOwogICAgIGlmIChXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OnByb2Nlc3NNYXlVc2VDb29raWVBUEkoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449681</attachid>
            <date>2022-01-21 12:03:37 -0800</date>
            <delta_ts>2022-01-21 15:59:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234988-20220121120336.patch</filename>
            <type>text/plain</type>
            <size>15723</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU2NWQxYzdhMjI4MTMxMmE5YTg4YzRi
MDFiMjJmZjA2MzExYzdiMDYuLmYzZDBmNjRlNjAwNzFmN2YxYzhmMWQzNTQ5ZGMzNWYxZWVmZmI5
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjItMDEt
MTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJ
bXBsZW1lbnQgVGVtcG9yYWwuTm93Lmluc3RhbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY3Mzk1Zjk2NTVj
NjE2MTkzNGU0NDExZjFkNTg1ODNhNWQzZDhjNjUuLmIwMjkwNWJkYzRjNWVlYjRlYjhlOWM5NDJm
NjJhNjVlYTExNGE1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMi0wMS0yMSAg
U2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBEaXNhYmxlIENGVVJM
Q2FjaGUgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0OTg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NzYxOTE5Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBfQ0ZVUkxTdG9yYWdl
U2Vzc2lvbkNvcHlDYWNoZSBjYW4gYmUgc2xvdyAoc2VlIHJkYXI6Ly84NTQxODczMikgYW5kIFVJ
IHByb2Nlc3MgbWF5IGtpbGwgbmV0d29yayBwcm9jZXNzIGZvcgorICAgICAgICBiZWluZyB1bnJl
c3BvbnNpdmUuIFNpbmNlIFdlYktpdCBkb2VzIG5vdCB1c2UgQ0ZVUkxDYWNoZSwgd2Ugc2hvdWxk
IGRpc2FibGUgaXQgdG8gYXZvaWQgdGhlIGhhbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcik6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25D
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbik6
CisKIDIwMjItMDEtMjAgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0lGQ10gSW1wbGVtZW50IFRleHRVdGlsOjpkaXJlY3Rpb25Gb3JUZXh0Q29udGVudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKaW5kZXggZGQxYmRkN2Q3YzM5MmZmMmZlMjE1MTNkZGY3NTYzOTcwMjFk
MGE3OS4uOGYyMjUzNzI1MTE2ZmZmNzRmMWYxYWQ1MTEyNTIyODlhYzYxNTdiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVp
X2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oOgor
CiAyMDIyLTAxLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVXNlIGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVpbGRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDcwMmE2YWUwOGQ3NWUwOGEzOWE3YjNhMjMyMzBmNDUwMmYwZTUyODUuLmFh
Y2M2OTFiOWM2NjZmNjQyNDUzNzQ1MTZkYjZlMDJlZGZkYjE1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisK
KyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpuZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjplbnN1cmVTZXNzaW9uKToKKwogMjAyMi0wMS0yMCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFNQSSBmb3IgcGFzc2lu
ZyBhcm91bmQgYW5kIGdldHRpbmcgZGV0YWlscyBhYm91dCBgV2ViQ29yZTo6Q1NTU3R5bGVEZWNs
YXJhdGlvbmAgaW4gaW5qZWN0ZWQgYnVuZGxlIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXgg
MmEzOGE2MDg4M2RhNmQ1ZTY0OTllN2JjNmVmMWRkOWJjZDUwYTg5My4uNzZkNjc3ODI4NzcyYzNh
Mzg1Y2ViNDQ1M2U4NTY2MTNjOGVhMmM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMi0wMS0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKwor
ICAgICAgICBEaXNhYmxlIENGVVJMQ2FjaGUgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0OTg4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84NzYxOTE5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcC5jcHA6Cisg
ICAgICAgIChOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OmVuc3VyZVNlc3Npb24pOgorCiAyMDIy
LTAxLTExICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eGVkIGluc3RhbGxoZHIgYnVpbGQgZmFpbHVyZXMgaW4gV2ViQ29yZSBhbmQgV2ViS2l0TGVnYWN5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDU4YzYzNzA4YTM0OTM5ZmNkZjM4ZDQ5NWQ2MjFlZTcx
NGNiMzgzNDcuLmM2MTVkMjY4ODg3NWExZDkyOWM0NGQwMjYwNmQ3OTNhNmM3ZmQ5NmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0xMTUyLDMgKzExNTIsMTAgQEAKICNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAyMDAKICNkZWZpbmUgSEFW
RV9QTEFURk9STV9TQ1JPTExfTU9NRU5UVU1fSU5URVJSVVBUSU9OX1JFQVNPTiAxCiAjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMjAzMDApIFwKKyAgICB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxNTA0MDApIFwKKyAgICB8fCAoUExBVEZPUk0oQVBQTEVU
VikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkgXAorICAgIHx8IChQ
TEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gODA1
MDApCisjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0RJU0FCTEVfQ0FDSEVfU1BJIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCBkMjQ3
YTJkODQ5NWNkZTlkZDNmZGIxYmJlN2Y5Mzc4MzJlNzgxNjMzLi4xNzgzMmNjODVlMjA0OWI5NDc2
NTU1ZjY3Yjc3YmMwMTcwZTg0MDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jZi9DRk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zi9DRk5ldHdvcmtTUEkuaApAQCAtMzU5LDYgKzM1OSw3IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2Fj
aGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIHZv
aWQgX0NGQ2FjaGVkVVJMUmVzcG9uc2VTZXRCZWNhbWVGaWxlQmFja2VkQ2FsbEJhY2tCbG9jayhD
RkNhY2hlZFVSTFJlc3BvbnNlUmVmLCBDRkNhY2hlZFVSTFJlc3BvbnNlQ2FsbEJhY2tCbG9jaywg
ZGlzcGF0Y2hfcXVldWVfdCk7CiAjZW5kaWYKIAordm9pZCBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkRp
c2FibGVDYWNoZShDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKIENGVVJMU3RvcmFnZVNlc3Npb25S
ZWYgX0NGVVJMU3RvcmFnZVNlc3Npb25DcmVhdGUoQ0ZBbGxvY2F0b3JSZWYsIENGU3RyaW5nUmVm
LCBDRkRpY3Rpb25hcnlSZWYpOwogQ0ZVUkxDYWNoZVJlZiBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNv
cHlDYWNoZShDRkFsbG9jYXRvclJlZiwgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZik7CiB2b2lkIENG
VVJMUmVxdWVzdFNldFNob3VsZFN0YXJ0U3luY2hyb25vdXNseShDRlVSTFJlcXVlc3RSZWYsIEJv
b2xlYW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uLmgKaW5kZXggMzFiYzE1NzQzNjg0MzA5ODIyZmRkOGNlMzg3M2Q3
NDc1N2IyYzQ4NC4uM2YzZTIwN2QxMmZmNzFjMTRiNjJiMDQ0MTQzMDFmMTI1Yjk1ZTgwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNl
c3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9y
YWdlU2Vzc2lvbi5oCkBAIC0xMjAsNyArMTIwLDggQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShDT0NPQSkgfHwgVVNFKENGVVJMQ09OTkVDVElPTikKLSAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZUNGU3RvcmFn
ZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIpOworICAgIGVudW0g
Y2xhc3MgU2hvdWxkRGlzYWJsZVVSTENhY2hlIDogYm9vbCB7IE5vLCBZZXMgfTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0
ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIsIFNo
b3VsZERpc2FibGVVUkxDYWNoZSA9IFNob3VsZERpc2FibGVVUkxDYWNoZTo6Tm8pOwogICAgIGVu
dW0gY2xhc3MgSXNJbk1lbW9yeUNvb2tpZVN0b3JlIDogYm9vbCB7IE5vLCBZZXMgfTsKICAgICBX
RUJDT1JFX0VYUE9SVCBOZXR3b3JrU3RvcmFnZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIFJldGFp
blB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiYmLCBSZXRhaW5QdHI8Q0ZIVFRQQ29va2llU3Rv
cmFnZVJlZj4mJiwgSXNJbk1lbW9yeUNvb2tpZVN0b3JlID0gSXNJbk1lbW9yeUNvb2tpZVN0b3Jl
OjpObyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
KFBBTDo6U2Vzc2lvbklEKTsKQEAgLTMwMSw3ICszMDIsNyBAQCBwcml2YXRlOgogfTsKIAogI2lm
IFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQotV0VCQ09SRV9FWFBPUlQg
UmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vz
c2lvbihDRlN0cmluZ1JlZiBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k+ID0gc3RkOjpudWxsb3B0KTsKK1dFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdS
ZWYgaWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxIVFRQQ29va2llQWNjZXB0UG9saWN5PiA9IHN0
ZDo6bnVsbG9wdCwgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpTaG91bGREaXNhYmxlVVJMQ2FjaGUg
PSBOZXR3b3JrU3RvcmFnZVNlc3Npb246OlNob3VsZERpc2FibGVVUkxDYWNoZTo6Tm8pOwogI2Vu
ZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
TmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggNDhmYWQ4MmQz
MThkMTcyNmU0YmIyMzFiM2YzYmYzOWNkOWViOWQ3MC4uNGU4NGRkNjEzM2MyMzJiNDc1YmMxNmJm
ZGY5ZGUxODJkOTJlOGY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAg
LTM5LDIxICszOSwzNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFn
ZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIpCitSZXRhaW5QdHI8
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0
b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcihDRlN0cmluZ1JlZiBpZGVudGlmaWVyLCBTaG91bGRE
aXNhYmxlVVJMQ2FjaGUgc2hvdWxkRGlzYWJsZVVSTENhY2hlKQogewogICAgIGF1dG8gc3RvcmFn
ZVNlc3Npb24gPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ3JlYXRlKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIGlkZW50aWZpZXIsIG51bGxwdHIpKTsKIAogICAgIGlmICghc3RvcmFnZVNlc3Np
b24pCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBjYWNoZSA9IGFkb3B0Q0Yo
X0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFn
ZVNlc3Npb24uZ2V0KCkpKTsKLSAgICBpZiAoIWNhY2hlKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICBib29sIGlzQ2FjaGVEaXNhYmxlZCA9IGZhbHNlOworCisjaWYgSEFWRShDRk5FVFdP
UktfRElTQUJMRV9DQUNIRV9TUEkpCisgICAgaWYgKHNob3VsZERpc2FibGVVUkxDYWNoZSA9PSBT
aG91bGREaXNhYmxlVVJMQ2FjaGU6OlllcykgeworICAgICAgICBfQ0ZVUkxTdG9yYWdlU2Vzc2lv
bkRpc2FibGVDYWNoZShzdG9yYWdlU2Vzc2lvbi5nZXQoKSk7CisgICAgICAgIGlzQ2FjaGVEaXNh
YmxlZCA9IHRydWU7CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2hvdWxkRGlzYWJs
ZVVSTENhY2hlKTsKKyNlbmRpZgorCisgICAgaWYgKCFpc0NhY2hlRGlzYWJsZWQpIHsKKyAgICAg
ICAgYXV0byBjYWNoZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25Db3B5Q2FjaGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKKyAgICAgICAgaWYgKCFj
YWNoZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQ0ZVUkxDYWNoZVNldERp
c2tDYXBhY2l0eShjYWNoZS5nZXQoKSwgMCk7CisgICAgICAgIENGVVJMQ2FjaGVTZXREaXNrQ2Fw
YWNpdHkoY2FjaGUuZ2V0KCksIDApOwogCi0gICAgYXV0byBzaGFyZWRDYWNoZSA9IGFkb3B0Q0Yo
Q0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgpKTsKLSAgICBDRlVSTENhY2hlU2V0TWVtb3J5
Q2FwYWNpdHkoY2FjaGUuZ2V0KCksIENGVVJMQ2FjaGVNZW1vcnlDYXBhY2l0eShzaGFyZWRDYWNo
ZS5nZXQoKSkpOworICAgICAgICBhdXRvIHNoYXJlZENhY2hlID0gYWRvcHRDRihDRlVSTENhY2hl
Q29weVNoYXJlZFVSTENhY2hlKCkpOworICAgICAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNp
dHkoY2FjaGUuZ2V0KCksIENGVVJMQ2FjaGVNZW1vcnlDYXBhY2l0eShzaGFyZWRDYWNoZS5nZXQo
KSkpOworICAgIH0KIAogICAgIGlmICghTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpwcm9jZXNzTWF5
VXNlQ29va2llQVBJKCkpCiAgICAgICAgIHJldHVybiBzdG9yYWdlU2Vzc2lvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNz
aW9uQ0ZOZXRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3
b3JrU3RvcmFnZVNlc3Npb25DRk5ldFdpbi5jcHAKaW5kZXggODI3MmY3NmQzODdkMTlmMTVmOTM5
YjNiN2NhNDRlYWJjMGM5NzEwNC4uYjI5Y2RmODM1ZmJmOGIyOWUzN2I2YjE2MzNjMTc1ZDIyZjE1
M2JiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3
b3JrU3RvcmFnZVNlc3Npb25DRk5ldFdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldFdpbi5jcHAKQEAgLTc5LDcg
Kzc5LDcgQEAgc3RhdGljIENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kgdG9DRkhUVFBD
b29raWVTdG9yYWdlQWNjZXB0UG9saWN5KEhUVFBDb28KICAgICByZXR1cm4gQ0ZIVFRQQ29va2ll
U3RvcmFnZUFjY2VwdFBvbGljeUFsd2F5czsKIH0KIAotUmV0YWluUHRyPENGVVJMU3RvcmFnZVNl
c3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihDRlN0cmluZ1JlZiBpZGVudGlm
aWVyLCBzdGQ6Om9wdGlvbmFsPEhUVFBDb29raWVBY2NlcHRQb2xpY3k+IGNvb2tpZUFjY2VwdFBv
bGljeSkKK1JldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVQcml2YXRlU3Rv
cmFnZVNlc3Npb24oQ0ZTdHJpbmdSZWYgaWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxIVFRQQ29v
a2llQWNjZXB0UG9saWN5PiBjb29raWVBY2NlcHRQb2xpY3ksIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6U2hvdWxkRGlzYWJsZVVSTENhY2hlKQogewogICAgIGNvbnN0IHZvaWQqIHNlc3Npb25Qcm9w
ZXJ0eUtleXNbXSA9IHsgX2tDRlVSTFN0b3JhZ2VTZXNzaW9uSXNQcml2YXRlIH07CiAgICAgY29u
c3Qgdm9pZCogc2Vzc2lvblByb3BlcnR5VmFsdWVzW10gPSB7IGtDRkJvb2xlYW5UcnVlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
b2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQppbmRleCBiMjhlYmJkZGVhNGZiYTAw
YTMyMWQxOGQyMGJlZjQ1YmQwMzkyYWM3Li5lMTgwNDc2OTIzOWY1MGRiNGE5YjUxMzE3Y2UzZDFl
YTcxNjBjMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nv
Y29hL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KQEAgLTE3
MSw3ICsxNzEsNyBAQCBDb29raWVTdG9yYWdlT2JzZXJ2ZXImIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6Y29va2llU3RvcmFnZU9ic2VydmVyKCkgY29uc3QKICAgICByZXR1cm4gKm1fY29va2llU3Rv
cmFnZU9ic2VydmVyOwogfQogCi1SZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gY3Jl
YXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKENGU3RyaW5nUmVmIGlkZW50aWZpZXIsIHN0ZDo6b3B0
aW9uYWw8SFRUUENvb2tpZUFjY2VwdFBvbGljeT4gY29va2llQWNjZXB0UG9saWN5KQorUmV0YWlu
UHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihD
RlN0cmluZ1JlZiBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPEhUVFBDb29raWVBY2NlcHRQb2xp
Y3k+IGNvb2tpZUFjY2VwdFBvbGljeSwgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpTaG91bGREaXNh
YmxlVVJMQ2FjaGUgc2hvdWxkRGlzYWJsZVVSTENhY2hlKQogewogICAgIGNvbnN0IHZvaWQqIHNl
c3Npb25Qcm9wZXJ0eUtleXNbXSA9IHsgX2tDRlVSTFN0b3JhZ2VTZXNzaW9uSXNQcml2YXRlIH07
CiAgICAgY29uc3Qgdm9pZCogc2Vzc2lvblByb3BlcnR5VmFsdWVzW10gPSB7IGtDRkJvb2xlYW5U
cnVlIH07CkBAIC0xODEsNiArMTgxLDE3IEBAIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9u
UmVmPiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdSZWYgaWRlbnRpCiAgICAg
aWYgKCFzdG9yYWdlU2Vzc2lvbikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBib29s
IGlzQ2FjaGVEaXNhYmxlZCA9IGZhbHNlOworCisjaWYgSEFWRShDRk5FVFdPUktfRElTQUJMRV9D
QUNIRV9TUEkpCisgICAgaWYgKHNob3VsZERpc2FibGVVUkxDYWNoZSA9PSBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OlNob3VsZERpc2FibGVVUkxDYWNoZTo6WWVzKSB7CisgICAgICAgIF9DRlVSTFN0
b3JhZ2VTZXNzaW9uRGlzYWJsZUNhY2hlKHN0b3JhZ2VTZXNzaW9uLmdldCgpKTsKKyAgICAgICAg
aXNDYWNoZURpc2FibGVkID0gdHJ1ZTsKKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShz
aG91bGREaXNhYmxlVVJMQ2FjaGUpOworI2VuZGlmCisKICAgICAvLyBUaGUgcHJpdmF0ZSBzdG9y
YWdlIHNlc3Npb24gc2hvdWxkIGhhdmUgdGhlIHNhbWUgcHJvcGVydGllcyBhcyB0aGUgZGVmYXVs
dCBzdG9yYWdlIHNlc3Npb24sCiAgICAgLy8gd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgaXQgc2hv
dWxkIGJlIGluLW1lbW9yeSBvbmx5IHN0b3JhZ2UuCiAKQEAgLTE4OCwxMiArMTk5LDEzIEBAIFJl
dGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Np
b24oQ0ZTdHJpbmdSZWYgaWRlbnRpCiAgICAgLy8gVGhpcyBjb3VsZCBvY2N1ciBpZiB0aGVyZSBp
cyBhbiBpc3N1ZSBmaWd1cmluZyBvdXQgd2hlcmUgdG8gcGxhY2UgYSBzdG9yYWdlIG9uIGRpc2sg
KGUuZy4gdGhlCiAgICAgLy8gc2FuZGJveCBkb2VzIG5vdCBhbGxvdyBDRk5ldHdvcmsgYWNjZXNz
KS4KIAotICAgIGF1dG8gY2FjaGUgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNh
Y2hlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7Ci0gICAgaWYg
KCFjYWNoZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKCFpc0NhY2hlRGlzYWJs
ZWQpIHsKKyAgICAgICAgYXV0byBjYWNoZSA9IGFkb3B0Q0YoX0NGVVJMU3RvcmFnZVNlc3Npb25D
b3B5Q2FjaGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKKyAg
ICAgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQ0ZV
UkxDYWNoZVNldERpc2tDYXBhY2l0eShjYWNoZS5nZXQoKSwgMCk7IC8vIFNldHRpbmcgZGlzayBj
YWNoZSBzaXplIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzEy
NjU2ODE0PiBpcyBmaXhlZC4KLSAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2FjaGUu
Z2V0KCksIFtbTlNVUkxDYWNoZSBzaGFyZWRVUkxDYWNoZV0gbWVtb3J5Q2FwYWNpdHldKTsKKyAg
ICAgICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KGNhY2hlLmdldCgpLCBbW05TVVJMQ2Fj
aGUgc2hhcmVkVVJMQ2FjaGVdIG1lbW9yeUNhcGFjaXR5XSk7CisgICAgfQogCiAgICAgYXV0byBj
b29raWVTdG9yYWdlID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDb29raWVTdG9y
YWdlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7CiAgICAgaWYg
KCFjb29raWVTdG9yYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcAppbmRleCAyNmJkMTA3MTk5NGIzZjgyN2JkN2Q1OTc0NTM5YWYxNDljMTYy
MmNhLi5kMzhkMzg3YTg4MDA5NTVkMTVmMzc1YTNhYjc4YmNiOWY5OGIwZGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtNDQzLDcg
KzQ0Myw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24+
IE5ldHdvcmtQcm9jZXNzOjpuZXdUZXN0aW5nU2Vzc2lvCiB7CiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgLy8gU2Vzc2lvbiBuYW1lIHNob3VsZCBiZSBzaG9ydCBlbm91Z2ggZm9yIHNoYXJlZCBt
ZW1vcnkgcmVnaW9uIG5hbWUgdG8gYmUgdW5kZXIgdGhlIGxpbWl0LCBvdGhlcndpc2Ugc2FuZGJv
eCBydWxlcyB3b24ndCB3b3JrIChzZWUgPHJkYXI6Ly9wcm9ibGVtLzEzNjQyODUyPikuCi0gICAg
YXV0byBzZXNzaW9uID0gV2ViQ29yZTo6Y3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKG1ha2VT
dHJpbmcoIldlYktpdCBUZXN0LSIsIGdldEN1cnJlbnRQcm9jZXNzSUQoKSkuY3JlYXRlQ0ZTdHJp
bmcoKS5nZXQoKSk7CisgICAgYXV0byBzZXNzaW9uID0gV2ViQ29yZTo6Y3JlYXRlUHJpdmF0ZVN0
b3JhZ2VTZXNzaW9uKG1ha2VTdHJpbmcoIldlYktpdCBUZXN0LSIsIGdldEN1cnJlbnRQcm9jZXNz
SUQoKSkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgc3RkOjpudWxsb3B0LCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OlNob3VsZERpc2FibGVVUkxDYWNoZTo6WWVzKTsKICAgICBSZXRhaW5QdHI8Q0ZI
VFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZTsKICAgICBpZiAoV2ViQ29yZTo6TmV0
d29ya1N0b3JhZ2VTZXNzaW9uOjpwcm9jZXNzTWF5VXNlQ29va2llQVBJKCkpIHsKICAgICAgICAg
QVNTRVJUKGhhc1Byb2Nlc3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2FuQWNjZXNzUmF3
Q29va2llcykpOwpAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmVuc3Vy
ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHNob3VsZFVzZVRlc3RpCiAg
ICAgUmV0YWluUHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IHN0b3JhZ2VTZXNzaW9uOwogICAg
IFJldGFpblB0cjxDRlN0cmluZ1JlZj4gY2ZJZGVudGlmaWVyID0gbWFrZVN0cmluZyhpZGVudGlm
aWVyQmFzZSwgIi5Qcml2YXRlQnJvd3NpbmcuIiwgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygp
KS5jcmVhdGVDRlN0cmluZygpOwogICAgIGlmIChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSkKLSAg
ICAgICAgc3RvcmFnZVNlc3Npb24gPSBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oY2ZJZGVu
dGlmaWVyLmdldCgpKTsKKyAgICAgICAgc3RvcmFnZVNlc3Npb24gPSBjcmVhdGVQcml2YXRlU3Rv
cmFnZVNlc3Npb24oY2ZJZGVudGlmaWVyLmdldCgpLCBzdGQ6Om51bGxvcHQsIFdlYkNvcmU6Ok5l
dHdvcmtTdG9yYWdlU2Vzc2lvbjo6U2hvdWxkRGlzYWJsZVVSTENhY2hlOjpZZXMpOwogICAgIGVs
c2UgaWYgKHNlc3Npb25JRCAhPSBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKQog
ICAgICAgICBzdG9yYWdlU2Vzc2lvbiA9IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6
Y3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklkZW50aWZpZXIoY2ZJZGVudGlmaWVyLmdldCgpKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXAuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9y
dC9OZXR3b3JrU3RvcmFnZVNlc3Npb25NYXAuY3BwCmluZGV4IDRkMGIyNmQyY2RlM2JmYzAzMzY2
ZWM5OTE1MDNkZmJlNWFhMjJhNTYuLmJhNjY1MWNhNzQ0ZjVmZTJkZWFmZTY2ZGRhZDI3ZWMyNTdl
Mjk5NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNv
cmVTdXBwb3J0L05ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAg
dm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OmVuc3VyZVNlc3Npb24oUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBjb25zdCBTdHIKICAgICBpZiAoc2Vzc2lvbklELmlzRXBoZW1lcmFsKCkp
CiAgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gV2ViQ29yZTo6Y3JlYXRlUHJpdmF0ZVN0b3JhZ2VT
ZXNzaW9uKGlkZW50aWZpZXIuZ2V0KCkpOwogICAgIGVsc2UKLSAgICAgICAgc3RvcmFnZVNlc3Np
b24gPSBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFnZVNlc3Np
b25Gb3JJZGVudGlmaWVyKGlkZW50aWZpZXIuZ2V0KCkpOworICAgICAgICBzdG9yYWdlU2Vzc2lv
biA9IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y3JlYXRlQ0ZTdG9yYWdlU2Vzc2lv
bkZvcklkZW50aWZpZXIoaWRlbnRpZmllci5nZXQoKSwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uOjpTaG91bGREaXNhYmxlVVJMQ2FjaGU6Olllcyk7CiAKICAgICBSZXRhaW5QdHI8Q0ZI
VFRQQ29va2llU3RvcmFnZVJlZj4gY29va2llU3RvcmFnZTsKICAgICBpZiAoV2ViQ29yZTo6TmV0
d29ya1N0b3JhZ2VTZXNzaW9uOjpwcm9jZXNzTWF5VXNlQ29va2llQVBJKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449707</attachid>
            <date>2022-01-21 15:59:23 -0800</date>
            <delta_ts>2022-01-21 17:02:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234988-20220121155922.patch</filename>
            <type>text/plain</type>
            <size>15830</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU2NWQxYzdhMjI4MTMxMmE5YTg4YzRi
MDFiMjJmZjA2MzExYzdiMDYuLmExZDk4OTM2OTVhZTE2NDBhNThlNzQwOWNkZGJhNGI0NjUwZjM0
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjItMDEt
MTkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJ
bXBsZW1lbnQgVGVtcG9yYWwuTm93Lmluc3RhbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY3Mzk1Zjk2NTVj
NjE2MTkzNGU0NDExZjFkNTg1ODNhNWQzZDhjNjUuLmRkNDI1ZThjYTBiNTJhZjgyYWMyMTJlNGRk
NmEzODMxZjg2NmRlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMi0wMS0yMSAg
U2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBEaXNhYmxlIENGVVJM
Q2FjaGUgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0OTg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NzYxOTE5Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBfQ0ZVUkxTdG9yYWdl
U2Vzc2lvbkNvcHlDYWNoZSBjYW4gYmUgc2xvdyAoc2VlIHJkYXI6Ly84NTQxODczMikgYW5kIFVJ
IHByb2Nlc3MgbWF5IGtpbGwgbmV0d29yayBwcm9jZXNzIGZvcgorICAgICAgICBiZWluZyB1bnJl
c3BvbnNpdmUuIFNpbmNlIFdlYktpdCBkb2VzIG5vdCB1c2UgQ0ZVUkxDYWNoZSwgd2Ugc2hvdWxk
IGRpc2FibGUgaXQgdG8gYXZvaWQgdGhlIGhhbmcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcik6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25D
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbik6
CisKIDIwMjItMDEtMjAgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0lGQ10gSW1wbGVtZW50IFRleHRVdGlsOjpkaXJlY3Rpb25Gb3JUZXh0Q29udGVudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKaW5kZXggZGQxYmRkN2Q3YzM5MmZmMmZlMjE1MTNkZGY3NTYzOTcwMjFk
MGE3OS4uMzI4MDk4OWQ4MDFjOTVkMGM0ZjI0ZTJjMDVlOTY4YzE1NjU5NzM2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVp
X2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
R2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oOgor
CiAyMDIyLTAxLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVXNlIGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVpbGRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDcwMmE2YWUwOGQ3NWUwOGEzOWE3YjNhMjMyMzBmNDUwMmYwZTUyODUuLmQz
N2EwNTM1Njc5OGRmMWY1MDhlNDU2ZjcxNjBlOTMwZDQzYWYwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjItMDEtMjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisK
KyAgICAgICAgRGlzYWJsZSBDRlVSTENhY2hlIGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4OAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODc2MTkxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpuZXdUZXN0aW5nU2Vzc2lvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjplbnN1cmVTZXNzaW9uKToKKwogMjAyMi0wMS0yMCAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFNQSSBmb3IgcGFzc2lu
ZyBhcm91bmQgYW5kIGdldHRpbmcgZGV0YWlscyBhYm91dCBgV2ViQ29yZTo6Q1NTU3R5bGVEZWNs
YXJhdGlvbmAgaW4gaW5qZWN0ZWQgYnVuZGxlIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXgg
MmEzOGE2MDg4M2RhNmQ1ZTY0OTllN2JjNmVmMWRkOWJjZDUwYTg5My4uMzIzOGMyM2YxNTYwNzlh
Nzg4MTIzYjM2ZjU3MjhmNTYzZjA0ZDg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMi0wMS0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKwor
ICAgICAgICBEaXNhYmxlIENGVVJMQ2FjaGUgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0OTg4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84NzYxOTE5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcC5jcHA6Cisg
ICAgICAgIChOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OmVuc3VyZVNlc3Npb24pOgorCiAyMDIy
LTAxLTExICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eGVkIGluc3RhbGxoZHIgYnVpbGQgZmFpbHVyZXMgaW4gV2ViQ29yZSBhbmQgV2ViS2l0TGVnYWN5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDU4YzYzNzA4YTM0OTM5ZmNkZjM4ZDQ5NWQ2MjFlZTcx
NGNiMzgzNDcuLmM2MTVkMjY4ODg3NWExZDkyOWM0NGQwMjYwNmQ3OTNhNmM3ZmQ5NmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0xMTUyLDMgKzExNTIsMTAgQEAKICNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAyMDAKICNkZWZpbmUgSEFW
RV9QTEFURk9STV9TQ1JPTExfTU9NRU5UVU1fSU5URVJSVVBUSU9OX1JFQVNPTiAxCiAjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMjAzMDApIFwKKyAgICB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxNTA0MDApIFwKKyAgICB8fCAoUExBVEZPUk0oQVBQTEVU
VikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkgXAorICAgIHx8IChQ
TEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gODA1
MDApCisjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0RJU0FCTEVfQ0FDSEVfU1BJIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCBkMjQ3
YTJkODQ5NWNkZTlkZDNmZGIxYmJlN2Y5Mzc4MzJlNzgxNjMzLi5hN2E4MDlmZjY4NTcyMTZjYTBm
Y2UwNjY1YWUwYzJlODRhY2NjNzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jZi9DRk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zi9DRk5ldHdvcmtTUEkuaApAQCAtMzU5LDYgKzM1OSw5IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2Fj
aGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIHZv
aWQgX0NGQ2FjaGVkVVJMUmVzcG9uc2VTZXRCZWNhbWVGaWxlQmFja2VkQ2FsbEJhY2tCbG9jayhD
RkNhY2hlZFVSTFJlc3BvbnNlUmVmLCBDRkNhY2hlZFVSTFJlc3BvbnNlQ2FsbEJhY2tCbG9jaywg
ZGlzcGF0Y2hfcXVldWVfdCk7CiAjZW5kaWYKIAorI2lmIEhBVkUoQ0ZORVRXT1JLX0RJU0FCTEVf
Q0FDSEVfU1BJKQordm9pZCBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkRpc2FibGVDYWNoZShDRlVSTFN0
b3JhZ2VTZXNzaW9uUmVmKTsKKyNlbmRpZgogQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBfQ0ZVUkxT
dG9yYWdlU2Vzc2lvbkNyZWF0ZShDRkFsbG9jYXRvclJlZiwgQ0ZTdHJpbmdSZWYsIENGRGljdGlv
bmFyeVJlZik7CiBDRlVSTENhY2hlUmVmIF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKENG
QWxsb2NhdG9yUmVmLCBDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmKTsKIHZvaWQgQ0ZVUkxSZXF1ZXN0
U2V0U2hvdWxkU3RhcnRTeW5jaHJvbm91c2x5KENGVVJMUmVxdWVzdFJlZiwgQm9vbGVhbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdl
U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaAppbmRleCAzMWJjMTU3NDM2ODQzMDk4MjJmZGQ4Y2UzODczZDc0NzU3YjJjNDg0
Li4zMzA5OTQ1YmQ0OWE2OTBhNjVmNzNlYzNlZDNkN2IyNDVhYzAyNzJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9u
LmgKQEAgLTEyMCw3ICsxMjAsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENP
Q09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNUSU9OKQotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBS
ZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gY3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZv
cklkZW50aWZpZXIoQ0ZTdHJpbmdSZWYgaWRlbnRpZmllcik7CisgICAgZW51bSBjbGFzcyBTaG91
bGREaXNhYmxlQ0ZVUkxDYWNoZSA6IGJvb2wgeyBObywgWWVzIH07CisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVDRlN0b3Jh
Z2VTZXNzaW9uRm9ySWRlbnRpZmllcihDRlN0cmluZ1JlZiBpZGVudGlmaWVyLCBTaG91bGREaXNh
YmxlQ0ZVUkxDYWNoZSA9IFNob3VsZERpc2FibGVDRlVSTENhY2hlOjpObyk7CiAgICAgZW51bSBj
bGFzcyBJc0luTWVtb3J5Q29va2llU3RvcmUgOiBib29sIHsgTm8sIFllcyB9OwogICAgIFdFQkNP
UkVfRVhQT1JUIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbihQQUw6OlNlc3Npb25JRCwgUmV0YWluUHRy
PENGVVJMU3RvcmFnZVNlc3Npb25SZWY+JiYsIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdl
UmVmPiYmLCBJc0luTWVtb3J5Q29va2llU3RvcmUgPSBJc0luTWVtb3J5Q29va2llU3RvcmU6Ok5v
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBOZXR3b3JrU3RvcmFnZVNlc3Npb24oUEFM
OjpTZXNzaW9uSUQpOwpAQCAtMzAxLDcgKzMwMiw3IEBAIHByaXZhdGU6CiB9OwogCiAjaWYgUExB
VEZPUk0oQ09DT0EpIHx8IFVTRShDRlVSTENPTk5FQ1RJT04pCi1XRUJDT1JFX0VYUE9SVCBSZXRh
aW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gY3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9u
KENGU3RyaW5nUmVmIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8SFRUUENvb2tpZUFjY2VwdFBv
bGljeT4gPSBzdGQ6Om51bGxvcHQpOworV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENGVVJMU3Rv
cmFnZVNlc3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihDRlN0cmluZ1JlZiBp
ZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPEhUVFBDb29raWVBY2NlcHRQb2xpY3k+ID0gc3RkOjpu
dWxsb3B0LCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OlNob3VsZERpc2FibGVDRlVSTENhY2hlID0g
TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpTaG91bGREaXNhYmxlQ0ZVUkxDYWNoZTo6Tm8pOwogI2Vu
ZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
TmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggNDhmYWQ4MmQz
MThkMTcyNmU0YmIyMzFiM2YzYmYzOWNkOWViOWQ3MC4uMzgwMzZlYmQ2MzEwMzBlODhlNWI4MTNl
NzczNzQ1Yzc5ZDJhNTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAg
LTM5LDIxICszOSwzMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJldGFpblB0cjxDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmPiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFn
ZVNlc3Npb25Gb3JJZGVudGlmaWVyKENGU3RyaW5nUmVmIGlkZW50aWZpZXIpCitSZXRhaW5QdHI8
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjcmVhdGVDRlN0
b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcihDRlN0cmluZ1JlZiBpZGVudGlmaWVyLCBTaG91bGRE
aXNhYmxlQ0ZVUkxDYWNoZSBzaG91bGREaXNhYmxlQ0ZVUkxDYWNoZSkKIHsKICAgICBhdXRvIHN0
b3JhZ2VTZXNzaW9uID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNyZWF0ZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBpZGVudGlmaWVyLCBudWxscHRyKSk7CiAKICAgICBpZiAoIXN0b3JhZ2VT
ZXNzaW9uKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGF1dG8gY2FjaGUgPSBhZG9w
dENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN0
b3JhZ2VTZXNzaW9uLmdldCgpKSk7Ci0gICAgaWYgKCFjYWNoZSkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgaWYgKHNob3VsZERpc2FibGVDRlVSTENhY2hlID09IFNob3VsZERpc2FibGVD
RlVSTENhY2hlOjpZZXMpIHsKKyNpZiBIQVZFKENGTkVUV09SS19ESVNBQkxFX0NBQ0hFX1NQSSkK
KyAgICAgICAgX0NGVVJMU3RvcmFnZVNlc3Npb25EaXNhYmxlQ2FjaGUoc3RvcmFnZVNlc3Npb24u
Z2V0KCkpOworI2Vsc2UKKyAgICAgICAgc2hvdWxkRGlzYWJsZUNGVVJMQ2FjaGUgPSBTaG91bGRE
aXNhYmxlQ0ZVUkxDYWNoZTo6Tm87CisjZW5kaWYKKyAgICB9CisKKyAgICBpZiAoc2hvdWxkRGlz
YWJsZUNGVVJMQ2FjaGUgPT0gU2hvdWxkRGlzYWJsZUNGVVJMQ2FjaGU6Ok5vKSB7CisgICAgICAg
IGF1dG8gY2FjaGUgPSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNhY2hlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIHN0b3JhZ2VTZXNzaW9uLmdldCgpKSk7CisgICAgICAgIGlmICghY2Fj
aGUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIENGVVJMQ2FjaGVTZXREaXNr
Q2FwYWNpdHkoY2FjaGUuZ2V0KCksIDApOworICAgICAgICBDRlVSTENhY2hlU2V0RGlza0NhcGFj
aXR5KGNhY2hlLmdldCgpLCAwKTsKIAotICAgIGF1dG8gc2hhcmVkQ2FjaGUgPSBhZG9wdENGKENG
VVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUoKSk7Ci0gICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNh
cGFjaXR5KGNhY2hlLmdldCgpLCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoc2hhcmVkQ2FjaGUu
Z2V0KCkpKTsKKyAgICAgICAgYXV0byBzaGFyZWRDYWNoZSA9IGFkb3B0Q0YoQ0ZVUkxDYWNoZUNv
cHlTaGFyZWRVUkxDYWNoZSgpKTsKKyAgICAgICAgQ0ZVUkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5
KGNhY2hlLmdldCgpLCBDRlVSTENhY2hlTWVtb3J5Q2FwYWNpdHkoc2hhcmVkQ2FjaGUuZ2V0KCkp
KTsKKyAgICB9CiAKICAgICBpZiAoIU5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cHJvY2Vzc01heVVz
ZUNvb2tpZUFQSSgpKQogICAgICAgICByZXR1cm4gc3RvcmFnZVNlc3Npb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bkNGTmV0V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uQ0ZOZXRXaW4uY3BwCmluZGV4IDgyNzJmNzZkMzg3ZDE5ZjE1ZjkzOWIz
YjdjYTQ0ZWFiYzBjOTcxMDQuLjAzYjQwYjIxZmUwMDcxZTQ1ZWI1MTdlMWU4N2NlMTMxNDE1NWUx
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uQ0ZOZXRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXRXaW4uY3BwCkBAIC03OSw3ICs3
OSw3IEBAIHN0YXRpYyBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5IHRvQ0ZIVFRQQ29v
a2llU3RvcmFnZUFjY2VwdFBvbGljeShIVFRQQ29vCiAgICAgcmV0dXJuIENGSFRUUENvb2tpZVN0
b3JhZ2VBY2NlcHRQb2xpY3lBbHdheXM7CiB9CiAKLVJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNz
aW9uUmVmPiBjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24oQ0ZTdHJpbmdSZWYgaWRlbnRpZmll
ciwgc3RkOjpvcHRpb25hbDxIVFRQQ29va2llQWNjZXB0UG9saWN5PiBjb29raWVBY2NlcHRQb2xp
Y3kpCitSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gY3JlYXRlUHJpdmF0ZVN0b3Jh
Z2VTZXNzaW9uKENGU3RyaW5nUmVmIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8SFRUUENvb2tp
ZUFjY2VwdFBvbGljeT4gY29va2llQWNjZXB0UG9saWN5LCBOZXR3b3JrU3RvcmFnZVNlc3Npb246
OlNob3VsZERpc2FibGVDRlVSTENhY2hlKQogewogICAgIGNvbnN0IHZvaWQqIHNlc3Npb25Qcm9w
ZXJ0eUtleXNbXSA9IHsgX2tDRlVSTFN0b3JhZ2VTZXNzaW9uSXNQcml2YXRlIH07CiAgICAgY29u
c3Qgdm9pZCogc2Vzc2lvblByb3BlcnR5VmFsdWVzW10gPSB7IGtDRkJvb2xlYW5UcnVlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
b2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQppbmRleCBiMjhlYmJkZGVhNGZiYTAw
YTMyMWQxOGQyMGJlZjQ1YmQwMzkyYWM3Li4yOTlmYzRiZDJlYmNmNzA3NzU1NDc0NDUwYTRkNzlk
ZGU2NzhiZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nv
Y29hL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KQEAgLTE3
MSw3ICsxNzEsNyBAQCBDb29raWVTdG9yYWdlT2JzZXJ2ZXImIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6Y29va2llU3RvcmFnZU9ic2VydmVyKCkgY29uc3QKICAgICByZXR1cm4gKm1fY29va2llU3Rv
cmFnZU9ic2VydmVyOwogfQogCi1SZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZj4gY3Jl
YXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKENGU3RyaW5nUmVmIGlkZW50aWZpZXIsIHN0ZDo6b3B0
aW9uYWw8SFRUUENvb2tpZUFjY2VwdFBvbGljeT4gY29va2llQWNjZXB0UG9saWN5KQorUmV0YWlu
UHRyPENGVVJMU3RvcmFnZVNlc3Npb25SZWY+IGNyZWF0ZVByaXZhdGVTdG9yYWdlU2Vzc2lvbihD
RlN0cmluZ1JlZiBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPEhUVFBDb29raWVBY2NlcHRQb2xp
Y3k+IGNvb2tpZUFjY2VwdFBvbGljeSwgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpTaG91bGREaXNh
YmxlQ0ZVUkxDYWNoZSBzaG91bGREaXNhYmxlQ0ZVUkxDYWNoZSkKIHsKICAgICBjb25zdCB2b2lk
KiBzZXNzaW9uUHJvcGVydHlLZXlzW10gPSB7IF9rQ0ZVUkxTdG9yYWdlU2Vzc2lvbklzUHJpdmF0
ZSB9OwogICAgIGNvbnN0IHZvaWQqIHNlc3Npb25Qcm9wZXJ0eVZhbHVlc1tdID0geyBrQ0ZCb29s
ZWFuVHJ1ZSB9OwpAQCAtMTgxLDYgKzE4MSwxNCBAQCBSZXRhaW5QdHI8Q0ZVUkxTdG9yYWdlU2Vz
c2lvblJlZj4gY3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKENGU3RyaW5nUmVmIGlkZW50aQog
ICAgIGlmICghc3RvcmFnZVNlc3Npb24pCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAg
aWYgKHNob3VsZERpc2FibGVDRlVSTENhY2hlID09IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6U2hv
dWxkRGlzYWJsZUNGVVJMQ2FjaGU6OlllcykgeworI2lmIEhBVkUoQ0ZORVRXT1JLX0RJU0FCTEVf
Q0FDSEVfU1BJKQorICAgICAgICBfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkRpc2FibGVDYWNoZShzdG9y
YWdlU2Vzc2lvbi5nZXQoKSk7CisjZWxzZQorICAgICAgICBzaG91bGREaXNhYmxlQ0ZVUkxDYWNo
ZSA9IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6U2hvdWxkRGlzYWJsZUNGVVJMQ2FjaGU6Ok5vOwor
I2VuZGlmCisgICAgfQorCiAgICAgLy8gVGhlIHByaXZhdGUgc3RvcmFnZSBzZXNzaW9uIHNob3Vs
ZCBoYXZlIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdGhlIGRlZmF1bHQgc3RvcmFnZSBzZXNzaW9u
LAogICAgIC8vIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IGl0IHNob3VsZCBiZSBpbi1tZW1vcnkg
b25seSBzdG9yYWdlLgogCkBAIC0xODgsMTIgKzE5NiwxMyBAQCBSZXRhaW5QdHI8Q0ZVUkxTdG9y
YWdlU2Vzc2lvblJlZj4gY3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKENGU3RyaW5nUmVmIGlk
ZW50aQogICAgIC8vIFRoaXMgY291bGQgb2NjdXIgaWYgdGhlcmUgaXMgYW4gaXNzdWUgZmlndXJp
bmcgb3V0IHdoZXJlIHRvIHBsYWNlIGEgc3RvcmFnZSBvbiBkaXNrIChlLmcuIHRoZQogICAgIC8v
IHNhbmRib3ggZG9lcyBub3QgYWxsb3cgQ0ZOZXR3b3JrIGFjY2VzcykuCiAKLSAgICBhdXRvIGNh
Y2hlID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNoZShrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBzdG9yYWdlU2Vzc2lvbi5nZXQoKSkpOwotICAgIGlmICghY2FjaGUpCi0gICAgICAg
IHJldHVybiBudWxscHRyOworICAgIGlmIChzaG91bGREaXNhYmxlQ0ZVUkxDYWNoZSA9PSBOZXR3
b3JrU3RvcmFnZVNlc3Npb246OlNob3VsZERpc2FibGVDRlVSTENhY2hlOjpObykgeworICAgICAg
ICBhdXRvIGNhY2hlID0gYWRvcHRDRihfQ0ZVUkxTdG9yYWdlU2Vzc2lvbkNvcHlDYWNoZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBzdG9yYWdlU2Vzc2lvbi5nZXQoKSkpOworICAgICAgICBpZiAoIWNh
Y2hlKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBDRlVSTENhY2hlU2V0RGlz
a0NhcGFjaXR5KGNhY2hlLmdldCgpLCAwKTsgLy8gU2V0dGluZyBkaXNrIGNhY2hlIHNpemUgc2hv
dWxkIG5vdCBiZSBuZWNlc3Nhcnkgb25jZSA8cmRhcjovL3Byb2JsZW0vMTI2NTY4MTQ+IGlzIGZp
eGVkLgotICAgIENGVVJMQ2FjaGVTZXRNZW1vcnlDYXBhY2l0eShjYWNoZS5nZXQoKSwgW1tOU1VS
TENhY2hlIHNoYXJlZFVSTENhY2hlXSBtZW1vcnlDYXBhY2l0eV0pOworICAgICAgICBDRlVSTENh
Y2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2FjaGUuZ2V0KCksIFtbTlNVUkxDYWNoZSBzaGFyZWRVUkxD
YWNoZV0gbWVtb3J5Q2FwYWNpdHldKTsKKyAgICB9CiAKICAgICBhdXRvIGNvb2tpZVN0b3JhZ2Ug
PSBhZG9wdENGKF9DRlVSTFN0b3JhZ2VTZXNzaW9uQ29weUNvb2tpZVN0b3JhZ2Uoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgc3RvcmFnZVNlc3Npb24uZ2V0KCkpKTsKICAgICBpZiAoIWNvb2tpZVN0b3Jh
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3Bw
CmluZGV4IDI2YmQxMDcxOTk0YjNmODI3YmQ3ZDU5NzQ1MzlhZjE0OWMxNjIyY2EuLjMxMGM2YzUx
YTMwOWM0NTQ4YzJmZDBkY2I5OTMxOWNhOWFiODRlZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC00NDMsNyArNDQzLDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4gTmV0d29ya1Byb2Nl
c3M6Om5ld1Rlc3RpbmdTZXNzaW8KIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAvLyBTZXNz
aW9uIG5hbWUgc2hvdWxkIGJlIHNob3J0IGVub3VnaCBmb3Igc2hhcmVkIG1lbW9yeSByZWdpb24g
bmFtZSB0byBiZSB1bmRlciB0aGUgbGltaXQsIG90aGVyd2lzZSBzYW5kYm94IHJ1bGVzIHdvbid0
IHdvcmsgKHNlZSA8cmRhcjovL3Byb2JsZW0vMTM2NDI4NTI+KS4KLSAgICBhdXRvIHNlc3Npb24g
PSBXZWJDb3JlOjpjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24obWFrZVN0cmluZygiV2ViS2l0
IFRlc3QtIiwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpKS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsK
KyAgICBhdXRvIHNlc3Npb24gPSBXZWJDb3JlOjpjcmVhdGVQcml2YXRlU3RvcmFnZVNlc3Npb24o
bWFrZVN0cmluZygiV2ViS2l0IFRlc3QtIiwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpKS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBzdGQ6Om51bGxvcHQsIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6U2hv
dWxkRGlzYWJsZUNGVVJMQ2FjaGU6Olllcyk7CiAgICAgUmV0YWluUHRyPENGSFRUUENvb2tpZVN0
b3JhZ2VSZWY+IGNvb2tpZVN0b3JhZ2U7CiAgICAgaWYgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6cHJvY2Vzc01heVVzZUNvb2tpZUFQSSgpKSB7CiAgICAgICAgIEFTU0VSVChoYXNQ
cm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsK
QEAgLTQ3NSw3ICs0NzUsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjplbnN1cmVTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBzaG91bGRVc2VUZXN0aQogICAgIFJldGFpblB0
cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBzdG9yYWdlU2Vzc2lvbjsKICAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IGNmSWRlbnRpZmllciA9IG1ha2VTdHJpbmcoaWRlbnRpZmllckJhc2UsICIu
UHJpdmF0ZUJyb3dzaW5nLiIsIGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSkuY3JlYXRlQ0ZT
dHJpbmcoKTsKICAgICBpZiAoc2Vzc2lvbklELmlzRXBoZW1lcmFsKCkpCi0gICAgICAgIHN0b3Jh
Z2VTZXNzaW9uID0gY3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGNmSWRlbnRpZmllci5nZXQo
KSk7CisgICAgICAgIHN0b3JhZ2VTZXNzaW9uID0gY3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9u
KGNmSWRlbnRpZmllci5nZXQoKSwgc3RkOjpudWxsb3B0LCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OlNob3VsZERpc2FibGVDRlVSTENhY2hlOjpZZXMpOwogICAgIGVsc2UgaWYgKHNl
c3Npb25JRCAhPSBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKQogICAgICAgICBz
dG9yYWdlU2Vzc2lvbiA9IFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y3JlYXRlQ0ZT
dG9yYWdlU2Vzc2lvbkZvcklkZW50aWZpZXIoY2ZJZGVudGlmaWVyLmdldCgpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9OZXR3b3JrU3RvcmFnZVNl
c3Npb25NYXAuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXAuY3BwCmluZGV4IDRkMGIyNmQyY2RlM2JmYzAzMzY2ZWM5OTE1MDNk
ZmJlNWFhMjJhNTYuLmE0Nzg3YTEyYTAwOWFiZWM1YTM1MGUwZGRmNTIxZDRlMjI1ZWZmNGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0
L05ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBOZXR3
b3JrU3RvcmFnZVNlc3Npb25NYXA6OmVuc3VyZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklELCBjb25zdCBTdHIKICAgICBpZiAoc2Vzc2lvbklELmlzRXBoZW1lcmFsKCkpCiAgICAgICAg
IHN0b3JhZ2VTZXNzaW9uID0gV2ViQ29yZTo6Y3JlYXRlUHJpdmF0ZVN0b3JhZ2VTZXNzaW9uKGlk
ZW50aWZpZXIuZ2V0KCkpOwogICAgIGVsc2UKLSAgICAgICAgc3RvcmFnZVNlc3Npb24gPSBXZWJD
b3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNyZWF0ZUNGU3RvcmFnZVNlc3Npb25Gb3JJZGVu
dGlmaWVyKGlkZW50aWZpZXIuZ2V0KCkpOworICAgICAgICBzdG9yYWdlU2Vzc2lvbiA9IFdlYkNv
cmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y3JlYXRlQ0ZTdG9yYWdlU2Vzc2lvbkZvcklkZW50
aWZpZXIoaWRlbnRpZmllci5nZXQoKSwgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpT
aG91bGREaXNhYmxlQ0ZVUkxDYWNoZTo6WWVzKTsKIAogICAgIFJldGFpblB0cjxDRkhUVFBDb29r
aWVTdG9yYWdlUmVmPiBjb29raWVTdG9yYWdlOwogICAgIGlmIChXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OnByb2Nlc3NNYXlVc2VDb29raWVBUEkoKSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>