<?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>149218</bug_id>
          
          <creation_ts>2015-09-16 09:31:15 -0700</creation_ts>
          <short_desc>REGRESSION(189668?): http/tests/notifications/events.html flakily asserts or times out</short_desc>
          <delta_ts>2016-07-01 17:10:29 -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>Tools / Tests</component>
          <version>Other</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=149510</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>149762</dependson>
    
    <dependson>149897</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>ap</cc>
    
    <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126360</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-16 09:31:15 -0700</bug_when>
    <thetext>http/tests/notifications/events.html flakily asserts or times out on Mac WK2:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;showExpectations=true&amp;revision=189778&amp;tests=http%2Ftests%2Fnotifications%2Fevents.html

This doesn&apos;t happen very often, but it definitely regressed within the last few days. r189668 seems suspicious, as it changed some notification permissions code in WKTR.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000010f8c8ed7 WTFCrash + 39
1   WebKitTestRunner              	0x000000010ecf8474 WTR::WebNotificationProvider::simulateWebNotificationClick(unsigned long long) + 116 (WebNotificationProvider.cpp:132)
2   WebKitTestRunner              	0x000000010ed075ff WTR::TestController::simulateWebNotificationClick(unsigned long long) + 47 (TestController.cpp:1565)
3   WebKitTestRunner              	0x000000010ed193e0 WTR::TestInvocation::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*) + 2128 (TestInvocation.cpp:410)
4   WebKitTestRunner              	0x000000010ed06029 WTR::TestController::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*) + 2313 (TestController.cpp:1186)
5   WebKitTestRunner              	0x000000010ecfecfc WTR::TestController::didReceivePageMessageFromInjectedBundle(OpaqueWKPage const*, OpaqueWKString const*, void const*, void const*) + 44 (TestController.cpp:1072)
6   com.apple.WebKit              	0x0000000111a15380 WebKit::WebPageInjectedBundleClient::didReceiveMessageFromInjectedBundle(WebKit::WebPageProxy*, WTF::String const&amp;, API::Object*) + 144 (WebPageInjectedBundleClient.cpp:42)
7   com.apple.WebKit              	0x0000000111a53a34 WebKit::WebPageProxy::handleMessage(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;) + 228 (WebPageProxy.cpp:666)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127165</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-18 11:23:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/22760990&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128107</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-09-22 14:40:16 -0700</bug_when>
    <thetext>Committed r190135: &lt;http://trac.webkit.org/changeset/190135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128108</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2015-09-22 14:40:52 -0700</bug_when>
    <thetext>This is not resolved at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128222</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-22 22:23:54 -0700</bug_when>
    <thetext>&gt; webkit.org/b/149218 http/tests/notifications/events.html [ Failure Pass ] 

This test actually never &quot;fails&quot; - it times out in release, and crashes in debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130043</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-01 14:34:48 -0700</bug_when>
    <thetext>Looking at this. Seems likely caused by http://trac.webkit.org/changeset/189668</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130045</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-01 14:40:49 -0700</bug_when>
    <thetext>Doesn&apos;t look like I&apos;m able to reproduce this on my local machine</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130118</commentid>
    <comment_count>7</comment_count>
      <attachid>262305</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-01 17:56:28 -0700</bug_when>
    <thetext>Created attachment 262305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130252</commentid>
    <comment_count>8</comment_count>
      <attachid>262305</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-02 10:37:18 -0700</bug_when>
    <thetext>Comment on attachment 262305
Patch

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

&gt; Tools/WebKitTestRunner/WebNotificationProvider.cpp:153
&gt; +    auto iterator = m_owningManager.find(notificationID);
&gt; +    ASSERT(iterator != m_owningManager.end());
&gt; +    WKNotificationManagerProviderDidClickNotification(iterator-&gt;value.get(), notificationID);

No need to try to avoid an extra hash lookup that will only be triggered in debug code here, just use contains + get instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130256</commentid>
    <comment_count>9</comment_count>
      <attachid>262305</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-02 10:44:03 -0700</bug_when>
    <thetext>Comment on attachment 262305
Patch

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

&gt; Tools/WebKitTestRunner/WebNotificationProvider.h:56
&gt; +    // WKRetainPtr won&apos;t work with HashTable&apos;s deleted values (it tries to retain -1).
&gt; +    // We can&apos;t teach it about HashTableDeletedValue because it lives in WTF.

This is not true. I should move the WKRetainPtr to m_ownedNotifications, and add HashTraits for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130742</commentid>
    <comment_count>10</comment_count>
      <attachid>262462</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-05 14:42:13 -0700</bug_when>
    <thetext>Created attachment 262462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130806</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-05 16:46:27 -0700</bug_when>
    <thetext>Committed r190593: &lt;http://trac.webkit.org/changeset/190593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131369</commentid>
    <comment_count>12</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-07 12:38:28 -0700</bug_when>
    <thetext>Reopening since this test still crashes occasionally:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;revision=190660&amp;tests=http%2Ftests%2Fnotifications%2Fevents.html

Here&apos;s a stack trace:

