<?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>196893</bug_id>
          
          <creation_ts>2019-04-12 20:20:21 -0700</creation_ts>
          <short_desc>[Cocoa] WKCustomProtocolLoader should store a WeakPtr to its LegacyCustomProtocolManagerProxy</short_desc>
          <delta_ts>2019-04-14 09:08:30 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=196905</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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1526999</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-12 20:20:21 -0700</bug_when>
    <thetext>[Cocoa] WKCustomProtocolLoader should store a WeakPtr to its LegacyCustomProtocolManagerProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527000</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-12 20:26:00 -0700</bug_when>
    <thetext>rdar://problem/48318983</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527001</commentid>
    <comment_count>2</comment_count>
      <attachid>367375</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-12 20:27:06 -0700</bug_when>
    <thetext>Created attachment 367375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527008</commentid>
    <comment_count>3</comment_count>
      <attachid>367377</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-12 21:05:24 -0700</bug_when>
    <thetext>Created attachment 367377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527042</commentid>
    <comment_count>4</comment_count>
      <attachid>367377</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2019-04-13 07:57:58 -0700</bug_when>
    <thetext>Comment on attachment 367377
Patch

Assuming there are no thread safety issues and that LegacyCustomProtocolManagerProxy is always called from the same (main?) thread, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527043</commentid>
    <comment_count>5</comment_count>
      <attachid>367377</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-13 07:58:50 -0700</bug_when>
    <thetext>Comment on attachment 367377
Patch

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

Kinda wish we still canceled the load when the weak pointer became null.

&gt; Source/WebKit/UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:-77
&gt; -    ASSERT(_customProtocolManagerProxy);

I think this assertion might still be good. The WeakPtr can protect us from mistakes, but we should always be canceling before destroying the proxy, for efficiency reasons if no other reasons.

&gt; Source/WebKit/UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:-78
&gt; -    _customProtocolManagerProxy = nullptr;

Still might be good to null this out. Not sure.

