<?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>226772</bug_id>
          
          <creation_ts>2021-06-08 09:52:07 -0700</creation_ts>
          <short_desc>[Cocoa] Harden WebAuthn process by restricting to browser-entitled processes</short_desc>
          <delta_ts>2021-06-15 09:46:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit 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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>pvollan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767805</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-08 09:52:07 -0700</bug_when>
    <thetext>We should ensure that any process attempting to launch the WebAuthn XPC service is entitled as a full web browser. We should also ensure that the process requesting WebAuthn operations over WebKit CoreIPC is the WebContent process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767810</commentid>
    <comment_count>1</comment_count>
      <attachid>430855</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-08 10:01:08 -0700</bug_when>
    <thetext>Created attachment 430855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767812</commentid>
    <comment_count>2</comment_count>
      <attachid>430855</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-08 10:09:47 -0700</bug_when>
    <thetext>Comment on attachment 430855
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        We should ensure that any process attempting to launch the WebAuthn XPC service is entitled as a full web browser. We

This patch seems to launch the process but fail to connect to it.  Why don&apos;t we just not launch it in the first place?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767846</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-08 11:55:47 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #2)
&gt; Comment on attachment 430855 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=430855&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:9
&gt; &gt; +        We should ensure that any process attempting to launch the WebAuthn XPC service is entitled as a full web browser. We
&gt; 
&gt; This patch seems to launch the process but fail to connect to it.  Why don&apos;t
&gt; we just not launch it in the first place?

We should avoid launching, too. But we want the process to terminate if it was launched by something that should not be doing WebAuthn things. And we want it to refuse connections from things that are not the WebContent process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768397</commentid>
    <comment_count>4</comment_count>
      <attachid>431027</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-09 17:08:43 -0700</bug_when>
    <thetext>Created attachment 431027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768661</commentid>
    <comment_count>5</comment_count>
      <attachid>431105</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-10 12:11:05 -0700</bug_when>
    <thetext>Created attachment 431105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769035</commentid>
    <comment_count>6</comment_count>
      <attachid>431223</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-11 12:53:49 -0700</bug_when>
    <thetext>Created attachment 431223
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769289</commentid>
    <comment_count>7</comment_count>
      <attachid>431223</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-13 12:00:46 -0700</bug_when>
    <thetext>Comment on attachment 431223
Patch

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

&gt; Source/WTF/wtf/cocoa/Entitlements.h:39
&gt; +WTF_EXPORT_PRIVATE String processEntitlementValue(audit_token_t, const char* entitlement);

Given this is used only in Cocoa-specific code, should it return RetainPtr&lt;CFStringRef&gt; instead?

Or since it’s only used for equality checks, maybe it should be:

    WTF_EXPORT_PRIVATE bool hasEntitlementValue(audit_token_t, const char* entitlement, const char* value);

