<?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>227731</bug_id>
          
          <creation_ts>2021-07-06 18:04:30 -0700</creation_ts>
          <short_desc>PCM: Add error logging for CryptoKit operations</short_desc>
          <delta_ts>2021-07-07 22:10:02 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=227777</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1775158</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-06 18:04:30 -0700</bug_when>
    <thetext>There are three FIXMEs for error logging in PCM&apos;s CryptoKit operations. We should add the logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775159</commentid>
    <comment_count>1</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-06 18:04:55 -0700</bug_when>
    <thetext>&lt;rdar://80221057&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775162</commentid>
    <comment_count>2</comment_count>
      <attachid>432994</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-06 18:25:24 -0700</bug_when>
    <thetext>Created attachment 432994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775163</commentid>
    <comment_count>3</comment_count>
      <attachid>432994</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-06 18:46:37 -0700</bug_when>
    <thetext>Comment on attachment 432994
Patch

Marking as obsolete pending updates to API tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775537</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-07 17:15:53 -0700</bug_when>
    <thetext>A failing API test was addressed in a separate patch (Bugzilla related to this one).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775570</commentid>
    <comment_count>5</comment_count>
      <attachid>433106</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-07 18:37:14 -0700</bug_when>
    <thetext>Created attachment 433106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775578</commentid>
    <comment_count>6</comment_count>
      <attachid>433106</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-07-07 19:08:55 -0700</bug_when>
    <thetext>Comment on attachment 433106
Patch

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

r=me, but consider my suggestion about the test case.

&gt; Tools/TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:323
&gt; +    EXPECT_FALSE(pcm.calculateAndUpdateSourceUnlinkableToken(serverPublicKeyBase64URL));

I think these tests would look better if you asserted EXPECT_FALSE(pcm.calculateAndUpdateSourceUnlinkableToken(serverPublicKeyBase64URL).has_value());

The fact that the return value is an error message (or no-value if successful) isn&apos;t obvious from the name, so it looks like we are expecting the calculateAndUpdate to fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775601</commentid>
    <comment_count>7</comment_count>
      <attachid>433115</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-07 21:23:19 -0700</bug_when>
    <thetext>Created attachment 433115
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775602</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-07 21:24:21 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #6)
&gt; Comment on attachment 433106 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433106&amp;action=review
&gt; 
&gt; r=me, but consider my suggestion about the test case.
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:323
&gt; &gt; +    EXPECT_FALSE(pcm.calculateAndUpdateSourceUnlinkableToken(serverPublicKeyBase64URL));
&gt; 
&gt; I think these tests would look better if you asserted
&gt; EXPECT_FALSE(pcm.
&gt; calculateAndUpdateSourceUnlinkableToken(serverPublicKeyBase64URL).
&gt; has_value());
&gt; 
&gt; The fact that the return value is an error message (or no-value if
&gt; successful) isn&apos;t obvious from the name, so it looks like we are expecting
&gt; the calculateAndUpdate to fail.

You&apos;re absolutely right. I made the test look like the actually call sites with a local variable errorMessage. Should make it clear.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775609</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-07 22:10:00 -0700</bug_when>
    <thetext>Committed r279710 (239502@main): &lt;https://commits.webkit.org/239502@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433115.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432994</attachid>
            <date>2021-07-06 18:25:24 -0700</date>
            <delta_ts>2021-07-06 18:46:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227731-20210706182523.patch</filename>
            <type>text/plain</type>
            <size>9445</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWNjNTJkYzJkMmJjODc5
