<?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>198485</bug_id>
          
          <creation_ts>2019-06-03 09:07:42 -0700</creation_ts>
          <short_desc>REGRESSION(r245796): [WPE][GTK] Web process crash on startup</short_desc>
          <delta_ts>2019-06-05 07:22:11 -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>WebKitGTK</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alicia Boya García">aboya</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>chris.reid</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1541241</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2019-06-03 09:07:42 -0700</bug_when>
    <thetext>#0  WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:305
#1  0x00007f607bffc44c in WTF::ObjectIdentifier&lt;WebCore::PageIdentifierType&gt;::encode&lt;IPC::Encoder&gt; (this=0x7ffe45293f28, encoder=...)
    at DerivedSources/ForwardingHeaders/wtf/ObjectIdentifier.h:62
#2  0x00007f607bfdf986 in IPC::ArgumentCoder&lt;WTF::ObjectIdentifier&lt;WebCore::PageIdentifierType&gt; &gt;::encode (encoder=..., t=...) at ../../Source/WebKit/Platform/IPC/ArgumentCoder.h:99
#3  0x00007f607bfc4070 in IPC::Encoder::encode&lt;WTF::ObjectIdentifier&lt;WebCore::PageIdentifierType&gt; const&amp;, (void*)0&gt; (this=0x7f605adba000, t=...)
    at ../../Source/WebKit/Platform/IPC/Encoder.h:71
#4  0x00007f607bfb4b5e in IPC::Encoder::operator&lt;&lt; &lt;WTF::ObjectIdentifier&lt;WebCore::PageIdentifierType&gt; const&amp;, (void*)0&gt; (this=0x7f605adba000, t=...)
    at ../../Source/WebKit/Platform/IPC/Encoder.h:84
#5  0x00007f607c530ea0 in WebCore::ResourceRequest::encodeWithPlatformData&lt;IPC::Encoder&gt; (this=0x7ffe45293e68, encoder=...) at DerivedSources/ForwardingHeaders/WebCore/ResourceRequest.h:136
#6  0x00007f607c5300eb in IPC::ArgumentCoder&lt;WebCore::ResourceRequest&gt;::encodePlatformData (encoder=..., resourceRequest=...)
    at ../../Source/WebKit/Shared/soup/WebCoreArgumentCodersSoup.cpp:46
#7  0x00007f607c493074 in IPC::ArgumentCoder&lt;WebCore::ResourceRequest&gt;::encode (encoder=..., resourceRequest=...) at ../../Source/WebKit/Shared/WebCoreArgumentCoders.cpp:1270
#8  0x00007f607be2a610 in IPC::Encoder::encode&lt;WebCore::ResourceRequest const&amp;, (void*)0&gt; (this=0x7f605adba000, t=...) at ../../Source/WebKit/Platform/IPC/Encoder.h:71
#9  0x00007f607be24374 in IPC::Encoder::operator&lt;&lt; &lt;WebCore::ResourceRequest const&amp;, (void*)0&gt; (this=0x7f605adba000, t=...) at ../../Source/WebKit/Platform/IPC/Encoder.h:84
#10 0x00007f607c46a008 in WebKit::LoadParameters::encode (this=0x7ffe45293e60, encoder=...) at ../../Source/WebKit/Shared/LoadParameters.cpp:37
#11 0x00007f607c64fad4 in IPC::ArgumentCoder&lt;WebKit::LoadParameters&gt;::encode (encoder=..., t=...) at ../../Source/WebKit/Platform/IPC/ArgumentCoder.h:99
#12 0x00007f607c64c1a4 in IPC::Encoder::encode&lt;WebKit::LoadParameters const&amp;, (void*)0&gt; (this=0x7f605adba000, t=...) at ../../Source/WebKit/Platform/IPC/Encoder.h:71
#13 0x00007f607c646212 in IPC::Encoder::operator&lt;&lt; &lt;WebKit::LoadParameters const&amp;, (void*)0&gt; (this=0x7f605adba000, t=...) at ../../Source/WebKit/Platform/IPC/Encoder.h:84
#14 0x00007f607c63e54e in IPC::TupleEncoder&lt;1ul, WebKit::LoadParameters const&amp;&gt;::encode (encoder=..., tuple=std::tuple containing = {...})
    at ../../Source/WebKit/Platform/IPC/ArgumentCoders.h:167
#15 0x00007f607c6356b3 in IPC::ArgumentCoder&lt;std::tuple&lt;WebKit::LoadParameters const&amp;&gt; &gt;::encode (encoder=..., tuple=std::tuple containing = {...})
    at ../../Source/WebKit/Platform/IPC/ArgumentCoders.h:239
