<?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>235336</bug_id>
          
          <creation_ts>2022-01-18 15:25:00 -0800</creation_ts>
          <short_desc>Fix -Wreturn-type and -Wunused-parameter warnings, January 2022 edition</short_desc>
          <delta_ts>2022-02-16 08:14:51 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=235401</see_also>
          <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="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>menard</cc>
    
    <cc>mikhail</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831852</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-18 15:25:00 -0800</bug_when>
    <thetext>Fix -Wreturn-type and -Wunused-parameter warnings, January 2022 edition</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831853</commentid>
    <comment_count>1</comment_count>
      <attachid>449433</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-18 15:26:15 -0800</bug_when>
    <thetext>Created attachment 449433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831865</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-18 15:47:28 -0800</bug_when>
    <thetext>It seems older GCC doesn&apos;t like RELEASE_ASSERT_NOT_REACHED() inside constexpr functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831869</commentid>
    <comment_count>3</comment_count>
      <attachid>449433</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-18 15:53:49 -0800</bug_when>
    <thetext>Comment on attachment 449433
Patch

Can’t use RELEASE_ASSERT_NOT_REACHED in constexpr functions. RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT does work, although we don’t have a straight &quot;NOT_REACHED&quot; version, so we could do the inelegant RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831870</commentid>
    <comment_count>4</comment_count>
      <attachid>449439</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-18 15:53:54 -0800</bug_when>
    <thetext>Created attachment 449439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831884</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-18 16:19:26 -0800</bug_when>
    <thetext>RELEASE_ASSERT_NOT_REACHED() actually does work fine there with GCC 11.

&gt; RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT

Oooh, didn&apos;t know about that. My current patch uses IGNORE_RETURN_TYPE_WARNINGS_BEGIN/END, but that sounds nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831906</commentid>
    <comment_count>6</comment_count>
      <attachid>449451</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-18 16:51:36 -0800</bug_when>
    <thetext>Created attachment 449451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832033</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-19 07:57:08 -0800</bug_when>
    <thetext>Committed r288200 (246172@main): &lt;https://commits.webkit.org/246172@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449451.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832038</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-19 08:42:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/87772730&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842243</commentid>
    <comment_count>9</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2022-02-16 05:01:27 -0800</bug_when>
    <thetext>Hi Michael,

EWS MIPS bots use gcc 8.4.0 and this patch breaks the build in debug mode... could you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842249</commentid>
    <comment_count>10</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2022-02-16 05:14:00 -0800</bug_when>
    <thetext>The error message:

In file included from WTF/Headers/wtf/StdLibExtras.h:33,
                 from WTF/Headers/wtf/FastMalloc.h:26,
                 from ../../Source/JavaScriptCore/config.h:38,
                 from ../../Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.cpp:26,
                 from JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-cd2e8cfa-2.cpp:1:
../../Source/JavaScriptCore/wasm/WasmCompilationMode.h: In function ‘constexpr bool JSC::Wasm::isOSREntry(JSC::Wasm::CompilationMode)’:
WTF/Headers/wtf/Assertions.h:364:34: error: call to non-‘constexpr’ function ‘void WTFReportAssertionFailure(const char*, int, const char*, const char*)’
         WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, #assertion); \
         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/Assertions.h:661:59: note: in expansion of macro ‘ASSERT_UNDER_CONSTEXPR_CONTEXT’
 #define RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion) ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion)
                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Source/JavaScriptCore/wasm/WasmCompilationMode.h:53:5: note: in expansion of macro ‘RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT’
     RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Source/JavaScriptCore/wasm/WasmCompilationMode.h: In function ‘constexpr bool JSC::Wasm::isAnyBBQ(JSC::Wasm::CompilationMode)’:
WTF/Headers/wtf/Assertions.h:364:34: error: call to non-‘constexpr’ function ‘void WTFReportAssertionFailure(const char*, int, const char*, const char*)’
         WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, #assertion); \
         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/Assertions.h:661:59: note: in expansion of macro ‘ASSERT_UNDER_CONSTEXPR_CONTEXT’
 #define RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion) ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion)
                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Source/JavaScriptCore/wasm/WasmCompilationMode.h:68:5: note: in expansion of macro ‘RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT’
     RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Source/JavaScriptCore/wasm/WasmCompilationMode.h: In function ‘constexpr bool JSC::Wasm::isAnyOMG(JSC::Wasm::CompilationMode)’:
WTF/Headers/wtf/Assertions.h:364:34: error: call to non-‘constexpr’ function ‘void WTFReportAssertionFailure(const char*, int, const char*, const char*)’
         WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, #assertion); \
         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/Assertions.h:661:59: note: in expansion of macro ‘ASSERT_UNDER_CONSTEXPR_CONTEXT’
 #define RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion) ASSERT_UNDER_CONSTEXPR_CONTEXT(assertion)
                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../Source/JavaScriptCore/wasm/WasmCompilationMode.h:83:5: note: in expansion of macro ‘RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT’
     RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(false);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842294</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-16 08:09:59 -0800</bug_when>
    <thetext>Hi Mikhail, that should have been fixed in bug #235401.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842296</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-16 08:14:51 -0800</bug_when>
    <thetext>Ah, actually I see that fixed RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT(), but your problem is with the normal ASSERT_UNDER_CONSTEXPR_CONTEXT(). The problem is identical, though: the assert just doesn&apos;t work at all.

I think we simply need to remove the call to WTFReportAssertionFailure() from ASSERT_UNDER_CONSTEXPR_CONTEXT(), since it&apos;s not constexpr. Does it build with that change? If so, please report a bug and I&apos;ll see if anybody objects to that....</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449433</attachid>
            <date>2022-01-18 15:26:15 -0800</date>
            <delta_ts>2022-01-18 15:53:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235336-20220118172614.patch</filename>
            <type>text/plain</type>
            <size>11537</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NWExYzZhNDFjMDQ5NWZjM2I3ODQwOTg3MDZmNDFjMzM2NDBjNTU1Li5iNjEzYzQ2MDczNjg1MmFl
