<?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>224191</bug_id>
          
          <creation_ts>2021-04-05 10:15:17 -0700</creation_ts>
          <short_desc>REGRESSION(r267763) NetworkProcess never terminates</short_desc>
          <delta_ts>2021-04-05 21:03:40 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1746995</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-05 10:15:17 -0700</bug_when>
    <thetext>REGRESSION(r267763) NetworkProcess never terminates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746999</commentid>
    <comment_count>1</comment_count>
      <attachid>425168</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-05 10:19:35 -0700</bug_when>
    <thetext>Created attachment 425168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747000</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-05 10:19:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/76124590&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747010</commentid>
    <comment_count>3</comment_count>
      <attachid>425168</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-05 10:37:09 -0700</bug_when>
    <thetext>Comment on attachment 425168
Patch

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

&gt; Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:1289
&gt; +        terminate();

Why are we calling terminate() instead of clearing the defaultNetworkProcess (which should deallocate the NetworkProcessProxy and cause the process to go away)?

While both are fairly similar, I think clearing the default network process might be nicer for a few reasons:
1. This is what we used to do. When destroying the WebProcessPool, we would deallocate the NetworkProcessProxy and it would just go away (no termination involved)
2. There is a slight risk that there could be code somewhere with a RefPtr&lt;&gt; to a NetworkProcess (e.g. for some kind of transient operation) and terminate would abruptly interrupt the operation instead of letting it finish.
3. Youl will likely run more code doing a termination (due to termination handling) when simple destruction.

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:381
&gt; +        NetworkProcessProxy::defaultNetworkProcess()-&gt;terminate();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747028</commentid>
    <comment_count>4</comment_count>
      <attachid>425178</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-05 11:32:07 -0700</bug_when>
    <thetext>Created attachment 425178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747035</commentid>
    <comment_count>5</comment_count>
      <attachid>425178</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-05 11:41:41 -0700</bug_when>
    <thetext>Comment on attachment 425178
Patch

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

r=me with naming change.

&gt; Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:104
&gt; +RefPtr&lt;NetworkProcessProxy&gt;&amp; NetworkProcessProxy::defaultNetworkProcessPtr()

I think the WebKit pattern is:
defaultNetworkProcessIfExists()

I don&apos;t like the Ptr() naming. When I saw it, it really wasn&apos;t clear to me what it meant.

If you don&apos;t like defaultNetworkProcessIfExists(), I guess we could call this one defaultNetworkProcess() and the one below: ensureDefaultNetworkProcess().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747040</commentid>
    <comment_count>6</comment_count>
      <attachid>425181</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-05 11:54:22 -0700</bug_when>
    <thetext>Created attachment 425181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747266</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-05 21:03:37 -0700</bug_when>
    <thetext>Committed r275487: &lt;https://commits.webkit.org/r275487&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425181.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425168</attachid>
            <date>2021-04-05 10:19:35 -0700</date>
            <delta_ts>2021-04-05 11:32:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224191-20210405101934.patch</filename>
            <type>text/plain</type>
            <size>9324</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY1ZDY3NTE3ZmYyMGM3NWM4