OWRkMDhhNjQ3NjBhY2IzOThlY2U3MWE2My4uYTM3ODQ1ZmMyNmU3YjhjM2RmNzMyYzgwYjg2YjAy
NmNiNzhjZTNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA3LTA2ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogQWRkIGVycm9y
IGxvZ2dpbmcgZm9yIENyeXB0b0tpdCBvcGVyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc3MzEKKyAgICAgICAgPHJkYXI6Ly84MDIyMTA1
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXNv
bHZlcyB0aHJlZSBGSVhNRXMgZm9yIGVycm9yIGxvZ2dpbmcgaW4gUENNJ3MgQ3J5cHRvS2l0IG9w
ZXJhdGlvbnMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBPbmx5IGFkZGVkIGxvZ2dpbmcuCisK
KyAgICAgICAgKiBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaDoKKyAgICAgICAgKiBs
b2FkZXIvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VV
bmxpbmthYmxlVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2VuKToKKwogMjAyMS0wNy0wNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnRsZUNyeXB0byBz
aG91bGQgb25seSBiZSBleHBvc2VkIHRvIHNlY3VyZSBjb250ZXh0cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkZTk1
ZjAwZDJmMDI1Y2Y3YjBjNGIzZjgyYmI2Y2E3ODUzNzBiMmZlLi41ZGE0YmFlY2YwZTBjNGFkMWY3
NjYyZjFlZDExMzg1NTNkZDQ3YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA3
LTA2ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTog
QWRkIGVycm9yIGxvZ2dpbmcgZm9yIENyeXB0b0tpdCBvcGVyYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc3MzEKKyAgICAgICAgPHJkYXI6
Ly84MDIyMTA1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZXNvbHZlcyB0aHJlZSBGSVhNRXMgZm9yIGVycm9yIGxvZ2dpbmcgaW4gUENNJ3MgQ3J5
cHRvS2l0IG9wZXJhdGlvbnMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRTaWduZWRVbmxpbmthYmxlVG9rZW4p
OgorCiAyMDIxLTA3LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIERlcGxveSBzbWFydCBwb2ludGVycyBpbiBFdmVudEhhbmRsZXIgYW5kIFVzZXJJbnB1dEJy
aWRnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQu
aAppbmRleCAwNjYzY2JhYTQ3MzIwNmYwYzIxODZjMTU1ZDEwNWFkZDMzMjg3YTY5Li4yYzBjYTgy
ZDM2ZDJlZjRhYjdhOGZhMDNjYWRmZWJjNTI1ZGE3Y2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaApAQCAtMzU0LDggKzM1NCw4IEBAIHB1
YmxpYzoKICAgICB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4oY29uc3QgU3RyaW5n
JiBzZXJ2ZXJQdWJsaWNLZXlCYXNlNjRVUkwpOwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2Fs
Y3VsYXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2ZXJSZXNw
b25zZUJhc2U2NFVSTCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RkOjpvcHRpb25hbDxTdHJpbmc+
IGNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVVubGlua2FibGVUb2tlbihjb25zdCBTdHJpbmcmIHNl
cnZlclB1YmxpY0tleUJhc2U2NFVSTCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RkOjpvcHRpb25h
bDxTdHJpbmc+IGNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2VuKGNvbnN0IFN0cmlu
ZyYgc2VydmVyUmVzcG9uc2VCYXNlNjRVUkwpOwogI2VuZGlmCiAKICAgICB2b2lkIHNldFNvdXJj
ZVVubGlua2FibGVUb2tlblZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgbV9zb3VyY2VVbmxp
bmthYmxlVG9rZW4udmFsdWVCYXNlNjRVUkwgPSB2YWx1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0gYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5t
bQppbmRleCBiNTU3OGZhMjIwNTgyOWQyN2E4MmE1MWFlY2M3NDg3YjMxOTkzNjFmLi5iYzRiYjJj
N2EwMTBkMzE5YzBlNjU5N2ZlNjFmYTEyYmUxNDNlOWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5t
bQpAQCAtMzAsNTAgKzMwLDU2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudDo6Y2FsY3VsYXRlQW5kVXBkYXRlU291cmNlVW5saW5rYWJsZVRv
a2VuKGNvbnN0IFN0cmluZyYgc2VydmVyUHVibGljS2V5QmFzZTY0VVJMKQorc3RkOjpvcHRpb25h
bDxTdHJpbmc+IFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpjYWxjdWxhdGVBbmRVcGRhdGVTb3Vy
Y2VVbmxpbmthYmxlVG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2ZXJQdWJsaWNLZXlCYXNlNjRVUkwp
CiB7CiAjaWYgSEFWRShSU0FfQlNTQSkKICAgICB7CiAgICAgICAgIGF1dG8gc2VydmVyUHVibGlj
S2V5RGF0YSA9IGJhc2U2NFVSTERlY29kZShzZXJ2ZXJQdWJsaWNLZXlCYXNlNjRVUkwpOwogICAg
ICAgICBpZiAoIXNlcnZlclB1YmxpY0tleURhdGEpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICByZXR1cm4gIkNvdWxkIG5vdCBkZWNvZGUgcHVibGljIGtleSBkYXRhLiI7
CiAgICAgICAgIGF1dG8gc2VydmVyUHVibGljS2V5ID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10g
aW5pdFdpdGhCeXRlczpzZXJ2ZXJQdWJsaWNLZXlEYXRhLT5kYXRhKCkgbGVuZ3RoOnNlcnZlclB1
YmxpY0tleURhdGEtPnNpemUoKV0pOwogCi0gICAgICAgIC8vIEZJWE1FKDIyMjAxOCk6IENoZWNr
IGVycm9yLgotICAgICAgICBtX3NvdXJjZVVubGlua2FibGVUb2tlbi5ibGluZGVyID0gYWRvcHRO
UyhbUEFMOjphbGxvY1JTQUJTU0FUb2tlbkJsaW5kZXJJbnN0YW5jZSgpIGluaXRXaXRoUHVibGlj
S2V5OnNlcnZlclB1YmxpY0tleS5nZXQoKSBlcnJvcjpudWxscHRyXSk7CisgICAgICAgIE5TRXJy
b3IqIG5zRXJyb3IgPSAwOworICAgICAgICBtX3NvdXJjZVVubGlua2FibGVUb2tlbi5ibGluZGVy
ID0gYWRvcHROUyhbUEFMOjphbGxvY1JTQUJTU0FUb2tlbkJsaW5kZXJJbnN0YW5jZSgpIGluaXRX
aXRoUHVibGljS2V5OnNlcnZlclB1YmxpY0tleS5nZXQoKSBlcnJvcjombnNFcnJvcl0pOworICAg
ICAgICBpZiAobnNFcnJvcikKKyAgICAgICAgICAgIHJldHVybiBuc0Vycm9yLmxvY2FsaXplZERl
c2NyaXB0aW9uOwogICAgICAgICBpZiAoIW1fc291cmNlVW5saW5rYWJsZVRva2VuLmJsaW5kZXIp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gIkRpZCBub3Qg
Z2V0IGEgYmxpbmRlci4iX3M7CiAgICAgfQogCi0gICAgLy8gRklYTUUoMjIyMDE4KTogQ2hlY2sg
ZXJyb3IuCi0gICAgbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rva2VuID0gW21fc291
cmNlVW5saW5rYWJsZVRva2VuLmJsaW5kZXIgdG9rZW5XYWl0aW5nQWN0aXZhdGlvbldpdGhDb250
ZW50Om51bGxwdHIgZXJyb3I6bnVsbHB0cl07CisgICAgTlNFcnJvciogbnNFcnJvciA9IDA7Cisg
ICAgbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rva2VuID0gW21fc291cmNlVW5saW5r
YWJsZVRva2VuLmJsaW5kZXIgdG9rZW5XYWl0aW5nQWN0aXZhdGlvbldpdGhDb250ZW50Om51bGxw
dHIgZXJyb3I6Jm5zRXJyb3JdOworICAgIGlmIChuc0Vycm9yKQorICAgICAgICByZXR1cm4gbnNF
cnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbjsKICAgICBpZiAoIW1fc291cmNlVW5saW5rYWJsZVRv
a2VuLndhaXRpbmdUb2tlbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4g
IkRpZCBub3QgZ2V0IGEgd2FpdGluZyB0b2tlbi4iX3M7CiAKICAgICBtX3NvdXJjZVVubGlua2Fi
bGVUb2tlbi52YWx1ZUJhc2U2NFVSTCA9IGJhc2U2NFVSTEVuY29kZVRvU3RyaW5nKFttX3NvdXJj
ZVVubGlua2FibGVUb2tlbi53YWl0aW5nVG9rZW4gYmxpbmRlZE1lc3NhZ2VdLmJ5dGVzLCBbbV9z
b3VyY2VVbmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rva2VuIGJsaW5kZWRNZXNzYWdlXS5sZW5ndGgp
OwotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAjZWxzZQogICAg
IFVOVVNFRF9QQVJBTShzZXJ2ZXJQdWJsaWNLZXlCYXNlNjRVUkwpOwotICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gIlVubGlua2FibGUgdG9rZW5zIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRo
aXMgcGxhdGZvcm0uIl9zOwogI2VuZGlmIC8vIEhBVkUoUlNBX0JTU0EpCiB9CiAKLWJvb2wgUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2Vu
KGNvbnN0IFN0cmluZyYgc2VydmVyUmVzcG9uc2VCYXNlNjRVUkwpCitzdGQ6Om9wdGlvbmFsPFN0
cmluZz4gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNl
Y3JldFRva2VuKGNvbnN0IFN0cmluZyYgc2VydmVyUmVzcG9uc2VCYXNlNjRVUkwpCiB7CiAjaWYg
SEFWRShSU0FfQlNTQSkKICAgICBpZiAoIW1fc291cmNlVW5saW5rYWJsZVRva2VuLndhaXRpbmdU
b2tlbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gIkRpZCBub3QgZmlu
ZCBhIHdhaXRpbmcgdG9rZW4uIl9zOwogCiAgICAgewogICAgICAgICBhdXRvIHNlcnZlclJlc3Bv
bnNlRGF0YSA9IGJhc2U2NFVSTERlY29kZShzZXJ2ZXJSZXNwb25zZUJhc2U2NFVSTCk7CiAgICAg
ICAgIGlmICghc2VydmVyUmVzcG9uc2VEYXRhKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAgICAgcmV0dXJuICJDb3VsZCBub3QgZGVjb2RlIHJlc3BvbnNlIGRhdGEuIjsKICAg
ICAgICAgYXV0byBzZXJ2ZXJSZXNwb25zZSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRX
aXRoQnl0ZXM6c2VydmVyUmVzcG9uc2VEYXRhLT5kYXRhKCkgbGVuZ3RoOnNlcnZlclJlc3BvbnNl
RGF0YS0+c2l6ZSgpXSk7CiAKLSAgICAgICAgLy8gRklYTUUoMjIyMDE4KTogQ2hlY2sgZXJyb3Iu
Ci0gICAgICAgIG1fc291cmNlVW5saW5rYWJsZVRva2VuLnJlYWR5VG9rZW4gPSBbbV9zb3VyY2VV
bmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rva2VuIGFjdGl2YXRlVG9rZW5XaXRoU2VydmVyUmVzcG9u
c2U6c2VydmVyUmVzcG9uc2UuZ2V0KCkgZXJyb3I6bnVsbHB0cl07CisgICAgICAgIE5TRXJyb3Iq
IG5zRXJyb3IgPSAwOworICAgICAgICBtX3NvdXJjZVVubGlua2FibGVUb2tlbi5yZWFkeVRva2Vu
ID0gW21fc291cmNlVW5saW5rYWJsZVRva2VuLndhaXRpbmdUb2tlbiBhY3RpdmF0ZVRva2VuV2l0
aFNlcnZlclJlc3BvbnNlOnNlcnZlclJlc3BvbnNlLmdldCgpIGVycm9yOiZuc0Vycm9yXTsKKyAg
ICAgICAgaWYgKG5zRXJyb3IpCisgICAgICAgICAgICByZXR1cm4gbnNFcnJvci5sb2NhbGl6ZWRE
ZXNjcmlwdGlvbjsKICAgICAgICAgaWYgKCFtX3NvdXJjZVVubGlua2FibGVUb2tlbi5yZWFkeVRv
a2VuKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICJEaWQg
bm90IGdldCBhIHJlYWR5IHRva2VuLiJfczsKICAgICB9CiAKICAgICBTb3VyY2VTZWNyZXRUb2tl
biB0b2tlbjsKQEAgLTgyLDEwICs4OCwxMCBAQCBib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50
OjpjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihjb25zdCBTdHJpbmcmCiAgICAg
dG9rZW4uc2lnbmF0dXJlQmFzZTY0VVJMID0gYmFzZTY0VVJMRW5jb2RlVG9TdHJpbmcoW21fc291
cmNlVW5saW5rYWJsZVRva2VuLnJlYWR5VG9rZW4gc2lnbmF0dXJlXS5ieXRlcywgW21fc291cmNl
VW5saW5rYWJsZVRva2VuLnJlYWR5VG9rZW4gc2lnbmF0dXJlXS5sZW5ndGgpOwogCiAgICAgbV9z
b3VyY2VTZWNyZXRUb2tlbiA9IFdURk1vdmUodG9rZW4pOwotICAgIHJldHVybiB0cnVlOworICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzZXJ2ZXJSZXNw
b25zZUJhc2U2NFVSTCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiAiVW5saW5rYWJs
ZSB0b2tlbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBwbGF0Zm9ybS4iX3M7CiAjZW5kaWYg
Ly8gSEFWRShSU0FfQlNTQSkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCmluZGV4
IGNjODc1YTE3OGZiYTdjYWFjOTFlNjM2ZTI2YThjMmY4NDA1MmFmMjAuLmZlNzA3MjI4YTE0ZDFj
MzM2NDA4ZDQ2ZjI3ZWUzYWVmNDIyZmIxMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5j
cHAKQEAgLTg4LDggKzg4LDExIEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
OjpzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAgICAgICAgICAg
ICAgICAgYXR0cmlidXRpb24uc2V0U291cmNlVW5saW5rYWJsZVRva2VuVmFsdWUobV9mcmF1ZFBy
ZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nLT51bmxpbmthYmxlVG9rZW4pOwogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFhdHRyaWJ1
dGlvbi5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4ocHVibGljS2V5QmFz
ZTY0VVJMKSkKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBlcnJvck1lc3NhZ2UgPSBhdHRyaWJ1
dGlvbi5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4ocHVibGljS2V5QmFz
ZTY0VVJMKSkgeworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JTkZPKFByaXZhdGVD
bGlja01lYXN1cmVtZW50LCAiR290IHRoZSBmb2xsb3dpbmcgZXJyb3IgaW4gY2FsY3VsYXRlQW5k
VXBkYXRlU291cmNlVW5saW5rYWJsZVRva2VuKCk6ICcle3B1YmxpY31zIiwgZXJyb3JNZXNzYWdl
LT51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+
YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5nKCJbUHJp
dmF0ZSBDbGljayBNZWFzdXJlbWVudF0gIl9zLCAqZXJyb3JNZXNzYWdlKSk7CiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAjZW5k
aWYKIApAQCAtMjIxLDggKzIyNCwxMSBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFu
YWdlcjo6Z2V0U2lnbmVkVW5saW5rYWJsZVRva2VuKFByaXZhdGVDbGlja01lYXN1cgogICAgICAg
ICAgICAgYXR0cmlidXRpb24uc2V0U291cmNlU2VjcmV0VG9rZW4oeyBtX2ZyYXVkUHJldmVudGlv
blZhbHVlc0ZvclRlc3RpbmctPnNlY3JldFRva2VuLCBtX2ZyYXVkUHJldmVudGlvblZhbHVlc0Zv
clRlc3RpbmctPnNpZ25hdHVyZSwgbV9mcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nLT5r
ZXlJRCB9KTsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICBpZiAoIWF0dHJpYnV0aW9uLmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2VuKHNp
Z25hdHVyZUJhc2U2NFVSTCkpCisgICAgICAgICAgICBpZiAoYXV0byBlcnJvck1lc3NhZ2UgPSBh
dHRyaWJ1dGlvbi5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihzaWduYXR1cmVC
YXNlNjRVUkwpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCwgIkdvdCB0aGUgZm9sbG93aW5nIGVycm9yIGluIGNhbGN1bGF0ZUFuZFVw
ZGF0ZVNvdXJjZVNlY3JldFRva2VuKCk6ICcle3B1YmxpY31zIiwgZXJyb3JNZXNzYWdlLT51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RD
b25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNr
IE1lYXN1cmVtZW50XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433106</attachid>
            <date>2021-07-07 18:37:14 -0700</date>
            <delta_ts>2021-07-07 21:23:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227731-20210707183713.patch</filename>
            <type>text/plain</type>
            <size>13717</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ2ZTc1NDAxNThkMjkw