20:19:35.822 3776   ASSERTION FAILED: m_owningManager.contains(notificationID)
20:19:35.822 3776   /Volumes/Data/slave/mavericks-debug/build/Tools/WebKitTestRunner/WebNotificationProvider.cpp(148) : void WTR::WebNotificationProvider::simulateWebNotificationClick(uint64_t)
20:19:35.822 3776   1   0x10c3cedd0 WTFCrash
20:19:35.822 3776   2   0x10b7662ea WTR::WebNotificationProvider::simulateWebNotificationClick(unsigned long long)
20:19:35.822 3776   3   0x10b77ad8f WTR::TestController::simulateWebNotificationClick(unsigned long long)
20:19:35.822 3776   4   0x10b78c677 WTR::TestInvocation::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*)
20:19:35.822 3776   5   0x10b779765 WTR::TestController::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*)
20:19:35.822 3776   6   0x10b77223c WTR::TestController::didReceivePageMessageFromInjectedBundle(OpaqueWKPage const*, OpaqueWKString const*, void const*, void const*)
20:19:35.822 3776   7   0x10e5f24cb WebKit::WebPageInjectedBundleClient::didReceiveMessageFromInjectedBundle(WebKit::WebPageProxy*, WTF::String const&amp;, API::Object*)
20:19:35.822 3776   8   0x10e6338f4 WebKit::WebPageProxy::handleMessage(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;)
20:19:35.822 3776   9   0x10e6de03d void IPC::callMemberFunctionImpl&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;), std::__1::tuple&lt;WTF::String, WebKit::UserData&gt;, 0ul, 1ul&gt;(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;), IPC::Connection&amp;, std::__1::tuple&lt;WTF::String, WebKit::UserData&gt;&amp;&amp;, std::index_sequence&lt;0ul, 1ul&gt;)
20:19:35.822 3776   10  0x10e6ddf70 void IPC::callMemberFunction&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;), std::__1::tuple&lt;WTF::String, WebKit::UserData&gt;, std::make_index_sequence&lt;2ul&gt; &gt;(IPC::Connection&amp;, std::__1::tuple&lt;WTF::String, WebKit::UserData&gt;&amp;&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;))
20:19:35.822 3776   11  0x10e6d0fcf void IPC::handleMessage&lt;Messages::WebPageProxy::HandleMessage, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;)&gt;(IPC::Connection&amp;, IPC::MessageDecoder&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&amp;, WTF::String const&amp;, WebKit::UserData const&amp;))
20:19:35.822 3776   12  0x10e6c371c WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;)
20:19:35.822 3776   13  0x10e6c39a7 non-virtual thunk to WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;)
20:19:35.823 3776   14  0x10dfe59ed IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;)
20:19:35.823 3776   15  0x10de88597 WebKit::ChildProcessProxy::dispatchMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;)
20:19:35.823 3776   16  0x10e7a6fca WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;)
20:19:35.823 3776   17  0x10e7a70c7 non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;)
20:19:35.823 3776   18  0x10de96683 IPC::Connection::dispatchMessage(IPC::MessageDecoder&amp;)
20:19:35.823 3776   19  0x10de8d76e IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)
20:19:35.823 3776   20  0x10de96c7f IPC::Connection::dispatchOneMessage()
20:19:35.823 3776   21  0x10de9836d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10::operator()() const
20:19:35.823 3776   22  0x10de9833c std::__1::__function::__func&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10, std::__1::allocator&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&gt;, void ()&gt;::operator()()
20:19:35.823 3776   23  0x10be8276a std::__1::function&lt;void ()&gt;::operator()() const
20:19:35.823 3776   24  0x10c419b54 WTF::RunLoop::performWork()
20:19:35.823 3776   25  0x10c41a2c4 WTF::RunLoop::performWork(void*)
20:19:35.823 3776   26  0x7fff915ae5b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
20:19:35.823 3776   27  0x7fff9159fc62 __CFRunLoopDoSources0
20:19:35.823 3776   28  0x7fff9159f3ef __CFRunLoopRun
20:19:35.823 3776   29  0x7fff9159ee75 CFRunLoopRunSpecific
20:19:35.823 3776   30  0x7fff86cc516c -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
20:19:35.823 3776   31  0x10b798e8c WTR::TestController::platformRunUntil(bool&amp;, double)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132320</commentid>
    <comment_count>13</comment_count>
      <attachid>262891</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-10-12 09:22:01 -0700</bug_when>
    <thetext>Created attachment 262891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132323</commentid>
    <comment_count>14</comment_count>
      <attachid>262891</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-12 09:35:30 -0700</bug_when>
    <thetext>Comment on attachment 262891
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132345</commentid>
    <comment_count>15</comment_count>
      <attachid>262891</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-12 10:23:40 -0700</bug_when>
    <thetext>Comment on attachment 262891
Patch

Clearing flags on attachment: 262891

Committed r190858: &lt;http://trac.webkit.org/changeset/190858&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132346</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-12 10:23:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132347</commentid>
    <comment_count>17</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-10-12 10:24:33 -0700</bug_when>
    <thetext>Reopening due to auto-close</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207356</commentid>
    <comment_count>18</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 17:10:29 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=159375 fixes the flakiness.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262305</attachid>
            <date>2015-10-01 17:56:28 -0700</date>
            <delta_ts>2015-10-05 14:42:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149218-20151001175602.patch</filename>
            <type>text/plain</type>
            <size>10032</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNDE3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTRkMjRmYmNmM2Y2ZDc0YmFiMWIwN2FhOWQzOTQwNjZk