NzBlNjJlMDE4OWFhMmI5ZDllNGI1ODEuLjI1MDgwNTMzNDg1YTZjMGY0ZmE2M2VlMTM0ZjdkMjM5
M2JkYjA5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDQtMDUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9O
KHIyNjc3NjMpIE5ldHdvcmtQcm9jZXNzIG5ldmVyIHRlcm1pbmF0ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5MQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzYxMjQ1OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQmVmb3JlIHIyNjc3NjMsIHdoZW4gYSBXZWJQcm9jZXNzUG9vbCB3YXMgZGVh
bGxvY2F0ZWQsIHRoZSBOZXR3b3JrUHJvY2VzcyBpdCBvd25lZCB3YXMgdGVybWluYXRlZC4KKyAg
ICAgICAgU2luY2UgdGhlbiwgb25jZSB5b3Ugc3RhcnQgdXNpbmcgYSBOZXR3b3JrUHJvY2Vzcywg
aXQgd2lsbCBiZSBrZXB0IHVudGlsIHlvdXIgYXBwIGNsb3NlcyBvciBpdCBjcmFzaGVzLgorICAg
ICAgICBUbyByZWNsYWltIHRoZXNlIHJlc291cmNlcyBpbiBhIHdheSBzaW1pbGFyIHRvIGhvdyB3
ZSBkaWQgYmVmb3JlLCB3ZSBub3cgdGVybWluYXRlIHRoZSBuZXR3b3JrIHByb2Nlc3MgaW4gdHdv
IHNpdHVhdGlvbnM6CisgICAgICAgIDEuIElmIGFsbCBXZWJzaXRlRGF0YVN0b3JlcyBhc3NvY2lh
dGVkIHdpdGggaXQgYXJlIGRlYWxsb2NhdGVkLiAgVGhpcyBoYXBwZW5zIGlmIHlvdSBoYXZlIG5l
dmVyIHVzZWQgdGhlIGRlZmF1bHQgV0tXZWJzaXRlRGF0YVN0b3JlLgorICAgICAgICAyLiBJZiBh
bGwgV2ViUHJvY2Vzc1Bvb2xzIGFyZSBkZWFsbG9jYXRlZC4gIFRoaXMgY2FuIHN0aWxsIGhhcHBl
biBpZiB5b3UgZG8gdXNlIHRoZSBkZWZhdWx0IFdLV2Vic2l0ZURhdGFTdG9yZSwgd2hpY2ggaXMg
bmV2ZXIgZGVhbGxvY2F0ZWQuCisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAg
ICAgKCtbV0tXZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9j
ZXNzRXhpc3RzKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6cmVtb3Zl
U2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp+V2ViUHJvY2Vzc1Bvb2wpOgorCiAyMDIxLTA0LTAyICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFVQXSBQb3dlciBy
ZWdyZXNzaW9uOiBhdWRpbyBoYXJkd2FyZSBpcyBjb25maWd1cmVkIGZvciAxMjggZnJhbWUgcHJl
ZmVycmVkIGJ1ZmZlciBzaXplIGR1cmluZyBWaWRlb0F1ZGlvIHBsYXliYWNrCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5t
bQppbmRleCBjMzkzNDU1MmEyM2MwNTE4Y2VkYzVhYTliODdkNGQ1YzY1MGNkMDU2Li43Njg0OTNh
YzA3YjQ5NDRmYWIzYzlhYmIxZjU3MGE3NWY4MGE3ZWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KQEAgLTI5
LDYgKzI5LDcgQEAKICNpbXBvcnQgIkFQSVN0cmluZy5oIgogI2ltcG9ydCAiQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VEaXNwb3NpdGlvbkNvY29hLmgiCiAjaW1wb3J0ICJDb21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyLmgiCisjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0
ICJTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MuaCIKICNpbXBvcnQgIldLSFRUUENvb2tpZVN0
b3JlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLTlNBcnJheS5oIgpAQCAtNzI0LDQgKzcyNSw5IEBA
IHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gdG9XZWJzaXRlRGF0YVJl
Y29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAgICAgcmV0dXJuICEhX3dlYnNpdGVEYXRhU3RvcmUt
Pm5ldHdvcmtQcm9jZXNzSWZFeGlzdHMoKTsKIH0KIAorKyAoQk9PTClfZGVmYXVsdE5ldHdvcmtQ
cm9jZXNzRXhpc3RzCit7CisgICAgcmV0dXJuIFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6
ZGVmYXVsdE5ldHdvcmtQcm9jZXNzRXhpc3RzKCk7Cit9CisKIEBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
UHJpdmF0ZS5oCmluZGV4IDdlOGFiZWM2ODk3ZDI5YjcyNzMzZGY1MGI0NGFmODk5ZDJjNmFmNjMu
LmUxNTNiNWVmMTA5ZTk1MTFmNDVhOWE1YTZmODJhOWE4NWI3NDA4Y2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFT
dG9yZVByaXZhdGUuaApAQCAtOTgsNiArOTgsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLV2Vic2l0ZURhdGFTdG9yZUZldGNoT3B0aW9ucykgewogLSAocGlkX3QpX25ldHdv
cmtQcm9jZXNzSWRlbnRpZmllciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwogKyAodm9pZClfbWFrZU5leHROZXR3b3JrUHJvY2Vzc0xhdW5jaEZh
aWxGb3JUZXN0aW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAtIChCT09MKV9uZXR3b3JrUHJvY2Vzc0V4aXN0cyBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworKyAoQk9PTClfZGVmYXVsdE5l
dHdvcmtQcm9jZXNzRXhpc3RzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggNTA2NmQ5M2E4Zjcz
ZWYxZWVjMzM3MjQyZGZkZWEwYTUzZDMwYjc1ZS4uYTcyZmY3M2ViOGM0ZTkyYzVlZDhmZDI1N2Qw
MGE1ZTRkOGIxMmFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xMDcsNiArMTA3LDExIEBAIHN0YXRp
YyBSZWZQdHI8TmV0d29ya1Byb2Nlc3NQcm94eT4mIGRlZmF1bHRQcm9jZXNzKCkKICAgICByZXR1
cm4gcHJvY2Vzcy5nZXQoKTsKIH0KIAorYm9vbCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWZhdWx0
TmV0d29ya1Byb2Nlc3NFeGlzdHMoKQoreworICAgIHJldHVybiAhIWRlZmF1bHRQcm9jZXNzKCk7
Cit9CisKIFJlZjxOZXR3b3JrUHJvY2Vzc1Byb3h5PiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWZh
dWx0TmV0d29ya1Byb2Nlc3MoKQogewogICAgIGlmICghZGVmYXVsdFByb2Nlc3MoKSkKQEAgLTEy
NzksNiArMTI4NCw5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbihX
ZWJzaXRlRGF0YVN0b3JlJiB3ZWJzaXRlRGF0YVN0b3JlKQogCiAgICAgaWYgKGNhblNlbmRNZXNz
YWdlKCkpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpEZXN0cm95U2Vz
c2lvbiB7IHdlYnNpdGVEYXRhU3RvcmUuc2Vzc2lvbklEKCkgfSwgMCk7CisKKyAgICBpZiAobV93
ZWJzaXRlRGF0YVN0b3Jlcy5jb21wdXRlc0VtcHR5KCkpCisgICAgICAgIHRlcm1pbmF0ZSgpOwog
fQogCiBXZWJzaXRlRGF0YVN0b3JlKiBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojp3ZWJzaXRlRGF0YVN0
b3JlRnJvbVNlc3Npb25JRChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4
IDMxYzEyNjliNGE2ZTM4ZGIxNmI3Njc5YTI0ZTc2OTVhYTJiNzg3ZGEuLjU5ZmEwZDQ1ODllMzNk
NGRlMDE1NzE1OTljOWRiNWE4MzgyZDljMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xMDksNiArMTA5LDcg
QEAgcHVibGljOgogICAgIHVzaW5nIE9wZW5lckRvbWFpbiA9IFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluOwogCiAgICAgc3RhdGljIFJlZjxOZXR3b3JrUHJvY2Vzc1Byb3h5PiBkZWZhdWx0TmV0
d29ya1Byb2Nlc3MoKTsKKyAgICBzdGF0aWMgYm9vbCBkZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlz
dHMoKTsKICAgICBzdGF0aWMgUmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+IGNyZWF0ZSgpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgTmV0d29ya1Byb2Nlc3NQcm94eSk7IH0KICAgICB+TmV0d29ya1By
b2Nlc3NQcm94eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKaW5kZXggNTU4MjgwNjY2Zjk0ZjUxMGQ0OTQxYzg4NmE4YWMxMjNjYzcwNGY0ZC4uMjM0MDA3
MjYyNTBmNmMzY2FhOGU5NmNlY2M4NmY4NGM2MTE1ODQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMzc2LDYgKzM3Niw5IEBAIFdlYlByb2Nlc3NQ
b29sOjp+V2ViUHJvY2Vzc1Bvb2woKQogCiAgICAgICAgIHByb2Nlc3MtPnNodXREb3duKCk7CiAg
ICAgfQorCisgICAgaWYgKHByb2Nlc3NQb29scygpLmlzRW1wdHkoKSAmJiBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpkZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHMoKSkKKyAgICAgICAgTmV0d29ya1By
b2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCktPnRlcm1pbmF0ZSgpOwogfQogCiB2
b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplQ2xpZW50KGNvbnN0IFdLQ29udGV4dENsaWVu
dEJhc2UqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCAxMDRkNjc4OTYzODcyMzM2YTRmMTBlOGIzODRiZWJlYjE3ZGMzZWJhLi4zMjJm
YTZjNDZhYzk2OTA2NmFmMTk2YmQ3ZDdlNjhmN2JmYzdiMDg4IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDQt
MDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBSRUdSRVNTSU9OKHIyNjc3NjMpIE5ldHdvcmtQcm9jZXNzIG5ldmVyIHRlcm1pbmF0ZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzYxMjQ1OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L05ldHdvcmtQcm9jZXNzLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMDQtMDIgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXS1VSTFNjaGVtZVRh
c2sgcmVkaXJlY3QgQVBJLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0KaW5kZXggNDRjOTMxZjA0MDkzOWY1MjA1ZGQ2
MTE2NGIxYzU0MDUyMjQ2ZmRmMy4uZjRkMWVmODliMjdhNjg0Yjc1M2ZkZjNjOWUzY2EwMGE2ZGFl
ZTQxZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9O
ZXR3b3JrUHJvY2Vzcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL05ldHdvcmtQcm9jZXNzLm1tCkBAIC0zNiw3ICszNiw3IEBACiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKLVRFU1QoV2ViS2l0LCBOZXR3b3Jr
UHJvY2Vzc0VudGl0bGVtZW50cykKK1RFU1QoTmV0d29ya1Byb2Nlc3MsIEVudGl0bGVtZW50cykK
IHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSkuZ2V0KCldKTsKICAgICBb
d2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKQEAgLTgy
LDcgKzgyLDcgQEAgVEVTVChXZWJLaXQsIEhUVFBSZWZlcmVyKQogICAgIGNoZWNrUmVmZXJlcihb
TlNVUkwgVVJMV2l0aFN0cmluZzpzaG9ydGVySG9zdF0sIHNob3J0ZXJIb3N0LlVURjhTdHJpbmcp
OwogfQogCi1URVNUKFdlYktpdCwgTmV0d29ya1Byb2Nlc3NMYXVuY2hPbmx5V2hlbk5lY2Vzc2Fy
eSkKK1RFU1QoTmV0d29ya1Byb2Nlc3MsIExhdW5jaE9ubHlXaGVuTmVjZXNzYXJ5KQogewogICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1dLV2ViVmlldyBuZXddKTsKICAgICBbd2ViVmlldyBj
b25maWd1cmF0aW9uXS53ZWJzaXRlRGF0YVN0b3JlLl9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZCA9IFlFUzsKQEAgLTkxLDcgKzkxLDcgQEAgVEVTVChXZWJLaXQsIE5ldHdvcmtQcm9jZXNz
TGF1bmNoT25seVdoZW5OZWNlc3NhcnkpCiAgICAgRVhQRUNUX0ZBTFNFKFtbd2ViVmlldyBjb25m
aWd1cmF0aW9uXS53ZWJzaXRlRGF0YVN0b3JlIF9uZXR3b3JrUHJvY2Vzc0V4aXN0c10pOwogfQog
Ci1URVNUKFdlYktpdCwgTmV0d29ya1Byb2Nlc3NDcmFzaFdoZW5Ob3RBc3NvY2lhdGVkV2l0aERh
dGFTdG9yZSkKK1RFU1QoTmV0d29ya1Byb2Nlc3MsIENyYXNoV2hlbk5vdEFzc29jaWF0ZWRXaXRo
RGF0YVN0b3JlKQogewogICAgIHBpZF90IG5ldHdvcmtQcm9jZXNzUElEID0gMDsKICAgICBAYXV0
b3JlbGVhc2Vwb29sIHsKQEAgLTEyMCwzICsxMjAsMjggQEAgVEVTVChXZWJLaXQsIE5ldHdvcmtQ
cm9jZXNzQ3Jhc2hXaGVuTm90QXNzb2NpYXRlZFdpdGhEYXRhU3RvcmUpCiAgICAgW3dlYlZpZXcg
c3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIl07CiAgICAgRVhQRUNUX05F
KG5ldHdvcmtQcm9jZXNzUElELCBbd2ViVmlldyBjb25maWd1cmF0aW9uXS53ZWJzaXRlRGF0YVN0
b3JlLl9uZXR3b3JrUHJvY2Vzc0lkZW50aWZpZXIpOwogfQorCitURVNUKE5ldHdvcmtQcm9jZXNz
LCBUZXJtaW5hdGVXaGVuVW51c2VkKQoreworICAgIFJldGFpblB0cjxXS1Byb2Nlc3NQb29sPiBy
ZXRhaW5lZFBvb2w7CisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
CisgICAgICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9IFtXS1dlYnNp
dGVEYXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV07CisgICAgICAgIHJldGFpbmVkUG9v
bCA9IGNvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2w7CisgICAgICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCAwLCAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICAgICAg
W3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIl07CisgICAg
ICAgIEVYUEVDVF9UUlVFKFtXS1dlYnNpdGVEYXRhU3RvcmUgX2RlZmF1bHROZXR3b3JrUHJvY2Vz
c0V4aXN0c10pOworICAgIH0KKyAgICB3aGlsZSAoW1dLV2Vic2l0ZURhdGFTdG9yZSBfZGVmYXVs
dE5ldHdvcmtQcm9jZXNzRXhpc3RzXSkKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c3Bp
blJ1bkxvb3AoKTsKKyAgICAKKyAgICByZXRhaW5lZFBvb2wgPSBuaWw7CisgICAgCisgICAgQGF1
dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1dLV2ViVmll
dyBuZXddKTsKKyAgICAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVk
OkAic2ltcGxlIl07CisgICAgICAgIEVYUEVDVF9UUlVFKFtXS1dlYnNpdGVEYXRhU3RvcmUgX2Rl
ZmF1bHROZXR3b3JrUHJvY2Vzc0V4aXN0c10pOworICAgIH0KKyAgICB3aGlsZSAoW1dLV2Vic2l0
ZURhdGFTdG9yZSBfZGVmYXVsdE5ldHdvcmtQcm9jZXNzRXhpc3RzXSkKKyAgICAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6c3BpblJ1bkxvb3AoKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425178</attachid>
            <date>2021-04-05 11:32:07 -0700</date>
            <delta_ts>2021-04-05 11:54:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224191-20210405113206.patch</filename>
            <type>text/plain</type>
            <size>10297</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY1ZDY3NTE3ZmYyMGM3NWM4