#16 0x00007f607c6286b6 in IPC::Encoder::encode&lt;std::tuple&lt;WebKit::LoadParameters const&amp;&gt; const&amp;, (void*)0&gt; (this=0x7f605adba000, t=std::tuple containing = {...})
    at ../../Source/WebKit/Platform/IPC/Encoder.h:71
#17 0x00007f607c6111a6 in WebKit::AuxiliaryProcessProxy::send&lt;Messages::WebPage::LoadRequest&gt; (this=0x7f601abfa480, message=..., destinationID=5, sendOptions=...)
    at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:141
#18 0x00007f607c5fbe34 in WebKit::AuxiliaryProcessProxy::send&lt;Messages::WebPage::LoadRequest, WebCore::PageIdentifierType&gt; (this=0x7f601abfa480, message=..., destinationID=..., 
    sendOptions=...) at ../../Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:58
#19 0x00007f607c5b4da8 in WebKit::WebPageProxy::loadRequestWithNavigationShared (this=0x7f601a9f3000, process=..., navigation=..., request=..., 
    shouldOpenExternalURLsPolicy=WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemes, userData=0x0, shouldTreatAsContinuingLoad=WebCore::ShouldTreatAsContinuingLoad::No, 
    websitePolicies=...) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:1118
#20 0x00007f607c5b49e2 in WebKit::WebPageProxy::loadRequest (this=0x7f601a9f3000, request=..., 
    shouldOpenExternalURLsPolicy=WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemes, userData=0x0) at ../../Source/WebKit/UIProcess/WebPageProxy.cpp:1087
#21 0x00007f607c7cb099 in webkit_web_view_load_uri (webView=0xab7290, uri=0x8a5fd0 &quot;http://localhost:9998/main.html?&quot;) at ../../Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:2694
#22 0x000000000041a88e in main (argc=1, argv=0x7ffe452946f8) at ../../Tools/MiniBrowser/gtk/main.c:608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541831</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 18:52:46 -0700</bug_when>
    <thetext>I&apos;m far enough into a bisection to suspect r245796 &quot;Use a strongly-typed identifier for pages&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541832</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 18:53:36 -0700</bug_when>
    <thetext>BTW this has left all our bots broken for over a week now....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541833</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 19:10:19 -0700</bug_when>
    <thetext>It&apos;s just a small mistake in ResourceRequest (it uses 0 to indicate no pageID, but that&apos;s illegal now), which would have been difficult to avoid. The problem isn&apos;t that the bug was introduced. The problem is we either didn&apos;t notice or else ignored it for over a week, and now we&apos;ve lost an entire week&apos;s worth of layout test results. So instead of knowing a small range of commits that introduced a test regression, we&apos;re instead going to have a range of 300 commits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541840</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-04 19:24:55 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; It&apos;s just a small mistake in ResourceRequest (it uses 0 to indicate no
&gt; pageID, but that&apos;s illegal now), which would have been difficult to avoid.
&gt; The problem isn&apos;t that the bug was introduced. The problem is we either
&gt; didn&apos;t notice or else ignored it for over a week, and now we&apos;ve lost an
&gt; entire week&apos;s worth of layout test results. So instead of knowing a small
&gt; range of commits that introduced a test regression, we&apos;re instead going to
&gt; have a range of 300 commits.

an Optional&lt;PageIdentifier&gt; will need to be used. 0 is not a valid strongly typed identifier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541842</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 19:29:43 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; an Optional&lt;PageIdentifier&gt; will need to be used. 0 is not a valid strongly
&gt; typed identifier.

Well problem is I don&apos;t know how to encode/decode an Optional, so I&apos;m just changing it back to uint64_t for now. If we already have working coders for Optional types, that would be even better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541844</commentid>
    <comment_count>6</comment_count>
      <attachid>371363</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 19:39:29 -0700</bug_when>
    <thetext>Created attachment 371363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541845</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-04 19:41:21 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541847</commentid>
    <comment_count>8</comment_count>
      <attachid>371363</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-04 19:44:49 -0700</bug_when>
    <thetext>Comment on attachment 371363
Patch

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

&gt; Source/WebCore/platform/network/soup/ResourceRequest.h:97
&gt; +        uint64_t initiatingPageID() const { return m_initiatingPageID; }