YWRmYjRkYy4uNjM4NjYwYWYwMDhkNDEwMTUxZTNjNWM1NmI4N2QzYmNlMGEwMjM1OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDE1LTEwLTAxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTigxODk2Njg/KTogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2V2ZW50cy5odG1sIGZsYWtpbHkgYXNzZXJ0cyBvciB0aW1lcyBvdXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTIxOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlY2F1c2Ugb2YgcjE4OTY2OCwgV2Vi
S2l0VGVzdFJ1bm5lciBub3cgdGVhcnMgZG93biBhbmQgcmVjcmVhdGVzIGl0cyBXS05vdGlmaWNh
dGlvbk1hbmFnZXJSZWYKKyAgICAgICAgd2hlbiB0aGUgVGVzdE9wdGlvbnMgY2hhbmdlLiBQcmV2
aW91c2x5LCBXZWJOb3RpZmljYXRpb25Qcm92aWRlciBvbmx5IGNvdWxkIGhhbmRsZSBhIHNpbmds
ZQorICAgICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYuIEJlY2F1c2UgdGhlIG93ZXIgb2Yg
dGhlIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiBpcyByZWZlcmVuY2UgY291bnRlZCwKKyAgICAg
ICAgYW5kIEFwcEtpdCBpbnRlcm5hbGx5IHJldGFpbnMgc29tZSBvYmplY3RzIHdoaWNoIGVuZCB1
cCByZXRhaW5pbmcgdGhlIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiwKKyAgICAgICAgdGhlIG9s
ZCBXS05vdGlmaWNhdGlvbk1hbmFnZXIgbWF5IG5vdCBiZSBkZXN0cm95ZWQgYmVmb3JlIHRoZSBu
ZXcgb25lIGlzIGNyZWF0ZWQuIFRoZXJlZm9yZSwKKyAgICAgICAgV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIgbXVzdCBiZSB1cGRhdGVkIHRvIGFwcHJvcHJpYXRlbHkgaGFuZGxlIG11bHRpcGxlCisg
ICAgICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZnMgaW4gZmxpZ2h0IGF0IHRoZSBzYW1lIHRp
bWUuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVy
LmNwcDoKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6On5XZWJOb3RpZmlj
YXRpb25Qcm92aWRlcik6CisgICAgICAgIChXVFI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpz
aG93V2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXI6OmNsb3NlV2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9u
UHJvdmlkZXI6OmFkZE5vdGlmaWNhdGlvbk1hbmFnZXIpOgorICAgICAgICAoV1RSOjpXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdlcik6CisgICAgICAgIChX
VFI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNr
KToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlc2V0KToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmg6CisKIDIwMTUt
MTAtMDEgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEF0dGVt
cHQgdG8gZml4IHRoZSBpT1MgOSBTaW11bGF0b3IgdGVzdGVycwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAppbmRleCBmMWM3YmVhN2My
ZjFkZDI1NjA5N2QyYzBmMGYxMWQ5MDE1MmM2ZmM5Li5lYmQxZjdiZWZhYTI3NmY0MGY2MzkzOTNj
ZjkyZDVmOTVlZDQ3MzYwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5v
dGlmaWNhdGlvblByb3ZpZGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5v
dGlmaWNhdGlvblByb3ZpZGVyLmNwcApAQCAtNjUsOCArNjUsOCBAQCBXZWJOb3RpZmljYXRpb25Q
cm92aWRlcjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIoKQogCiBXZWJOb3RpZmljYXRpb25Qcm92
aWRlcjo6fldlYk5vdGlmaWNhdGlvblByb3ZpZGVyKCkKIHsKLSAgICBpZiAobV9jdXJyZW50Tm90
aWZpY2F0aW9uTWFuYWdlcikKLSAgICAgICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyU2V0UHJvdmlk
ZXIobV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlci5nZXQoKSwgbnVsbHB0cik7CisgICAgZm9y
IChhdXRvJiBtYW5hZ2VyIDogbV9vd25lZE5vdGlmaWNhdGlvbnMpCisgICAgICAgIFdLTm90aWZp
Y2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKG1hbmFnZXIua2V5LCBudWxscHRyKTsKIH0KIAogV0tO
b3RpZmljYXRpb25Qcm92aWRlclYwIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpwcm92aWRlcigp
CkBAIC04NCwzOCArODQsNjAgQEAgV0tOb3RpZmljYXRpb25Qcm92aWRlclYwIFdlYk5vdGlmaWNh
dGlvblByb3ZpZGVyOjpwcm92aWRlcigpCiAgICAgcmV0dXJuIG5vdGlmaWNhdGlvblByb3ZpZGVy
OwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaG93V2ViTm90aWZpY2F0aW9u
KFdLUGFnZVJlZiwgV0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKQordm9pZCBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6c2hvd1dlYk5vdGlmaWNhdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tO
b3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKQogewotICAgIGlmICghbV9jdXJyZW50Tm90aWZp
Y2F0aW9uTWFuYWdlcikKLSAgICAgICAgcmV0dXJuOwotCisgICAgYXV0byBjb250ZXh0ID0gV0tQ
YWdlR2V0Q29udGV4dChwYWdlKTsKKyAgICBhdXRvIG5vdGlmaWNhdGlvbk1hbmFnZXIgPSBXS0Nv
bnRleHRHZXROb3RpZmljYXRpb25NYW5hZ2VyKGNvbnRleHQpOwogICAgIHVpbnQ2NF90IGlkID0g
V0tOb3RpZmljYXRpb25HZXRJRChub3RpZmljYXRpb24pOwotICAgIEFTU0VSVCghbV9zaG93bk5v
dGlmaWNhdGlvbnMuY29udGFpbnMoaWQpKTsKLSAgICBtX3Nob3duTm90aWZpY2F0aW9ucy5hZGQo
aWQpOwogCi0gICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRTaG93Tm90aWZpY2F0
aW9uKG1fY3VycmVudE5vdGlmaWNhdGlvbk1hbmFnZXIuZ2V0KCksIFdLTm90aWZpY2F0aW9uR2V0
SUQobm90aWZpY2F0aW9uKSk7CisgICAgYXV0byBpdGVyYXRvciA9IG1fb3duZWROb3RpZmljYXRp
b25zLmZpbmQobm90aWZpY2F0aW9uTWFuYWdlcik7CisgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1f
b3duZWROb3RpZmljYXRpb25zLmVuZCgpKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGl0ZXJhdG9y
LT52YWx1ZS5hZGQoaWQpOworICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQu
aXNOZXdFbnRyeSk7CisgICAgYXV0byBhZGRSZXN1bHQyID0gbV9vd25pbmdNYW5hZ2VyLnNldChp
ZCwgbm90aWZpY2F0aW9uTWFuYWdlcik7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQyLCBh
ZGRSZXN1bHQyLmlzTmV3RW50cnkpOworCisgICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlk
ZXJEaWRTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbk1hbmFnZXIsIGlkKTsKIH0KIAogdm9p
ZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6Y2xvc2VXZWJOb3RpZmljYXRpb24oV0tOb3RpZmlj
YXRpb25SZWYgbm90aWZpY2F0aW9uKQogewotICAgIGlmICghbV9jdXJyZW50Tm90aWZpY2F0aW9u
TWFuYWdlcikKLSAgICAgICAgcmV0dXJuOwotCiAgICAgdWludDY0X3QgaWQgPSBXS05vdGlmaWNh
dGlvbkdldElEKG5vdGlmaWNhdGlvbik7CisgICAgYXV0byBpdGVyYXRvciA9IG1fb3duaW5nTWFu
YWdlci5maW5kKGlkKTsKKyAgICBBU1NFUlQoaXRlcmF0b3IgIT0gbV9vd25pbmdNYW5hZ2VyLmVu
ZCgpKTsKKyAgICBhdXRvIG5vdGlmaWNhdGlvbk1hbmFnZXIgPSBpdGVyYXRvci0+dmFsdWU7CisK
KyAgICBhdXRvIG93bmVkTm90aWZpY2F0aW9uSXRlcmF0b3IgPSBtX293bmVkTm90aWZpY2F0aW9u
cy5maW5kKG5vdGlmaWNhdGlvbk1hbmFnZXIuZ2V0KCkpOworICAgIEFTU0VSVChvd25lZE5vdGlm
aWNhdGlvbkl0ZXJhdG9yICE9IG1fb3duZWROb3RpZmljYXRpb25zLmVuZCgpKTsKKyAgICBib29s
IHN1Y2Nlc3MgPSBvd25lZE5vdGlmaWNhdGlvbkl0ZXJhdG9yLT52YWx1ZS5yZW1vdmUoaWQpOwor
ICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7CisgICAgbV9vd25pbmdNYW5hZ2Vy
LnJlbW92ZShpZCk7CisKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gd2tJRCA9IFdLVUlu
dDY0Q3JlYXRlKGlkKTsKICAgICBXS1JldGFpblB0cjxXS011dGFibGVBcnJheVJlZj4gYXJyYXko
QWRvcHRXSywgV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7CiAgICAgV0tBcnJheUFwcGVuZEl0ZW0o
YXJyYXkuZ2V0KCksIHdrSUQuZ2V0KCkpOwotICAgIG1fc2hvd25Ob3RpZmljYXRpb25zLnJlbW92
ZShpZCk7Ci0gICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDbG9zZU5vdGlmaWNh
dGlvbnMobV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlci5nZXQoKSwgYXJyYXkuZ2V0KCkpOwor
ICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xvc2VOb3RpZmljYXRpb25zKG5v
dGlmaWNhdGlvbk1hbmFnZXIuZ2V0KCksIGFycmF5LmdldCgpKTsKIH0KIAogdm9pZCBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6YWRkTm90aWZpY2F0aW9uTWFuYWdlcihXS05vdGlmaWNhdGlvbk1h
bmFnZXJSZWYgbWFuYWdlcikKIHsKLSAgICBtX2N1cnJlbnROb3RpZmljYXRpb25NYW5hZ2VyID0g
bWFuYWdlcjsKKyAgICBtX293bmVkTm90aWZpY2F0aW9ucy5hZGQobWFuYWdlciwgSGFzaFNldDx1
aW50NjRfdD4oKSk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlbW92ZU5v
dGlmaWNhdGlvbk1hbmFnZXIoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXIpCiB7Cisg
ICAgYXV0byBpdGVyYXRvciA9IG1fb3duZWROb3RpZmljYXRpb25zLmZpbmQobWFuYWdlcik7Cisg
ICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fb3duZWROb3RpZmljYXRpb25zLmVuZCgpKTsKKyAgICBh
dXRvIHRvUmVtb3ZlID0gaXRlcmF0b3ItPnZhbHVlOworICAgIFdLUmV0YWluUHRyPFdLTm90aWZp
Y2F0aW9uTWFuYWdlclJlZj4gZ3VhcmQobWFuYWdlcik7CisgICAgbV9vd25lZE5vdGlmaWNhdGlv
bnMucmVtb3ZlKGl0ZXJhdG9yKTsKKyAgICBXS1JldGFpblB0cjxXS011dGFibGVBcnJheVJlZj4g
YXJyYXkgPSBhZG9wdFdLKFdLTXV0YWJsZUFycmF5Q3JlYXRlKCkpOworICAgIGZvciAodWludDY0
X3Qgbm90aWZpY2F0aW9uSUQgOiB0b1JlbW92ZSkgeworICAgICAgICBib29sIHN1Y2Nlc3MgPSBt
X293bmluZ01hbmFnZXIucmVtb3ZlKG5vdGlmaWNhdGlvbklEKTsKKyAgICAgICAgQVNTRVJUX1VO
VVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKKyAgICAgICAgV0tBcnJheUFwcGVuZEl0ZW0oYXJyYXku
Z2V0KCksIGFkb3B0V0soV0tVSW50NjRDcmVhdGUobm90aWZpY2F0aW9uSUQpKS5nZXQoKSk7Cisg
ICAgfQorICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xvc2VOb3RpZmljYXRp
b25zKG1hbmFnZXIsIGFycmF5LmdldCgpKTsKIH0KIAogV0tEaWN0aW9uYXJ5UmVmIFdlYk5vdGlm
aWNhdGlvblByb3ZpZGVyOjpub3RpZmljYXRpb25QZXJtaXNzaW9ucygpCkBAIC0xMjYsMjkgKzE0
OCwyNCBAQCBXS0RpY3Rpb25hcnlSZWYgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6Om5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKCkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2ltdWxh
dGVXZWJOb3RpZmljYXRpb25DbGljayh1aW50NjRfdCBub3RpZmljYXRpb25JRCkKIHsKLSAgICBp
ZiAoIW1fY3VycmVudE5vdGlmaWNhdGlvbk1hbmFnZXIpCi0gICAgICAgIHJldHVybjsKLQotICAg
IEFTU0VSVChtX3Nob3duTm90aWZpY2F0aW9ucy5jb250YWlucyhub3RpZmljYXRpb25JRCkpOwot
ICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xpY2tOb3RpZmljYXRpb24obV9j
dXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlci5nZXQoKSwgbm90aWZpY2F0aW9uSUQpOworICAgIGF1
dG8gaXRlcmF0b3IgPSBtX293bmluZ01hbmFnZXIuZmluZChub3RpZmljYXRpb25JRCk7CisgICAg
QVNTRVJUKGl0ZXJhdG9yICE9IG1fb3duaW5nTWFuYWdlci5lbmQoKSk7CisgICAgV0tOb3RpZmlj
YXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDbGlja05vdGlmaWNhdGlvbihpdGVyYXRvci0+dmFsdWUu
Z2V0KCksIG5vdGlmaWNhdGlvbklEKTsKIH0KIAogdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRl
cjo6cmVzZXQoKQogewotICAgIGlmICghbV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlcikgewot
ICAgICAgICBtX3Nob3duTm90aWZpY2F0aW9ucy5jbGVhcigpOwotICAgICAgICByZXR1cm47Cisg
ICAgZm9yIChhdXRvJiBub3RpZmljYXRpb25QYWlyIDogbV9vd25lZE5vdGlmaWNhdGlvbnMpIHsK
KyAgICAgICAgaWYgKG5vdGlmaWNhdGlvblBhaXIudmFsdWUuaXNFbXB0eSgpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIFdLUmV0YWluUHRyPFdLTXV0YWJsZUFycmF5UmVmPiBhcnJh
eSA9IGFkb3B0V0soV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7CisgICAgICAgIGZvciAodWludDY0
X3Qgbm90aWZpY2F0aW9uSUQgOiBub3RpZmljYXRpb25QYWlyLnZhbHVlKQorICAgICAgICAgICAg
V0tBcnJheUFwcGVuZEl0ZW0oYXJyYXkuZ2V0KCksIGFkb3B0V0soV0tVSW50NjRDcmVhdGUobm90
aWZpY2F0aW9uSUQpKS5nZXQoKSk7CisKKyAgICAgICAgbm90aWZpY2F0aW9uUGFpci52YWx1ZS5j
bGVhcigpOworICAgICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsb3NlTm90
aWZpY2F0aW9ucyhub3RpZmljYXRpb25QYWlyLmtleSwgYXJyYXkuZ2V0KCkpOwogICAgIH0KLQot
ICAgIFdLUmV0YWluUHRyPFdLTXV0YWJsZUFycmF5UmVmPiBhcnJheShBZG9wdFdLLCBXS011dGFi
bGVBcnJheUNyZWF0ZSgpKTsKLSAgICBIYXNoU2V0PHVpbnQ2NF90Pjo6Y29uc3RfaXRlcmF0b3Ig
aXRFbmQgPSBtX3Nob3duTm90aWZpY2F0aW9ucy5lbmQoKTsKLSAgICBmb3IgKEhhc2hTZXQ8dWlu
dDY0X3Q+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fc2hvd25Ob3RpZmljYXRpb25zLmJlZ2luKCk7
IGl0ICE9IGl0RW5kOyArK2l0KSB7Ci0gICAgICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiB3
a0lEID0gV0tVSW50NjRDcmVhdGUoKml0KTsKLSAgICAgICAgV0tBcnJheUFwcGVuZEl0ZW0oYXJy
YXkuZ2V0KCksIHdrSUQuZ2V0KCkpOwotICAgIH0KLQotICAgIG1fc2hvd25Ob3RpZmljYXRpb25z
LmNsZWFyKCk7Ci0gICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDbG9zZU5vdGlm
aWNhdGlvbnMobV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlci5nZXQoKSwgYXJyYXkuZ2V0KCkp
OworICAgIG1fb3duaW5nTWFuYWdlci5jbGVhcigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVFIK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaApp
bmRleCA0NmJmMzFiOTI2MmMyYjliYWQ0YmVlMGQyZjA5ODk2NDhkYzExNjVlLi44MTlkYWUxNzk1
YzQzNTI2MDFjMjg2ZGJkMmE0YzllMTIyZjA5MGYxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSA8V2ViS2l0L1dLTm90aWZpY2F0aW9uTWFuYWdlci5oPgogI2luY2x1ZGUgPFdlYktpdC9X
S05vdGlmaWNhdGlvblByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLUmV0YWluUHRyLmg+
CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBu
YW1lc3BhY2UgV1RSIHsKQEAgLTQ5LDggKzUwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0
KCk7CiAKIHByaXZhdGU6Ci0gICAgV0tSZXRhaW5QdHI8V0tOb3RpZmljYXRpb25NYW5hZ2VyUmVm
PiBtX2N1cnJlbnROb3RpZmljYXRpb25NYW5hZ2VyOwotICAgIEhhc2hTZXQ8dWludDY0X3Q+IG1f
c2hvd25Ob3RpZmljYXRpb25zOworICAgIC8vIEludmVyc2VzIG9mIGVhY2ggb3RoZXIuCisgICAg
SGFzaE1hcDxXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYsIEhhc2hTZXQ8dWludDY0X3Q+PiBtX293
bmVkTm90aWZpY2F0aW9uczsKKyAgICAvLyBXS1JldGFpblB0ciB3b24ndCB3b3JrIHdpdGggSGFz
aFRhYmxlJ3MgZGVsZXRlZCB2YWx1ZXMgKGl0IHRyaWVzIHRvIHJldGFpbiAtMSkuCisgICAgLy8g
V2UgY2FuJ3QgdGVhY2ggaXQgYWJvdXQgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIGJlY2F1c2UgaXQg
bGl2ZXMgaW4gV1RGLgorICAgIEhhc2hNYXA8dWludDY0X3QsIFdLUmV0YWluUHRyPFdLTm90aWZp
Y2F0aW9uTWFuYWdlclJlZj4+IG1fb3duaW5nTWFuYWdlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YmZl
OWI0Y2I4MzAxZjM1YTIwYjRjM2ZmZDlkNTA3YjFkOTVkMzllLi44ZjZiY2FmNmNmNjJjYTI3YzQ0
M2ViMTA4NDI4MWFmZWEzMjRlYTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTUtMTAtMDEg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAorICAgICAgICBSRUdS
RVNTSU9OKDE4OTY2OD8pOiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnRzLmh0bWwgZmxh
a2lseSBhc3NlcnRzIG9yIHRpbWVzIG91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCisyMDE1LTEwLTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKICAgICAgICAgYWNjZXNzaWJp
bGl0eS9tYWMvYXJpYS1leHBhbmRlZC1ub3RpZmljYXRpb25zLmh0bWwgaXMgZmxha3kKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTUxMAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCAzNmRmZjg5MGZkNGY4YzY3MDMzOTNlYzk1MDk0MWMzYzI1YTdkNjE1
Li43N2VjODc1Y2U2ODMxOWZlZjkxNmM0MWYyMDM1ODI2YTQ3OWIxMDFhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTY3OCw1ICs2NzgsMyBAQCB3ZWJraXQub3JnL2IvMTQ4Njk1IGZhc3Qvc2hhZG93
LWRvbSBbIEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBdCiAjIE1hcmtzIGFzIGZsYWt5IChzZWUg
YWxzbyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMzg4KQogCiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3RpbWVvdXQveG1saHR0cHJlcXVlc3QtdGltZW91dC1v
dmVycmlkZXMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi0KLXdlYmtpdC5vcmcvYi8xNDkyMTggaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2V2ZW50cy5odG1sIFsgUGFzcyBDcmFzaCBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262462</attachid>
            <date>2015-10-05 14:42:13 -0700</date>
            <delta_ts>2015-10-12 09:21:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149218-20151005144143.patch</filename>
            <type>text/plain</type>
            <size>9656</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNTc0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDA0NTQ1NWExMmI0YWY4MmM0MzdlZWIyMDRmNDY3MDQy