&gt; Source/WebKit/UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:119
&gt; -    if (redirectResponse) {
&gt; +    if (_customProtocolManagerProxy &amp;&amp; redirectResponse) {
&gt;          _customProtocolManagerProxy-&gt;wasRedirectedToRequest(_customProtocolID, request, redirectResponse);
&gt;          return nil;
&gt;      }

Seems to me that if _customProtocolManagerProxy is null we should return nil, not request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527065</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-13 13:51:51 -0700</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #4)
&gt; Comment on attachment 367377 [details]
&gt; Patch
&gt; 
&gt; Assuming there are no thread safety issues and that
&gt; LegacyCustomProtocolManagerProxy is always called from the same (main?)
&gt; thread, r=me.

LegacyCustomProtocolManagerProxy is always called from the main thread. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527066</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-13 13:53:24 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 367377 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=367377&amp;action=review
&gt; 
&gt; Kinda wish we still canceled the load when the weak pointer became null.

We should still cancel, because LegacyCustomProtocolManagerClient::invalidate() will still be called when the LegacyCustomProtocolManagerProxy is destroyed.

&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:-77
&gt; &gt; -    ASSERT(_customProtocolManagerProxy);
&gt; 
&gt; I think this assertion might still be good. The WeakPtr can protect us from
&gt; mistakes, but we should always be canceling before destroying the proxy, for
&gt; efficiency reasons if no other reasons.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:-78
&gt; &gt; -    _customProtocolManagerProxy = nullptr;
&gt; 
&gt; Still might be good to null this out. Not sure.

I restored the assertion and the nulling.

&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:119
&gt; &gt; -    if (redirectResponse) {
&gt; &gt; +    if (_customProtocolManagerProxy &amp;&amp; redirectResponse) {
&gt; &gt;          _customProtocolManagerProxy-&gt;wasRedirectedToRequest(_customProtocolID, request, redirectResponse);
&gt; &gt;          return nil;
&gt; &gt;      }
&gt; 
&gt; Seems to me that if _customProtocolManagerProxy is null we should return
&gt; nil, not request.

Yes, that makes more sense.

Thanks for your comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527068</commentid>
    <comment_count>8</comment_count>
      <attachid>367391</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-13 14:10:52 -0700</bug_when>
    <thetext>Created attachment 367391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527096</commentid>
    <comment_count>9</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-04-14 08:40:41 -0700</bug_when>
    <thetext>The api-mac failure is due to a flaky API test. I filed &lt;https://bugs.webkit.org/show_bug.cgi?id=196905&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527097</commentid>
    <comment_count>10</comment_count>
      <attachid>367391</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-14 09:08:29 -0700</bug_when>
    <thetext>Comment on attachment 367391
Patch

Clearing flags on attachment: 367391

Committed r244246: &lt;https://trac.webkit.org/changeset/244246&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527098</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-14 09:08:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367375</attachid>
            <date>2019-04-12 20:27:06 -0700</date>
            <delta_ts>2019-04-12 21:05:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196893-20190412202705.patch</filename>
            <type>text/plain</type>
            <size>7856</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTc5NDkzNzBmNGVkNTUz
YjI2ZWE3Nzk5ZGVkNzE3NGNiNmUxMjEuLmQ5MGI4ZDA3YmZkNzZhY2I1ZDQ1YmI0MDQ1NzJhNzg5
NTljYTMzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDQtMTIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBzaG91bGQgc3RvcmUgYSBXZWFrUHRyIHRvIGl0cyBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk2ODkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODMxODk4Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSYXRoZXIgdGhhbiBtYW51
YWxseSBpbnZhbGlkYXRpbmcgZWFjaCBXS0N1c3RvbVByb3RvY29sTG9hZGVyJ3MgX2N1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5CisgICAgICAgIHBvaW50ZXIgd2hlbiB0aGUgTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkgaXMgZGVzdHJveWVkLCB1c2UgYSBXZWFrUHRyLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVByb3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAg
ICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjYW5jZWxdKToKKyAgICAgICAgKC1bV0tDdXN0
b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAg
ICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6
XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNl
aXZlRGF0YTpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9u
OndpbGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOl0pOgorICAgICAgICAo
V2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyk6
CisgICAgICAgIChXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6aW52
YWxpZGF0ZSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHlEZXN0cm95ZWRdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHku
aDoKKwogMjAxOS0wNC0xMSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSAnU2F2ZSBJbWFnZScgdG8gbW9yZSBjbGVhciBpbnN0cnVjdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCA2YzEyNTM5NjU1MDdl
NWM5NTJjYzI3ODMxMmUwMGQ4YzM1NDQ3MTgzLi40ZTgwOTY3NDdjZTJjYjIwMThhYWQwNmY4NzVl
ZjU0N2EyNGNhODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9M
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0z
NCwxOCArMzQsMTggQEAKIAogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29sTG9hZGVyIDogTlNP
YmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQotICAgIFdlYktpdDo6
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eTsKKyAgICBXZWFrUHRyPFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHk+IF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3VzdG9tUHJv
dG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGljeTsKICAg
ICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdpdGhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJ
RDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0OwotLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZDsKKy0gKGlk
KWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1
c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxS
ZXF1ZXN0ICopcmVxdWVzdDsKKy0gKHZvaWQpY2FuY2VsOwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRf
dCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlk
KWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1
c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxS
ZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFz
ZWxmKQpAQCAtNTMsNyArNTMsNyBAQCAtIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYQogCiAgICAgQVNT
RVJUKGN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KTsKICAgICBBU1NFUlQocmVxdWVzdCk7Ci0g
ICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5ID0gY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHk7CisgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5ID0gbWFrZVdlYWtQdHIoY3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkpOwogICAgIF9jdXN0b21Qcm90b2NvbElEID0gY3VzdG9tUHJv
dG9jb2xJRDsKICAgICBfc3RvcmFnZVBvbGljeSA9IE5TVVJMQ2FjaGVTdG9yYWdlTm90QWxsb3dl
ZDsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgpAQCAtNzIsMTUgKzcy
LDE2IEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAotLSAodm9p
ZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZAorLSAodm9pZCljYW5jZWwKIHsK
LSAgICBBU1NFUlQoX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KTsKLSAgICBfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkgPSBudWxscHRyOwogICAgIFtfdXJsQ29ubmVjdGlvbiBjYW5jZWxd
OwogfQogCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
ZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiB7CisgICAgaWYgKCFfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkpCisgICAgICAgIHJldHVybjsKKwogICAgIFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHktPmRpZEZhaWxXaXRoRXJyb3IoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAg
X2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJ
RCk7CkBAIC05NSwxOSArOTYsMjUgQEAgLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rp
b246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9p
ZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNw
b25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCiB7CisgICAgaWYgKCFfY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHkpCisgICAgICAgIHJldHVybjsKKwogICAgIFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJlc3Bv
bnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25u
ZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNlaXZlRGF0YTooTlNEYXRhICopZGF0YQogeworICAg
IGlmICghX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KQorICAgICAgICByZXR1cm47CisKICAg
ICBJUEM6OkRhdGFSZWZlcmVuY2UgY29yZURhdGEoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+
KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0aF0pOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eS0+ZGlkTG9hZERhdGEoX2N1c3RvbVByb3RvY29sSUQsIGNvcmVEYXRhKTsKIH0KIAog
LSAoTlNVUkxSZXF1ZXN0ICopY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlv
biB3aWxsU2VuZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVkaXJlY3RSZXNwb25z
ZTooTlNVUkxSZXNwb25zZSAqKXJlZGlyZWN0UmVzcG9uc2UKIHsKLSAgICBpZiAocmVkaXJlY3RS
ZXNwb25zZSkgeworICAgIGlmIChfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgJiYgcmVkaXJl
Y3RSZXNwb25zZSkgewogICAgICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPndhc1Jl
ZGlyZWN0ZWRUb1JlcXVlc3QoX2N1c3RvbVByb3RvY29sSUQsIHJlcXVlc3QsIHJlZGlyZWN0UmVz
cG9uc2UpOwogICAgICAgICByZXR1cm4gbmlsOwogICAgIH0KQEAgLTExNiw2ICsxMjMsOSBAQCAt
IChOU1VSTFJlcXVlc3QgKiljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9u
IHdpbGxTZW5kUmVxdWVzdDooTlNVUgogCiAtICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hMb2Fk
aW5nOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uCiB7CisgICAgaWYgKCFfY3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkpCisgICAgICAgIHJldHVybjsKKwogICAgIF9jdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eS0+ZGlkRmluaXNoTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiAgICAg
X2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJ
RCk7CiB9CkBAIC0xMzEsNyArMTQxLDcgQEAgdm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIKICAgICBp
ZiAoIXJlcXVlc3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdLQ3VzdG9tUHJvdG9jb2xMb2Fk
ZXIgKmxvYWRlciA9IFtbV0tDdXN0b21Qcm90b2NvbExvYWRlciBhbGxvY10gaW5pdFdpdGhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTombWFuYWdlciBjdXN0b21Qcm90b2NvbElEOmN1
c3RvbVByb3RvY29sSUQgcmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBXS0N1c3RvbVByb3RvY29sTG9h
ZGVyICpsb2FkZXIgPSBbW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgYWxsb2NdIGluaXRXaXRoTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6bWFuYWdlciBjdXN0b21Qcm90b2NvbElEOmN1
c3RvbVByb3RvY29sSUQgcmVxdWVzdDpyZXF1ZXN0XTsKICAgICBBU1NFUlQobG9hZGVyKTsKICAg
ICBBU1NFUlQoIW1fbG9hZGVyTWFwLmNvbnRhaW5zKGN1c3RvbVByb3RvY29sSUQpKTsKICAgICBt
X2xvYWRlck1hcC5hZGQoY3VzdG9tUHJvdG9jb2xJRCwgbG9hZGVyKTsKQEAgLTE0OCw3ICsxNTgs
NyBAQCB2b2lkIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6aW52YWxpZGF0ZShM
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcgogICAgIHdoaWxlICghbV9sb2FkZXJNYXAuaXNF
bXB0eSgpKSB7CiAgICAgICAgIGF1dG8gbG9hZGVyID0gbV9sb2FkZXJNYXAudGFrZShtX2xvYWRl
ck1hcC5iZWdpbigpLT5rZXkpOwogICAgICAgICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgW2xv
YWRlciBjdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZF07CisgICAgICAgIFtsb2Fk
ZXIgY2FuY2VsXTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9M
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oCmluZGV4IGI3NmY2Y2E3ZTllZDcwNjA3
MWE5ODMwZWFiNGUyYmZiMzZlM2NlNTEuLmI1MjllNGFlN2Y0Zjk0YmVkMDhhYjAwM2RmOTFiMmM4
YWM5NjAxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvQ3Vz
dG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiTWVz
c2FnZVJlY2VpdmVyLmgiCiAKKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CkBAIC00Nyw3ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXR3
b3JrUHJvY2Vzc1Byb3h5OwogCi1jbGFzcyBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94
eSA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBMZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eSA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxMZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eT4sIHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6
CiAgICAgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkoTmV0d29ya1Byb2Nlc3NQcm94
eSYpOwogICAgIH5MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367377</attachid>
            <date>2019-04-12 21:05:24 -0700</date>
            <delta_ts>2019-04-13 14:10:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196893-20190412210523.patch</filename>
            <type>text/plain</type>
            <size>7778</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTc5NDkzNzBmNGVkNTUz
YjI2ZWE3Nzk5ZGVkNzE3NGNiNmUxMjEuLmQ5MGI4ZDA3YmZkNzZhY2I1ZDQ1YmI0MDQ1NzJhNzg5
NTljYTMzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDQtMTIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBzaG91bGQgc3RvcmUgYSBXZWFrUHRyIHRvIGl0cyBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk2ODkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODMxODk4Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSYXRoZXIgdGhhbiBtYW51
YWxseSBpbnZhbGlkYXRpbmcgZWFjaCBXS0N1c3RvbVByb3RvY29sTG9hZGVyJ3MgX2N1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5CisgICAgICAgIHBvaW50ZXIgd2hlbiB0aGUgTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHkgaXMgZGVzdHJveWVkLCB1c2UgYSBXZWFrUHRyLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVByb3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAg
ICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjYW5jZWxdKToKKyAgICAgICAgKC1bV0tDdXN0
b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAg
ICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6
XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNl
aXZlRGF0YTpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9u
OndpbGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOl0pOgorICAgICAgICAo
V2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyk6
CisgICAgICAgIChXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6aW52
YWxpZGF0ZSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHlEZXN0cm95ZWRdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHku
aDoKKwogMjAxOS0wNC0xMSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSAnU2F2ZSBJbWFnZScgdG8gbW9yZSBjbGVhciBpbnN0cnVjdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbQppbmRleCA2YzEyNTM5NjU1MDdl
NWM5NTJjYzI3ODMxMmUwMGQ4YzM1NDQ3MTgzLi40ZTIzMzliZWY4NTM4MzUwOWZkZjUyMzcwNjEw
ODRiNTAyMGJiNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9M
ZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0z
NCwyNiArMzQsMjUgQEAKIAogQGludGVyZmFjZSBXS0N1c3RvbVByb3RvY29sTG9hZGVyIDogTlNP
YmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiBAcHJpdmF0ZQotICAgIFdlYktpdDo6
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkqIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQ
cm94eTsKKyAgICBXZWFrUHRyPFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJv
eHk+IF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICB1aW50NjRfdCBfY3VzdG9tUHJv
dG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBvbGljeSBfc3RvcmFnZVBvbGljeTsKICAg
ICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9uOwogfQotLSAoaWQpaW5pdFdpdGhMZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJ
RDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0OwotLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZDsKKy0gKGlk
KWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1
c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxS
ZXF1ZXN0ICopcmVxdWVzdDsKKy0gKHZvaWQpY2FuY2VsOwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChpZClpbml0V2l0aExlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBjdXN0b21Qcm90b2NvbElEOih1aW50NjRf
dCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlk
KWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6KFdlYktpdDo6TGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmKWN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5IGN1
c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVByb3RvY29sSUQgcmVxdWVzdDooTlNVUkxS
ZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFz
ZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgQVNTRVJUKGN1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5KTsKICAgICBBU1NFUlQocmVxdWVzdCk7Ci0gICAgX2N1c3RvbVByb3RvY29sTWFu
YWdlclByb3h5ID0gY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk7CisgICAgX2N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5ID0gbWFrZVdlYWtQdHIoY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkp
OwogICAgIF9jdXN0b21Qcm90b2NvbElEID0gY3VzdG9tUHJvdG9jb2xJRDsKICAgICBfc3RvcmFn
ZVBvbGljeSA9IE5TVVJMQ2FjaGVTdG9yYWdlTm90QWxsb3dlZDsKICAgICBBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19CRUdJTgpAQCAtNzIsMTUgKzcxLDE2IEBAIC0gKHZvaWQpZGVhbGxv
YwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAotLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eURlc3Ryb3llZAorLSAodm9pZCljYW5jZWwKIHsKLSAgICBBU1NFUlQoX2N1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5KTsKLSAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgPSBu
dWxscHRyOwogICAgIFtfdXJsQ29ubmVjdGlvbiBjYW5jZWxdOwogfQogCiAtICh2b2lkKWNvbm5l
Y3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNF
cnJvciAqKWVycm9yCiB7CisgICAgaWYgKCFfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkpCisg
ICAgICAgIHJldHVybjsKKwogICAgIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgY29yZUVycm9yKGVy
cm9yKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZEZhaWxXaXRoRXJyb3Io
X2N1c3RvbVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CkBAIC05NSwxOSArOTUsMjUg
QEAgLSAoTlNDYWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAq
KWNvbm5lY3Rpb24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENv
bm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAq
KXJlc3BvbnNlCiB7CisgICAgaWYgKCFfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkpCisgICAg
ICAgIHJldHVybjsKKwogICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNl
KHJlc3BvbnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVS
ZXNwb25zZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7
CiB9CiAKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBk
aWRSZWNlaXZlRGF0YTooTlNEYXRhICopZGF0YQogeworICAgIGlmICghX2N1c3RvbVByb3RvY29s
TWFuYWdlclByb3h5KQorICAgICAgICByZXR1cm47CisKICAgICBJUEM6OkRhdGFSZWZlcmVuY2Ug
Y29yZURhdGEoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtkYXRh
IGxlbmd0aF0pOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkTG9hZERhdGEo
X2N1c3RvbVByb3RvY29sSUQsIGNvcmVEYXRhKTsKIH0KIAogLSAoTlNVUkxSZXF1ZXN0ICopY29u
bmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsU2VuZFJlcXVlc3Q6KE5T
VVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJl
ZGlyZWN0UmVzcG9uc2UKIHsKLSAgICBpZiAocmVkaXJlY3RSZXNwb25zZSkgeworICAgIGlmIChf
Y3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgJiYgcmVkaXJlY3RSZXNwb25zZSkgewogICAgICAg
ICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPndhc1JlZGlyZWN0ZWRUb1JlcXVlc3QoX2N1
c3RvbVByb3RvY29sSUQsIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgICAgICByZXR1
cm4gbmlsOwogICAgIH0KQEAgLTExNiw2ICsxMjIsOSBAQCAtIChOU1VSTFJlcXVlc3QgKiljb25u
ZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHdpbGxTZW5kUmVxdWVzdDooTlNV
UgogCiAtICh2b2lkKWNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOihOU1VSTENvbm5lY3Rpb24g
Kiljb25uZWN0aW9uCiB7CisgICAgaWYgKCFfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkpCisg
ICAgICAgIHJldHVybjsKKwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkRmlu
aXNoTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CiB9CkBAIC0xMzEsNyArMTQw
LDcgQEAgdm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGlu
ZyhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIKICAgICBpZiAoIXJlcXVlc3QpCiAgICAgICAg
IHJldHVybjsKIAotICAgIFdLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgKmxvYWRlciA9IFtbV0tDdXN0
b21Qcm90b2NvbExvYWRlciBhbGxvY10gaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eTombWFuYWdlciBjdXN0b21Qcm90b2NvbElEOmN1c3RvbVByb3RvY29sSUQgcmVxdWVz
dDpyZXF1ZXN0XTsKKyAgICBXS0N1c3RvbVByb3RvY29sTG9hZGVyICpsb2FkZXIgPSBbW1dLQ3Vz
dG9tUHJvdG9jb2xMb2FkZXIgYWxsb2NdIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6bWFuYWdlciBjdXN0b21Qcm90b2NvbElEOmN1c3RvbVByb3RvY29sSUQgcmVxdWVz
dDpyZXF1ZXN0XTsKICAgICBBU1NFUlQobG9hZGVyKTsKICAgICBBU1NFUlQoIW1fbG9hZGVyTWFw
LmNvbnRhaW5zKGN1c3RvbVByb3RvY29sSUQpKTsKICAgICBtX2xvYWRlck1hcC5hZGQoY3VzdG9t
UHJvdG9jb2xJRCwgbG9hZGVyKTsKQEAgLTE0OCw3ICsxNTcsNyBAQCB2b2lkIExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudDo6aW52YWxpZGF0ZShMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcgogICAgIHdoaWxlICghbV9sb2FkZXJNYXAuaXNFbXB0eSgpKSB7CiAgICAgICAgIGF1
dG8gbG9hZGVyID0gbV9sb2FkZXJNYXAudGFrZShtX2xvYWRlck1hcC5iZWdpbigpLT5rZXkpOwog
ICAgICAgICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgW2xvYWRlciBjdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eURlc3Ryb3llZF07CisgICAgICAgIFtsb2FkZXIgY2FuY2VsXTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJv
dG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJQcm94eS5oCmluZGV4IGI3NmY2Y2E3ZTllZDcwNjA3MWE5ODMwZWFiNGUyYmZiMzZlM2Nl
NTEuLmI1MjllNGFlN2Y0Zjk0YmVkMDhhYjAwM2RmOTFiMmM4YWM5NjAxZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHku
aApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAKKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC00Nyw3ICs0OSw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOZXR3b3JrUHJvY2Vzc1Byb3h5OwogCi1j
bGFzcyBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSA6IHB1YmxpYyBJUEM6Ok1lc3Nh
Z2VSZWNlaXZlciB7CitjbGFzcyBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSA6IHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eT4sIHB1
YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyUHJveHkoTmV0d29ya1Byb2Nlc3NQcm94eSYpOwogICAgIH5MZWdhY3lDdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367391</attachid>
            <date>2019-04-13 14:10:52 -0700</date>
            <delta_ts>2019-04-14 09:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196893-20190413141047.patch</filename>
            <type>text/plain</type>
            <size>8109</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNkZmRiMDczMjlmZmZmNDRk
NmMzZThkMjRiM2U5ZWEyNTg0NWE5YmMuLjY2YTBkOThlYjEyOTc3ZTJmMmM3YjQyNGU5Y2ViYmQ1
MTIzM2M2MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDQtMTMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gV0tDdXN0b21Qcm90b2Nv
bExvYWRlciBzaG91bGQgc3RvcmUgYSBXZWFrUHRyIHRvIGl0cyBMZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk2ODkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODMxODk4Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgSW4gYWRkaXRpb24gdG8g
bWFudWFsbHkgaW52YWxpZGF0aW5nIGVhY2ggV0tDdXN0b21Qcm90b2NvbExvYWRlcidzIF9jdXN0
b21Qcm90b2NvbE1hbmFnZXJQcm94eQorICAgICAgICBwb2ludGVyIHdoZW4gdGhlIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudCBpcyBpbnZhbGlkYXRlZCwgdXNlIGEgV2Vha1B0ciBp
biBjYXNlIHRoZQorICAgICAgICBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBpcyBl
dmVyIGRlc3Ryb3llZCB3aXRob3V0IGZpcnN0IGludmFsaWRhdGluZyB0aGUgY2xpZW50LgorICAg
ICAgICBBbHNvIGFkZCBudWxsIHBvaW50ZXIgY2hlY2tzIHRvIE5TVVJMQ29ubmVjdGlvbkRlbGVn
YXRlIG1ldGhvZHMsIHdoaWNoIG1pZ2h0IGJlIGNhbGxlZCBhZnRlcgorICAgICAgICB0aGUgTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgaGFzIGJlZW4gZGVzdHJveWVkLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5t
bToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBpbml0V2l0aExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5OmN1c3RvbVByb3RvY29sSUQ6cmVxdWVzdDpdKToKKyAgICAg
ICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjYW5jZWxdKToKKyAgICAgICAgKC1bV0tDdXN0
b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9uOmRpZEZhaWxXaXRoRXJyb3I6XSk6CisgICAgICAg
ICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlUmVzcG9uc2U6
XSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY29ubmVjdGlvbjpkaWRSZWNl
aXZlRGF0YTpdKToKKyAgICAgICAgKC1bV0tDdXN0b21Qcm90b2NvbExvYWRlciBjb25uZWN0aW9u
OndpbGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAoLVtXS0N1c3Rv
bVByb3RvY29sTG9hZGVyIGNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOl0pOgorICAgICAgICAo
V2ViS2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ6OnN0YXJ0TG9hZGluZyk6
CisgICAgICAgIChXZWJLaXQ6OkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDo6aW52
YWxpZGF0ZSk6CisgICAgICAgICgtW1dLQ3VzdG9tUHJvdG9jb2xMb2FkZXIgY3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHlEZXN0cm95ZWRdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHku
aDoKKwogMjAxOS0wNC0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBFbmFibGUgbW9kZXJuIGNvbXBhdGliaWxpdHkgbW9kZSBieSBkZWZhdWx0IGlu
IFdLV2ViVmlldyBvbiBzb21lIGRldmljZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVu
dC5tbQppbmRleCA2YzEyNTM5NjU1MDdlNWM5NTJjYzI3ODMxMmUwMGQ4YzM1NDQ3MTgzLi43Y2Qz
MjIxZWRkMGRmYTBiMGMwMzk0ZDAwNzUzNGY3YzFiMGRjOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyQ2xpZW50Lm1tCkBAIC0zNCwyNiArMzQsMjUgQEAKIAogQGludGVyZmFjZSBXS0N1
c3RvbVByb3RvY29sTG9hZGVyIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7
CiBAcHJpdmF0ZQotICAgIFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkq
IF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKKyAgICBXZWFrUHRyPFdlYktpdDo6TGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk+IF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsK
ICAgICB1aW50NjRfdCBfY3VzdG9tUHJvdG9jb2xJRDsKICAgICBOU1VSTENhY2hlU3RvcmFnZVBv
bGljeSBfc3RvcmFnZVBvbGljeTsKICAgICBOU1VSTENvbm5lY3Rpb24gKl91cmxDb25uZWN0aW9u
OwogfQotLSAoaWQpaW5pdFdpdGhMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTooV2Vi
S2l0OjpMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSopY3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkgY3VzdG9tUHJvdG9jb2xJRDoodWludDY0X3QpY3VzdG9tUHJvdG9jb2xJRCByZXF1
ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OwotLSAodm9pZCljdXN0b21Qcm90b2NvbE1hbmFn
ZXJQcm94eURlc3Ryb3llZDsKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmKWN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVBy
b3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKKy0gKHZvaWQpY2FuY2Vs
OwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tDdXN0b21Qcm90b2NvbExvYWRlcgogCi0tIChp
ZClpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5OihXZWJLaXQ6OkxlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KiljdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSBj
dXN0b21Qcm90b2NvbElEOih1aW50NjRfdCljdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6KE5TVVJM
UmVxdWVzdCAqKXJlcXVlc3QKKy0gKGlkKWluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6KFdlYktpdDo6TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkmKWN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5IGN1c3RvbVByb3RvY29sSUQ6KHVpbnQ2NF90KWN1c3RvbVBy
b3RvY29sSUQgcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewogICAgIHNlbGYgPSBb
c3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAg
QVNTRVJUKGN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KTsKICAgICBBU1NFUlQocmVxdWVzdCk7
Ci0gICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5ID0gY3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHk7CisgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5ID0gbWFrZVdlYWtQdHIoY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkpOwogICAgIF9jdXN0b21Qcm90b2NvbElEID0gY3VzdG9t
UHJvdG9jb2xJRDsKICAgICBfc3RvcmFnZVBvbGljeSA9IE5TVVJMQ2FjaGVTdG9yYWdlTm90QWxs
b3dlZDsKICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgpAQCAtNzIsNyAr
NzEsNyBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLS0gKHZv
aWQpY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlEZXN0cm95ZWQKKy0gKHZvaWQpY2FuY2VsCiB7
CiAgICAgQVNTRVJUKF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSk7CiAgICAgX2N1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5ID0gbnVsbHB0cjsKQEAgLTgxLDYgKzgwLDkgQEAgLSAodm9pZClj
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eURlc3Ryb3llZAogCiAtICh2b2lkKWNvbm5lY3Rpb246
KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAq
KWVycm9yCiB7CisgICAgaWYgKCFfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkpCisgICAgICAg
IHJldHVybjsKKwogICAgIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgY29yZUVycm9yKGVycm9yKTsK
ICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZEZhaWxXaXRoRXJyb3IoX2N1c3Rv
bVByb3RvY29sSUQsIGNvcmVFcnJvcik7CiAgICAgX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
LT5zdG9wTG9hZGluZyhfY3VzdG9tUHJvdG9jb2xJRCk7CkBAIC05NSwxOCArOTcsMjcgQEAgLSAo
TlNDYWNoZWRVUkxSZXNwb25zZSAqKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5l
Y3Rpb24gd2lsbENhY2hlUmVzcG8KIAogLSAodm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rp
b24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlCiB7CisgICAgaWYgKCFfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29yZVJlc3BvbnNlKHJlc3Bv
bnNlKTsKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVSZXNwb25z
ZShfY3VzdG9tUHJvdG9jb2xJRCwgY29yZVJlc3BvbnNlLCBfc3RvcmFnZVBvbGljeSk7CiB9CiAK
IC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRSZWNl
aXZlRGF0YTooTlNEYXRhICopZGF0YQogeworICAgIGlmICghX2N1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5KQorICAgICAgICByZXR1cm47CisKICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgY29yZURh
dGEoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0
aF0pOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+ZGlkTG9hZERhdGEoX2N1c3Rv
bVByb3RvY29sSUQsIGNvcmVEYXRhKTsKIH0KIAogLSAoTlNVUkxSZXF1ZXN0ICopY29ubmVjdGlv
bjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsU2VuZFJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlZGlyZWN0
UmVzcG9uc2UKIHsKKyAgICBpZiAoIV9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eSkKKyAgICAg
ICAgcmV0dXJuIG5pbDsKKwogICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlKSB7CiAgICAgICAgIF9j
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+d2FzUmVkaXJlY3RlZFRvUmVxdWVzdChfY3VzdG9t
UHJvdG9jb2xJRCwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgICAgIHJldHVybiBu
aWw7CkBAIC0xMTYsNiArMTI3LDkgQEAgLSAoTlNVUkxSZXF1ZXN0ICopY29ubmVjdGlvbjooTlNV
UkxDb25uZWN0aW9uICopY29ubmVjdGlvbiB3aWxsU2VuZFJlcXVlc3Q6KE5TVVIKIAogLSAodm9p
ZCljb25uZWN0aW9uRGlkRmluaXNoTG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlv
bgogeworICAgIGlmICghX2N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5KQorICAgICAgICByZXR1
cm47CisKICAgICBfY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHktPmRpZEZpbmlzaExvYWRpbmco
X2N1c3RvbVByb3RvY29sSUQpOwogICAgIF9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS0+c3Rv
cExvYWRpbmcoX2N1c3RvbVByb3RvY29sSUQpOwogfQpAQCAtMTMxLDcgKzE0NSw3IEBAIHZvaWQg
TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OjpzdGFydExvYWRpbmcoTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyCiAgICAgaWYgKCFyZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAK
LSAgICBXS0N1c3RvbVByb3RvY29sTG9hZGVyICpsb2FkZXIgPSBbW1dLQ3VzdG9tUHJvdG9jb2xM
b2FkZXIgYWxsb2NdIGluaXRXaXRoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6Jm1h
bmFnZXIgY3VzdG9tUHJvdG9jb2xJRDpjdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6cmVxdWVzdF07
CisgICAgV0tDdXN0b21Qcm90b2NvbExvYWRlciAqbG9hZGVyID0gW1tXS0N1c3RvbVByb3RvY29s
TG9hZGVyIGFsbG9jXSBpbml0V2l0aExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Om1h
bmFnZXIgY3VzdG9tUHJvdG9jb2xJRDpjdXN0b21Qcm90b2NvbElEIHJlcXVlc3Q6cmVxdWVzdF07
CiAgICAgQVNTRVJUKGxvYWRlcik7CiAgICAgQVNTRVJUKCFtX2xvYWRlck1hcC5jb250YWlucyhj
dXN0b21Qcm90b2NvbElEKSk7CiAgICAgbV9sb2FkZXJNYXAuYWRkKGN1c3RvbVByb3RvY29sSUQs
IGxvYWRlcik7CkBAIC0xNDgsNyArMTYyLDcgQEAgdm9pZCBMZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXJDbGllbnQ6OmludmFsaWRhdGUoTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHIKICAg
ICB3aGlsZSAoIW1fbG9hZGVyTWFwLmlzRW1wdHkoKSkgewogICAgICAgICBhdXRvIGxvYWRlciA9
IG1fbG9hZGVyTWFwLnRha2UobV9sb2FkZXJNYXAuYmVnaW4oKS0+a2V5KTsKICAgICAgICAgQVNT
RVJUKGxvYWRlcik7Ci0gICAgICAgIFtsb2FkZXIgY3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlE
ZXN0cm95ZWRdOworICAgICAgICBbbG9hZGVyIGNhbmNlbF07CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdh
Y3lDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHku
aAppbmRleCBiNzZmNmNhN2U5ZWQ3MDYwNzFhOTgzMGVhYjRlMmJmYjM2ZTNjZTUxLi5iNTI5ZTRh
ZTdmNGY5NGJlZDA4YWIwMDNkZjkxYjJjOGFjOTYwMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvQ3Vz
dG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5LmgKQEAgLTI3LDYg
KzI3LDggQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogCisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNDcsNyArNDksNyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3NQcm94eTsKIAotY2xhc3MgTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgOiBwdWJsaWMgSVBDOjpNZXNzYWdlUmVjZWl2ZXIg
eworY2xhc3MgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkgOiBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8TGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk+LCBwdWJsaWMgSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgogICAgIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdl
clByb3h5KE5ldHdvcmtQcm9jZXNzUHJveHkmKTsKICAgICB+TGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyUHJveHkoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>