NzBlNjJlMDE4OWFhMmI5ZDllNGI1ODEuLjI1MDgwNTMzNDg1YTZjMGY0ZmE2M2VlMTM0ZjdkMjM5
M2JkYjA5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDQtMDUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9O
KHIyNjc3NjMpIE5ldHdvcmtQcm9jZXNzIG5ldmVyIHRlcm1pbmF0ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5MQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzYxMjQ1OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQmVmb3JlIHIyNjc3NjMsIHdoZW4gYSBXZWJQcm9jZXNzUG9vbCB3YXMgZGVh
bGxvY2F0ZWQsIHRoZSBOZXR3b3JrUHJvY2VzcyBpdCBvd25lZCB3YXMgdGVybWluYXRlZC4KKyAg
ICAgICAgU2luY2UgdGhlbiwgb25jZSB5b3Ugc3RhcnQgdXNpbmcgYSBOZXR3b3JrUHJvY2Vzcywg
aXQgd2lsbCBiZSBrZXB0IHVudGlsIHlvdXIgYXBwIGNsb3NlcyBvciBpdCBjcmFzaGVzLgorICAg
ICAgICBUbyByZWNsYWltIHRoZXNlIHJlc291cmNlcyBpbiBhIHdheSBzaW1pbGFyIHRvIGhvdyB3
ZSBkaWQgYmVmb3JlLCB3ZSBub3cgdGVybWluYXRlIHRoZSBuZXR3b3JrIHByb2Nlc3MgaW4gdHdv
IHNpdHVhdGlvbnM6CisgICAgICAgIDEuIElmIGFsbCBXZWJzaXRlRGF0YVN0b3JlcyBhc3NvY2lh
dGVkIHdpdGggaXQgYXJlIGRlYWxsb2NhdGVkLiAgVGhpcyBoYXBwZW5zIGlmIHlvdSBoYXZlIG5l
dmVyIHVzZWQgdGhlIGRlZmF1bHQgV0tXZWJzaXRlRGF0YVN0b3JlLgorICAgICAgICAyLiBJZiBh
bGwgV2ViUHJvY2Vzc1Bvb2xzIGFyZSBkZWFsbG9jYXRlZC4gIFRoaXMgY2FuIHN0aWxsIGhhcHBl
biBpZiB5b3UgZG8gdXNlIHRoZSBkZWZhdWx0IFdLV2Vic2l0ZURhdGFTdG9yZSwgd2hpY2ggaXMg
bmV2ZXIgZGVhbGxvY2F0ZWQuCisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAg
ICAgKCtbV0tXZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9j
ZXNzRXhpc3RzKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6cmVtb3Zl
U2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp+V2ViUHJvY2Vzc1Bvb2wpOgorCiAyMDIxLTA0LTAyICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFVQXSBQb3dlciBy
ZWdyZXNzaW9uOiBhdWRpbyBoYXJkd2FyZSBpcyBjb25maWd1cmVkIGZvciAxMjggZnJhbWUgcHJl
ZmVycmVkIGJ1ZmZlciBzaXplIGR1cmluZyBWaWRlb0F1ZGlvIHBsYXliYWNrCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5t
bQppbmRleCBjMzkzNDU1MmEyM2MwNTE4Y2VkYzVhYTliODdkNGQ1YzY1MGNkMDU2Li4wM2YwMGZj
MTc2NjljY2EzY2I5ZWU4NjRjYzkyNDlmZTgwMjRhNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KQEAgLTI5
LDYgKzI5LDcgQEAKICNpbXBvcnQgIkFQSVN0cmluZy5oIgogI2ltcG9ydCAiQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VEaXNwb3NpdGlvbkNvY29hLmgiCiAjaW1wb3J0ICJDb21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyLmgiCisjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0
ICJTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MuaCIKICNpbXBvcnQgIldLSFRUUENvb2tpZVN0
b3JlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLTlNBcnJheS5oIgpAQCAtNzI0LDQgKzcyNSw5IEBA
IHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gdG9XZWJzaXRlRGF0YVJl
Y29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAgICAgcmV0dXJuICEhX3dlYnNpdGVEYXRhU3RvcmUt
Pm5ldHdvcmtQcm9jZXNzSWZFeGlzdHMoKTsKIH0KIAorKyAoQk9PTClfZGVmYXVsdE5ldHdvcmtQ
cm9jZXNzRXhpc3RzCit7CisgICAgcmV0dXJuICEhV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpkZWZhdWx0TmV0d29ya1Byb2Nlc3NQdHIoKTsKK30KKwogQGVuZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQ
cml2YXRlLmgKaW5kZXggN2U4YWJlYzY4OTdkMjliNzI3MzNkZjUwYjQ0YWY4OTlkMmM2YWY2My4u
ZTE1M2I1ZWYxMDllOTUxMWY0NWE5YTVhNmY4MmE5YTg1Yjc0MDhjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0
b3JlUHJpdmF0ZS5oCkBAIC05OCw2ICs5OCw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25zKSB7CiAtIChwaWRfdClfbmV0d29y
a1Byb2Nlc3NJZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiArICh2b2lkKV9tYWtlTmV4dE5ldHdvcmtQcm9jZXNzTGF1bmNoRmFp
bEZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIC0gKEJPT0wpX25ldHdvcmtQcm9jZXNzRXhpc3RzIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisrIChCT09MKV9kZWZhdWx0TmV0
d29ya1Byb2Nlc3NFeGlzdHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1MDY2ZDkzYThmNzNl
ZjFlZWMzMzcyNDJkZmRlYTBhNTNkMzBiNzVlLi42NDU0ZTVjNDA5MDc2NWJmYTM5ZjllOGZlOTBj
NTk0YjNhNmRjOTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCBWZWN0b3I8
UmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+PiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjphbGxOZXR3b3Jr
UHJvY2Vzc2VzKCkKICAgICByZXR1cm4gcHJvY2Vzc2VzOwogfQogCi1zdGF0aWMgUmVmUHRyPE5l
dHdvcmtQcm9jZXNzUHJveHk+JiBkZWZhdWx0UHJvY2VzcygpCitSZWZQdHI8TmV0d29ya1Byb2Nl
c3NQcm94eT4mIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRlZmF1bHROZXR3b3JrUHJvY2Vzc1B0cigp
CiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlZlB0cjxOZXR3b3JrUHJvY2Vzc1Byb3h5
Pj4gcHJvY2VzczsKICAgICByZXR1cm4gcHJvY2Vzcy5nZXQoKTsKQEAgLTEwOSw5ICsxMDksOSBA
QCBzdGF0aWMgUmVmUHRyPE5ldHdvcmtQcm9jZXNzUHJveHk+JiBkZWZhdWx0UHJvY2VzcygpCiAK
IFJlZjxOZXR3b3JrUHJvY2Vzc1Byb3h5PiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWZhdWx0TmV0
d29ya1Byb2Nlc3MoKQogewotICAgIGlmICghZGVmYXVsdFByb2Nlc3MoKSkKLSAgICAgICAgZGVm
YXVsdFByb2Nlc3MoKSA9IE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZSgpOwotICAgIHJldHVy
biAqZGVmYXVsdFByb2Nlc3MoKTsKKyAgICBpZiAoIWRlZmF1bHROZXR3b3JrUHJvY2Vzc1B0cigp
KQorICAgICAgICBkZWZhdWx0TmV0d29ya1Byb2Nlc3NQdHIoKSA9IE5ldHdvcmtQcm9jZXNzUHJv
eHk6OmNyZWF0ZSgpOworICAgIHJldHVybiAqZGVmYXVsdE5ldHdvcmtQcm9jZXNzUHRyKCk7CiB9
CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6dGVybWluYXRlKCkKQEAgLTMxMCw4ICszMTAs
OCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRl
KFRlcm1pbmF0aW9uUmVhc29uIHJlYXNvbikKIAogICAgIG1fdXBsb2FkQWN0aXZpdHkgPSBXVEY6
Om51bGxvcHQ7CiAKLSAgICBpZiAoZGVmYXVsdFByb2Nlc3MoKSA9PSB0aGlzKQotICAgICAgICBk
ZWZhdWx0UHJvY2VzcygpID0gbnVsbHB0cjsKKyAgICBpZiAoZGVmYXVsdE5ldHdvcmtQcm9jZXNz
UHRyKCkgPT0gdGhpcykKKyAgICAgICAgZGVmYXVsdE5ldHdvcmtQcm9jZXNzUHRyKCkgPSBudWxs
cHRyOwogCiAgICAgUmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+IHByb3RlY3RlZFRoaXMoKnRoaXMp
OwogICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vz
c1Bvb2xzKCkpCkBAIC0xMjc5LDYgKzEyNzksOSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6
OnJlbW92ZVNlc3Npb24oV2Vic2l0ZURhdGFTdG9yZSYgd2Vic2l0ZURhdGFTdG9yZSkKIAogICAg
IGlmIChjYW5TZW5kTWVzc2FnZSgpKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJv
Y2Vzczo6RGVzdHJveVNlc3Npb24geyB3ZWJzaXRlRGF0YVN0b3JlLnNlc3Npb25JRCgpIH0sIDAp
OworCisgICAgaWYgKG1fd2Vic2l0ZURhdGFTdG9yZXMuY29tcHV0ZXNFbXB0eSgpKQorICAgICAg
ICBkZWZhdWx0TmV0d29ya1Byb2Nlc3NQdHIoKSA9IG51bGxwdHI7CiB9CiAKIFdlYnNpdGVEYXRh
U3RvcmUqIE5ldHdvcmtQcm9jZXNzUHJveHk6OndlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lvbklE
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggMzFjMTI2OWI0YTZlMzhk
YjE2Yjc2NzlhMjRlNzY5NWFhMmI3ODdkYS4uZjVmODM1MTk0NzdhNWEwNzkzNzcxNDdiOGQ3YTIz
MTA1YzM0OGZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6CiAgICAg
dXNpbmcgT3BlbmVyRG9tYWluID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW47CiAKICAgICBz
dGF0aWMgUmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+IGRlZmF1bHROZXR3b3JrUHJvY2VzcygpOwor
ICAgIHN0YXRpYyBSZWZQdHI8TmV0d29ya1Byb2Nlc3NQcm94eT4mIGRlZmF1bHROZXR3b3JrUHJv
Y2Vzc1B0cigpOwogICAgIHN0YXRpYyBSZWY8TmV0d29ya1Byb2Nlc3NQcm94eT4gY3JlYXRlKCkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBOZXR3b3JrUHJvY2Vzc1Byb3h5KTsgfQogICAgIH5OZXR3
b3JrUHJvY2Vzc1Byb3h5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAppbmRleCA1NTgyODA2NjZmOTRmNTEwZDQ5NDFjODg2YThhYzEyM2NjNzA0ZjRkLi5i
OWY3NzFkYzNhZTk3MjA5Yzg0NTUxNGI3NjUyNTFkYWVjNGZkNzdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0zNzYsNiArMzc2LDkgQEAgV2ViUHJv
Y2Vzc1Bvb2w6On5XZWJQcm9jZXNzUG9vbCgpCiAKICAgICAgICAgcHJvY2Vzcy0+c2h1dERvd24o
KTsKICAgICB9CisKKyAgICBpZiAocHJvY2Vzc1Bvb2xzKCkuaXNFbXB0eSgpICYmICEhTmV0d29y
a1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNzUHRyKCkpCisgICAgICAgIE5ldHdv
cmtQcm9jZXNzUHJveHk6OmRlZmF1bHROZXR3b3JrUHJvY2Vzc1B0cigpID0gbnVsbHB0cjsKIH0K
IAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS0NvbnRleHRD
bGllbnRCYXNlKiBjbGllbnQpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggMTA0ZDY3ODk2Mzg3MjMzNmE0ZjEwZThiMzg0YmViZWIxN2RjM2ViYS4u
MzIyZmE2YzQ2YWM5NjkwNjZhZjE5NmJkN2Q3ZTY4ZjdiZmM3YjA4OCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIx
LTA0LTA1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUkVHUkVTU0lPTihyMjY3NzYzKSBOZXR3b3JrUHJvY2VzcyBuZXZlciB0ZXJtaW5hdGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxOTEK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2MTI0NTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9OZXR3b3JrUHJvY2Vzcy5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTA0LTAyICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV0tVUkxTY2hl
bWVUYXNrIHJlZGlyZWN0IEFQSS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL05ldHdvcmtQcm9jZXNzLm1tCmluZGV4IDQ0YzkzMWYwNDA5MzlmNTIw
NWRkNjExNjRiMWM1NDA1MjI0NmZkZjMuLmY0ZDFlZjg5YjI3YTY4NGI3NTNmZGYzYzllM2NhMDBh
NmRhZWU0MWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvTmV0d29ya1Byb2Nlc3MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbQpAQCAtMzYsNyArMzYsNyBAQAogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCi1URVNUKFdlYktpdCwgTmV0
d29ya1Byb2Nlc3NFbnRpdGxlbWVudHMpCitURVNUKE5ldHdvcmtQcm9jZXNzLCBFbnRpdGxlbWVu
dHMpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjph
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pLmdldCgpXSk7CiAg
ICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIl07CkBA
IC04Miw3ICs4Miw3IEBAIFRFU1QoV2ViS2l0LCBIVFRQUmVmZXJlcikKICAgICBjaGVja1JlZmVy
ZXIoW05TVVJMIFVSTFdpdGhTdHJpbmc6c2hvcnRlckhvc3RdLCBzaG9ydGVySG9zdC5VVEY4U3Ry
aW5nKTsKIH0KIAotVEVTVChXZWJLaXQsIE5ldHdvcmtQcm9jZXNzTGF1bmNoT25seVdoZW5OZWNl
c3NhcnkpCitURVNUKE5ldHdvcmtQcm9jZXNzLCBMYXVuY2hPbmx5V2hlbk5lY2Vzc2FyeSkKIHsK
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtXS1dlYlZpZXcgbmV3XSk7CiAgICAgW3dlYlZp
ZXcgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURhdGFTdG9yZS5fcmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQgPSBZRVM7CkBAIC05MSw3ICs5MSw3IEBAIFRFU1QoV2ViS2l0LCBOZXR3b3JrUHJv
Y2Vzc0xhdW5jaE9ubHlXaGVuTmVjZXNzYXJ5KQogICAgIEVYUEVDVF9GQUxTRShbW3dlYlZpZXcg
Y29uZmlndXJhdGlvbl0ud2Vic2l0ZURhdGFTdG9yZSBfbmV0d29ya1Byb2Nlc3NFeGlzdHNdKTsK
IH0KIAotVEVTVChXZWJLaXQsIE5ldHdvcmtQcm9jZXNzQ3Jhc2hXaGVuTm90QXNzb2NpYXRlZFdp
dGhEYXRhU3RvcmUpCitURVNUKE5ldHdvcmtQcm9jZXNzLCBDcmFzaFdoZW5Ob3RBc3NvY2lhdGVk
V2l0aERhdGFTdG9yZSkKIHsKICAgICBwaWRfdCBuZXR3b3JrUHJvY2Vzc1BJRCA9IDA7CiAgICAg
QGF1dG9yZWxlYXNlcG9vbCB7CkBAIC0xMjAsMyArMTIwLDI4IEBAIFRFU1QoV2ViS2l0LCBOZXR3
b3JrUHJvY2Vzc0NyYXNoV2hlbk5vdEFzc29jaWF0ZWRXaXRoRGF0YVN0b3JlKQogICAgIFt3ZWJW
aWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSJdOwogICAgIEVYUEVD
VF9ORShuZXR3b3JrUHJvY2Vzc1BJRCwgW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURh
dGFTdG9yZS5fbmV0d29ya1Byb2Nlc3NJZGVudGlmaWVyKTsKIH0KKworVEVTVChOZXR3b3JrUHJv
Y2VzcywgVGVybWluYXRlV2hlblVudXNlZCkKK3sKKyAgICBSZXRhaW5QdHI8V0tQcm9jZXNzUG9v
bD4gcmV0YWluZWRQb29sOworICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICBhdXRvIGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworICAgICAgICBjb25maWd1cmF0aW9uLmdldCgpLndlYnNpdGVEYXRhU3RvcmUgPSBbV0tX
ZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNpc3RlbnREYXRhU3RvcmVdOworICAgICAgICByZXRhaW5l
ZFBvb2wgPSBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sOworICAgICAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgMCwgMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAg
ICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSJdOwor
ICAgICAgICBFWFBFQ1RfVFJVRShbV0tXZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1By
b2Nlc3NFeGlzdHNdKTsKKyAgICB9CisgICAgd2hpbGUgKFtXS1dlYnNpdGVEYXRhU3RvcmUgX2Rl
ZmF1bHROZXR3b3JrUHJvY2Vzc0V4aXN0c10pCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnNwaW5SdW5Mb29wKCk7CisgICAgCisgICAgcmV0YWluZWRQb29sID0gbmlsOworICAgIAorICAg
IEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtXS1dl
YlZpZXcgbmV3XSk7CisgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VO
YW1lZDpAInNpbXBsZSJdOworICAgICAgICBFWFBFQ1RfVFJVRShbV0tXZWJzaXRlRGF0YVN0b3Jl
IF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKTsKKyAgICB9CisgICAgd2hpbGUgKFtXS1dl
YnNpdGVEYXRhU3RvcmUgX2RlZmF1bHROZXR3b3JrUHJvY2Vzc0V4aXN0c10pCisgICAgICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnNwaW5SdW5Mb29wKCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425181</attachid>
            <date>2021-04-05 11:54:22 -0700</date>
            <delta_ts>2021-04-05 21:03:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224191-20210405115421.patch</filename>
            <type>text/plain</type>
            <size>11071</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY1ZDY3NTE3ZmYyMGM3NWM4