NTY3MDM4My4uZjExY2JkMTMyMThlY2IxYzUzYTM2M2E1OTA0NjVlZGE1OWFjMDhjOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDE1LTEwLTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTigxODk2Njg/KTogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2V2ZW50cy5odG1sIGZsYWtpbHkgYXNzZXJ0cyBvciB0aW1lcyBvdXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTIxOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlY2F1c2Ugb2YgcjE4OTY2OCwgV2Vi
S2l0VGVzdFJ1bm5lciBub3cgdGVhcnMgZG93biBhbmQgcmVjcmVhdGVzIGl0cyBXS05vdGlmaWNh
dGlvbk1hbmFnZXJSZWYKKyAgICAgICAgd2hlbiB0aGUgVGVzdE9wdGlvbnMgY2hhbmdlLiBQcmV2
aW91c2x5LCBXZWJOb3RpZmljYXRpb25Qcm92aWRlciBvbmx5IGNvdWxkIGhhbmRsZSBhIHNpbmds
ZQorICAgICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYuIEJlY2F1c2UgdGhlIG93ZXIgb2Yg
dGhlIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiBpcyByZWZlcmVuY2UgY291bnRlZCwKKyAgICAg
ICAgYW5kIEFwcEtpdCBpbnRlcm5hbGx5IHJldGFpbnMgc29tZSBvYmplY3RzIHdoaWNoIGVuZCB1
cCByZXRhaW5pbmcgdGhlIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiwKKyAgICAgICAgdGhlIG9s
ZCBXS05vdGlmaWNhdGlvbk1hbmFnZXIgbWF5IG5vdCBiZSBkZXN0cm95ZWQgYmVmb3JlIHRoZSBu
ZXcgb25lIGlzIGNyZWF0ZWQuIFRoZXJlZm9yZSwKKyAgICAgICAgV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIgbXVzdCBiZSB1cGRhdGVkIHRvIGFwcHJvcHJpYXRlbHkgaGFuZGxlIG11bHRpcGxlCisg
ICAgICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZnMgaW4gZmxpZ2h0IGF0IHRoZSBzYW1lIHRp
bWUuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVy
LmNwcDoKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6On5XZWJOb3RpZmlj
YXRpb25Qcm92aWRlcik6CisgICAgICAgIChXVFI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpz
aG93V2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXI6OmNsb3NlV2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9u
UHJvdmlkZXI6OmFkZE5vdGlmaWNhdGlvbk1hbmFnZXIpOgorICAgICAgICAoV1RSOjpXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdlcik6CisgICAgICAgIChX
VFI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNr
KToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlc2V0KToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmg6CisKIDIwMTUt
MTAtMDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
Rml4IHRoZSBpT1MgOCBidWlsZCBhZ2Fpbiwgd2hlcmUgLVtVSUFwcGxpY2F0aW9uIF9lbnF1ZXVl
SElERXZlbnQ6XSBpcyBub3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2Vi
Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5jcHAKaW5kZXggZjFjN2JlYTdjMmYxZGQyNTYwOTdkMmMwZjBmMTFk
OTAxNTJjNmZjOS4uZGU2YWRlY2UwMTRhZWU0NWI2OGRhNzcyNGI4MWRiM2QwMDRmNDg4ZiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5j
cHAKQEAgLTY1LDggKzY1LDggQEAgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OldlYk5vdGlmaWNh
dGlvblByb3ZpZGVyKCkKIAogV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6On5XZWJOb3RpZmljYXRp
b25Qcm92aWRlcigpCiB7Ci0gICAgaWYgKG1fY3VycmVudE5vdGlmaWNhdGlvbk1hbmFnZXIpCi0g
ICAgICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclNldFByb3ZpZGVyKG1fY3VycmVudE5vdGlmaWNh
dGlvbk1hbmFnZXIuZ2V0KCksIG51bGxwdHIpOworICAgIGZvciAoYXV0byYgbWFuYWdlciA6IG1f
b3duZWROb3RpZmljYXRpb25zKQorICAgICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJTZXRQcm92
aWRlcihtYW5hZ2VyLmtleS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKIFdLTm90aWZpY2F0aW9uUHJv
dmlkZXJWMCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6cHJvdmlkZXIoKQpAQCAtODQsMzggKzg0
LDU3IEBAIFdLTm90aWZpY2F0aW9uUHJvdmlkZXJWMCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6
cHJvdmlkZXIoKQogICAgIHJldHVybiBub3RpZmljYXRpb25Qcm92aWRlcjsKIH0KIAotdm9pZCBX
ZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2hvd1dlYk5vdGlmaWNhdGlvbihXS1BhZ2VSZWYsIFdL
Tm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKK3ZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXI6OnNob3dXZWJOb3RpZmljYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTm90aWZpY2F0aW9uUmVm
IG5vdGlmaWNhdGlvbikKIHsKLSAgICBpZiAoIW1fY3VycmVudE5vdGlmaWNhdGlvbk1hbmFnZXIp
Ci0gICAgICAgIHJldHVybjsKLQorICAgIGF1dG8gY29udGV4dCA9IFdLUGFnZUdldENvbnRleHQo
cGFnZSk7CisgICAgYXV0byBub3RpZmljYXRpb25NYW5hZ2VyID0gV0tDb250ZXh0R2V0Tm90aWZp
Y2F0aW9uTWFuYWdlcihjb250ZXh0KTsKICAgICB1aW50NjRfdCBpZCA9IFdLTm90aWZpY2F0aW9u
R2V0SUQobm90aWZpY2F0aW9uKTsKLSAgICBBU1NFUlQoIW1fc2hvd25Ob3RpZmljYXRpb25zLmNv
bnRhaW5zKGlkKSk7Ci0gICAgbV9zaG93bk5vdGlmaWNhdGlvbnMuYWRkKGlkKTsKIAotICAgIFdL
Tm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkU2hvd05vdGlmaWNhdGlvbihtX2N1cnJlbnRO
b3RpZmljYXRpb25NYW5hZ2VyLmdldCgpLCBXS05vdGlmaWNhdGlvbkdldElEKG5vdGlmaWNhdGlv
bikpOworICAgIEFTU0VSVChtX293bmVkTm90aWZpY2F0aW9ucy5jb250YWlucyhub3RpZmljYXRp
b25NYW5hZ2VyKSk7CisgICAgYXV0byBhZGRSZXN1bHQgPSBtX293bmVkTm90aWZpY2F0aW9ucy5m
aW5kKG5vdGlmaWNhdGlvbk1hbmFnZXIpLT52YWx1ZS5hZGQoaWQpOworICAgIEFTU0VSVF9VTlVT
RUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgYXV0byBhZGRSZXN1bHQy
ID0gbV9vd25pbmdNYW5hZ2VyLnNldChpZCwgbm90aWZpY2F0aW9uTWFuYWdlcik7CisgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQyLCBhZGRSZXN1bHQyLmlzTmV3RW50cnkpOworCisgICAgV0tO
b3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlv
bk1hbmFnZXIsIGlkKTsKIH0KIAogdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6Y2xvc2VX
ZWJOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKQogewotICAgIGlm
ICghbV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlcikKLSAgICAgICAgcmV0dXJuOwotCiAgICAg
dWludDY0X3QgaWQgPSBXS05vdGlmaWNhdGlvbkdldElEKG5vdGlmaWNhdGlvbik7CisgICAgQVNT
RVJUKG1fb3duaW5nTWFuYWdlci5jb250YWlucyhpZCkpOworICAgIGF1dG8gbm90aWZpY2F0aW9u
TWFuYWdlciA9IG1fb3duaW5nTWFuYWdlci5nZXQoaWQpOworCisgICAgQVNTRVJUKG1fb3duZWRO
b3RpZmljYXRpb25zLmNvbnRhaW5zKG5vdGlmaWNhdGlvbk1hbmFnZXIpKTsKKyAgICBib29sIHN1
Y2Nlc3MgPSBtX293bmVkTm90aWZpY2F0aW9ucy5maW5kKG5vdGlmaWNhdGlvbk1hbmFnZXIpLT52
YWx1ZS5yZW1vdmUoaWQpOworICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7Cisg
ICAgbV9vd25pbmdNYW5hZ2VyLnJlbW92ZShpZCk7CisKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2
NFJlZj4gd2tJRCA9IFdLVUludDY0Q3JlYXRlKGlkKTsKICAgICBXS1JldGFpblB0cjxXS011dGFi
bGVBcnJheVJlZj4gYXJyYXkoQWRvcHRXSywgV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7CiAgICAg
V0tBcnJheUFwcGVuZEl0ZW0oYXJyYXkuZ2V0KCksIHdrSUQuZ2V0KCkpOwotICAgIG1fc2hvd25O
b3RpZmljYXRpb25zLnJlbW92ZShpZCk7Ci0gICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlk
ZXJEaWRDbG9zZU5vdGlmaWNhdGlvbnMobV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlci5nZXQo
KSwgYXJyYXkuZ2V0KCkpOworICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xv
c2VOb3RpZmljYXRpb25zKG5vdGlmaWNhdGlvbk1hbmFnZXIsIGFycmF5LmdldCgpKTsKIH0KIAog
dm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6YWRkTm90aWZpY2F0aW9uTWFuYWdlcihXS05v
dGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlcikKIHsKLSAgICBtX2N1cnJlbnROb3RpZmljYXRp
b25NYW5hZ2VyID0gbWFuYWdlcjsKKyAgICBtX293bmVkTm90aWZpY2F0aW9ucy5hZGQobWFuYWdl
ciwgSGFzaFNldDx1aW50NjRfdD4oKSk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXI6OnJlbW92ZU5vdGlmaWNhdGlvbk1hbmFnZXIoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1h
bmFnZXIpCiB7CisgICAgYXV0byBpdGVyYXRvciA9IG1fb3duZWROb3RpZmljYXRpb25zLmZpbmQo
bWFuYWdlcik7CisgICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fb3duZWROb3RpZmljYXRpb25zLmVu
ZCgpKTsKKyAgICBhdXRvIHRvUmVtb3ZlID0gaXRlcmF0b3ItPnZhbHVlOworICAgIFdLUmV0YWlu
UHRyPFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZj4gZ3VhcmQobWFuYWdlcik7CisgICAgbV9vd25l
ZE5vdGlmaWNhdGlvbnMucmVtb3ZlKGl0ZXJhdG9yKTsKKyAgICBXS1JldGFpblB0cjxXS011dGFi
bGVBcnJheVJlZj4gYXJyYXkgPSBhZG9wdFdLKFdLTXV0YWJsZUFycmF5Q3JlYXRlKCkpOworICAg
IGZvciAodWludDY0X3Qgbm90aWZpY2F0aW9uSUQgOiB0b1JlbW92ZSkgeworICAgICAgICBib29s
IHN1Y2Nlc3MgPSBtX293bmluZ01hbmFnZXIucmVtb3ZlKG5vdGlmaWNhdGlvbklEKTsKKyAgICAg
ICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKKyAgICAgICAgV0tBcnJheUFwcGVu
ZEl0ZW0oYXJyYXkuZ2V0KCksIGFkb3B0V0soV0tVSW50NjRDcmVhdGUobm90aWZpY2F0aW9uSUQp
KS5nZXQoKSk7CisgICAgfQorICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xv
c2VOb3RpZmljYXRpb25zKG1hbmFnZXIsIGFycmF5LmdldCgpKTsKIH0KIAogV0tEaWN0aW9uYXJ5
UmVmIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpub3RpZmljYXRpb25QZXJtaXNzaW9ucygpCkBA
IC0xMjYsMjkgKzE0NSwyMyBAQCBXS0RpY3Rpb25hcnlSZWYgV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXI6Om5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkKIAogdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92
aWRlcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayh1aW50NjRfdCBub3RpZmljYXRpb25J
RCkKIHsKLSAgICBpZiAoIW1fY3VycmVudE5vdGlmaWNhdGlvbk1hbmFnZXIpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIEFTU0VSVChtX3Nob3duTm90aWZpY2F0aW9ucy5jb250YWlucyhub3RpZmlj
YXRpb25JRCkpOwotICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xpY2tOb3Rp
ZmljYXRpb24obV9jdXJyZW50Tm90aWZpY2F0aW9uTWFuYWdlci5nZXQoKSwgbm90aWZpY2F0aW9u
SUQpOworICAgIEFTU0VSVChtX293bmluZ01hbmFnZXIuY29udGFpbnMobm90aWZpY2F0aW9uSUQp
KTsKKyAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsaWNrTm90aWZpY2F0aW9u
KG1fb3duaW5nTWFuYWdlci5nZXQobm90aWZpY2F0aW9uSUQpLCBub3RpZmljYXRpb25JRCk7CiB9
CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlc2V0KCkKIHsKLSAgICBpZiAoIW1f
Y3VycmVudE5vdGlmaWNhdGlvbk1hbmFnZXIpIHsKLSAgICAgICAgbV9zaG93bk5vdGlmaWNhdGlv
bnMuY2xlYXIoKTsKLSAgICAgICAgcmV0dXJuOworICAgIGZvciAoYXV0byYgbm90aWZpY2F0aW9u
UGFpciA6IG1fb3duZWROb3RpZmljYXRpb25zKSB7CisgICAgICAgIGlmIChub3RpZmljYXRpb25Q
YWlyLnZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBXS1Jl
dGFpblB0cjxXS011dGFibGVBcnJheVJlZj4gYXJyYXkgPSBhZG9wdFdLKFdLTXV0YWJsZUFycmF5
Q3JlYXRlKCkpOworICAgICAgICBmb3IgKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEIDogbm90aWZp
Y2F0aW9uUGFpci52YWx1ZSkKKyAgICAgICAgICAgIFdLQXJyYXlBcHBlbmRJdGVtKGFycmF5Lmdl
dCgpLCBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKG5vdGlmaWNhdGlvbklEKSkuZ2V0KCkpOworCisg
ICAgICAgIG5vdGlmaWNhdGlvblBhaXIudmFsdWUuY2xlYXIoKTsKKyAgICAgICAgV0tOb3RpZmlj
YXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDbG9zZU5vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9uUGFp
ci5rZXkuZ2V0KCksIGFycmF5LmdldCgpKTsKICAgICB9Ci0KLSAgICBXS1JldGFpblB0cjxXS011
dGFibGVBcnJheVJlZj4gYXJyYXkoQWRvcHRXSywgV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7Ci0g
ICAgSGFzaFNldDx1aW50NjRfdD46OmNvbnN0X2l0ZXJhdG9yIGl0RW5kID0gbV9zaG93bk5vdGlm
aWNhdGlvbnMuZW5kKCk7Ci0gICAgZm9yIChIYXNoU2V0PHVpbnQ2NF90Pjo6Y29uc3RfaXRlcmF0
b3IgaXQgPSBtX3Nob3duTm90aWZpY2F0aW9ucy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCkg
ewotICAgICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gd2tJRCA9IFdLVUludDY0Q3JlYXRl
KCppdCk7Ci0gICAgICAgIFdLQXJyYXlBcHBlbmRJdGVtKGFycmF5LmdldCgpLCB3a0lELmdldCgp
KTsKLSAgICB9Ci0KLSAgICBtX3Nob3duTm90aWZpY2F0aW9ucy5jbGVhcigpOwotICAgIFdLTm90
aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xvc2VOb3RpZmljYXRpb25zKG1fY3VycmVudE5v
dGlmaWNhdGlvbk1hbmFnZXIuZ2V0KCksIGFycmF5LmdldCgpKTsKKyAgICBtX293bmluZ01hbmFn
ZXIuY2xlYXIoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmgKaW5kZXggNDZiZjMxYjkyNjJjMmI5
YmFkNGJlZTBkMmYwOTg5NjQ4ZGMxMTY1ZS4uZDg3MjRhOTNhNmIyOGUwMTIxMTQzOWEwZDM2ZTZh
YzYzMDRkYTVmYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPFdlYktpdC9XS05vdGlm
aWNhdGlvbk1hbmFnZXIuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tOb3RpZmljYXRpb25Qcm92aWRl
ci5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFtZXNwYWNlIFdUUiB7CkBAIC00
OSw4ICs1MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0KCk7CiAKIHByaXZhdGU6Ci0gICAg
V0tSZXRhaW5QdHI8V0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmPiBtX2N1cnJlbnROb3RpZmljYXRp
b25NYW5hZ2VyOwotICAgIEhhc2hTZXQ8dWludDY0X3Q+IG1fc2hvd25Ob3RpZmljYXRpb25zOwor
ICAgIC8vIEludmVyc2VzIG9mIGVhY2ggb3RoZXIuCisgICAgSGFzaE1hcDxXS1JldGFpblB0cjxX
S05vdGlmaWNhdGlvbk1hbmFnZXJSZWY+LCBIYXNoU2V0PHVpbnQ2NF90Pj4gbV9vd25lZE5vdGlm
aWNhdGlvbnM7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVm
PiBtX293bmluZ01hbmFnZXI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDVkZjdjOTU3YzA0NzUzZGFkZWRk
YzI2MmNlOTQ5YmM4OGY3ZDBjMS4uNzNkMjU3ZDBhM2IxNjFmNmY2NTk4NjY5MDA5OTU4ZTZhNzI4
YTUwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTEwLTA1ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTigxODk2Njg/KTog
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2V2ZW50cy5odG1sIGZsYWtpbHkgYXNzZXJ0cyBvciB0
aW1lcyBvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0OTIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNS0xMC0wNSAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgdGhlIGxpbmUgZGlydHkgd2hlbiBSZW5kZXJRdW90
ZSdzIHRleHQgY2hhbmdlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIwMmJkODA5MTQyZjE1MTg2
MDg5YWM2NTM1YjBkZTc3ZTI4MmE3NjQuLmVlMWI5ZmRjYmU5Yzk5YTEyYjU0NDI4YTI4ODM5MTk2
YjIwYjMwYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjc2LDUgKzY3NiwzIEBAIHdlYmtpdC5v
cmcvYi8xNDg2OTUgZmFzdC9zaGFkb3ctZG9tIFsgRmFpbHVyZSBJbWFnZU9ubHlGYWlsdXJlIF0K
ICMgTWFya3MgYXMgZmxha3kgKHNlZSBhbHNvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzIzODgpCiAKIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdGltZW91dC94
bWxodHRwcmVxdWVzdC10aW1lb3V0LW92ZXJyaWRlcy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLQot
d2Via2l0Lm9yZy9iLzE0OTIxOCBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnRzLmh0bWwg
WyBQYXNzIENyYXNoIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262891</attachid>
            <date>2015-10-12 09:22:01 -0700</date>
            <delta_ts>2015-10-12 10:23:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149218-20151012092126.patch</filename>
            <type>text/plain</type>
            <size>1504</size>
            <attacher name="Ryan Haddad">ryanhaddad</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwODU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGU1NjExZmUyZDlhNWM5NDc4ZWVl