OWUyMWNiYzk4ODc1ZDk2ZTgwMzQzYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMi0wMS0xOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdu
b21lLm9yZz4KKworICAgICAgICBGaXggLVdyZXR1cm4tdHlwZSBhbmQgLVd1bnVzZWQtcGFyYW1l
dGVyIHdhcm5pbmdzLCBKYW51YXJ5IDIwMjIgZWRpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MzM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3YXNtL1dhc21Db21waWxhdGlvbk1vZGUuaDoK
KyAgICAgICAgKEpTQzo6V2FzbTo6aXNPU1JFbnRyeSk6CisgICAgICAgIChKU0M6Oldhc206Omlz
QW55QkJRKToKKyAgICAgICAgKEpTQzo6V2FzbTo6aXNBbnlPTUcpOgorCiAyMDIyLTAxLTE4ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNl
IGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVpbGRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTExNGFmNGM5NWNmOWIxMGY4OTA3YjhjM2I1OGJkNWUxZmRiMDFlNi4uYzYwMWY0Mzk5YTMzMDZl
YmU5MjY5NzQyMWNlOGZmODUyZDdkZDc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDIyLTAxLTE4ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisg
ICAgICAgIEZpeCAtV3JldHVybi10eXBlIGFuZCAtV3VudXNlZC1wYXJhbWV0ZXIgd2FybmluZ3Ms
IEphbnVhcnkgMjAyMiBlZGl0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzUzMzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaENyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQdXNoQ3J5cHRvOjpjb21wdXRlUDI1NkRIU2hhcmVkU2VjcmV0KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNv
ZGVDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6dG9T
aXplVCk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckFuaW1hdGlvbkRpcmVjdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjp2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bHVlRm9yQW5pbWF0aW9uUGxheVN0YXRlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGVuZ3RoT2ZWaWV3cG9ydFBoeXNpY2FsQXhpc0Zv
ckxvZ2ljYWxBeGlzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckludGVycG9s
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zml4dXBIdWVDb21wb25lbnRzUHJpb3JUb0lu
dGVycG9sYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xh
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJwb2xhdGVDb2xvcnMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGRUNvbG9yTWF0cml4OjpjcmVhdGVBcHBsaWVyIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RkVDb21wb25lbnRUcmFuc2Zlcjo6Y3JlYXRlQXBwbGllciBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmNyZWF0ZUFwcGxpZXIgY29uc3QpOgorCiAy
MDIyLTAxLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVXNlIGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVpbGRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29tcGlsYXRpb25Nb2Rl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29tcGlsYXRpb25Nb2RlLmgKaW5k
ZXggMWUzZjJmMDhlZTNiY2IxZDRhNTIwMDk5MDdhMmRkOWU2MjJjNGM2Ny4uMjU2YmNjM2NlMzli
OTAyODMyZDI4OWU3OTE5OTg0NzY4NGU0NThjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUNvbXBpbGF0aW9uTW9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21Db21waWxhdGlvbk1vZGUuaApAQCAtNTAsNiArNTAsNyBAQCBjb25zdGV4
cHIgaW5saW5lIGJvb2wgaXNPU1JFbnRyeShDb21waWxhdGlvbk1vZGUgY29tcGlsYXRpb25Nb2Rl
KQogICAgIGNhc2UgQ29tcGlsYXRpb25Nb2RlOjpPTUdGb3JPU1JFbnRyeU1vZGU6CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCiBjb25zdGV4cHIgaW5saW5lIGJvb2wgaXNBbnlCQlEoQ29tcGlsYXRpb25Nb2RlIGNvbXBp
bGF0aW9uTW9kZSkKQEAgLTY0LDYgKzY1LDcgQEAgY29uc3RleHByIGlubGluZSBib29sIGlzQW55
QkJRKENvbXBpbGF0aW9uTW9kZSBjb21waWxhdGlvbk1vZGUpCiAgICAgY2FzZSBDb21waWxhdGlv
bk1vZGU6OkVtYmVkZGVyRW50cnlwb2ludE1vZGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogY29uc3RleHByIGlu
bGluZSBib29sIGlzQW55T01HKENvbXBpbGF0aW9uTW9kZSBjb21waWxhdGlvbk1vZGUpCkBAIC03
OCw2ICs4MCw3IEBAIGNvbnN0ZXhwciBpbmxpbmUgYm9vbCBpc0FueU9NRyhDb21waWxhdGlvbk1v
ZGUgY29tcGlsYXRpb25Nb2RlKQogICAgIGNhc2UgQ29tcGlsYXRpb25Nb2RlOjpFbWJlZGRlckVu
dHJ5cG9pbnRNb2RlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpXYXNtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hDcnlwdG8uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoQ3J5cHRvLmNwcAppbmRleCA5
ZjRhMDMxM2Y0MjllMDNjYzVhODQwOTU3MjY5OWQwOWQxMDIxNTY0Li4zYTM2NjI5NzBjZTk3NmYz
NWFjZDFmODQzZGY3NTE3NTU2ZWQ2ZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hDcnlwdG8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaENyeXB0by5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgYm9vbCB2YWxpZGF0ZVAy
NTZESFB1YmxpY0tleShTcGFuPGNvbnN0IHVpbnQ4X3Q+KQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGNvbXB1dGVQMjU2REhTaGFyZWRTZWNy
ZXQoU3Bhbjxjb25zdCB1aW50OF90PiBwdWJsaWNLZXksIGNvbnN0IFAyNTZESEtleVBhaXImIGtl
eVBhaXIpCitzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gY29tcHV0ZVAyNTZESFNoYXJl
ZFNlY3JldChTcGFuPGNvbnN0IHVpbnQ4X3Q+LCBjb25zdCBQMjU2REhLZXlQYWlyJikKIHsKICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ1NTUnVsZUN1c3RvbS5jcHAKaW5kZXggNTFiMjQxNWY0ZjgyMWJlYmFhNTBlMzU4NDE0M2Vl
ZjYzZjZmYzkzMy4uZGNlYjcxMGQ2NGNhNDYxMjQyYWI4YTMwMTgwNjAwNmM3MGVjMjIwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCkBAIC0x
MDIsNiArMTAyLDcgQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0Kiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPEMKICAgICBjYXNlIFN0eWxlUnVs
ZVR5cGU6Ok1hcmdpbjoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTUnVsZT4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKIH0KIAogSlNWYWx1ZSB0b0pTKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDU1NSdWxlJiBvYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRl
Y29kZUNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5
dGVjb2RlQ29tcGlsZXIuY3BwCmluZGV4IDZhMjEyN2U1ODQ4OWVhOWQ0YTNiNzM3MmMwNGM3MGE0
YzE3ODkzZWQuLjNkZTI0NjE5YWQ5ODA2MzA3NjBiZDdhOWIzOWRlNWUzZTUzYmFjYWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlQ29tcGls
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2Rl
Q29tcGlsZXIuY3BwCkBAIC0xMDUsNiArMTA1LDcgQEAgc3RhdGljIHNpemVfdCB0b1NpemVUKERG
QUJ5dGVjb2RlRmxhZ3NTaXplIHNpemUpCiAgICAgY2FzZSBERkFCeXRlY29kZUZsYWdzU2l6ZTo6
VUludDI0OgogICAgICAgICByZXR1cm4gVUludDI0U2l6ZTsKICAgICB9CisgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogc3RhdGljIHNpemVfdCB0b1NpemVUKERGQUJ5dGVj
b2RlQWN0aW9uU2l6ZSBzaXplKQpAQCAtMTE5LDYgKzEyMCw3IEBAIHN0YXRpYyBzaXplX3QgdG9T
aXplVChERkFCeXRlY29kZUFjdGlvblNpemUgc2l6ZSkKICAgICBjYXNlIERGQUJ5dGVjb2RlQWN0
aW9uU2l6ZTo6VUludDMyOgogICAgICAgICByZXR1cm4gc2l6ZW9mKHVpbnQzMl90KTsKICAgICB9
CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogc3RhdGljIHNpemVfdCBh
cHBlbmRBY3Rpb25CeXRlY29kZVNpemUodWludDY0X3QgYWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA2ZWJlNjdh
YjkyZTZlNzUxZDg3ODFmYTZmYWI5NTdjZjY2NmE1OGZhLi43NTdiNDVkM2RiMTcyYzI1YTU3YjUz
ODk0ODQ1NzE1YjUxZTdjOGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTM2MCw2ICsxMzYwLDcgQEAgc3RhdGljIFJl
ZjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25EaXJlY3Rpb24oQW5pbWF0aW9u
OjpBbmltYXRpb25EaXIKICAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uQWx0
ZXJuYXRlUmV2ZXJzZToKICAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCku
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWx0ZXJuYXRlUmV2ZXJzZSk7CiAgICAgfQor
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHN0YXRpYyBSZWY8Q1NTUHJp
bWl0aXZlVmFsdWU+IHZhbHVlRm9yQW5pbWF0aW9uRmlsbE1vZGUoQW5pbWF0aW9uRmlsbE1vZGUg
ZmlsbE1vZGUpCkBAIC0xMzc0LDYgKzEzNzUsNyBAQCBzdGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZh
bHVlPiB2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKEFuaW1hdGlvbkZpbGxNb2RlIGZpbGxNbwog
ICAgIGNhc2UgQW5pbWF0aW9uRmlsbE1vZGU6OkJvdGg6CiAgICAgICAgIHJldHVybiBDU1NWYWx1
ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUJvdGgpOwog
ICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiBzdGF0aWMgUmVm
PENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvblBsYXlTdGF0ZShBbmltYXRpb25Q
bGF5U3RhdGUgcGxheVN0YXRlKQpAQCAtMTM4NCw2ICsxMzg2LDcgQEAgc3RhdGljIFJlZjxDU1NQ
cmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25QbGF5U3RhdGUoQW5pbWF0aW9uUGxheVN0
YXRlIHBsYXkKICAgICBjYXNlIEFuaW1hdGlvblBsYXlTdGF0ZTo6UGF1c2VkOgogICAgICAgICBy
ZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVQYXVzZWQpOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCiBzdGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvbk5hbWUo
Y29uc3QgQW5pbWF0aW9uOjpOYW1lJiBuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZS5jcHAKaW5kZXggMGY3ZTAwNTYzYjY3Y2FjZmNiNzk1NDg1N2NhNjVlM2Q4OTI4ZTdj
ZC4uN2YxOTZlOTQxZmNhYmJmYTRkNjlkMDU4NzEzMTAxNTY1NDFiNTY4MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC02ODgsNyArNjg4LDcgQEAgc3RhdGlj
IGRvdWJsZSBsZW5ndGhPZlZpZXdwb3J0UGh5c2ljYWxBeGlzRm9yTG9naWNhbEF4aXMoTG9naWNh
bEJveEF4aXMgbG9naWNhbEEKICAgICAgICAgcmV0dXJuIHNpemUuaGVpZ2h0KCk7CiAgICAgfQog
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIH0KIAogc3RhdGljIGRvdWJsZSBsZW5ndGhPZlZpZXdwb3J0UGh5c2ljYWxBeGlzRm9y
TG9naWNhbEF4aXMoTG9naWNhbEJveEF4aXMgbG9naWNhbEF4aXMsIGNvbnN0IEZsb2F0U2l6ZSYg
c2l6ZSwgY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckludGVycG9sYXRpb24uY3BwCmluZGV4IGEw
ZTkzMmFlOWM3MjY5MmQ2MzE0MjliMjA2ZTY2ZDFjNjIzYTg4ZmMuLjE3NWM0M2U1MGM2NmFiODJl
OTI2YWM4ZGY1NTMzZWI3MDA0NjlmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmNwcApAQCAtODEsNiArODEsNyBA
QCBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBmaXh1cEh1ZUNvbXBvbmVudHNQcmlvclRvSW50ZXJw
b2xhdGlvbihIdWVJbnRlcnBvbGF0aW9uTQogICAgIGNhc2UgSHVlSW50ZXJwb2xhdGlvbk1ldGhv
ZDo6U3BlY2lmaWVkOgogICAgICAgICByZXR1cm4gbm9ybWFsaXplQW5nbGVzVXNpbmdTcGVjaWZp
ZWRBbGdvcml0aG0oY29tcG9uZW50MSwgY29tcG9uZW50Mik7CiAgICAgfQorICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmgKaW5kZXggNmQ4ZGQ5M2Y4ZmM1
MjNiY2JmOTg2MzUwNThmMzcwMWI3NGVhNWE5ZC4uYWNjNWZhNDQ0YmE0YTI4ZmM0NjQ4NzdiOWVh
YzMyMjNmYTYyZDI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3JJbnRlcnBvbGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBpbmxpbmUgQ29s
b3IgaW50ZXJwb2xhdGVDb2xvcnMoQ29sb3JJbnRlcnBvbGF0aW9uTWV0aG9kIGNvbG9ySW50ZXJw
b2xhdGlvbk1ldGhvZAogICAgICAgICAgICAgY2FzZSBBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpV
bnByZW11bHRpcGxpZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VDYW5vbmljYWxDb2xv
cihpbnRlcnBvbGF0ZUNvbG9yQ29tcG9uZW50czxBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpVbnBy
ZW11bHRpcGxpZWQ+KGNvbG9yU3BhY2UsIGNvbG9yMS50b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlw
ZT4oKSwgY29sb3IxTXVsdGlwbGllciwgY29sb3IyLnRvQ29sb3JUeXBlTG9zc3k8Q29sb3JUeXBl
PigpLCBjb2xvcjJNdWx0aXBsaWVyKSk7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJp
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JN
YXRyaXguY3BwCmluZGV4IDEwMzhlYWMwYjE1YTk4OTM5MTJiMGI2YTBjNTZkOTFmOWIzOTg4ZDAu
LjQ3NjFhYjg1Y2NkMjFlNzZhYjEwOWNmMTE2NTc1ODZiMjY5ODYxMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0
cml4LmNwcApAQCAtMTE1LDYgKzExNSw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGaWx0ZXJFZmZlY3RB
cHBsaWVyPiBGRUNvbG9yTWF0cml4OjpjcmVhdGVBcHBsaWVyKGNvbnN0IEZpbHRlciYKICNpZiBV
U0UoQ09SRV9JTUFHRSkKICAgICBpZiAoZmlsdGVyLnJlbmRlcmluZ01vZGUoKSA9PSBSZW5kZXJp
bmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAgICAgcmV0dXJuIEZpbHRlckVmZmVjdEFwcGxpZXI6
OmNyZWF0ZTxGRUNvbG9yTWF0cml4Q29yZUltYWdlQXBwbGllcj4oKnRoaXMpOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oZmlsdGVyKTsKICNlbmRpZgogICAgIHJldHVybiBGaWx0ZXJFZmZlY3RB
cHBsaWVyOjpjcmVhdGU8RkVDb2xvck1hdHJpeFNvZnR3YXJlQXBwbGllcj4oKnRoaXMpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bXBvbmVudFRyYW5zZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAKaW5kZXggZDIzZjdiYTg1MTM0NjM2OTRmOTJh
MjU3NDMzM2Q5NDdhMWQ1MzlmYy4uMTNmMWU3ZTE2MjM1ZjczNDI2MzM3YzBhNWJjOTRmYzRjMzll
MmRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUNvbXBvbmVudFRyYW5zZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwCkBAIC02MSw2ICs2MSw4IEBA
IHN0ZDo6dW5pcXVlX3B0cjxGaWx0ZXJFZmZlY3RBcHBsaWVyPiBGRUNvbXBvbmVudFRyYW5zZmVy
OjpjcmVhdGVBcHBsaWVyKGNvbnN0IEZpCiAjaWYgVVNFKENPUkVfSU1BR0UpCiAgICAgaWYgKGZp
bHRlci5yZW5kZXJpbmdNb2RlKCkgPT0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQpCiAgICAg
ICAgIHJldHVybiBGaWx0ZXJFZmZlY3RBcHBsaWVyOjpjcmVhdGU8RkVDb21wb25lbnRUcmFuc2Zl
ckNvcmVJbWFnZUFwcGxpZXI+KCp0aGlzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGZpbHRl
cik7CiAjZW5kaWYKICAgICByZXR1cm4gRmlsdGVyRWZmZWN0QXBwbGllcjo6Y3JlYXRlPEZFQ29t
cG9uZW50VHJhbnNmZXJTb2Z0d2FyZUFwcGxpZXI+KCp0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMu
Y3BwCmluZGV4IGMwODhjZjdjOGI2M2IwY2M3ODJjODA3OWEwZDI1NjZlMzMwMjI0OWMuLjQ4ZmQ0
MThjMjliYTc2MTE1Y2VmN2MyMzA1ODg3MDFjYjBmMmM2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNw
cApAQCAtNDcsNiArNDcsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8RmlsdGVyRWZmZWN0QXBwbGllcj4g
U291cmNlR3JhcGhpYzo6Y3JlYXRlQXBwbGllcihjb25zdCBGaWx0ZXImCiAgICAgLy8gRklYTUU6
IHJldHVybiBTb3VyY2VHcmFwaGljQ29yZUltYWdlQXBwbGllci4KICAgICBpZiAoZmlsdGVyLnJl
bmRlcmluZ01vZGUoKSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAgICAgcmV0
dXJuIEZpbHRlckVmZmVjdEFwcGxpZXI6OmNyZWF0ZTxTb3VyY2VHcmFwaGljQ29yZUltYWdlQXBw
bGllcj4oKnRoaXMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZmlsdGVyKTsKICNlbmRpZgog
ICAgIHJldHVybiBGaWx0ZXJFZmZlY3RBcHBsaWVyOjpjcmVhdGU8U291cmNlR3JhcGhpY1NvZnR3
YXJlQXBwbGllcj4oKnRoaXMpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449439</attachid>
            <date>2022-01-18 15:53:54 -0800</date>
            <delta_ts>2022-01-18 16:51:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235336-20220118175354.patch</filename>
            <type>text/plain</type>
            <size>11074</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NWExYzZhNDFjMDQ5NWZjM2I3ODQwOTg3MDZmNDFjMzM2NDBjNTU1Li40NzUwNWVlZDM4YTMzNDM4
