<?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>80773</bug_id>
          
          <creation_ts>2012-03-10 19:20:40 -0800</creation_ts>
          <short_desc>MathML crash in WebCore::Node::previousSibling()</short_desc>
          <delta_ts>2012-03-13 16:46:15 -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>MathML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80909</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jacky Jiang">jkjiang</reporter>
          <assigned_to name="Jacky Jiang">jkjiang</assigned_to>
          <cc>alex</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>eric</cc>
    
    <cc>fred.wang</cc>
    
    <cc>inferno</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>575611</commentid>
    <comment_count>0</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-10 19:20:40 -0800</bug_when>
    <thetext>Program terminated with signal 11, Segmentation fault.
#0  0x7d0f95f0 in WebCore::Node::previousSibling (this=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/dom/Node.h:152
152         Node* previousSibling() const { return m_previous; }
(gdb) bt
#0  0x7d0f95f0 in WebCore::Node::previousSibling (this=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/dom/Node.h:152
#1  0x7d1a58e0 in WebCore::Element::previousElementSibling (this=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/dom/Element.cpp:1844
#2  0x7e0c359c in WebCore::RenderMathMLSubSup::addChild (this=0x775a6170, child=0x7759f7f0, beforeChild=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/rendering/mathml/RenderMathMLSubSup.cpp:70
#3  0x7d73cf48 in WebCore::RenderObject::addChild (this=0x775a6170, newChild=0x773c8498, beforeChild=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/rendering/RenderObject.cpp:319
#4  0x7d638cec in WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks (this=0x775a6170, newChild=0x773c8498, 
    beforeChild=0x0) at /Users/zhajiang/dev/webkit/Source/WebCore/rendering/RenderBlock.cpp:778
#5  0x7d638f64 in WebCore::RenderBlock::addChildIgnoringContinuation (this=0x775a6170, newChild=0x773c8498, 
    beforeChild=0x0) at /Users/zhajiang/dev/webkit/Source/WebCore/rendering/RenderBlock.cpp:796
#6  0x7d638e7c in WebCore::RenderBlock::addChild (this=0x775a6170, newChild=0x773c8498, beforeChild=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/rendering/RenderBlock.cpp:789
#7  0x7e0c3b20 in WebCore::RenderMathMLSubSup::addChild (this=0x775a6170, child=0x773c8498, beforeChild=0x0)
    at /Users/zhajiang/dev/webkit/Source/WebCore/rendering/mathml/RenderMathMLSubSup.cpp:111
#8  0x7d1db890 in WebCore::NodeRendererFactory::createRendererIfNeeded (this=0x779cf434)
    at /Users/zhajiang/dev/webkit/Source/WebCore/dom/NodeRenderingContext.cpp:350
#9  0x7d1bd740 in WebCore::Node::createRendererIfNeeded (this=0x55cc9f70)
    at /Users/zhajiang/dev/webkit/Source/WebCore/dom/Node.cpp:1484
#10 0x7d1a1bf4 in WebCore::Element::attach (this=0x55cc9f70)
    at /Users/zhajiang/dev/webkit/Source/WebCore/dom/Element.cpp:1025
#11 0x7dfa6548 in WebCore::HTMLConstructionSite::attach&lt;WebCore::Element&gt; (this=0x785f8fe4, rawParent=0x55cc94c8, 
    prpChild=...) at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp:111
#12 0x7dfa45e0 in WebCore::HTMLConstructionSite::attachToCurrent (this=0x785f8fe4, child=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp:263
#13 0x7dfa4f64 in WebCore::HTMLConstructionSite::insertForeignElement (this=0x785f8fe4, token=..., namespaceURI=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp:330
#14 0x7d363e58 in WebCore::HTMLTreeBuilder::processStartTag (this=0x785f8fd0, token=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1532
#15 0x7d35cbf8 in WebCore::HTMLTreeBuilder::processToken (this=0x785f8fd0, token=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:481
#16 0x7d35ca8c in WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken (this=0x785f8fd0, token=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:462
#17 0x7d35c9a4 in WebCore::HTMLTreeBuilder::constructTreeFromToken (this=0x785f8fd0, rawToken=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:452
#18 0x7d342294 in WebCore::HTMLDocumentParser::pumpTokenizer (this=0x772590a8, 
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    mode=WebCore::HTMLDocumentParser::AllowYield)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:278
#19 0x7d341b40 in WebCore::HTMLDocumentParser::pumpTokenizerIfPossible (this=0x772590a8, 
    mode=WebCore::HTMLDocumentParser::AllowYield)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:177
#20 0x7d3429b8 in WebCore::HTMLDocumentParser::append (this=0x772590a8, source=...)
    at /Users/zhajiang/dev/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:370
#21 0x7df1aec8 in WebCore::DecodedDataDocumentParser::appendBytes (this=0x772590a8, writer=0x773a7b8c, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/dom/DecodedDataDocumentParser.cpp:50
#22 0x7d3f8610 in WebCore::DocumentWriter::addData (this=0x773a7b8c, 
    bytes=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/loader/DocumentWriter.cpp:206
#23 0x7cfb88e0 in WebCore::FrameLoaderClientBlackBerry::receivedData (this=0x78efe378, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819, textEncoding=...)
    at /Users/zhajiang/dev/webkit/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp:376
#24 0x7cfb82c4 in WebCore::FrameLoaderClientBlackBerry::committedLoad (this=0x78efe378, loader=0x773a7b00, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819)
    at /Users/zhajiang/dev/webkit/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp:313
#25 0x7d3eac2c in WebCore::DocumentLoader::commitLoad (this=0x773a7b00, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/loader/DocumentLoader.cpp:303
#26 0x7d3eae7c in WebCore::DocumentLoader::receivedData (this=0x773a7b00, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/loader/DocumentLoader.cpp:329
#27 0x7d4221a0 in WebCore::MainResourceLoader::addData (this=0x77638e38, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819, allAtOnce=false) at /Users/zhajiang/dev/webkit/Source/WebCore/loader/MainResourceLoader.cpp:171
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
#28 0x7d43831c in WebCore::ResourceLoader::didReceiveData (this=0x77638e38, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819, encodedDataLength=2819, allAtOnce=false)
    at /Users/zhajiang/dev/webkit/Source/WebCore/loader/ResourceLoader.cpp:302
#29 0x7d42399c in WebCore::MainResourceLoader::didReceiveData (this=0x77638e38, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819, encodedDataLength=2819, allAtOnce=false)
    at /Users/zhajiang/dev/webkit/Source/WebCore/loader/MainResourceLoader.cpp:473
#30 0x7d438d3c in WebCore::ResourceLoader::didReceiveData (this=0x77638e38, 
    data=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    length=2819, encodedDataLength=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/loader/ResourceLoader.cpp:456
#31 0x7e33c784 in WebCore::NetworkJob::handleNotifyDataReceived (this=0x775b81e0, 
    buf=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    len=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/platform/network/blackberry/NetworkJob.cpp:429
#32 0x7e33c440 in WebCore::NetworkJob::notifyDataReceivedPlain (this=0x775b81e0, 
    buf=0x77ca0218 &quot;\&quot;true\&quot; displaystyle=\&quot;false\&quot; displaystyle=\&quot;false\&quot; background=\&quot;transparent\&quot;&gt;&lt;msqrt&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;/msqrt&gt;&lt;/mstyle&gt;&lt;mmultiscripts&gt;&lt;merror&gt;x&lt;/merror&gt;&lt;mtable&gt;&lt;mroot&gt;&lt;/mroot&gt;&lt;mfrac&gt;&lt;/mfrac&gt;&lt;/mtable&gt;&lt;msup&gt;&lt;&quot;..., 
    len=2819) at /Users/zhajiang/dev/webkit/Source/WebCore/platform/network/blackberry/NetworkJob.cpp:381
#33 0x7e341ef8 in WebCore::NetworkJob::notifyDataReceived (this=0x775b81e0, buffer=0x77493870)
    at /Users/zhajiang/dev/webkit/Source/WebCore/platform/network/blackberry/NetworkJob.h:91
#34 0x7960eeb0 in BlackBerry::Platform::FilterStream::notifyDataReceived (this=0x550e87e0, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/FilterStream.cpp:108
#35 0x79614c04 in BlackBerry::Platform::MultipartStream::notifyDataReceived (this=0x550e87e0, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/MultipartStream.cpp:154
#36 0x7960eeb0 in BlackBerry::Platform::FilterStream::notifyDataReceived (this=0x78d2a5c0, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/FilterStream.cpp:108
#37 0x79643fac in BlackBerry::Platform::RSSFilterStream::notifyDataReceived (this=0x78d2a5c0, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/rss/RSSFilterStream.cpp:696
#38 0x7960eeb0 in BlackBerry::Platform::FilterStream::notifyDataReceived (this=0x56242db0, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/FilterStream.cpp:108
#39 0x795edd7c in BlackBerry::Platform::ContentSnifferStream::notifyDataReceived (this=0x56242db0, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/ContentSnifferStream.cpp:126
#40 0x7960eeb0 in BlackBerry::Platform::FilterStream::notifyDataReceived (this=0x3c3de610, buffer=0x77493870)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at /Users/zhajiang/dev/platform/blackberryplatform/network/FilterStream.cpp:108
#41 0x795e3dcc in BlackBerry::Platform::CacheStream::notifyDataReceived (this=0x3c3de610, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/CacheStream.cpp:357
#42 0x7960eeb0 in BlackBerry::Platform::FilterStream::notifyDataReceived (this=0x31121a70, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/FilterStream.cpp:108
#43 0x796250d0 in BlackBerry::Platform::NetworkStream::notifyDataReceived (this=0x31121a70, buffer=0x77493870)
    at /Users/zhajiang/dev/platform/blackberryplatform/network/NetworkStream.cpp:292
#44 0x78be46e4 in WebKitThread::invokeNotifyDataReceived (this=0x7b5580c0, handle=40, buffer=0x77493870)
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575612</commentid>
    <comment_count>1</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-10 19:24:54 -0800</bug_when>
    <thetext>This was introduced by https://bugs.webkit.org/show_bug.cgi?id=62098 and the changset http://trac.webkit.org/changeset/89273.