I&apos;d much rather this used Optional&lt;PageIdentifier&gt;. We are moving away from uint64_t for identifier, this patch is going in the wrong direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541848</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-04 19:45:17 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; (In reply to Chris Dumez from comment #4)
&gt; &gt; an Optional&lt;PageIdentifier&gt; will need to be used. 0 is not a valid strongly
&gt; &gt; typed identifier.
&gt; 
&gt; Well problem is I don&apos;t know how to encode/decode an Optional, so I&apos;m just
&gt; changing it back to uint64_t for now. If we already have working coders for
&gt; Optional types, that would be even better.

Optional gets IPC encoded just fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541851</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-04 19:46:13 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #9)
&gt; (In reply to Michael Catanzaro from comment #5)
&gt; &gt; (In reply to Chris Dumez from comment #4)
&gt; &gt; &gt; an Optional&lt;PageIdentifier&gt; will need to be used. 0 is not a valid strongly
&gt; &gt; &gt; typed identifier.
&gt; &gt; 
&gt; &gt; Well problem is I don&apos;t know how to encode/decode an Optional, so I&apos;m just
&gt; &gt; changing it back to uint64_t for now. If we already have working coders for
&gt; &gt; Optional types, that would be even better.
&gt; 
&gt; Optional gets IPC encoded just fine.

Source/WebKit/Platform/IPC/ArgumentCoders.h:    static void encode(Encoder&amp; encoder, const Optional&lt;T&gt;&amp; optional)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541855</commentid>
    <comment_count>11</comment_count>
      <attachid>371363</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-04 19:50:39 -0700</bug_when>
    <thetext>Comment on attachment 371363
Patch

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

&gt; Source/WebCore/platform/network/soup/ResourceRequest.h:-111
&gt; -        PageIdentifier m_initiatingPageID;

Optional&lt;PageIdentifier&gt;

&gt; Source/WebCore/platform/network/soup/ResourceRequest.h:-160
&gt; -    Optional&lt;PageIdentifier&gt; initiatingPageID;

Optional&lt;Optional&lt;PageIdentifier&gt; initiatingPageID;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541863</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 20:09:50 -0700</bug_when>
    <thetext>That works, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541864</commentid>
    <comment_count>13</comment_count>
      <attachid>371367</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-04 20:10:16 -0700</bug_when>
    <thetext>Created attachment 371367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541866</commentid>
    <comment_count>14</comment_count>
      <attachid>371367</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-04 20:13:14 -0700</bug_when>
    <thetext>Comment on attachment 371367
Patch

r=me, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541915</commentid>
    <comment_count>15</comment_count>
      <attachid>371367</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-05 00:56:14 -0700</bug_when>
    <thetext>Comment on attachment 371367
Patch

Clearing flags on attachment: 371367

Committed r246102: &lt;https://trac.webkit.org/changeset/246102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541916</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-05 00:56:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541922</commentid>
    <comment_count>17</comment_count>
      <attachid>371367</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-06-05 01:07:04 -0700</bug_when>
    <thetext>Comment on attachment 371367
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:87
&gt; -    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(resourceRequest.initiatingPageID());
&gt; +    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(*resourceRequest.initiatingPageID());

Is there a guarantee the initiating-page-ID Optional is initialized at this point?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541924</commentid>
    <comment_count>18</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-06-05 01:23:57 -0700</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #17)
&gt; Comment on attachment 371367 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=371367&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:87
&gt; &gt; -    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(resourceRequest.initiatingPageID());
&gt; &gt; +    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(*resourceRequest.initiatingPageID());
&gt; 
&gt; Is there a guarantee the initiating-page-ID Optional is initialized at this
&gt; point?

Good point, we should indeed check the optional first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541960</commentid>
    <comment_count>19</comment_count>
      <attachid>371367</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-06-05 06:58:33 -0700</bug_when>
    <thetext>Comment on attachment 371367
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:87
&gt;&gt;&gt; +    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(*resourceRequest.initiatingPageID());
&gt;&gt; 
&gt;&gt; Is there a guarantee the initiating-page-ID Optional is initialized at this point?
&gt; 
&gt; Good point, we should indeed check the optional first.

I assumed it was guaranteed because I think calling webPage() with 0 would have crashed since it would try and look up 0 in a HashMap whose key type is uint64_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541964</commentid>
    <comment_count>20</comment_count>
      <attachid>371367</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-05 07:15:19 -0700</bug_when>
    <thetext>Comment on attachment 371367
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:87
&gt; -    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(resourceRequest.initiatingPageID());
&gt; +    request-&gt;priv-&gt;initiatingPage = WebProcessProxy::webPage(*resourceRequest.initiatingPageID());

I could add an ASSERT here to make it more clear that the initiatingPageID is required to be set/engaged. Otherwise, the webkit_uri_scheme_request_get_web_view() public API would be broken. It has to be set.

However, I do see this FIXME:

    // FIXME: initiatingPage is now always null, we need to re-implement this somehow.
    return request-&gt;priv-&gt;initiatingPage ? webkitWebContextGetWebViewForPage(request-&gt;priv-&gt;webContext, request-&gt;priv-&gt;initiatingPage.get()) : nullptr;

which indicates that the API is already broken. The return value is not nullable, so applications should not null-check it, and so returning nullptr is clearly illegal. Looks like this has been broken since r162835 &quot;[GTK] Implement custom URI schemes with CustomProtocols.&quot; I don&apos;t know how to fix it, I&apos;ll create a follow-up bug report. In any case, it seems clear that we should crash rather than allow initiatingPageID to be unset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541966</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-05 07:22:11 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #19)
&gt; I assumed it was guaranteed because I think calling webPage() with 0 would
&gt; have crashed since it would try and look up 0 in a HashMap whose key type is
&gt; uint64_t.

Oh well, I missed that, but that too.

Let&apos;s continue in bug #198564.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371363</attachid>
            <date>2019-06-04 19:39:29 -0700</date>
            <delta_ts>2019-06-04 20:10:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198485-20190604213928.patch</filename>
            <type>text/plain</type>
            <size>7188</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzliNTk1YmNlZDJiNjNl
MzFiY2IxMTU5YjE5YTFiMTA5OTVlODY2Mi4uYTNkYzgyY2JhZTE4ZWI4ZmE5MDg0OWZmMThhZDI2
NDNmMDcwOTA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA2LTA0ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OKHIyNDU3OTYpOiBbV1BFXVtHVEtdIFdlYiBwcm9jZXNzIGNyYXNoIG9uIHN0YXJ0dXAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODQ4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB3ZWIgcHJv
Y2VzcyBpcyBjcmFzaGluZyBvbiBzdGFydHVwIGJlY2F1c2UgUmVzb3VyY2VSZXF1ZXN0IHRyaWVz
IHRvIGVuY29kZSAwIHRvIGluZGljYXRlCisgICAgICAgIHVuc3BlY2lmaWVkIHBhZ2UgSUQsIGJ1
dCB0aGlzIGlzIG5vdyBpbGxlZ2FsIGJlY2F1c2UgT2JqZWN0SWRlbnRpZmllcnMgbXVzdCBiZSB2
YWxpZAorICAgICAgICAobm9uemVybykgd2hlbiBjb2RlZC4gU28gc3dpdGNoIFJlc291cmNlUmVx
dWVzdCBiYWNrIHRvIHVzaW5nIHVpbnQ2NF90IHRvIGhvbGQgcGFnZSBJRHMuCisKKyAgICAgICAg
SWYgaXQncyBwb3NzaWJsZSB0byBlbmNvZGUgT3B0aW9uYWwgdHlwZXMsIHRoYXQgd291bGQgYmUg
ZXZlbiBiZXR0ZXIsIGJ1dCBJIGRpZG4ndAorICAgICAgICBpbnZlc3RpZ2F0ZSB0aGlzLgorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojppbml0aWF0aW5nUGFnZUlEIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6c2V0SW5pdGlhdGluZ1BhZ2VJRCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRlY29kZVdpdGhQbGF0Zm9ybURhdGEp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6dXBkYXRlU291cFJlcXVlc3Qg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9tU291
cFJlcXVlc3QpOgorCiAyMDE5LTA2LTA0ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNv
bT4KIAogICAgICAgICBGaXggNjQtYml0IHZzIDMyLWJpdCBtaXNtYXRjaCBpbiBJU09GYWlyUGxh
eVN0cmVhbWluZ1Bzc2hCb3guY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyMzhlZmQ0NWQ2M2QzMGM5NTc4ZTNl
M2FkOWFjMzAwMjFiOGMyNjIuLjM3NmQ0MDQxNTMyZmUzYTY1MTUxOWRiYWEwMDRjOWJlZDk3ZjAx
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMDQgIE1pY2hhZWwgQ2F0YW56
YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI0NTc5
Nik6IFtXUEVdW0dUS10gV2ViIHByb2Nlc3MgY3Jhc2ggb24gc3RhcnR1cAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4NDg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHA6CisgICAgICAgICh3ZWJraXRVUklTY2hlbWVSZXF1
ZXN0Q3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGli
L1dlYktpdFdlYlBhZ2UuY3BwOgorCiAyMDE5LTA2LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgc2hvdWxkIGJlIHBy
b2Nlc3NlZCBzZXF1ZW50aWFsbHkgaW4gVUlQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggNTQzOTAy
ZmY1MzRlYTUwYTRkZWIwNTE2MmMyZWViMzViYTJkN2Q5Ni4uNWQ3ZjNlZTExN2Y5YWNlYmE2MWJj
ZWRhMzI4MzZiNzgyNGFhNGY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMjcsNyArMjcsNiBAQAogI2lm
bmRlZiBSZXNvdXJjZVJlcXVlc3RfaAogI2RlZmluZSBSZXNvdXJjZVJlcXVlc3RfaAogCi0jaW5j
bHVkZSAiUGFnZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgi
CiAjaW5jbHVkZSAiVVJMU291cC5oIgogCkBAIC05NSw4ICs5NCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgU291cE1lc3NhZ2VGbGFncyBzb3VwTWVzc2FnZUZsYWdzKCkgY29uc3Qg
eyByZXR1cm4gbV9zb3VwRmxhZ3M7IH0KICAgICAgICAgdm9pZCBzZXRTb3VwTWVzc2FnZUZsYWdz
KFNvdXBNZXNzYWdlRmxhZ3Mgc291cEZsYWdzKSB7IG1fc291cEZsYWdzID0gc291cEZsYWdzOyB9
CiAKLSAgICAgICAgUGFnZUlkZW50aWZpZXIgaW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5pdGlhdGluZ1BhZ2VJRDsgfQotICAgICAgICB2b2lkIHNldEluaXRpYXRpbmdQYWdl
SUQoUGFnZUlkZW50aWZpZXIgcGFnZUlEKSB7IG1faW5pdGlhdGluZ1BhZ2VJRCA9IHBhZ2VJRDsg
fQorICAgICAgICB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29uc3QgeyByZXR1cm4gbV9p
bml0aWF0aW5nUGFnZUlEOyB9CisgICAgICAgIHZvaWQgc2V0SW5pdGlhdGluZ1BhZ2VJRCh1aW50
NjRfdCBwYWdlSUQpIHsgbV9pbml0aWF0aW5nUGFnZUlEID0gcGFnZUlEOyB9CiAKICAgICAgICAg
R1VuaXF1ZVB0cjxTb3VwVVJJPiBjcmVhdGVTb3VwVVJJKCkgY29uc3Q7CiAKQEAgLTEwOCw3ICsx
MDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9vbCBtX2FjY2VwdEVuY29k
aW5nIDogMTsKICAgICAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKLSAgICAgICAg
UGFnZUlkZW50aWZpZXIgbV9pbml0aWF0aW5nUGFnZUlEOworICAgICAgICB1aW50NjRfdCBtX2lu
aXRpYXRpbmdQYWdlSUQgeyAwIH07CiAKICAgICAgICAgdm9pZCB1cGRhdGVTb3VwTWVzc2FnZU1l
bWJlcnMoU291cE1lc3NhZ2UqKSBjb25zdDsKICAgICAgICAgdm9pZCB1cGRhdGVTb3VwTWVzc2Fn
ZUJvZHkoU291cE1lc3NhZ2UqKSBjb25zdDsKQEAgLTE1NywxMSArMTU2LDEwIEBAIGJvb2wgUmVz
b3VyY2VSZXF1ZXN0OjpkZWNvZGVXaXRoUGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29kZXIpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBtX3NvdXBGbGFncyA9IHN0YXRpY19jYXN0PFNvdXBN
ZXNzYWdlRmxhZ3M+KHNvdXBNZXNzYWdlRmxhZ3MpOwogCi0gICAgT3B0aW9uYWw8UGFnZUlkZW50
aWZpZXI+IGluaXRpYXRpbmdQYWdlSUQ7Ci0gICAgZGVjb2RlciA+PiBpbml0aWF0aW5nUGFnZUlE
OwotICAgIGlmICghaW5pdGlhdGluZ1BhZ2VJRCkKKyAgICB1aW50NjRfdCBpbml0aWF0aW5nUGFn
ZUlEOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaW5pdGlhdGluZ1BhZ2VJRCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBtX2luaXRpYXRpbmdQYWdlSUQgPSAqaW5pdGlhdGluZ1BhZ2VJ
RDsKKyAgICBtX2luaXRpYXRpbmdQYWdlSUQgPSBpbml0aWF0aW5nUGFnZUlEOwogCiAgICAgcmV0
dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKaW5kZXggMGVkMjViMzdkNWY4MDg3
NjgxMjUzODc3MDg5MGFmOWI4OGU5MzY0Yi4uMGY2ZWExOTc4N2E0NmM3NDc0YjQxNjQ4ZjI0NTg0
OTU3YjAwZDJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBA
IHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVTb3VwUmVxdWVzdChTb3VwUmVxdWVzdCogc291
cFJlcXVlc3QpIGNvbnN0CiB7CiAgICAgaWYgKG1faW5pdGlhdGluZ1BhZ2VJRCkgewogICAgICAg
ICB1aW50NjRfdCogaW5pdGlhdGluZ1BhZ2VJRFB0ciA9IHN0YXRpY19jYXN0PHVpbnQ2NF90Kj4o
ZmFzdE1hbGxvYyhzaXplb2YodWludDY0X3QpKSk7Ci0gICAgICAgICppbml0aWF0aW5nUGFnZUlE
UHRyID0gbV9pbml0aWF0aW5nUGFnZUlELnRvVUludDY0KCk7CisgICAgICAgICppbml0aWF0aW5n
UGFnZUlEUHRyID0gbV9pbml0aWF0aW5nUGFnZUlEOwogICAgICAgICBnX29iamVjdF9zZXRfZGF0
YV9mdWxsKEdfT0JKRUNUKHNvdXBSZXF1ZXN0KSwgZ19pbnRlcm5fc3RhdGljX3N0cmluZyhnU291
cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlES2V5KSwgaW5pdGlhdGluZ1BhZ2VJRFB0ciwgZmFzdEZy
ZWUpOwogICAgIH0KIApAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojp1
cGRhdGVTb3VwUmVxdWVzdChTb3VwUmVxdWVzdCogc291cFJlcXVlc3QpIGNvbnN0CiB2b2lkIFJl
c291cmNlUmVxdWVzdDo6dXBkYXRlRnJvbVNvdXBSZXF1ZXN0KFNvdXBSZXF1ZXN0KiBzb3VwUmVx
dWVzdCkKIHsKICAgICB1aW50NjRfdCogaW5pdGlhdGluZ1BhZ2VJRFB0ciA9IHN0YXRpY19jYXN0
PHVpbnQ2NF90Kj4oZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1Qoc291cFJlcXVlc3QpLCBnU291
cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlES2V5KSk7Ci0gICAgbV9pbml0aWF0aW5nUGFnZUlEID0g
bWFrZU9iamVjdElkZW50aWZpZXI8UGFnZUlkZW50aWZpZXJUeXBlPihpbml0aWF0aW5nUGFnZUlE
UHRyID8gKmluaXRpYXRpbmdQYWdlSURQdHIgOiAwKTsKKyAgICBtX2luaXRpYXRpbmdQYWdlSUQg
PSBpbml0aWF0aW5nUGFnZUlEUHRyID8gKmluaXRpYXRpbmdQYWdlSURQdHIgOiAwOwogfQogCiB1
bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVt
ZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdC5jcHAKaW5kZXggNzkzY2RiZmQ4NDlkMWFkZWQ0NjgzOWMzZWMwNzg1YmRk
MzhjMjAyYy4uNTQxOTFkOWYwZWFiYzA0OGNmNDE2N2NkMDM5NmZmMDExMGM2ZTRiOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dCogd2Via2l0VVJJU2NoZW1lUmVxdWVzdENyZWF0ZSh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYktp
dFcKICAgICByZXF1ZXN0LT5wcml2LT53ZWJDb250ZXh0ID0gd2ViQ29udGV4dDsKICAgICByZXF1
ZXN0LT5wcml2LT5tYW5hZ2VyID0gJm1hbmFnZXI7CiAgICAgcmVxdWVzdC0+cHJpdi0+dXJpID0g
cmVzb3VyY2VSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsKLSAgICByZXF1ZXN0LT5wcml2
LT5pbml0aWF0aW5nUGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZShyZXNvdXJjZVJlcXVl
c3QuaW5pdGlhdGluZ1BhZ2VJRCgpKTsKKyAgICByZXF1ZXN0LT5wcml2LT5pbml0aWF0aW5nUGFn
ZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZShtYWtlT2JqZWN0SWRlbnRpZmllcjxQYWdlSWRl
bnRpZmllclR5cGU+KHJlc291cmNlUmVxdWVzdC5pbml0aWF0aW5nUGFnZUlEKCkpKTsKICAgICBy
ZXF1ZXN0LT5wcml2LT5yZXF1ZXN0SUQgPSByZXF1ZXN0SUQ7CiAgICAgcmV0dXJuIHJlcXVlc3Q7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2dsaWIvV2ViS2l0V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0V2ViUGFnZS5jcHAKaW5kZXggY2ZjNTAzMWVkNmU0
YTI5NTRmZTAyYTAzZGE4N2ExNjFjZDJkMzA4Mi4uYTI5Y2Q0MzU4ZTdjMmI0ZDlkMWNkYmIxMTRi
Y2JiZDU2NTA2OTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJQYWdlLmNwcApAQCAt
MjQ4LDcgKzI0OCw3IEBAIHByaXZhdGU6CiAgICAgICAgIH0KIAogICAgICAgICB3ZWJraXRVUklS
ZXF1ZXN0R2V0UmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QuZ2V0KCksIHJlc291cmNlUmVxdWVzdCk7
Ci0gICAgICAgIHJlc291cmNlUmVxdWVzdC5zZXRJbml0aWF0aW5nUGFnZUlEKHBhZ2UucGFnZUlE
KCkpOworICAgICAgICByZXNvdXJjZVJlcXVlc3Quc2V0SW5pdGlhdGluZ1BhZ2VJRChwYWdlLnBh
Z2VJRCgpLnRvVUludDY0KCkpOwogCiAgICAgICAgIEFQSTo6RGljdGlvbmFyeTo6TWFwVHlwZSBt
ZXNzYWdlOwogICAgICAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJQYWdlIiksICZw
YWdlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371367</attachid>
            <date>2019-06-04 20:10:16 -0700</date>
            <delta_ts>2019-06-05 00:56:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198485-20190604221015.patch</filename>
            <type>text/plain</type>
            <size>5168</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzliNTk1YmNlZDJiNjNl
MzFiY2IxMTU5YjE5YTFiMTA5OTVlODY2Mi4uZjEyY2Y0ZTMyMjRmN2NlYjJhODUzZDFiNzhjNmJl
NGNiMjRkNTE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTA2LTA0ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OKHIyNDU3OTYpOiBbV1BFXVtHVEtdIFdlYiBwcm9jZXNzIGNyYXNoIG9uIHN0YXJ0dXAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODQ4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc291cmNlUmVx
dWVzdCdzIFBhZ2VJZGVudGlmaWVyIG1heSBiZSB1bnNldCwgd2hpY2ggY2F1c2VzIGNvZGluZyB0
byBmYWlsIGFzCisgICAgICAgIE9iamVjdElkZW50aWZpZXJzIGFyZSByZXF1aXJlZCB0byBiZSB2
YWxpZCAobm9uemVybykuIFdlIG5lZWQgdG8gdXNlIE9wdGlvbmFsIGhlcmUuCisgICAgICAgIFBy
ZXZpb3VzbHksIDAgd2FzIHVzZWQgdG8gaW5kaWNhdGUgdW5zZXQgcGFnZSBJRC4gVGhpcyBpcyBj
bGVhcmVyLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVz
dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojppbml0aWF0aW5nUGFnZUlE
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZGVjb2RlV2l0aFBs
YXRmb3JtRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVx
dWVzdFNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVT
b3VwUmVxdWVzdCBjb25zdCk6CisKIDIwMTktMDYtMDQgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEZpeCA2NC1iaXQgdnMgMzItYml0IG1pc21hdGNoIGluIElT
T0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjIzOGVmZDQ1ZDYzZDMw
Yzk1NzhlM2UzYWQ5YWMzMDAyMWI4YzI2Mi4uMzdlMGE3Nzg0ZjQyNDlmMTBlMjY0NzU5ZDFhYjdm
NTUyNTAzZmM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wNi0wNCAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMjQ1Nzk2KTogW1dQRV1bR1RLXSBXZWIgcHJvY2VzcyBjcmFzaCBvbiBzdGFydHVwCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg0ODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAgKHdlYmtpdFVSSVNj
aGVtZVJlcXVlc3RDcmVhdGUpOgorCiAyMDE5LTA2LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgc2hvdWxkIGJlIHBy
b2Nlc3NlZCBzZXF1ZW50aWFsbHkgaW4gVUlQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggNTQzOTAy
ZmY1MzRlYTUwYTRkZWIwNTE2MmMyZWViMzViYTJkN2Q5Ni4uMDFjYzAzYTJlNWMyY2Q4ODM0NDZk
MTZhMjI4NjJhZWI4ZTZhZDE3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaApAQCAtOTUsNyArOTUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNvdXBNZXNzYWdlRmxhZ3Mgc291cE1lc3NhZ2VGbGFn
cygpIGNvbnN0IHsgcmV0dXJuIG1fc291cEZsYWdzOyB9CiAgICAgICAgIHZvaWQgc2V0U291cE1l
c3NhZ2VGbGFncyhTb3VwTWVzc2FnZUZsYWdzIHNvdXBGbGFncykgeyBtX3NvdXBGbGFncyA9IHNv
dXBGbGFnczsgfQogCi0gICAgICAgIFBhZ2VJZGVudGlmaWVyIGluaXRpYXRpbmdQYWdlSUQoKSBj
b25zdCB7IHJldHVybiBtX2luaXRpYXRpbmdQYWdlSUQ7IH0KKyAgICAgICAgT3B0aW9uYWw8UGFn
ZUlkZW50aWZpZXI+IGluaXRpYXRpbmdQYWdlSUQoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYXRp
bmdQYWdlSUQ7IH0KICAgICAgICAgdm9pZCBzZXRJbml0aWF0aW5nUGFnZUlEKFBhZ2VJZGVudGlm
aWVyIHBhZ2VJRCkgeyBtX2luaXRpYXRpbmdQYWdlSUQgPSBwYWdlSUQ7IH0KIAogICAgICAgICBH
VW5pcXVlUHRyPFNvdXBVUkk+IGNyZWF0ZVNvdXBVUkkoKSBjb25zdDsKQEAgLTEwOCw3ICsxMDgs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9vbCBtX2FjY2VwdEVuY29kaW5n
IDogMTsKICAgICAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFnczsKLSAgICAgICAgUGFn
ZUlkZW50aWZpZXIgbV9pbml0aWF0aW5nUGFnZUlEOworICAgICAgICBPcHRpb25hbDxQYWdlSWRl
bnRpZmllcj4gbV9pbml0aWF0aW5nUGFnZUlEOwogCiAgICAgICAgIHZvaWQgdXBkYXRlU291cE1l
c3NhZ2VNZW1iZXJzKFNvdXBNZXNzYWdlKikgY29uc3Q7CiAgICAgICAgIHZvaWQgdXBkYXRlU291
cE1lc3NhZ2VCb2R5KFNvdXBNZXNzYWdlKikgY29uc3Q7CkBAIC0xNTcsNyArMTU3LDcgQEAgYm9v
bCBSZXNvdXJjZVJlcXVlc3Q6OmRlY29kZVdpdGhQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVjb2Rl
cikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG1fc291cEZsYWdzID0gc3RhdGljX2Nhc3Q8
U291cE1lc3NhZ2VGbGFncz4oc291cE1lc3NhZ2VGbGFncyk7CiAKLSAgICBPcHRpb25hbDxQYWdl
SWRlbnRpZmllcj4gaW5pdGlhdGluZ1BhZ2VJRDsKKyAgICBPcHRpb25hbDxPcHRpb25hbDxQYWdl
SWRlbnRpZmllcj4+IGluaXRpYXRpbmdQYWdlSUQ7CiAgICAgZGVjb2RlciA+PiBpbml0aWF0aW5n
UGFnZUlEOwogICAgIGlmICghaW5pdGlhdGluZ1BhZ2VJRCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVxdWVzdFNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCmluZGV4IDBlZDI1YjM3ZDVmODA4NzY4MTI1Mzg3NzA4
OTBhZjliODhlOTM2NGIuLjk2MDFlNjYzMTdiMDU5NGZiOTA0ZDNiOTEyZjYyNmM4MmY3M2NhYjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZVJlcXVlc3RTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCB2b2lkIFJlc291
cmNlUmVxdWVzdDo6dXBkYXRlU291cFJlcXVlc3QoU291cFJlcXVlc3QqIHNvdXBSZXF1ZXN0KSBj
b25zdAogewogICAgIGlmIChtX2luaXRpYXRpbmdQYWdlSUQpIHsKICAgICAgICAgdWludDY0X3Qq
IGluaXRpYXRpbmdQYWdlSURQdHIgPSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KGZhc3RNYWxsb2Mo
c2l6ZW9mKHVpbnQ2NF90KSkpOwotICAgICAgICAqaW5pdGlhdGluZ1BhZ2VJRFB0ciA9IG1faW5p
dGlhdGluZ1BhZ2VJRC50b1VJbnQ2NCgpOworICAgICAgICAqaW5pdGlhdGluZ1BhZ2VJRFB0ciA9
IG1faW5pdGlhdGluZ1BhZ2VJRC0+dG9VSW50NjQoKTsKICAgICAgICAgZ19vYmplY3Rfc2V0X2Rh
dGFfZnVsbChHX09CSkVDVChzb3VwUmVxdWVzdCksIGdfaW50ZXJuX3N0YXRpY19zdHJpbmcoZ1Nv
dXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSksIGluaXRpYXRpbmdQYWdlSURQdHIsIGZhc3RG
cmVlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKaW5kZXggNzkzY2RiZmQ4NDlkMWFk
ZWQ0NjgzOWMzZWMwNzg1YmRkMzhjMjAyYy4uZGViYjhlZTZlNDVhMThmYmIxOTlmODU2YjAyNTkz
MDYzYmFmY2M5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdCogd2Via2l0VVJJU2NoZW1lUmVxdWVzdENyZWF0ZSh1aW50NjRf
dCByZXF1ZXN0SUQsIFdlYktpdFcKICAgICByZXF1ZXN0LT5wcml2LT53ZWJDb250ZXh0ID0gd2Vi
Q29udGV4dDsKICAgICByZXF1ZXN0LT5wcml2LT5tYW5hZ2VyID0gJm1hbmFnZXI7CiAgICAgcmVx
dWVzdC0+cHJpdi0+dXJpID0gcmVzb3VyY2VSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKTsK
LSAgICByZXF1ZXN0LT5wcml2LT5pbml0aWF0aW5nUGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2Vi
UGFnZShyZXNvdXJjZVJlcXVlc3QuaW5pdGlhdGluZ1BhZ2VJRCgpKTsKKyAgICByZXF1ZXN0LT5w
cml2LT5pbml0aWF0aW5nUGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZSgqcmVzb3VyY2VS
ZXF1ZXN0LmluaXRpYXRpbmdQYWdlSUQoKSk7CiAgICAgcmVxdWVzdC0+cHJpdi0+cmVxdWVzdElE
ID0gcmVxdWVzdElEOwogICAgIHJldHVybiByZXF1ZXN0OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>