ZjIzNzViMjdiZjZkYTE2ZGQyOC4uYWI3OTg1ZjczNjg1MTdkODcyOTI0ZWZlYmRlMGU1NWFmMjhj
YTU0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTEwLTEyICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgorCisgICAgICAgIE1hcmtpbmcgaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2V2ZW50cy5odG1sIGFzIGZsYWt5IGFnYWluIGFzIHBhdGNoIGRpZCBub3QgcmVzb2x2
ZSBjcmFzaGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDkyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE1LTEwLTExICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVGVzdCBmb250LXZh
cmlhbnQtKiBhbmQgZm9udC1mZWF0dXJlLXNldHRpbmdzIHdpdGggbW9ja2VkIHByZWluc3RhbGxl
ZCBmb250cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAz
YzNkM2QyZThkNGNlOTg3YzYyYmU0MjEwNGNhMGM2MzVhZGRiNzNlLi4yMThjNzlkYTA1N2Q5Mzli
NGNhYTAzMWUxMjEwN2Y3YWU1YTUxYzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTMzNiw1ICsxMzM2LDggQEAgd2Via2l0Lm9yZy9iLzE0OTQ0MSBm
YXN0L3NoYWRvdy1kb20vY3NzLXNjb3Bpbmctc2hhZG93LXNsb3QtZGlzcGxheS1vdmVycmlkZS5o
dG0KICMgTWFya2luZyB0ZXN0IGFzIGZsYWt5IGluIEVsIENhcGl0YW4KIHdlYmtpdC5vcmcvYi8x
NDk4MTkgWyBEZWJ1ZyBFbENhcGl0YW4rIF0gY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcG9zdGVy
Lmh0bWwgWyBQYXNzIENyYXNoIF0KIAorIyBNYXJraW5nIGFzIGZsYWt5IGFnYWluLCBwYXRjaCBk
aWQgbm90IHdvcmsKK3dlYmtpdC5vcmcvYi8xNDkyMTggaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2V2ZW50cy5odG1sIFsgUGFzcyBDcmFzaCBdCisKICMgSW1wb3J0ZWQgQmxpbmsgdGVzdHMgd2hp
Y2ggaGF2ZSBub3QgYmVlbiBpbnZlc3RpZ2F0ZWQuCiBpbXBvcnRlZC9ibGluay9jb21wb3NpdGlu
Zy92aWRlby92aWRlby1jb250cm9scy1sYXllci1jcmVhdGlvbi1zcXVhc2hpbmcuaHRtbCBbIFBh
c3MgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>