MTkwOTkwZjZmZGVlZTZhNTZjZWY1NzRmYi4uZjM0YjBhM2ZhZDFkMWNiN2RhMmU3YmUxZmNkZDE2
MDRlZGVhODZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA3LTA3ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogQWRkIGVycm9y
IGxvZ2dpbmcgZm9yIENyeXB0b0tpdCBvcGVyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc3MzEKKyAgICAgICAgPHJkYXI6Ly84MDIyMTA1
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXNv
bHZlcyB0aHJlZSBGSVhNRXMgZm9yIGVycm9yIGxvZ2dpbmcgaW4gUENNJ3MgQ3J5cHRvS2l0IG9w
ZXJhdGlvbnMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBPbmx5IGFkZGVkIGxvZ2dpbmcuCisK
KyAgICAgICAgKiBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaDoKKyAgICAgICAgKiBs
b2FkZXIvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlByaXZhdGVDbGlja01lYXN1cmVtZW50OjpjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VV
bmxpbmthYmxlVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ6OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2VuKToKKwogMjAyMS0wNy0wNyAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtJbmRleGVkREJdIFRy
YW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBkdXJpbmcgc3RydWN0dXJlZCBjbG9uZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA3MDY0ZGMyMWNjMDE5ZjFlYWQ5NTM4NGE4Yjg0ODljODYwZDAyYThlLi43YjFhZDY4
NjYwNDliNGUwM2UxM2MyM2NmNThkNTYxMmQyZjExNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIxLTA3LTA3ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFBDTTogQWRkIGVycm9yIGxvZ2dpbmcgZm9yIENyeXB0b0tpdCBvcGVyYXRpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc3MzEKKyAg
ICAgICAgPHJkYXI6Ly84MDIyMTA1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZXNvbHZlcyB0aHJlZSBGSVhNRXMgZm9yIGVycm9yIGxvZ2dpbmcg
aW4gUENNJ3MgQ3J5cHRvS2l0IG9wZXJhdGlvbnMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAg
ICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRTaWduZWRVbmxp
bmthYmxlVG9rZW4pOgorCiAyMDIxLTA3LTA3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBmb2xsb3ctdXAgdG8gcjI3OTYwMSB0byBhZGRyZXNz
IHNvbWUgYXNzZXJ0aW9ucyBvbiB0aGUgYm90cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmgKaW5kZXggMDY2M2NiYWE0NzMyMDZmMGMyMTg2YzE1
NWQxMDVhZGQzMzI4N2E2OS4uMmMwY2E4MmQzNmQyZWY0YWI3YThmYTAzY2FkZmViYzUyNWRhN2Nj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50
LmgKQEAgLTM1NCw4ICszNTQsOCBAQCBwdWJsaWM6CiAgICAgfTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlVW5s
aW5rYWJsZVRva2VuKGNvbnN0IFN0cmluZyYgc2VydmVyUHVibGljS2V5QmFzZTY0VVJMKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIGNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2Vu
KGNvbnN0IFN0cmluZyYgc2VydmVyUmVzcG9uc2VCYXNlNjRVUkwpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmth
YmxlVG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2ZXJQdWJsaWNLZXlCYXNlNjRVUkwpOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBjYWxjdWxhdGVBbmRVcGRhdGVTb3Vy
Y2VTZWNyZXRUb2tlbihjb25zdCBTdHJpbmcmIHNlcnZlclJlc3BvbnNlQmFzZTY0VVJMKTsKICNl
bmRpZgogCiAgICAgdm9pZCBzZXRTb3VyY2VVbmxpbmthYmxlVG9rZW5WYWx1ZShjb25zdCBTdHJp
bmcmIHZhbHVlKSB7IG1fc291cmNlVW5saW5rYWJsZVRva2VuLnZhbHVlQmFzZTY0VVJMID0gdmFs
dWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jb2NvYS9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NvY29hL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0KaW5kZXggYjU1NzhmYTIyMDU4MjlkMjdhODJhNTFh
ZWNjNzQ4N2IzMTk5MzYxZi4uMjNkODdjMjdhYTFiNWExZDNiMDYwZDk4NjE4YmU4NzY1MWZhNzg5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NvY29hL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NvY29hL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0KQEAgLTMwLDUwICszMCw1NiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWJvb2wgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmNhbGN1bGF0ZUFu
ZFVwZGF0ZVNvdXJjZVVubGlua2FibGVUb2tlbihjb25zdCBTdHJpbmcmIHNlcnZlclB1YmxpY0tl
eUJhc2U2NFVSTCkKK3N0ZDo6b3B0aW9uYWw8U3RyaW5nPiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6Y2FsY3VsYXRlQW5kVXBkYXRlU291cmNlVW5saW5rYWJsZVRva2VuKGNvbnN0IFN0cmluZyYg
c2VydmVyUHVibGljS2V5QmFzZTY0VVJMKQogewogI2lmIEhBVkUoUlNBX0JTU0EpCiAgICAgewog
ICAgICAgICBhdXRvIHNlcnZlclB1YmxpY0tleURhdGEgPSBiYXNlNjRVUkxEZWNvZGUoc2VydmVy
UHVibGljS2V5QmFzZTY0VVJMKTsKICAgICAgICAgaWYgKCFzZXJ2ZXJQdWJsaWNLZXlEYXRhKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICJDb3VsZCBub3Qg
ZGVjb2RlIHRoZSBzb3VyY2UncyBwdWJsaWMga2V5IGRhdGEuIl9zOwogICAgICAgICBhdXRvIHNl
cnZlclB1YmxpY0tleSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXM6c2Vy
dmVyUHVibGljS2V5RGF0YS0+ZGF0YSgpIGxlbmd0aDpzZXJ2ZXJQdWJsaWNLZXlEYXRhLT5zaXpl
KCldKTsKIAotICAgICAgICAvLyBGSVhNRSgyMjIwMTgpOiBDaGVjayBlcnJvci4KLSAgICAgICAg
bV9zb3VyY2VVbmxpbmthYmxlVG9rZW4uYmxpbmRlciA9IGFkb3B0TlMoW1BBTDo6YWxsb2NSU0FC
U1NBVG9rZW5CbGluZGVySW5zdGFuY2UoKSBpbml0V2l0aFB1YmxpY0tleTpzZXJ2ZXJQdWJsaWNL
ZXkuZ2V0KCkgZXJyb3I6bnVsbHB0cl0pOworICAgICAgICBOU0Vycm9yKiBuc0Vycm9yID0gMDsK
KyAgICAgICAgbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4uYmxpbmRlciA9IGFkb3B0TlMoW1BBTDo6
YWxsb2NSU0FCU1NBVG9rZW5CbGluZGVySW5zdGFuY2UoKSBpbml0V2l0aFB1YmxpY0tleTpzZXJ2
ZXJQdWJsaWNLZXkuZ2V0KCkgZXJyb3I6Jm5zRXJyb3JdKTsKKyAgICAgICAgaWYgKG5zRXJyb3Ip
CisgICAgICAgICAgICByZXR1cm4gbnNFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbjsKICAgICAg
ICAgaWYgKCFtX3NvdXJjZVVubGlua2FibGVUb2tlbi5ibGluZGVyKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICJEaWQgbm90IGdldCBhIHNvdXJjZSB1bmxp
bmthYmxlIHRva2VuIGJsaW5kZXIuIl9zOwogICAgIH0KIAotICAgIC8vIEZJWE1FKDIyMjAxOCk6
IENoZWNrIGVycm9yLgotICAgIG1fc291cmNlVW5saW5rYWJsZVRva2VuLndhaXRpbmdUb2tlbiA9
IFttX3NvdXJjZVVubGlua2FibGVUb2tlbi5ibGluZGVyIHRva2VuV2FpdGluZ0FjdGl2YXRpb25X
aXRoQ29udGVudDpudWxscHRyIGVycm9yOm51bGxwdHJdOworICAgIE5TRXJyb3IqIG5zRXJyb3Ig
PSAwOworICAgIG1fc291cmNlVW5saW5rYWJsZVRva2VuLndhaXRpbmdUb2tlbiA9IFttX3NvdXJj
ZVVubGlua2FibGVUb2tlbi5ibGluZGVyIHRva2VuV2FpdGluZ0FjdGl2YXRpb25XaXRoQ29udGVu
dDpudWxscHRyIGVycm9yOiZuc0Vycm9yXTsKKyAgICBpZiAobnNFcnJvcikKKyAgICAgICAgcmV0
dXJuIG5zRXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb247CiAgICAgaWYgKCFtX3NvdXJjZVVubGlu
a2FibGVUb2tlbi53YWl0aW5nVG9rZW4pCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
cmV0dXJuICJEaWQgbm90IGdldCBhIHNvdXJjZSB1bmxpbmthYmxlIHRva2VuIHdhaXRpbmcgdG9r
ZW4uIl9zOwogCiAgICAgbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4udmFsdWVCYXNlNjRVUkwgPSBi
YXNlNjRVUkxFbmNvZGVUb1N0cmluZyhbbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rv
a2VuIGJsaW5kZWRNZXNzYWdlXS5ieXRlcywgW21fc291cmNlVW5saW5rYWJsZVRva2VuLndhaXRp
bmdUb2tlbiBibGluZGVkTWVzc2FnZV0ubGVuZ3RoKTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oc2VydmVyUHVibGlj
S2V5QmFzZTY0VVJMKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuICJVbmxpbmthYmxl
IHRva2VucyBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGlzIHBsYXRmb3JtLiJfczsKICNlbmRpZiAv
LyBIQVZFKFJTQV9CU1NBKQogfQogCi1ib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpjYWxj
dWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihjb25zdCBTdHJpbmcmIHNlcnZlclJlc3Bv
bnNlQmFzZTY0VVJMKQorc3RkOjpvcHRpb25hbDxTdHJpbmc+IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50OjpjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihjb25zdCBTdHJpbmcmIHNl
cnZlclJlc3BvbnNlQmFzZTY0VVJMKQogewogI2lmIEhBVkUoUlNBX0JTU0EpCiAgICAgaWYgKCFt
X3NvdXJjZVVubGlua2FibGVUb2tlbi53YWl0aW5nVG9rZW4pCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuICJEaWQgbm90IGZpbmQgYSBzb3VyY2UgdW5saW5rYWJsZSB0b2tl
biB3YWl0aW5nIHRva2VuLiJfczsKIAogICAgIHsKICAgICAgICAgYXV0byBzZXJ2ZXJSZXNwb25z
ZURhdGEgPSBiYXNlNjRVUkxEZWNvZGUoc2VydmVyUmVzcG9uc2VCYXNlNjRVUkwpOwogICAgICAg
ICBpZiAoIXNlcnZlclJlc3BvbnNlRGF0YSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgICAgIHJldHVybiAiQ291bGQgbm90IGRlY29kZSBzb3VyY2UgcmVzcG9uc2UgZGF0YS4i
X3M7CiAgICAgICAgIGF1dG8gc2VydmVyUmVzcG9uc2UgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9j
XSBpbml0V2l0aEJ5dGVzOnNlcnZlclJlc3BvbnNlRGF0YS0+ZGF0YSgpIGxlbmd0aDpzZXJ2ZXJS
ZXNwb25zZURhdGEtPnNpemUoKV0pOwogCi0gICAgICAgIC8vIEZJWE1FKDIyMjAxOCk6IENoZWNr
IGVycm9yLgotICAgICAgICBtX3NvdXJjZVVubGlua2FibGVUb2tlbi5yZWFkeVRva2VuID0gW21f
c291cmNlVW5saW5rYWJsZVRva2VuLndhaXRpbmdUb2tlbiBhY3RpdmF0ZVRva2VuV2l0aFNlcnZl
clJlc3BvbnNlOnNlcnZlclJlc3BvbnNlLmdldCgpIGVycm9yOm51bGxwdHJdOworICAgICAgICBO
U0Vycm9yKiBuc0Vycm9yID0gMDsKKyAgICAgICAgbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ucmVh
ZHlUb2tlbiA9IFttX3NvdXJjZVVubGlua2FibGVUb2tlbi53YWl0aW5nVG9rZW4gYWN0aXZhdGVU
b2tlbldpdGhTZXJ2ZXJSZXNwb25zZTpzZXJ2ZXJSZXNwb25zZS5nZXQoKSBlcnJvcjombnNFcnJv
cl07CisgICAgICAgIGlmIChuc0Vycm9yKQorICAgICAgICAgICAgcmV0dXJuIG5zRXJyb3IubG9j
YWxpemVkRGVzY3JpcHRpb247CiAgICAgICAgIGlmICghbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4u
cmVhZHlUb2tlbikKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVy
biAiRGlkIG5vdCBnZXQgYSBzb3VyY2UgdW5saW5rYWJsZSB0b2tlbiByZWFkeSB0b2tlbi4iX3M7
CiAgICAgfQogCiAgICAgU291cmNlU2VjcmV0VG9rZW4gdG9rZW47CkBAIC04MiwxMCArODgsMTAg
QEAgYm9vbCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6Y2FsY3VsYXRlQW5kVXBkYXRlU291cmNl
U2VjcmV0VG9rZW4oY29uc3QgU3RyaW5nJgogICAgIHRva2VuLnNpZ25hdHVyZUJhc2U2NFVSTCA9
IGJhc2U2NFVSTEVuY29kZVRvU3RyaW5nKFttX3NvdXJjZVVubGlua2FibGVUb2tlbi5yZWFkeVRv
a2VuIHNpZ25hdHVyZV0uYnl0ZXMsIFttX3NvdXJjZVVubGlua2FibGVUb2tlbi5yZWFkeVRva2Vu
IHNpZ25hdHVyZV0ubGVuZ3RoKTsKIAogICAgIG1fc291cmNlU2VjcmV0VG9rZW4gPSBXVEZNb3Zl
KHRva2VuKTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogI2Vs
c2UKICAgICBVTlVTRURfUEFSQU0oc2VydmVyUmVzcG9uc2VCYXNlNjRVUkwpOwotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gIlVubGlua2FibGUgdG9rZW5zIGFyZSBub3Qgc3VwcG9ydGVk
IGJ5IHRoaXMgcGxhdGZvcm0uIl9zOwogI2VuZGlmIC8vIEhBVkUoUlNBX0JTU0EpCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAppbmRleCBjYzg3NWExNzhmYmE3Y2FhYzkxZTYzNmUy
NmE4YzJmODQwNTJhZjIwLi5mZTcwNzIyOGExNGQxYzMzNjQwOGQ0NmYyN2VlM2FlZjQyMmZiMTA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCkBAIC04OCw4ICs4OCwxMSBAQCB2b2lk
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c3RvcmVVbmF0dHJpYnV0ZWQoUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQmJgogICAgICAgICAgICAgICAgIGF0dHJpYnV0aW9uLnNldFNvdXJj
ZVVubGlua2FibGVUb2tlblZhbHVlKG1fZnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZy0+
dW5saW5rYWJsZVRva2VuKTsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgICAgIGlmICghYXR0cmlidXRpb24uY2FsY3VsYXRlQW5kVXBkYXRlU291
cmNlVW5saW5rYWJsZVRva2VuKHB1YmxpY0tleUJhc2U2NFVSTCkpCisgICAgICAgICAgICAgICAg
aWYgKGF1dG8gZXJyb3JNZXNzYWdlID0gYXR0cmlidXRpb24uY2FsY3VsYXRlQW5kVXBkYXRlU291
cmNlVW5saW5rYWJsZVRva2VuKHB1YmxpY0tleUJhc2U2NFVSTCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgIkdvdCB0aGUg
Zm9sbG93aW5nIGVycm9yIGluIGNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVVubGlua2FibGVUb2tl
bigpOiAnJXtwdWJsaWN9cyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7CisgICAgICAg
ICAgICAgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1f
c2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdICJf
cywgKmVycm9yTWVzc2FnZSkpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQogI2VuZGlmCiAKQEAgLTIyMSw4ICsyMjQsMTEgQEAg
dm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVU
b2tlbihQcml2YXRlQ2xpY2tNZWFzdXIKICAgICAgICAgICAgIGF0dHJpYnV0aW9uLnNldFNvdXJj
ZVNlY3JldFRva2VuKHsgbV9mcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nLT5zZWNyZXRU
b2tlbiwgbV9mcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nLT5zaWduYXR1cmUsIG1fZnJh
dWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZy0+a2V5SUQgfSk7CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGlvbi5jYWxjdWxh
dGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihzaWduYXR1cmVCYXNlNjRVUkwpKQorICAgICAg
ICAgICAgaWYgKGF1dG8gZXJyb3JNZXNzYWdlID0gYXR0cmlidXRpb24uY2FsY3VsYXRlQW5kVXBk
YXRlU291cmNlU2VjcmV0VG9rZW4oc2lnbmF0dXJlQmFzZTY0VVJMKSkgeworICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZv
bGxvd2luZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbigpOiAn
JXtwdWJsaWN9cyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAg
ICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQs
IE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gIl9zLCAqZXJyb3JN
ZXNzYWdlKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAg
ICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDE3YmYxZjk0MzE3MDZhYWQ2MWIwZTMxYzhmYjA3OTQ2NzE5MTI5YjMuLmUzOGQx
Mzk2YzY3YmE4OTQ4NjA5NmZiNWZhNzFiNWQxNjM0MWRjZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNy0w
NyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBQQ006IEFk
ZCBlcnJvciBsb2dnaW5nIGZvciBDcnlwdG9LaXQgb3BlcmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NzMxCisgICAgICAgIDxyZGFyOi8v
ODAyMjEwNTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVzb2x2ZXMgdGhyZWUgRklYTUVzIGZvciBlcnJvciBsb2dnaW5nIGluIFBDTSdzIENyeXB0
b0tpdCBvcGVyYXRpb25zLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAgICAgTm93IGV4cGVjdHMgYW4gb3B0aW9uYWwgc3RyaW5nIGluc3RlYWQg
b2YgYSBib29sIGZyb20gdGhlIGZ1bmN0aW9uCisgICAgICAgICAgICBjYWxscyB3aGljaCBtZWFu
cyBFWFBFQ1RfVFJVRSBoYXMgYmVjb21lIEVYUEVDVF9GQUxTRS4gVGhlIG9wdGlvbmFsCisgICAg
ICAgICAgICBzdHJpbmcgaXMgbm9uLW51bGxvcHQgaWYgaXQgY2FycmllcyBhbiBlcnJvciBtZXNz
YWdlLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudENvY29hLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6
CisgICAgICAgICAgICBOb3cgZXhwZWN0cyBhbiBvcHRpb25hbCBzdHJpbmcgaW5zdGVhZCBvZiBh
IGJvb2wgZnJvbSB0aGUgZnVuY3Rpb24KKyAgICAgICAgICAgIGNhbGxzIHdoaWNoIG1lYW5zIEVY
UEVDVF9UUlVFIGhhcyBiZWNvbWUgRVhQRUNUX0ZBTFNFLiBUaGUgb3B0aW9uYWwKKyAgICAgICAg
ICAgIHN0cmluZyBpcyBub24tbnVsbG9wdCBpZiBpdCBjYXJyaWVzIGFuIGVycm9yIG1lc3NhZ2Uu
CisKIDIwMjEtMDctMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUENNOiBBUEkgdGVzdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5WYWxpZEJsaW5kZWRT
ZWNyZXQgaXMgZmFpbGluZyBvbiBwbGF0Zm9ybXMgd2l0aCBSU0FCU1NBCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50LmNwcAppbmRleCBlNjQ3MThmYjYwMzJjYjVjYmE1NTU4ZTMyMjRkMjNmYjRkZWZjNzQ1
Li41ZjJkMmRmOWI5ODA1MTQ3YjZlNzBhMmU0ZjYwNDFmMzNmODE3NGVmIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQu
Y3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC5jcHAKQEAgLTMyMCwxMSArMzIwLDExIEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQsIEludmFsaWRCbGluZGVkU2VjcmV0KQogICAgIEVYUEVDVF9UUlVFKGVwaGVtZXJh
bE5vbmNlLmlzVmFsaWQoKSk7CiAgICAgcGNtLnNldEVwaGVtZXJhbFNvdXJjZU5vbmNlKFdURk1v
dmUoZXBoZW1lcmFsTm9uY2UpKTsKIAotICAgIEVYUEVDVF9UUlVFKHBjbS5jYWxjdWxhdGVBbmRV
cGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4oc2VydmVyUHVibGljS2V5QmFzZTY0VVJMKSk7Cisg
ICAgRVhQRUNUX0ZBTFNFKHBjbS5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9r
ZW4oc2VydmVyUHVibGljS2V5QmFzZTY0VVJMKSk7CiAgICAgc291cmNlVW5saW5rYWJsZVRva2Vu
ID0gcGNtLnRva2VuU2lnbmF0dXJlSlNPTigpOwogICAgIEVYUEVDVF9FUShzb3VyY2VVbmxpbmth
YmxlVG9rZW4tPmFzT2JqZWN0KCktPnNpemUoKSwgNHVsKTsKIAotICAgIEVYUEVDVF9GQUxTRShw
Y20uY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oZW1wdHlTdHJpbmcoKSkpOwor
ICAgIEVYUEVDVF9UUlVFKHBjbS5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihl
bXB0eVN0cmluZygpKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRDb2NvYS5tbQppbmRleCBmOGE4ZmY4NWU4OGNiNzAwZThlNjhlMGUxYmFlZTE4MjNl
ZWIxYTMyLi4wYmU4ZjQ4YTY1MDVkNWMyNDBlNTQwZjA5NDJiNTkzNGFhMWJjM2E0IDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRDb2NvYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvY29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbQpAQCAtNzYsNyArNzYsNyBA
QCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBWYWxpZEJsaW5kZWRTZWNyZXQpCiAgICAg
YXV0byAqbnNTcGtpRGF0YSA9IChfX2JyaWRnZSBOU0RhdGEgKilzcGtpRGF0YS5nZXQoKTsKIAog
ICAgIC8vIENvbnRpbnVlIHRoZSB0ZXN0LgotICAgIEVYUEVDVF9UUlVFKHBjbS5jYWxjdWxhdGVB
bmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4oYmFzZTY0VVJMRW5jb2RlVG9TdHJpbmcobnNT
cGtpRGF0YS5ieXRlcywgbnNTcGtpRGF0YS5sZW5ndGgpKSk7CisgICAgRVhQRUNUX0ZBTFNFKHBj
bS5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4oYmFzZTY0VVJMRW5jb2Rl
VG9TdHJpbmcobnNTcGtpRGF0YS5ieXRlcywgbnNTcGtpRGF0YS5sZW5ndGgpKSk7CiAgICAgYXV0
byBzb3VyY2VVbmxpbmthYmxlVG9rZW4gPSBwY20udG9rZW5TaWduYXR1cmVKU09OKCk7CiAgICAg
RVhQRUNUX0VRKHNvdXJjZVVubGlua2FibGVUb2tlbi0+YXNPYmplY3QoKS0+c2l6ZSgpLCA0dWwp
OwogICAgIEVYUEVDVF9TVFJFUShzb3VyY2VVbmxpbmthYmxlVG9rZW4tPmdldFN0cmluZygic291
cmNlX2VuZ2FnZW1lbnRfdHlwZSJfcykudXRmOCgpLmRhdGEoKSwgImNsaWNrIik7CkBAIC05MSw3
ICs5MSw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIFZhbGlkQmxpbmRlZFNlY3Jl
dCkKICAgICBjY3JzYWJzc2Ffc2lnbl9ibGluZGVkX21lc3NhZ2UoY2lwaGVyc3VpdGUsIHJzYVBy
aXZhdGVLZXksIGJsaW5kZWRNZXNzYWdlLT5kYXRhKCksIGJsaW5kZWRNZXNzYWdlLT5zaXplKCks
IHN0YXRpY19jYXN0PHVpbnQ4X3QgKj4oW2JsaW5kZWRTaWduYXR1cmUgbXV0YWJsZUJ5dGVzXSks
IFtibGluZGVkU2lnbmF0dXJlIGxlbmd0aF0sIHJuZyk7CiAKICAgICAvLyBDb250aW51ZSB0aGUg
dGVzdC4KLSAgICBFWFBFQ1RfVFJVRShwY20uY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlU2VjcmV0
VG9rZW4oYmFzZTY0VVJMRW5jb2RlVG9TdHJpbmcoW2JsaW5kZWRTaWduYXR1cmUgYnl0ZXNdLCBb
YmxpbmRlZFNpZ25hdHVyZSBsZW5ndGhdKSkpOworICAgIEVYUEVDVF9GQUxTRShwY20uY2FsY3Vs
YXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oYmFzZTY0VVJMRW5jb2RlVG9TdHJpbmcoW2Js
aW5kZWRTaWduYXR1cmUgYnl0ZXNdLCBbYmxpbmRlZFNpZ25hdHVyZSBsZW5ndGhdKSkpOwogICAg
IGF1dG8mIHBlcnNpc3RlbnRUb2tlbiA9IHBjbS5zb3VyY2VVbmxpbmthYmxlVG9rZW4oKTsKICAg
ICBFWFBFQ1RfVFJVRShwZXJzaXN0ZW50VG9rZW4pOwogICAgIEVYUEVDVF9GQUxTRShwZXJzaXN0
ZW50VG9rZW4tPnRva2VuQmFzZTY0VVJMLmlzRW1wdHkoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433115</attachid>
            <date>2021-07-07 21:23:19 -0700</date>
            <delta_ts>2021-07-07 22:10:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227731-20210707212319.patch</filename>
            <type>text/plain</type>
            <size>13860</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ2ZTc1NDAxNThkMjkw
