<?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>42534</bug_id>
          
          <creation_ts>2010-07-18 21:03:29 -0700</creation_ts>
          <short_desc>Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()</short_desc>
          <delta_ts>2010-07-29 08:03:44 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>fishd</cc>
    
    <cc>hausmann</cc>
    
    <cc>johnnyg</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253050</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-18 21:03:29 -0700</bug_when>
    <thetext>This crash was introduced by &lt;http://trac.webkit.org/changeset/62939&gt; (bug 41783)

Invalid read of size 8

0x596D1AC: WebCore::NotificationCenter::disconnectFrame() (NotificationCenter.cpp:64)
0x5995C77: WebCore::DOMWindow::clear() (DOMWindow.cpp:480)
0x59956A1: WebCore::DOMWindow::disconnectFrame() (DOMWindow.cpp:399)
0x59B989A: WebCore::Frame::~Frame() (Frame.cpp:211)
0x56F6C3E: WTF::RefCounted&lt;WebCore::Frame&gt;::deref() (RefCounted.h:139)
0x59BC987: WebCore::Frame::lifeSupportTimerFired(WebCore::Timer&lt;WebCore::Frame&gt;*) (Frame.cpp:927)
0x59C2805: WebCore::Timer&lt;WebCore::Frame&gt;::fired() (Timer.h:98)
0x5A4C515: WebCore::ThreadTimers::sharedTimerFiredInternal() (ThreadTimers.cpp:112)
0x7BBA588: QObject::event(QEvent*) (qobject.cpp:1175)
0x6B0B78B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4392)
0x6B10A3C: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3794)
0x7BA707B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732)
0x7BD8B61: QTimerInfoList::activateTimers() (qcoreapplication.h:215)
0x7BD5913: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184)
0x97B28C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1)
0x97B6747: ??? (in /lib/libglib-2.0.so.0.2400.1)
0x97B68FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1)
0x7BD5602: QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) (qeventdispatcher_glib.cpp:415)
0x6BCC89D: QGuiEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) (qguieventdispatcher_glib.cpp:204)
0x7BA5D51: QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) (qeventloop.cpp:149)
0x7BA613B: QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) (qeventloop.cpp:201)
0x04109AA: waitForSignal(QObject*, char const*, int) (util.h:48)
0x04130D6: tst_QWebFrame::symmetricUrl() (tst_qwebframe.cpp:2198)
0x042E71A: tst_QWebFrame::qt_metacall(QMetaObject::Call, int, void**) (tst_qwebframe.moc:674)
0x7BB0665: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1575)
0x7BB1D75: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1148)
0x67102A8: QTest::qInvokeTestMethod(char const*, char const*) (qobjectdefs.h:408)
0x67110C8: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:1507)
0x67113B4: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1716)
0x040A5A5: main (tst_qwebframe.cpp:3006)

Address 0x198ad500 is 0 bytes inside a block of size 88 free&apos;d

0x4C27E4F: operator delete(void*) (vg_replace_malloc.c:387)
0x5BF0A4B: QWebPagePrivate::~QWebPagePrivate() (qwebpage.cpp:318)
0x5BFB0D7: QWebPage::~QWebPage() (qwebpage.cpp:1891)
0x5BFC092: QWebViewPrivate::detachCurrentPage() (qwebview.cpp:372)
0x5BFC9C2: QWebViewPrivate::~QWebViewPrivate() (qwebview.cpp:60)
0x5BFCA0E: QWebView::~QWebView() (qwebview.cpp:329)
0x0409362: tst_QWebFrame::cleanup() (tst_qwebframe.cpp:728)
0x042E5AF: tst_QWebFrame::qt_metacall(QMetaObject::Call, int, void**) (tst_qwebframe.moc:656)
0x7BB0665: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1575)
0x670E684: QTest::invokeMethod(QObject*, char const*) (qmetaobject.h:119)
0x67102E7: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:1249)
0x67110C8: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:1507)
0x67113B4: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1716)
0x040A5A5: main (tst_qwebframe.cpp:3006)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253051</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-18 21:04:30 -0700</bug_when>
    <thetext>I should say that the crash dump is from a valgrind run of WebKit/qt/tests/qwebframe/tst_qwebframe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253456</commentid>
    <comment_count>2</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-19 16:29:26 -0700</bug_when>
    <thetext>Sorry about that. 
disconnectFrame() is called after the frame was detached from everything else. I need to find a better place to cancel notifications, before the frame is detached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253672</commentid>
    <comment_count>3</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-20 05:51:30 -0700</bug_when>
    <thetext>Kling, I applied the patch from https://bugs.webkit.org/show_bug.cgi?id=41065, but the Qt runtime tests were still crashing. After disabling the 3 tests: getSetDynamicProperty(), getSetDynamicProperty_data(), and getSetStaticProperty() I get 2 unrelated XFail, but no crash.