NWRjNTc5NTM3YTMxNThjZTZhYTU2NGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMi0wMS0xOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdu
b21lLm9yZz4KKworICAgICAgICBGaXggLVdyZXR1cm4tdHlwZSBhbmQgLVd1bnVzZWQtcGFyYW1l
dGVyIHdhcm5pbmdzLCBKYW51YXJ5IDIwMjIgZWRpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MzM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3YXNtL1dhc21Db21waWxhdGlvbk1vZGUuaDoK
KwogMjAyMi0wMS0xOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVzZSBjKysyYSBpbnN0ZWFkIG9mIGdudSsrMmEgZm9yIENvY29hIGJ1aWxk
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGUxMTRhZjRjOTVjZjliMTBmODkwN2I4YzNiNThiZDVlMWZkYjAxZTYu
LmM2MDFmNDM5OWEzMzA2ZWJlOTI2OTc0MjFjZThmZjg1MmQ3ZGQ3NTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMi0wMS0xOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGdub21lLm9yZz4KKworICAgICAgICBGaXggLVdyZXR1cm4tdHlwZSBhbmQgLVd1bnVzZWQtcGFy
YW1ldGVyIHdhcm5pbmdzLCBKYW51YXJ5IDIwMjIgZWRpdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MzM2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hDcnlw
dG8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHVzaENyeXB0bzo6Y29tcHV0ZVAyNTZESFNoYXJl
ZFNlY3JldCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGNvbnRlbnRleHRl
bnNpb25zL0RGQUJ5dGVjb2RlQ29tcGlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dEV4dGVuc2lvbnM6OnRvU2l6ZVQpOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JBbmltYXRpb25EaXJlY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JBbmltYXRpb25GaWxsTW9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjp2YWx1ZUZvckFuaW1hdGlvblBsYXlTdGF0ZSk6CisgICAgICAgICogY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omxlbmd0aE9mVmlld3Bv
cnRQaHlzaWNhbEF4aXNGb3JMb2dpY2FsQXhpcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3JJbnRlcnBvbGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpeHVwSHVlQ29t
cG9uZW50c1ByaW9yVG9JbnRlcnBvbGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvckludGVycG9sYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OmludGVycG9sYXRlQ29s
b3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXgu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDb2xvck1hdHJpeDo6Y3JlYXRlQXBwbGllciBjb25z
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5z
ZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFQ29tcG9uZW50VHJhbnNmZXI6OmNyZWF0ZUFw
cGxpZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNl
R3JhcGhpYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VHcmFwaGljOjpjcmVhdGVBcHBs
aWVyIGNvbnN0KToKKwogMjAyMi0wMS0xOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVzZSBjKysyYSBpbnN0ZWFkIG9mIGdudSsrMmEgZm9y
IENvY29hIGJ1aWxkcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUNvbXBpbGF0aW9uTW9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvbXBp
bGF0aW9uTW9kZS5oCmluZGV4IDFlM2YyZjA4ZWUzYmNiMWQ0YTUyMDA5OTA3YTJkZDllNjIyYzRj
NjcuLjliNjQzMjczYzdlMjE2Y2UyNzNjOTkwZWNkN2FjNjE5ZmE2OGVjODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Db21waWxhdGlvbk1vZGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ29tcGlsYXRpb25Nb2RlLmgKQEAgLTM4LDYg
KzM4LDggQEAgZW51bSBjbGFzcyBDb21waWxhdGlvbk1vZGUgOiB1aW50OF90IHsKIAogY29uc3Qg
Y2hhciogbWFrZVN0cmluZyhDb21waWxhdGlvbk1vZGUpOwogCitJR05PUkVfUkVUVVJOX1RZUEVf
V0FSTklOR1NfQkVHSU4KKwogY29uc3RleHByIGlubGluZSBib29sIGlzT1NSRW50cnkoQ29tcGls
YXRpb25Nb2RlIGNvbXBpbGF0aW9uTW9kZSkKIHsKICAgICBzd2l0Y2ggKGNvbXBpbGF0aW9uTW9k
ZSkgewpAQCAtODAsNCArODIsNiBAQCBjb25zdGV4cHIgaW5saW5lIGJvb2wgaXNBbnlPTUcoQ29t
cGlsYXRpb25Nb2RlIGNvbXBpbGF0aW9uTW9kZSkKICAgICB9CiB9CiAKK0lHTk9SRV9SRVRVUk5f
VFlQRV9XQVJOSU5HU19FTkQKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6Oldhc20KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaENyeXB0by5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hDcnlwdG8uY3BwCmluZGV4IDlmNGEwMzEz
ZjQyOWUwM2NjNWE4NDA5NTcyNjk5ZDA5ZDEwMjE1NjQuLjNhMzY2Mjk3MGNlOTc2ZjM1YWNkMWY4
NDNkZjc1MTc1NTZlZDZlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVz
aC1hcGkvUHVzaENyeXB0by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFw
aS9QdXNoQ3J5cHRvLmNwcApAQCAtNDQsNyArNDQsNyBAQCBib29sIHZhbGlkYXRlUDI1NkRIUHVi
bGljS2V5KFNwYW48Y29uc3QgdWludDhfdD4pCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGQ6
Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gY29tcHV0ZVAyNTZESFNoYXJlZFNlY3JldChTcGFu
PGNvbnN0IHVpbnQ4X3Q+IHB1YmxpY0tleSwgY29uc3QgUDI1NkRIS2V5UGFpciYga2V5UGFpcikK
K3N0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBjb21wdXRlUDI1NkRIU2hhcmVkU2VjcmV0
KFNwYW48Y29uc3QgdWludDhfdD4sIGNvbnN0IFAyNTZESEtleVBhaXImKQogewogICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcAppbmRleCA1MWIyNDE1ZjRmODIxYmViYWE1MGUzNTg0MTQzZWVmNjNmNmZj
OTMzLi5kY2ViNzEwZDY0Y2E0NjEyNDJhYjhhMzAxODA2MDA2YzcwZWMyMjA1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTEwMiw2ICsx
MDIsNyBAQCBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8QwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6
TWFyZ2luOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NSdWxlPihnbG9iYWxPYmpl
Y3QsIFdURk1vdmUocnVsZSkpOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQogCiBKU1ZhbHVlIHRvSlMoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENTU1J1bGUmIG9iamVjdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0RGQUJ5dGVjb2RlQ29t
cGlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVD
b21waWxlci5jcHAKaW5kZXggNmEyMTI3ZTU4NDg5ZWE5ZDRhM2I3MzcyYzA0YzcwYTRjMTc4OTNl
ZC4uM2RlMjQ2MTlhZDk4MDYzMDc2MGJkN2E5YjM5ZGU1ZTNlNTNiYWNhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVDb21waWxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVDb21waWxl
ci5jcHAKQEAgLTEwNSw2ICsxMDUsNyBAQCBzdGF0aWMgc2l6ZV90IHRvU2l6ZVQoREZBQnl0ZWNv
ZGVGbGFnc1NpemUgc2l6ZSkKICAgICBjYXNlIERGQUJ5dGVjb2RlRmxhZ3NTaXplOjpVSW50MjQ6
CiAgICAgICAgIHJldHVybiBVSW50MjRTaXplOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQogCiBzdGF0aWMgc2l6ZV90IHRvU2l6ZVQoREZBQnl0ZWNvZGVBY3Rp
b25TaXplIHNpemUpCkBAIC0xMTksNiArMTIwLDcgQEAgc3RhdGljIHNpemVfdCB0b1NpemVUKERG
QUJ5dGVjb2RlQWN0aW9uU2l6ZSBzaXplKQogICAgIGNhc2UgREZBQnl0ZWNvZGVBY3Rpb25TaXpl
OjpVSW50MzI6CiAgICAgICAgIHJldHVybiBzaXplb2YodWludDMyX3QpOwogICAgIH0KKyAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiBzdGF0aWMgc2l6ZV90IGFwcGVuZEFj
dGlvbkJ5dGVjb2RlU2l6ZSh1aW50NjRfdCBhY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDZlYmU2N2FiOTJlNmU3
NTFkODc4MWZhNmZhYjk1N2NmNjY2YTU4ZmEuLjc1N2I0NWQzZGIxNzJjMjVhNTdiNTM4OTQ4NDU3
MTViNTFlN2M4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMzYwLDYgKzEzNjAsNyBAQCBzdGF0aWMgUmVmPENTU1By
aW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvbkRpcmVjdGlvbihBbmltYXRpb246OkFuaW1h
dGlvbkRpcgogICAgIGNhc2UgQW5pbWF0aW9uOjpBbmltYXRpb25EaXJlY3Rpb25BbHRlcm5hdGVS
ZXZlcnNlOgogICAgICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBbHRlcm5hdGVSZXZlcnNlKTsKICAgICB9CisgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogc3RhdGljIFJlZjxDU1NQcmltaXRpdmVW
YWx1ZT4gdmFsdWVGb3JBbmltYXRpb25GaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZSBmaWxsTW9k
ZSkKQEAgLTEzNzQsNiArMTM3NSw3IEBAIHN0YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZh
bHVlRm9yQW5pbWF0aW9uRmlsbE1vZGUoQW5pbWF0aW9uRmlsbE1vZGUgZmlsbE1vCiAgICAgY2Fz
ZSBBbmltYXRpb25GaWxsTW9kZTo6Qm90aDoKICAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6
c2luZ2xldG9uKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQm90aCk7CiAgICAgfQor
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHN0YXRpYyBSZWY8Q1NTUHJp
bWl0aXZlVmFsdWU+IHZhbHVlRm9yQW5pbWF0aW9uUGxheVN0YXRlKEFuaW1hdGlvblBsYXlTdGF0
ZSBwbGF5U3RhdGUpCkBAIC0xMzg0LDYgKzEzODYsNyBAQCBzdGF0aWMgUmVmPENTU1ByaW1pdGl2
ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvblBsYXlTdGF0ZShBbmltYXRpb25QbGF5U3RhdGUgcGxh
eQogICAgIGNhc2UgQW5pbWF0aW9uUGxheVN0YXRlOjpQYXVzZWQ6CiAgICAgICAgIHJldHVybiBD
U1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVBh
dXNlZCk7CiAgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHN0
YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlRm9yQW5pbWF0aW9uTmFtZShjb25zdCBB
bmltYXRpb246Ok5hbWUmIG5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcAppbmRleCAwZjdlMDA1NjNiNjdjYWNmY2I3OTU0ODU3Y2E2NWUzZDg5MjhlN2NkLi43ZjE5
NmU5NDFmY2FiYmZhNGQ2OWQwNTg3MTMxMDE1NjU0MWI1NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTY4OCw3ICs2ODgsNyBAQCBzdGF0aWMgZG91Ymxl
IGxlbmd0aE9mVmlld3BvcnRQaHlzaWNhbEF4aXNGb3JMb2dpY2FsQXhpcyhMb2dpY2FsQm94QXhp
cyBsb2dpY2FsQQogICAgICAgICByZXR1cm4gc2l6ZS5oZWlnaHQoKTsKICAgICB9CiAKLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCiBzdGF0aWMgZG91YmxlIGxlbmd0aE9mVmlld3BvcnRQaHlzaWNhbEF4aXNGb3JMb2dpY2Fs
QXhpcyhMb2dpY2FsQm94QXhpcyBsb2dpY2FsQXhpcywgY29uc3QgRmxvYXRTaXplJiBzaXplLCBj
b25zdCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xhdGlvbi5jcHAKaW5kZXggYTBlOTMyYWU5
YzcyNjkyZDYzMTQyOWIyMDZlNjZkMWM2MjNhODhmYy4uMTc1YzQzZTUwYzY2YWI4MmU5MjZhYzhk
ZjU1MzNlYjcwMDQ2OWY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Db2xvckludGVycG9sYXRpb24uY3BwCkBAIC04MSw2ICs4MSw3IEBAIHN0ZDo6
cGFpcjxmbG9hdCwgZmxvYXQ+IGZpeHVwSHVlQ29tcG9uZW50c1ByaW9yVG9JbnRlcnBvbGF0aW9u
KEh1ZUludGVycG9sYXRpb25NCiAgICAgY2FzZSBIdWVJbnRlcnBvbGF0aW9uTWV0aG9kOjpTcGVj
aWZpZWQ6CiAgICAgICAgIHJldHVybiBub3JtYWxpemVBbmdsZXNVc2luZ1NwZWNpZmllZEFsZ29y
aXRobShjb21wb25lbnQxLCBjb21wb25lbnQyKTsKICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Db2xvckludGVycG9sYXRpb24uaAppbmRleCA2ZDhkZDkzZjhmYzUyM2JjYmY5
ODYzNTA1OGYzNzAxYjc0ZWE1YTlkLi5hY2M1ZmE0NDRiYTRhMjhmYzQ2NDg3N2I5ZWFjMzIyM2Zh
NjJkMjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ckludGVycG9sYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvckludGVycG9sYXRpb24uaApAQCAtMTI2LDYgKzEyNiw3IEBAIGlubGluZSBDb2xvciBpbnRl
cnBvbGF0ZUNvbG9ycyhDb2xvckludGVycG9sYXRpb25NZXRob2QgY29sb3JJbnRlcnBvbGF0aW9u
TWV0aG9kCiAgICAgICAgICAgICBjYXNlIEFscGhhUHJlbXVsdGlwbGljYXRpb246OlVucHJlbXVs
dGlwbGllZDoKICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZUNhbm9uaWNhbENvbG9yKGludGVy
cG9sYXRlQ29sb3JDb21wb25lbnRzPEFscGhhUHJlbXVsdGlwbGljYXRpb246OlVucHJlbXVsdGlw
bGllZD4oY29sb3JTcGFjZSwgY29sb3IxLnRvQ29sb3JUeXBlTG9zc3k8Q29sb3JUeXBlPigpLCBj
b2xvcjFNdWx0aXBsaWVyLCBjb2xvcjIudG9Db2xvclR5cGVMb3NzeTxDb2xvclR5cGU+KCksIGNv
bG9yMk11bHRpcGxpZXIpKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICApOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5j
cHAKaW5kZXggMTAzOGVhYzBiMTVhOTg5MzkxMmIwYjZhMGM1NmQ5MWY5YjM5ODhkMC4uNDc2MWFi
ODVjY2QyMWU3NmFiMTA5Y2YxMTY1NzU4NmIyNjk4NjEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3Bw
CkBAIC0xMTUsNiArMTE1LDggQEAgc3RkOjp1bmlxdWVfcHRyPEZpbHRlckVmZmVjdEFwcGxpZXI+
IEZFQ29sb3JNYXRyaXg6OmNyZWF0ZUFwcGxpZXIoY29uc3QgRmlsdGVyJgogI2lmIFVTRShDT1JF
X0lNQUdFKQogICAgIGlmIChmaWx0ZXIucmVuZGVyaW5nTW9kZSgpID09IFJlbmRlcmluZ01vZGU6
OkFjY2VsZXJhdGVkKQogICAgICAgICByZXR1cm4gRmlsdGVyRWZmZWN0QXBwbGllcjo6Y3JlYXRl
PEZFQ29sb3JNYXRyaXhDb3JlSW1hZ2VBcHBsaWVyPigqdGhpcyk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShmaWx0ZXIpOwogI2VuZGlmCiAgICAgcmV0dXJuIEZpbHRlckVmZmVjdEFwcGxpZXI6
OmNyZWF0ZTxGRUNvbG9yTWF0cml4U29mdHdhcmVBcHBsaWVyPigqdGhpcyk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50
VHJhbnNmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvbmVudFRyYW5zZmVyLmNwcAppbmRleCBkMjNmN2JhODUxMzQ2MzY5NGY5MmEyNTc0MzMz
ZDk0N2ExZDUzOWZjLi4xM2YxZTdlMTYyMzVmNzM0MjYzMzdjMGE1YmM5NGZjNGMzOWUyZGYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29t
cG9uZW50VHJhbnNmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAKQEAgLTYxLDYgKzYxLDggQEAgc3RkOjp1
bmlxdWVfcHRyPEZpbHRlckVmZmVjdEFwcGxpZXI+IEZFQ29tcG9uZW50VHJhbnNmZXI6OmNyZWF0
ZUFwcGxpZXIoY29uc3QgRmkKICNpZiBVU0UoQ09SRV9JTUFHRSkKICAgICBpZiAoZmlsdGVyLnJl
bmRlcmluZ01vZGUoKSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkKICAgICAgICAgcmV0
dXJuIEZpbHRlckVmZmVjdEFwcGxpZXI6OmNyZWF0ZTxGRUNvbXBvbmVudFRyYW5zZmVyQ29yZUlt
YWdlQXBwbGllcj4oKnRoaXMpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZmlsdGVyKTsKICNl
bmRpZgogICAgIHJldHVybiBGaWx0ZXJFZmZlY3RBcHBsaWVyOjpjcmVhdGU8RkVDb21wb25lbnRU
cmFuc2ZlclNvZnR3YXJlQXBwbGllcj4oKnRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKaW5k
ZXggYzA4OGNmN2M4YjYzYjBjYzc4MmM4MDc5YTBkMjU2NmUzMzAyMjQ5Yy4uNDhmZDQxOGMyOWJh
NzYxMTVjZWY3YzIzMDU4ODcwMWNiMGYyYzZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCkBAIC00
Nyw2ICs0Nyw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGaWx0ZXJFZmZlY3RBcHBsaWVyPiBTb3VyY2VH
cmFwaGljOjpjcmVhdGVBcHBsaWVyKGNvbnN0IEZpbHRlciYKICAgICAvLyBGSVhNRTogcmV0dXJu
IFNvdXJjZUdyYXBoaWNDb3JlSW1hZ2VBcHBsaWVyLgogICAgIGlmIChmaWx0ZXIucmVuZGVyaW5n
TW9kZSgpID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkKQogICAgICAgICByZXR1cm4gRmls
dGVyRWZmZWN0QXBwbGllcjo6Y3JlYXRlPFNvdXJjZUdyYXBoaWNDb3JlSW1hZ2VBcHBsaWVyPigq
dGhpcyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmaWx0ZXIpOwogI2VuZGlmCiAgICAgcmV0
dXJuIEZpbHRlckVmZmVjdEFwcGxpZXI6OmNyZWF0ZTxTb3VyY2VHcmFwaGljU29mdHdhcmVBcHBs
aWVyPigqdGhpcyk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449451</attachid>
            <date>2022-01-18 16:51:36 -0800</date>
            <delta_ts>2022-01-19 07:57:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235336-20220118185135.patch</filename>
            <type>text/plain</type>
            <size>11574</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NWExYzZhNDFjMDQ5NWZjM2I3ODQwOTg3MDZmNDFjMzM2NDBjNTU1Li5iNjEzYzQ2MDczNjg1MmFl