MTkwOTkwZjZmZGVlZTZhNTZjZWY1NzRmYi4uM2EwZWU2N2I1ODNmNjQ2Njk2MjFhYWRkYTc0ZGI0
MWYzZmQ2Yjg4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA3LTA3ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTogQWRkIGVycm9y
IGxvZ2dpbmcgZm9yIENyeXB0b0tpdCBvcGVyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc3MzEKKyAgICAgICAgPHJkYXI6Ly84MDIyMTA1
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgIFJlc29s
dmVzIHRocmVlIEZJWE1FcyBmb3IgZXJyb3IgbG9nZ2luZyBpbiBQQ00ncyBDcnlwdG9LaXQgb3Bl
cmF0aW9ucy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE9ubHkgYWRkZWQgbG9nZ2luZy4KKwor
ICAgICAgICAqIGxvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oOgorICAgICAgICAqIGxv
YWRlci9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVVu
bGlua2FibGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6Y2FsY3VsYXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4pOgorCiAyMDIxLTA3LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW0luZGV4ZWREQl0gVHJh
bnNhY3Rpb24gc2hvdWxkIGJlIGluYWN0aXZlIGR1cmluZyBzdHJ1Y3R1cmVkIGNsb25lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDcwNjRkYzIxY2MwMTlmMWVhZDk1Mzg0YThiODQ4OWM4NjBkMDJhOGUuLmQ4ZjQxMWNl
YmZkNmY4OWRlMWU1ODM5MGQ4MDQ2NDJlODYxMzRlMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDctMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUENNOiBBZGQgZXJyb3IgbG9nZ2luZyBmb3IgQ3J5cHRvS2l0IG9wZXJhdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzczMQorICAg
ICAgICA8cmRhcjovLzgwMjIxMDU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdo
YW0uCisKKyAgICAgICAgUmVzb2x2ZXMgdGhyZWUgRklYTUVzIGZvciBlcnJvciBsb2dnaW5nIGlu
IFBDTSdzIENyeXB0b0tpdCBvcGVyYXRpb25zLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0cmlidXRlZCk6CisgICAgICAg
IChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0U2lnbmVkVW5saW5r
YWJsZVRva2VuKToKKwogMjAyMS0wNy0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93LXVwIHRvIHIyNzk2MDEgdG8gYWRkcmVzcyBz
b21lIGFzc2VydGlvbnMgb24gdGhlIGJvdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5oCmluZGV4IDA2NjNjYmFhNDczMjA2ZjBjMjE4NmMxNTVk
MTA1YWRkMzMyODdhNjkuLjJjMGNhODJkMzZkMmVmNGFiN2E4ZmEwM2NhZGZlYmM1MjVkYTdjY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5o
CkBAIC0zNTQsOCArMzU0LDggQEAgcHVibGljOgogICAgIH07CiAKICNpZiBQTEFURk9STShDT0NP
QSkKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVVubGlu
a2FibGVUb2tlbihjb25zdCBTdHJpbmcmIHNlcnZlclB1YmxpY0tleUJhc2U2NFVSTCk7Ci0gICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihj
b25zdCBTdHJpbmcmIHNlcnZlclJlc3BvbnNlQmFzZTY0VVJMKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlVW5saW5rYWJs
ZVRva2VuKGNvbnN0IFN0cmluZyYgc2VydmVyUHVibGljS2V5QmFzZTY0VVJMKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gY2FsY3VsYXRlQW5kVXBkYXRlU291cmNl
U2VjcmV0VG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2ZXJSZXNwb25zZUJhc2U2NFVSTCk7CiAjZW5k
aWYKIAogICAgIHZvaWQgc2V0U291cmNlVW5saW5rYWJsZVRva2VuVmFsdWUoY29uc3QgU3RyaW5n
JiB2YWx1ZSkgeyBtX3NvdXJjZVVubGlua2FibGVUb2tlbi52YWx1ZUJhc2U2NFVSTCA9IHZhbHVl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY29jb2EvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jb2NvYS9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudENvY29hLm1tCmluZGV4IGI1NTc4ZmEyMjA1ODI5ZDI3YTgyYTUxYWVj
Yzc0ODdiMzE5OTM2MWYuLjIzZDg3YzI3YWExYjVhMWQzYjA2MGQ5ODYxOGJlODc2NTFmYTc4OTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jb2NvYS9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudENvY29hLm1tCkBAIC0zMCw1MCArMzAsNTYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1ib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50OjpjYWxjdWxhdGVBbmRV
cGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2ZXJQdWJsaWNLZXlC
YXNlNjRVUkwpCitzdGQ6Om9wdGlvbmFsPFN0cmluZz4gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6
OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVVubGlua2FibGVUb2tlbihjb25zdCBTdHJpbmcmIHNl
cnZlclB1YmxpY0tleUJhc2U2NFVSTCkKIHsKICNpZiBIQVZFKFJTQV9CU1NBKQogICAgIHsKICAg
ICAgICAgYXV0byBzZXJ2ZXJQdWJsaWNLZXlEYXRhID0gYmFzZTY0VVJMRGVjb2RlKHNlcnZlclB1
YmxpY0tleUJhc2U2NFVSTCk7CiAgICAgICAgIGlmICghc2VydmVyUHVibGljS2V5RGF0YSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiAiQ291bGQgbm90IGRl
Y29kZSB0aGUgc291cmNlJ3MgcHVibGljIGtleSBkYXRhLiJfczsKICAgICAgICAgYXV0byBzZXJ2
ZXJQdWJsaWNLZXkgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJ5dGVzOnNlcnZl
clB1YmxpY0tleURhdGEtPmRhdGEoKSBsZW5ndGg6c2VydmVyUHVibGljS2V5RGF0YS0+c2l6ZSgp
XSk7CiAKLSAgICAgICAgLy8gRklYTUUoMjIyMDE4KTogQ2hlY2sgZXJyb3IuCi0gICAgICAgIG1f
c291cmNlVW5saW5rYWJsZVRva2VuLmJsaW5kZXIgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUlNBQlNT
QVRva2VuQmxpbmRlckluc3RhbmNlKCkgaW5pdFdpdGhQdWJsaWNLZXk6c2VydmVyUHVibGljS2V5
LmdldCgpIGVycm9yOm51bGxwdHJdKTsKKyAgICAgICAgTlNFcnJvciogbnNFcnJvciA9IDA7Cisg
ICAgICAgIG1fc291cmNlVW5saW5rYWJsZVRva2VuLmJsaW5kZXIgPSBhZG9wdE5TKFtQQUw6OmFs
bG9jUlNBQlNTQVRva2VuQmxpbmRlckluc3RhbmNlKCkgaW5pdFdpdGhQdWJsaWNLZXk6c2VydmVy
UHVibGljS2V5LmdldCgpIGVycm9yOiZuc0Vycm9yXSk7CisgICAgICAgIGlmIChuc0Vycm9yKQor
ICAgICAgICAgICAgcmV0dXJuIG5zRXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb247CiAgICAgICAg
IGlmICghbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4uYmxpbmRlcikKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiAiRGlkIG5vdCBnZXQgYSBzb3VyY2UgdW5saW5r
YWJsZSB0b2tlbiBibGluZGVyLiJfczsKICAgICB9CiAKLSAgICAvLyBGSVhNRSgyMjIwMTgpOiBD
aGVjayBlcnJvci4KLSAgICBtX3NvdXJjZVVubGlua2FibGVUb2tlbi53YWl0aW5nVG9rZW4gPSBb
bV9zb3VyY2VVbmxpbmthYmxlVG9rZW4uYmxpbmRlciB0b2tlbldhaXRpbmdBY3RpdmF0aW9uV2l0
aENvbnRlbnQ6bnVsbHB0ciBlcnJvcjpudWxscHRyXTsKKyAgICBOU0Vycm9yKiBuc0Vycm9yID0g
MDsKKyAgICBtX3NvdXJjZVVubGlua2FibGVUb2tlbi53YWl0aW5nVG9rZW4gPSBbbV9zb3VyY2VV
bmxpbmthYmxlVG9rZW4uYmxpbmRlciB0b2tlbldhaXRpbmdBY3RpdmF0aW9uV2l0aENvbnRlbnQ6
bnVsbHB0ciBlcnJvcjombnNFcnJvcl07CisgICAgaWYgKG5zRXJyb3IpCisgICAgICAgIHJldHVy
biBuc0Vycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uOwogICAgIGlmICghbV9zb3VyY2VVbmxpbmth
YmxlVG9rZW4ud2FpdGluZ1Rva2VuKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJl
dHVybiAiRGlkIG5vdCBnZXQgYSBzb3VyY2UgdW5saW5rYWJsZSB0b2tlbiB3YWl0aW5nIHRva2Vu
LiJfczsKIAogICAgIG1fc291cmNlVW5saW5rYWJsZVRva2VuLnZhbHVlQmFzZTY0VVJMID0gYmFz
ZTY0VVJMRW5jb2RlVG9TdHJpbmcoW21fc291cmNlVW5saW5rYWJsZVRva2VuLndhaXRpbmdUb2tl
biBibGluZGVkTWVzc2FnZV0uYnl0ZXMsIFttX3NvdXJjZVVubGlua2FibGVUb2tlbi53YWl0aW5n
VG9rZW4gYmxpbmRlZE1lc3NhZ2VdLmxlbmd0aCk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHNlcnZlclB1YmxpY0tl
eUJhc2U2NFVSTCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiAiVW5saW5rYWJsZSB0
b2tlbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBwbGF0Zm9ybS4iX3M7CiAjZW5kaWYgLy8g
SEFWRShSU0FfQlNTQSkKIH0KIAotYm9vbCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6Y2FsY3Vs
YXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2ZXJSZXNwb25z
ZUJhc2U2NFVSTCkKK3N0ZDo6b3B0aW9uYWw8U3RyaW5nPiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6Y2FsY3VsYXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oY29uc3QgU3RyaW5nJiBzZXJ2
ZXJSZXNwb25zZUJhc2U2NFVSTCkKIHsKICNpZiBIQVZFKFJTQV9CU1NBKQogICAgIGlmICghbV9z
b3VyY2VVbmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rva2VuKQotICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIHJldHVybiAiRGlkIG5vdCBmaW5kIGEgc291cmNlIHVubGlua2FibGUgdG9rZW4g
d2FpdGluZyB0b2tlbi4iX3M7CiAKICAgICB7CiAgICAgICAgIGF1dG8gc2VydmVyUmVzcG9uc2VE
YXRhID0gYmFzZTY0VVJMRGVjb2RlKHNlcnZlclJlc3BvbnNlQmFzZTY0VVJMKTsKICAgICAgICAg
aWYgKCFzZXJ2ZXJSZXNwb25zZURhdGEpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICByZXR1cm4gIkNvdWxkIG5vdCBkZWNvZGUgc291cmNlIHJlc3BvbnNlIGRhdGEuIl9z
OwogICAgICAgICBhdXRvIHNlcnZlclJlc3BvbnNlID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10g
aW5pdFdpdGhCeXRlczpzZXJ2ZXJSZXNwb25zZURhdGEtPmRhdGEoKSBsZW5ndGg6c2VydmVyUmVz
cG9uc2VEYXRhLT5zaXplKCldKTsKIAotICAgICAgICAvLyBGSVhNRSgyMjIwMTgpOiBDaGVjayBl
cnJvci4KLSAgICAgICAgbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ucmVhZHlUb2tlbiA9IFttX3Nv
dXJjZVVubGlua2FibGVUb2tlbi53YWl0aW5nVG9rZW4gYWN0aXZhdGVUb2tlbldpdGhTZXJ2ZXJS
ZXNwb25zZTpzZXJ2ZXJSZXNwb25zZS5nZXQoKSBlcnJvcjpudWxscHRyXTsKKyAgICAgICAgTlNF
cnJvciogbnNFcnJvciA9IDA7CisgICAgICAgIG1fc291cmNlVW5saW5rYWJsZVRva2VuLnJlYWR5
VG9rZW4gPSBbbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ud2FpdGluZ1Rva2VuIGFjdGl2YXRlVG9r
ZW5XaXRoU2VydmVyUmVzcG9uc2U6c2VydmVyUmVzcG9uc2UuZ2V0KCkgZXJyb3I6Jm5zRXJyb3Jd
OworICAgICAgICBpZiAobnNFcnJvcikKKyAgICAgICAgICAgIHJldHVybiBuc0Vycm9yLmxvY2Fs
aXplZERlc2NyaXB0aW9uOwogICAgICAgICBpZiAoIW1fc291cmNlVW5saW5rYWJsZVRva2VuLnJl
YWR5VG9rZW4pCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4g
IkRpZCBub3QgZ2V0IGEgc291cmNlIHVubGlua2FibGUgdG9rZW4gcmVhZHkgdG9rZW4uIl9zOwog
ICAgIH0KIAogICAgIFNvdXJjZVNlY3JldFRva2VuIHRva2VuOwpAQCAtODIsMTAgKzg4LDEwIEBA
IGJvb2wgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNl
Y3JldFRva2VuKGNvbnN0IFN0cmluZyYKICAgICB0b2tlbi5zaWduYXR1cmVCYXNlNjRVUkwgPSBi
YXNlNjRVUkxFbmNvZGVUb1N0cmluZyhbbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ucmVhZHlUb2tl
biBzaWduYXR1cmVdLmJ5dGVzLCBbbV9zb3VyY2VVbmxpbmthYmxlVG9rZW4ucmVhZHlUb2tlbiBz
aWduYXR1cmVdLmxlbmd0aCk7CiAKICAgICBtX3NvdXJjZVNlY3JldFRva2VuID0gV1RGTW92ZSh0
b2tlbik7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKHNlcnZlclJlc3BvbnNlQmFzZTY0VVJMKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuICJVbmxpbmthYmxlIHRva2VucyBhcmUgbm90IHN1cHBvcnRlZCBi
eSB0aGlzIHBsYXRmb3JtLiJfczsKICNlbmRpZiAvLyBIQVZFKFJTQV9CU1NBKQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlci5jcHAKaW5kZXggY2M4NzVhMTc4ZmJhN2NhYWM5MWU2MzZlMjZh
OGMyZjg0MDUyYWYyMC4uZmU3MDcyMjhhMTRkMWMzMzY0MDhkNDZmMjdlZTNhZWY0MjJmYjEwNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApAQCAtODgsOCArODgsMTEgQEAgdm9pZCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKFByaXZhdGVD
bGlja01lYXN1cmVtZW50JiYKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGlvbi5zZXRTb3VyY2VV
bmxpbmthYmxlVG9rZW5WYWx1ZShtX2ZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmctPnVu
bGlua2FibGVUb2tlbik7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgICAgICBlbHNlIHsK
LSAgICAgICAgICAgICAgICBpZiAoIWF0dHJpYnV0aW9uLmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJj
ZVVubGlua2FibGVUb2tlbihwdWJsaWNLZXlCYXNlNjRVUkwpKQorICAgICAgICAgICAgICAgIGlm
IChhdXRvIGVycm9yTWVzc2FnZSA9IGF0dHJpYnV0aW9uLmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJj
ZVVubGlua2FibGVUb2tlbihwdWJsaWNLZXlCYXNlNjRVUkwpKSB7CisgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZv
bGxvd2luZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4o
KTogJyV7cHVibGljfXMiLCBlcnJvck1lc3NhZ2UtPnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAg
ICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nl
c3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSAiX3Ms
ICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KICNlbmRpZgogCkBAIC0yMjEsOCArMjI0LDExIEBAIHZv
aWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRTaWduZWRVbmxpbmthYmxlVG9r
ZW4oUHJpdmF0ZUNsaWNrTWVhc3VyCiAgICAgICAgICAgICBhdHRyaWJ1dGlvbi5zZXRTb3VyY2VT
ZWNyZXRUb2tlbih7IG1fZnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZy0+c2VjcmV0VG9r
ZW4sIG1fZnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZy0+c2lnbmF0dXJlLCBtX2ZyYXVk
UHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmctPmtleUlEIH0pOwogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGlmICghYXR0cmlidXRpb24uY2FsY3VsYXRl
QW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oc2lnbmF0dXJlQmFzZTY0VVJMKSkKKyAgICAgICAg
ICAgIGlmIChhdXRvIGVycm9yTWVzc2FnZSA9IGF0dHJpYnV0aW9uLmNhbGN1bGF0ZUFuZFVwZGF0
ZVNvdXJjZVNlY3JldFRva2VuKHNpZ25hdHVyZUJhc2U2NFVSTCkpIHsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0xPR19JTkZPKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCAiR290IHRoZSBmb2xs
b3dpbmcgZXJyb3IgaW4gY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oKTogJyV7
cHVibGljfXMiLCBlcnJvck1lc3NhZ2UtPnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgICAg
IG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBN
ZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpFcnJv
ciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdICJfcywgKmVycm9yTWVz
c2FnZSkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCAxN2JmMWY5NDMxNzA2YWFkNjFiMGUzMWM4ZmIwNzk0NjcxOTEyOWIzLi4wZmE1NTAy
M2EzODVmZmE5MzZhYmYzMTMyNDA4ZTk2NWFkNjhmZWMxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjEtMDctMDcg
IEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBBZGQg
ZXJyb3IgbG9nZ2luZyBmb3IgQ3J5cHRvS2l0IG9wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzczMQorICAgICAgICA8cmRhcjovLzgw
MjIxMDU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAg
UmVzb2x2ZXMgdGhyZWUgRklYTUVzIGZvciBlcnJvciBsb2dnaW5nIGluIFBDTSdzIENyeXB0b0tp
dCBvcGVyYXRpb25zLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1By
aXZhdGVDbGlja01lYXN1cmVtZW50LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorICAgICAgICAgICAgTm93IGV4cGVjdHMgYW4gb3B0aW9uYWwgc3RyaW5nIGluc3RlYWQgb2Yg
YSBib29sIGZyb20gdGhlIGZ1bmN0aW9uCisgICAgICAgICAgICBjYWxscyB3aGljaCBtZWFucyBF
WFBFQ1RfVFJVRSBoYXMgYmVjb21lIEVYUEVDVF9GQUxTRS4gVGhlIG9wdGlvbmFsCisgICAgICAg
ICAgICBzdHJpbmcgaXMgbm9uLW51bGxvcHQgaWYgaXQgY2FycmllcyBhbiBlcnJvciBtZXNzYWdl
LgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudENvY29hLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICAgICBOb3cgZXhwZWN0cyBhbiBvcHRpb25hbCBzdHJpbmcgaW5zdGVhZCBvZiBhIGJv
b2wgZnJvbSB0aGUgZnVuY3Rpb24KKyAgICAgICAgICAgIGNhbGxzIHdoaWNoIG1lYW5zIEVYUEVD
VF9UUlVFIGhhcyBiZWNvbWUgRVhQRUNUX0ZBTFNFLiBUaGUgb3B0aW9uYWwKKyAgICAgICAgICAg
IHN0cmluZyBpcyBub24tbnVsbG9wdCBpZiBpdCBjYXJyaWVzIGFuIGVycm9yIG1lc3NhZ2UuCisK
IDIwMjEtMDctMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUENNOiBBUEkgdGVzdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5WYWxpZEJsaW5kZWRTZWNy
ZXQgaXMgZmFpbGluZyBvbiBwbGF0Zm9ybXMgd2l0aCBSU0FCU1NBCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50LmNwcAppbmRleCBlNjQ3MThmYjYwMzJjYjVjYmE1NTU4ZTMyMjRkMjNmYjRkZWZjNzQ1Li5h
NTJkM2NkY2JhN2UxNDdkZWJkOGVkNWUxMDg4YzkyZjQzNTY3ODQ3IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC5jcHAKQEAgLTMyMCwxMSArMzIwLDEzIEBAIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQsIEludmFsaWRCbGluZGVkU2VjcmV0KQogICAgIEVYUEVDVF9UUlVFKGVwaGVtZXJhbE5v
bmNlLmlzVmFsaWQoKSk7CiAgICAgcGNtLnNldEVwaGVtZXJhbFNvdXJjZU5vbmNlKFdURk1vdmUo
ZXBoZW1lcmFsTm9uY2UpKTsKIAotICAgIEVYUEVDVF9UUlVFKHBjbS5jYWxjdWxhdGVBbmRVcGRh
dGVTb3VyY2VVbmxpbmthYmxlVG9rZW4oc2VydmVyUHVibGljS2V5QmFzZTY0VVJMKSk7CisgICAg
YXV0byBlcnJvck1lc3NhZ2UgPSBwY20uY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlVW5saW5rYWJs
ZVRva2VuKHNlcnZlclB1YmxpY0tleUJhc2U2NFVSTCk7CisgICAgRVhQRUNUX0ZBTFNFKGVycm9y
TWVzc2FnZSk7CiAgICAgc291cmNlVW5saW5rYWJsZVRva2VuID0gcGNtLnRva2VuU2lnbmF0dXJl
SlNPTigpOwogICAgIEVYUEVDVF9FUShzb3VyY2VVbmxpbmthYmxlVG9rZW4tPmFzT2JqZWN0KCkt
PnNpemUoKSwgNHVsKTsKIAotICAgIEVYUEVDVF9GQUxTRShwY20uY2FsY3VsYXRlQW5kVXBkYXRl
U291cmNlU2VjcmV0VG9rZW4oZW1wdHlTdHJpbmcoKSkpOworICAgIGVycm9yTWVzc2FnZSA9IHBj
bS5jYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbihlbXB0eVN0cmluZygpKTsKKyAg
ICBFWFBFQ1RfVFJVRShlcnJvck1lc3NhZ2UpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudENvY29hLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1By
aXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0KaW5kZXggZjhhOGZmODVlODhjYjcwMGU4ZTY4
ZTBlMWJhZWUxODIzZWViMWEzMi4uMzk1YjU4NmNkMjU1MGFjNjUzOTVjOTdlOTYwOWZkNTViMDkx
N2Q2YyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29h
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL2NvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0KQEAg
LTc2LDcgKzc2LDggQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgVmFsaWRCbGluZGVk
U2VjcmV0KQogICAgIGF1dG8gKm5zU3BraURhdGEgPSAoX19icmlkZ2UgTlNEYXRhICopc3BraURh
dGEuZ2V0KCk7CiAKICAgICAvLyBDb250aW51ZSB0aGUgdGVzdC4KLSAgICBFWFBFQ1RfVFJVRShw
Y20uY2FsY3VsYXRlQW5kVXBkYXRlU291cmNlVW5saW5rYWJsZVRva2VuKGJhc2U2NFVSTEVuY29k
ZVRvU3RyaW5nKG5zU3BraURhdGEuYnl0ZXMsIG5zU3BraURhdGEubGVuZ3RoKSkpOworICAgIGF1
dG8gZXJyb3JNZXNzYWdlID0gcGNtLmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVVubGlua2FibGVU
b2tlbihiYXNlNjRVUkxFbmNvZGVUb1N0cmluZyhuc1Nwa2lEYXRhLmJ5dGVzLCBuc1Nwa2lEYXRh
Lmxlbmd0aCkpOworICAgIEVYUEVDVF9GQUxTRShlcnJvck1lc3NhZ2UpOwogICAgIGF1dG8gc291
cmNlVW5saW5rYWJsZVRva2VuID0gcGNtLnRva2VuU2lnbmF0dXJlSlNPTigpOwogICAgIEVYUEVD
VF9FUShzb3VyY2VVbmxpbmthYmxlVG9rZW4tPmFzT2JqZWN0KCktPnNpemUoKSwgNHVsKTsKICAg
ICBFWFBFQ1RfU1RSRVEoc291cmNlVW5saW5rYWJsZVRva2VuLT5nZXRTdHJpbmcoInNvdXJjZV9l
bmdhZ2VtZW50X3R5cGUiX3MpLnV0ZjgoKS5kYXRhKCksICJjbGljayIpOwpAQCAtOTEsNyArOTIs
OCBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBWYWxpZEJsaW5kZWRTZWNyZXQpCiAg
ICAgY2Nyc2Fic3NhX3NpZ25fYmxpbmRlZF9tZXNzYWdlKGNpcGhlcnN1aXRlLCByc2FQcml2YXRl
S2V5LCBibGluZGVkTWVzc2FnZS0+ZGF0YSgpLCBibGluZGVkTWVzc2FnZS0+c2l6ZSgpLCBzdGF0
aWNfY2FzdDx1aW50OF90ICo+KFtibGluZGVkU2lnbmF0dXJlIG11dGFibGVCeXRlc10pLCBbYmxp
bmRlZFNpZ25hdHVyZSBsZW5ndGhdLCBybmcpOwogCiAgICAgLy8gQ29udGludWUgdGhlIHRlc3Qu
Ci0gICAgRVhQRUNUX1RSVUUocGNtLmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJjZVNlY3JldFRva2Vu
KGJhc2U2NFVSTEVuY29kZVRvU3RyaW5nKFtibGluZGVkU2lnbmF0dXJlIGJ5dGVzXSwgW2JsaW5k
ZWRTaWduYXR1cmUgbGVuZ3RoXSkpKTsKKyAgICBlcnJvck1lc3NhZ2UgPSBwY20uY2FsY3VsYXRl
QW5kVXBkYXRlU291cmNlU2VjcmV0VG9rZW4oYmFzZTY0VVJMRW5jb2RlVG9TdHJpbmcoW2JsaW5k
ZWRTaWduYXR1cmUgYnl0ZXNdLCBbYmxpbmRlZFNpZ25hdHVyZSBsZW5ndGhdKSk7CisgICAgRVhQ
RUNUX0ZBTFNFKGVycm9yTWVzc2FnZSk7CiAgICAgYXV0byYgcGVyc2lzdGVudFRva2VuID0gcGNt
LnNvdXJjZVVubGlua2FibGVUb2tlbigpOwogICAgIEVYUEVDVF9UUlVFKHBlcnNpc3RlbnRUb2tl
bik7CiAgICAgRVhQRUNUX0ZBTFNFKHBlcnNpc3RlbnRUb2tlbi0+dG9rZW5CYXNlNjRVUkwuaXNF
bXB0eSgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>