NzBlNjJlMDE4OWFhMmI5ZDllNGI1ODEuLjY5OGVjYWJmZTQzNGYyY2EyZmE0YTM3NmIxM2JhZTlj
OWJhODViZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDQtMDUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9O
KHIyNjc3NjMpIE5ldHdvcmtQcm9jZXNzIG5ldmVyIHRlcm1pbmF0ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE5MQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzYxMjQ1OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisK
KyAgICAgICAgQmVmb3JlIHIyNjc3NjMsIHdoZW4gYSBXZWJQcm9jZXNzUG9vbCB3YXMgZGVhbGxv
Y2F0ZWQsIHRoZSBOZXR3b3JrUHJvY2VzcyBpdCBvd25lZCB3YXMgdGVybWluYXRlZC4KKyAgICAg
ICAgU2luY2UgdGhlbiwgb25jZSB5b3Ugc3RhcnQgdXNpbmcgYSBOZXR3b3JrUHJvY2VzcywgaXQg
d2lsbCBiZSBrZXB0IHVudGlsIHlvdXIgYXBwIGNsb3NlcyBvciBpdCBjcmFzaGVzLgorICAgICAg
ICBUbyByZWNsYWltIHRoZXNlIHJlc291cmNlcyBpbiBhIHdheSBzaW1pbGFyIHRvIGhvdyB3ZSBk
aWQgYmVmb3JlLCB3ZSBub3cgdGVybWluYXRlIHRoZSBuZXR3b3JrIHByb2Nlc3MgaW4gdHdvIHNp
dHVhdGlvbnM6CisgICAgICAgIDEuIElmIGFsbCBXZWJzaXRlRGF0YVN0b3JlcyBhc3NvY2lhdGVk
IHdpdGggaXQgYXJlIGRlYWxsb2NhdGVkLiAgVGhpcyBoYXBwZW5zIGlmIHlvdSBoYXZlIG5ldmVy
IHVzZWQgdGhlIGRlZmF1bHQgV0tXZWJzaXRlRGF0YVN0b3JlLgorICAgICAgICAyLiBJZiBhbGwg
V2ViUHJvY2Vzc1Bvb2xzIGFyZSBkZWFsbG9jYXRlZC4gIFRoaXMgY2FuIHN0aWxsIGhhcHBlbiBp
ZiB5b3UgZG8gdXNlIHRoZSBkZWZhdWx0IFdLV2Vic2l0ZURhdGFTdG9yZSwgd2hpY2ggaXMgbmV2
ZXIgZGVhbGxvY2F0ZWQuCisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAg
KCtbV0tXZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNz
RXhpc3RzKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6cmVtb3ZlU2Vz
c2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjp+V2ViUHJvY2Vzc1Bvb2wpOgorCiAyMDIxLTA0LTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFVQXSBQb3dlciByZWdy
ZXNzaW9uOiBhdWRpbyBoYXJkd2FyZSBpcyBjb25maWd1cmVkIGZvciAxMjggZnJhbWUgcHJlZmVy
cmVkIGJ1ZmZlciBzaXplIGR1cmluZyBWaWRlb0F1ZGlvIHBsYXliYWNrCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQpp
bmRleCBjMzkzNDU1MmEyM2MwNTE4Y2VkYzVhYTliODdkNGQ1YzY1MGNkMDU2Li4yNzBhOGRjYmU2
MTNkMmZiNTI5OTYwOTI4NDgyZWQyYzcwYzI4ZGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KQEAgLTI5LDYg
KzI5LDcgQEAKICNpbXBvcnQgIkFQSVN0cmluZy5oIgogI2ltcG9ydCAiQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VEaXNwb3NpdGlvbkNvY29hLmgiCiAjaW1wb3J0ICJDb21wbGV0aW9uSGFuZGxlckNh
bGxDaGVja2VyLmgiCisjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0ICJT
aG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MuaCIKICNpbXBvcnQgIldLSFRUUENvb2tpZVN0b3Jl
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLTlNBcnJheS5oIgpAQCAtNzI0LDQgKzcyNSw5IEBAIHN0
YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gdG9XZWJzaXRlRGF0YVJlY29y
ZHMoTlNBcnJheSAqZGF0YVJlY29yCiAgICAgcmV0dXJuICEhX3dlYnNpdGVEYXRhU3RvcmUtPm5l
dHdvcmtQcm9jZXNzSWZFeGlzdHMoKTsKIH0KIAorKyAoQk9PTClfZGVmYXVsdE5ldHdvcmtQcm9j
ZXNzRXhpc3RzCit7CisgICAgcmV0dXJuICEhV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpk
ZWZhdWx0TmV0d29ya1Byb2Nlc3MoKTsKK30KKwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRl
LmgKaW5kZXggN2U4YWJlYzY4OTdkMjliNzI3MzNkZjUwYjQ0YWY4OTlkMmM2YWY2My4uZTE1M2I1
ZWYxMDllOTUxMWY0NWE5YTVhNmY4MmE5YTg1Yjc0MDhjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJp
dmF0ZS5oCkBAIC05OCw2ICs5OCw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBf
V0tXZWJzaXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25zKSB7CiAtIChwaWRfdClfbmV0d29ya1Byb2Nl
c3NJZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiArICh2b2lkKV9tYWtlTmV4dE5ldHdvcmtQcm9jZXNzTGF1bmNoRmFpbEZvclRl
c3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIC0gKEJPT0wpX25ldHdvcmtQcm9jZXNzRXhpc3RzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisrIChCT09MKV9kZWZhdWx0TmV0d29ya1By
b2Nlc3NFeGlzdHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1MDY2ZDkzYThmNzNlZjFlZWMz
MzcyNDJkZmRlYTBhNTNkMzBiNzVlLi5jNTdjZjk1OWUzZjc5MDMwOWYyOGI5MDE0MTNiOWE3ZmFl
NGY5ODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTEwMSwxNyArMTAxLDE3IEBAIFZlY3RvcjxSZWY8
TmV0d29ya1Byb2Nlc3NQcm94eT4+IE5ldHdvcmtQcm9jZXNzUHJveHk6OmFsbE5ldHdvcmtQcm9j
ZXNzZXMoKQogICAgIHJldHVybiBwcm9jZXNzZXM7CiB9CiAKLXN0YXRpYyBSZWZQdHI8TmV0d29y
a1Byb2Nlc3NQcm94eT4mIGRlZmF1bHRQcm9jZXNzKCkKK1JlZlB0cjxOZXR3b3JrUHJvY2Vzc1By
b3h5PiYgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVmUHRyPE5ldHdvcmtQcm9jZXNzUHJveHk+PiBwcm9j
ZXNzOwogICAgIHJldHVybiBwcm9jZXNzLmdldCgpOwogfQogCi1SZWY8TmV0d29ya1Byb2Nlc3NQ
cm94eT4gTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkKK1JlZjxO
ZXR3b3JrUHJvY2Vzc1Byb3h5PiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjplbnN1cmVEZWZhdWx0TmV0
d29ya1Byb2Nlc3MoKQogewotICAgIGlmICghZGVmYXVsdFByb2Nlc3MoKSkKLSAgICAgICAgZGVm
YXVsdFByb2Nlc3MoKSA9IE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZSgpOwotICAgIHJldHVy
biAqZGVmYXVsdFByb2Nlc3MoKTsKKyAgICBpZiAoIWRlZmF1bHROZXR3b3JrUHJvY2VzcygpKQor
ICAgICAgICBkZWZhdWx0TmV0d29ya1Byb2Nlc3MoKSA9IE5ldHdvcmtQcm9jZXNzUHJveHk6OmNy
ZWF0ZSgpOworICAgIHJldHVybiAqZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCk7CiB9CiAKIHZvaWQg
TmV0d29ya1Byb2Nlc3NQcm94eTo6dGVybWluYXRlKCkKQEAgLTMxMCw4ICszMTAsOCBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFRlcm1pbmF0
aW9uUmVhc29uIHJlYXNvbikKIAogICAgIG1fdXBsb2FkQWN0aXZpdHkgPSBXVEY6Om51bGxvcHQ7
CiAKLSAgICBpZiAoZGVmYXVsdFByb2Nlc3MoKSA9PSB0aGlzKQotICAgICAgICBkZWZhdWx0UHJv
Y2VzcygpID0gbnVsbHB0cjsKKyAgICBpZiAoZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkgPT0gdGhp
cykKKyAgICAgICAgZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkgPSBudWxscHRyOwogCiAgICAgUmVm
PE5ldHdvcmtQcm9jZXNzUHJveHk+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIGZvciAoYXV0
byogcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCkBAIC0x
Mjc5LDYgKzEyNzksOSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnJlbW92ZVNlc3Npb24o
V2Vic2l0ZURhdGFTdG9yZSYgd2Vic2l0ZURhdGFTdG9yZSkKIAogICAgIGlmIChjYW5TZW5kTWVz
c2FnZSgpKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVzdHJveVNl
c3Npb24geyB3ZWJzaXRlRGF0YVN0b3JlLnNlc3Npb25JRCgpIH0sIDApOworCisgICAgaWYgKG1f
d2Vic2l0ZURhdGFTdG9yZXMuY29tcHV0ZXNFbXB0eSgpKQorICAgICAgICBkZWZhdWx0TmV0d29y
a1Byb2Nlc3MoKSA9IG51bGxwdHI7CiB9CiAKIFdlYnNpdGVEYXRhU3RvcmUqIE5ldHdvcmtQcm9j
ZXNzUHJveHk6OndlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggMzFjMTI2OWI0YTZlMzhkYjE2Yjc2NzlhMjRlNzY5NWFh
MmI3ODdkYS4uMmU3NGUwYTdkYzM1MTMzY2RlMDIyYjU0YTk4NDBiMDJlYTM3OGVhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmgKQEAgLTEwOCw3ICsxMDgsOCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgRG9tYWluSW5OZWVk
T2ZTdG9yYWdlQWNjZXNzID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW47CiAgICAgdXNpbmcg
T3BlbmVyRG9tYWluID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW47CiAKLSAgICBzdGF0aWMg
UmVmPE5ldHdvcmtQcm9jZXNzUHJveHk+IGRlZmF1bHROZXR3b3JrUHJvY2VzcygpOworICAgIHN0
YXRpYyBSZWY8TmV0d29ya1Byb2Nlc3NQcm94eT4gZW5zdXJlRGVmYXVsdE5ldHdvcmtQcm9jZXNz
KCk7CisgICAgc3RhdGljIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc1Byb3h5PiYgZGVmYXVsdE5ldHdv
cmtQcm9jZXNzKCk7CiAgICAgc3RhdGljIFJlZjxOZXR3b3JrUHJvY2Vzc1Byb3h5PiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE5ldHdvcmtQcm9jZXNzUHJveHkpOyB9CiAgICAgfk5l
dHdvcmtQcm9jZXNzUHJveHkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCmluZGV4IDU1ODI4MDY2NmY5NGY1MTBkNDk0MWM4ODZhOGFjMTIzY2M3MDRmNGQu
Ljc2ZWEwNTkxYmIzMjM3ZDA4OWUwZGE4OGQyZWYzNDM1NDRmNDIxMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTM3Niw2ICszNzYsOSBAQCBXZWJQ
cm9jZXNzUG9vbDo6fldlYlByb2Nlc3NQb29sKCkKIAogICAgICAgICBwcm9jZXNzLT5zaHV0RG93
bigpOwogICAgIH0KKworICAgIGlmIChwcm9jZXNzUG9vbHMoKS5pc0VtcHR5KCkgJiYgISFOZXR3
b3JrUHJvY2Vzc1Byb3h5OjpkZWZhdWx0TmV0d29ya1Byb2Nlc3MoKSkKKyAgICAgICAgTmV0d29y
a1Byb2Nlc3NQcm94eTo6ZGVmYXVsdE5ldHdvcmtQcm9jZXNzKCkgPSBudWxscHRyOwogfQogCiB2
b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplQ2xpZW50KGNvbnN0IFdLQ29udGV4dENsaWVu
dEJhc2UqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggYTI3YTkzYTk2NDAwMTY2MDQxZDE5
OGFlODQ5M2NlYTlhODZmYTIyNC4uMGY1YWVkMzczOWRkM2I1MTYzYjUzYmI2ZDM3NjZkZTkxMGNl
OTBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTIwMCw3ICsyMDAsNyBAQCBzdGF0aWMgUmVmPE5l
dHdvcmtQcm9jZXNzUHJveHk+IG5ldHdvcmtQcm9jZXNzRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSQogICAgIHJldHVybiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JRCk7Ci0gICAgcmV0dXJuIE5ldHdvcmtQcm9j
ZXNzUHJveHk6OmRlZmF1bHROZXR3b3JrUHJvY2VzcygpOworICAgIHJldHVybiBOZXR3b3JrUHJv
Y2Vzc1Byb3h5OjplbnN1cmVEZWZhdWx0TmV0d29ya1Byb2Nlc3MoKTsKICNlbmRpZgogfQogCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTA0ZDY3
ODk2Mzg3MjMzNmE0ZjEwZThiMzg0YmViZWIxN2RjM2ViYS4uNzQwMGRmZWMwMTI0ZWM0OGNmMzM0
NjNkMTViN2NmYmZlOTRmZGEzZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA0LTA1ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY3
NzYzKSBOZXR3b3JrUHJvY2VzcyBuZXZlciB0ZXJtaW5hdGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQxOTEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc2MTI0NTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbToK
KyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTA0LTAyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgV0tVUkxTY2hlbWVUYXNrIHJlZGlyZWN0IEFQSS4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmV0d29ya1By
b2Nlc3MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL05ldHdvcmtQ
cm9jZXNzLm1tCmluZGV4IDQ0YzkzMWYwNDA5MzlmNTIwNWRkNjExNjRiMWM1NDA1MjI0NmZkZjMu
LmY0ZDFlZjg5YjI3YTY4NGI3NTNmZGYzYzllM2NhMDBhNmRhZWU0MWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5t
bQpAQCAtMzYsNyArMzYsNyBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8
d3RmL1ZlY3Rvci5oPgogCi1URVNUKFdlYktpdCwgTmV0d29ya1Byb2Nlc3NFbnRpdGxlbWVudHMp
CitURVNUKE5ldHdvcmtQcm9jZXNzLCBFbnRpdGxlbWVudHMpCiB7CiAgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVj
dCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjphZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBhbGxvY10gaW5pdF0pLmdldCgpXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNs
eUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIl07CkBAIC04Miw3ICs4Miw3IEBAIFRFU1QoV2Vi
S2l0LCBIVFRQUmVmZXJlcikKICAgICBjaGVja1JlZmVyZXIoW05TVVJMIFVSTFdpdGhTdHJpbmc6
c2hvcnRlckhvc3RdLCBzaG9ydGVySG9zdC5VVEY4U3RyaW5nKTsKIH0KIAotVEVTVChXZWJLaXQs
IE5ldHdvcmtQcm9jZXNzTGF1bmNoT25seVdoZW5OZWNlc3NhcnkpCitURVNUKE5ldHdvcmtQcm9j
ZXNzLCBMYXVuY2hPbmx5V2hlbk5lY2Vzc2FyeSkKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtXS1dlYlZpZXcgbmV3XSk7CiAgICAgW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ud2Vic2l0
ZURhdGFTdG9yZS5fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQgPSBZRVM7CkBAIC05MSw3
ICs5MSw3IEBAIFRFU1QoV2ViS2l0LCBOZXR3b3JrUHJvY2Vzc0xhdW5jaE9ubHlXaGVuTmVjZXNz
YXJ5KQogICAgIEVYUEVDVF9GQUxTRShbW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURh
dGFTdG9yZSBfbmV0d29ya1Byb2Nlc3NFeGlzdHNdKTsKIH0KIAotVEVTVChXZWJLaXQsIE5ldHdv
cmtQcm9jZXNzQ3Jhc2hXaGVuTm90QXNzb2NpYXRlZFdpdGhEYXRhU3RvcmUpCitURVNUKE5ldHdv
cmtQcm9jZXNzLCBDcmFzaFdoZW5Ob3RBc3NvY2lhdGVkV2l0aERhdGFTdG9yZSkKIHsKICAgICBw
aWRfdCBuZXR3b3JrUHJvY2Vzc1BJRCA9IDA7CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CkBAIC0x
MjAsMyArMTIwLDI4IEBAIFRFU1QoV2ViS2l0LCBOZXR3b3JrUHJvY2Vzc0NyYXNoV2hlbk5vdEFz
c29jaWF0ZWRXaXRoRGF0YVN0b3JlKQogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVz
dFBhZ2VOYW1lZDpAInNpbXBsZSJdOwogICAgIEVYUEVDVF9ORShuZXR3b3JrUHJvY2Vzc1BJRCwg
W3dlYlZpZXcgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURhdGFTdG9yZS5fbmV0d29ya1Byb2Nlc3NJ
ZGVudGlmaWVyKTsKIH0KKworVEVTVChOZXR3b3JrUHJvY2VzcywgVGVybWluYXRlV2hlblVudXNl
ZCkKK3sKKyAgICBSZXRhaW5QdHI8V0tQcm9jZXNzUG9vbD4gcmV0YWluZWRQb29sOworICAgIEBh
dXRvcmVsZWFzZXBvb2wgeworICAgICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgICAgICBjb25maWd1cmF0
aW9uLmdldCgpLndlYnNpdGVEYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNp
c3RlbnREYXRhU3RvcmVdOworICAgICAgICByZXRhaW5lZFBvb2wgPSBjb25maWd1cmF0aW9uLmdl
dCgpLnByb2Nlc3NQb29sOworICAgICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMCwgMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSJdOworICAgICAgICBFWFBFQ1RfVFJVRShbV0tX
ZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKTsKKyAgICB9Cisg
ICAgd2hpbGUgKFtXS1dlYnNpdGVEYXRhU3RvcmUgX2RlZmF1bHROZXR3b3JrUHJvY2Vzc0V4aXN0
c10pCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNwaW5SdW5Mb29wKCk7CisgICAgCisg
ICAgcmV0YWluZWRQb29sID0gbmlsOworICAgIAorICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAg
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtXS1dlYlZpZXcgbmV3XSk7CisgICAgICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAInNpbXBsZSJdOworICAgICAg
ICBFWFBFQ1RfVFJVRShbV0tXZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NF
eGlzdHNdKTsKKyAgICB9CisgICAgd2hpbGUgKFtXS1dlYnNpdGVEYXRhU3RvcmUgX2RlZmF1bHRO
ZXR3b3JrUHJvY2Vzc0V4aXN0c10pCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNwaW5S
dW5Mb29wKCk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>