Can you please check if you had other code changes in your environment that I should apply to mine?
thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253794</commentid>
    <comment_count>4</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-20 10:23:04 -0700</bug_when>
    <thetext>This is also causing:  http://code.google.com/p/chromium/issues/detail?id=49323</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254274</commentid>
    <comment_count>5</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 07:44:18 -0700</bug_when>
    <thetext>*** Bug 42610 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254304</commentid>
    <comment_count>6</comment_count>
      <attachid>62184</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 08:23:51 -0700</bug_when>
    <thetext>Created attachment 62184
Patch

Call NotificationsCenter::disconnectFrame when a frame is detached from its page. We want to cancel any outstanding premision requests at that point.
Since I could not reproduce the crash, I did not add tests at this time, but there is a new test for canceling notifications requests in https://bugs.webkit.org/show_bug.cgi?id=41413 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254317</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-21 08:40:45 -0700</bug_when>
    <thetext>+    if (!presenter())
+        return;
     m_notificationPresenter-&gt;cancelRequestsForPermission(m_scriptExecutionContext);

Is this null check still needed with other changes?

It would probably be better to use m_notificationPresenter consistently - it&apos;s not immediately obvious if presenter() is the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254318</commentid>
    <comment_count>8</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 08:49:10 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; +    if (!presenter())
&gt; +        return;
&gt;      m_notificationPresenter-&gt;cancelRequestsForPermission(m_scriptExecutionContext);
&gt; 
&gt; Is this null check still needed with other changes?
&gt; 
I think it is safe to add this check, especially since I don&apos;t have exact steps to reproduce the error.

&gt; It would probably be better to use m_notificationPresenter consistently - it&apos;s not immediately obvious if presenter() is the same thing.

I agree, I&apos;ll update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254321</commentid>
    <comment_count>9</comment_count>
      <attachid>62188</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 08:57:49 -0700</bug_when>
    <thetext>Created attachment 62188
Patch

Change presenter() to m_notificationPresenter, per comment #7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254323</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-21 09:01:05 -0700</bug_when>
    <thetext>We usually add a comment and an assertion when introducing a null check that probably shouldn&apos;t be there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254341</commentid>
    <comment_count>11</comment_count>
      <attachid>62193</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 09:26:01 -0700</bug_when>
    <thetext>Created attachment 62193
Patch

Added comment about the NULL check, per comment #10.
I am reluctant to add an ASSERT here, because if m_notificationPresenter will be NULL, Chromium will continue to crash and we will continue to get crash reports. 
I assume these crash reports are generated from debug builds, not release builds, so the ASSERT will be hit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254343</commentid>
    <comment_count>12</comment_count>
      <attachid>62195</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 09:29:26 -0700</bug_when>
    <thetext>Created attachment 62195
Patch

Attached the wrong patch :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254352</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-21 09:46:26 -0700</bug_when>
    <thetext>&gt; I assume these crash reports are generated from debug builds, not release builds, so the ASSERT will be hit.

This sounds surprising - I never heard that any vendor shipped a debug build of WebKit to users.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254361</commentid>
    <comment_count>14</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 09:52:11 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; I assume these crash reports are generated from debug builds, not release builds, so the ASSERT will be hit.
&gt; 
&gt; This sounds surprising - I never heard that any vendor shipped a debug build of WebKit to users.

I don&apos;t know where these crash logs come from. Maybe someone from Chromium project could tell us.
However, if you look at all other functions of NotificationCenter, there is a NULL check in each one of them, so I don&apos;t understand why it is a problem to have a NULL check in this new function as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254363</commentid>
    <comment_count>15</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-21 09:53:01 -0700</bug_when>
    <thetext>I don&apos;t really like the name DOMWindow::clearNotificationRequests.  The method does more than that, since it also sets the NotificationCenter to 0.  Perhaps &apos;disconnectNotifications()&apos; would be more specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254365</commentid>
    <comment_count>16</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-21 09:54:23 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; &gt; I assume these crash reports are generated from debug builds, not release builds, so the ASSERT will be hit.
&gt; &gt; 
&gt; &gt; This sounds surprising - I never heard that any vendor shipped a debug build of WebKit to users.
&gt; 
&gt; I don&apos;t know where these crash logs come from. Maybe someone from Chromium project could tell us.
&gt; However, if you look at all other functions of NotificationCenter, there is a NULL check in each one of them, so I don&apos;t understand why it is a problem to have a NULL check in this new function as well?

The crash reports are from release builds, not debug builds, so I think that the ASSERT would be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254407</commentid>
    <comment_count>17</comment_count>
      <attachid>62209</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 10:44:09 -0700</bug_when>
    <thetext>Created attachment 62209
Patch

Added NULL check and renamed to disconnectNotifications instead of DOMWindow::clearNotificationRequests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254415</commentid>
    <comment_count>18</comment_count>
      <attachid>62209</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-21 10:47:33 -0700</bug_when>
    <thetext>Comment on attachment 62209
Patch

&gt; +    // Due to the misterious bug http://code.google.com/p/chromium/issues/detail?id=49323.

Spelling error here: &quot;misterious&quot;.