Anonymous child make the childElement null and crash WebKit.
void RenderMathMLSubSup::addChild(RenderObject* child, RenderObject* beforeChild)
{
    // Note: The RenderMathMLBlock only allows element children to be added.
    Element* childElement = toElement(child-&gt;node());

    if (!childElement-&gt;previousElementSibling()) {

  .....
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575614</commentid>
    <comment_count>2</comment_count>
      <attachid>131201</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-10 19:27:54 -0800</bug_when>
    <thetext>Created attachment 131201
The test case

This crash was also verified on QT port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575923</commentid>
    <comment_count>3</comment_count>
      <attachid>131277</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-11 21:39:52 -0700</bug_when>
    <thetext>Created attachment 131277
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576291</commentid>
    <comment_count>4</comment_count>
      <attachid>131277</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-12 11:11:40 -0700</bug_when>
    <thetext>Comment on attachment 131277
The patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:272
&gt; +    if (!strcmp(renderName(), &quot;RenderMathMLSubSup&quot;))

First we *never* do a strcmp against renderName() and use a boolean function to return this value (guarded by ENABLE(MATHML) in this case). Here this is a hack and will not work if mtd is inserted below any other elements.

I would rather see a function introduced on RenderObject that returns whether the table should be inlined or not. This will be needed for https://bugs.webkit.org/show_bug.cgi?id=53144 AFAICT.

You will still have tons of issues (any table part &lt;td&gt;, &lt;tr&gt;, ... would wrongly be wrapped in an inline table) but at least it&apos;s more correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576358</commentid>
    <comment_count>5</comment_count>
      <attachid>131277</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 12:00:07 -0700</bug_when>
    <thetext>Comment on attachment 131277
The patch

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

&gt;&gt; Source/WebCore/rendering/RenderObject.cpp:272
&gt;&gt; +    if (!strcmp(renderName(), &quot;RenderMathMLSubSup&quot;))
&gt; 
&gt; First we *never* do a strcmp against renderName() and use a boolean function to return this value (guarded by ENABLE(MATHML) in this case). Here this is a hack and will not work if mtd is inserted below any other elements.
&gt; 
&gt; I would rather see a function introduced on RenderObject that returns whether the table should be inlined or not. This will be needed for https://bugs.webkit.org/show_bug.cgi?id=53144 AFAICT.
&gt; 
&gt; You will still have tons of issues (any table part &lt;td&gt;, &lt;tr&gt;, ... would wrongly be wrapped in an inline table) but at least it&apos;s more correct.

Will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576551</commentid>
    <comment_count>6</comment_count>
      <attachid>131416</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 14:44:36 -0700</bug_when>
    <thetext>Created attachment 131416
Patch

Update the patch based on Julien&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576581</commentid>
    <comment_count>7</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 15:00:00 -0700</bug_when>
    <thetext>BTW, mlabeledtr of mtable is not needed for the layout test case, as it runs successfully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576681</commentid>
    <comment_count>8</comment_count>
      <attachid>131416</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-12 16:17:07 -0700</bug_when>
    <thetext>Comment on attachment 131416
Patch

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

&gt; Source/WebCore/rendering/RenderObject.h:852
&gt; +    virtual bool needsInlineTable() const { return false; }

For the record, I think this is going in the right direction, though the function should not be virtual if MATHML is disabled. There are some corner cases that won&apos;t work with this change like &lt;td&gt; or &lt;tr&gt; would be wrapped into an anonymous inline-table and I don&apos;t think this is right.

As this seems orthogonal to the crash fix, I would rather see this in a new bug to discuss the proper testing.

&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:18
&gt; +    &lt;msub&gt;
&gt; +        &lt;mi&gt;&lt;/mi&gt;
&gt; +        &lt;mtr&gt;&lt;/mtr&gt;
&gt; +    &lt;/msub&gt;
&gt; +    &lt;msub&gt;
&gt; +        &lt;mi&gt;&lt;/mi&gt;
&gt; +        &lt;mtd&gt;&lt;/mtd&gt;
&gt; +    &lt;/msub&gt;

It would be neat to add testing for msup and msubsup too. That would validate that all the branches are not crashing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576693</commentid>
    <comment_count>9</comment_count>
      <attachid>131416</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 16:25:16 -0700</bug_when>
    <thetext>Comment on attachment 131416
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderObject.h:852
&gt;&gt; +    virtual bool needsInlineTable() const { return false; }
&gt; 
&gt; For the record, I think this is going in the right direction, though the function should not be virtual if MATHML is disabled. There are some corner cases that won&apos;t work with this change like &lt;td&gt; or &lt;tr&gt; would be wrapped into an anonymous inline-table and I don&apos;t think this is right.
&gt; 
&gt; As this seems orthogonal to the crash fix, I would rather see this in a new bug to discuss the proper testing.

Why would &quot;&lt;td&gt; or &lt;tr&gt;&quot; doesn&apos;t work?  I think &lt;td&gt; or &lt;tr&gt;  is not allowed in MathML,  only &lt;mtr&gt; or &lt;mtd&gt; is allowed.  I would create a new bug for the layout issue to separate it.

&gt;&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:18
&gt;&gt; +    &lt;/msub&gt;
&gt; 
&gt; It would be neat to add testing for msup and msubsup too. That would validate that all the branches are not crashing.

msubsup wouldn&apos;t crash in this case, should I still add the test cases for msubsup?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576713</commentid>
    <comment_count>10</comment_count>
      <attachid>131416</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-12 16:41:24 -0700</bug_when>
    <thetext>Comment on attachment 131416
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderObject.h:852
&gt;&gt;&gt; +    virtual bool needsInlineTable() const { return false; }
&gt;&gt; 
&gt;&gt; For the record, I think this is going in the right direction, though the function should not be virtual if MATHML is disabled. There are some corner cases that won&apos;t work with this change like &lt;td&gt; or &lt;tr&gt; would be wrapped into an anonymous inline-table and I don&apos;t think this is right.
&gt;&gt; 
&gt;&gt; As this seems orthogonal to the crash fix, I would rather see this in a new bug to discuss the proper testing.
&gt; 
&gt; Why would &quot;&lt;td&gt; or &lt;tr&gt;&quot; doesn&apos;t work?  I think &lt;td&gt; or &lt;tr&gt;  is not allowed in MathML,  only &lt;mtr&gt; or &lt;mtd&gt; is allowed.  I would create a new bug for the layout issue to separate it.

AFAICT nothing prevents us from adding some td and tr into a MathML tree (provided we do some namespace magic as we are speaking XHTML here). At least, RenderMathMLBlock::isChildAllowed doesn&apos;t prevent adding a RenderTableCell to the tree. If that doesn&apos;t work, MathML can be inlined in an HTML document.

Now because of your check, the td would get an anonymous inline-table which is *arguably* wrong as &lt;msub&gt; is considered to be a block. That is at least worth having some test covering whichever behavior we pick.

&gt;&gt;&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:18
&gt;&gt;&gt; +    &lt;/msub&gt;
&gt;&gt; 
&gt;&gt; It would be neat to add testing for msup and msubsup too. That would validate that all the branches are not crashing.
&gt; 
&gt; msubsup wouldn&apos;t crash in this case, should I still add the test cases for msubsup?

Yes, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576733</commentid>
    <comment_count>11</comment_count>
      <attachid>131416</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 16:54:48 -0700</bug_when>
    <thetext>Comment on attachment 131416
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/rendering/RenderObject.h:852
&gt;&gt;&gt;&gt; +    virtual bool needsInlineTable() const { return false; }
&gt;&gt;&gt; 
&gt;&gt;&gt; AFAICT nothing prevents us from adding some td and tr into a MathML tree (provided we do some namespace magic as we are speaking XHTML here). At least, RenderMathMLBlock::isChildAllowed doesn&apos;t prevent adding a RenderTableCell to the tree. If that doesn&apos;t work, MathML can be inlined in an HTML document.
&gt;&gt;&gt; 
&gt;&gt;&gt; Now because of your check, the td would get an anonymous inline-table which is *arguably* wrong as &lt;msub&gt; is considered to be a block. That is at least worth having some test covering whichever behavior we pick.
&gt;&gt; 
&gt;&gt; Why would &quot;&lt;td&gt; or &lt;tr&gt;&quot; doesn&apos;t work?  I think &lt;td&gt; or &lt;tr&gt;  is not allowed in MathML,  only &lt;mtr&gt; or &lt;mtd&gt; is allowed.  I would create a new bug for the layout issue to separate it.
&gt; 
&gt; For the record, I think this is going in the right direction, though the function should not be virtual if MATHML is disabled. There are some corner cases that won&apos;t work with this change like &lt;td&gt; or &lt;tr&gt; would be wrapped into an anonymous inline-table and I don&apos;t think this is right.
&gt; 
&gt; As this seems orthogonal to the crash fix, I would rather see this in a new bug to discuss the proper testing.

That makes sense, will update the patch. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576735</commentid>
    <comment_count>12</comment_count>
      <attachid>131454</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 16:57:22 -0700</bug_when>
    <thetext>Created attachment 131454
Patch

Update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576760</commentid>
    <comment_count>13</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 17:11:17 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=80909 has been created to track the rendering problem of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576918</commentid>
    <comment_count>14</comment_count>
      <attachid>131454</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-03-12 19:27:08 -0700</bug_when>
    <thetext>Comment on attachment 131454
Patch

Will the new created renders be leaked?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576965</commentid>
    <comment_count>15</comment_count>
      <attachid>131454</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-12 20:23:07 -0700</bug_when>
    <thetext>Comment on attachment 131454
Patch

&gt; Will the new created renders be leaked?

That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576970</commentid>
    <comment_count>16</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 20:32:59 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 131454 [details])
&gt; &gt; Will the new created renders be leaked?
&gt; 
&gt; That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.
How would the node not be inserted to the tree? We don&apos;t have any return value of addChild() to make sure we have inserted the node successfully or not for all of the rendering not just this case I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576971</commentid>
    <comment_count>17</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-12 20:33:45 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; (From update of attachment 131454 [details] [details])
&gt; &gt; &gt; Will the new created renders be leaked?
&gt; &gt; 
&gt; &gt; That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.
&gt; How would the node not be inserted to the tree? We don&apos;t have any return value of addChild() to make sure we have inserted the node successfully or not for all of the rendering not just this case I think.

I would think it behaves as a regular anonymous render and gets destroyed when the parent render destroyed. However, for msub, msup and msubsup, we always wrap the child in a new container (not just this case), we may still keep the containers when their children get removed by DOM manipulation which I am not sure, I think this is the common possible issue which https://bugs.webkit.org/show_bug.cgi?id=57897 was trying to fix, but never get that patch in, we may need better design of the rendering. But in this case, I would just fix the crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577342</commentid>
    <comment_count>18</comment_count>
      <attachid>131620</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 08:30:18 -0700</bug_when>
    <thetext>Created attachment 131620
html-anonymous-render-child

Just made a layout test for a normal anonymous render of html(Not the mathml), these two lines will be commented out at the beginning &quot;var msub = document.getElementById(&quot;mydiv&quot;); msub.removeChild(msub.childNodes[1]);&quot;, then put it back and compare the layout test results. Will attach the diff to support my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577350</commentid>
    <comment_count>19</comment_count>
      <attachid>131624</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 08:37:58 -0700</bug_when>
    <thetext>Created attachment 131624
the pretty-diff

The diff shows that the anonymous render &quot;RenderBlock (anonymous)&quot; is still in the render tree
after the DOM manipulation to remove the child element &quot;text run at (0,0)&quot; of the anonymous render.
This shows that mathml is as normal as the common html that if the anonymous render is still in the render tree after DOM manipulation. 
Which might be the common problem or just by design which I am not sure. So, I think for mathml, anonymous render is fine as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577419</commentid>
    <comment_count>20</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-13 09:18:39 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; (From update of attachment 131454 [details] [details] [details])
&gt; &gt; &gt; &gt; Will the new created renders be leaked?
&gt; &gt; &gt; 
&gt; &gt; &gt; That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.
&gt; &gt; How would the node not be inserted to the tree? We don&apos;t have any return value of addChild() to make sure we have inserted the node successfully or not for all of the rendering not just this case I think.
&gt; 
&gt; I would think it behaves as a regular anonymous render and gets destroyed when the parent render destroyed. 

I don&apos;t think you are following the issue. If you don&apos;t call addChild for the anonymous renderer, it has *no* parent. Thus it will never be cleaned and you leak your whole anonymous subtree. The test case you just pasted don&apos;t show anything.

You should see the issue by looking at the tree dump of your crash fix. There should be some missing anonymous RenderTable. You can also visualize that in your text output by putting some text in your &lt;mtd&gt; or &lt;mtr&gt; (there should be some missing).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577435</commentid>
    <comment_count>21</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 09:39:44 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; &gt; (From update of attachment 131454 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; &gt; Will the new created renders be leaked?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.
&gt; &gt; &gt; How would the node not be inserted to the tree? We don&apos;t have any return value of addChild() to make sure we have inserted the node successfully or not for all of the rendering not just this case I think.
&gt; &gt; 
&gt; &gt; I would think it behaves as a regular anonymous render and gets destroyed when the parent render destroyed. 
&gt; 
&gt; I don&apos;t think you are following the issue. If you don&apos;t call addChild for the anonymous render, it has *no* parent. Thus it will never be cleaned and you leak your whole anonymous subtree. The test case you just pasted don&apos;t show anything.
&gt; 
&gt; You should see the issue by looking at the tree dump of your crash fix. There should be some missing anonymous RenderTable. You can also visualize that in your text output by putting some text in your &lt;mtd&gt; or &lt;mtr&gt; (there should be some missing).
The test just attached was about the DOM manipulation case of the anonymous render.
OK, do you mean dump the render tree and see if all of the anonymous renders of &lt;mtd&gt; or &lt;mtr&gt; are there or not?  And also add pixel test result to the patch?   I can&apos;t imagine how there is a case that the anonymous render is not inserted to the tree though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577477</commentid>
    <comment_count>22</comment_count>
      <attachid>131649</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 10:05:32 -0700</bug_when>
    <thetext>Created attachment 131649
dump render tree of the test case of the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577481</commentid>
    <comment_count>23</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 10:06:30 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Created an attachment (id=131649) [details]
&gt; dump render tree of the test case of the patch

This is the dump render tree of the test case in the requested review patch. 
This shows that all of the anonymous renders of &lt;mtr&gt; &lt;mtd&gt; are attached to the render tree.
Is this dump render tree expected file what you want to add to patch?  Hopefully I got what you mean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577605</commentid>
    <comment_count>24</comment_count>
      <attachid>131684</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 11:35:12 -0700</bug_when>
    <thetext>Created attachment 131684
Patch

Update the patch with the dump render tree to make sure that anonymous render&apos;s and their children are attched to the render tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577648</commentid>
    <comment_count>25</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-03-13 12:15:39 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; &gt; (From update of attachment 131454 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; &gt; Will the new created renders be leaked?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.
&gt; &gt; &gt; How would the node not be inserted to the tree? We don&apos;t have any return value of addChild() to make sure we have inserted the node successfully or not for all of the rendering not just this case I think.
&gt; &gt; 
&gt; &gt; I would think it behaves as a regular anonymous render and gets destroyed when the parent render destroyed. 
&gt; 
&gt; I don&apos;t think you are following the issue. If you don&apos;t call addChild for the anonymous renderer, it has *no* parent. Thus it will never be cleaned and you leak your whole anonymous subtree. The test case you just pasted don&apos;t show anything.
&gt; 
&gt; You should see the issue by looking at the tree dump of your crash fix. There should be some missing anonymous RenderTable. You can also visualize that in your text output by putting some text in your &lt;mtd&gt; or &lt;mtr&gt; (there should be some missing).

I agree with Jacky. The original bug is that for an &lt;msub&gt; or &lt;msup&gt;, if a table part (&lt;mtd&gt;/etc.) is inserted as the second child, then RenderMathMLSubSup::addChild() at old line 114 will call RenderMathMLBlock::addChild(), which is really RenderObject::addChild(), to do the insert. RenderObject::addChild() will create an anonymous table renderer in this case, and then call RenderMathMLSubSup::addChild() again to insert it. This is the only way an anonymous renderer gets created. The only bug is that RenderMathMLSubSup::addChild() doesn&apos;t check for childElement being NULL in this case. With the patch&apos;s check, the code will run correctly, and the anonymous renderer will get inserted when RenderMathMLBlock::addChild() at old line 114 again gets executed. So addChild() indeed gets called on the anonymous renderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577669</commentid>
    <comment_count>26</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 12:32:56 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #20)
&gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; &gt; &gt; (From update of attachment 131454 [details] [details] [details] [details] [details])
&gt; &gt; &gt; &gt; &gt; &gt; Will the new created renders be leaked?
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; That&apos;s a good point. The current code assumes that it will be inserted in the tree. If it is not, the pointer is leaked.
&gt; &gt; &gt; &gt; How would the node not be inserted to the tree? We don&apos;t have any return value of addChild() to make sure we have inserted the node successfully or not for all of the rendering not just this case I think.
&gt; &gt; &gt; 
&gt; &gt; &gt; I would think it behaves as a regular anonymous render and gets destroyed when the parent render destroyed. 
&gt; &gt; 
&gt; &gt; I don&apos;t think you are following the issue. If you don&apos;t call addChild for the anonymous renderer, it has *no* parent. Thus it will never be cleaned and you leak your whole anonymous subtree. The test case you just pasted don&apos;t show anything.
&gt; &gt; 
&gt; &gt; You should see the issue by looking at the tree dump of your crash fix. There should be some missing anonymous RenderTable. You can also visualize that in your text output by putting some text in your &lt;mtd&gt; or &lt;mtr&gt; (there should be some missing).
&gt; 
&gt; I agree with Jacky. The original bug is that for an &lt;msub&gt; or &lt;msup&gt;, if a table part (&lt;mtd&gt;/etc.) is inserted as the second child, then RenderMathMLSubSup::addChild() at old line 114 will call RenderMathMLBlock::addChild(), which is really RenderObject::addChild(), to do the insert. RenderObject::addChild() will create an anonymous table renderer in this case, and then call RenderMathMLSubSup::addChild() again to insert it. This is the only way an anonymous renderer gets created. The only bug is that RenderMathMLSubSup::addChild() doesn&apos;t check for childElement being NULL in this case. With the patch&apos;s check, the code will run correctly, and the anonymous renderer will get inserted when RenderMathMLBlock::addChild() at old line 114 again gets executed. So addChild() indeed gets called on the anonymous renderer.
Exactly^_^, thanks for the agreement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577769</commentid>
    <comment_count>27</comment_count>
      <attachid>131684</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-13 13:45:50 -0700</bug_when>
    <thetext>Comment on attachment 131684
Patch

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

&gt; I agree with Jacky.

Yes, now I see that I just overlook the ASSERT. Thanks Dave &amp; Jacky for correcting me.

&gt; Source/WebCore/rendering/mathml/RenderMathMLSubSup.cpp:100
&gt; +            if (!childElement)
&gt; +                return;

If this ever get reached, we will leak |child| and was what prompted my comment about leaking. The alternative is crashing so I guess it&apos;s OK.

&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:7
&gt; +        &lt;mi&gt;X&lt;/mi&gt;
&gt; +        &lt;mtr&gt;3&lt;/mtr&gt;

Adding text unfortunately here makes the render tree dump platform specific due to font difference. This can be alleviated but IMHO it doesn&apos;t add much as it was caused by me being confused.

Sorry to get you chase wild rabbits here but could you just revert it to dumpAsText?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577794</commentid>
    <comment_count>28</comment_count>
      <attachid>131684</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 14:03:38 -0700</bug_when>
    <thetext>Comment on attachment 131684
Patch

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

&gt;&gt; Source/WebCore/rendering/mathml/RenderMathMLSubSup.cpp:100
&gt;&gt; +                return;
&gt; 
&gt; If this ever get reached, we will leak |child| and was what prompted my comment about leaking. The alternative is crashing so I guess it&apos;s OK.

Yeah,  the ASSERT would help although it shouldn&apos;t ever get into this path.

&gt;&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:7
&gt;&gt; +        &lt;mtr&gt;3&lt;/mtr&gt;
&gt; 
&gt; Adding text unfortunately here makes the render tree dump platform specific due to font difference. This can be alleviated but IMHO it doesn&apos;t add much as it was caused by me being confused.
&gt; 
&gt; Sorry to get you chase wild rabbits here but could you just revert it to dumpAsText?

No problem, I will revert it to dumpAsText and remove the text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577797</commentid>
    <comment_count>29</comment_count>
      <attachid>131684</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-13 14:08:40 -0700</bug_when>
    <thetext>Comment on attachment 131684
Patch

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

&gt;&gt;&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:7
&gt;&gt;&gt; +        &lt;mtr&gt;3&lt;/mtr&gt;
&gt;&gt; 
&gt;&gt; Adding text unfortunately here makes the render tree dump platform specific due to font difference. This can be alleviated but IMHO it doesn&apos;t add much as it was caused by me being confused.
&gt;&gt; 
&gt;&gt; Sorry to get you chase wild rabbits here but could you just revert it to dumpAsText?
&gt; 
&gt; No problem, I will revert it to dumpAsText and remove the text.

You can keep the text (even maybe should as it makes the text output nicer with no downside). It&apos;s only if you do a tree dump (like in this patch) that the text is making your output platform specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577808</commentid>
    <comment_count>30</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 14:17:24 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 131684 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131684&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; LayoutTests/mathml/msub-anonymous-child-render-crash.html:7
&gt; &gt;&gt;&gt; +        &lt;mtr&gt;3&lt;/mtr&gt;
&gt; &gt;&gt; 
&gt; &gt;&gt; Adding text unfortunately here makes the render tree dump platform specific due to font difference. This can be alleviated but IMHO it doesn&apos;t add much as it was caused by me being confused.
&gt; &gt;&gt; 
&gt; &gt;&gt; Sorry to get you chase wild rabbits here but could you just revert it to dumpAsText?
&gt; &gt; 
&gt; &gt; No problem, I will revert it to dumpAsText and remove the text.
&gt; 
&gt; You can keep the text (even maybe should as it makes the text output nicer with no downside). It&apos;s only if you do a tree dump (like in this patch) that the text is making your output platform specific.
OK, I will keep the text and dump it.  The layout of the test should be improved in the new created follow up patch as the style would be different that we are not inline the anonymous table.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577830</commentid>
    <comment_count>31</comment_count>
      <attachid>131717</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 14:45:44 -0700</bug_when>
    <thetext>Created attachment 131717
Patch

Revert to the previois dumpAsText patch as suggested by Julien.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577842</commentid>
    <comment_count>32</comment_count>
      <attachid>131717</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-13 14:58:51 -0700</bug_when>
    <thetext>Comment on attachment 131717
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577850</commentid>
    <comment_count>33</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-03-13 15:02:27 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 131717 [details])
&gt; r=me
Thanks a lot for your time to review this ^_^.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577991</commentid>
    <comment_count>34</comment_count>
      <attachid>131717</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 16:46:08 -0700</bug_when>
    <thetext>Comment on attachment 131717
Patch

Clearing flags on attachment: 131717

Committed r110640: &lt;http://trac.webkit.org/changeset/110640&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577992</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 16:46:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131201</attachid>
            <date>2012-03-10 19:27:54 -0800</date>
            <delta_ts>2012-03-10 19:27:54 -0800</delta_ts>
            <desc>The test case</desc>
            <filename>mathTest-bk.html</filename>
            <type>text/html</type>
            <size>10923</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQ
VUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMSBwbHVzIE1hdGhNTCAyLjAvL0VOIgogICAgICAg
ICAiaHR0cDovL3d3dy53My5vcmcvTWF0aC9EVEQvbWF0aG1sMi94aHRtbC1tYXRoMTEtZi5kdGQi
PgoKPGh0bWw+CjwvaGVhZD4KPGJvZHk+CjxtYXRoIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk4L01hdGgvTWF0aE1MIj4KPG1hY3Rpb24gYWN0aW9udHlwZT0idG9nZ2xlIiBzZWxlY3Rpb249
IjEyMyI+Cjxtb3Zlcj48L21vdmVyPngmTWZyOzxtc3ViPng8bXNxcnQ+PG1yb290PjxtZXJyb3I+
IHNjcmlwdGxldmVsPSIrMiImbHQ7PC9tZXJyb3I+PG10ZD49PC9tdGQ+CjwvbXJvb3Q+PC9tc3Fy
dD48L21zdWI+PG1yb3c+PG1tdWx0aXNjcmlwdHM+PG11bmRlcj48L211bmRlcj48bWZlbmNlZD48
L21mZW5jZWQ+PG1vdmVyPjwvbW92ZXI+CiZNZnI7PC9tdWx0aXNjcmlwdHM+PG10ZD48L210ZD4K
PG1wYWRkZWQ8bXBhZGRlZCBoZWlnaHQ9Iis0MHB0IiBoZWlnaHQ9Ii00MCVlbSIgZGVwdGg9Iis0
MGVtIiBoZWlnaHQ9Ii00MHh4eCIgZGVwdGg9IjQwd2lkdGgiIHdpZHRoPSIrMzIwcHQiIGhlaWdo
dD0iKzIwJXh4eCI+Cjxtc3R5bGUgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiPjwvbXN0eWxlPjwv
bXBhZGRlZD48bWVycm9yPnk8L21lcnJvcj4KPG10ZD49PC9tdGQ+PG10cj48L210cj48L21yb3c+
PG1mcmFjPjwvbWZyYWM+YmFkIHRhZzogCjxmcmFtZTxtZXJyb3I+IFFFRCA8bWVycm9yPjwvbWVy
cm9yPjxtcm9vdD48bXRyPjwvbXRyPjxtdGQ+MjwvbXRkPjxtcm9vdD48bW11bHRpc2NyaXB0cz48
bXN1Yj48L21zdWI+Cjxtcm93PjwvbXJvdz48L211bHRpc2NyaXB0cz48L21yb290Pj08bXBhZGRl
ZDxtdW5kZXJvdmVyPjwvbXVuZGVyb3Zlcj48L21yb290Pgo8bWFjdGlvbiBhY3Rpb250eXBlPSJ0
b2dnbGUiIHNlbGVjdGlvbj0iMTIzIj48bWVycm9yPik8L21lcnJvcj48bXN1YnN1cD54PC9tc3Vi
c3VwPgo8bW11bHRpc2NyaXB0cz48bXRkPng8L210ZD48L211bHRpc2NyaXB0cz48L21hY3Rpb24+
PG1yb290PjwvbXJvb3Q+eTI8bXRkPjI8L210ZD48bW92ZXI+PC9tb3Zlcj54PG1lcnJvcj4mTWZy
OzwvbWVycm9yPnk8bWVycm9yPiZsdDs8L21lcnJvcj4KPG11bmRlcm92ZXI+PG1yb290PjxtbXVs
dGlzY3JpcHRzPjxtcm9vdD48L21yb290PjwvbXVsdGlzY3JpcHRzPjwvbXJvb3Q+Jk1mcjs8bXJv
dz48bW11bHRpc2NyaXB0cz48bXRkPnk8L210ZD4KPC9tdWx0aXNjcmlwdHM+PG1zdHlsZSBkaXNw
bGF5c3R5bGU9InRydWUiPjwvbXN0eWxlPjwvbXJvdz48L211bmRlcm92ZXI+CjxtbXVsdGlzY3Jp
cHRzPjxtcm9vdD48bWZlbmNlZD4mbHQ7PC9tZmVuY2VkPiZsdDs8L21yb290PjwvbXVsdGlzY3Jp
cHRzPgo8bXBhZGRlZCB3aWR0aD0iLTMyMGxzcGFjZSIgZGVwdGg9Iis0MHh4eCIgbHNwYWNlPSIx
MGVtIiBsc3BhY2U9Ii00MGVtIiBkZXB0aD0iLTIwcHQiIGhlaWdodD0iLTQwbHNwYWNlIiBsc3Bh
Y2U9Iis0MGVtIiBsc3BhY2U9IjVlbSIgZGVwdGg9Ii0xMHB0IiBkZXB0aD0iNDBlbSIgbHNwYWNl
PSIrNDBwdCIgd2lkdGg9IjMyMCV4eHgiIGxzcGFjZT0iNWVtIiB3aWR0aD0iLTIweHh4IiB3aWR0
aD0iKzQwbHNwYWNlIiB3aWR0aD0iNDB4eHgiIHdpZHRoPSIrNDAlcHQiPgo8bW11bHRpc2NyaXB0
cz48bXJvdz48L21yb3c+eDxtdGQ+eTwvbXRkPjxtZXJyb3I+PT08L21lcnJvcj48bXN0eWxlPjwv
bXN0eWxlPjxtdW5kZXJvdmVyPjwvbXVuZGVyb3Zlcj4mTWZyOwo8bXJvb3Q+PC9tcm9vdD55PC9t
dWx0aXNjcmlwdHM+PC9tcGFkZGVkPgo8bXN0eWxlIHNjcmlwdHNpemVtdWx0aXBsaWVyPSIyIiBk
aXNwbGF5c3R5bGU9InRydWUiIHNjcmlwdG1pbnNpemU9IjhwdCIgY29sb3I9IhJncmVlbiIgYmFj
a2dyb3VuZD0iIHNjcmlwdGxldmVsPSItMSIgc2NyaXB0bWluc2l6ZT0iOHB0Igo8L21zdHlsZT4K
PG1yb3c+Mjxtcm9vdD48L21yb290PjwvbXJvdz48bWZyYWM+MjxtZnJhYz48L21mcmFjPjwvbWZy
YWM+PG1zdWJzdXA+PG1tdWx0aXNjcmlwdHM+PG1mcmFjPjwvbWZyYWM+PG1wcmVzY3JpcHRzLz4K
PG10ZD55PC9tdGQ+PG1zdWI+PC9tc3ViPjxtZnJhYz48L21mcmFjPjxtc3ViPjwvbXN1Yj48L211
bHRpc2NyaXB0cz48bXVuZGVyPjwvbXVuZGVyPjwvbXN1YnN1cD48bWVycm9yPiZsdDs8L21lcnJv
cj4KPG10ZD4yPC9tdGQ+PG1zcXJ0PjxtZXJyb3I+PTwvbWVycm9yPjwvbXNxcnQ+PG11bmRlcm92
ZXI+CjwvbXVuZGVyb3Zlcj4KPG1vdmVyPjxtc3ViPjwvbXN1Yj48bXJvb3Q+PC9tcm9vdD48bXVu
ZGVyPjwvbXVuZGVyPjwvbW92ZXI+PG1lcnJvcj5iYWQgdGFnOiA8ZnJhbWU8L21lcnJvcj4KPG1z
dXA+PG11bmRlcm92ZXI+PC9tdW5kZXJvdmVyPjwvbXN1cD4KCjxtZnJhYz48L21mcmFjPjxtZXJy
b3I+Jk1mcjs8L21lcnJvcj48bWVycm9yPjwvbWVycm9yPjxtYWN0aW9uIGFjdGlvbnR5cGU9InRv
Z2dsZSIgc2VsZWN0aW9uPSIxMjMiPjxtZnJhYz4KPG1zdHlsZSBiYWNrZ3JvdW5kPSJ0cmFuc3Bh
cmVudCIgZGlzcGxheXN0eWxlPSJ0cnVlIiBzY3JpcHRsZXZlbD0iKzEiIHNjcmlwdHNpemVtdWx0
aXBsaWVyPSIwLjUiIGRpc3BsYXlzdHlsZT0iPG11bmRlcm92ZXI+dHJ1ZSIgc2NyaXB0bWluc2l6
ZT0iOHB0Ij4KPG1lcnJvcj4yPC9tZXJyb3I+PC9tc3R5bGU+PC9tZnJhYz48bXJvdz48L21yb3c+
PC9tYWN0aW9uPjxtbXVsdGlzY3JpcHRzPjxtc3ViPjxtc3R5bGUgZGlzcGxheXN0eWxlPSJ0cnVl
IiBzY3JpcHRsZXZlbD0iKzEiPjwvbXN0eWxlPgo8bXN0eWxlIHNjcmlwdHNpemVtdWx0aXBsaWVy
PSIyIiBzY3JpcHRsZXZlbD0iKzIiIHNjcmlwdHNpemVtdWx0aXBsaWVyPSIxIiBjb2xvcj0iYmxh
Y2siIHNjcmlwdGxldmVsPSItMSIgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiIHNjcmlwdG1pbnNp
emU9IjFwdCIgY29sb3I9InllbGxvdyIgY29sb3I9InJlZCIgYmFja2dyb3VuZD0idHJhbnNwYXJl
bnQiPgo8L21zdHlsZT48bWZyYWM+PC9tZnJhYz48L21zdWI+PG1mcmFjPjwvbWZyYWM+PTxtcm93
PjwvbXJvdz48bXRyPjwvbXRyPgoKPG11bmRlcj55PC9tdW5kZXI+PG1wYWRkZWQ+PG10ZD4mTWZy
OzwvbXRkPjwvbXBhZGRlZD48bXRhYmxlPjwvbXRhYmxlPjwvbXVsdGlzY3JpcHRzPgo8bW11bHRp
c2NyaXB0cz48bXJvdz48L21yb3c+PG1wcmVzY3JpcHRzLz48L211bHRpc2NyaXB0cz48bWZyYWM+
PG1yb290Pjxtcm9vdD48L21yb290PjwvbXJvb3Q+CjxtZnJhYz48bWVycm9yPng8L21lcnJvcj48
bXN1cD48L21zdXA+PG1tdWx0aXNjcmlwdHM+PTwvbXVsdGlzY3JpcHRzPjwvbWZyYWM+PC9tZnJh
Yz48bXRyPjwvbXRyPng8bXRkPiZNZnI7PC9tdGQ+PG11bmRlcj48L211bmRlcj4KPG1zcXJ0PjFw
dDxtcm9vdD48L21yb290PjwvbXNxcnQ+PG11bmRlcj48bXJvb3Q+PG1zdWI+PC9tc3ViPj08L21y
b290Pjxtcm93PjxtbXVsdGlzY3JpcHRzPjxtdW5kZXI+PC9tdW5kZXI+PG1wcmVzY3JpcHRzLz48
L211bHRpc2NyaXB0cz4KPC9tcm93Pjxtcm93PjwvbXJvdz48bXN1Yj48bWVycm9yPnk8L21lcnJv
cj48L21zdWI+PG1zcXJ0PjxtZXJyb3I+MjwvbWVycm9yPjwvbXNxcnQ+PG10cj48L210cj48L211
bmRlcj4KPG1mcmFjPjxtc3FydD48bWVycm9yPj08L21lcnJvcj48L21zcXJ0PjwvbWZyYWM+PG1z
dWJzdXA+PC9tc3Vic3VwPjxtcm93Pjxtcm9vdD48L21yb290PjwvbXJvdz48bXRyPjwvbXRyPgo8
bWVycm9yPj08L21lcnJvcj54PG1mcmFjPjwvbWZyYWM+MjxtZmVuY2VkPjxtbXVsdGlzY3JpcHRz
PjxtYWN0aW9uIGFjdGlvbnR5cGU9InRvZ2dsZSIgc2VsZWN0aW9uPSIxMjMiPjxtbXVsdGlzY3Jp
cHRzPgo8bWZyYWM+PC9tZnJhYz48bW11bHRpc2NyaXB0cz54PC9tdWx0aXNjcmlwdHM+PG1yb290
PjwvbXJvb3Q+PG1mcmFjPjwvbWZyYWM+PC9tdWx0aXNjcmlwdHM+PC9tYWN0aW9uPjxtb3Zlcj48
L21vdmVyPgo8bW11bHRpc2NyaXB0cz48bWVycm9yPiBRRUQgPC9tZXJyb3I+MjwvbXVsdGlzY3Jp
cHRzPjxtdGQ+eTwvbXRkPjxtYWN0aW9uIGFjdGlvbnR5cGU9InRvZ2dsZSIgc2VsZWN0aW9uPSIx
MjMiPjwvbWFjdGlvbj4KPG1lcnJvcj4yPC9tZXJyb3I+PC9tdWx0aXNjcmlwdHM+PC9tZmVuY2Vk
PjxtcGFkZGVkIGxzcGFjZT0iNDBwdCIgZGVwdGg9IjIwZGVwdGgiIHdpZHRoPSIrNDBwdCI+PG1z
cXJ0PjxtdW5kZXJvdmVyPgo8bWVycm9yPjI8L21lcnJvcj48L211bmRlcm92ZXI+PC9tc3FydD48
L21wYWRkZWQ+PG1tdWx0aXNjcmlwdHM+PG1yb3c+MjwvbXJvdz48L211bHRpc2NyaXB0cz48bXJv
b3Q+CjxtYWN0aW9uIGFjdGlvbnR5cGU9InRvZ2dsZSIgc2VsZWN0aW9uPSIxMjMiPjxtc3R5bGUg
ZGlzcGxheXN0eWxlPSJmYWxzZSIgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiPjwvbXN0eWxlPjwv
bWFjdGlvbj48L21yb290Pgo8bWZyYWM+PG1tdWx0aXNjcmlwdHM+PG1zdHlsZT48bW11bHRpc2Ny
aXB0cz48bXN1Yj48L21zdWI+PG1yb290PjwvbXJvb3Q+PG1wcmVzY3JpcHRzLz48L211bHRpc2Ny
aXB0cz48L21zdHlsZT48bXRkPnk8L210ZD48L211bHRpc2NyaXB0cz4KPC9tZnJhYz48bXJvdz48
bXJvdz48L21yb3c+PG1yb290Pjxtcm9vdD48L21yb290PjwvbXJvb3Q+MjwvbXJvdz48bXN1Yj48
L21zdWI+PG1zdWJzdXA+PG1yb290PjwvbXJvb3Q+PC9tc3Vic3VwPjxtc3FydD48bXNxcnQ+Cjxt
cm93PjwvbXJvdz48L21zcXJ0PjwvbXNxcnQ+PG10YWJsZT49PG1hY3Rpb24gYWN0aW9udHlwZT0i
dG9nZ2xlIiBzZWxlY3Rpb249IjEyMyI+PG1yb290PiA8bXRhYmxlPjxtdGQ+eDwvbXRkPjwvbXRh
YmxlPjwvbXJvb3Q+PC9tYWN0aW9uPgo8bWVycm9yPiZNZnI7PC9tZXJyb3I+PG10ZD49PC9tdGQ+
PG11bmRlcm92ZXI+PG1yb3c+PC9tcm93Pjxtcm93PjwvbXJvdz48L211bmRlcm92ZXI+PG1zdXA+
PC9tc3VwPjwvbXRhYmxlPjxtbXVsdGlzY3JpcHRzPgo8bWVycm9yPnk8L21lcnJvcj48bWZyYWM+
PC9tZnJhYz4mbHQ7PG1mZW5jZWQ+PC9tZmVuY2VkPjxtc3FydD48bXNxcnQ+PG1vdmVyPjwvbW92
ZXI+PC9tc3FydD48L21zcXJ0PjxtdHI+PC9tdHI+Jk1mcjs8bW11bHRpc2NyaXB0cz4KPG1yb3c+
MjwvbXJvdz48bWVycm9yPiZNZnI7PC9tZXJyb3I+PC9tdWx0aXNjcmlwdHM+PC9tdWx0aXNjcmlw
dHM+PG1lcnJvcj4yPC9tZXJyb3I+eTxtcm9vdD48L21yb290Pjxtcm9vdD4KPG1mcmFjPjwvbWZy
YWM+PG1yb3c+PC9tcm93PjxtbXVsdGlzY3JpcHRzPjxtZmVuY2VkPjwvbWZlbmNlZD48bWVycm9y
PiBRRUQgPC9tZXJyb3I+eHg8bW11bHRpc2NyaXB0cz48bXBoYW50b20+CjxtdW5kZXJvdmVyPjwv
bXVuZGVyb3Zlcj48L21waGFudG9tPjxtcHJlc2NyaXB0cy8+PC9tdWx0aXNjcmlwdHM+PG10cj48
L210cj48bWVycm9yPjwvbWVycm9yPiZsdDsKPG1zdHlsZT48L21zdHlsZT48bXRyPjwvbXRyPjxt
bXVsdGlzY3JpcHRzPjxtcGFkZGVkPjxtc3Vic3VwPjwvbXN1YnN1cD48L21wYWRkZWQ+PC9tdWx0
aXNjcmlwdHM+CjxtZXJyb3I+MjwvbWVycm9yPjxtcm9vdD48L21yb290PjI8bW11bHRpc2NyaXB0
cz48bXJvb3Q+PC9tcm9vdD48bXByZXNjcmlwdHMvPjwvbXVsdGlzY3JpcHRzPjwvbXVsdGlzY3Jp
cHRzPjI8L21yb290PiZsdDs8bXN1cD48L21zdXA+Jk1mcjsKPG1yb3c+PG11bmRlcm92ZXI+MjI8
L211bmRlcm92ZXI+PC9tcm93Pjxtcm93Pjxtc3ViPjxtcm9vdD48L21yb290PjwvbXN1Yj48bXN1
YnN1cD48bXN1cD48L21zdXA+CjxtZnJhYz48L21mcmFjPjwvbXN1YnN1cD4mTWZyOzI8L21yb3c+
PG1mcmFjPjxtZnJhYz54PG1zdWJzdXA+PC9tc3Vic3VwPjwvbWZyYWM+PC9tZnJhYz48bXRyPgo8
bXN1cD4qPG1yb290PjwvbXJvb3Q+PC9tc3VwPjwvbXRyPjxtdGQ+Jk1mcjs8L210ZD48bW92ZXI+
PG1yb290PjwvbXJvb3Q+PG1lcnJvcj55PC9tZXJyb3I+PG1tdWx0aXNjcmlwdHM+Jmx0OzxtdGFi
bGU+PG1yb290PjwvbXJvb3Q+PG1yb290PjwvbXJvb3Q+CjwvbXRhYmxlPgo8bXN0eWxlIHNjcmlw
dHNpemVtdWx0aXBsaWVyPSIyIiBiYWNrZ3JvdW5kPSJ0cmFuc3BhcmVudCIgc2NyaXB0c2l6ZW11
bHRpcGxpZXI9IjAuNSIgc2NyaXB0bGV2ZWw9IisxIiBiYWNrZ3JvdW5kPSJ0cmFuc3BhcmVudCIg
ZGlzcGxheXN0eWxlPSJmYWxzZSIgc2NyaXB0bWluc2l6ZT0iMXB0Ij4KPC9tc3R5bGU+PG1yb290
PjwvbXJvb3Q+PC9tdWx0aXNjcmlwdHM+Cjxtcm93PjwvbXJvdz5iYWQgdGFnOiA8ZnJhbWU8L21v
dmVyPjxtYWN0aW9uIGFjdGlvbnR5cGU9InRvZ2dsZSIgc2VsZWN0aW9uPSIxMjMiPik8L21hY3Rp
b24+PG10cj48L210cj48bXNxcnQ+CjxtZnJhYz48bXN0eWxlIGJhY2tncm91bmQ9InRyYW5zcGFy
ZW50IiBzY3JpcHRtaW5zaXplPSI4cHQiIHNjcmlwdGxldmVsPSIrMSIgc2NyaXB0bGV2ZWw9Ii0y
ImQgZGlzcGxheXN0eWxlPSJmYWxzZSIgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiIGNvbG9yPSJy
ZWQiIGJhY2tncm91bmQ9InRyYW5zcGFyZW50IiBiYWNrZ3JvdW5kPSJ0cmFuc3BhcmVudCIgc2Ny
aXB0c2l6ZW11bHRpcGxpZXI9IjAiIGNvbG9yPSJ5ZWxsb3ciIGJhY2tncm91bmQ9InRyYW5zcGFy
ZW50IiBzY3JpcHRtaW5zaXplPSIxcHQiIHNjcmlwdHNpemVtdWx0aXBsaWVyPSIyIiBjb2xvcj0i
YmxhY2siIHNjcmlwdGxldmVsPSItMiIgZGlzcGxheXN0eWxlPSJ0cnVlIiBzY3JpcHRtaW5zaXpl
PSI4cHQiIGRpc3BsYXlzdHlsZT0iZmFsc2UiIHNjcmlwdGxldmVsPSIrMSIgc2NyaXB0bWluc2l6
ZT0iMXB0IiBzY3JpcHRtaW5zaXplPSIxcHQiIGNvbG9yPSJyZWQiPgo8bXJvdz48L21yb3c+PC9t
c3R5bGU+PC9tZnJhYz48L21zcXJ0PjxtbXVsdGlzY3JpcHRzPjxtc3VwPjwvbXN1cD48L211bHRp
c2NyaXB0cz48bWZyYWM+PC9tZnJhYz48bXJvdz48bXVuZGVyb3Zlcj4KPG1hY3Rpb24gYWN0aW9u
dHlwZT0idG9nZ2xlIiBzZWxlY3Rpb249IjEyMyI+PC9tYWN0aW9uPjwvbXVuZGVyb3Zlcj48L21y
b3c+CjxtZnJhYz48bW11bHRpc2NyaXB0cz48bXVuZGVyb3Zlcj5iYWQgdGFnOiA8ZnJhbWU8bWZy
YWM+PC9tZnJhYz48L211bmRlcm92ZXI+PC9tdWx0aXNjcmlwdHM+PC9tZnJhYz4KPG11bmRlcj48
bXVuZGVyb3Zlcj48L211bmRlcm92ZXI+PG1zdHlsZSBkaXNwbGF5c3R5bGU9InRydWUiIHNjcmlw
dG1pbnNpemU9IjhwdCIgY29sb3I9InJlZCI+PC9tc3R5bGU+PC9tdW5kZXI+PG10ZD4mbHQ7PC9t
dGQ+PG1yb3c+Cjxtc3R5bGUgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiIHNjcmlwdG1pbnNpemU9
IjFwdCIgZGlzcGxheXN0eWxlPSJ0cnVlIiBkaXNwbGF5c3R5bGU9ImZhbHNlIiBzY3JpcHRsZXZl
bD0iKzIiIGNvbG9yPSJ5ZWxsb3ciIHNjcmlwdG1pbnNpemU9IjFwdCIgc2NyaXB0bWluc2l6ZT0i
MXB0IiBzY3JpcHRzaXplbXVsdGlwbGllcj0iMCIgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiIHNj
cmlwdGxldmVsPSIrMiIgc2NyaXB0bWluc2l6ZT0iMXB0IiBzY3JpcHRzaXplbXVsdGlwbGllcj0i
PC9tcm9vdD4wLjEiPgo8L21zdHlsZT48bXJvb3Q+PG1wYWRkZWQ+PG10ZD4gUUVEIDwvbXRkPjwv
bXBhZGRlZD48L21yb290PjI8L21yb3c+PG1mcmFjPjxtYWN0aW9uIGFjdGlvbnR5cGU9InRvZ2ds
ZSIgc2VsZWN0aW9uPSIxMjMiPjwvbWFjdGlvbj4KPG10ZD4yPC9tdGQ+IGhlaWdodD0iKzEwcHQi
PC9tZnJhYz48bWVycm9yPjI8L21lcnJvcj48bWVycm9yPnk8L21lcnJvcj48bWFjdGlvbiBhY3Rp
b250eXBlPSJ0b2dnbGUiIHNlbGVjdGlvbj0iMTIzIj48L21hY3Rpb24+Cjxtc3VwPjwvbXN1cD48
bXN0eWxlIGNvbG9yPSJibGFjayIgc2NyaXB0c2l6ZW11bHRpcGxpZXI9IjAiIGRpc3BsYXlzdHls
ZT0iZmFsc2UiIGRpc3BsYXlzdHlsZT0idHJ1ZSIgc2NyaXB0c2l6ZW11bHRpcGxpZXI9IjAuNSIg
c2NyaXB0bGV2ZWw9Ii0xIj48L21zdHlsZT4KPG1zdHlsZSBjb2xvcj0icmVkIiBjb2xvcj0iYmxh
Y2siIHNjcmlwdHNpemVtdWx0aXBsaWVyPSIwLjcxIiBzY3JpcHRtaW5zaXplPSIxcHQiIHNjcmlw
dG1pbnNpemU9IjFwdCIgY29sb3I9ImdyZWVuIiBkaXNwbGF5c3R5bGU9InRydWUiIGRpc3BsYXlz
dHlsZT0iZmFsc2UiIGRpc3BsYXlzdHlsZT0iZmFsc2UiIGJhY2tncm91bmQ9InRyYW5zcGFyZW50
Ij4KPG1zcXJ0Pjxtcm9vdD48L21yb290PjwvbXNxcnQ+PC9tc3R5bGU+PG1tdWx0aXNjcmlwdHM+
PG1lcnJvcj54PC9tZXJyb3I+PG10YWJsZT48bXJvb3Q+PC9tcm9vdD48bWZyYWM+PC9tZnJhYz48
L210YWJsZT4KPG1zdXA+PG1mcmFjPjwvbWZyYWM+PC9tc3VwPj08L211bHRpc2NyaXB0cz48bWFj
dGlvbiBhY3Rpb250eXBlPSJ0b2dnbGUiIHNlbGVjdGlvbj0iMTIzIj48bXJvdz48bWVycm9yPj08
L21lcnJvcj48L21yb3c+PC9tYWN0aW9uPgo8bXBhZGRlZCB3aWR0aD0iNDBlbSIgaGVpZ2h0PSIt
NXB0IiB3aWR0aD0iNDAgZGVwdGg9ImRlcHRoIiBkZXB0aD0iKzV4eHgiIGRlcHRoPSIxNjB4eHgi
Pjxtc3R5bGU+Mjxtc3FydD48bXN1Yj48bXJvb3Q+PC9tcm9vdD4KPG10ZD48L210ZD48L21zdWI+
PC9tc3FydD48L21zdHlsZT48L21wYWRkZWQ+PG1zdXA+PG1zcXJ0PjxtdW5kZXJvdmVyPjwvbXVu
ZGVyb3Zlcj48L21zcXJ0PjwvbXN1cD48bWZyYWM+PC9tZnJhYz4yPG11bmRlcm92ZXI+Cjxtc3Vw
PjwvbXN1cD48L211bmRlcm92ZXI+PG1mZW5jZWQ+PG1tdWx0aXNjcmlwdHM+Jk1mcjs8bWZlbmNl
ZD48L21mZW5jZWQ+Jmx0OzxtYWN0aW9uIGFjdGlvbnR5cGU9InRvZ2dsZSIgc2VsZWN0aW9uPSIx
MjMiPjwvbWFjdGlvbj4KPG1waGFudG9tPjxtdGQ+PTwvbXRkPjwvbXBoYW50b20+PG1lcnJvcj49
PC9tZXJyb3I+PC9tdWx0aXNjcmlwdHM+PC9tZmVuY2VkPgo8bXN0eWxlIHNjcmlwdG1pbnNpemU9
IjhwdCIgc2NyaXB0c2l6ZW11bHRpcGxpZXI9IjAuMSIgc2NyaXB0c2l6ZW11bHRpcGxpZXI9IjAu
NSIgY29sb3I9InllbGxvdyIgYmFja2dyb3VuZD0idHJhbnNwYXJlbnQiIGJhY2tncm91bmQ9InRy
YW5zcGFyZW50IiBzY3JpcHRtaW5zaXplPSIxcHQiPjwvbXN0eWxlPgo8bWZyYWM+PG10cj48L210
cj48L21mcmFjPjxtc3ViPjwvbXN1Yj48bW11bHRpc2NyaXB0cz48bXVuZGVyb3Zlcj48L211bmRl
cm92ZXI+eTxtcm93PjwvbXJvdz48L211bHRpc2NyaXB0cz4KPG1zdWJzdXA+PG1hY3Rpb24gYWN0
aW9udHlwZT0idG9nZ2xlIiBzZWxlY3Rpb249IjEyMyI+eTwvbWFjdGlvbj48bXJvb3Q+Cjxtc3R5
bGUgc2NyaXB0bGV2ZWw9IisxIiBkaXNwbGF5c3R5bGU9InRydWUiIHNjcmlwdHNpemVtdWx0aXBs
aWVyPSIyIiBzY3JpcHRsZXZlbD0iLTEiIHNjcmlwdHNpemVtdWx0aXBsaWVyPSIwLjcxIiBzY3Jp
cHRsZXZlbD0iKzEiPjxtcm9vdD48bXRkPjwvbXRkPjwvbXJvb3Q+CjwvbXN0eWxlPjxtZXJyb3I+
PTwvbWVycm9yPjwvbXJvb3Q+PG1lcnJvcj4mTWZyOzwvbWVycm9yPjwvbXN1YnN1cD48bWVycm9y
PjI8L21lcnJvcj48bXJvdz48L21yb3c+PG11bmRlcj4KPG1hY3Rpb24gYWN0aW9udHlwZT0idG9n
Z2xlIiBzZWxlY3Rpb249IjEyMyI+PC9tYWN0aW9uPjxtdGQ+PTwvbXRkPjwvbXVuZGVyPjxtbXVs
dGlzY3JpcHRzPjxtZnJhYz4KPG1mZW5jZWQ+PC9tZmVuY2VkPjwvbWZyYWM+PG1wcmVzY3JpcHRz
Lz48L211bHRpc2NyaXB0cz48bXRhYmxlPjwvbXRhYmxlPjxtbXVsdGlzY3JpcHRzPjI8bWZyYWM+
PG1vdmVyPjwvbW92ZXI+PC9tZnJhYz48bWVycm9yPiZsdDs8L21lcnJvcj4KPG1yb3c+PC9tcm93
PjxtZnJhYz48L21mcmFjPjxtcGFkZGVkIGhlaWdodD0iKzIweHh4IiB3aWR0aD0iLTIwZGVwdGg0
MGVtIiB3aWR0aD0iKzEwZW0iPjxtc3ViPjwvbXN1Yj48L21wYWRkZWQ+CjxtYWN0aW9uIGFjdGlv
bnR5cGU9InRvZ2dsZSIgc2VsZWN0aW9uPSIxMjMiPjxtZXJyb3I+IFFFRCA8L21lcnJvcj48L21h
Y3Rpb24+CjxtZnJhYz48bW11bHRpc2NyaXB0cz48bXJvdz48L21yb3c+MjxtcHJlc2NyaXB0cy8+
PC9tdWx0aXNjcmlwdHM+PC9tZnJhYz48L211bHRpc2NyaXB0cz48bW92ZXI+CjxtdHI+PC9tdHI+
PC9tb3Zlcj48bWZlbmNlZD48bXN1Yj4mTWZyOzwvbXN1Yj48L21mZW5jZWQ+PC9tdWx0aXNjcmlw
dHM+PG1zdHlsZT48bWVycm9yPjI8L21lcnJvcj48bXVuZGVyPi08bXN0eWxlPgo8bWVycm9yPj08
L21lcnJvcj48L21zdHlsZT48L211bmRlcj48bW11bHRpc2NyaXB0cz48bXRkPjI8L210ZD48bXRy
PjwvbXRyPjI8bWVycm9yPiZNZnI7PC9tZXJyb3I+PG10ZD4mbHQ7PC9tdGQ+PG1lcnJvcj54PC9t
ZXJyb3I+Cjxtb3Zlcj48L21vdmVyPiZNZnI7PG10ZD4yPC9tdGQ+PG1tdWx0aXNjcmlwdHM+PG1m
cmFjPjwvbWZyYWM+PG10ZD4yPC9tdGQ+PG10ZD55PC9tdGQ+PG1zdXA+PC9tc3VwPjxtcHJlc2Ny
aXB0cy8+PC9tdWx0aXNjcmlwdHM+PG1yb290Pgo8bWZyYWM+PC9tZnJhYz48L21yb290Pjxtb3Zl
cj48L21vdmVyPjxtc3FydD48bXRhYmxlPjwvbXRhYmxlPjwvbXNxcnQ+PG1zdWJzdXA+PC9tc3Vi
c3VwPjxtcm93PjwvbXJvdz48L211bHRpc2NyaXB0cz4KPG1hY3Rpb24gYWN0aW9udHlwZT0idG9n
Z2xlIiBzZWxlY3Rpb249IjEyMyI+PG1lcnJvcj4mTWZyOzwvbWVycm9yPjxtcm93PjxtdHI+PC9t
dHI+PC9tcm93PjwvbWFjdGlvbj48bXJvdz48bWZyYWM+XzwvbWZyYWM+CjxtZXJyb3I+PTwvbWVy
cm9yPjwvbXJvdz48bXN1cD48bXRkPjI8L210ZD48bWVycm9yPjI8L21lcnJvcj48L21zdXA+Mgo8
bXN0eWxlIGJhY2tncm91bmQ9InRyYW5zcGFyZW50IiBkaXNwbGF5c3R5bGU9ImZhbHNlIiBiYWNr
Z3JvdW5kPSJ0cmFuc3BhcmVudCIgZGlzcGxheXN0eWxlPSJmYWxzZSIgc2NyaXB0bWluc2l6ZT0i
OHB0IiBzY3JpcHRsZXZlbD0iKzEiPgo8L21zdHlsZT48bWVycm9yPnk8L21lcnJvcj48L21zdHls
ZT48L21hY3Rpb24+PC9tYXRoPgoKPC9ib2R5PjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131277</attachid>
            <date>2012-03-11 21:39:52 -0700</date>
            <delta_ts>2012-03-12 14:44:25 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>r80773msubanonymous.patch</filename>
            <type>text/plain</type>
            <size>6825</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">RnJvbSBmNmRjNTc0NTAzNzFlYjA2Y2NiZDVkNGQ3MmMxZDM0OTdkMTEyMTZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNreSBKaWFuZyA8emhhamlhbmdAcmltLmNvbT4KRGF0ZTog
U3VuLCAxMSBNYXIgMjAxMiAyMzo1NDoyNyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIE1hdGhNTCBj
cmFzaCBpbiBXZWJDb3JlOjpOb2RlOjpwcmV2aW91c1NpYmxpbmcoKQogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNzczCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KClNvdXJjZS9XZWJDb3JlOgoKV2hlbiBhZGRpbmcgY2hpbGQgZm9yIG1zdWIgcmVuZGVyLCBp
ZiB0aGUgY2hpbGQgaXMgbXRkIHJlbmRlciwgd2Ugd2lsbApjcmVhdCBhbiBhbm9ueW1vdXMgcmVu
ZGVyIGFzIHRoZSBjb250YWluZXIuIEFzIHRoZSBhbm9ueW1vdXMgcmVuZGVyJ3MKbm9kZSBpcyAw
LCBhY2Nlc3NpbmcgaXQgZGlyZWN0bHkgY2FuIGNhdXNlIGNyYXNoLgpXZSBzaG91bGQgZG8gYSB2
YWxpZCBjaGVjayBvZiB0aGUgbm9kZSBiZWZvcmUgdXNpbmcuIEluIGFkZGl0aW9uIHRvCnRoYXQs
IGZvciBtc3ViLCBjaGFuZ2UgdGhlIGRpc3BsYXkgc3R5bGUgb2YgdGhlIGFub255bW91cyByZW5k
ZXIgdG8KSU5MSU5FX1RBQkxFIGluIGFjY29yZCB3aXRoIHRoZSBzdHlsZSBvZiBtdGFibGUgcmVu
ZGVyIGFuZCBhdHRhY2gKdGhlIGFub255bW91cyByZW5kZXIgYW5kIGl0J3MgY2hpbGRyZW4gdG8g
cmVuZGVyIHRyZWUuIEZvciBtc3Vic3VwLApzdWNoIGtpbmQgb2Ygc2l0dWF0aW9uIHNob3VsZCBu
ZXZlciBoYXBwZW4gYmFzZWQgb24gdGhlIGN1cnJlbnQKY29kZWJhc2UuCgpUZXN0OiBtYXRobWwv
bXN1Yi1hbm9ueW1vdXMtYmxvY2stY3Jhc2guaHRtbAoKKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcDoKKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y3JlYXRlQW5vbnltb3VzVGFibGUpOgoqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcDoKKFdlYkNvcmU6OlJlbmRlck1h
dGhNTFN1YlN1cDo6YWRkQ2hpbGQpOgoKTGF5b3V0VGVzdHM6CgoqIG1hdGhtbC9tc3ViLWFub255
bW91cy1jaGlsZC1yZW5kZXItY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBtYXRobWwvbXN1
Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRl
c3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysr
KwogLi4uL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3RlZC50eHQgfCAg
ICAzICsrCiAuLi4vbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5odG1s
ICB8ICAgMTcgKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAyNCArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgICAgICAgfCAgICA1ICsrKy0KIC4u
Li9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAgICAgICAgIHwgICAgNiAr
KysrLQogNiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGls
ZC1yZW5kZXItY3Jhc2gtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5odG1sCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDBiMjlhMWMuLmRiY2FkMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0xMSAgSmFj
a3kgSmlhbmcgIDx6aGFqaWFuZ0ByaW0uY29tPgorCisgICAgICAgIE1hdGhNTCBjcmFzaCBpbiBX
ZWJDb3JlOjpOb2RlOjpwcmV2aW91c1NpYmxpbmcoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIG1hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5k
ZXItY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvbXN1Yi1hbm9u
eW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTExICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHI5MzYxNCk6IHNjcm9sbGluZyBkaXYgZG9lcyBub3QgcmVwYWludApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9tYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNy
YXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTAw
NDg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3Vz
LWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRl
c3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2guaHRtbCBiL0xheW91
dFRlc3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njk4ZDAyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5o
dG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKzxtYXRoIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIj4KKyAgICA8bXN1Yj4KKyAgICAgICAgPG1pPjwvbWk+
CisgICAgICAgIDxtdGQ+PC9tdGQ+CisgICAgPC9tc3ViPgorPC9tYXRoPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDZiYzUxZjQuLjk5OWE2YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAxMi0wMy0xMSAgSmFja3kgSmlhbmcgIDx6aGFqaWFuZ0ByaW0uY29tPgorCisg
ICAgICAgIE1hdGhNTCBjcmFzaCBpbiBXZWJDb3JlOjpOb2RlOjpwcmV2aW91c1NpYmxpbmcoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGFkZGlu
ZyBjaGlsZCBmb3IgbXN1YiByZW5kZXIsIGlmIHRoZSBjaGlsZCBpcyBtdGQgcmVuZGVyLCB3ZSB3
aWxsCisgICAgICAgIGNyZWF0IGFuIGFub255bW91cyByZW5kZXIgYXMgdGhlIGNvbnRhaW5lci4g
QXMgdGhlIGFub255bW91cyByZW5kZXIncworICAgICAgICBub2RlIGlzIDAsIGFjY2Vzc2luZyBp
dCBkaXJlY3RseSBjYW4gY2F1c2UgY3Jhc2guCisgICAgICAgIFdlIHNob3VsZCBkbyBhIHZhbGlk
IGNoZWNrIG9mIHRoZSBub2RlIGJlZm9yZSB1c2luZy4gSW4gYWRkaXRpb24gdG8KKyAgICAgICAg
dGhhdCwgZm9yIG1zdWIsIGNoYW5nZSB0aGUgZGlzcGxheSBzdHlsZSBvZiB0aGUgYW5vbnltb3Vz
IHJlbmRlciB0bworICAgICAgICBJTkxJTkVfVEFCTEUgaW4gYWNjb3JkIHdpdGggdGhlIHN0eWxl
IG9mIG10YWJsZSByZW5kZXIgYW5kIGF0dGFjaAorICAgICAgICB0aGUgYW5vbnltb3VzIHJlbmRl
ciBhbmQgaXQncyBjaGlsZHJlbiB0byByZW5kZXIgdHJlZS4gRm9yIG1zdWJzdXAsCisgICAgICAg
IHN1Y2gga2luZCBvZiBzaXR1YXRpb24gc2hvdWxkIG5ldmVyIGhhcHBlbiBiYXNlZCBvbiB0aGUg
Y3VycmVudAorICAgICAgICBjb2RlYmFzZS4KKworICAgICAgICBUZXN0OiBtYXRobWwvbXN1Yi1h
bm9ueW1vdXMtYmxvY2stY3Jhc2guaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNyZWF0ZUFub255bW91
c1RhYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxTdWJTdXA6OmFkZENoaWxkKToKKwog
MjAxMi0wMy0xMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExMDM1OS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZmJlNDUyNS4uNDZhNjljZCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI2OSw3ICsyNjksMTAg
QEAgc3RhdGljIGJvb2wgaXNCZWZvcmVBZnRlckNvbnRlbnRHZW5lcmF0ZWRCeUFuY2VzdG9yKFJl
bmRlck9iamVjdCogcmVuZGVyZXIsIFJlbmQKIFJlbmRlclRhYmxlKiBSZW5kZXJPYmplY3Q6OmNy
ZWF0ZUFub255bW91c1RhYmxlKCkgY29uc3QKIHsKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG5l
d1N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255bW91c1N0eWxlKHN0eWxlKCkpOwotICAg
IG5ld1N0eWxlLT5zZXREaXNwbGF5KFRBQkxFKTsKKyAgICBpZiAoIXN0cmNtcChyZW5kZXJOYW1l
KCksICJSZW5kZXJNYXRoTUxTdWJTdXAiKSkKKyAgICAgICAgbmV3U3R5bGUtPnNldERpc3BsYXko
SU5MSU5FX1RBQkxFKTsKKyAgICBlbHNlCisgICAgICAgIG5ld1N0eWxlLT5zZXREaXNwbGF5KFRB
QkxFKTsKIAogICAgIFJlbmRlclRhYmxlKiB0YWJsZSA9IG5ldyAocmVuZGVyQXJlbmEoKSkgUmVu
ZGVyVGFibGUoZG9jdW1lbnQoKSAvKiBpcyBhbm9ueW1vdXMgKi8pOwogICAgIHRhYmxlLT5zZXRT
dHlsZShuZXdTdHlsZS5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwCmluZGV4IDg0OTI4ZDQuLmM3MWNi
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MU3ViU3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFN1YlN1cC5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxTdWJT
dXA6OmFkZENoaWxkKFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hp
bGQKICAgICAvLyBOb3RlOiBUaGUgUmVuZGVyTWF0aE1MQmxvY2sgb25seSBhbGxvd3MgZWxlbWVu
dCBjaGlsZHJlbiB0byBiZSBhZGRlZC4KICAgICBFbGVtZW50KiBjaGlsZEVsZW1lbnQgPSB0b0Vs
ZW1lbnQoY2hpbGQtPm5vZGUoKSk7CiAKLSAgICBpZiAoIWNoaWxkRWxlbWVudC0+cHJldmlvdXNF
bGVtZW50U2libGluZygpKSB7CisgICAgaWYgKGNoaWxkRWxlbWVudCAmJiAhY2hpbGRFbGVtZW50
LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKICAgICAgICAgLy8gUG9zaXRpb24gMSBpcyBh
bHdheXMgdGhlIGJhc2Ugb2YgdGhlIG1zdWIvbXN1cC9tc3Vic3VwLgogICAgICAgICBSZW5kZXJN
YXRoTUxCbG9jayogd3JhcHBlciA9IG5ldyAocmVuZGVyQXJlbmEoKSkgUmVuZGVyTWF0aE1MQmxv
Y2sobm9kZSgpKTsKICAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiB3cmFwcGVyU3R5bGUgPSBS
ZW5kZXJTdHlsZTo6Y3JlYXRlKCk7CkBAIC05NSw2ICs5NSwxMCBAQCB2b2lkIFJlbmRlck1hdGhN
TFN1YlN1cDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZv
cmVDaGlsZAogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKG1fa2luZCA9PSBT
dWJTdXApIHsKKyAgICAgICAgICAgIEFTU0VSVChjaGlsZEVsZW1lbnQpOworICAgICAgICAgICAg
aWYgKCFjaGlsZEVsZW1lbnQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAg
ICBSZW5kZXJCbG9jayogc2NyaXB0ID0gbmV3IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJNYXRoTUxC
bG9jayhub2RlKCkpOwogICAgICAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBzY3JpcHRTdHls
ZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKICAgICAgICAgICAgIHNjcmlwdFN0eWxlLT5pbmhl
cml0RnJvbShtX3NjcmlwdHMtPnN0eWxlKCkpOwotLSAKMS43LjUuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131416</attachid>
            <date>2012-03-12 14:44:36 -0700</date>
            <delta_ts>2012-03-12 16:57:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80773-20120312174353.patch</filename>
            <type>text/plain</type>
            <size>7138</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0ZDlmM2MxZjY1MGE2
MTgyMzczM2NiNDU0ZjAxNDkzZWYwMGE4NS4uM2E1ZGM2MGQ4YWFjMjczYmU4N2VlNWYwMWVjOTEx
ZTA2N2RiNzNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAzLTEyICBKYWNr
eSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0aE1MIGNyYXNoIGluIFdl
YkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGNoaWxkIGZvciBtc3ViIHJlbmRlciwg
aWYgdGhlIGNoaWxkIGlzIG10ciBvciBtdGQgcmVuZGVyLAorICAgICAgICB3ZSB3aWxsIGNyZWF0
IGFuIGFub255bW91cyByZW5kZXIgYXMgdGhlIGNvbnRhaW5lci4gQXMgdGhlIGFub255bW91cwor
ICAgICAgICByZW5kZXIncyBub2RlIGlzIDAsIGFjY2Vzc2luZyBpdCBkaXJlY3RseSBjYW4gY2F1
c2UgY3Jhc2guCisgICAgICAgIFdlIHNob3VsZCBkbyBhIHZhbGlkIGNoZWNrIG9mIHRoZSBub2Rl
IGJlZm9yZSB1c2luZy4gSW4gYWRkaXRpb24gdG8KKyAgICAgICAgdGhhdCwgZm9yIG1zdWIsIGFk
ZCBuZWVkc0lubGluZVRhYmxlKCkgYW5kIHJldHVybiB0cnVlIGZvcgorICAgICAgICBSZW5kZXJN
YXRoTUxCbG9jaywgY2hhbmdlIHRoZSBkaXNwbGF5IHN0eWxlIG9mIHRoZSBhbm9ueW1vdXMgcmVu
ZGVyIHRvCisgICAgICAgIElOTElORV9UQUJMRSBpbiBhY2NvcmQgd2l0aCB0aGUgc3R5bGUgb2Yg
bXRhYmxlIHJlbmRlciBhbmQgYXR0YWNoCisgICAgICAgIHRoZSBhbm9ueW1vdXMgcmVuZGVyIGFu
ZCBpdCdzIGNoaWxkcmVuIHRvIHJlbmRlciB0cmVlLiAgRm9yIG1zdWJzdXAsCisgICAgICAgIHN1
Y2gga2luZCBvZiBzaXR1YXRpb24gc2hvdWxkIG5ldmVyIGhhcHBlbiBiYXNlZCBvbiB0aGUgY3Vy
cmVudAorICAgICAgICBjb2RlYmFzZS4KKworICAgICAgICBUZXN0OiBtYXRobWwvbXN1Yi1hbm9u
eW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpjcmVhdGVBbm9u
eW1vdXNUYWJsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpuZWVkc0lubGluZVRhYmxlKToKKyAgICAgICAgKFJl
bmRlck9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9j
ay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MQmxvY2s6Om5lZWRzSW5saW5lVGFi
bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQpOgorCiAyMDEy
LTAzLTEyICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZS1hcHBseSB0aGUgcGF0Y2ggYWZ0ZXIgdjggcm9sbCB0byByMTEwMDAuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGZiZTQ1MjU3N2Q5YjE3OTI0Y2Mx
N2RhNzU1NDFjYTFlNDAyN2IzOTkuLjZjNTFlMGNjZDdiYTQzMjc0OWJmZjgzOWI0NzNjZGEzMWIz
ZTNjMTEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0y
NjksNyArMjY5LDEwIEBAIHN0YXRpYyBib29sIGlzQmVmb3JlQWZ0ZXJDb250ZW50R2VuZXJhdGVk
QnlBbmNlc3RvcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBSZW5kCiBSZW5kZXJUYWJsZSogUmVu
ZGVyT2JqZWN0OjpjcmVhdGVBbm9ueW1vdXNUYWJsZSgpIGNvbnN0CiB7CiAgICAgUmVmUHRyPFJl
bmRlclN0eWxlPiBuZXdTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZShz
dHlsZSgpKTsKLSAgICBuZXdTdHlsZS0+c2V0RGlzcGxheShUQUJMRSk7CisgICAgaWYgKG5lZWRz
SW5saW5lVGFibGUoKSkKKyAgICAgICAgbmV3U3R5bGUtPnNldERpc3BsYXkoSU5MSU5FX1RBQkxF
KTsKKyAgICBlbHNlCisgICAgICAgIG5ld1N0eWxlLT5zZXREaXNwbGF5KFRBQkxFKTsKIAogICAg
IFJlbmRlclRhYmxlKiB0YWJsZSA9IG5ldyAocmVuZGVyQXJlbmEoKSkgUmVuZGVyVGFibGUoZG9j
dW1lbnQoKSAvKiBpcyBhbm9ueW1vdXMgKi8pOwogICAgIHRhYmxlLT5zZXRTdHlsZShuZXdTdHls
ZS5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4
IDYwZTJhNDAzY2Y1M2M0NTk2Y2M3MTExNDRhZjQ5OGRiODZmN2MxYzcuLjMyMjk1ZGE2NmUzYTZh
OTRkYzRhZGM1MTljODVlZWY3ZTQzZDI2MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKQEAgLTg0OSw2ICs4NDksOCBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJuIHRo
ZSByZW5kZXJlciB3aG9zZSBiYWNrZ3JvdW5kIHN0eWxlIGlzIHVzZWQgdG8gcGFpbnQgdGhlIHJv
b3QgYmFja2dyb3VuZC4gU2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIHRoZSByZW5kZXJlciBmb3Ig
d2hpY2ggaXNSb290KCkgaXMgdHJ1ZS4KICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyRm9yUm9v
dEJhY2tncm91bmQoKTsKIAorICAgIHZpcnR1YWwgYm9vbCBuZWVkc0lubGluZVRhYmxlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKwogcHJvdGVjdGVkOgogICAgIGlubGluZSBib29sIGxheWVy
Q3JlYXRpb25BbGxvd2VkRm9yU3VidHJlZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKaW5kZXggNWQ0ZDc4MGVk
ZGRkNzVlNjE4YzA0OGUwMGQ1OGRkN2RlMjY4MjRjZS4uYTQwZDg1ZjE3ZDcxODEwYmVjNDcwZDI4
ZTBhODM1OGIxOTM3ZmYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjE3LgogICAgIHZp
cnR1YWwgUmVuZGVyTWF0aE1MT3BlcmF0b3IqIHVuZW1iZWxsaXNoZWRPcGVyYXRvcigpIHsgcmV0
dXJuIDA7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RyZXRjaFRvSGVpZ2h0KGludCBoZWlnaHQpOwor
ICAgIHZpcnR1YWwgYm9vbCBuZWVkc0lubGluZVRhYmxlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogCiAjaWYgRU5BQkxFKERFQlVHX01BVEhfTEFZT1VUKQogICAgIHZpcnR1YWwgdm9pZCBwYWlu
dChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwCmluZGV4IDg0OTI4
ZDRiNDhlYjNjMjdjYWVlZDQ1Zjc4YzliNDMyZDgyMjcyNDIuLmM3MWNiZDljNDY4YzFjMTY2ODA4
NjhiYmJmYjU0MWZhNGQ5MmI0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9p
ZCBSZW5kZXJNYXRoTUxTdWJTdXA6OmFkZENoaWxkKFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQKICAgICAvLyBOb3RlOiBUaGUgUmVuZGVyTWF0aE1MQmxvY2sg
b25seSBhbGxvd3MgZWxlbWVudCBjaGlsZHJlbiB0byBiZSBhZGRlZC4KICAgICBFbGVtZW50KiBj
aGlsZEVsZW1lbnQgPSB0b0VsZW1lbnQoY2hpbGQtPm5vZGUoKSk7CiAKLSAgICBpZiAoIWNoaWxk
RWxlbWVudC0+cHJldmlvdXNFbGVtZW50U2libGluZygpKSB7CisgICAgaWYgKGNoaWxkRWxlbWVu
dCAmJiAhY2hpbGRFbGVtZW50LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKICAgICAgICAg
Ly8gUG9zaXRpb24gMSBpcyBhbHdheXMgdGhlIGJhc2Ugb2YgdGhlIG1zdWIvbXN1cC9tc3Vic3Vw
LgogICAgICAgICBSZW5kZXJNYXRoTUxCbG9jayogd3JhcHBlciA9IG5ldyAocmVuZGVyQXJlbmEo
KSkgUmVuZGVyTWF0aE1MQmxvY2sobm9kZSgpKTsKICAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxl
PiB3cmFwcGVyU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y3JlYXRlKCk7CkBAIC05NSw2ICs5NSwxMCBA
QCB2b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwg
UmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgaWYgKG1fa2luZCA9PSBTdWJTdXApIHsKKyAgICAgICAgICAgIEFTU0VSVChjaGlsZEVsZW1l
bnQpOworICAgICAgICAgICAgaWYgKCFjaGlsZEVsZW1lbnQpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworCiAgICAgICAgICAgICBSZW5kZXJCbG9jayogc2NyaXB0ID0gbmV3IChyZW5kZXJBcmVu
YSgpKSBSZW5kZXJNYXRoTUxCbG9jayhub2RlKCkpOwogICAgICAgICAgICAgUmVmUHRyPFJlbmRl
clN0eWxlPiBzY3JpcHRTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKICAgICAgICAgICAg
IHNjcmlwdFN0eWxlLT5pbmhlcml0RnJvbShtX3NjcmlwdHMtPnN0eWxlKCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJh
MzU2N2NlNDgyZmExZTE1OThhNjU3OGU0NGJmZTA3OWQ5NmQ4YWUuLjlmMDBjZjE4NWIyMWVhNTdl
OTc0Nzk5ZDgzZjk1ZDlmOTY0YTMwMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0x
MiAgSmFja3kgSmlhbmcgIDx6aGFqaWFuZ0ByaW0uY29tPgorCisgICAgICAgIE1hdGhNTCBjcmFz
aCBpbiBXZWJDb3JlOjpOb2RlOjpwcmV2aW91c1NpYmxpbmcoKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1hdGhtbC9tc3ViLWFub255bW91cy1jaGls
ZC1yZW5kZXItY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvbXN1
Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTEy
ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBS
RUdSRVNTSU9OKHIxMTA0MDEpOiBmYXN0L3RhYmxlL3RhYmxlLXJvdy1jb21wb3NpdGluZy1yZXBh
aW50LWNyYXNoLmh0bWwgYXNzZXJ0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL21z
dWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9tYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40OTAwNDg2OGZmNWQyYjQzYzg4ZWRiMmZiYTFmNzY5MjgzNTIwZGJhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJl
bmRlci1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgcGFzc2Vz
IGlmIGl0IGRvZXMgbm90IGNyYXNoLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGht
bC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL21h
dGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MDc5YjY1MmJmNjQzYTAxZmQxNTM1NWZiYmRiMjFlNjBlYmU2YWViCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5o
dG1sCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKzxtYXRoIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIj4KKyAgICA8bXN1Yj4KKyAgICAgICAgPG1pPjwvbWk+
CisgICAgICAgIDxtdHI+PC9tdHI+CisgICAgPC9tc3ViPgorICAgIDxtc3ViPgorICAgICAgICA8
bWk+PC9taT4KKyAgICAgICAgPG10ZD48L210ZD4KKyAgICA8L21zdWI+Cis8L21hdGg+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131454</attachid>
            <date>2012-03-12 16:57:22 -0700</date>
            <delta_ts>2012-03-13 11:35:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80773-20120312195638.patch</filename>
            <type>text/plain</type>
            <size>4647</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0ZDlmM2MxZjY1MGE2
MTgyMzczM2NiNDU0ZjAxNDkzZWYwMGE4NS4uZWI1OTg3ZTQxMmQ5ZmZiMDZiMDk3Yzg3N2MxZmY4
YmU0ZWQ4MmNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTEyICBKYWNr
eSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0aE1MIGNyYXNoIGluIFdl
YkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGNoaWxkIGZvciBtc3ViIHJlbmRlciwg
aWYgdGhlIGNoaWxkIGlzIG10ciBvciBtdGQgcmVuZGVyLAorICAgICAgICB3ZSB3aWxsIGNyZWF0
IGFuIGFub255bW91cyByZW5kZXIgYXMgdGhlIGNvbnRhaW5lci4gQXMgdGhlIGFub255bW91cwor
ICAgICAgICByZW5kZXIncyBub2RlIGlzIDAsIGFjY2Vzc2luZyBpdCBkaXJlY3RseSBjYW4gY2F1
c2UgY3Jhc2guCisgICAgICAgIFdlIHNob3VsZCBkbyBhIHZhbGlkIGNoZWNrIG9mIHRoZSBub2Rl
IGJlZm9yZSB1c2luZy4gSW4gYWRkaXRpb24gdG8KKyAgICAgICAgdGhhdCwgZm9yIG1zdWIsIGF0
dGFjaCB0aGUgYW5vbnltb3VzIHJlbmRlciBhbmQgaXQncyBjaGlsZHJlbiB0byByZW5kZXIKKyAg
ICAgICAgdHJlZS4gRm9yIG1zdWJzdXAsIHN1Y2gga2luZCBvZiBzaXR1YXRpb24gc2hvdWxkIG5l
dmVyIGhhcHBlbiBiYXNlZCBvbgorICAgICAgICB0aGUgY3VycmVudCBjb2RlYmFzZS4KKworICAg
ICAgICBUZXN0OiBtYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQpOgorCiAyMDEyLTAz
LTEyICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZS1hcHBseSB0aGUgcGF0Y2ggYWZ0ZXIgdjggcm9sbCB0byByMTEwMDAuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAKaW5k
ZXggODQ5MjhkNGI0OGViM2MyN2NhZWVkNDVmNzhjOWI0MzJkODIyNzI0Mi4uYzcxY2JkOWM0Njhj
MWMxNjY4MDg2OGJiYmZiNTQxZmE0ZDkyYjQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcApAQCAtNjgsNyArNjgs
NyBAQCB2b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGls
ZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAgIC8vIE5vdGU6IFRoZSBSZW5kZXJNYXRo
TUxCbG9jayBvbmx5IGFsbG93cyBlbGVtZW50IGNoaWxkcmVuIHRvIGJlIGFkZGVkLgogICAgIEVs
ZW1lbnQqIGNoaWxkRWxlbWVudCA9IHRvRWxlbWVudChjaGlsZC0+bm9kZSgpKTsKIAotICAgIGlm
ICghY2hpbGRFbGVtZW50LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKKyAgICBpZiAoY2hp
bGRFbGVtZW50ICYmICFjaGlsZEVsZW1lbnQtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKSkgewog
ICAgICAgICAvLyBQb3NpdGlvbiAxIGlzIGFsd2F5cyB0aGUgYmFzZSBvZiB0aGUgbXN1Yi9tc3Vw
L21zdWJzdXAuCiAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrKiB3cmFwcGVyID0gbmV3IChyZW5k
ZXJBcmVuYSgpKSBSZW5kZXJNYXRoTUxCbG9jayhub2RlKCkpOwogICAgICAgICBSZWZQdHI8UmVu
ZGVyU3R5bGU+IHdyYXBwZXJTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKQEAgLTk1LDYg
Kzk1LDEwIEBAIHZvaWQgUmVuZGVyTWF0aE1MU3ViU3VwOjphZGRDaGlsZChSZW5kZXJPYmplY3Qq
IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkCiAgICAgICAgIH0KICAgICB9IGVsc2Ug
ewogICAgICAgICBpZiAobV9raW5kID09IFN1YlN1cCkgeworICAgICAgICAgICAgQVNTRVJUKGNo
aWxkRWxlbWVudCk7CisgICAgICAgICAgICBpZiAoIWNoaWxkRWxlbWVudCkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBzY3JpcHQgPSBuZXcgKHJl
bmRlckFyZW5hKCkpIFJlbmRlck1hdGhNTEJsb2NrKG5vZGUoKSk7CiAgICAgICAgICAgICBSZWZQ
dHI8UmVuZGVyU3R5bGU+IHNjcmlwdFN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAg
ICAgICAgICAgc2NyaXB0U3R5bGUtPmluaGVyaXRGcm9tKG1fc2NyaXB0cy0+c3R5bGUoKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYmEzNTY3Y2U0ODJmYTFlMTU5OGE2NTc4ZTQ0YmZlMDc5ZDk2ZDhhZS4uOWYwMGNmMTg1
YjIxZWE1N2U5NzQ3OTlkODNmOTVkOWY5NjRhMzAwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTAzLTEyICBKYWNreSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0
aE1MIGNyYXNoIGluIFdlYkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWF0aG1sL21zdWItYW5vbnlt
b3VzLWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1h
dGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2guaHRtbDogQWRkZWQuCisKIDIw
MTItMDMtMTIgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbUXRdIFJFR1JFU1NJT04ocjExMDQwMSk6IGZhc3QvdGFibGUvdGFibGUtcm93LWNvbXBvc2l0
aW5nLXJlcGFpbnQtY3Jhc2guaHRtbCBhc3NlcnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2gtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ5MDA0ODY4ZmY1ZDJiNDNjODhlZGIyZmJhMWY3NjkyODM1MjBk
YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvbXN1Yi1hbm9ueW1vdXMt
Y2hpbGQtcmVuZGVyLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY0MTYyOWY5NjM2Y2QwOGFlZDBlYzc1OTgwN2U0YTgyMTEwMjMwYmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVy
LWNyYXNoLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guPC9wPgorPG1hdGggeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiPgorICAgIDxtc3ViPgorICAgICAgICA8
bWk+PC9taT4KKyAgICAgICAgPG10cj48L210cj4KKyAgICA8L21zdWI+CisgICAgPG1zdWI+Cisg
ICAgICAgIDxtaT48L21pPgorICAgICAgICA8bXRkPjwvbXRkPgorICAgIDwvbXN1Yj4KKyAgICA8
bXN1YnN1cD4KKyAgICAgICAgPG1pPjwvbWk+CisgICAgICAgIDxtdHI+PC9tdHI+CisgICAgICAg
IDxtbj48L21uPgorICAgIDwvbXN1YnN1cD4KKyAgICA8bXN1YnN1cD4KKyAgICAgICAgPG1pPjwv
bWk+CisgICAgICAgIDxtdGQ+PC9tdGQ+CisgICAgICAgIDxtbj48L21uPgorICAgIDwvbXN1YnN1
cD4KKzwvbWF0aD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131620</attachid>
            <date>2012-03-13 08:30:18 -0700</date>
            <delta_ts>2012-03-13 08:30:18 -0700</delta_ts>
            <desc>html-anonymous-render-child</desc>
            <filename>layout-test-normal.html</filename>
            <type>text/html</type>
            <size>273</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgogICAgZnVuY3Rpb24gcmVtb3ZlTXRkQ2hpbGQoKSB7CiAg
ICAgICAgdmFyIG1zdWIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlkaXYiKTsKICAgICAg
ICBtc3ViLnJlbW92ZUNoaWxkKG1zdWIuY2hpbGROb2Rlc1sxXSk7CiAgICB9Cjwvc2NyaXB0PgoK
PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgb25sb2FkPSJyZW1vdmVNdGRDaGlsZCgpIj4KPGRpdiBp
ZD0ibXlkaXYiPjxwPnRlc3Q8L3A+MzwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131624</attachid>
            <date>2012-03-13 08:37:58 -0700</date>
            <delta_ts>2012-03-13 08:37:58 -0700</delta_ts>
            <desc>the pretty-diff</desc>
            <filename>layout-test-normal-pretty-diff.html</filename>
            <type>text/html</type>
            <size>8594</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">PHN0eWxlPgo6bGluaywgOnZpc2l0ZWQgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAg
Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsKfQoKOmxpbmsgewogICAgY29sb3I6ICMwMzk7Cn0K
Ci5GaWxlRGlmZiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OwogICAgYm9yZGVyOiAx
cHggc29saWQgI2RkZDsKICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICBtYXJnaW46IDFl
bSAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgpoMSB7CiAgICBjb2xvcjogIzMzMzsKICAg
IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxZW07CiAgICBtYXJnaW4t
bGVmdDogMC41ZW07CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogICAgd2lkdGg6IDEwMCU7CiAg
ICBwYWRkaW5nOiAwLjVlbTsKfQoKaDEgOmxpbmssIGgxIDp2aXNpdGVkIHsKICAgIGNvbG9yOiBp
bmhlcml0Owp9CgpoMSA6aG92ZXIgewogICAgY29sb3I6ICM1NTU7CiAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZWVlOwp9CgouRGlmZkxpbmtzIHsKICAgIGZsb2F0OiByaWdodDsKfQoKLkZpbGVEaWZm
TGlua0NvbnRhaW5lciB7CiAgICBvcGFjaXR5OiAwOwogICAgZGlzcGxheTogdGFibGUtY2VsbDsK
ICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLkRp
ZmZTZWN0aW9uIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogICAgYm9yZGVyOiBzb2xp
ZCAjZGRkOwogICAgYm9yZGVyLXdpZHRoOiAxcHggMHB4Owp9CgouRXhwYW5zaW9uTGluZSwgLkxp
bmVDb250YWluZXIgewogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLnNpZGVieXNpZGUgLkRp
ZmZCbG9ja1BhcnQuYWRkOmZpcnN0LWNoaWxkIHsKICAgIGZsb2F0OiByaWdodDsKfQoKLkxpbmVT
aWRlLAouc2lkZWJ5c2lkZSAuRGlmZkJsb2NrUGFydC5yZW1vdmUsCi5zaWRlYnlzaWRlIC5EaWZm
QmxvY2tQYXJ0LmFkZCB7CiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgIHdpZHRoOiA1MCU7
CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwp9Cgouc2lkZWJ5c2lkZSAucmVzaXplSGFuZGxlIHsK
ICAgIHdpZHRoOiA1cHg7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBjdXJzb3I6IG1vdmU7CiAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiA1MCU7Cn0KCi5zaWRlYnlz
aWRlIC5yZXNpemVIYW5kbGU6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKICAg
IG9wYWNpdHk6IDAuNTsKfQoKLnNpZGVieXNpZGUgLkRpZmZCbG9ja1BhcnQucmVtb3ZlIC50bywK
LnNpZGVieXNpZGUgLkRpZmZCbG9ja1BhcnQuYWRkIC5mcm9tIHsKICAgIGRpc3BsYXk6IG5vbmU7
Cn0KCi5saW5lTnVtYmVyLCAuZXhwYW5zaW9uTGluZU51bWJlciB7CiAgICBib3JkZXItYm90dG9t
OiAxcHggc29saWQgIzk5ODsKICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7CiAgICBj
b2xvcjogIzQ0NDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmc6IDFweCA1
cHggMHB4IDBweDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgdmVydGljYWwtYWxpZ246IGJv
dHRvbTsKICAgIHdpZHRoOiAzZW07Cn0KCi5saW5lTnVtYmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9y
OiAjZWVkOwp9CgouZXhwYW5zaW9uTGluZU51bWJlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Vl
ZTsKfQoKLnRleHQgewogICAgcGFkZGluZy1sZWZ0OiA1cHg7CiAgICB3aGl0ZS1zcGFjZTogcHJl
LXdyYXA7CiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7Cn0KCi5pbWFnZSB7CiAgICBib3JkZXI6
IDJweCBzb2xpZCBibGFjazsKfQoKLmNvbnRleHQsIC5jb250ZXh0IC5saW5lTnVtYmVyIHsKICAg
IGNvbG9yOiAjODQ5OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjsKfQoKLkxpbmUuYWRkLCAu
RmlsZURpZmYgLmFkZCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkOwp9CgouTGluZS5hZGQg
aW5zIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTk7CiAgICB0ZXh0LWRlY29yYXRpb246IG5v
bmU7Cn0KCi5MaW5lLnJlbW92ZSwgLkZpbGVEaWZmIC5yZW1vdmUgewogICAgYmFja2dyb3VuZC1j
b2xvcjogI2ZkZDsKfQoKLkxpbmUucmVtb3ZlIGRlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAj
ZTk5OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgovKiBTdXBwb3J0IGZvciBpbmxpbmUg
Y29tbWVudHMgKi8KCi5hdXRob3IgewogIGZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKLmNvbW1lbnQg
ewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmNvbW1lbnQgdGV4dGFyZWEgewogIGhlaWdodDog
NmVtOwp9Cgoub3ZlcmFsbENvbW1lbnRzIHRleHRhcmVhIHsKICBoZWlnaHQ6IDJlbTsKICBtYXgt
d2lkdGg6IDEwMCU7Cn0KCi5jb21tZW50IHRleHRhcmVhLCAub3ZlcmFsbENvbW1lbnRzIHRleHRh
cmVhIHsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTAwJTsKfQoKLm92ZXJhbGxDb21tZW50
cyAub3BlbiB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgLjJzOwogIGhlaWdodDogNGVt
Owp9Cgojc3RhdHVzQnViYmxlQ29udGFpbmVyLndyYXAgewogIGRpc3BsYXk6IGJsb2NrOwp9Cgpi
b2R5IHsKICBtYXJnaW4tYm90dG9tOiA0MHB4Owp9CgojdG9vbGJhciB7CiAgZGlzcGxheTogLXdl
YmtpdC1ib3g7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgcGFkZGluZzogM3B4OwogIGxlZnQ6IDA7
CiAgcmlnaHQ6IDA7CiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICBiYWNrZ3JvdW5kLWNvbG9y
OiAjZWVlOwogIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOwogIHBvc2l0aW9uOiBmaXhlZDsKfQoK
I3Rvb2xiYXIuYW5jaG9yZWQgewogIGJvdHRvbTogMDsKfQoKI3Rvb2xiYXIgLmFjdGlvbnMgewog
IGZsb2F0OiByaWdodDsKfQoKLndpbnRlciB7CiAgcG9zaXRpb246IGZpeGVkOwogIHotaW5kZXg6
IDU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgYm90dG9tOiAwOwogIGJhY2tn
cm91bmQtY29sb3I6IGJsYWNrOwogIG9wYWNpdHk6IDAuODsKfQoKLmluYWN0aXZlIHsKICBkaXNw
bGF5OiBub25lOwp9CgoubGlnaHRib3ggewogIHBvc2l0aW9uOiBmaXhlZDsKICB6LWluZGV4OiA2
OwogIGxlZnQ6IDEwJTsKICByaWdodDogMTAlOwogIHRvcDogMTAlOwogIGJvdHRvbTogMTAlOwog
IGJhY2tncm91bmQ6IHdoaXRlOwp9CgoubGlnaHRib3ggaWZyYW1lIHsKICB3aWR0aDogMTAwJTsK
ICBoZWlnaHQ6IDEwMCU7Cn0KCi5jb21tZW50Q29udGV4dCAubGluZU51bWJlciB7CiAgYmFja2dy
b3VuZC1jb2xvcjogeWVsbG93Owp9Cgouc2VsZWN0ZWQgLmxpbmVOdW1iZXIgewogIGJhY2tncm91
bmQtY29sb3I6ICM2OUY7CiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzY5RjsKICBib3JkZXItcmln
aHQtY29sb3I6ICM2OUY7Cn0KCi5FeHBhbmRMaW5rQ29udGFpbmVyIHsKICBvcGFjaXR5OiAwOwog
IGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAj
ZGRkOwp9CgouRXhwYW5kQXJlYSB7CiAgbWFyZ2luOiAwOwp9CgouRXhwYW5kVGV4dCB7CiAgbWFy
Z2luLWxlZnQ6IDAuNjdlbTsKfQoKLkxpbmtDb250YWluZXIgewogIGZvbnQtZmFtaWx5OiBzYW5z
LXNlcmlmOwogIGZvbnQtc2l6ZTogc21hbGw7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIC13ZWJr
aXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOwp9CgouTGlua0NvbnRhaW5lciBhIHsKICBib3Jk
ZXI6IDA7Cn0KCi5MaW5rQ29udGFpbmVyIGE6YWZ0ZXIgewogIGNvbnRlbnQ6ICIgfCAiOwogIGNv
bG9yOiBibGFjazsKfQoKLkxpbmtDb250YWluZXIgYTpsYXN0LW9mLXR5cGU6YWZ0ZXIgewogIGNv
bnRlbnQ6ICIiOwp9CgouaGVscCB7CiBjb2xvcjogZ3JheTsKIGZvbnQtc3R5bGU6IGl0YWxpYzsK
fQoKI21lc3NhZ2UgewogIGZvbnQtc2l6ZTogc21hbGw7CiAgZm9udC1mYW1pbHk6IHNhbnMtc2Vy
aWY7Cn0KCi5jb21tZW50U3RhdHVzIHsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KCi5jb21tZW50
LCAucHJldmlvdXNDb21tZW50LCAuZnJvemVuQ29tbWVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjog
I2ZmZDsKfQoKLm92ZXJhbGxDb21tZW50cyB7CiAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAtbW96
LWJveC1mbGV4OiAxOwogIG1hcmdpbi1yaWdodDogM3B4Owp9CgoucHJldmlvdXNDb21tZW50LCAu
ZnJvemVuQ29tbWVudCB7CiAgYm9yZGVyOiBpbnNldCAxcHg7CiAgcGFkZGluZzogNXB4OwogIHdo
aXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKLmNvbW1lbnQgYnV0dG9uIHsKICB3aWR0aDogNmVtOwp9
CgpkaXY6Zm9jdXMgewogIG91dGxpbmU6IDFweCBzb2xpZCBibHVlOwogIG91dGxpbmUtb2Zmc2V0
OiAtMXB4Owp9Cgouc3RhdHVzQnViYmxlIHsKICAvKiBUaGUgd2lkdGgvaGVpZ2h0IGdldCBzZXQg
dG8gdGhlIGJ1YmJsZSBjb250ZW50cyB2aWEgcG9zdE1lc3NhZ2Ugb24gYnJvd3NlcnMgdGhhdCBz
dXBwb3J0IGl0LiAqLwogIHdpZHRoOiA0NTBweDsKICBoZWlnaHQ6IDIwcHg7CiAgbWFyZ2luOiAy
cHggMnB4IDAgMDsKICBib3JkZXI6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoK
LnBzZXVkb19yZXNpemVfZXZlbnRfaWZyYW1lIHsKICBoZWlnaHQ6IDEwJTsKICB3aWR0aDogMTAl
OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC0xMSU7Cn0KCi5yZXZpc2lvbiB7CiAgZGlz
cGxheTogbm9uZTsKfQoKLmF1dG9zYXZlLXN0YXRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAg
cmlnaHQ6IDA7CiAgdG9wOiAtMS4zZW07CiAgcGFkZGluZzogMCAzcHg7CiAgb3V0bGluZTogMXB4
IHNvbGlkICNEREQ7CiAgY29sb3I6ICM4RkRGNUY7CiAgZm9udC1zaXplOiBzbWFsbDsgICAKICBi
YWNrZ3JvdW5kLWNvbG9yOiAjRUVFOwp9CgouYXV0b3NhdmUtc3RhdGU6ZW1wdHkgewogIG91dGxp
bmU6IDBweDsKfQouYXV0b3NhdmUtc3RhdGUuc2F2aW5nIHsKICBjb2xvcjogI0U5ODA4MDsKfQoK
LmNsZWFyX2Zsb2F0IHsKICAgIGNsZWFyOiBib3RoOwp9Cjwvc3R5bGU+CjxzY3JpcHQgc3JjPSJo
dHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjQuMi9qcXVlcnku
bWluLmpzIj48L3NjcmlwdD4gCjxzY3JpcHQgc3JjPSJjb2RlLXJldmlldy5qcz92ZXJzaW9uPTQz
Ij48L3NjcmlwdD4KCjxkaXYgY2xhc3M9J0ZpbGVEaWZmJz4KPGgxPi9ob21lL2phY2t5L3dlYmtp
dC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xheW91dC10ZXN0LXJlc3VsdHMvbWF0aG1sL2xheW91dC10
ZXN0LW5vcm1hbC1hY3R1YWwudHh0PC9oMT4KPGRpdiBjbGFzcz0nRGlmZlNlY3Rpb24nPgo8ZGl2
IGNsYXNzPSdEaWZmQmxvY2snPgo8ZGl2IGNsYXNzPSdEaWZmQmxvY2tQYXJ0IHNoYXJlZCc+Cjxk
aXYgY2xhc3M9J0xpbmUgTGluZUNvbnRhaW5lcic+CjxzcGFuIGNsYXNzPSdmcm9tIGxpbmVOdW1i
ZXInPjI8L3NwYW4+PHNwYW4gY2xhc3M9J3RvIGxpbmVOdW1iZXInPjI8L3NwYW4+PHNwYW4gY2xh
c3M9J3RleHQnPiAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDA8L3NwYW4+CjwvZGl2
Pgo8ZGl2IGNsYXNzPSdMaW5lIExpbmVDb250YWluZXInPgo8c3BhbiBjbGFzcz0nZnJvbSBsaW5l
TnVtYmVyJz4zPC9zcGFuPjxzcGFuIGNsYXNzPSd0byBsaW5lTnVtYmVyJz4zPC9zcGFuPjxzcGFu
IGNsYXNzPSd0ZXh0Jz5sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDA8L3NwYW4+CjwvZGl2Pgo8
ZGl2IGNsYXNzPSdMaW5lIExpbmVDb250YWluZXInPgo8c3BhbiBjbGFzcz0nZnJvbSBsaW5lTnVt
YmVyJz40PC9zcGFuPjxzcGFuIGNsYXNzPSd0byBsaW5lTnVtYmVyJz40PC9zcGFuPjxzcGFuIGNs
YXNzPSd0ZXh0Jz4gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDA8L3Nw
YW4+CjwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSdjbGVhcl9mbG9hdCc+PC9kaXY+PC9kaXY+Cjxk
aXYgY2xhc3M9J0RpZmZCbG9jayc+CjxkaXYgY2xhc3M9J0RpZmZCbG9ja1BhcnQgcmVtb3ZlJz4K
PGRpdiBjbGFzcz0nTGluZSBMaW5lQ29udGFpbmVyIHJlbW92ZSc+CjxzcGFuIGNsYXNzPSdmcm9t
IGxpbmVOdW1iZXInPjU8L3NwYW4+PHNwYW4gY2xhc3M9J3RvIGxpbmVOdW1iZXInPiZuYnNwOzwv
c3Bhbj48c3BhbiBjbGFzcz0ndGV4dCc+ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDU8ZGVsPjg0PC9kZWw+PC9zcGFuPgo8L2Rpdj4KPGRpdiBjbGFzcz0nTGluZSBMaW5l
Q29udGFpbmVyIHJlbW92ZSc+CjxzcGFuIGNsYXNzPSdmcm9tIGxpbmVOdW1iZXInPjY8L3NwYW4+
PHNwYW4gY2xhc3M9J3RvIGxpbmVOdW1iZXInPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0ndGV4
dCc+ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4PGRlbD41ODwvZGVs
Pjwvc3Bhbj4KPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9J0RpZmZCbG9ja1BhcnQgYWRkJz4KPGRp
diBjbGFzcz0nTGluZSBMaW5lQ29udGFpbmVyIGFkZCc+CjxzcGFuIGNsYXNzPSdmcm9tIGxpbmVO
dW1iZXInPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0ndG8gbGluZU51bWJlcic+NTwvc3Bhbj48
c3BhbiBjbGFzcz0ndGV4dCc+ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU8aW5zPjc2PC9pbnM+PC9zcGFuPgo8L2Rpdj4KPGRpdiBjbGFzcz0nTGluZSBMaW5lQ29udGFp
bmVyIGFkZCc+CjxzcGFuIGNsYXNzPSdmcm9tIGxpbmVOdW1iZXInPiZuYnNwOzwvc3Bhbj48c3Bh
biBjbGFzcz0ndG8gbGluZU51bWJlcic+Njwvc3Bhbj48c3BhbiBjbGFzcz0ndGV4dCc+ICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4PGlucz4yMTwvaW5zPjwvc3Bhbj4K
PC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9J2NsZWFyX2Zsb2F0Jz48L2Rpdj48L2Rpdj4KPGRpdiBj
bGFzcz0nRGlmZkJsb2NrJz4KPGRpdiBjbGFzcz0nRGlmZkJsb2NrUGFydCBzaGFyZWQnPgo8ZGl2
IGNsYXNzPSdMaW5lIExpbmVDb250YWluZXInPgo8c3BhbiBjbGFzcz0nZnJvbSBsaW5lTnVtYmVy
Jz43PC9zcGFuPjxzcGFuIGNsYXNzPSd0byBsaW5lTnVtYmVyJz43PC9zcGFuPjxzcGFuIGNsYXNz
PSd0ZXh0Jz4gICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMTwvc3Bh
bj4KPC9kaXY+CjxkaXYgY2xhc3M9J0xpbmUgTGluZUNvbnRhaW5lcic+CjxzcGFuIGNsYXNzPSdm
cm9tIGxpbmVOdW1iZXInPjg8L3NwYW4+PHNwYW4gY2xhc3M9J3RvIGxpbmVOdW1iZXInPjg8L3Nw
YW4+PHNwYW4gY2xhc3M9J3RleHQnPiAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAyNXgyMTwvc3Bhbj4KPC9kaXY+CjxkaXYgY2xhc3M9J0xpbmUgTGluZUNvbnRhaW5l
cic+CjxzcGFuIGNsYXNzPSdmcm9tIGxpbmVOdW1iZXInPjk8L3NwYW4+PHNwYW4gY2xhc3M9J3Rv
IGxpbmVOdW1iZXInPjk8L3NwYW4+PHNwYW4gY2xhc3M9J3RleHQnPiAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDI1OiAmcXVvdDt0ZXN0JnF1b3Q7PC9zcGFuPgo8L2Rpdj4KPC9k
aXY+PGRpdiBjbGFzcz0nY2xlYXJfZmxvYXQnPjwvZGl2PjwvZGl2Pgo8ZGl2IGNsYXNzPSdEaWZm
QmxvY2snPgo8ZGl2IGNsYXNzPSdEaWZmQmxvY2tQYXJ0IHJlbW92ZSc+CjxkaXYgY2xhc3M9J0xp
bmUgTGluZUNvbnRhaW5lciByZW1vdmUnPgo8c3BhbiBjbGFzcz0nZnJvbSBsaW5lTnVtYmVyJz4x
MDwvc3Bhbj48c3BhbiBjbGFzcz0ndG8gbGluZU51bWJlcic+Jm5ic3A7PC9zcGFuPjxzcGFuIGNs
YXNzPSd0ZXh0Jz4gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM3KSBzaXpl
IDc4NHgyMTwvc3Bhbj4KPC9kaXY+CjxkaXYgY2xhc3M9J0xpbmUgTGluZUNvbnRhaW5lciByZW1v
dmUnPgo8c3BhbiBjbGFzcz0nZnJvbSBsaW5lTnVtYmVyJz4xMTwvc3Bhbj48c3BhbiBjbGFzcz0n
dG8gbGluZU51bWJlcic+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSd0ZXh0Jz4gICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOXgyMTwvc3Bhbj4KPC9kaXY+CjxkaXYg
Y2xhc3M9J0xpbmUgTGluZUNvbnRhaW5lciByZW1vdmUnPgo8c3BhbiBjbGFzcz0nZnJvbSBsaW5l
TnVtYmVyJz4xMjwvc3Bhbj48c3BhbiBjbGFzcz0ndG8gbGluZU51bWJlcic+Jm5ic3A7PC9zcGFu
PjxzcGFuIGNsYXNzPSd0ZXh0Jz4gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA5
OiAmcXVvdDszJnF1b3Q7PC9zcGFuPgo8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0nRGlmZkJsb2Nr
UGFydCBhZGQnPgo8ZGl2IGNsYXNzPSdMaW5lIExpbmVDb250YWluZXIgYWRkJz4KPHNwYW4gY2xh
c3M9J2Zyb20gbGluZU51bWJlcic+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSd0byBsaW5lTnVt
YmVyJz4xMDwvc3Bhbj48c3BhbiBjbGFzcz0ndGV4dCc+ICAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCwzNykgc2l6ZSA3ODR4MDwvc3Bhbj4KPC9kaXY+CjwvZGl2PjxkaXYgY2xh
c3M9J2NsZWFyX2Zsb2F0Jz48L2Rpdj48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131649</attachid>
            <date>2012-03-13 10:05:32 -0700</date>
            <delta_ts>2012-03-13 10:05:32 -0700</delta_ts>
            <desc>dump render tree of the test case of the patch</desc>
            <filename>msub-anonymous-child-render-crash-expected.txt</filename>
            <type>text/plain</type>
            <size>2566</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTg0CiAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMQogICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI1MXgyMQogICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMjUxOiAiVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBj
cmFzaC4iCiAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM3KSBzaXplIDc4NHgx
MAogICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0ICgwLDApIHNpemUgMTZ4MTAKICAg
ICAgICAgIFJlbmRlck1hdGhNTFN1YlN1cCB7bXN1Yn0gYXQgKDEsMCkgc2l6ZSAweDAKICAgICAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
ICAgICBSZW5kZXJNYXRoTUxCbG9jayB7bXN1Yn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
ICAgICAgIFJlbmRlcklubGluZSB7bWl9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgIFJl
bmRlclRhYmxlIGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0
aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgICBSZW5kZXJU
YWJsZVJvdyB7bXRyfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgUmVuZGVyTWF0aE1MU3Vi
U3VwIHttc3VifSBhdCAoMSwwKSBzaXplIDZ4MAogICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCwwKSBzaXplIDZ4MAogICAgICAgICAgICAgIFJlbmRlck1hdGhNTEJsb2Nr
IHttc3VifSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtt
aX0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgUmVuZGVyVGFibGUgYXQgKDAsMCkgc2l6
ZSA2eDAKICAgICAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSA2eDAKICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IChhbm9ueW1vdXMpIGF0
ICgwLDApIHNpemUgNngwCiAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBh
dCAoMCwwKSBzaXplIDZ4MCBbcj0wIGM9MCBycz0xIGNzPTFdCiAgICAgICAgICBSZW5kZXJNYXRo
TUxTdWJTdXAge21zdWJzdXB9IGF0ICg3LDApIHNpemUgMXgxMAogICAgICAgICAgICBSZW5kZXJN
YXRoTUxCbG9jayB7bXN1YnN1cH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICBSZW5kZXJNYXRoTUxC
bG9jayB7bXN1YnN1cH0gYXQgKDEsMCkgc2l6ZSAweDEwCiAgICAgICAgICAgICAgUmVuZGVyTWF0
aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDApIHNpemUgMHgxMAogICAgICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgICBSZW5kZXJNYXRo
TUxCbG9jayB7bXN1YnN1cH0gYXQgKDAsMTApIHNpemUgMHgwCiAgICAgICAgICAgICAgICBSZW5k
ZXJUYWJsZSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZVNl
Y3Rpb24gKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJUYWJsZVJvdyB7bXRyfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgUmVuZGVyTWF0
aE1MU3ViU3VwIHttc3Vic3VwfSBhdCAoOCwwKSBzaXplIDd4MTAKICAgICAgICAgICAgUmVuZGVy
TWF0aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHttaX0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgUmVuZGVyTWF0aE1M
QmxvY2sge21zdWJzdXB9IGF0ICgxLDApIHNpemUgNngxMAogICAgICAgICAgICAgIFJlbmRlck1h
dGhNTEJsb2NrIHttc3Vic3VwfSBhdCAoMCwwKSBzaXplIDZ4MTAKICAgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7bW59IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgUmVuZGVyTWF0
aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDEwKSBzaXplIDZ4MAogICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGUgYXQgKDAsMCkgc2l6ZSA2eDAKICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVT
ZWN0aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNngwCiAgICAgICAgICAgICAgICAgICAg
UmVuZGVyVGFibGVSb3cgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA2eDAKICAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBhdCAoMCwwKSBzaXplIDZ4MCBbcj0wIGM9
MCBycz0xIGNzPTFdCiAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131684</attachid>
            <date>2012-03-13 11:35:12 -0700</date>
            <delta_ts>2012-03-13 14:45:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80773-20120313143428.patch</filename>
            <type>text/plain</type>
            <size>8747</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0ZDlmM2MxZjY1MGE2
MTgyMzczM2NiNDU0ZjAxNDkzZWYwMGE4NS4uZWI1OTg3ZTQxMmQ5ZmZiMDZiMDk3Yzg3N2MxZmY4
YmU0ZWQ4MmNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTEyICBKYWNr
eSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0aE1MIGNyYXNoIGluIFdl
YkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGNoaWxkIGZvciBtc3ViIHJlbmRlciwg
aWYgdGhlIGNoaWxkIGlzIG10ciBvciBtdGQgcmVuZGVyLAorICAgICAgICB3ZSB3aWxsIGNyZWF0
IGFuIGFub255bW91cyByZW5kZXIgYXMgdGhlIGNvbnRhaW5lci4gQXMgdGhlIGFub255bW91cwor
ICAgICAgICByZW5kZXIncyBub2RlIGlzIDAsIGFjY2Vzc2luZyBpdCBkaXJlY3RseSBjYW4gY2F1
c2UgY3Jhc2guCisgICAgICAgIFdlIHNob3VsZCBkbyBhIHZhbGlkIGNoZWNrIG9mIHRoZSBub2Rl
IGJlZm9yZSB1c2luZy4gSW4gYWRkaXRpb24gdG8KKyAgICAgICAgdGhhdCwgZm9yIG1zdWIsIGF0
dGFjaCB0aGUgYW5vbnltb3VzIHJlbmRlciBhbmQgaXQncyBjaGlsZHJlbiB0byByZW5kZXIKKyAg
ICAgICAgdHJlZS4gRm9yIG1zdWJzdXAsIHN1Y2gga2luZCBvZiBzaXR1YXRpb24gc2hvdWxkIG5l
dmVyIGhhcHBlbiBiYXNlZCBvbgorICAgICAgICB0aGUgY3VycmVudCBjb2RlYmFzZS4KKworICAg
ICAgICBUZXN0OiBtYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQpOgorCiAyMDEyLTAz
LTEyICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZS1hcHBseSB0aGUgcGF0Y2ggYWZ0ZXIgdjggcm9sbCB0byByMTEwMDAuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAKaW5k
ZXggODQ5MjhkNGI0OGViM2MyN2NhZWVkNDVmNzhjOWI0MzJkODIyNzI0Mi4uYzcxY2JkOWM0Njhj
MWMxNjY4MDg2OGJiYmZiNTQxZmE0ZDkyYjQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcApAQCAtNjgsNyArNjgs
NyBAQCB2b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGls
ZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAgIC8vIE5vdGU6IFRoZSBSZW5kZXJNYXRo
TUxCbG9jayBvbmx5IGFsbG93cyBlbGVtZW50IGNoaWxkcmVuIHRvIGJlIGFkZGVkLgogICAgIEVs
ZW1lbnQqIGNoaWxkRWxlbWVudCA9IHRvRWxlbWVudChjaGlsZC0+bm9kZSgpKTsKIAotICAgIGlm
ICghY2hpbGRFbGVtZW50LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKKyAgICBpZiAoY2hp
bGRFbGVtZW50ICYmICFjaGlsZEVsZW1lbnQtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKSkgewog
ICAgICAgICAvLyBQb3NpdGlvbiAxIGlzIGFsd2F5cyB0aGUgYmFzZSBvZiB0aGUgbXN1Yi9tc3Vw
L21zdWJzdXAuCiAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrKiB3cmFwcGVyID0gbmV3IChyZW5k
ZXJBcmVuYSgpKSBSZW5kZXJNYXRoTUxCbG9jayhub2RlKCkpOwogICAgICAgICBSZWZQdHI8UmVu
ZGVyU3R5bGU+IHdyYXBwZXJTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKQEAgLTk1LDYg
Kzk1LDEwIEBAIHZvaWQgUmVuZGVyTWF0aE1MU3ViU3VwOjphZGRDaGlsZChSZW5kZXJPYmplY3Qq
IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkCiAgICAgICAgIH0KICAgICB9IGVsc2Ug
ewogICAgICAgICBpZiAobV9raW5kID09IFN1YlN1cCkgeworICAgICAgICAgICAgQVNTRVJUKGNo
aWxkRWxlbWVudCk7CisgICAgICAgICAgICBpZiAoIWNoaWxkRWxlbWVudCkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBzY3JpcHQgPSBuZXcgKHJl
bmRlckFyZW5hKCkpIFJlbmRlck1hdGhNTEJsb2NrKG5vZGUoKSk7CiAgICAgICAgICAgICBSZWZQ
dHI8UmVuZGVyU3R5bGU+IHNjcmlwdFN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAg
ICAgICAgICAgc2NyaXB0U3R5bGUtPmluaGVyaXRGcm9tKG1fc2NyaXB0cy0+c3R5bGUoKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYmEzNTY3Y2U0ODJmYTFlMTU5OGE2NTc4ZTQ0YmZlMDc5ZDk2ZDhhZS4uMTA5NmJhMmQ2
MGE4M2M3YjgwMTJmOGEwNzIwNTNjMmVjYmViNzJlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEyLTAzLTEyICBKYWNreSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0
aE1MIGNyYXNoIGluIFdlYkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8gbWFrZSBz
dXJlIHRoaXMgZG9lc24ndCBjcmFzaCBhbmQgPG10cj4gb3IgPG10ZD4gcmVuZGVyJ3MKKyAgICAg
ICAgYW5vbnltb3VzIHJlbmRlciBhbmQgaXQncyBjaGlsZHJlbiBhcmUgYXR0Y2hlZCB0byB0aGUg
cmVuZGVyIHRyZWUuCisKKyAgICAgICAgKiBtYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVu
ZGVyLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWF0aG1sL21zdWItYW5v
bnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0xMiAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gUkVHUkVT
U0lPTihyMTEwNDAxKTogZmFzdC90YWJsZS90YWJsZS1yb3ctY29tcG9zaXRpbmctcmVwYWludC1j
cmFzaC5odG1sIGFzc2VydHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9tc3ViLWFu
b255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWF0
aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjA5YzgyOWM2NWIxOWJmMjU5YmE5OWY3ZmM3N2M3YmMyMWEyNWM0NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXIt
Y3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA2MjZ4MjEKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA2MjY6ICJUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIGFuZCByZW5k
ZXIgZXhhY3RseSB0aGUgc2FtZSB3aXRoIHRoZSBleHBlY3RlZCByZXN1bHQuIgorICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzcpIHNpemUgNzg0eDM0CisgICAgICAgIFJlbmRl
ck1hdGhNTE1hdGgge21hdGh9IGF0ICgwLDApIHNpemUgNzB4MzQKKyAgICAgICAgICBSZW5kZXJN
YXRoTUxTdWJTdXAge21zdWJ9IGF0ICgxLDYpIHNpemUgMTF4MjgKKyAgICAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTF4MTYKKyAgICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MQmxvY2sge21zdWJ9IGF0ICgwLDApIHNpemUgMTF4MTYKKyAgICAgICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDExeDIxCisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsLTIpIHNpemUgMTF4MjEKKyAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTIpIHdpZHRoIDExOiAiWCIKKyAgICAgICAgICAgIFJlbmRl
clRhYmxlIGF0ICgwLDE2KSBzaXplIDd4MTIKKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0
aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgN3gxMgorICAgICAgICAgICAgICAgIFJlbmRl
clRhYmxlUm93IHttdHJ9IGF0ICgwLDApIHNpemUgN3gxMgorICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgN3gxMiBbcj0wIGM9MCBycz0x
IGNzPTFdCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtMikg
c2l6ZSA3eDE2CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTIpIHdpZHRo
IDc6ICIzIgorICAgICAgICAgIFJlbmRlck1hdGhNTFN1YlN1cCB7bXN1Yn0gYXQgKDEyLDYpIHNp
emUgMTN4MjgKKyAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNp
emUgMTN4MTYKKyAgICAgICAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2sge21zdWJ9IGF0ICgwLDAp
IHNpemUgMTF4MTYKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBz
aXplIDExeDIxCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsLTIp
IHNpemUgMTF4MjEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTIpIHdpZHRo
IDExOiAiWSIKKyAgICAgICAgICAgIFJlbmRlclRhYmxlIGF0ICgwLDE2KSBzaXplIDEzeDEyCisg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXpl
IDEzeDEyCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cgKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSAxM3gxMgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHttdGR9IGF0
ICgwLDApIHNpemUgMTN4MTIgW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsLTIpIHNpemUgN3gxNgorICAgICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzLC0yKSB3aWR0aCA3OiAiMyIKKyAgICAgICAgICBSZW5kZXJN
YXRoTUxTdWJTdXAge21zdWJzdXB9IGF0ICgyNSwwKSBzaXplIDE5eDI0CisgICAgICAgICAgICBS
ZW5kZXJNYXRoTUxCbG9jayB7bXN1YnN1cH0gYXQgKDAsMCkgc2l6ZSAxMXgyMgorICAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDExeDIxCisgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUgMTF4MjEKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRoIDExOiAiWCIKKyAgICAgICAgICAgIFJlbmRlck1h
dGhNTEJsb2NrIHttc3Vic3VwfSBhdCAoMTIsMCkgc2l6ZSA3eDI0CisgICAgICAgICAgICAgIFJl
bmRlck1hdGhNTEJsb2NrIHttc3Vic3VwfSBhdCAoMCwwKSBzaXplIDd4MTIKKyAgICAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge21ufSBhdCAoMCwwKSBzaXplIDd4MTYKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtMikgc2l6ZSA3eDE2CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0yKSB3aWR0aCA3OiAiMiIKKyAgICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDEyKSBzaXplIDd4MTIKKyAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZSBhdCAoMCwwKSBzaXplIDd4MTIKKyAgICAgICAgICAgICAgICAgIFJl
bmRlclRhYmxlU2VjdGlvbiAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDd4MTIKKyAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge210cn0gYXQgKDAsMCkgc2l6ZSA3eDEyCisgICAg
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIChhbm9ueW1vdXMpIGF0ICgwLDApIHNp
emUgN3gxMiBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsLTIpIHNpemUgN3gxNgorICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMikgd2lkdGggNzogIjMiCisgICAgICAgICAgUmVuZGVyTWF0
aE1MU3ViU3VwIHttc3Vic3VwfSBhdCAoNDQsMCkgc2l6ZSAyNXgyNAorICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDApIHNpemUgMTF4MjIKKyAgICAgICAgICAg
ICAgUmVuZGVySW5saW5lIHttaX0gYXQgKDAsMCkgc2l6ZSAxMXgyMQorICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0KSBzaXplIDExeDIxCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCAxMTogIlkiCisgICAgICAgICAgICBSZW5kZXJNYXRo
TUxCbG9jayB7bXN1YnN1cH0gYXQgKDEyLDApIHNpemUgMTN4MjQKKyAgICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDApIHNpemUgMTN4MTIKKyAgICAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge21ufSBhdCAoMCwwKSBzaXplIDd4MTYKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtMikgc2l6ZSA3eDE2CisgICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0yKSB3aWR0aCA3OiAiMiIKKyAgICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MQmxvY2sge21zdWJzdXB9IGF0ICgwLDEyKSBzaXplIDEzeDEyCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGUgYXQgKDAsMCkgc2l6ZSAxM3gxMgorICAgICAgICAgICAgICAgICAg
UmVuZGVyVGFibGVTZWN0aW9uIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTN4MTIKKyAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAx
M3gxMgorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBhdCAoMCww
KSBzaXplIDEzeDEyIFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywtMikgc2l6ZSA3eDE2CisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzLC0yKSB3aWR0aCA3OiAiMyIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9tYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTZlNzIxOGNmY2ZmOTY3Zjc3ZmUyYmU4MDBmNDhhYzdhNDQzMmIyYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jh
c2guaHRtbApAQCAtMCwwICsxLDI1IEBACis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHBh
c3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaCBhbmQgcmVuZGVyIGV4YWN0bHkgdGhlIHNhbWUgd2l0
aCB0aGUgZXhwZWN0ZWQgcmVzdWx0LjwvcD4KKzxtYXRoIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk4L01hdGgvTWF0aE1MIj4KKyAgICA8bXN1Yj4KKyAgICAgICAgPG1pPlg8L21pPgorICAg
ICAgICA8bXRyPjM8L210cj4KKyAgICA8L21zdWI+CisgICAgPG1zdWI+CisgICAgICAgIDxtaT5Z
PC9taT4KKyAgICAgICAgPG10ZD4zPC9tdGQ+CisgICAgPC9tc3ViPgorICAgIDxtc3Vic3VwPgor
ICAgICAgICA8bWk+WDwvbWk+CisgICAgICAgIDxtdHI+MzwvbXRyPgorICAgICAgICA8bW4+Mjwv
bW4+CisgICAgPC9tc3Vic3VwPgorICAgIDxtc3Vic3VwPgorICAgICAgICA8bWk+WTwvbWk+Cisg
ICAgICAgIDxtdGQ+MzwvbXRkPgorICAgICAgICA8bW4+MjwvbW4+CisgICAgPC9tc3Vic3VwPgor
PC9tYXRoPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131717</attachid>
            <date>2012-03-13 14:45:44 -0700</date>
            <delta_ts>2012-03-13 16:46:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80773-20120313174459.patch</filename>
            <type>text/plain</type>
            <size>4658</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0ZDlmM2MxZjY1MGE2
MTgyMzczM2NiNDU0ZjAxNDkzZWYwMGE4NS4uZWI1OTg3ZTQxMmQ5ZmZiMDZiMDk3Yzg3N2MxZmY4
YmU0ZWQ4MmNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTEyICBKYWNr
eSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0aE1MIGNyYXNoIGluIFdl
YkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGNoaWxkIGZvciBtc3ViIHJlbmRlciwg
aWYgdGhlIGNoaWxkIGlzIG10ciBvciBtdGQgcmVuZGVyLAorICAgICAgICB3ZSB3aWxsIGNyZWF0
IGFuIGFub255bW91cyByZW5kZXIgYXMgdGhlIGNvbnRhaW5lci4gQXMgdGhlIGFub255bW91cwor
ICAgICAgICByZW5kZXIncyBub2RlIGlzIDAsIGFjY2Vzc2luZyBpdCBkaXJlY3RseSBjYW4gY2F1
c2UgY3Jhc2guCisgICAgICAgIFdlIHNob3VsZCBkbyBhIHZhbGlkIGNoZWNrIG9mIHRoZSBub2Rl
IGJlZm9yZSB1c2luZy4gSW4gYWRkaXRpb24gdG8KKyAgICAgICAgdGhhdCwgZm9yIG1zdWIsIGF0
dGFjaCB0aGUgYW5vbnltb3VzIHJlbmRlciBhbmQgaXQncyBjaGlsZHJlbiB0byByZW5kZXIKKyAg
ICAgICAgdHJlZS4gRm9yIG1zdWJzdXAsIHN1Y2gga2luZCBvZiBzaXR1YXRpb24gc2hvdWxkIG5l
dmVyIGhhcHBlbiBiYXNlZCBvbgorICAgICAgICB0aGUgY3VycmVudCBjb2RlYmFzZS4KKworICAg
ICAgICBUZXN0OiBtYXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQpOgorCiAyMDEyLTAz
LTEyICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZS1hcHBseSB0aGUgcGF0Y2ggYWZ0ZXIgdjggcm9sbCB0byByMTEwMDAuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAKaW5k
ZXggODQ5MjhkNGI0OGViM2MyN2NhZWVkNDVmNzhjOWI0MzJkODIyNzI0Mi4uYzcxY2JkOWM0Njhj
MWMxNjY4MDg2OGJiYmZiNTQxZmE0ZDkyYjQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcApAQCAtNjgsNyArNjgs
NyBAQCB2b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGls
ZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAgIC8vIE5vdGU6IFRoZSBSZW5kZXJNYXRo
TUxCbG9jayBvbmx5IGFsbG93cyBlbGVtZW50IGNoaWxkcmVuIHRvIGJlIGFkZGVkLgogICAgIEVs
ZW1lbnQqIGNoaWxkRWxlbWVudCA9IHRvRWxlbWVudChjaGlsZC0+bm9kZSgpKTsKIAotICAgIGlm
ICghY2hpbGRFbGVtZW50LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKKyAgICBpZiAoY2hp
bGRFbGVtZW50ICYmICFjaGlsZEVsZW1lbnQtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKSkgewog
ICAgICAgICAvLyBQb3NpdGlvbiAxIGlzIGFsd2F5cyB0aGUgYmFzZSBvZiB0aGUgbXN1Yi9tc3Vw
L21zdWJzdXAuCiAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrKiB3cmFwcGVyID0gbmV3IChyZW5k
ZXJBcmVuYSgpKSBSZW5kZXJNYXRoTUxCbG9jayhub2RlKCkpOwogICAgICAgICBSZWZQdHI8UmVu
ZGVyU3R5bGU+IHdyYXBwZXJTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKQEAgLTk1LDYg
Kzk1LDEwIEBAIHZvaWQgUmVuZGVyTWF0aE1MU3ViU3VwOjphZGRDaGlsZChSZW5kZXJPYmplY3Qq
IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkCiAgICAgICAgIH0KICAgICB9IGVsc2Ug
ewogICAgICAgICBpZiAobV9raW5kID09IFN1YlN1cCkgeworICAgICAgICAgICAgQVNTRVJUKGNo
aWxkRWxlbWVudCk7CisgICAgICAgICAgICBpZiAoIWNoaWxkRWxlbWVudCkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBzY3JpcHQgPSBuZXcgKHJl
bmRlckFyZW5hKCkpIFJlbmRlck1hdGhNTEJsb2NrKG5vZGUoKSk7CiAgICAgICAgICAgICBSZWZQ
dHI8UmVuZGVyU3R5bGU+IHNjcmlwdFN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAg
ICAgICAgICAgc2NyaXB0U3R5bGUtPmluaGVyaXRGcm9tKG1fc2NyaXB0cy0+c3R5bGUoKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYmEzNTY3Y2U0ODJmYTFlMTU5OGE2NTc4ZTQ0YmZlMDc5ZDk2ZDhhZS4uOWYwMGNmMTg1
YjIxZWE1N2U5NzQ3OTlkODNmOTVkOWY5NjRhMzAwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTAzLTEyICBKYWNreSBKaWFuZyAgPHpoYWppYW5nQHJpbS5jb20+CisKKyAgICAgICAgTWF0
aE1MIGNyYXNoIGluIFdlYkNvcmU6Ok5vZGU6OnByZXZpb3VzU2libGluZygpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc3MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWF0aG1sL21zdWItYW5vbnlt
b3VzLWNoaWxkLXJlbmRlci1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1h
dGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2guaHRtbDogQWRkZWQuCisKIDIw
MTItMDMtMTIgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbUXRdIFJFR1JFU1NJT04ocjExMDQwMSk6IGZhc3QvdGFibGUvdGFibGUtcm93LWNvbXBvc2l0
aW5nLXJlcGFpbnQtY3Jhc2guaHRtbCBhc3NlcnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvbXN1Yi1hbm9ueW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21hdGhtbC9tc3ViLWFub255bW91cy1jaGlsZC1yZW5kZXItY3Jhc2gtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1Y2M2Y2IyMmJlMTY3N2RkNDc4NzQ3NDIwOGVlZDkyMWI2MDUw
YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvbXN1Yi1hbm9ueW1vdXMt
Y2hpbGQtcmVuZGVyLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1RoaXMgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCisKK1gKKzMKK1kzWAorMworMlkzMgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRlci1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL21zdWItYW5vbnltb3VzLWNoaWxkLXJlbmRl
ci1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5YWZmZTU3ZGZkNjg4OGU3YzM1NTZmNTJlZTIwMzEy
N2NjZjRhYjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvbXN1Yi1hbm9u
eW1vdXMtY2hpbGQtcmVuZGVyLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPGh0bWw+Cis8
c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKzxtYXRoIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIj4KKyAgICA8bXN1Yj4KKyAgICAgICAg
PG1pPlg8L21pPgorICAgICAgICA8bXRyPjM8L210cj4KKyAgICA8L21zdWI+CisgICAgPG1zdWI+
CisgICAgICAgIDxtaT5ZPC9taT4KKyAgICAgICAgPG10ZD4zPC9tdGQ+CisgICAgPC9tc3ViPgor
ICAgIDxtc3Vic3VwPgorICAgICAgICA8bWk+WDwvbWk+CisgICAgICAgIDxtdHI+MzwvbXRyPgor
ICAgICAgICA8bW4+MjwvbW4+CisgICAgPC9tc3Vic3VwPgorICAgIDxtc3Vic3VwPgorICAgICAg
ICA8bWk+WTwvbWk+CisgICAgICAgIDxtdGQ+MzwvbXRkPgorICAgICAgICA8bW4+MjwvbW4+Cisg
ICAgPC9tc3Vic3VwPgorPC9tYXRoPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>