Then the client could just write:

    if (!WTF:: hasEntitlementValue(auditToken.value(), &quot;com.apple.pac.shared_region_id&quot;, &quot;WebContent&quot;) {

&gt; Source/WTF/wtf/cocoa/Entitlements.mm:72
&gt; +    if (!value)
&gt; +        return { };
&gt; +
&gt; +    if (CFGetTypeID(value.get()) != CFStringGetTypeID())

Better as a single if, I think.

Might even want to put a helper somewhere because it’s *so* common for us to want to check both nullity and if a CFTypeRef is a CFStringRef at the same time.

Someone motivated might even find a way to make it work with the syntax is&lt;CFStringRef&gt; and downcast&lt;CFStringRef&gt; the way we do with checked casts in our DOM classes, which would be neat! Obviously not for this patch. I’d just do it here in this file probably for now and refactor later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769291</commentid>
    <comment_count>8</comment_count>
      <attachid>431223</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-13 12:11:14 -0700</bug_when>
    <thetext>Comment on attachment 431223
Patch

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

&gt;&gt; Source/WTF/wtf/cocoa/Entitlements.mm:72
&gt;&gt; +    if (CFGetTypeID(value.get()) != CFStringGetTypeID())
&gt; 
&gt; Better as a single if, I think.
&gt; 
&gt; Might even want to put a helper somewhere because it’s *so* common for us to want to check both nullity and if a CFTypeRef is a CFStringRef at the same time.
&gt; 
&gt; Someone motivated might even find a way to make it work with the syntax is&lt;CFStringRef&gt; and downcast&lt;CFStringRef&gt; the way we do with checked casts in our DOM classes, which would be neat! Obviously not for this patch. I’d just do it here in this file probably for now and refactor later.

Oh, we have this already. Here’s how we write it:

    return dynamic_cf_cast&lt;CFStringRef&gt;(adoptCF(SecTaskCopyValueForEntitlement(secTaskForToken.get(), string.get(), nullptr)).get());

No if statements needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769433</commentid>
    <comment_count>9</comment_count>
      <attachid>431339</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-14 09:34:20 -0700</bug_when>
    <thetext>Created attachment 431339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769436</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-14 09:48:19 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 431223 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=431223&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/cocoa/Entitlements.h:39
&gt; &gt; +WTF_EXPORT_PRIVATE String processEntitlementValue(audit_token_t, const char* entitlement);
&gt; 
&gt; Given this is used only in Cocoa-specific code, should it return
&gt; RetainPtr&lt;CFStringRef&gt; instead?
&gt; 
&gt; Or since it’s only used for equality checks, maybe it should be:
&gt; 
&gt;     WTF_EXPORT_PRIVATE bool hasEntitlementValue(audit_token_t, const char*
&gt; entitlement, const char* value);
&gt; 
&gt; Then the client could just write:
&gt; 
&gt;     if (!WTF:: hasEntitlementValue(auditToken.value(),
&gt; &quot;com.apple.pac.shared_region_id&quot;, &quot;WebContent&quot;) {
&gt; 
&gt; &gt; Source/WTF/wtf/cocoa/Entitlements.mm:72
&gt; &gt; +    if (!value)
&gt; &gt; +        return { };
&gt; &gt; +
&gt; &gt; +    if (CFGetTypeID(value.get()) != CFStringGetTypeID())
&gt; 
&gt; Better as a single if, I think.
&gt; 
&gt; Might even want to put a helper somewhere because it’s *so* common for us to
&gt; want to check both nullity and if a CFTypeRef is a CFStringRef at the same
&gt; time.
&gt; 
&gt; Someone motivated might even find a way to make it work with the syntax
&gt; is&lt;CFStringRef&gt; and downcast&lt;CFStringRef&gt; the way we do with checked casts
&gt; in our DOM classes, which would be neat! Obviously not for this patch. I’d
&gt; just do it here in this file probably for now and refactor later.

That&apos;s a good idea. I&apos;ve uploaded a version that resolves a missing completion handler call, but I&apos;ll adopt this idea in the final patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769464</commentid>
    <comment_count>11</comment_count>
      <attachid>431345</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-14 11:03:07 -0700</bug_when>
    <thetext>Created attachment 431345
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769520</commentid>
    <comment_count>12</comment_count>
      <attachid>431345</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-14 13:16:49 -0700</bug_when>
    <thetext>Comment on attachment 431345
Patch for landing

Waiting for clean EWS to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769521</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-14 13:17:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/74721877&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769634</commentid>
    <comment_count>14</comment_count>
      <attachid>431389</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-06-14 17:16:15 -0700</bug_when>
    <thetext>Created attachment 431389
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769835</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-15 09:46:24 -0700</bug_when>
    <thetext>Committed r278877 (238820@main): &lt;https://commits.webkit.org/238820@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431389.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430855</attachid>
            <date>2021-06-08 10:01:08 -0700</date>
            <delta_ts>2021-06-09 17:08:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226772-20210608100108.patch</filename>
            <type>text/plain</type>
            <size>10342</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDVlZjMwMWIzY2Y3NzBlNjljYWI1
OTA5MGQ0YmE5ZDM5YWJiNWUuLmJlZTE2MjNiM2ZiMDQ2MmVjMzUwNzg3ZTMyNDE5NDFjMDcyMGFh
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDYtMDggIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2Vz
cyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgZW50aXRsZW1lbnQgdXRpbGl0eSB0aGF0IHJldHVy
bnMgdGhlIFN0cmluZyB2YWx1ZSBvZiBhIGdpdmVuIGVudGl0bGVtZW50IGZvcgorICAgICAgICB0
aGUgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBhdWRpdCB0b2tlbi4KKworICAgICAgICAqIHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lm1tOgorICAgICAgICAoV1RGOjpwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZSk6CisKIDIwMjEtMDYt
MDcgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtX
VEZdW0dTdHJlYW1lcl0gRml4IGNsYW5nIFRTQSB3YXJuaW5ncyBpbiBXVEY6OkRhdGFNdXRleApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAyMTRhZGFlYzBiNzE4YzhlMTE2YzhhM2JmMmY2MWUwNTJiNzQyNjY5Li5iZmMz
MWExYjhjM2I3ZWY4NDc5NDA5OWQ5ZTI0Njg5OTc3YTgyZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA2LTA4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgor
CisgICAgICAgIFtDb2NvYV0gSGFyZGVuIFdlYkF1dGhuIHByb2Nlc3MgYnkgcmVzdHJpY3Rpbmcg
dG8gYnJvd3Nlci1lbnRpdGxlZCBwcm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc3MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQ3
MjE4Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2Ugc2hvdWxkIGVuc3VyZSB0aGF0IGFueSBwcm9jZXNzIGF0dGVtcHRpbmcgdG8gbGF1bmNoIHRo
ZSBXZWJBdXRobiBYUEMgc2VydmljZSBpcyBlbnRpdGxlZCBhcyBhIGZ1bGwgd2ViIGJyb3dzZXIu
IFdlCisgICAgICAgIHNob3VsZCBhbHNvIGVuc3VyZSB0aGF0IHRoZSBwcm9jZXNzIHJlcXVlc3Rp
bmcgV2ViQXV0aG4gb3BlcmF0aW9ucyBvdmVyIFdlYktpdCBDb3JlSVBDIGlzIHRoZSBXZWJDb250
ZW50IHByb2Nlc3MuCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0aW5nIFdlYkF1dGhuIHRlc3Rz
LgorCisgICAgICAgICogU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tOgor
ICAgICAgICAoV2ViS2l0Ojppc0luV2ViS2l0Q2hpbGRQcm9jZXNzKTogUmVjb2duaXplICdjb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuJyBhcyBhIFdlYktpdCBzdWItcHJvY2Vzcy4KKyAgICAgICAg
KiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQXV0aG5Qcm9jZXNzOjpjcmVhdGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOiBD
b25maXJtIHRoYXQgdGhlIGNhbGxpbmcgcHJvY2VzcyBoYXMgdGhlIGV4cGVjdGVkCisgICAgICAg
IGVudGl0bGVtZW50IG1hcmtpbmcgaXQgYXMgdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblBy
b2Nlc3MpOiBEZWZhdWx0IHN0dWIuCisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhu
UHJvY2Vzcy5oOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNz
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlh
bGl6ZVdlYkF1dGhuUHJvY2Vzcyk6IEVuc3VyZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiBpbnZva2lu
ZyB0aGUgV2ViQXV0aG4gWFBDIHNlcnZpY2UKKyAgICAgICAgaXMgZW50aXRsZWQgYXMgYSBkZWZh
dWx0IHdlYiBicm93c2VyLgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Q
cm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyk6CisKIDIwMjEtMDYtMDcgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIENvbnZlcnQgV2ViQ29yZTo6U25hcHNob3RP
cHRpb25zIGludG8gYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29j
b2EvRW50aXRsZW1lbnRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaApp
bmRleCAwMDY4OTQxM2JkODllNGU5M2I5Nzg2N2M0OTY5YTY1ZDVmNmUwZDcwLi44OTU4MjBjY2Q4
ZTIwNTRmZmRkOTYyOWViYmU3NmQ0NGMzZWYzMmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxl
bWVudHMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTMxLDkgKzMxLDEyIEBACiAKIG5hbWVzcGFjZSBXVEYgewogCitjbGFzcyBT
dHJpbmc7CisKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGhhc0VudGl0bGVtZW50KGF1ZGl0X3Rv
a2VuX3QsIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsKIFdURl9FWFBPUlRfUFJJVkFURSBib29s
IGhhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9uX3QsIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50
KTsKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChjb25zdCBj
aGFyKiBlbnRpdGxlbWVudCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIHByb2Nlc3NFbnRp
dGxlbWVudFZhbHVlKGF1ZGl0X3Rva2VuX3QsIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsKIAog
fSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL0Vu
dGl0bGVtZW50cy5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5tbQppbmRl
eCAxNjVkZDViNmUyMjE5ZDM1ZTEzNjRkZTUwNWFjODFmNDJkNjUxMWU0Li44ZTc0Y2Y3NGEzNmEy
OTUzMmM0ODc4ZjFkZDYzMjM1NzgwODlkYzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9j
b2NvYS9FbnRpdGxlbWVudHMubW0KKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1l
bnRzLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgPHd0Zi9PU09iamVjdFB0ci5oPgogI2ltcG9y
dCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5o
PgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC01Nyw0ICs1OCwyMSBAQCBib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChjb25zdCBjaGFyKiBl
bnRpdGxlbWVudCkKICAgICByZXR1cm4gaGFzRW50aXRsZW1lbnQoYWRvcHRDRihTZWNUYXNrQ3Jl
YXRlRnJvbVNlbGYoa0NGQWxsb2NhdG9yRGVmYXVsdCkpLmdldCgpLCBlbnRpdGxlbWVudCk7CiB9
CiAKK1N0cmluZyBwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZShhdWRpdF90b2tlbl90IHRva2VuLCBj
b25zdCBjaGFyKiBlbnRpdGxlbWVudCkKK3sKKyAgICBhdXRvIHNlY1Rhc2tGb3JUb2tlbiA9IGFk
b3B0Q0YoU2VjVGFza0NyZWF0ZVdpdGhBdWRpdFRva2VuKGtDRkFsbG9jYXRvckRlZmF1bHQsIHRv
a2VuKSk7CisgICAgaWYgKCFzZWNUYXNrRm9yVG9rZW4pCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIHN0cmluZyA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZ05vQ29w
eShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBlbnRpdGxlbWVudCwga0NGU3RyaW5nRW5jb2RpbmdBU0NJ
SSwga0NGQWxsb2NhdG9yTnVsbCkpOworICAgIGF1dG8gdmFsdWUgPSBhZG9wdENGKFNlY1Rhc2tD
b3B5VmFsdWVGb3JFbnRpdGxlbWVudChzZWNUYXNrRm9yVG9rZW4uZ2V0KCksIHN0cmluZy5nZXQo
KSwgbnVsbHB0cikpOworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiB7IH07CisKKyAg
ICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENGU3RyaW5nR2V0VHlwZUlEKCkpCisg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+
KHZhbHVlLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5tbSBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCmluZGV4IDA2
ZmQ5Y2VlNzEyYTA4NWY2ODA4MjhkZjcwMTk5OTdmZjBiNGE0ZjguLjE1YmI0NjVlMGY5YzIxOGNj
MWE0NjZiZjdkOTkzNDVjZWQwODUwYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCkBAIC03Niw3ICs3Niw4IEBAIHN0
YXRpYyBib29sIGlzSW5XZWJLaXRDaGlsZFByb2Nlc3MoKQogICAgICAgICBOU1N0cmluZyAqYnVu
ZGxlSWRlbnRpZmllciA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl07
CiAgICAgICAgIGlzSW5TdWJQcm9jZXNzID0gW2J1bmRsZUlkZW50aWZpZXIgaGFzUHJlZml4OkAi
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Il0KICAgICAgICAgICAgIHx8IFtidW5kbGVJZGVu
dGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyJdCi0gICAgICAg
ICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LkdQ
VSJdOworICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZpZXIgaGFzUHJlZml4OkAiY29tLmFw
cGxlLldlYktpdC5HUFUiXQorICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZpZXIgaGFzUHJl
Zml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJBdXRobiJdOwogICAgIH0pOwogCiAgICAgcmV0dXJu
IGlzSW5TdWJQcm9jZXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dl
YkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXggYjM1NTg1ZmI1ODYxYjU5MjQzNjI3N2RmMjQ0ZDExMjRm
MDA2MDAzYi4uZmI1Njk3MDNhZWU3NTdkMTliM2U0ODk0Mzc3OWFmYTk0MGM1NzFkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBA
IC0zNCw2ICszNCwxMCBAQAogI2luY2x1ZGUgIldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KIAorI2lmIFBMQVRGT1JN
KENPQ09BKQorI2luY2x1ZGUgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC01OSw2ICs2
MywyNCBAQCB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6Y3JlYXRlV2ViQXV0aG5Db25uZWN0aW9uVG9X
ZWJQcm9jZXNzKFByb2Nlc3NJZGVudGlmaWVyIGlkZQogCiAgICAgYXV0byBuZXdDb25uZWN0aW9u
ID0gV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZp
ZXIsIGlwY0Nvbm5lY3Rpb24tPmZpcnN0KTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGF1
dG8gYXVkaXRUb2tlbiA9IG5ld0Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5nZXRBdWRpdFRva2Vu
KCk7CisgICAgaWYgKCFhdWRpdFRva2VuKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihJUEMsICJVbmFibGUgdG8gZ2V0IHBhcmVudCBw
cm9jZXNzIGF1ZGl0IHRva2VuIik7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBDb25maXJtIHRoYXQgdGhlIGNvbm5lY3Rp
b24gaXMgZnJvbSBhIFdlYkNvbnRlbnQgcHJvY2VzczoKKyAgICBhdXRvIHBhY1JlZ2lvbklEID0g
V1RGOjpwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZShhdWRpdFRva2VuLnZhbHVlKCksICJjb20uYXBw
bGUucGFjLnNoYXJlZF9yZWdpb25faWQiKTsKKyAgICBpZiAocGFjUmVnaW9uSUQgIT0gIldlYlBy
b2Nlc3MiX3MpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIlByb2Nlc3Mg
YXR0ZW1wdGVkIHRvIGNvbm5lY3QgdG8gV2ViQXV0aG4gYnV0IHdhcyBub3QgYSBXZWJDb250ZW50
IHByb2Nlc3MuIFByb2Nlc3Mgc2hhcmVkX3JlZ2lvbl9pZCA9ICVzIiwgcGFjUmVnaW9uSUQudXRm
OCgpLmRhdGEoKSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIEFTU0VSVCghbV93ZWJQcm9jZXNzQ29ubmVjdGlv
bnMuY29udGFpbnMoaWRlbnRpZmllcikpOwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmFk
ZChpZGVudGlmaWVyLCBXVEZNb3ZlKG5ld0Nvbm5lY3Rpb24pKTsKIApAQCAtMTM2LDYgKzE1OCwx
MiBAQCB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6c2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmln
dXJhdGlvbihXZWJDb3JlOjpNb2NrV2ViQXV0aAogICAgIHN0YXRpY19jYXN0PE1vY2tBdXRoZW50
aWNhdG9yTWFuYWdlcio+KCZtX2F1dGhlbnRpY2F0b3JNYW5hZ2VyKS0+c2V0VGVzdENvbmZpZ3Vy
YXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0Ep
Cit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNz
KGNvbnN0IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCit7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaAppbmRl
eCA1YWM5ZmM4MjlhNWMwNDRhYmU2YzhjYzM2MzdjNjY3ZmEyOWE0NmIzLi45Y2VjMzU3MDZiNjYy
YjhhNGEzZjMxZmUwY2U2YjI3NmYyMTFmZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKFdlYkNvcmU6Ok1v
Y2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24mJik7CiAKIHByaXZhdGU6CisgICAgdm9p
ZCBwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2Fs
KTsKIAogICAgIC8vIEF1eGlsaWFyeVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCmluZGV4IGNiNGEwZjI0
OTMyZmEyNmE3MzU0NjQ4N2YyNTlkYjk5ZjVjYWQ4OWYuLmFhNmQ5Y2Y3MmI5N2RkOTc5MTU0NzNh
MTU2NTdkNjg0MjhjNjIwNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9j
ZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFdFQl9BVVRITikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2ltcG9ydCAi
RGVmYXVsdFdlYkJyb3dzZXJDaGVja3MuaCIKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50
ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oPgog
CkBAIC00OCw2ICs0OSwxMSBAQCB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRi
b3goY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYQogewogfQogCit2b2lk
IFdlYkF1dGhuUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKGNvbnN0
IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyAgICBS
RUxFQVNFX0FTU0VSVChpc1BhcmVudFByb2Nlc3NBRnVsbFdlYkJyb3dzZXIoKnRoaXMpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKSAm
JiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KaW5kZXggZDFhYjMzODQ1OTRmZGQy
OTkwY2U3MmRmZWJmMTAyYzRhMjUxNTc3NS4uODFkODk0Mjg5OGI3MmExZDA2ZTI0YWQzOGM5YTM2
MWE5NDZiOWE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFj
L1dlYkF1dGhuUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vz
cy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCkBAIC02Niw2ICs2NiwxMCBAQCB2b2lkIFdlYkF1
dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYQogICAgIEF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KHBh
cmFtZXRlcnMsIHNhbmRib3hQYXJhbWV0ZXJzKTsKIH0KIAordm9pZCBXZWJBdXRoblByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRoblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431027</attachid>
            <date>2021-06-09 17:08:43 -0700</date>
            <delta_ts>2021-06-10 12:11:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226772-20210609170842.patch</filename>
            <type>text/plain</type>
            <size>16564</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDVlZjMwMWIzY2Y3NzBlNjljYWI1
OTA5MGQ0YmE5ZDM5YWJiNWUuLjRjZmY1OTZlZjFhMWI1Y2E2ODBlNzIwZWUzOTVmNWUwZWY4N2Nm
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDYtMDkgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2Vz
cyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgZW50aXRsZW1lbnQgdXRpbGl0eSB0aGF0IHJldHVy
bnMgdGhlIFN0cmluZyB2YWx1ZSBvZiBhIGdpdmVuIGVudGl0bGVtZW50IGZvcgorICAgICAgICB0
aGUgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBhdWRpdCB0b2tlbi4KKworICAgICAgICAqIHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lm1tOgorICAgICAgICAoV1RGOjpwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZSk6CisKIDIwMjEtMDYt
MDcgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtX
VEZdW0dTdHJlYW1lcl0gRml4IGNsYW5nIFRTQSB3YXJuaW5ncyBpbiBXVEY6OkRhdGFNdXRleApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAyMTRhZGFlYzBiNzE4YzhlMTE2YzhhM2JmMmY2MWUwNTJiNzQyNjY5Li45Njc0
NWViODFiODQ2NDNiYWE3NmE0OGE4MGY4ZDhhMzVhYjg1Njc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM3IEBACisyMDIxLTA2LTA5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgor
CisgICAgICAgIFtDb2NvYV0gSGFyZGVuIFdlYkF1dGhuIHByb2Nlc3MgYnkgcmVzdHJpY3Rpbmcg
dG8gYnJvd3Nlci1lbnRpdGxlZCBwcm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc3MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQ3
MjE4Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2Ugc2hvdWxkIGVuc3VyZSB0aGF0IGFueSBwcm9jZXNzIGF0dGVtcHRpbmcgdG8gbGF1bmNoIHRo
ZSBXZWJBdXRobiBYUEMgc2VydmljZSBpcyBlbnRpdGxlZCBhcyBhIGZ1bGwgd2ViIGJyb3dzZXIu
IFdlCisgICAgICAgIHNob3VsZCBhbHNvIGVuc3VyZSB0aGF0IHRoZSBwcm9jZXNzIHJlcXVlc3Rp
bmcgV2ViQXV0aG4gb3BlcmF0aW9ucyBvdmVyIFdlYktpdCBDb3JlSVBDIGlzIHRoZSBXZWJDb250
ZW50IHByb2Nlc3MuCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0aW5nIFdlYkF1dGhuIHRlc3Rz
LgorCisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOiBBZGQgV2ViQXV0aG4gY2F0ZWdvcnku
CisgICAgICAgICogU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tOgorICAg
ICAgICAoV2ViS2l0Ojppc0luV2ViS2l0Q2hpbGRQcm9jZXNzKTogUmVjb2duaXplICdjb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuJyBhcyBhIFdlYktpdCBzdWItcHJvY2Vzcy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6aGFzQ29ycmVjdFBBQ0VudGl0bGVtZW50KTogQWRkZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik6IEFkZCBhIG5ldyBN
RVNTQUdFX0NIRUNLIHRoYXQgdGhlIHByb2Nlc3MgcmVxdWVzdGluZyBhIFdlYkF1dGhuCisgICAg
ICAgIHByb2Nlc3MgY29ubmVjdGlvbiBpcyBhIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKTogQWRkIHNvbWUgbG9nZ2luZy4KKyAg
ICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmg6CisgICAgICAgICogV2Vi
QXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dGhuUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKTogRW5z
dXJlIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGludm9raW5nIHRoZSBXZWJBdXRobiBYUEMgc2Vydmlj
ZQorICAgICAgICBpcyBlbnRpdGxlZCBhcyBhIGRlZmF1bHQgd2ViIGJyb3dzZXIuCisgICAgICAg
ICogV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNz
KTogU3R1Yi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6ZW5zdXJlV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisKIDIwMjEtMDYt
MDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIENvbnZlcnQg
V2ViQ29yZTo6U25hcHNob3RPcHRpb25zIGludG8gYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9FbnRpdGxlbWVudHMuaAppbmRleCAwMDY4OTQxM2JkODllNGU5M2I5Nzg2N2M0OTY5YTY1ZDVm
NmUwZDcwLi44OTU4MjBjY2Q4ZTIwNTRmZmRkOTYyOWViYmU3NmQ0NGMzZWYzMmZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTgtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDkgKzMxLDEyIEBACiAKIG5hbWVzcGFj
ZSBXVEYgewogCitjbGFzcyBTdHJpbmc7CisKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGhhc0Vu
dGl0bGVtZW50KGF1ZGl0X3Rva2VuX3QsIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsKIFdURl9F
WFBPUlRfUFJJVkFURSBib29sIGhhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9uX3QsIGNvbnN0
IGNoYXIqIGVudGl0bGVtZW50KTsKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIHByb2Nlc3NIYXNF
bnRpdGxlbWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7CitXVEZfRVhQT1JUX1BSSVZBVEUg
U3RyaW5nIHByb2Nlc3NFbnRpdGxlbWVudFZhbHVlKGF1ZGl0X3Rva2VuX3QsIGNvbnN0IGNoYXIq
IGVudGl0bGVtZW50KTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0Vu
dGl0bGVtZW50cy5tbQppbmRleCAxNjVkZDViNmUyMjE5ZDM1ZTEzNjRkZTUwNWFjODFmNDJkNjUx
MWU0Li44ZTc0Y2Y3NGEzNmEyOTUzMmM0ODc4ZjFkZDYzMjM1NzgwODlkYzdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMubW0KKysrIGIvU291cmNlL1dURi93
dGYvY29jb2EvRW50aXRsZW1lbnRzLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgPHd0Zi9PU09i
amVjdFB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3NwaS9j
b2NvYS9TZWN1cml0eVNQSS5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBXVEYgewogCkBAIC01Nyw0ICs1OCwyMSBAQCBib29sIHByb2Nlc3NIYXNFbnRpdGxl
bWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkKICAgICByZXR1cm4gaGFzRW50aXRsZW1lbnQo
YWRvcHRDRihTZWNUYXNrQ3JlYXRlRnJvbVNlbGYoa0NGQWxsb2NhdG9yRGVmYXVsdCkpLmdldCgp
LCBlbnRpdGxlbWVudCk7CiB9CiAKK1N0cmluZyBwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZShhdWRp
dF90b2tlbl90IHRva2VuLCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkKK3sKKyAgICBhdXRvIHNl
Y1Rhc2tGb3JUb2tlbiA9IGFkb3B0Q0YoU2VjVGFza0NyZWF0ZVdpdGhBdWRpdFRva2VuKGtDRkFs
bG9jYXRvckRlZmF1bHQsIHRva2VuKSk7CisgICAgaWYgKCFzZWNUYXNrRm9yVG9rZW4pCisgICAg
ICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIHN0cmluZyA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVh
dGVXaXRoQ1N0cmluZ05vQ29weShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBlbnRpdGxlbWVudCwga0NG
U3RyaW5nRW5jb2RpbmdBU0NJSSwga0NGQWxsb2NhdG9yTnVsbCkpOworICAgIGF1dG8gdmFsdWUg
PSBhZG9wdENGKFNlY1Rhc2tDb3B5VmFsdWVGb3JFbnRpdGxlbWVudChzZWNUYXNrRm9yVG9rZW4u
Z2V0KCksIHN0cmluZy5nZXQoKSwgbnVsbHB0cikpOworICAgIGlmICghdmFsdWUpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENGU3Ry
aW5nR2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Q0ZTdHJpbmdSZWY+KHZhbHVlLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RG
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGZhODI3MmZiMjk5NDhiN2MwMjY4YThjYzJl
MzVlMGM5NmY5OWRmZTIuLjFmNTU0MDRkZjBmN2E1MmRhNTZjZThkODUwNzZhNjQzMjJjZDQ1NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC0xMDEsNiArMTAxLDcgQEAgZXh0ZXJuICJD
IiB7CiAgICAgTShWaWV3cG9ydFNpemluZykgXAogICAgIE0oVmlydHVhbE1lbW9yeSkgXAogICAg
IE0oVmlzaWJsZVJlY3RzKSBcCisgICAgTShXZWJBdXRobikgXAogICAgIE0oV2ViR0wpIFwKICAg
ICBNKFdlYlJUQykgXAogICAgIE0oV2hlZWxFdmVudHMpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KaW5kZXggMDZmZDlj
ZWU3MTJhMDg1ZjY4MDgyOGRmNzAxOTk5N2ZmMGI0YTRmOC4uMTViYjQ2NWUwZjljMjE4Y2MxYTQ2
NmJmN2Q5OTM0NWNlZDA4NTBjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KQEAgLTc2LDcgKzc2LDggQEAgc3RhdGlj
IGJvb2wgaXNJbldlYktpdENoaWxkUHJvY2VzcygpCiAgICAgICAgIE5TU3RyaW5nICpidW5kbGVJ
ZGVudGlmaWVyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXTsKICAg
ICAgICAgaXNJblN1YlByb2Nlc3MgPSBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXQogICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZp
ZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIl0KLSAgICAgICAgICAg
IHx8IFtidW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuR1BVIl07
CisgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20uYXBwbGUu
V2ViS2l0LkdQVSJdCisgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6
QCJjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuIl07CiAgICAgfSk7CiAKICAgICByZXR1cm4gaXNJ
blN1YlByb2Nlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGM3MjRjZjQ0ZTBjMzhhYTRhMDM3NTgxNzM0MDQz
ODQ0MWY5NTM5ZjMuLmRkYmRjNDFhZDIxYmVkOGFkZTViOWQ1ZjI5MzY0ZTg1MjllMGNjYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAjaW1w
b3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgorI2ltcG9y
dCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNv
Y29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKQEAgLTI5OCw0
ICsyOTksMjggQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJlZ2lz
dHJhdGlvbnMoKQogICAgIH0pOwogfQogCitib29sIFdlYlByb2Nlc3NQcm94eTo6aGFzQ29ycmVj
dFBBQ0VudGl0bGVtZW50KCkKK3sKKyAgICBpZiAoIWhhc0Nvbm5lY3Rpb24oKSkgeworICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwor
ICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAg
IGlmICghYXVkaXRUb2tlbikgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoSVBDLCAiVW5hYmxlIHRvIGdldCBwYXJlbnQgd2ViIHByb2Nl
c3MgYXVkaXQgdG9rZW4iKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8v
IENvbmZpcm0gdGhhdCB0aGUgY29ubmVjdGlvbiBpcyBmcm9tIGEgV2ViQ29udGVudCBwcm9jZXNz
OgorICAgIGF1dG8gcGFjUmVnaW9uSUQgPSBXVEY6OnByb2Nlc3NFbnRpdGxlbWVudFZhbHVlKGF1
ZGl0VG9rZW4udmFsdWUoKSwgImNvbS5hcHBsZS5wYWMuc2hhcmVkX3JlZ2lvbl9pZCIpOworICAg
IGlmIChwYWNSZWdpb25JRCAhPSAiV2ViQ29udGVudCJfcykgeworICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihQcm9jZXNzLCAiUHJvY2VzcyBpcyBub3QgYW4gZW50aXRsZWQgV2ViQ29udGVudCBw
cm9jZXNzLiBQcm9jZXNzIHNoYXJlZF9yZWdpb25faWQgPSAlcyIsIHBhY1JlZ2lvbklELnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CmluZGV4IDQ0NzIxNmI1YzlmYTQyODY2MGYwMzBkN2E5NTk5YTJlMmM3OGZjNWYuLmU5ODQwNjFi
NjYyOTJiYjBjNTZmZGJlMmI0ZjA1ODQ4MjVkMTdmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc5Niw2ICs3OTYsNyBAQCB2b2lkIFdlYlBy
b2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4aXRlZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24g
cmVhc29uKQogI2lmIEVOQUJMRShXRUJfQVVUSE4pCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKIHsKKyAgICBN
RVNTQUdFX0NIRUNLKGhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCgpKTsKICAgICBtX3Byb2Nlc3NQ
b29sLT5nZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5KSk7
CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5k
ZXggNTVjNThjNDNjYTdhOTZhN2M5MzY4MTYxNmUzODI4NjYwYjEwNmY3Yy4uMzg4Y2U3MDA0OTdh
MjJlZjljNTg4ZWU0ZTU2MmY2ZmYyYjZhN2ZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC01MjksNiArNTI5LDEwIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBpc0FYQXV0aGVudGljYXRlZChhdWRpdF90b2tlbl90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiYmKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgYm9vbCBoYXND
b3JyZWN0UEFDRW50aXRsZW1lbnQoKTsKKyNlbmRpZgorCiAgICAgZW51bSBjbGFzcyBJc1dlYWsg
eyBObywgWWVzIH07CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha09yU3Ryb25n
UHRyIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
V2ViQXV0aG5Qcm9jZXNzLmNwcAppbmRleCBiMzU1ODVmYjU4NjFiNTkyNDM2Mjc3ZGYyNDRkMTEy
NGYwMDYwMDNiLi5jZDQ2MWRlOTJkMTNiYTRmMzcwMzUxMjNhYjU0N2Y0MDY4OWU5NjBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MTM2LDYgKzEzNiwxMiBAQCB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6c2V0TW9ja1dlYkF1dGhlbnRp
Y2F0aW9uQ29uZmlndXJhdGlvbihXZWJDb3JlOjpNb2NrV2ViQXV0aAogICAgIHN0YXRpY19jYXN0
PE1vY2tBdXRoZW50aWNhdG9yTWFuYWdlcio+KCZtX2F1dGhlbnRpY2F0b3JNYW5hZ2VyKS0+c2V0
VGVzdENvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAKKyNpZiAhUExB
VEZPUk0oQ09DT0EpCit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2Vi
QXV0aG5Qcm9jZXNzKGNvbnN0IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCit7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUo
V0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblBy
b2Nlc3MuaAppbmRleCA1YWM5ZmM4MjlhNWMwNDRhYmU2YzhjYzM2MzdjNjY3ZmEyOWE0NmIzLi42
Njc1NzEwZWY3NjJhNTMwN2UxMzljZjkyODQxODBiN2U1ZDdlYmNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NSw2ICs2NSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24oV2Vi
Q29yZTo6TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbiYmKTsKIAogcHJpdmF0ZToK
KyAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRo
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB2b2lkIGxvd01lbW9yeUhhbmRsZXIo
Q3JpdGljYWwpOwogCiAgICAgLy8gQXV4aWxpYXJ5UHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0KaW5kZXgg
Y2I0YTBmMjQ5MzJmYTI2YTczNTQ2NDg3ZjI1OWRiOTlmNWNhZDg5Zi4uNTViMzdkNGVmODhkZDI4
NGE3MjQ5ZTQwYjYxZmI0YTE4Yjk4OTFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShXRUJfQVVUSE4pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKKyNpbXBv
cnQgIkRlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxl
bWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2Uu
aD4KIApAQCAtNDgsNiArNDksMTEgQEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVT
YW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmEKIHsKIH0KIAor
dm9pZCBXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhj
b25zdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoaXNQYXJlbnRQcm9jZXNzQUZ1bGxXZWJCcm93c2VyKCp0aGlzKSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRI
TikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
QXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCmluZGV4IGQxYWIzMzg0NTk0
ZmRkMjk5MGNlNzJkZmViZjEwMmM0YTI1MTU3NzUuLmE5YTVjMGI4Yzc3OWI3OTJlYzRmYmMyYWI2
MzA0ZjIwNmJmMzE3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNz
L21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02Niw2ICs2NiwxMCBAQCB2b2lkIFdlYkF1
dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYQogICAgIEF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KHBh
cmFtZXRlcnMsIHNhbmRib3hQYXJhbWV0ZXJzKTsKIH0KIAordm9pZCBXZWJBdXRoblByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRoblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggNzg4Mjc4OTQzYTgxN2YzYzRkZWY0YWQwOGU2ODVmZTNhNjM5OTA3ZS4uZTgz
MjI2ZGU0OGMxMDdhMWJkZjU4NWNkYjY1ODQwYTE3MWM1ZmVlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDktMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEyOTgsOCArMTI5OCwxMCBAQCBzdGF0aWMgV2Vi
QXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8gZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihJ
UEM6OkNvbm5lY3RpbwogICAgIGlmICghY29ubmVjdGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCksIE1lc3NhZ2VzOjpX
ZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OlJlcGx5KGNvbm5l
Y3Rpb25JbmZvKSwgMCkpIHsKICAgICAgICAgLy8gSWYgd2UgZmFpbGVkIHRoZSBmaXJzdCB0aW1l
LCByZXRyeSBvbmNlLiBUaGUgYXR0YWNobWVudCBtYXkgaGF2ZSBiZWNvbWUgaW52YWxpZAogICAg
ICAgICAvLyBiZWZvcmUgaXQgd2FzIHJlY2VpdmVkIGJ5IHRoZSB3ZWIgcHJvY2VzcyBpZiB0aGUg
bmV0d29yayBwcm9jZXNzIGNyYXNoZWQuCi0gICAgICAgIGlmICghY29ubmVjdGlvbi5zZW5kU3lu
YyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rp
b246OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpCisgICAgICAgIGlmICghY29ubmVjdGlvbi5z
ZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nv
bm5lY3Rpb246OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpIHsKKyAgICAgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFdlYkF1dGhuLCAiZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjogVW5h
YmxlIHRvIGNvbm5lY3QgdG8gV2ViQXV0aG4gcHJvY2VzcyAoVGVybWluYXRpbmcpIik7CiAgICAg
ICAgICAgICBDUkFTSCgpOworICAgICAgICB9CiAgICAgfQogCiAgICAgcmV0dXJuIGNvbm5lY3Rp
b25JbmZvOwpAQCAtMTMxOCw4ICsxMzIwLDEwIEBAIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24m
IFdlYlByb2Nlc3M6OmVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKQogICAgICAgICBp
ZiAoIUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRl
bnRpZmllcigpKSkKICAgICAgICAgICAgIGNvbm5lY3Rpb25JbmZvID0gZ2V0V2ViQXV0aG5Qcm9j
ZXNzQ29ubmVjdGlvbigqcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKSk7CiAKLSAgICAgICAgaWYg
KCFJUEM6OkNvbm5lY3Rpb246OmlkZW50aWZpZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50
aWZpZXIoKSkpCisgICAgICAgIGlmICghSVBDOjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNWYWxp
ZChjb25uZWN0aW9uSW5mby5pZGVudGlmaWVyKCkpKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihXZWJBdXRobiwgImVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246IENvbm5l
Y3Rpb24gaWRlbnRpZmllciBmb3IgV2ViQXV0aG4gcHJvY2VzcyBpcyBpbnZhbGlkLiIpOwogICAg
ICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgfQogCiAgICAgICAgIG1fd2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbiA9IFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OmNyZWF0ZShjb25uZWN0aW9u
SW5mby5yZWxlYXNlSWRlbnRpZmllcigpKTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431105</attachid>
            <date>2021-06-10 12:11:05 -0700</date>
            <delta_ts>2021-06-11 12:53:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226772-20210610121104.patch</filename>
            <type>text/plain</type>
            <size>17234</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDVlZjMwMWIzY2Y3NzBlNjljYWI1
OTA5MGQ0YmE5ZDM5YWJiNWUuLmY3NjJkNjI4ZWQwNzZmODA0OWYxZDk5MmJjYjUzOTRhMWRmYWM5
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMDkgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2Vz
cyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgZW50aXRsZW1lbnQgdXRpbGl0eSB0aGF0IHJldHVy
bnMgdGhlIFN0cmluZyB2YWx1ZSBvZiBhIGdpdmVuIGVudGl0bGVtZW50IGZvcgorICAgICAgICB0
aGUgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBhdWRpdCB0b2tlbi4KKworICAgICAgICAqIHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lm1tOgorICAgICAgICAoV1RGOjpwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZSk6CisgICAgICAgICog
d3RmL1BsYXRmb3JtSGF2ZS5oOiBBZGQgaXRlbSBmb3IgUEFDIHNoYXJlZCByZWdpb24gZmVhdHVy
ZS4KKwogMjAyMS0wNi0wNyAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBGaXggY2xhbmcgVFNBIHdhcm5pbmdzIGluIFdU
Rjo6RGF0YU11dGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIxNGFkYWVjMGI3MThjOGUxMTZjOGEzYmYyZjYxZTA1
MmI3NDI2NjkuLjk2NzQ1ZWI4MWI4NDY0M2JhYTc2YTQ4YTgwZjhkOGEzNWFiODU2NzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDYtMDkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2VzcyBi
eSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBzaG91bGQgZW5zdXJlIHRoYXQgYW55IHByb2Nlc3MgYXR0ZW1wdGlu
ZyB0byBsYXVuY2ggdGhlIFdlYkF1dGhuIFhQQyBzZXJ2aWNlIGlzIGVudGl0bGVkIGFzIGEgZnVs
bCB3ZWIgYnJvd3Nlci4gV2UKKyAgICAgICAgc2hvdWxkIGFsc28gZW5zdXJlIHRoYXQgdGhlIHBy
b2Nlc3MgcmVxdWVzdGluZyBXZWJBdXRobiBvcGVyYXRpb25zIG92ZXIgV2ViS2l0IENvcmVJUEMg
aXMgdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICBUZXN0ZWQgYnkgZXhpc3Rpbmcg
V2ViQXV0aG4gdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6IEFkZCBXZWJB
dXRobiBjYXRlZ29yeS4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJD
aGVja3MubW06CisgICAgICAgIChXZWJLaXQ6OmlzSW5XZWJLaXRDaGlsZFByb2Nlc3MpOiBSZWNv
Z25pemUgJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4nIGFzIGEgV2ViS2l0IHN1Yi1wcm9jZXNz
LgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpoYXNDb3JyZWN0UEFDRW50aXRsZW1lbnQp
OiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KTogQWRkIGEgbmV3IE1FU1NBR0VfQ0hFQ0sgdGhhdCB0aGUgcHJvY2VzcyByZXF1ZXN0aW5nIGEg
V2ViQXV0aG4KKyAgICAgICAgcHJvY2VzcyBjb25uZWN0aW9uIGlzIGEgV2ViQ29udGVudCBwcm9j
ZXNzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBX
ZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
QXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MpOiBBZGQgc29t
ZSBsb2dnaW5nLgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaDoK
KyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRo
blByb2Nlc3MpOiBFbnN1cmUgdGhhdCB0aGUgYXBwbGljYXRpb24gaW52b2tpbmcgdGhlIFdlYkF1
dGhuIFhQQyBzZXJ2aWNlCisgICAgICAgIGlzIGVudGl0bGVkIGFzIGEgZGVmYXVsdCB3ZWIgYnJv
d3Nlci4KKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJBdXRoblByb2Nlc3MpOiBTdHViLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KToKKwogMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQ29udmVydCBXZWJDb3JlOjpTbmFwc2hvdE9wdGlvbnMgaW50byBhbiBlbnVtIGNsYXNz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDZlMjBkNmY4ZjEyMjI2MmIyZGM0ODA5OGM0OGVkMDY1
MzY2YWJiMmQuLjE0ZDdmMGViZDQ3NGMzM2Q5N2E0YjEyOTFjYWNjOTA5MjY1OGRhYzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0xMDAxLDMgKzEwMDEsNyBAQAogICAgIHx8IChQTEFURk9STShN
QUNDQVRBTFlTVCkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAw
KSkKICNkZWZpbmUgSEFWRV9DT1JFX1RFWFRfU0JJWF9JTUFHRV9TSVpFX0ZVTkNUSU9OUyAxCiAj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAw
KQorI2RlZmluZSBIQVZFX1BBQ19TSEFSRURfUkVHSU9OX0lEIDEKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9j
b2NvYS9FbnRpdGxlbWVudHMuaAppbmRleCAwMDY4OTQxM2JkODllNGU5M2I5Nzg2N2M0OTY5YTY1
ZDVmNmUwZDcwLi44OTU4MjBjY2Q4ZTIwNTRmZmRkOTYyOWViYmU3NmQ0NGMzZWYzMmZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTgtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDkgKzMxLDEyIEBACiAKIG5hbWVz
cGFjZSBXVEYgewogCitjbGFzcyBTdHJpbmc7CisKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGhh
c0VudGl0bGVtZW50KGF1ZGl0X3Rva2VuX3QsIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSBib29sIGhhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9uX3QsIGNv
bnN0IGNoYXIqIGVudGl0bGVtZW50KTsKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIHByb2Nlc3NI
YXNFbnRpdGxlbWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7CitXVEZfRVhQT1JUX1BSSVZB
VEUgU3RyaW5nIHByb2Nlc3NFbnRpdGxlbWVudFZhbHVlKGF1ZGl0X3Rva2VuX3QsIGNvbnN0IGNo
YXIqIGVudGl0bGVtZW50KTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29h
L0VudGl0bGVtZW50cy5tbQppbmRleCAxNjVkZDViNmUyMjE5ZDM1ZTEzNjRkZTUwNWFjODFmNDJk
NjUxMWU0Li44ZTc0Y2Y3NGEzNmEyOTUzMmM0ODc4ZjFkZDYzMjM1NzgwODlkYzdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMubW0KKysrIGIvU291cmNlL1dU
Ri93dGYvY29jb2EvRW50aXRsZW1lbnRzLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgPHd0Zi9P
U09iamVjdFB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3Nw
aS9jb2NvYS9TZWN1cml0eVNQSS5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewogCkBAIC01Nyw0ICs1OCwyMSBAQCBib29sIHByb2Nlc3NIYXNFbnRp
dGxlbWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkKICAgICByZXR1cm4gaGFzRW50aXRsZW1l
bnQoYWRvcHRDRihTZWNUYXNrQ3JlYXRlRnJvbVNlbGYoa0NGQWxsb2NhdG9yRGVmYXVsdCkpLmdl
dCgpLCBlbnRpdGxlbWVudCk7CiB9CiAKK1N0cmluZyBwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZShh
dWRpdF90b2tlbl90IHRva2VuLCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkKK3sKKyAgICBhdXRv
IHNlY1Rhc2tGb3JUb2tlbiA9IGFkb3B0Q0YoU2VjVGFza0NyZWF0ZVdpdGhBdWRpdFRva2VuKGtD
RkFsbG9jYXRvckRlZmF1bHQsIHRva2VuKSk7CisgICAgaWYgKCFzZWNUYXNrRm9yVG9rZW4pCisg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIHN0cmluZyA9IGFkb3B0Q0YoQ0ZTdHJpbmdD
cmVhdGVXaXRoQ1N0cmluZ05vQ29weShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBlbnRpdGxlbWVudCwg
a0NGU3RyaW5nRW5jb2RpbmdBU0NJSSwga0NGQWxsb2NhdG9yTnVsbCkpOworICAgIGF1dG8gdmFs
dWUgPSBhZG9wdENGKFNlY1Rhc2tDb3B5VmFsdWVGb3JFbnRpdGxlbWVudChzZWNUYXNrRm9yVG9r
ZW4uZ2V0KCksIHN0cmluZy5nZXQoKSwgbnVsbHB0cikpOworICAgIGlmICghdmFsdWUpCisgICAg
ICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENG
U3RyaW5nR2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KHZhbHVlLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGZhODI3MmZiMjk5NDhiN2MwMjY4YThj
YzJlMzVlMGM5NmY5OWRmZTIuLjFmNTU0MDRkZjBmN2E1MmRhNTZjZThkODUwNzZhNjQzMjJjZDQ1
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC0xMDEsNiArMTAxLDcgQEAgZXh0ZXJu
ICJDIiB7CiAgICAgTShWaWV3cG9ydFNpemluZykgXAogICAgIE0oVmlydHVhbE1lbW9yeSkgXAog
ICAgIE0oVmlzaWJsZVJlY3RzKSBcCisgICAgTShXZWJBdXRobikgXAogICAgIE0oV2ViR0wpIFwK
ICAgICBNKFdlYlJUQykgXAogICAgIE0oV2hlZWxFdmVudHMpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KaW5kZXggMDZm
ZDljZWU3MTJhMDg1ZjY4MDgyOGRmNzAxOTk5N2ZmMGI0YTRmOC4uMTViYjQ2NWUwZjljMjE4Y2Mx
YTQ2NmJmN2Q5OTM0NWNlZDA4NTBjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KQEAgLTc2LDcgKzc2LDggQEAgc3Rh
dGljIGJvb2wgaXNJbldlYktpdENoaWxkUHJvY2VzcygpCiAgICAgICAgIE5TU3RyaW5nICpidW5k
bGVJZGVudGlmaWVyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXTsK
ICAgICAgICAgaXNJblN1YlByb2Nlc3MgPSBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXQogICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50
aWZpZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIl0KLSAgICAgICAg
ICAgIHx8IFtidW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuR1BV
Il07CisgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20uYXBw
bGUuV2ViS2l0LkdQVSJdCisgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVm
aXg6QCJjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuIl07CiAgICAgfSk7CiAKICAgICByZXR1cm4g
aXNJblN1YlByb2Nlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGM3MjRjZjQ0ZTBjMzhhYTRhMDM3NTgxNzM0
MDQzODQ0MWY5NTM5ZjMuLjQyODY2MmFlNWYxYTlhZTE2MGQ2MjgyMjAzMDIzMmViMzU2NzU5NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0IDxzeXMvc3lzY3RsLmg+CiAj
aW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TY29wZS5oPgorI2lt
cG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3Rv
ckNvY29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAKQEAgLTI5
OCw0ICsyOTksMzAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRpb0NvbXBvbmVudFJl
Z2lzdHJhdGlvbnMoKQogICAgIH0pOwogfQogCitib29sIFdlYlByb2Nlc3NQcm94eTo6aGFzQ29y
cmVjdFBBQ0VudGl0bGVtZW50KCkKK3sKKyAgICBpZiAoIWhhc0Nvbm5lY3Rpb24oKSkgeworICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KworI2lmIEhBVkUoUEFDX1NIQVJFRF9SRUdJT05fSUQpCisgICAgYXV0byBhdWRpdFRva2VuID0g
Y29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCk7CisgICAgaWYgKCFhdWRpdFRva2VuKSB7Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihJ
UEMsICJVbmFibGUgdG8gZ2V0IHBhcmVudCB3ZWIgcHJvY2VzcyBhdWRpdCB0b2tlbiIpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gQ29uZmlybSB0aGF0IHRoZSBjb25u
ZWN0aW9uIGlzIGZyb20gYSBXZWJDb250ZW50IHByb2Nlc3M6CisgICAgYXV0byBwYWNSZWdpb25J
RCA9IFdURjo6cHJvY2Vzc0VudGl0bGVtZW50VmFsdWUoYXVkaXRUb2tlbi52YWx1ZSgpLCAiY29t
LmFwcGxlLnBhYy5zaGFyZWRfcmVnaW9uX2lkIik7CisgICAgaWYgKHBhY1JlZ2lvbklEICE9ICJX
ZWJDb250ZW50Il9zKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJQcm9j
ZXNzIGlzIG5vdCBhbiBlbnRpdGxlZCBXZWJDb250ZW50IHByb2Nlc3MuIFByb2Nlc3Mgc2hhcmVk
X3JlZ2lvbl9pZCA9ICVzIiwgcGFjUmVnaW9uSUQudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiB0cnVlOworfQorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA0NDcyMTZi
NWM5ZmE0Mjg2NjBmMDMwZDdhOTU5OWEyZTJjNzhmYzVmLi5lOTg0MDYxYjY2MjkyYmIwYzU2ZmRi
ZTJiNGYwNTg0ODI1ZDE3ZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEw
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC03OTYsNiArNzk2LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6Omdw
dVByb2Nlc3NFeGl0ZWQoR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHJlYXNvbikKICNpZiBF
TkFCTEUoV0VCX0FVVEhOKQogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNz
Q29ubmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7CisgICAgTUVTU0FHRV9DSEVDSyho
YXNDb3JyZWN0UEFDRW50aXRsZW1lbnQoKSk7CiAgICAgbV9wcm9jZXNzUG9vbC0+Z2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbigqdGhpcywgV1RGTW92ZShyZXBseSkpOwogfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDU1YzU4YzQzY2E3
YTk2YTdjOTM2ODE2MTZlMzgyODY2MGIxMDZmN2MuLjM4OGNlNzAwNDk3YTIyZWY5YzU4OGVlNGU1
NjJmNmZmMmI2YTdmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtNTI5LDYgKzUyOSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNBWEF1dGhlbnRp
Y2F0ZWQoYXVkaXRfdG9rZW5fdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIGJvb2wgaGFzQ29ycmVjdFBBQ0VudGl0
bGVtZW50KCk7CisjZW5kaWYKKwogICAgIGVudW0gY2xhc3MgSXNXZWFrIHsgTm8sIFllcyB9Owog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtPclN0cm9uZ1B0ciB7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Q
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vz
cy5jcHAKaW5kZXggYjM1NTg1ZmI1ODYxYjU5MjQzNjI3N2RmMjQ0ZDExMjRmMDA2MDAzYi4uY2Q0
NjFkZTkyZDEzYmE0ZjM3MDM1MTIzYWI1NDdmNDA2ODllOTYwYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEzNiw2ICsxMzYsMTIg
QEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6OnNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3Vy
YXRpb24oV2ViQ29yZTo6TW9ja1dlYkF1dGgKICAgICBzdGF0aWNfY2FzdDxNb2NrQXV0aGVudGlj
YXRvck1hbmFnZXIqPigmbV9hdXRoZW50aWNhdG9yTWFuYWdlciktPnNldFRlc3RDb25maWd1cmF0
aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogfQogCisjaWYgIVBMQVRGT1JNKENPQ09BKQor
dm9pZCBXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhj
b25zdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKQoreworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKaW5kZXgg
NWFjOWZjODI5YTVjMDQ0YWJlNmM4Y2MzNjM3YzY2N2ZhMjlhNDZiMy4uNjY3NTcxMGVmNzYyYTUz
MDdlMTM5Y2Y5Mjg0MTgwYjdlNWQ3ZWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKFdlYkNvcmU6Ok1vY2tXZWJB
dXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24mJik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBwbGF0
Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsKTsKIAog
ICAgIC8vIEF1eGlsaWFyeVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCmluZGV4IGNiNGEwZjI0OTMyZmEy
NmE3MzU0NjQ4N2YyNTlkYjk5ZjVjYWQ4OWYuLjU1YjM3ZDRlZjg4ZGQyODRhNzI0OWU0MGI2MWZi
NGExOGI5ODkxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lv
cy9XZWJBdXRoblByb2Nlc3NJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUo
V0VCX0FVVEhOKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW1wb3J0ICJEZWZhdWx0V2Vi
QnJvd3NlckNoZWNrcy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CiAKQEAgLTQ4LDYg
KzQ5LDExIEBAIHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBB
dXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhCiB7CiB9CiAKK3ZvaWQgV2ViQXV0aG5Q
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworICAgIFJFTEVBU0VfQVNT
RVJUKGlzUGFyZW50UHJvY2Vzc0FGdWxsV2ViQnJvd3NlcigqdGhpcykpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pICYmIFBMQVRGT1JN
KElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9t
YWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
bWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbQppbmRleCBkMWFiMzM4NDU5NGZkZDI5OTBjZTcyZGZl
YmYxMDJjNGEyNTE1Nzc1Li5hOWE1YzBiOGM3NzliNzkyZWM0ZmJjMmFiNjMwNGYyMDZiZjMxNzRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Q
cm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJB
dXRoblByb2Nlc3NNYWMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAy
MC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNjYsNiArNjYsMTAgQEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6Omlu
aXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmEK
ICAgICBBdXhpbGlhcnlQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChwYXJhbWV0ZXJzLCBzYW5k
Ym94UGFyYW1ldGVycyk7CiB9CiAKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUo
V0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDc4
ODI3ODk0M2E4MTdmM2M0ZGVmNGFkMDhlNjg1ZmUzYTYzOTkwN2UuLmU4MzIyNmRlNDhjMTA3YTFi
ZGY1ODVjZGI2NTg0MGExNzFjNWZlZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0xMjk4LDggKzEyOTgsMTAgQEAgc3RhdGljIFdlYkF1dGhuUHJvY2Vzc0Nv
bm5lY3Rpb25JbmZvIGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW8K
ICAgICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6
R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyksIDAp
KSB7CiAgICAgICAgIC8vIElmIHdlIGZhaWxlZCB0aGUgZmlyc3QgdGltZSwgcmV0cnkgb25jZS4g
VGhlIGF0dGFjaG1lbnQgbWF5IGhhdmUgYmVjb21lIGludmFsaWQKICAgICAgICAgLy8gYmVmb3Jl
IGl0IHdhcyByZWNlaXZlZCBieSB0aGUgd2ViIHByb2Nlc3MgaWYgdGhlIG5ldHdvcmsgcHJvY2Vz
cyBjcmFzaGVkLgotICAgICAgICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6
V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25u
ZWN0aW9uSW5mbyksIDApKQorICAgICAgICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBs
eShjb25uZWN0aW9uSW5mbyksIDApKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihX
ZWJBdXRobiwgImdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246IFVuYWJsZSB0byBjb25uZWN0
IHRvIFdlYkF1dGhuIHByb2Nlc3MgKFRlcm1pbmF0aW5nKSIpOwogICAgICAgICAgICAgQ1JBU0go
KTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVybiBjb25uZWN0aW9uSW5mbzsKQEAgLTEz
MTgsOCArMTMyMCwxMCBAQCBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uJiBXZWJQcm9jZXNzOjpl
bnN1cmVXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCkKICAgICAgICAgaWYgKCFJUEM6OkNvbm5l
Y3Rpb246OmlkZW50aWZpZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkpCiAg
ICAgICAgICAgICBjb25uZWN0aW9uSW5mbyA9IGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24o
KnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkpOwogCi0gICAgICAgIGlmICghSVBDOjpDb25uZWN0
aW9uOjppZGVudGlmaWVySXNWYWxpZChjb25uZWN0aW9uSW5mby5pZGVudGlmaWVyKCkpKQorICAg
ICAgICBpZiAoIUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbklu
Zm8uaWRlbnRpZmllcigpKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViQXV0
aG4sICJlbnN1cmVXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOiBDb25uZWN0aW9uIGlkZW50aWZp
ZXIgZm9yIFdlYkF1dGhuIHByb2Nlc3MgaXMgaW52YWxpZC4iKTsKICAgICAgICAgICAgIENSQVNI
KCk7CisgICAgICAgIH0KIAogICAgICAgICBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gPSBX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGUoY29ubmVjdGlvbkluZm8ucmVsZWFzZUlk
ZW50aWZpZXIoKSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431223</attachid>
            <date>2021-06-11 12:53:49 -0700</date>
            <delta_ts>2021-06-14 09:34:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226772-20210611125349.patch</filename>
            <type>text/plain</type>
            <size>17278</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDVlZjMwMWIzY2Y3NzBlNjljYWI1
OTA5MGQ0YmE5ZDM5YWJiNWUuLmY3NjJkNjI4ZWQwNzZmODA0OWYxZDk5MmJjYjUzOTRhMWRmYWM5
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMDkgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2Vz
cyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgZW50aXRsZW1lbnQgdXRpbGl0eSB0aGF0IHJldHVy
bnMgdGhlIFN0cmluZyB2YWx1ZSBvZiBhIGdpdmVuIGVudGl0bGVtZW50IGZvcgorICAgICAgICB0
aGUgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBhdWRpdCB0b2tlbi4KKworICAgICAgICAqIHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lm1tOgorICAgICAgICAoV1RGOjpwcm9jZXNzRW50aXRsZW1lbnRWYWx1ZSk6CisgICAgICAgICog
d3RmL1BsYXRmb3JtSGF2ZS5oOiBBZGQgaXRlbSBmb3IgUEFDIHNoYXJlZCByZWdpb24gZmVhdHVy
ZS4KKwogMjAyMS0wNi0wNyAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBGaXggY2xhbmcgVFNBIHdhcm5pbmdzIGluIFdU
Rjo6RGF0YU11dGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIxNGFkYWVjMGI3MThjOGUxMTZjOGEzYmYyZjYxZTA1
MmI3NDI2NjkuLjk2NzQ1ZWI4MWI4NDY0M2JhYTc2YTQ4YTgwZjhkOGEzNWFiODU2NzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDYtMDkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2VzcyBi
eSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBzaG91bGQgZW5zdXJlIHRoYXQgYW55IHByb2Nlc3MgYXR0ZW1wdGlu
ZyB0byBsYXVuY2ggdGhlIFdlYkF1dGhuIFhQQyBzZXJ2aWNlIGlzIGVudGl0bGVkIGFzIGEgZnVs
bCB3ZWIgYnJvd3Nlci4gV2UKKyAgICAgICAgc2hvdWxkIGFsc28gZW5zdXJlIHRoYXQgdGhlIHBy
b2Nlc3MgcmVxdWVzdGluZyBXZWJBdXRobiBvcGVyYXRpb25zIG92ZXIgV2ViS2l0IENvcmVJUEMg
aXMgdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICBUZXN0ZWQgYnkgZXhpc3Rpbmcg
V2ViQXV0aG4gdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6IEFkZCBXZWJB
dXRobiBjYXRlZ29yeS4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJD
aGVja3MubW06CisgICAgICAgIChXZWJLaXQ6OmlzSW5XZWJLaXRDaGlsZFByb2Nlc3MpOiBSZWNv
Z25pemUgJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4nIGFzIGEgV2ViS2l0IHN1Yi1wcm9jZXNz
LgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpoYXNDb3JyZWN0UEFDRW50aXRsZW1lbnQp
OiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KTogQWRkIGEgbmV3IE1FU1NBR0VfQ0hFQ0sgdGhhdCB0aGUgcHJvY2VzcyByZXF1ZXN0aW5nIGEg
V2ViQXV0aG4KKyAgICAgICAgcHJvY2VzcyBjb25uZWN0aW9uIGlzIGEgV2ViQ29udGVudCBwcm9j
ZXNzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBX
ZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
QXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MpOiBBZGQgc29t
ZSBsb2dnaW5nLgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaDoK
KyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRo
blByb2Nlc3MpOiBFbnN1cmUgdGhhdCB0aGUgYXBwbGljYXRpb24gaW52b2tpbmcgdGhlIFdlYkF1
dGhuIFhQQyBzZXJ2aWNlCisgICAgICAgIGlzIGVudGl0bGVkIGFzIGEgZGVmYXVsdCB3ZWIgYnJv
d3Nlci4KKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJBdXRoblByb2Nlc3MpOiBTdHViLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
KToKKwogMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQ29udmVydCBXZWJDb3JlOjpTbmFwc2hvdE9wdGlvbnMgaW50byBhbiBlbnVtIGNsYXNz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDZlMjBkNmY4ZjEyMjI2MmIyZGM0ODA5OGM0OGVkMDY1
MzY2YWJiMmQuLmY2MTNhNTFkNTk2MzRkM2E4OWJjNWVlZWUzNTUxNzBkYjgyMTUzM2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC0xMDAxLDMgKzEwMDEsNyBAQAogICAgIHx8IChQTEFURk9STShN
QUNDQVRBTFlTVCkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAw
KSkKICNkZWZpbmUgSEFWRV9DT1JFX1RFWFRfU0JJWF9JTUFHRV9TSVpFX0ZVTkNUSU9OUyAxCiAj
ZW5kaWYKKworI2lmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlM
WV9TSU1VTEFUT1IpKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCisjZGVmaW5lIEhB
VkVfUEFDX1NIQVJFRF9SRUdJT05fSUQgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVt
ZW50cy5oCmluZGV4IDAwNjg5NDEzYmQ4OWU0ZTkzYjk3ODY3YzQ5NjlhNjVkNWY2ZTBkNzAuLjg5
NTgyMGNjZDhlMjA1NGZmZGQ5NjI5ZWJiZTc2ZDQ0YzNlZjMyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29h
L0VudGl0bGVtZW50cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
OC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxOC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsOSArMzEsMTIgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAK
K2NsYXNzIFN0cmluZzsKKwogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFzRW50aXRsZW1lbnQo
YXVkaXRfdG9rZW5fdCwgY29uc3QgY2hhciogZW50aXRsZW1lbnQpOwogV1RGX0VYUE9SVF9QUklW
QVRFIGJvb2wgaGFzRW50aXRsZW1lbnQoeHBjX2Nvbm5lY3Rpb25fdCwgY29uc3QgY2hhciogZW50
aXRsZW1lbnQpOwogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50
KGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsKK1dURl9FWFBPUlRfUFJJVkFURSBTdHJpbmcgcHJv
Y2Vzc0VudGl0bGVtZW50VmFsdWUoYXVkaXRfdG9rZW5fdCwgY29uc3QgY2hhciogZW50aXRsZW1l
bnQpOwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
Y29jb2EvRW50aXRsZW1lbnRzLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRz
Lm1tCmluZGV4IDE2NWRkNWI2ZTIyMTlkMzVlMTM2NGRlNTA1YWM4MWY0MmQ2NTExZTQuLjhlNzRj
Zjc0YTM2YTI5NTMyYzQ4NzhmMWRkNjMyMzU3ODA4OWRjN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9F
bnRpdGxlbWVudHMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOC0y
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCA8d3RmL09TT2JqZWN0UHRyLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3Vy
aXR5U1BJLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdU
RiB7CiAKQEAgLTU3LDQgKzU4LDIxIEBAIGJvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50KGNvbnN0
IGNoYXIqIGVudGl0bGVtZW50KQogICAgIHJldHVybiBoYXNFbnRpdGxlbWVudChhZG9wdENGKFNl
Y1Rhc2tDcmVhdGVGcm9tU2VsZihrQ0ZBbGxvY2F0b3JEZWZhdWx0KSkuZ2V0KCksIGVudGl0bGVt
ZW50KTsKIH0KIAorU3RyaW5nIHByb2Nlc3NFbnRpdGxlbWVudFZhbHVlKGF1ZGl0X3Rva2VuX3Qg
dG9rZW4sIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KQoreworICAgIGF1dG8gc2VjVGFza0ZvclRv
a2VuID0gYWRvcHRDRihTZWNUYXNrQ3JlYXRlV2l0aEF1ZGl0VG9rZW4oa0NGQWxsb2NhdG9yRGVm
YXVsdCwgdG9rZW4pKTsKKyAgICBpZiAoIXNlY1Rhc2tGb3JUb2tlbikKKyAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgIGF1dG8gc3RyaW5nID0gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDU3Ry
aW5nTm9Db3B5KGtDRkFsbG9jYXRvckRlZmF1bHQsIGVudGl0bGVtZW50LCBrQ0ZTdHJpbmdFbmNv
ZGluZ0FTQ0lJLCBrQ0ZBbGxvY2F0b3JOdWxsKSk7CisgICAgYXV0byB2YWx1ZSA9IGFkb3B0Q0Yo
U2VjVGFza0NvcHlWYWx1ZUZvckVudGl0bGVtZW50KHNlY1Rhc2tGb3JUb2tlbi5nZXQoKSwgc3Ry
aW5nLmdldCgpLCBudWxscHRyKSk7CisgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGlmIChDRkdldFR5cGVJRCh2YWx1ZS5nZXQoKSkgIT0gQ0ZTdHJpbmdHZXRUeXBl
SUQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDRlN0
cmluZ1JlZj4odmFsdWUuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9Mb2dnaW5nLmgKaW5kZXggZmE4MjcyZmIyOTk0OGI3YzAyNjhhOGNjMmUzNWUwYzk2Zjk5
ZGZlMi4uMWY1NTQwNGRmMGY3YTUyZGE1NmNlOGQ4NTA3NmE2NDMyMmNkNDU0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTEwMSw2ICsxMDEsNyBAQCBleHRlcm4gIkMiIHsKICAgICBN
KFZpZXdwb3J0U2l6aW5nKSBcCiAgICAgTShWaXJ0dWFsTWVtb3J5KSBcCiAgICAgTShWaXNpYmxl
UmVjdHMpIFwKKyAgICBNKFdlYkF1dGhuKSBcCiAgICAgTShXZWJHTCkgXAogICAgIE0oV2ViUlRD
KSBcCiAgICAgTShXaGVlbEV2ZW50cykgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5tbQppbmRleCAwNmZkOWNlZTcxMmEwODVm
NjgwODI4ZGY3MDE5OTk3ZmYwYjRhNGY4Li4xNWJiNDY1ZTBmOWMyMThjYzFhNDY2YmY3ZDk5MzQ1
Y2VkMDg1MGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9EZWZhdWx0
V2ViQnJvd3NlckNoZWNrcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9EZWZh
dWx0V2ViQnJvd3NlckNoZWNrcy5tbQpAQCAtNzYsNyArNzYsOCBAQCBzdGF0aWMgYm9vbCBpc0lu
V2ViS2l0Q2hpbGRQcm9jZXNzKCkKICAgICAgICAgTlNTdHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIg
PSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdOwogICAgICAgICBpc0lu
U3ViUHJvY2VzcyA9IFtidW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJL
aXQuV2ViQ29udGVudCJdCiAgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVm
aXg6QCJjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmciXQotICAgICAgICAgICAgfHwgW2J1bmRs
ZUlkZW50aWZpZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5HUFUiXTsKKyAgICAgICAg
ICAgIHx8IFtidW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuR1BV
Il0KKyAgICAgICAgICAgIHx8IFtidW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBs
ZS5XZWJLaXQuV2ViQXV0aG4iXTsKICAgICB9KTsKIAogICAgIHJldHVybiBpc0luU3ViUHJvY2Vz
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0KaW5kZXggYzcyNGNmNDRlMGMzOGFhNGEwMzc1ODE3MzQwNDM4NDQxZjk1Mzlm
My4uNDI4NjYyYWU1ZjFhOWFlMTYwZDYyODIyMDMwMjMyZWIzNTY3NTk0ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0K
QEAgLTQxLDYgKzQxLDcgQEAKICNpbXBvcnQgPHN5cy9zeXNjdGwuaD4KICNpbXBvcnQgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CisjaW1wb3J0IDx3dGYvY29j
b2EvRW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KICNp
bXBvcnQgPHd0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaD4KIApAQCAtMjk4LDQgKzI5OSwzMCBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2VuZEF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucygp
CiAgICAgfSk7CiB9CiAKK2Jvb2wgV2ViUHJvY2Vzc1Byb3h5OjpoYXNDb3JyZWN0UEFDRW50aXRs
ZW1lbnQoKQoreworICAgIGlmICghaGFzQ29ubmVjdGlvbigpKSB7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisjaWYgSEFWRShQ
QUNfU0hBUkVEX1JFR0lPTl9JRCkKKyAgICBhdXRvIGF1ZGl0VG9rZW4gPSBjb25uZWN0aW9uKCkt
PmdldEF1ZGl0VG9rZW4oKTsKKyAgICBpZiAoIWF1ZGl0VG9rZW4pIHsKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKElQQywgIlVuYWJsZSB0
byBnZXQgcGFyZW50IHdlYiBwcm9jZXNzIGF1ZGl0IHRva2VuIik7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICAvLyBDb25maXJtIHRoYXQgdGhlIGNvbm5lY3Rpb24gaXMgZnJv
bSBhIFdlYkNvbnRlbnQgcHJvY2VzczoKKyAgICBhdXRvIHBhY1JlZ2lvbklEID0gV1RGOjpwcm9j
ZXNzRW50aXRsZW1lbnRWYWx1ZShhdWRpdFRva2VuLnZhbHVlKCksICJjb20uYXBwbGUucGFjLnNo
YXJlZF9yZWdpb25faWQiKTsKKyAgICBpZiAocGFjUmVnaW9uSUQgIT0gIldlYkNvbnRlbnQiX3Mp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIlByb2Nlc3MgaXMgbm90IGFu
IGVudGl0bGVkIFdlYkNvbnRlbnQgcHJvY2Vzcy4gUHJvY2VzcyBzaGFyZWRfcmVnaW9uX2lkID0g
JXMiLCBwYWNSZWdpb25JRC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyNlbmRpZgorCisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDQ0NzIxNmI1YzlmYTQyODY2MGYw
MzBkN2E5NTk5YTJlMmM3OGZjNWYuLmU5ODQwNjFiNjYyOTJiYjBjNTZmZGJlMmI0ZjA1ODQ4MjVk
MTdmYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTc5Niw2ICs3OTYsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4aXRl
ZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogI2lmIEVOQUJMRShXRUJfQVVU
SE4pCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpE
ZWxheWVkUmVwbHkmJiByZXBseSkKIHsKKyAgICBNRVNTQUdFX0NIRUNLKGhhc0NvcnJlY3RQQUNF
bnRpdGxlbWVudCgpKTsKICAgICBtX3Byb2Nlc3NQb29sLT5nZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggNTVjNThjNDNjYTdhOTZhN2M5MzY4MTYx
NmUzODI4NjYwYjEwNmY3Yy4uMzg4Y2U3MDA0OTdhMjJlZjljNTg4ZWU0ZTU2MmY2ZmYyYjZhN2Zi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Mjks
NiArNTI5LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBpc0FYQXV0aGVudGljYXRlZChhdWRpdF90
b2tlbl90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgYm9vbCBoYXNDb3JyZWN0UEFDRW50aXRsZW1lbnQoKTsKKyNl
bmRpZgorCiAgICAgZW51bSBjbGFzcyBJc1dlYWsgeyBObywgWWVzIH07CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha09yU3Ryb25nUHRyIHsKICAgICBwdWJsaWM6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAppbmRleCBi
MzU1ODVmYjU4NjFiNTkyNDM2Mjc3ZGYyNDRkMTEyNGYwMDYwMDNiLi5jZDQ2MWRlOTJkMTNiYTRm
MzcwMzUxMjNhYjU0N2Y0MDY4OWU5NjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTM2LDYgKzEzNiwxMiBAQCB2b2lkIFdlYkF1
dGhuUHJvY2Vzczo6c2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihXZWJDb3Jl
OjpNb2NrV2ViQXV0aAogICAgIHN0YXRpY19jYXN0PE1vY2tBdXRoZW50aWNhdG9yTWFuYWdlcio+
KCZtX2F1dGhlbnRpY2F0b3JNYW5hZ2VyKS0+c2V0VGVzdENvbmZpZ3VyYXRpb24oV1RGTW92ZShj
b25maWd1cmF0aW9uKSk7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIFdlYkF1dGhu
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKGNvbnN0IFdlYkF1dGhu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCit7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaAppbmRleCA1YWM5ZmM4MjlhNWMw
NDRhYmU2YzhjYzM2MzdjNjY3ZmEyOWE0NmIzLi42Njc1NzEwZWY3NjJhNTMwN2UxMzljZjkyODQx
ODBiN2U1ZDdlYmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRoblByb2Nlc3MuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwLTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC02NSw2ICs2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1vY2tXZWJB
dXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TW9ja1dlYkF1dGhlbnRpY2F0aW9u
Q29uZmlndXJhdGlvbiYmKTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6
ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
KTsKICAgICB2b2lkIGxvd01lbW9yeUhhbmRsZXIoQ3JpdGljYWwpOwogCiAgICAgLy8gQXV4aWxp
YXJ5UHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9z
L1dlYkF1dGhuUHJvY2Vzc0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lv
cy9XZWJBdXRoblByb2Nlc3NJT1MubW0KaW5kZXggY2I0YTBmMjQ5MzJmYTI2YTczNTQ2NDg3ZjI1
OWRiOTlmNWNhZDg5Zi4uNTViMzdkNGVmODhkZDI4NGE3MjQ5ZTQwYjYxZmI0YTE4Yjk4OTFjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJv
Y2Vzc0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0
aG5Qcm9jZXNzSU9TLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAt
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfQVVUSE4pICYm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAKKyNpbXBvcnQgIkRlZmF1bHRXZWJCcm93c2VyQ2hlY2tz
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1dlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuaD4KIApAQCAtNDgsNiArNDksMTEgQEAgdm9p
ZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmEKIHsKIH0KIAordm9pZCBXZWJBdXRoblByb2Nlc3M6OnBsYXRm
b3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoaXNQYXJlbnRQ
cm9jZXNzQUZ1bGxXZWJCcm93c2VyKCp0aGlzKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblBy
b2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Q
cm9jZXNzTWFjLm1tCmluZGV4IGQxYWIzMzg0NTk0ZmRkMjk5MGNlNzJkZmViZjEwMmM0YTI1MTU3
NzUuLmE5YTVjMGI4Yzc3OWI3OTJlYzRmYmMyYWI2MzA0ZjIwNmJmMzE3NGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01h
Yy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC02Niw2ICs2NiwxMCBAQCB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRi
b3goY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYQogICAgIEF1eGlsaWFy
eVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KHBhcmFtZXRlcnMsIHNhbmRib3hQYXJhbWV0ZXJz
KTsKIH0KIAordm9pZCBXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhu
UHJvY2Vzcyhjb25zdCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKQoreworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNzg4Mjc4OTQzYTgxN2Yz
YzRkZWY0YWQwOGU2ODVmZTNhNjM5OTA3ZS4uZTgzMjI2ZGU0OGMxMDdhMWJkZjU4NWNkYjY1ODQw
YTE3MWM1ZmVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTEyOTgsOCArMTI5OCwxMCBAQCBzdGF0aWMgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbkluZm8g
Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihJUEM6OkNvbm5lY3RpbwogICAgIGlmICghY29u
bmVjdGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb246OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpIHsKICAgICAgICAg
Ly8gSWYgd2UgZmFpbGVkIHRoZSBmaXJzdCB0aW1lLCByZXRyeSBvbmNlLiBUaGUgYXR0YWNobWVu
dCBtYXkgaGF2ZSBiZWNvbWUgaW52YWxpZAogICAgICAgICAvLyBiZWZvcmUgaXQgd2FzIHJlY2Vp
dmVkIGJ5IHRoZSB3ZWIgcHJvY2VzcyBpZiB0aGUgbmV0d29yayBwcm9jZXNzIGNyYXNoZWQuCi0g
ICAgICAgIGlmICghY29ubmVjdGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwg
MCkpCisgICAgICAgIGlmICghY29ubmVjdGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vz
c1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKCksIE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246OlJlcGx5KGNvbm5lY3Rpb25J
bmZvKSwgMCkpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYkF1dGhuLCAiZ2V0
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjogVW5hYmxlIHRvIGNvbm5lY3QgdG8gV2ViQXV0aG4g
cHJvY2VzcyAoVGVybWluYXRpbmcpIik7CiAgICAgICAgICAgICBDUkFTSCgpOworICAgICAgICB9
CiAgICAgfQogCiAgICAgcmV0dXJuIGNvbm5lY3Rpb25JbmZvOwpAQCAtMTMxOCw4ICsxMzIwLDEw
IEBAIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24mIFdlYlByb2Nlc3M6OmVuc3VyZVdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24oKQogICAgICAgICBpZiAoIUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRp
ZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRpZmllcigpKSkKICAgICAgICAgICAgIGNv
bm5lY3Rpb25JbmZvID0gZ2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigqcGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKSk7CiAKLSAgICAgICAgaWYgKCFJUEM6OkNvbm5lY3Rpb246OmlkZW50aWZp
ZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkpCisgICAgICAgIGlmICghSVBD
OjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNWYWxpZChjb25uZWN0aW9uSW5mby5pZGVudGlmaWVy
KCkpKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJBdXRobiwgImVuc3VyZVdl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246IENvbm5lY3Rpb24gaWRlbnRpZmllciBmb3IgV2ViQXV0
aG4gcHJvY2VzcyBpcyBpbnZhbGlkLiIpOwogICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAg
fQogCiAgICAgICAgIG1fd2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiA9IFdlYkF1dGhuUHJvY2Vz
c0Nvbm5lY3Rpb246OmNyZWF0ZShjb25uZWN0aW9uSW5mby5yZWxlYXNlSWRlbnRpZmllcigpKTsK
ICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431339</attachid>
            <date>2021-06-14 09:34:20 -0700</date>
            <delta_ts>2021-06-14 11:15:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226772-20210614093419.patch</filename>
            <type>text/plain</type>
            <size>13802</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIxNGFkYWVjMGI3MThjOGUx
MTZjOGEzYmYyZjYxZTA1MmI3NDI2NjkuLjkwODhjMmZhYTFjNzZjYzAzNDE2ODg1NGU0MjkwMGRh
MTgxMzBkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDYtMTQgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2Vi
QXV0aG4gcHJvY2VzcyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3Nl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Nzcy
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBzaG91bGQgZW5zdXJlIHRoYXQgYW55IHBy
b2Nlc3MgYXR0ZW1wdGluZyB0byBsYXVuY2ggdGhlIFdlYkF1dGhuIFhQQyBzZXJ2aWNlIGlzIGVu
dGl0bGVkIGFzIGEgZnVsbCB3ZWIgYnJvd3Nlci4gV2UKKyAgICAgICAgc2hvdWxkIGFsc28gZW5z
dXJlIHRoYXQgdGhlIHByb2Nlc3MgcmVxdWVzdGluZyBXZWJBdXRobiBvcGVyYXRpb25zIG92ZXIg
V2ViS2l0IENvcmVJUEMgaXMgdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICBUZXN0
ZWQgYnkgZXhpc3RpbmcgV2ViQXV0aG4gdGVzdHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dn
aW5nLmg6IEFkZCBXZWJBdXRobiBjYXRlZ29yeS4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvRGVm
YXVsdFdlYkJyb3dzZXJDaGVja3MubW06CisgICAgICAgIChXZWJLaXQ6OmlzSW5XZWJLaXRDaGls
ZFByb2Nlc3MpOiBSZWNvZ25pemUgJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4nIGFzIGEgV2Vi
S2l0IHN1Yi1wcm9jZXNzLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpoYXNDb3JyZWN0
UEFDRW50aXRsZW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpnZXRXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uKTogQWRkIGEgbmV3IE1FU1NBR0VfQ0hFQ0sgdGhhdCB0aGUgcHJvY2Vz
cyByZXF1ZXN0aW5nIGEgV2ViQXV0aG4KKyAgICAgICAgcHJvY2VzcyBjb25uZWN0aW9uIGlzIGEg
V2ViQ29udGVudCBwcm9jZXNzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aDoKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblBy
b2Nlc3MpOiBBZGQgc29tZSBsb2dnaW5nLgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRoblByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJv
Y2Vzc0lPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUlu
aXRpYWxpemVXZWJBdXRoblByb2Nlc3MpOiBFbnN1cmUgdGhhdCB0aGUgYXBwbGljYXRpb24gaW52
b2tpbmcgdGhlIFdlYkF1dGhuIFhQQyBzZXJ2aWNlCisgICAgICAgIGlzIGVudGl0bGVkIGFzIGEg
ZGVmYXVsdCB3ZWIgYnJvd3Nlci4KKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvbWFjL1dlYkF1
dGhuUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MpOiBTdHViLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldFdlYkF1dGhuUHJvY2Vzc0Nv
bm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uKToKKwogMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBXZWJDb3JlOjpTbmFwc2hvdE9wdGlvbnMgaW50
byBhbiBlbnVtIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dp
bmcuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGZhODI3MmZiMjk5
NDhiN2MwMjY4YThjYzJlMzVlMGM5NmY5OWRmZTIuLjFmNTU0MDRkZjBmN2E1MmRhNTZjZThkODUw
NzZhNjQzMjJjZDQ1NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vTG9nZ2luZy5oCkBAIC0xMDEsNiArMTAx
LDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgTShWaWV3cG9ydFNpemluZykgXAogICAgIE0oVmlydHVh
bE1lbW9yeSkgXAogICAgIE0oVmlzaWJsZVJlY3RzKSBcCisgICAgTShXZWJBdXRobikgXAogICAg
IE0oV2ViR0wpIFwKICAgICBNKFdlYlJUQykgXAogICAgIE0oV2hlZWxFdmVudHMpIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tz
Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3Mu
bW0KaW5kZXggMDZmZDljZWU3MTJhMDg1ZjY4MDgyOGRmNzAxOTk5N2ZmMGI0YTRmOC4uMTViYjQ2
NWUwZjljMjE4Y2MxYTQ2NmJmN2Q5OTM0NWNlZDA4NTBjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KQEAgLTc2LDcg
Kzc2LDggQEAgc3RhdGljIGJvb2wgaXNJbldlYktpdENoaWxkUHJvY2VzcygpCiAgICAgICAgIE5T
U3RyaW5nICpidW5kbGVJZGVudGlmaWVyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJ
ZGVudGlmaWVyXTsKICAgICAgICAgaXNJblN1YlByb2Nlc3MgPSBbYnVuZGxlSWRlbnRpZmllciBo
YXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXQogICAgICAgICAgICAgfHwg
W2J1bmRsZUlkZW50aWZpZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5n
Il0KLSAgICAgICAgICAgIHx8IFtidW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBs
ZS5XZWJLaXQuR1BVIl07CisgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVm
aXg6QCJjb20uYXBwbGUuV2ViS2l0LkdQVSJdCisgICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRp
ZmllciBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuIl07CiAgICAgfSk7CiAK
ICAgICByZXR1cm4gaXNJblN1YlByb2Nlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGM3MjRjZjQ0ZTBjMzhh
YTRhMDM3NTgxNzM0MDQzODQ0MWY5NTM5ZjMuLjQyODY2MmFlNWYxYTlhZTE2MGQ2MjgyMjAzMDIz
MmViMzU2NzU5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0IDxzeXMv
c3lzY3RsLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9T
Y29wZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3Rm
L2NvY29hL1ZlY3RvckNvY29hLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJ
Lmg+CiAKQEAgLTI5OCw0ICsyOTksMzAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmRBdWRp
b0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoKQogICAgIH0pOwogfQogCitib29sIFdlYlByb2Nlc3NQ
cm94eTo6aGFzQ29ycmVjdFBBQ0VudGl0bGVtZW50KCkKK3sKKyAgICBpZiAoIWhhc0Nvbm5lY3Rp
b24oKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworI2lmIEhBVkUoUEFDX1NIQVJFRF9SRUdJT05fSUQpCisgICAgYXV0byBh
dWRpdFRva2VuID0gY29ubmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCk7CisgICAgaWYgKCFhdWRp
dFRva2VuKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihJUEMsICJVbmFibGUgdG8gZ2V0IHBhcmVudCB3ZWIgcHJvY2VzcyBhdWRpdCB0
b2tlbiIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gQ29uZmlybSB0
aGF0IHRoZSBjb25uZWN0aW9uIGlzIGZyb20gYSBXZWJDb250ZW50IHByb2Nlc3M6CisgICAgYXV0
byBwYWNSZWdpb25JRCA9IFdURjo6cHJvY2Vzc0VudGl0bGVtZW50VmFsdWUoYXVkaXRUb2tlbi52
YWx1ZSgpLCAiY29tLmFwcGxlLnBhYy5zaGFyZWRfcmVnaW9uX2lkIik7CisgICAgaWYgKHBhY1Jl
Z2lvbklEICE9ICJXZWJDb250ZW50Il9zKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFBy
b2Nlc3MsICJQcm9jZXNzIGlzIG5vdCBhbiBlbnRpdGxlZCBXZWJDb250ZW50IHByb2Nlc3MuIFBy
b2Nlc3Mgc2hhcmVkX3JlZ2lvbl9pZCA9ICVzIiwgcGFjUmVnaW9uSUQudXRmOCgpLmRhdGEoKSk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiB0cnVl
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApp
bmRleCA0NDcyMTZiNWM5ZmE0Mjg2NjBmMDMwZDdhOTU5OWEyZTJjNzhmYzVmLi5iMmY2MzIxYjI4
NTgyYWQ3YjkxZjQwZGI3Y2MyNDI0ODk2YWMzMDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDAsNiArMTAwLDcgQEAKIAogI2RlZmluZSBN
RVNTQUdFX0NIRUNLKGFzc2VydGlvbikgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgY29u
bmVjdGlvbigpKQogI2RlZmluZSBNRVNTQUdFX0NIRUNLX1VSTCh1cmwpIE1FU1NBR0VfQ0hFQ0tf
QkFTRShjaGVja1VSTFJlY2VpdmVkRnJvbVdlYlByb2Nlc3ModXJsKSwgY29ubmVjdGlvbigpKQor
I2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oYXNzZXJ0aW9uLCBjb21wbGV0aW9uKSBN
RVNTQUdFX0NIRUNLX0NPTVBMRVRJT05fQkFTRShhc3NlcnRpb24sIGNvbm5lY3Rpb24oKSwgY29t
cGxldGlvbikKIAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
QEAgLTc5Niw3ICs3OTcsOCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4aXRl
ZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogI2lmIEVOQUJMRShXRUJfQVVU
SE4pCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpE
ZWxheWVkUmVwbHkmJiByZXBseSkKIHsKLSAgICBtX3Byb2Nlc3NQb29sLT5nZXRXZWJBdXRoblBy
b2Nlc3NDb25uZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5KSk7CisgICAgTUVTU0FHRV9DSEVD
S19DT01QTEVUSU9OKGhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCgpLCByZXBseSk7CisgICAgbV9w
cm9jZXNzUG9vbC0+Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigqdGhpcywgcmVwbHkoeyB9
KSk7CiB9CiAjZW5kaWYKIApAQCAtMTk5OSwzICsyMDAxLDQgQEAgdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OnN5c3RlbUJlZXAoKQogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwogI3VuZGVmIE1FU1NBR0Vf
Q0hFQ0tfVVJMCisjdW5kZWYgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDU1YzU4YzQzY2E3YTk2YTdjOTM2ODE2
MTZlMzgyODY2MGIxMDZmN2MuLjM4OGNlNzAwNDk3YTIyZWY5YzU4OGVlNGU1NjJmNmZmMmI2YTdm
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTI5
LDYgKzUyOSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNBWEF1dGhlbnRpY2F0ZWQoYXVkaXRf
dG9rZW5fdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgIGJvb2wgaGFzQ29ycmVjdFBBQ0VudGl0bGVtZW50KCk7Cisj
ZW5kaWYKKwogICAgIGVudW0gY2xhc3MgSXNXZWFrIHsgTm8sIFllcyB9OwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtPclN0cm9uZ1B0ciB7CiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXgg
YjM1NTg1ZmI1ODYxYjU5MjQzNjI3N2RmMjQ0ZDExMjRmMDA2MDAzYi4uY2Q0NjFkZTkyZDEzYmE0
ZjM3MDM1MTIzYWI1NDdmNDA2ODllOTYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEzNiw2ICsxMzYsMTIgQEAgdm9pZCBXZWJB
dXRoblByb2Nlc3M6OnNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24oV2ViQ29y
ZTo6TW9ja1dlYkF1dGgKICAgICBzdGF0aWNfY2FzdDxNb2NrQXV0aGVudGljYXRvck1hbmFnZXIq
PigmbV9hdXRoZW50aWNhdG9yTWFuYWdlciktPnNldFRlc3RDb25maWd1cmF0aW9uKFdURk1vdmUo
Y29uZmlndXJhdGlvbikpOwogfQogCisjaWYgIVBMQVRGT1JNKENPQ09BKQordm9pZCBXZWJBdXRo
blByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRo
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKQoreworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKaW5kZXggNWFjOWZjODI5YTVj
MDQ0YWJlNmM4Y2MzNjM3YzY2N2ZhMjlhNDZiMy4uNjY3NTcxMGVmNzYyYTUzMDdlMTM5Y2Y5Mjg0
MTgwYjdlNWQ3ZWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
V2ViQXV0aG5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0y
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNb2NrV2Vi
QXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKFdlYkNvcmU6Ok1vY2tXZWJBdXRoZW50aWNhdGlv
bkNvbmZpZ3VyYXRpb24mJik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxp
emVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
Jik7CiAgICAgdm9pZCBsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsKTsKIAogICAgIC8vIEF1eGls
aWFyeVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lv
cy9XZWJBdXRoblByb2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9p
b3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCmluZGV4IGNiNGEwZjI0OTMyZmEyNmE3MzU0NjQ4N2Yy
NTlkYjk5ZjVjYWQ4OWYuLjU1YjM3ZDRlZjg4ZGQyODRhNzI0OWU0MGI2MWZiNGExOGI5ODkxYzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblBy
b2Nlc3NJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1
dGhuUHJvY2Vzc0lPUy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIw
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKSAm
JiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW1wb3J0ICJEZWZhdWx0V2ViQnJvd3NlckNoZWNr
cy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CiAKQEAgLTQ4LDYgKzQ5LDExIEBAIHZv
aWQgV2ViQXV0aG5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhCiB7CiB9CiAKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworICAgIFJFTEVBU0VfQVNTRVJUKGlzUGFyZW50
UHJvY2Vzc0FGdWxsV2ViQnJvd3NlcigqdGhpcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pICYmIFBMQVRGT1JNKElPU19GQU1JTFkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Q
cm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL1dlYkF1dGhu
UHJvY2Vzc01hYy5tbQppbmRleCBkMWFiMzM4NDU5NGZkZDI5OTBjZTcyZGZlYmYxMDJjNGEyNTE1
Nzc1Li5hOWE1YzBiOGM3NzliNzkyZWM0ZmJjMmFiNjMwNGYyMDZiZjMxNzRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NN
YWMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNjYsNiArNjYsMTAgQEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVTYW5k
Ym94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmEKICAgICBBdXhpbGlh
cnlQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChwYXJhbWV0ZXJzLCBzYW5kYm94UGFyYW1ldGVy
cyk7CiB9CiAKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRo
blByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikKK3sKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDc4ODI3ODk0M2E4MTdm
M2M0ZGVmNGFkMDhlNjg1ZmUzYTYzOTkwN2UuLmU4MzIyNmRlNDhjMTA3YTFiZGY1ODVjZGI2NTg0
MGExNzFjNWZlZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xMjk4LDggKzEyOTgsMTAgQEAgc3RhdGljIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZv
IGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW8KICAgICBpZiAoIWNv
bm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Q
cm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyksIDApKSB7CiAgICAgICAg
IC8vIElmIHdlIGZhaWxlZCB0aGUgZmlyc3QgdGltZSwgcmV0cnkgb25jZS4gVGhlIGF0dGFjaG1l
bnQgbWF5IGhhdmUgYmVjb21lIGludmFsaWQKICAgICAgICAgLy8gYmVmb3JlIGl0IHdhcyByZWNl
aXZlZCBieSB0aGUgd2ViIHByb2Nlc3MgaWYgdGhlIG5ldHdvcmsgcHJvY2VzcyBjcmFzaGVkLgot
ICAgICAgICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1By
b3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyks
IDApKQorICAgICAgICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nl
c3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25uZWN0aW9u
SW5mbyksIDApKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJBdXRobiwgImdl
dFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb246IFVuYWJsZSB0byBjb25uZWN0IHRvIFdlYkF1dGhu
IHByb2Nlc3MgKFRlcm1pbmF0aW5nKSIpOwogICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIHJldHVybiBjb25uZWN0aW9uSW5mbzsKQEAgLTEzMTgsOCArMTMyMCwx
MCBAQCBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uJiBXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uKCkKICAgICAgICAgaWYgKCFJUEM6OkNvbm5lY3Rpb246OmlkZW50
aWZpZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkpCiAgICAgICAgICAgICBj
b25uZWN0aW9uSW5mbyA9IGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKnBhcmVudFByb2Nl
c3NDb25uZWN0aW9uKCkpOwogCi0gICAgICAgIGlmICghSVBDOjpDb25uZWN0aW9uOjppZGVudGlm
aWVySXNWYWxpZChjb25uZWN0aW9uSW5mby5pZGVudGlmaWVyKCkpKQorICAgICAgICBpZiAoIUlQ
Qzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRpZmll
cigpKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViQXV0aG4sICJlbnN1cmVX
ZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOiBDb25uZWN0aW9uIGlkZW50aWZpZXIgZm9yIFdlYkF1
dGhuIHByb2Nlc3MgaXMgaW52YWxpZC4iKTsKICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAg
IH0KIAogICAgICAgICBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gPSBXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOjpjcmVhdGUoY29ubmVjdGlvbkluZm8ucmVsZWFzZUlkZW50aWZpZXIoKSk7
CiAgICAgfQo=
</data>
<flag name="commit-queue"
          id="453091"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431345</attachid>
            <date>2021-06-14 11:03:07 -0700</date>
            <delta_ts>2021-06-14 17:16:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226772-20210614110306.patch</filename>
            <type>text/plain</type>
            <size>17723</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDVlZjMwMWIzY2Y3NzBlNjljYWI1
OTA5MGQ0YmE5ZDM5YWJiNWUuLjk2YmJmMDJiNjgzNDUzM2Y3M2I2NmE5NjBkNzMzNGQ0ZmI5Mzk3
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2Vz
cyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBBZGQgYSBuZXcgZW50aXRsZW1lbnQgdXRpbGl0eSB0aGF0IHJldHVybnMg
dGhlIFN0cmluZyB2YWx1ZSBvZiBhIGdpdmVuIGVudGl0bGVtZW50IGZvcgorICAgICAgICB0aGUg
cHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBhdWRpdCB0b2tlbi4KKworICAgICAgICAqIHd0Zi9j
b2NvYS9FbnRpdGxlbWVudHMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvRW50aXRsZW1lbnRzLm1t
OgorICAgICAgICAoV1RGOjpoYXNFbnRpdGxlbWVudFZhbHVlKToKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm1IYXZlLmg6IEFkZCBpdGVtIGZvciBQQUMgc2hhcmVkIHJlZ2lvbiBmZWF0dXJlLgorCiAy
MDIxLTA2LTA3ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbV1RGXVtHU3RyZWFtZXJdIEZpeCBjbGFuZyBUU0Egd2FybmluZ3MgaW4gV1RGOjpEYXRh
TXV0ZXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggMjE0YWRhZWMwYjcxOGM4ZTExNmM4YTNiZjJmNjFlMDUyYjc0MjY2
OS4uMDkyYTkyNzNiOWM4MGY5OWQ4ZWJjMjNjZGU1NzlmOTIyM2YzYjEyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzNyBAQAorMjAyMS0wNi0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KKworICAgICAgICBbQ29jb2FdIEhhcmRlbiBXZWJBdXRobiBwcm9jZXNzIGJ5IHJlc3Ry
aWN0aW5nIHRvIGJyb3dzZXItZW50aXRsZWQgcHJvY2Vzc2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NzIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc0NzIxODc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFdlIHNob3VsZCBlbnN1cmUgdGhhdCBhbnkgcHJvY2VzcyBhdHRlbXB0aW5nIHRvIGxhdW5j
aCB0aGUgV2ViQXV0aG4gWFBDIHNlcnZpY2UgaXMgZW50aXRsZWQgYXMgYSBmdWxsIHdlYiBicm93
c2VyLiBXZQorICAgICAgICBzaG91bGQgYWxzbyBlbnN1cmUgdGhhdCB0aGUgcHJvY2VzcyByZXF1
ZXN0aW5nIFdlYkF1dGhuIG9wZXJhdGlvbnMgb3ZlciBXZWJLaXQgQ29yZUlQQyBpcyB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBXZWJBdXRobiB0
ZXN0cy4KKworICAgICAgICAqIFBsYXRmb3JtL0xvZ2dpbmcuaDogQWRkIFdlYkF1dGhuIGNhdGVn
b3J5LgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5tbToK
KyAgICAgICAgKFdlYktpdDo6aXNJbldlYktpdENoaWxkUHJvY2Vzcyk6IFJlY29nbml6ZSAnY29t
LmFwcGxlLldlYktpdC5XZWJBdXRobicgYXMgYSBXZWJLaXQgc3ViLXByb2Nlc3MuCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6Omhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCk6IEFkZGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOiBBZGQgYSBu
ZXcgTUVTU0FHRV9DSEVDSyB0aGF0IHRoZSBwcm9jZXNzIHJlcXVlc3RpbmcgYSBXZWJBdXRobgor
ICAgICAgICBwcm9jZXNzIGNvbm5lY3Rpb24gaXMgYSBXZWJDb250ZW50IHByb2Nlc3MuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFdlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyk6IEFkZCBzb21lIGxvZ2dpbmcu
CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oOgorICAgICAgICAq
IFdlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyk6
IEVuc3VyZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiBpbnZva2luZyB0aGUgV2ViQXV0aG4gWFBDIHNl
cnZpY2UKKyAgICAgICAgaXMgZW50aXRsZWQgYXMgYSBkZWZhdWx0IHdlYiBicm93c2VyLgorICAg
ICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJv
Y2Vzcyk6IFN0dWIuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3M6OmVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorCiAyMDIx
LTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb252
ZXJ0IFdlYkNvcmU6OlNuYXBzaG90T3B0aW9ucyBpbnRvIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1IYXZlLmgKaW5kZXggNmUyMGQ2ZjhmMTIyMjYyYjJkYzQ4MDk4YzQ4ZWQwNjUzNjZhYmIyZC4u
ZjYxM2E1MWQ1OTYzNGQzYTg5YmM1ZWVlZTM1NTE3MGRiODIxNTMzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmgKQEAgLTEwMDEsMyArMTAwMSw3IEBACiAgICAgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNU
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApKQogI2RlZmlu
ZSBIQVZFX0NPUkVfVEVYVF9TQklYX0lNQUdFX1NJWkVfRlVOQ1RJT05TIDEKICNlbmRpZgorCisj
aWYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRP
UikpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKKyNkZWZpbmUgSEFWRV9QQUNfU0hB
UkVEX1JFR0lPTl9JRCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29h
L0VudGl0bGVtZW50cy5oIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmgKaW5k
ZXggMDA2ODk0MTNiZDg5ZTRlOTNiOTc4NjdjNDk2OWE2NWQ1ZjZlMGQ3MC4uOWRjMmY2MjdmNDFk
YjY3MzFlZTYxYzRkZWQ0MjUzODgzMzE3NDkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Y29jb2EvRW50aXRsZW1lbnRzLmgKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1l
bnRzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0zMSw5ICszMSwxMiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorY2xhc3MgU3Ry
aW5nOworCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBoYXNFbnRpdGxlbWVudChhdWRpdF90b2tl
bl90LCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBo
YXNFbnRpdGxlbWVudCh4cGNfY29ubmVjdGlvbl90LCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7
CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoY29uc3QgY2hh
ciogZW50aXRsZW1lbnQpOworV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFzRW50aXRsZW1lbnRW
YWx1ZShhdWRpdF90b2tlbl90LCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCwgY29uc3QgY2hhciog
dmFsdWUpOwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvY29jb2EvRW50aXRsZW1lbnRzLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1l
bnRzLm1tCmluZGV4IDE2NWRkNWI2ZTIyMTlkMzVlMTM2NGRlNTA1YWM4MWY0MmQ2NTExZTQuLmMz
OTQ3YTgxNjMwMDNlODVmOTlmYjY2ZjgwNDk3MDg5MWVkOTMxODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9FbnRpdGxlbWVudHMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
OC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjgsNyArMjgsOSBAQAogCiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQ
dHIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9jZi9UeXBlQ2Fz
dHNDRi5oPgogI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oPgorI2ltcG9ydCA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC01Nyw0ICs1OSwx
NSBAQCBib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkK
ICAgICByZXR1cm4gaGFzRW50aXRsZW1lbnQoYWRvcHRDRihTZWNUYXNrQ3JlYXRlRnJvbVNlbGYo
a0NGQWxsb2NhdG9yRGVmYXVsdCkpLmdldCgpLCBlbnRpdGxlbWVudCk7CiB9CiAKK2Jvb2wgaGFz
RW50aXRsZW1lbnRWYWx1ZShhdWRpdF90b2tlbl90IHRva2VuLCBjb25zdCBjaGFyKiBlbnRpdGxl
bWVudCwgY29uc3QgY2hhciogdmFsdWUpCit7CisgICAgYXV0byBzZWNUYXNrRm9yVG9rZW4gPSBh
ZG9wdENGKFNlY1Rhc2tDcmVhdGVXaXRoQXVkaXRUb2tlbihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB0
b2tlbikpOworICAgIGlmICghc2VjVGFza0ZvclRva2VuKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgYXV0byBzdHJpbmcgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmdOb0Nv
cHkoa0NGQWxsb2NhdG9yRGVmYXVsdCwgZW50aXRsZW1lbnQsIGtDRlN0cmluZ0VuY29kaW5nQVND
SUksIGtDRkFsbG9jYXRvck51bGwpKTsKKyAgICBTdHJpbmcgZW50aXRsZW1lbnRWYWx1ZSA9IGR5
bmFtaWNfY2ZfY2FzdDxDRlN0cmluZ1JlZj4oYWRvcHRDRihTZWNUYXNrQ29weVZhbHVlRm9yRW50
aXRsZW1lbnQoc2VjVGFza0ZvclRva2VuLmdldCgpLCBzdHJpbmcuZ2V0KCksIG51bGxwdHIpKS5n
ZXQoKSk7CisgICAgcmV0dXJuIGVudGl0bGVtZW50VmFsdWUgPT0gdmFsdWU7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCBmYTgyNzJmYjI5OTQ4
YjdjMDI2OGE4Y2MyZTM1ZTBjOTZmOTlkZmUyLi4xZjU1NDA0ZGYwZjdhNTJkYTU2Y2U4ZDg1MDc2
YTY0MzIyY2Q0NTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtMTAxLDYgKzEwMSw3
IEBAIGV4dGVybiAiQyIgewogICAgIE0oVmlld3BvcnRTaXppbmcpIFwKICAgICBNKFZpcnR1YWxN
ZW1vcnkpIFwKICAgICBNKFZpc2libGVSZWN0cykgXAorICAgIE0oV2ViQXV0aG4pIFwKICAgICBN
KFdlYkdMKSBcCiAgICAgTShXZWJSVEMpIFwKICAgICBNKFdoZWVsRXZlbnRzKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5t
bSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1t
CmluZGV4IDA2ZmQ5Y2VlNzEyYTA4NWY2ODA4MjhkZjcwMTk5OTdmZjBiNGE0ZjguLjE1YmI0NjVl
MGY5YzIxOGNjMWE0NjZiZjdkOTkzNDVjZWQwODUwYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCkBAIC03Niw3ICs3
Niw4IEBAIHN0YXRpYyBib29sIGlzSW5XZWJLaXRDaGlsZFByb2Nlc3MoKQogICAgICAgICBOU1N0
cmluZyAqYnVuZGxlSWRlbnRpZmllciA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRl
bnRpZmllcl07CiAgICAgICAgIGlzSW5TdWJQcm9jZXNzID0gW2J1bmRsZUlkZW50aWZpZXIgaGFz
UHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Il0KICAgICAgICAgICAgIHx8IFti
dW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyJd
Ci0gICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20uYXBwbGUu
V2ViS2l0LkdQVSJdOworICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZpZXIgaGFzUHJlZml4
OkAiY29tLmFwcGxlLldlYktpdC5HUFUiXQorICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZp
ZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJBdXRobiJdOwogICAgIH0pOwogCiAg
ICAgcmV0dXJuIGlzSW5TdWJQcm9jZXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCBjNzI0Y2Y0NGUwYzM4YWE0
YTAzNzU4MTczNDA0Mzg0NDFmOTUzOWYzLi4zOGQ5MzFlNTA0YmQwZGUzZThiMDI1NTg3NDg2ZjRk
NWNkNzg0NjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtNDEsNiArNDEsNyBAQAogI2ltcG9ydCA8c3lzL3N5
c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvU2Nv
cGUuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9j
b2NvYS9WZWN0b3JDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5o
PgogCkBAIC0yOTgsNCArMjk5LDI5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKCkKICAgICB9KTsKIH0KIAorYm9vbCBXZWJQcm9jZXNzUHJv
eHk6Omhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCgpCit7CisgICAgaWYgKCFoYXNDb25uZWN0aW9u
KCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKKyNpZiBIQVZFKFBBQ19TSEFSRURfUkVHSU9OX0lEKQorICAgIGF1dG8gYXVk
aXRUb2tlbiA9IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAgIGlmICghYXVkaXRU
b2tlbikgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2VzcywgIlVuYWJsZSB0byBnZXQgcGFyZW50IHdlYiBwcm9jZXNzIGF1ZGl0
IHRva2VuIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICAvLyBDb25maXJt
IHRoYXQgdGhlIGNvbm5lY3Rpb24gaXMgZnJvbSBhIFdlYkNvbnRlbnQgcHJvY2VzczoKKyAgICBp
ZiAoIVdURjo6aGFzRW50aXRsZW1lbnRWYWx1ZShhdWRpdFRva2VuLnZhbHVlKCksICJjb20uYXBw
bGUucGFjLnNoYXJlZF9yZWdpb25faWQiLCAiV2ViQ29udGVudCIpKSB7CisgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFByb2Nlc3MsICJQcm9jZXNzIGlzIG5vdCBhbiBlbnRpdGxlZCBXZWJDb250
ZW50IHByb2Nlc3MuIFByb2Nlc3Mgc2hhcmVkX3JlZ2lvbl9pZCBpcyBpbmNvcnJlY3QuIik7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiB0cnVlOwor
fQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRl
eCA0NDcyMTZiNWM5ZmE0Mjg2NjBmMDMwZDdhOTU5OWEyZTJjNzhmYzVmLi5lYjI5N2Y2ZDI2ZTE0
NzYxZjRlYjM4ODQ0OTk0NmM3MjllYmVhZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDAsNiArMTAwLDcgQEAKIAogI2RlZmluZSBNRVNT
QUdFX0NIRUNLKGFzc2VydGlvbikgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgY29ubmVj
dGlvbigpKQogI2RlZmluZSBNRVNTQUdFX0NIRUNLX1VSTCh1cmwpIE1FU1NBR0VfQ0hFQ0tfQkFT
RShjaGVja1VSTFJlY2VpdmVkRnJvbVdlYlByb2Nlc3ModXJsKSwgY29ubmVjdGlvbigpKQorI2Rl
ZmluZSBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oYXNzZXJ0aW9uLCBjb21wbGV0aW9uKSBNRVNT
QUdFX0NIRUNLX0NPTVBMRVRJT05fQkFTRShhc3NlcnRpb24sIGNvbm5lY3Rpb24oKSwgY29tcGxl
dGlvbikKIAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAg
LTc5Niw2ICs3OTcsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4aXRlZChH
UFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQogI2lmIEVOQUJMRShXRUJfQVVUSE4p
CiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbihNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpEZWxh
eWVkUmVwbHkmJiByZXBseSkKIHsKKyAgICBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04oaGFzQ29y
cmVjdFBBQ0VudGl0bGVtZW50KCksIHJlcGx5KHsgfSkpOwogICAgIG1fcHJvY2Vzc1Bvb2wtPmdl
dFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKnRoaXMsIFdURk1vdmUocmVwbHkpKTsKIH0KICNl
bmRpZgpAQCAtMTk5OSwzICsyMDAxLDQgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnN5c3RlbUJl
ZXAoKQogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwogI3VuZGVmIE1FU1NBR0VfQ0hFQ0tfVVJMCisj
dW5kZWYgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oCmluZGV4IDU1YzU4YzQzY2E3YTk2YTdjOTM2ODE2MTZlMzgyODY2MGIx
MDZmN2MuLjM4OGNlNzAwNDk3YTIyZWY5YzU4OGVlNGU1NjJmNmZmMmI2YTdmYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTI5LDYgKzUyOSwxMCBA
QCBwcml2YXRlOgogICAgIHZvaWQgaXNBWEF1dGhlbnRpY2F0ZWQoYXVkaXRfdG9rZW5fdCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIGJvb2wgaGFzQ29ycmVjdFBBQ0VudGl0bGVtZW50KCk7CisjZW5kaWYKKwogICAg
IGVudW0gY2xhc3MgSXNXZWFrIHsgTm8sIFllcyB9OwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFdlYWtPclN0cm9uZ1B0ciB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXggYjM1NTg1ZmI1ODYx
YjU5MjQzNjI3N2RmMjQ0ZDExMjRmMDA2MDAzYi4uY2Q0NjFkZTkyZDEzYmE0ZjM3MDM1MTIzYWI1
NDdmNDA2ODllOTYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
V2ViQXV0aG5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTEzNiw2ICsxMzYsMTIgQEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6
OnNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24oV2ViQ29yZTo6TW9ja1dlYkF1
dGgKICAgICBzdGF0aWNfY2FzdDxNb2NrQXV0aGVudGljYXRvck1hbmFnZXIqPigmbV9hdXRoZW50
aWNhdG9yTWFuYWdlciktPnNldFRlc3RDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlv
bikpOwogfQogCisjaWYgIVBMQVRGT1JNKENPQ09BKQordm9pZCBXZWJBdXRoblByb2Nlc3M6OnBs
YXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyhjb25zdCBXZWJBdXRoblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmKQoreworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJBdXRo
blByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKaW5kZXggNWFjOWZjODI5YTVjMDQ0YWJlNmM4Y2Mz
NjM3YzY2N2ZhMjlhNDZiMy4uNjY3NTcxMGVmNzYyYTUzMDdlMTM5Y2Y5Mjg0MTgwYjdlNWQ3ZWJj
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNz
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNb2NrV2ViQXV0aGVudGljYXRp
b25Db25maWd1cmF0aW9uKFdlYkNvcmU6Ok1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRp
b24mJik7CiAKIHByaXZhdGU6CisgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblBy
b2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdm9p
ZCBsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsKTsKIAogICAgIC8vIEF1eGlsaWFyeVByb2Nlc3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblBy
b2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Q
cm9jZXNzSU9TLm1tCmluZGV4IGNiNGEwZjI0OTMyZmEyNmE3MzU0NjQ4N2YyNTlkYjk5ZjVjYWQ4
OWYuLjU1YjM3ZDRlZjg4ZGQyODRhNzI0OWU0MGI2MWZiNGExOGI5ODkxYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lP
Uy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKSAmJiBQTEFURk9STShJ
T1NfRkFNSUxZKQogCisjaW1wb3J0ICJEZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5oIgogI2ltcG9y
dCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhy
ZWFkU3lzdGVtSW50ZXJmYWNlLmg+CiAKQEAgLTQ4LDYgKzQ5LDExIEBAIHZvaWQgV2ViQXV0aG5Q
cm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhCiB7CiB9CiAKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxp
emVXZWJBdXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQoreworICAgIFJFTEVBU0VfQVNTRVJUKGlzUGFyZW50UHJvY2Vzc0FGdWxs
V2ViQnJvd3NlcigqdGhpcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVVUSE4pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1t
IGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5t
bQppbmRleCBkMWFiMzM4NDU5NGZkZDI5OTBjZTcyZGZlYmYxMDJjNGEyNTE1Nzc1Li5hOWE1YzBi
OGM3NzliNzkyZWM0ZmJjMmFiNjMwNGYyMDZiZjMxNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjYsNiAr
NjYsMTAgQEAgdm9pZCBXZWJBdXRoblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IEF1
eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmEKICAgICBBdXhpbGlhcnlQcm9jZXNzOjpp
bml0aWFsaXplU2FuZGJveChwYXJhbWV0ZXJzLCBzYW5kYm94UGFyYW1ldGVycyk7CiB9CiAKK3Zv
aWQgV2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJBdXRoblByb2Nlc3MoY29u
c3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikKK3sKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDc4ODI3ODk0M2E4MTdmM2M0ZGVmNGFkMDhl
Njg1ZmUzYTYzOTkwN2UuLmU4MzIyNmRlNDhjMTA3YTFiZGY1ODVjZGI2NTg0MGExNzFjNWZlZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMjk4LDggKzEy
OTgsMTAgQEAgc3RhdGljIFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGdldFdlYkF1dGhu
UHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW8KICAgICBpZiAoIWNvbm5lY3Rpb24uc2Vu
ZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVj
dGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyksIDApKSB7CiAgICAgICAgIC8vIElmIHdlIGZh
aWxlZCB0aGUgZmlyc3QgdGltZSwgcmV0cnkgb25jZS4gVGhlIGF0dGFjaG1lbnQgbWF5IGhhdmUg
YmVjb21lIGludmFsaWQKICAgICAgICAgLy8gYmVmb3JlIGl0IHdhcyByZWNlaXZlZCBieSB0aGUg
d2ViIHByb2Nlc3MgaWYgdGhlIG5ldHdvcmsgcHJvY2VzcyBjcmFzaGVkLgotICAgICAgICBpZiAo
IWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0
aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyksIDApKQorICAgICAg
ICBpZiAoIWNvbm5lY3Rpb24uc2VuZFN5bmMoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0
V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpH
ZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOjpSZXBseShjb25uZWN0aW9uSW5mbyksIDApKSB7
CisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJBdXRobiwgImdldFdlYkF1dGhuUHJv
Y2Vzc0Nvbm5lY3Rpb246IFVuYWJsZSB0byBjb25uZWN0IHRvIFdlYkF1dGhuIHByb2Nlc3MgKFRl
cm1pbmF0aW5nKSIpOwogICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgfQogICAgIH0KIAog
ICAgIHJldHVybiBjb25uZWN0aW9uSW5mbzsKQEAgLTEzMTgsOCArMTMyMCwxMCBAQCBXZWJBdXRo
blByb2Nlc3NDb25uZWN0aW9uJiBXZWJQcm9jZXNzOjplbnN1cmVXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKCkKICAgICAgICAgaWYgKCFJUEM6OkNvbm5lY3Rpb246OmlkZW50aWZpZXJJc1ZhbGlk
KGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkpCiAgICAgICAgICAgICBjb25uZWN0aW9uSW5m
byA9IGdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCkpOwogCi0gICAgICAgIGlmICghSVBDOjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNWYWxpZChj
b25uZWN0aW9uSW5mby5pZGVudGlmaWVyKCkpKQorICAgICAgICBpZiAoIUlQQzo6Q29ubmVjdGlv
bjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRpZmllcigpKSkgeworICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViQXV0aG4sICJlbnN1cmVXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uOiBDb25uZWN0aW9uIGlkZW50aWZpZXIgZm9yIFdlYkF1dGhuIHByb2Nlc3Mg
aXMgaW52YWxpZC4iKTsKICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgIH0KIAogICAgICAg
ICBtX3dlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24gPSBXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9u
OjpjcmVhdGUoY29ubmVjdGlvbkluZm8ucmVsZWFzZUlkZW50aWZpZXIoKSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431389</attachid>
            <date>2021-06-14 17:16:15 -0700</date>
            <delta_ts>2021-06-15 09:46:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226772-20210614171614.patch</filename>
            <type>text/plain</type>
            <size>17760</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDVlZjMwMWIzY2Y3NzBlNjljYWI1
OTA5MGQ0YmE5ZDM5YWJiNWUuLjk2YmJmMDJiNjgzNDUzM2Y3M2I2NmE5NjBkNzMzNGQ0ZmI5Mzk3
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBIYXJkZW4gV2ViQXV0aG4gcHJvY2Vz
cyBieSByZXN0cmljdGluZyB0byBicm93c2VyLWVudGl0bGVkIHByb2Nlc3NlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzcyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDcyMTg3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBBZGQgYSBuZXcgZW50aXRsZW1lbnQgdXRpbGl0eSB0aGF0IHJldHVybnMg
dGhlIFN0cmluZyB2YWx1ZSBvZiBhIGdpdmVuIGVudGl0bGVtZW50IGZvcgorICAgICAgICB0aGUg
cHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBhdWRpdCB0b2tlbi4KKworICAgICAgICAqIHd0Zi9j
b2NvYS9FbnRpdGxlbWVudHMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvRW50aXRsZW1lbnRzLm1t
OgorICAgICAgICAoV1RGOjpoYXNFbnRpdGxlbWVudFZhbHVlKToKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm1IYXZlLmg6IEFkZCBpdGVtIGZvciBQQUMgc2hhcmVkIHJlZ2lvbiBmZWF0dXJlLgorCiAy
MDIxLTA2LTA3ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbV1RGXVtHU3RyZWFtZXJdIEZpeCBjbGFuZyBUU0Egd2FybmluZ3MgaW4gV1RGOjpEYXRh
TXV0ZXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggMjE0YWRhZWMwYjcxOGM4ZTExNmM4YTNiZjJmNjFlMDUyYjc0MjY2
OS4uMDkyYTkyNzNiOWM4MGY5OWQ4ZWJjMjNjZGU1NzlmOTIyM2YzYjEyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzNyBAQAorMjAyMS0wNi0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KKworICAgICAgICBbQ29jb2FdIEhhcmRlbiBXZWJBdXRobiBwcm9jZXNzIGJ5IHJlc3Ry
aWN0aW5nIHRvIGJyb3dzZXItZW50aXRsZWQgcHJvY2Vzc2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NzIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc0NzIxODc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFdlIHNob3VsZCBlbnN1cmUgdGhhdCBhbnkgcHJvY2VzcyBhdHRlbXB0aW5nIHRvIGxhdW5j
aCB0aGUgV2ViQXV0aG4gWFBDIHNlcnZpY2UgaXMgZW50aXRsZWQgYXMgYSBmdWxsIHdlYiBicm93
c2VyLiBXZQorICAgICAgICBzaG91bGQgYWxzbyBlbnN1cmUgdGhhdCB0aGUgcHJvY2VzcyByZXF1
ZXN0aW5nIFdlYkF1dGhuIG9wZXJhdGlvbnMgb3ZlciBXZWJLaXQgQ29yZUlQQyBpcyB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBXZWJBdXRobiB0
ZXN0cy4KKworICAgICAgICAqIFBsYXRmb3JtL0xvZ2dpbmcuaDogQWRkIFdlYkF1dGhuIGNhdGVn
b3J5LgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5tbToK
KyAgICAgICAgKFdlYktpdDo6aXNJbldlYktpdENoaWxkUHJvY2Vzcyk6IFJlY29nbml6ZSAnY29t
LmFwcGxlLldlYktpdC5XZWJBdXRobicgYXMgYSBXZWJLaXQgc3ViLXByb2Nlc3MuCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6Omhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCk6IEFkZGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUHJveHk6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOiBBZGQgYSBu
ZXcgTUVTU0FHRV9DSEVDSyB0aGF0IHRoZSBwcm9jZXNzIHJlcXVlc3RpbmcgYSBXZWJBdXRobgor
ICAgICAgICBwcm9jZXNzIGNvbm5lY3Rpb24gaXMgYSBXZWJDb250ZW50IHByb2Nlc3MuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFdlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoblByb2Nl
c3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyk6IEFkZCBzb21lIGxvZ2dpbmcu
CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oOgorICAgICAgICAq
IFdlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyk6
IEVuc3VyZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiBpbnZva2luZyB0aGUgV2ViQXV0aG4gWFBDIHNl
cnZpY2UKKyAgICAgICAgaXMgZW50aXRsZWQgYXMgYSBkZWZhdWx0IHdlYiBicm93c2VyLgorICAg
ICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJBdXRoblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYkF1dGhuUHJv
Y2Vzcyk6IFN0dWIuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Z2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3M6OmVuc3VyZVdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24pOgorCiAyMDIx
LTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb252
ZXJ0IFdlYkNvcmU6OlNuYXBzaG90T3B0aW9ucyBpbnRvIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1IYXZlLmgKaW5kZXggNmUyMGQ2ZjhmMTIyMjYyYjJkYzQ4MDk4YzQ4ZWQwNjUzNjZhYmIyZC4u
ZjYxM2E1MWQ1OTYzNGQzYTg5YmM1ZWVlZTM1NTE3MGRiODIxNTMzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmgKQEAgLTEwMDEsMyArMTAwMSw3IEBACiAgICAgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNU
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApKQogI2RlZmlu
ZSBIQVZFX0NPUkVfVEVYVF9TQklYX0lNQUdFX1NJWkVfRlVOQ1RJT05TIDEKICNlbmRpZgorCisj
aWYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRP
UikpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKKyNkZWZpbmUgSEFWRV9QQUNfU0hB
UkVEX1JFR0lPTl9JRCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29h
L0VudGl0bGVtZW50cy5oIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmgKaW5k
ZXggMDA2ODk0MTNiZDg5ZTRlOTNiOTc4NjdjNDk2OWE2NWQ1ZjZlMGQ3MC4uOWRjMmY2MjdmNDFk
YjY3MzFlZTYxYzRkZWQ0MjUzODgzMzE3NDkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Y29jb2EvRW50aXRsZW1lbnRzLmgKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1l
bnRzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0zMSw5ICszMSwxMiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorY2xhc3MgU3Ry
aW5nOworCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBoYXNFbnRpdGxlbWVudChhdWRpdF90b2tl
bl90LCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBo
YXNFbnRpdGxlbWVudCh4cGNfY29ubmVjdGlvbl90LCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7
CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoY29uc3QgY2hh
ciogZW50aXRsZW1lbnQpOworV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFzRW50aXRsZW1lbnRW
YWx1ZShhdWRpdF90b2tlbl90LCBjb25zdCBjaGFyKiBlbnRpdGxlbWVudCwgY29uc3QgY2hhciog
dmFsdWUpOwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvY29jb2EvRW50aXRsZW1lbnRzLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1l
bnRzLm1tCmluZGV4IDE2NWRkNWI2ZTIyMTlkMzVlMTM2NGRlNTA1YWM4MWY0MmQ2NTExZTQuLmMz
OTQ3YTgxNjMwMDNlODVmOTlmYjY2ZjgwNDk3MDg5MWVkOTMxODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9FbnRpdGxlbWVudHMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
OC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjgsNyArMjgsOSBAQAogCiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQ
dHIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9jZi9UeXBlQ2Fz
dHNDRi5oPgogI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oPgorI2ltcG9ydCA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC01Nyw0ICs1OSwx
NSBAQCBib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkK
ICAgICByZXR1cm4gaGFzRW50aXRsZW1lbnQoYWRvcHRDRihTZWNUYXNrQ3JlYXRlRnJvbVNlbGYo
a0NGQWxsb2NhdG9yRGVmYXVsdCkpLmdldCgpLCBlbnRpdGxlbWVudCk7CiB9CiAKK2Jvb2wgaGFz
RW50aXRsZW1lbnRWYWx1ZShhdWRpdF90b2tlbl90IHRva2VuLCBjb25zdCBjaGFyKiBlbnRpdGxl
bWVudCwgY29uc3QgY2hhciogdmFsdWUpCit7CisgICAgYXV0byBzZWNUYXNrRm9yVG9rZW4gPSBh
ZG9wdENGKFNlY1Rhc2tDcmVhdGVXaXRoQXVkaXRUb2tlbihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB0
b2tlbikpOworICAgIGlmICghc2VjVGFza0ZvclRva2VuKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgYXV0byBzdHJpbmcgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmdOb0Nv
cHkoa0NGQWxsb2NhdG9yRGVmYXVsdCwgZW50aXRsZW1lbnQsIGtDRlN0cmluZ0VuY29kaW5nQVND
SUksIGtDRkFsbG9jYXRvck51bGwpKTsKKyAgICBTdHJpbmcgZW50aXRsZW1lbnRWYWx1ZSA9IGR5
bmFtaWNfY2ZfY2FzdDxDRlN0cmluZ1JlZj4oYWRvcHRDRihTZWNUYXNrQ29weVZhbHVlRm9yRW50
aXRsZW1lbnQoc2VjVGFza0ZvclRva2VuLmdldCgpLCBzdHJpbmcuZ2V0KCksIG51bGxwdHIpKS5n
ZXQoKSk7CisgICAgcmV0dXJuIGVudGl0bGVtZW50VmFsdWUgPT0gdmFsdWU7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCBmYTgyNzJmYjI5OTQ4
YjdjMDI2OGE4Y2MyZTM1ZTBjOTZmOTlkZmUyLi4xZjU1NDA0ZGYwZjdhNTJkYTU2Y2U4ZDg1MDc2
YTY0MzIyY2Q0NTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtMTAxLDYgKzEwMSw3
IEBAIGV4dGVybiAiQyIgewogICAgIE0oVmlld3BvcnRTaXppbmcpIFwKICAgICBNKFZpcnR1YWxN
ZW1vcnkpIFwKICAgICBNKFZpc2libGVSZWN0cykgXAorICAgIE0oV2ViQXV0aG4pIFwKICAgICBN
KFdlYkdMKSBcCiAgICAgTShXZWJSVEMpIFwKICAgICBNKFdoZWVsRXZlbnRzKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9EZWZhdWx0V2ViQnJvd3NlckNoZWNrcy5t
bSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1t
CmluZGV4IDA2ZmQ5Y2VlNzEyYTA4NWY2ODA4MjhkZjcwMTk5OTdmZjBiNGE0ZjguLjE1YmI0NjVl
MGY5YzIxOGNjMWE0NjZiZjdkOTkzNDVjZWQwODUwYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tCkBAIC03Niw3ICs3
Niw4IEBAIHN0YXRpYyBib29sIGlzSW5XZWJLaXRDaGlsZFByb2Nlc3MoKQogICAgICAgICBOU1N0
cmluZyAqYnVuZGxlSWRlbnRpZmllciA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRl
bnRpZmllcl07CiAgICAgICAgIGlzSW5TdWJQcm9jZXNzID0gW2J1bmRsZUlkZW50aWZpZXIgaGFz
UHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Il0KICAgICAgICAgICAgIHx8IFti
dW5kbGVJZGVudGlmaWVyIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyJd
Ci0gICAgICAgICAgICB8fCBbYnVuZGxlSWRlbnRpZmllciBoYXNQcmVmaXg6QCJjb20uYXBwbGUu
V2ViS2l0LkdQVSJdOworICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZpZXIgaGFzUHJlZml4
OkAiY29tLmFwcGxlLldlYktpdC5HUFUiXQorICAgICAgICAgICAgfHwgW2J1bmRsZUlkZW50aWZp
ZXIgaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJBdXRobiJdOwogICAgIH0pOwogCiAg
ICAgcmV0dXJuIGlzSW5TdWJQcm9jZXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCBjNzI0Y2Y0NGUwYzM4YWE0
YTAzNzU4MTczNDA0Mzg0NDFmOTUzOWYzLi4zZjY4MWNjM2JmMjk0MTczNjhkZDc0MGFlOTFhZGMw
NmRmMzc1MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtNDEsNiArNDEsNyBAQAogI2ltcG9ydCA8c3lzL3N5
c2N0bC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvU2Nv
cGUuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9j
b2NvYS9WZWN0b3JDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5o
PgogCkBAIC0yOTgsNCArMjk5LDMxIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZW5kQXVkaW9D
b21wb25lbnRSZWdpc3RyYXRpb25zKCkKICAgICB9KTsKIH0KIAorYm9vbCBXZWJQcm9jZXNzUHJv
eHk6Omhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCgpCit7CisgICAgaWYgKCFoYXNDb25uZWN0aW9u
KCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKKyNpZiBIQVZFKFBBQ19TSEFSRURfUkVHSU9OX0lEKQorICAgIGF1dG8gYXVk
aXRUb2tlbiA9IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAgIGlmICghYXVkaXRU
b2tlbikgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2VzcywgIlVuYWJsZSB0byBnZXQgcGFyZW50IHdlYiBwcm9jZXNzIGF1ZGl0
IHRva2VuIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorICAgIC8vIENvbmZpcm0gdGhhdCB0aGUgY29ubmVjdGlvbiBpcyBmcm9t
IGEgV2ViQ29udGVudCBwcm9jZXNzOgorICAgIGlmICghV1RGOjpoYXNFbnRpdGxlbWVudFZhbHVl
KGF1ZGl0VG9rZW4udmFsdWUoKSwgImNvbS5hcHBsZS5wYWMuc2hhcmVkX3JlZ2lvbl9pZCIsICJX
ZWJDb250ZW50IikpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIlByb2Nl
c3MgaXMgbm90IGFuIGVudGl0bGVkIFdlYkNvbnRlbnQgcHJvY2Vzcy4gUHJvY2VzcyBzaGFyZWRf
cmVnaW9uX2lkIGlzIGluY29ycmVjdC4iKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggNDQ3MjE2YjVjOWZhNDI4NjYw
ZjAzMGQ3YTk1OTlhMmUyYzc4ZmM1Zi4uZWIyOTdmNmQyNmUxNDc2MWY0ZWIzODg0NDk5NDZjNzI5
ZWJlYWQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMTAwLDYgKzEwMCw3IEBACiAKICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24p
IE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIGNvbm5lY3Rpb24oKSkKICNkZWZpbmUgTUVT
U0FHRV9DSEVDS19VUkwodXJsKSBNRVNTQUdFX0NIRUNLX0JBU0UoY2hlY2tVUkxSZWNlaXZlZEZy
b21XZWJQcm9jZXNzKHVybCksIGNvbm5lY3Rpb24oKSkKKyNkZWZpbmUgTUVTU0FHRV9DSEVDS19D
T01QTEVUSU9OKGFzc2VydGlvbiwgY29tcGxldGlvbikgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9O
X0JBU0UoYXNzZXJ0aW9uLCBjb25uZWN0aW9uKCksIGNvbXBsZXRpb24pCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC03OTYsNiArNzk3LDcgQEAgdm9p
ZCBXZWJQcm9jZXNzUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQoR1BVUHJvY2Vzc1Rlcm1pbmF0aW9u
UmVhc29uIHJlYXNvbikKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OmdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7
CisgICAgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OKGhhc0NvcnJlY3RQQUNFbnRpdGxlbWVudCgp
LCByZXBseSh7IH0pKTsKICAgICBtX3Byb2Nlc3NQb29sLT5nZXRXZWJBdXRoblByb2Nlc3NDb25u
ZWN0aW9uKCp0aGlzLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CiAjZW5kaWYKQEAgLTE5OTksMyArMjAw
MSw0IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzeXN0ZW1CZWVwKCkKIAogI3VuZGVmIE1FU1NB
R0VfQ0hFQ0sKICN1bmRlZiBNRVNTQUdFX0NIRUNLX1VSTAorI3VuZGVmIE1FU1NBR0VfQ0hFQ0tf
Q09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRl
eCA1NWM1OGM0M2NhN2E5NmE3YzkzNjgxNjE2ZTM4Mjg2NjBiMTA2ZjdjLi4zODhjZTcwMDQ5N2Ey
MmVmOWM1ODhlZTRlNTYyZjZmZjJiNmE3ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTUyOSw2ICs1MjksMTAgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGlzQVhBdXRoZW50aWNhdGVkKGF1ZGl0X3Rva2VuX3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBib29sIGhhc0Nv
cnJlY3RQQUNFbnRpdGxlbWVudCgpOworI2VuZGlmCisKICAgICBlbnVtIGNsYXNzIElzV2VhayB7
IE5vLCBZZXMgfTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrT3JTdHJvbmdQ
dHIgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9j
ZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9X
ZWJBdXRoblByb2Nlc3MuY3BwCmluZGV4IGIzNTU4NWZiNTg2MWI1OTI0MzYyNzdkZjI0NGQxMTI0
ZjAwNjAwM2IuLmNkNDYxZGU5MmQxM2JhNGYzNzAzNTEyM2FiNTQ3ZjQwNjg5ZTk2MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0x
MzYsNiArMTM2LDEyIEBAIHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpzZXRNb2NrV2ViQXV0aGVudGlj
YXRpb25Db25maWd1cmF0aW9uKFdlYkNvcmU6Ok1vY2tXZWJBdXRoCiAgICAgc3RhdGljX2Nhc3Q8
TW9ja0F1dGhlbnRpY2F0b3JNYW5hZ2VyKj4oJm1fYXV0aGVudGljYXRvck1hbmFnZXIpLT5zZXRU
ZXN0Q29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIAorI2lmICFQTEFU
Rk9STShDT0NPQSkKK3ZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJB
dXRoblByb2Nlc3MoY29uc3QgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikKK3sK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShX
RUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRoblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJv
Y2Vzcy5oCmluZGV4IDVhYzlmYzgyOWE1YzA0NGFiZTZjOGNjMzYzN2M2NjdmYTI5YTQ2YjMuLjY2
NzU3MTBlZjc2MmE1MzA3ZTEzOWNmOTI4NDE4MGI3ZTVkN2ViY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDYgKzY1LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihXZWJD
b3JlOjpNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uJiYpOwogCiBwcml2YXRlOgor
ICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKGNvbnN0IFdlYkF1dGhu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZvaWQgbG93TWVtb3J5SGFuZGxlcihD
cml0aWNhbCk7CiAKICAgICAvLyBBdXhpbGlhcnlQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tIGIvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvaW9zL1dlYkF1dGhuUHJvY2Vzc0lPUy5tbQppbmRleCBj
YjRhMGYyNDkzMmZhMjZhNzM1NDY0ODdmMjU5ZGI5OWY1Y2FkODlmLi41NWIzN2Q0ZWY4OGRkMjg0
YTcyNDllNDBiNjFmYjRhMThiOTg5MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9pb3MvV2ViQXV0aG5Qcm9jZXNzSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViQXV0aG5Qcm9jZXNzL2lvcy9XZWJBdXRoblByb2Nlc3NJT1MubW0KQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNiArMjgsNyBAQAog
CiAjaWYgRU5BQkxFKFdFQl9BVVRITikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2ltcG9y
dCAiRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MuaCIKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVt
ZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5o
PgogCkBAIC00OCw2ICs0OSwxMSBAQCB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVNh
bmRib3goY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYQogewogfQogCit2
b2lkIFdlYkF1dGhuUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKGNv
bnN0IFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyAg
ICBSRUxFQVNFX0FTU0VSVChpc1BhcmVudFByb2Nlc3NBRnVsbFdlYkJyb3dzZXIoKnRoaXMpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhO
KSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvbWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2Vi
QXV0aG5Qcm9jZXNzL21hYy9XZWJBdXRoblByb2Nlc3NNYWMubW0KaW5kZXggZDFhYjMzODQ1OTRm
ZGQyOTkwY2U3MmRmZWJmMTAyYzRhMjUxNTc3NS4uYTlhNWMwYjhjNzc5Yjc5MmVjNGZiYzJhYjYz
MDRmMjA2YmYzMTc0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
bWFjL1dlYkF1dGhuUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9tYWMvV2ViQXV0aG5Qcm9jZXNzTWFjLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY2LDYgKzY2LDEwIEBAIHZvaWQgV2ViQXV0
aG5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhCiAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gocGFy
YW1ldGVycywgc2FuZGJveFBhcmFtZXRlcnMpOwogfQogCit2b2lkIFdlYkF1dGhuUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViQXV0aG5Qcm9jZXNzKGNvbnN0IFdlYkF1dGhuUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYpCit7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5k
aWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAppbmRleCA3ODgyNzg5NDNhODE3ZjNjNGRlZjRhZDA4ZTY4NWZlM2E2Mzk5MDdlLi5lODMy
MjZkZTQ4YzEwN2ExYmRmNTg1Y2RiNjU4NDBhMTcxYzVmZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTI5OCw4ICsxMjk4LDEwIEBAIHN0YXRpYyBXZWJB
dXRoblByb2Nlc3NDb25uZWN0aW9uSW5mbyBnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uKElQ
Qzo6Q29ubmVjdGlvCiAgICAgaWYgKCFjb25uZWN0aW9uLnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24oKSwgTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6UmVwbHkoY29ubmVj
dGlvbkluZm8pLCAwKSkgewogICAgICAgICAvLyBJZiB3ZSBmYWlsZWQgdGhlIGZpcnN0IHRpbWUs
IHJldHJ5IG9uY2UuIFRoZSBhdHRhY2htZW50IG1heSBoYXZlIGJlY29tZSBpbnZhbGlkCiAgICAg
ICAgIC8vIGJlZm9yZSBpdCB3YXMgcmVjZWl2ZWQgYnkgdGhlIHdlYiBwcm9jZXNzIGlmIHRoZSBu
ZXR3b3JrIHByb2Nlc3MgY3Jhc2hlZC4KLSAgICAgICAgaWYgKCFjb25uZWN0aW9uLnNlbmRTeW5j
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24o
KSwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlv
bjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkKKyAgICAgICAgaWYgKCFjb25uZWN0aW9uLnNl
bmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFdlYkF1dGhuUHJvY2Vzc0Nvbm5l
Y3Rpb24oKSwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0V2ViQXV0aG5Qcm9jZXNzQ29u
bmVjdGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkgeworICAgICAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoV2ViQXV0aG4sICJnZXRXZWJBdXRoblByb2Nlc3NDb25uZWN0aW9uOiBVbmFi
bGUgdG8gY29ubmVjdCB0byBXZWJBdXRobiBwcm9jZXNzIChUZXJtaW5hdGluZykiKTsKICAgICAg
ICAgICAgIENSQVNIKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gY29ubmVjdGlv
bkluZm87CkBAIC0xMzE4LDggKzEzMjAsMTAgQEAgV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbiYg
V2ViUHJvY2Vzczo6ZW5zdXJlV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbigpCiAgICAgICAgIGlm
ICghSVBDOjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNWYWxpZChjb25uZWN0aW9uSW5mby5pZGVu
dGlmaWVyKCkpKQogICAgICAgICAgICAgY29ubmVjdGlvbkluZm8gPSBnZXRXZWJBdXRoblByb2Nl
c3NDb25uZWN0aW9uKCpwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpKTsKIAotICAgICAgICBpZiAo
IUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbkluZm8uaWRlbnRp
ZmllcigpKSkKKyAgICAgICAgaWYgKCFJUEM6OkNvbm5lY3Rpb246OmlkZW50aWZpZXJJc1ZhbGlk
KGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKFdlYkF1dGhuLCAiZW5zdXJlV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjogQ29ubmVj
dGlvbiBpZGVudGlmaWVyIGZvciBXZWJBdXRobiBwcm9jZXNzIGlzIGludmFsaWQuIik7CiAgICAg
ICAgICAgICBDUkFTSCgpOworICAgICAgICB9CiAKICAgICAgICAgbV93ZWJBdXRoblByb2Nlc3ND
b25uZWN0aW9uID0gV2ViQXV0aG5Qcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlKGNvbm5lY3Rpb25J
bmZvLnJlbGVhc2VJZGVudGlmaWVyKCkpOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>