OWUyMWNiYzk4ODc1ZDk2ZTgwMzQzYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMi0wMS0xOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdu
b21lLm9yZz4KKworICAgICAgICBGaXggLVdyZXR1cm4tdHlwZSBhbmQgLVd1bnVzZWQtcGFyYW1l
dGVyIHdhcm5pbmdzLCBKYW51YXJ5IDIwMjIgZWRpdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MzM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3YXNtL1dhc21Db21waWxhdGlvbk1vZGUuaDoK
KyAgICAgICAgKEpTQzo6V2FzbTo6aXNPU1JFbnRyeSk6CisgICAgICAgIChKU0M6Oldhc206Omlz
QW55QkJRKToKKyAgICAgICAgKEpTQzo6V2FzbTo6aXNBbnlPTUcpOgorCiAyMDIyLTAxLTE4ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNl
IGMrKzJhIGluc3RlYWQgb2YgZ251KysyYSBmb3IgQ29jb2EgYnVpbGRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmVjYTc0ZTQyODY2NDFiNzI0NTg3MDE1NmRlOGZkYzc1MGM3NjAyYS4uZjUzYzE4NDVkNzJiNTFi
MzFlZmJiYWI3MmUzZjg0ZTkwZWVkMDhlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDIyLTAxLTE4ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3JnPgorCisg
ICAgICAgIEZpeCAtV3JldHVybi10eXBlIGFuZCAtV3VudXNlZC1wYXJhbWV0ZXIgd2FybmluZ3Ms
IEphbnVhcnkgMjAyMiBlZGl0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzUzMzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaENyeXB0by5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQdXNoQ3J5cHRvOjpjb21wdXRlUDI1NkRIU2hhcmVkU2VjcmV0KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNv
ZGVDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6dG9T
aXplVCk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckFuaW1hdGlvbkRpcmVjdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjp2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bHVlRm9yQW5pbWF0aW9uUGxheVN0YXRlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bGVuZ3RoT2ZWaWV3cG9ydFBoeXNpY2FsQXhpc0Zv
ckxvZ2ljYWxBeGlzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckludGVycG9s
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zml4dXBIdWVDb21wb25lbnRzUHJpb3JUb0lu
dGVycG9sYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xh
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJwb2xhdGVDb2xvcnMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGRUNvbG9yTWF0cml4OjpjcmVhdGVBcHBsaWVyIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RkVDb21wb25lbnRUcmFuc2Zlcjo6Y3JlYXRlQXBwbGllciBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmNyZWF0ZUFwcGxpZXIgY29uc3QpOgorCiAy
MDIyLTAxLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgaW5w
dXQubGFiZWxzIGRvZXNuJ3Qgd29yayBpbnNpZGUgc2hhZG93IERPTQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvbXBpbGF0aW9uTW9kZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbUNvbXBpbGF0aW9uTW9kZS5oCmluZGV4IDFlM2YyZjA4ZWUz
YmNiMWQ0YTUyMDA5OTA3YTJkZDllNjIyYzRjNjcuLjZmMTM0ZTMzZWI4ZWJkZDM4ODhmZGIwNjhk
ZjdiZmNkMGM0MjI1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21Db21waWxhdGlvbk1vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
Q29tcGlsYXRpb25Nb2RlLmgKQEAgLTUwLDYgKzUwLDcgQEAgY29uc3RleHByIGlubGluZSBib29s
IGlzT1NSRW50cnkoQ29tcGlsYXRpb25Nb2RlIGNvbXBpbGF0aW9uTW9kZSkKICAgICBjYXNlIENv
bXBpbGF0aW9uTW9kZTo6T01HRm9yT1NSRW50cnlNb2RlOgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfVU5ERVJfQ09OU1RFWFBSX0NPTlRFWFQoZmFsc2Up
OwogfQogCiBjb25zdGV4cHIgaW5saW5lIGJvb2wgaXNBbnlCQlEoQ29tcGlsYXRpb25Nb2RlIGNv
bXBpbGF0aW9uTW9kZSkKQEAgLTY0LDYgKzY1LDcgQEAgY29uc3RleHByIGlubGluZSBib29sIGlz
QW55QkJRKENvbXBpbGF0aW9uTW9kZSBjb21waWxhdGlvbk1vZGUpCiAgICAgY2FzZSBDb21waWxh
dGlvbk1vZGU6OkVtYmVkZGVyRW50cnlwb2ludE1vZGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfVU5ERVJfQ09OU1RFWFBSX0NPTlRFWFQoZmFsc2Up
OwogfQogCiBjb25zdGV4cHIgaW5saW5lIGJvb2wgaXNBbnlPTUcoQ29tcGlsYXRpb25Nb2RlIGNv
bXBpbGF0aW9uTW9kZSkKQEAgLTc4LDYgKzgwLDcgQEAgY29uc3RleHByIGlubGluZSBib29sIGlz
QW55T01HKENvbXBpbGF0aW9uTW9kZSBjb21waWxhdGlvbk1vZGUpCiAgICAgY2FzZSBDb21waWxh
dGlvbk1vZGU6OkVtYmVkZGVyRW50cnlwb2ludE1vZGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfVU5ERVJfQ09OU1RFWFBSX0NPTlRFWFQoZmFsc2Up
OwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6V2FzbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoQ3J5cHRvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaENyeXB0by5jcHAKaW5kZXggOWY0YTAzMTNmNDI5ZTAzY2M1YTg0
MDk1NzI2OTlkMDlkMTAyMTU2NC4uM2EzNjYyOTcwY2U5NzZmMzVhY2QxZjg0M2RmNzUxNzU1NmVk
NmUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoQ3J5
cHRvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hDcnlwdG8u
Y3BwCkBAIC00NCw3ICs0NCw3IEBAIGJvb2wgdmFsaWRhdGVQMjU2REhQdWJsaWNLZXkoU3Bhbjxj
b25zdCB1aW50OF90PikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8VmVj
dG9yPHVpbnQ4X3Q+PiBjb21wdXRlUDI1NkRIU2hhcmVkU2VjcmV0KFNwYW48Y29uc3QgdWludDhf
dD4gcHVibGljS2V5LCBjb25zdCBQMjU2REhLZXlQYWlyJiBrZXlQYWlyKQorc3RkOjpvcHRpb25h
bDxWZWN0b3I8dWludDhfdD4+IGNvbXB1dGVQMjU2REhTaGFyZWRTZWNyZXQoU3Bhbjxjb25zdCB1
aW50OF90PiwgY29uc3QgUDI1NkRIS2V5UGFpciYpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3Bw
CmluZGV4IDUxYjI0MTVmNGY4MjFiZWJhYTUwZTM1ODQxNDNlZWY2M2Y2ZmM5MzMuLmRjZWI3MTBk
NjRjYTQ2MTI0MmFiOGEzMDE4MDYwMDZjNzBlYzIyMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcApAQCAtMTAyLDYgKzEwMiw3IEBAIEpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFJlZjxDCiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNYXJnaW46CiAgICAg
ICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1J1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShy
dWxlKSk7CiAgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIEpT
VmFsdWUgdG9KUyhKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ1NTUnVsZSYgb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVDb21waWxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUNvbXBpbGVyLmNwcApp
bmRleCA2YTIxMjdlNTg0ODllYTlkNGEzYjczNzJjMDRjNzBhNGMxNzg5M2VkLi4zZGUyNDYxOWFk
OTgwNjMwNzYwYmQ3YTliMzlkZTVlM2U1M2JhY2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUNvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUNvbXBpbGVyLmNwcApAQCAtMTA1
LDYgKzEwNSw3IEBAIHN0YXRpYyBzaXplX3QgdG9TaXplVChERkFCeXRlY29kZUZsYWdzU2l6ZSBz
aXplKQogICAgIGNhc2UgREZBQnl0ZWNvZGVGbGFnc1NpemU6OlVJbnQyNDoKICAgICAgICAgcmV0
dXJuIFVJbnQyNFNpemU7CiAgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiB9CiAKIHN0YXRpYyBzaXplX3QgdG9TaXplVChERkFCeXRlY29kZUFjdGlvblNpemUgc2l6ZSkK
QEAgLTExOSw2ICsxMjAsNyBAQCBzdGF0aWMgc2l6ZV90IHRvU2l6ZVQoREZBQnl0ZWNvZGVBY3Rp
b25TaXplIHNpemUpCiAgICAgY2FzZSBERkFCeXRlY29kZUFjdGlvblNpemU6OlVJbnQzMjoKICAg
ICAgICAgcmV0dXJuIHNpemVvZih1aW50MzJfdCk7CiAgICAgfQorICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiB9CiAKIHN0YXRpYyBzaXplX3QgYXBwZW5kQWN0aW9uQnl0ZWNvZGVT
aXplKHVpbnQ2NF90IGFjdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNmViZTY3YWI5MmU2ZTc1MWQ4NzgxZmE2ZmFi
OTU3Y2Y2NjZhNThmYS4uNzU3YjQ1ZDNkYjE3MmMyNWE1N2I1Mzg5NDg0NTcxNWI1MWU3YzhmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTEzNjAsNiArMTM2MCw3IEBAIHN0YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+
IHZhbHVlRm9yQW5pbWF0aW9uRGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyCiAgICAg
Y2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZVJldmVyc2U6CiAgICAg
ICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZShDU1NWYWx1ZUFsdGVybmF0ZVJldmVyc2UpOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQogCiBzdGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZv
ckFuaW1hdGlvbkZpbGxNb2RlKEFuaW1hdGlvbkZpbGxNb2RlIGZpbGxNb2RlKQpAQCAtMTM3NCw2
ICsxMzc1LDcgQEAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRp
b25GaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZSBmaWxsTW8KICAgICBjYXNlIEFuaW1hdGlvbkZp
bGxNb2RlOjpCb3RoOgogICAgICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVCb3RoKTsKICAgICB9CisgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4g
dmFsdWVGb3JBbmltYXRpb25QbGF5U3RhdGUoQW5pbWF0aW9uUGxheVN0YXRlIHBsYXlTdGF0ZSkK
QEAgLTEzODQsNiArMTM4Niw3IEBAIHN0YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVl
Rm9yQW5pbWF0aW9uUGxheVN0YXRlKEFuaW1hdGlvblBsYXlTdGF0ZSBwbGF5CiAgICAgY2FzZSBB
bmltYXRpb25QbGF5U3RhdGU6OlBhdXNlZDoKICAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6
c2luZ2xldG9uKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUGF1c2VkKTsKICAgICB9
CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogc3RhdGljIFJlZjxDU1NQ
cmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25OYW1lKGNvbnN0IEFuaW1hdGlvbjo6TmFt
ZSYgbmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDBm
N2UwMDU2M2I2N2NhY2ZjYjc5NTQ4NTdjYTY1ZTNkODkyOGU3Y2QuLjdmMTk2ZTk0MWZjYWJiZmE0
ZDY5ZDA1ODcxMzEwMTU2NTQxYjU2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmNwcApAQCAtNjg4LDcgKzY4OCw3IEBAIHN0YXRpYyBkb3VibGUgbGVuZ3RoT2ZWaWV3
cG9ydFBoeXNpY2FsQXhpc0ZvckxvZ2ljYWxBeGlzKExvZ2ljYWxCb3hBeGlzIGxvZ2ljYWxBCiAg
ICAgICAgIHJldHVybiBzaXplLmhlaWdodCgpOwogICAgIH0KIAotICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHN0YXRpYyBk
b3VibGUgbGVuZ3RoT2ZWaWV3cG9ydFBoeXNpY2FsQXhpc0ZvckxvZ2ljYWxBeGlzKExvZ2ljYWxC
b3hBeGlzIGxvZ2ljYWxBeGlzLCBjb25zdCBGbG9hdFNpemUmIHNpemUsIGNvbnN0IFJlbmRlclZp
ZXcmIHJlbmRlclZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db2xvckludGVycG9sYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3JJbnRlcnBvbGF0aW9uLmNwcAppbmRleCBhMGU5MzJhZTljNzI2OTJkNjMxNDI5
YjIwNmU2NmQxYzYyM2E4OGZjLi4xNzVjNDNlNTBjNjZhYjgyZTkyNmFjOGRmNTUzM2ViNzAwNDY5
ZjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvcklu
dGVycG9sYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9ySW50ZXJwb2xhdGlvbi5jcHAKQEAgLTgxLDYgKzgxLDcgQEAgc3RkOjpwYWlyPGZsb2F0LCBm
bG9hdD4gZml4dXBIdWVDb21wb25lbnRzUHJpb3JUb0ludGVycG9sYXRpb24oSHVlSW50ZXJwb2xh
dGlvbk0KICAgICBjYXNlIEh1ZUludGVycG9sYXRpb25NZXRob2Q6OlNwZWNpZmllZDoKICAgICAg
ICAgcmV0dXJuIG5vcm1hbGl6ZUFuZ2xlc1VzaW5nU3BlY2lmaWVkQWxnb3JpdGhtKGNvbXBvbmVu
dDEsIGNvbXBvbmVudDIpOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvckludGVycG9sYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9ySW50ZXJwb2xhdGlvbi5oCmluZGV4IDZkOGRkOTNmOGZjNTIzYmNiZjk4NjM1MDU4ZjM3MDFi
NzRlYTVhOWQuLmFjYzVmYTQ0NGJhNGEyOGZjNDY0ODc3YjllYWMzMjIzZmE2MmQyNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9ySW50ZXJwb2xh
dGlvbi5oCkBAIC0xMjYsNiArMTI2LDcgQEAgaW5saW5lIENvbG9yIGludGVycG9sYXRlQ29sb3Jz
KENvbG9ySW50ZXJwb2xhdGlvbk1ldGhvZCBjb2xvckludGVycG9sYXRpb25NZXRob2QKICAgICAg
ICAgICAgIGNhc2UgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbjo6VW5wcmVtdWx0aXBsaWVkOgogICAg
ICAgICAgICAgICAgIHJldHVybiBtYWtlQ2Fub25pY2FsQ29sb3IoaW50ZXJwb2xhdGVDb2xvckNv
bXBvbmVudHM8QWxwaGFQcmVtdWx0aXBsaWNhdGlvbjo6VW5wcmVtdWx0aXBsaWVkPihjb2xvclNw
YWNlLCBjb2xvcjEudG9Db2xvclR5cGVMb3NzeTxDb2xvclR5cGU+KCksIGNvbG9yMU11bHRpcGxp
ZXIsIGNvbG9yMi50b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSwgY29sb3IyTXVsdGlwbGll
cikpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgfQogICAgICk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcAppbmRleCAxMDM4
ZWFjMGIxNWE5ODkzOTEyYjBiNmEwYzU2ZDkxZjliMzk4OGQwLi40NzYxYWI4NWNjZDIxZTc2YWIx
MDljZjExNjU3NTg2YjI2OTg2MTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHAKQEAgLTExNSw2ICsx
MTUsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8RmlsdGVyRWZmZWN0QXBwbGllcj4gRkVDb2xvck1hdHJp
eDo6Y3JlYXRlQXBwbGllcihjb25zdCBGaWx0ZXImCiAjaWYgVVNFKENPUkVfSU1BR0UpCiAgICAg
aWYgKGZpbHRlci5yZW5kZXJpbmdNb2RlKCkgPT0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQp
CiAgICAgICAgIHJldHVybiBGaWx0ZXJFZmZlY3RBcHBsaWVyOjpjcmVhdGU8RkVDb2xvck1hdHJp
eENvcmVJbWFnZUFwcGxpZXI+KCp0aGlzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGZpbHRl
cik7CiAjZW5kaWYKICAgICByZXR1cm4gRmlsdGVyRWZmZWN0QXBwbGllcjo6Y3JlYXRlPEZFQ29s
b3JNYXRyaXhTb2Z0d2FyZUFwcGxpZXI+KCp0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJh
bnNmZXIuY3BwCmluZGV4IGQyM2Y3YmE4NTEzNDYzNjk0ZjkyYTI1NzQzMzNkOTQ3YTFkNTM5ZmMu
LjEzZjFlN2UxNjIzNWY3MzQyNjMzN2MwYTViYzk0ZmM0YzM5ZTJkZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bXBvbmVudFRyYW5zZmVyLmNwcApAQCAtNjEsNiArNjEsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Rmls
dGVyRWZmZWN0QXBwbGllcj4gRkVDb21wb25lbnRUcmFuc2Zlcjo6Y3JlYXRlQXBwbGllcihjb25z
dCBGaQogI2lmIFVTRShDT1JFX0lNQUdFKQogICAgIGlmIChmaWx0ZXIucmVuZGVyaW5nTW9kZSgp
ID09IFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkKQogICAgICAgICByZXR1cm4gRmlsdGVyRWZm
ZWN0QXBwbGllcjo6Y3JlYXRlPEZFQ29tcG9uZW50VHJhbnNmZXJDb3JlSW1hZ2VBcHBsaWVyPigq
dGhpcyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShmaWx0ZXIpOwogI2VuZGlmCiAgICAgcmV0
dXJuIEZpbHRlckVmZmVjdEFwcGxpZXI6OmNyZWF0ZTxGRUNvbXBvbmVudFRyYW5zZmVyU29mdHdh
cmVBcHBsaWVyPigqdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAppbmRleCBjMDg4Y2Y3Yzhi
NjNiMGNjNzgyYzgwNzlhMGQyNTY2ZTMzMDIyNDljLi40OGZkNDE4YzI5YmE3NjExNWNlZjdjMjMw
NTg4NzAxY2IwZjJjNmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKQEAgLTQ3LDYgKzQ3LDggQEAg
c3RkOjp1bmlxdWVfcHRyPEZpbHRlckVmZmVjdEFwcGxpZXI+IFNvdXJjZUdyYXBoaWM6OmNyZWF0
ZUFwcGxpZXIoY29uc3QgRmlsdGVyJgogICAgIC8vIEZJWE1FOiByZXR1cm4gU291cmNlR3JhcGhp
Y0NvcmVJbWFnZUFwcGxpZXIuCiAgICAgaWYgKGZpbHRlci5yZW5kZXJpbmdNb2RlKCkgPT0gUmVu
ZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQpCiAgICAgICAgIHJldHVybiBGaWx0ZXJFZmZlY3RBcHBs
aWVyOjpjcmVhdGU8U291cmNlR3JhcGhpY0NvcmVJbWFnZUFwcGxpZXI+KCp0aGlzKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGZpbHRlcik7CiAjZW5kaWYKICAgICByZXR1cm4gRmlsdGVyRWZm
ZWN0QXBwbGllcjo6Y3JlYXRlPFNvdXJjZUdyYXBoaWNTb2Z0d2FyZUFwcGxpZXI+KCp0aGlzKTsK
IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>