&gt; +void DOMWindow::disconnectNotifications()

This function should be named after when it&apos;s called, the event the DOMWindow is learning about, rather than what it does. I think pageDestroyed is a fine name for it. It should not be notifications-specific. The body can be, but the function itself should not.

&gt; +#if ENABLE(NOTIFICATIONS)
&gt; +    if (m_domWindow)
&gt; +        m_domWindow-&gt;disconnectNotifications();
&gt; +#endif

Then this could be:

    if (m_domWindow)
        m_domWindow-&gt;pageDestroyed();

Please make those changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254424</commentid>
    <comment_count>19</comment_count>
      <attachid>62212</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-21 11:08:10 -0700</bug_when>
    <thetext>Created attachment 62212
Patch

Fix spelling error (gedit should have built-in spell checker:-))
Rename disconnectNotifications to pageDestroyed, per comment #18.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254434</commentid>
    <comment_count>20</comment_count>
      <attachid>62212</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-21 11:38:26 -0700</bug_when>
    <thetext>Comment on attachment 62212
Patch

Clearing flags on attachment: 62212

Committed r63847: &lt;http://trac.webkit.org/changeset/63847&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254436</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-21 11:38:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257676</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-07-29 08:03:35 -0700</bug_when>
    <thetext>Revision r63847 cherry-picked into qtwebkit-2.1 with commit 348c731f9f4ab48d4cc2f8aa8f51e00c1f97a850</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62184</attachid>
            <date>2010-07-21 08:23:51 -0700</date>
            <delta_ts>2010-07-21 08:57:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>42534.patch</filename>
            <type>text/plain</type>
            <size>3290</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENyYXNoIGluIE5vdGlmaWNhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkgdHJpZ2dlcmVkIGJ5IEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MzQKKworICAgICAgICBDYWxsIE5vdGlmaWNhdGlvbnND
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpIHdoZW4gdGhlIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBm
cm9tIHRoZSBwYWdlLgorICAgICAgICBDYWxsaW5nIGl0IGZyb20gdGhlIGRlc3RydWN0b3Igb2Yg
RnJhbWUgaXMgdG9vIGxhdGUgYW5kIHNvbWV0aW1lcyBjYXVzZXMgYWNjZXNzIHZpb2xhdGlvbi4K
KyAgICAgICAgSSB3YXMgbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgY3Jhc2gsIHNvIGRpZCBu
b3QgYWRkIG5ldyB0ZXN0cy4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZXJy
b3IgcmVwb3J0ZWQgaW4gCisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTQ5MzIzLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbGVhck5vdGlmaWNhdGlvbnNSZXF1ZXN0
cyk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKwogMjAxMC0wNy0y
MSAgS3Jpc3RpYW4gQW1saWUgPGtyaXN0aWFuLmFtbGllQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lvbiA2MzczOSkKKysr
IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MSw2ICs2MSw4IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVy
bWlzc2kKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7Cisg
ICAgaWYgKCFwcmVzZW50ZXIoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fbm90aWZpY2F0aW9u
UHJlc2VudGVyLT5jYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24obV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KTsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlciA9IDA7CiB9CkluZGV4OiBXZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjcxLDYgKzY3MSwxNiBAQCBOb3RpZmljYXRpb25DZW50ZXIqIERP
TVdpbmRvdzo6d2Via2l0Tm90CiAgICAgICAKICAgICByZXR1cm4gbV9ub3RpZmljYXRpb25zLmdl
dCgpOwogfQorCit2b2lkIERPTVdpbmRvdzo6Y2xlYXJOb3RpZmljYXRpb25zUmVxdWVzdHMoKQor
eworICAgIC8vIENsZWFyaW5nIE5vdGlmaWNhdGlvbnMgcmVxdWVzdHMgaW52b2x2ZXMgYWNjZXNz
aW5nIHRoZSBjbGllbnQgc28gaXQgbXVzdCBiZSBkb25lCisgICAgLy8gYmVmb3JlIHRoZSBmcmFt
ZSBpcyBkZXRhY2hlZC4KKyAgICBpZiAobV9ub3RpZmljYXRpb25zKQorICAgICAgICBtX25vdGlm
aWNhdGlvbnMtPmRpc2Nvbm5lY3RGcmFtZSgpOworICAgIG1fbm90aWZpY2F0aW9ucyA9IDA7Cit9
CisKICNlbmRpZgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CShyZXZpc2lvbiA2MzczOSkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkod29ya2luZyBj
b3B5KQpAQCAtMjI2LDYgKzIyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlm
aWNhdGlvbnMoKSBjb25zdDsKKyAgICAgICAgdm9pZCBjbGVhck5vdGlmaWNhdGlvbnNSZXF1ZXN0
cygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKSW5kZXg6IFdlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAko
cmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMzQ3LDYgKzEzNDcsMTEgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ryb3llZCgpCiAgICAg
aWYgKEZyYW1lKiBwYXJlbnQgPSB0cmVlKCktPnBhcmVudCgpKQogICAgICAgICBwYXJlbnQtPmxv
YWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOwogCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisgICAgaWYgKG1fZG9tV2luZG93KQorICAgICAgICBtX2RvbVdpbmRvdy0+Y2xlYXJOb3RpZmlj
YXRpb25zUmVxdWVzdHMoKTsKKyNlbmRpZgorCiAgICAgLy8gRklYTUU6IEl0J3MgdW5jbGVhciBh
cyB0byB3aHkgdGhpcyBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UsIGJ1dCBpdCBpcywKICAgICAv
LyBzbyBwYWdlKCkgY291bGQgYmUgTlVMTC4KICAgICBpZiAocGFnZSgpICYmIHBhZ2UoKS0+Zm9j
dXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpID09IHRoaXMpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62188</attachid>
            <date>2010-07-21 08:57:49 -0700</date>
            <delta_ts>2010-07-21 09:26:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>42534.patch</filename>
            <type>text/plain</type>
            <size>3302</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENyYXNoIGluIE5vdGlmaWNhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkgdHJpZ2dlcmVkIGJ5IEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MzQKKworICAgICAgICBDYWxsIE5vdGlmaWNhdGlvbnND
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpIHdoZW4gdGhlIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBm
cm9tIHRoZSBwYWdlLgorICAgICAgICBDYWxsaW5nIGl0IGZyb20gdGhlIGRlc3RydWN0b3Igb2Yg
RnJhbWUgaXMgdG9vIGxhdGUgYW5kIHNvbWV0aW1lcyBjYXVzZXMgYWNjZXNzIHZpb2xhdGlvbi4K
KyAgICAgICAgSSB3YXMgbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgY3Jhc2gsIHNvIGRpZCBu
b3QgYWRkIG5ldyB0ZXN0cy4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZXJy
b3IgcmVwb3J0ZWQgaW4gCisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTQ5MzIzLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbGVhck5vdGlmaWNhdGlvbnNSZXF1ZXN0
cyk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKwogMjAxMC0wNy0y
MSAgS3Jpc3RpYW4gQW1saWUgPGtyaXN0aWFuLmFtbGllQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lvbiA2MzczOSkKKysr
IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MSw2ICs2MSw4IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVy
bWlzc2kKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7Cisg
ICAgaWYgKCFtX25vdGlmaWNhdGlvblByZXNlbnRlcikKKyAgICAgICAgcmV0dXJuOwogICAgIG1f
bm90aWZpY2F0aW9uUHJlc2VudGVyLT5jYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24obV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlciA9IDA7CiB9
CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcxLDYgKzY3MSwxNiBAQCBOb3RpZmljYXRp
b25DZW50ZXIqIERPTVdpbmRvdzo6d2Via2l0Tm90CiAgICAgICAKICAgICByZXR1cm4gbV9ub3Rp
ZmljYXRpb25zLmdldCgpOwogfQorCit2b2lkIERPTVdpbmRvdzo6Y2xlYXJOb3RpZmljYXRpb25z
UmVxdWVzdHMoKQoreworICAgIC8vIENsZWFyaW5nIE5vdGlmaWNhdGlvbnMgcmVxdWVzdHMgaW52
b2x2ZXMgYWNjZXNzaW5nIHRoZSBjbGllbnQgc28gaXQgbXVzdCBiZSBkb25lCisgICAgLy8gYmVm
b3JlIHRoZSBmcmFtZSBpcyBkZXRhY2hlZC4KKyAgICBpZiAobV9ub3RpZmljYXRpb25zKQorICAg
ICAgICBtX25vdGlmaWNhdGlvbnMtPmRpc2Nvbm5lY3RGcmFtZSgpOworICAgIG1fbm90aWZpY2F0
aW9ucyA9IDA7Cit9CisKICNlbmRpZgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCklu
ZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oCShyZXZpc2lvbiA2MzczOSkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDYgKzIyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIq
IHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdDsKKyAgICAgICAgdm9pZCBjbGVhck5vdGlmaWNh
dGlvbnNSZXF1ZXN0cygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzQ3LDYgKzEzNDcsMTEgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ry
b3llZCgpCiAgICAgaWYgKEZyYW1lKiBwYXJlbnQgPSB0cmVlKCktPnBhcmVudCgpKQogICAgICAg
ICBwYXJlbnQtPmxvYWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOwogCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisgICAgaWYgKG1fZG9tV2luZG93KQorICAgICAgICBtX2RvbVdpbmRvdy0+
Y2xlYXJOb3RpZmljYXRpb25zUmVxdWVzdHMoKTsKKyNlbmRpZgorCiAgICAgLy8gRklYTUU6IEl0
J3MgdW5jbGVhciBhcyB0byB3aHkgdGhpcyBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UsIGJ1dCBp
dCBpcywKICAgICAvLyBzbyBwYWdlKCkgY291bGQgYmUgTlVMTC4KICAgICBpZiAocGFnZSgpICYm
IHBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpID09IHRoaXMpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62193</attachid>
            <date>2010-07-21 09:26:01 -0700</date>
            <delta_ts>2010-07-21 09:29:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>42534.patch</filename>
            <type>text/plain</type>
            <size>3302</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENyYXNoIGluIE5vdGlmaWNhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkgdHJpZ2dlcmVkIGJ5IEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MzQKKworICAgICAgICBDYWxsIE5vdGlmaWNhdGlvbnND
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpIHdoZW4gdGhlIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBm
cm9tIHRoZSBwYWdlLgorICAgICAgICBDYWxsaW5nIGl0IGZyb20gdGhlIGRlc3RydWN0b3Igb2Yg
RnJhbWUgaXMgdG9vIGxhdGUgYW5kIHNvbWV0aW1lcyBjYXVzZXMgYWNjZXNzIHZpb2xhdGlvbi4K
KyAgICAgICAgSSB3YXMgbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgY3Jhc2gsIHNvIGRpZCBu
b3QgYWRkIG5ldyB0ZXN0cy4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZXJy
b3IgcmVwb3J0ZWQgaW4gCisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTQ5MzIzLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbGVhck5vdGlmaWNhdGlvbnNSZXF1ZXN0
cyk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKwogMjAxMC0wNy0y
MSAgS3Jpc3RpYW4gQW1saWUgPGtyaXN0aWFuLmFtbGllQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lvbiA2MzczOSkKKysr
IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MSw2ICs2MSw4IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVy
bWlzc2kKIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7Cisg
ICAgaWYgKCFtX25vdGlmaWNhdGlvblByZXNlbnRlcikKKyAgICAgICAgcmV0dXJuOwogICAgIG1f
bm90aWZpY2F0aW9uUHJlc2VudGVyLT5jYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24obV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlciA9IDA7CiB9
CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcxLDYgKzY3MSwxNiBAQCBOb3RpZmljYXRp
b25DZW50ZXIqIERPTVdpbmRvdzo6d2Via2l0Tm90CiAgICAgICAKICAgICByZXR1cm4gbV9ub3Rp
ZmljYXRpb25zLmdldCgpOwogfQorCit2b2lkIERPTVdpbmRvdzo6Y2xlYXJOb3RpZmljYXRpb25z
UmVxdWVzdHMoKQoreworICAgIC8vIENsZWFyaW5nIE5vdGlmaWNhdGlvbnMgcmVxdWVzdHMgaW52
b2x2ZXMgYWNjZXNzaW5nIHRoZSBjbGllbnQgc28gaXQgbXVzdCBiZSBkb25lCisgICAgLy8gYmVm
b3JlIHRoZSBmcmFtZSBpcyBkZXRhY2hlZC4KKyAgICBpZiAobV9ub3RpZmljYXRpb25zKQorICAg
ICAgICBtX25vdGlmaWNhdGlvbnMtPmRpc2Nvbm5lY3RGcmFtZSgpOworICAgIG1fbm90aWZpY2F0
aW9ucyA9IDA7Cit9CisKICNlbmRpZgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCklu
ZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oCShyZXZpc2lvbiA2MzczOSkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDYgKzIyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIq
IHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdDsKKyAgICAgICAgdm9pZCBjbGVhck5vdGlmaWNh
dGlvbnNSZXF1ZXN0cygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzQ3LDYgKzEzNDcsMTEgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ry
b3llZCgpCiAgICAgaWYgKEZyYW1lKiBwYXJlbnQgPSB0cmVlKCktPnBhcmVudCgpKQogICAgICAg
ICBwYXJlbnQtPmxvYWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOwogCisjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCisgICAgaWYgKG1fZG9tV2luZG93KQorICAgICAgICBtX2RvbVdpbmRvdy0+
Y2xlYXJOb3RpZmljYXRpb25zUmVxdWVzdHMoKTsKKyNlbmRpZgorCiAgICAgLy8gRklYTUU6IEl0
J3MgdW5jbGVhciBhcyB0byB3aHkgdGhpcyBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UsIGJ1dCBp
dCBpcywKICAgICAvLyBzbyBwYWdlKCkgY291bGQgYmUgTlVMTC4KICAgICBpZiAocGFnZSgpICYm
IHBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpID09IHRoaXMpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62195</attachid>
            <date>2010-07-21 09:29:26 -0700</date>
            <delta_ts>2010-07-21 10:44:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>42534.patch</filename>
            <type>text/plain</type>
            <size>3485</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENyYXNoIGluIE5vdGlmaWNhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkgdHJpZ2dlcmVkIGJ5IEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MzQKKworICAgICAgICBDYWxsIE5vdGlmaWNhdGlvbnND
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpIHdoZW4gdGhlIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBm
cm9tIHRoZSBwYWdlLgorICAgICAgICBDYWxsaW5nIGl0IGZyb20gdGhlIGRlc3RydWN0b3Igb2Yg
RnJhbWUgaXMgdG9vIGxhdGUgYW5kIHNvbWV0aW1lcyBjYXVzZXMgYWNjZXNzIHZpb2xhdGlvbi4K
KyAgICAgICAgSSB3YXMgbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgY3Jhc2gsIHNvIGRpZCBu
b3QgYWRkIG5ldyB0ZXN0cy4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZXJy
b3IgcmVwb3J0ZWQgaW4gCisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTQ5MzIzLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjbGVhck5vdGlmaWNhdGlvbnNSZXF1ZXN0
cyk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKwogMjAxMC0wNy0y
MSAgS3Jpc3RpYW4gQW1saWUgPGtyaXN0aWFuLmFtbGllQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lvbiA2MzczOSkKKysr
IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MSw2ICs2MSwxMCBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBl
cm1pc3NpCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUoKQogewor
ICAgIC8vIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyIHNob3VsZCBuZXZlciBiZSAwLiBCdXQganVz
dCB0byBiZSBzYWZlLCB3ZSBjaGVjayBpdCBoZXJlLgorICAgIC8vIER1ZSB0byB0aGUgbWlzdGVy
aW91cyBidWcgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/
aWQ9NDkzMjMuCisgICAgaWYgKCFtX25vdGlmaWNhdGlvblByZXNlbnRlcikKKyAgICAgICAgcmV0
dXJuOwogICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyLT5jYW5jZWxSZXF1ZXN0c0ZvclBlcm1p
c3Npb24obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKICAgICBtX25vdGlmaWNhdGlvblByZXNl
bnRlciA9IDA7CiB9CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcxLDYgKzY3MSwxNiBA
QCBOb3RpZmljYXRpb25DZW50ZXIqIERPTVdpbmRvdzo6d2Via2l0Tm90CiAgICAgICAKICAgICBy
ZXR1cm4gbV9ub3RpZmljYXRpb25zLmdldCgpOwogfQorCit2b2lkIERPTVdpbmRvdzo6Y2xlYXJO
b3RpZmljYXRpb25zUmVxdWVzdHMoKQoreworICAgIC8vIENsZWFyaW5nIE5vdGlmaWNhdGlvbnMg
cmVxdWVzdHMgaW52b2x2ZXMgYWNjZXNzaW5nIHRoZSBjbGllbnQgc28gaXQgbXVzdCBiZSBkb25l
CisgICAgLy8gYmVmb3JlIHRoZSBmcmFtZSBpcyBkZXRhY2hlZC4KKyAgICBpZiAobV9ub3RpZmlj
YXRpb25zKQorICAgICAgICBtX25vdGlmaWNhdGlvbnMtPmRpc2Nvbm5lY3RGcmFtZSgpOworICAg
IG1fbm90aWZpY2F0aW9ucyA9IDA7Cit9CisKICNlbmRpZgogCiAjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCShyZXZpc2lvbiA2MzczOSkKKysrIFdlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDYgKzIyNiw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmlj
YXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdDsKKyAgICAgICAgdm9pZCBj
bGVhck5vdGlmaWNhdGlvbnNSZXF1ZXN0cygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gNjM3MzkpCisrKyBXZWJDb3JlL3BhZ2Uv
RnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzQ3LDYgKzEzNDcsMTEgQEAgdm9pZCBGcmFt
ZTo6cGFnZURlc3Ryb3llZCgpCiAgICAgaWYgKEZyYW1lKiBwYXJlbnQgPSB0cmVlKCktPnBhcmVu
dCgpKQogICAgICAgICBwYXJlbnQtPmxvYWRlcigpLT5jaGVja0xvYWRDb21wbGV0ZSgpOwogCisj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCisgICAgaWYgKG1fZG9tV2luZG93KQorICAgICAgICBt
X2RvbVdpbmRvdy0+Y2xlYXJOb3RpZmljYXRpb25zUmVxdWVzdHMoKTsKKyNlbmRpZgorCiAgICAg
Ly8gRklYTUU6IEl0J3MgdW5jbGVhciBhcyB0byB3aHkgdGhpcyBpcyBjYWxsZWQgbW9yZSB0aGFu
IG9uY2UsIGJ1dCBpdCBpcywKICAgICAvLyBzbyBwYWdlKCkgY291bGQgYmUgTlVMTC4KICAgICBp
ZiAocGFnZSgpICYmIHBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpID09
IHRoaXMpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62209</attachid>
            <date>2010-07-21 10:44:09 -0700</date>
            <delta_ts>2010-07-21 11:08:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>42534.patch</filename>
            <type>text/plain</type>
            <size>3511</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENyYXNoIGluIE5vdGlmaWNhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkgdHJpZ2dlcmVkIGJ5IEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MzQKKworICAgICAgICBDYWxsIE5vdGlmaWNhdGlvbnND
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpIHdoZW4gdGhlIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBm
cm9tIHRoZSBwYWdlLgorICAgICAgICBDYWxsaW5nIGl0IGZyb20gdGhlIGRlc3RydWN0b3Igb2Yg
RnJhbWUgaXMgdG9vIGxhdGUgYW5kIHNvbWV0aW1lcyBjYXVzZXMgYWNjZXNzIHZpb2xhdGlvbi4K
KyAgICAgICAgSSB3YXMgbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgY3Jhc2gsIHNvIGRpZCBu
b3QgYWRkIG5ldyB0ZXN0cy4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZXJy
b3IgcmVwb3J0ZWQgaW4gCisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTQ5MzIzLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNjb25uZWN0Tm90aWZpY2F0aW9ucyk6
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKwogMjAxMC0wNy0yMSAg
S3Jpc3RpYW4gQW1saWUgPGtyaXN0aWFuLmFtbGllQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IFdlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCShyZXZpc2lvbiA2MzczOSkKKysrIFdl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MSw2ICs2MSwxMSBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1p
c3NpCiAKIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpkaXNjb25uZWN0RnJhbWUoKQogeworICAg
IC8vIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyIHNob3VsZCBuZXZlciBiZSAwLiBCdXQganVzdCB0
byBiZSBzYWZlLCB3ZSBjaGVjayBpdCBoZXJlLgorICAgIC8vIER1ZSB0byB0aGUgbWlzdGVyaW91
cyBidWcgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9
NDkzMjMuCisgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uUHJlc2VudGVyKTsKKyAgICBpZiAoIW1f
bm90aWZpY2F0aW9uUHJlc2VudGVyKQorICAgICAgICByZXR1cm47CiAgICAgbV9ub3RpZmljYXRp
b25QcmVzZW50ZXItPmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpOwogICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyID0gMDsKIH0KSW5kZXg6IFdl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCShyZXZpc2lvbiA2MzczOSkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02NzEsNiArNjcxLDE2IEBAIE5vdGlmaWNhdGlvbkNlbnRlciog
RE9NV2luZG93Ojp3ZWJraXROb3QKICAgICAgIAogICAgIHJldHVybiBtX25vdGlmaWNhdGlvbnMu
Z2V0KCk7CiB9CisKK3ZvaWQgRE9NV2luZG93OjpkaXNjb25uZWN0Tm90aWZpY2F0aW9ucygpCit7
CisgICAgLy8gQ2xlYXJpbmcgTm90aWZpY2F0aW9ucyByZXF1ZXN0cyBpbnZvbHZlcyBhY2Nlc3Np
bmcgdGhlIGNsaWVudCBzbyBpdCBtdXN0IGJlIGRvbmUKKyAgICAvLyBiZWZvcmUgdGhlIGZyYW1l
IGlzIGRldGFjaGVkLgorICAgIGlmIChtX25vdGlmaWNhdGlvbnMpCisgICAgICAgIG1fbm90aWZp
Y2F0aW9ucy0+ZGlzY29ubmVjdEZyYW1lKCk7CisgICAgbV9ub3RpZmljYXRpb25zID0gMDsKK30K
KwogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKSW5kZXg6IFdlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJ
KHJldmlzaW9uIDYzNzM5KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMjYsNiArMjI2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgICAgIE5vdGlmaWNhdGlvbkNlbnRlciogd2Via2l0Tm90aWZp
Y2F0aW9ucygpIGNvbnN0OworICAgICAgICB2b2lkIGRpc2Nvbm5lY3ROb3RpZmljYXRpb25zKCk7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpJbmRleDogV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCShyZXZp
c2lvbiA2MzczOSkKKysrIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEzNDcsNiArMTM0NywxMSBAQCB2b2lkIEZyYW1lOjpwYWdlRGVzdHJveWVkKCkKICAgICBpZiAo
RnJhbWUqIHBhcmVudCA9IHRyZWUoKS0+cGFyZW50KCkpCiAgICAgICAgIHBhcmVudC0+bG9hZGVy
KCktPmNoZWNrTG9hZENvbXBsZXRlKCk7CiAKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAg
ICBpZiAobV9kb21XaW5kb3cpCisgICAgICAgIG1fZG9tV2luZG93LT5kaXNjb25uZWN0Tm90aWZp
Y2F0aW9ucygpOworI2VuZGlmCisKICAgICAvLyBGSVhNRTogSXQncyB1bmNsZWFyIGFzIHRvIHdo
eSB0aGlzIGlzIGNhbGxlZCBtb3JlIHRoYW4gb25jZSwgYnV0IGl0IGlzLAogICAgIC8vIHNvIHBh
Z2UoKSBjb3VsZCBiZSBOVUxMLgogICAgIGlmIChwYWdlKCkgJiYgcGFnZSgpLT5mb2N1c0NvbnRy
b2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCkgPT0gdGhpcykKCg==
</data>
<flag name="review"
          id="50349"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62212</attachid>
            <date>2010-07-21 11:08:10 -0700</date>
            <delta_ts>2010-07-21 11:38:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>42534.patch</filename>
            <type>text/plain</type>
            <size>3515</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzgxNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENyYXNoIGluIE5vdGlmaWNhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKCkgdHJpZ2dlcmVkIGJ5IEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1MzQKKworICAgICAgICBDYWxsIE5vdGlmaWNhdGlvbnND
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpIHdoZW4gdGhlIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBm
cm9tIHRoZSBwYWdlLgorICAgICAgICBDYWxsaW5nIGl0IGZyb20gdGhlIGRlc3RydWN0b3Igb2Yg
RnJhbWUgaXMgdG9vIGxhdGUgYW5kIHNvbWV0aW1lcyBjYXVzZXMgYWNjZXNzIHZpb2xhdGlvbi4K
KyAgICAgICAgSSB3YXMgbm90IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgY3Jhc2gsIHNvIGRpZCBu
b3QgYWRkIG5ldyB0ZXN0cy4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUgZXJy
b3IgcmVwb3J0ZWQgaW4gCisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTQ5MzIzLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwYWdlRGVzdHJveWVkKToKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OnBhZ2VEZXN0cm95ZWQpOgorCiAyMDEwLTA3LTIxICBLcmlzdGlhbiBB
bWxpZSA8a3Jpc3RpYW4uYW1saWVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtl
bm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkNlbnRlci5jcHAJKHJldmlzaW9uIDYzNzM5KQorKysgV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYg
KzYxLDExIEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2kKIAogdm9p
ZCBOb3RpZmljYXRpb25DZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCiB7CisgICAgLy8gbV9ub3Rp
ZmljYXRpb25QcmVzZW50ZXIgc2hvdWxkIG5ldmVyIGJlIDAuIEJ1dCBqdXN0IHRvIGJlIHNhZmUs
IHdlIGNoZWNrIGl0IGhlcmUuCisgICAgLy8gRHVlIHRvIHRoZSBteXN0ZXJpb3VzIGJ1ZyBodHRw
Oi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00OTMyMy4KKyAg
ICBBU1NFUlQobV9ub3RpZmljYXRpb25QcmVzZW50ZXIpOworICAgIGlmICghbV9ub3RpZmljYXRp
b25QcmVzZW50ZXIpCisgICAgICAgIHJldHVybjsKICAgICBtX25vdGlmaWNhdGlvblByZXNlbnRl
ci0+Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7
CiAgICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIgPSAwOwogfQpJbmRleDogV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJ
KHJldmlzaW9uIDYzNzM5KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY3Myw2ICs2NzMsMTcgQEAgTm90aWZpY2F0aW9uQ2VudGVyKiBET01XaW5kb3c6
OndlYmtpdE5vdAogfQogI2VuZGlmCiAKK3ZvaWQgRE9NV2luZG93OjpwYWdlRGVzdHJveWVkKCkK
K3sKKyNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICAvLyBDbGVhcmluZyBOb3RpZmljYXRp
b25zIHJlcXVlc3RzIGludm9sdmVzIGFjY2Vzc2luZyB0aGUgY2xpZW50IHNvIGl0IG11c3QgYmUg
ZG9uZQorICAgIC8vIGJlZm9yZSB0aGUgZnJhbWUgaXMgZGV0YWNoZWQuCisgICAgaWYgKG1fbm90
aWZpY2F0aW9ucykKKyAgICAgICAgbV9ub3RpZmljYXRpb25zLT5kaXNjb25uZWN0RnJhbWUoKTsK
KyAgICBtX25vdGlmaWNhdGlvbnMgPSAwOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QqIERPTVdpbmRvdzo6aW5kZXhlZERC
KCkgY29uc3QKIHsKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlzaW9uIDYzNzM5KQorKysgV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjgsNiArMjI4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlmaWNh
dGlvbnMoKSBjb25zdDsKICNlbmRpZgogCisgICAgICAgIHZvaWQgcGFnZURlc3Ryb3llZCgpOwor
CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgICAgIEluZGV4ZWREYXRhYmFzZVJl
cXVlc3QqIGluZGV4ZWREQigpIGNvbnN0OwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJh
bWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDYz
NzM5KQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM0Nyw2
ICsxMzQ3LDkgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ryb3llZCgpCiAgICAgaWYgKEZyYW1lKiBw
YXJlbnQgPSB0cmVlKCktPnBhcmVudCgpKQogICAgICAgICBwYXJlbnQtPmxvYWRlcigpLT5jaGVj
a0xvYWRDb21wbGV0ZSgpOwogCisgICAgaWYgKG1fZG9tV2luZG93KQorICAgICAgICBtX2RvbVdp
bmRvdy0+cGFnZURlc3Ryb3llZCgpOworCiAgICAgLy8gRklYTUU6IEl0J3MgdW5jbGVhciBhcyB0
byB3aHkgdGhpcyBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UsIGJ1dCBpdCBpcywKICAgICAvLyBz
byBwYWdlKCkgY291bGQgYmUgTlVMTC4KICAgICBpZiAocGFnZSgpICYmIHBhZ2UoKS0+Zm9jdXND
b250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpID09IHRoaXMpCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>