<?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>59109</bug_id>
          
          <creation_ts>2011-04-21 10:07:07 -0700</creation_ts>
          <short_desc>Extra GraphicsContext::save() in InlineTextBox::paintDecoration()</short_desc>
          <delta_ts>2011-04-22 08:51:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>eric</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>390107</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-21 10:07:07 -0700</bug_when>
    <thetext>Looks like there might be an unbalanced context-&gt;save() in InlineTextBox::paintDecoration(). We should have assertions to check that this never happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390207</commentid>
    <comment_count>1</comment_count>
      <attachid>90565</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-21 11:45:32 -0700</bug_when>
    <thetext>Created attachment 90565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390294</commentid>
    <comment_count>2</comment_count>
      <attachid>90565</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-21 13:41:39 -0700</bug_when>
    <thetext>Comment on attachment 90565
Patch

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

&gt; Source/WebCore/html/HTMLCanvasElement.cpp:105
&gt; +    // Deal with mismatched save/restore calls from content.
&gt; +    if (GraphicsContext* context = drawingContext()) {
&gt; +        while (context-&gt;stackDepth())
&gt; +            context-&gt;restore();
&gt; +    }

I take it tests hit your new ASSERT w/o this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390305</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-21 13:45:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 90565 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90565&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLCanvasElement.cpp:105
&gt; &gt; +    // Deal with mismatched save/restore calls from content.
&gt; &gt; +    if (GraphicsContext* context = drawingContext()) {
&gt; &gt; +        while (context-&gt;stackDepth())
&gt; &gt; +            context-&gt;restore();
&gt; &gt; +    }
&gt; 
&gt; I take it tests hit your new ASSERT w/o this?

Without this, DRT crashes on fast/dom/gc-something if run after fast/canvas, because some canvas test has issues.

mitz thinks that this whole block could be #if !ASSERTS_DISABLED and I agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390587</commentid>
    <comment_count>4</comment_count>
      <attachid>90663</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-21 20:47:05 -0700</bug_when>
    <thetext>Created attachment 90663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390597</commentid>
    <comment_count>5</comment_count>
      <attachid>90663</attachid>
    <who name="">mitz</who>
    <bug_when>2011-04-21 21:08:48 -0700</bug_when>
    <thetext>Comment on attachment 90663
Patch

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

r=me but please consider my comments

&gt; Source/WebCore/html/HTMLCanvasElement.cpp:107
&gt; +#if !ASSERT_DISABLED
&gt; +    // Deal with mismatched save/restore calls from content.
&gt; +    if (GraphicsContext* context = drawingContext()) {
&gt; +        while (context-&gt;stackDepth())
&gt; +            context-&gt;restore();
&gt; +    }
&gt; +#endif

Why can’t CanvasRenderingContext2D (and other CanvasRenderingContexts if necessary) handle this by popping its internal stack?

&gt; Source/WebCore/platform/graphics/GraphicsContext.h:283
&gt; +        size_t stackDepth() const { return m_stack.size(); }

It’s kind of ugly that this is a public member. Please consider guarding this with #if !ASSERT_DISABLED too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390786</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-22 08:23:04 -0700</bug_when>
    <thetext>Some canvas tests are still causing this assertion to fire:

run-webkit-tests --debug --gc-between-tests LayoutTests/fast/canvas/change-context.html LayoutTests/fast/canvas/create-pattern-does-not-crash.html LayoutTests/fast/canvas/drawImage-with-globalAlpha.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390796</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-22 08:51:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84631</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90565</attachid>
            <date>2011-04-21 11:45:32 -0700</date>
            <delta_ts>2011-04-21 20:47:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59109-20110421114531.patch</filename>
            <type>text/plain</type>
            <size>8609</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ1MTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMzNjMTI3MWVhMDFmNzJkZjc2N2Rm
MjlmNDVmZTY5ZDYxYjRmNTViLi40OGE5YTAyNDNlZjMxNDliYzg5YzUyYzcyZjI2YTZhMDhkMTNj
NWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRXh0cmEgR3JhcGhpY3NDb250ZXh0OjpzYXZlKCkgaW4gSW5saW5lVGV4
dEJveDo6cGFpbnREZWNvcmF0aW9uKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU5MTA5CisgICAgICAgIAorICAgICAgICBUZXN0Y2FzZSB0aGF0IGV4
ZXJjaXNlcyB0aGUgZml4ZWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKCkgY29kZS4K
KworICAgICAgICAqIGZhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNoYWRvdy1hbHBoYS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNoYWRvdy1h
bHBoYS5odG1sOiBBZGRlZC4KKwogMjAxMS0wNC0yMCAgTWF0dGhldyBEZWxhbmV5ICA8bWRlbGFu
ZXlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvbXVsdGlwbGUtdGV4dC1zaGFkb3ctYWxwaGEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L211bHRpcGxlLXRleHQtc2hhZG93LWFs
cGhhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjJhYTJhZDhlMThiMjg0MzQ0Y2VhODRjYThj
MGI0YmFhMDMyNzhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L211
bHRpcGxlLXRleHQtc2hhZG93LWFscGhhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlz
IHRlc3Qgc2hvdWxkIG5vdCBhc3NlcnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvbXVsdGlwbGUtdGV4dC1zaGFkb3ctYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9tdWx0aXBsZS10ZXh0LXNoYWRvdy1hbHBoYS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhN2M1OWU4NTE3
ZjdiMzg5NGFmYjViYzZlMTU2YTMyYTc0ZDdhYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvbXVsdGlwbGUtdGV4dC1zaGFkb3ctYWxwaGEuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKyAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorICAgIHAgeworICAgICAgICB0ZXh0LXNoYWRvdzogMCAtMTBweCAx
MHB4IHJnYmEoMCwgMCwgMCwgMC41KSwgMCAxMHB4IDEwcHggcmdiYSgwLCAxMjgsIDAsIDAuNSk7
CisgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAgICAgICBjb2xvcjogcmdi
YSgwLCAwLCAwLCAwLjgpOworICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPHA+VGhpcyB0ZXN0IHNob3VsZCBub3QgYXNzZXJ0LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3Yjk4MDNkZWFhMDY0NDU3ODk1ZThhYjk5MjlkYjhjYTYyNTVjMDQwLi4z
YjllNmY0ZTllMDViNzZjMjE3NWE5MmQ2NmY2ZWM1N2FjNWVkNzg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RXh0cmEgR3JhcGhpY3NDb250ZXh0OjpzYXZlKCkgaW4gSW5saW5lVGV4dEJveDo6cGFpbnREZWNv
cmF0aW9uKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU5MTA5CisgICAgICAgIAorICAgICAgICBSZW1vdmUgYW4gZXh0cmFuZW91cyBHcmFwaGljc0Nv
bnRleHQ6OnNhdmUoKSBpbiBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oKS4KKyAgICAg
ICAgCisgICAgICAgIEFkZCBhbiBhc3NlcnRpb24gdGhhdCBmaXJlcyB3aGVuIGEgR3JhcGhpY3ND
b250ZXh0KCkgaXMgZGVzdHJveWVkIHdpdGggYSBub24tCisgICAgICAgIGVtcHR5IHN0YXRlIHN0
YWNrLiBGaXggY2FudmFzIHRvIGF2b2lkIHRoaXMgYXNzZXJ0aW9uLCBzaW5jZSBiYWQgY29udGVu
dCBtaWdodAorICAgICAgICB0cmlnZ2VyIGl0LgorICAgICAgICAKKyAgICAgICAgQWxzbyBhZGQg
YW4gYXNzZXJ0aW9uIHRoYXQgZmlyZXMgZm9yIG1pc21hdGNoZWQgYmVnaW4vZW5kVHJhbnNwYXJl
bmN5TGF5ZXJzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNoYWRv
dy1hbHBoYS5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50Ojp+SFRNTENhbnZhc0VsZW1lbnQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6On5HcmFwaGljc0NvbnRleHQpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0OjpzdGFja0RlcHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlOjpHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlOjp+R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZTo6YmVnaW5UcmFuc3BhcmVuY3lMYXllcik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmVuZFRy
YW5zcGFyZW5jeUxheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24pOgorCiAy
MDExLTA0LTIxICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAKaW5kZXggOTZjZDJhOTM0YWZkMjhlMWQ5YTMyMDY5NGFmMjI1YjlmZTdk
Njk3ZC4uYzEzY2VmYzZiN2YyNWY0MjE3NTM1YTBhN2JhMzQ0ZTRiZmJjOTQ0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKQEAgLTk4LDYgKzk4LDEyIEBAIFBh
c3NSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+IEhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnCiAKIEhUTUxDYW52YXNFbGVtZW50Ojp+SFRNTENhbnZhc0Vs
ZW1lbnQoKQogeworICAgIC8vIERlYWwgd2l0aCBtaXNtYXRjaGVkIHNhdmUvcmVzdG9yZSBjYWxs
cyBmcm9tIGNvbnRlbnQuCisgICAgaWYgKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGRyYXdp
bmdDb250ZXh0KCkpIHsKKyAgICAgICAgd2hpbGUgKGNvbnRleHQtPnN0YWNrRGVwdGgoKSkKKyAg
ICAgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICB9CisKICAgICBIYXNoU2V0PENhbnZh
c09ic2VydmVyKj46Oml0ZXJhdG9yIGVuZCA9IG1fb2JzZXJ2ZXJzLmVuZCgpOwogICAgIGZvciAo
SGFzaFNldDxDYW52YXNPYnNlcnZlcio+OjppdGVyYXRvciBpdCA9IG1fb2JzZXJ2ZXJzLmJlZ2lu
KCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgKCppdCktPmNhbnZhc0Rlc3Ryb3llZCh0aGlz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuY3BwCmluZGV4IDMwZWE4ZmJjODNjZWFjZDY2NTZkMDcwNDFmNGU4ZDE2ZDNkNWI2ZjYu
LmFlZDI0ODgyOTcwYTFkY2JjMzFlOGZiODI4YzhhODc2OGIzMmNkYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcApAQCAt
ODQsNiArODQsNyBAQCBHcmFwaGljc0NvbnRleHQ6OkdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdy
YXBoaWNzQ29udGV4dCogcGxhdGZvcm1HcmFwaGljc0NvbnRleAogCiBHcmFwaGljc0NvbnRleHQ6
On5HcmFwaGljc0NvbnRleHQoKQogeworICAgIEFTU0VSVChtX3N0YWNrLmlzRW1wdHkoKSk7CiAg
ICAgcGxhdGZvcm1EZXN0cm95KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggYTZmZDZkYTU5M2NiMTE4YjRmYjJm
Njc0ZmRiODBjYjU3N2RkMDgyYy4uNTUyNzBjYzRmNzAyMmU5MTIzZDdjNzc0NmU1MTE5OWJiZDYw
MWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKQEAgLTI4MCw2ICsyODAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgdm9pZCBzYXZlKCk7CiAgICAgICAgIHZvaWQgcmVzdG9yZSgpOworICAgICAgICBzaXpl
X3Qgc3RhY2tEZXB0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhY2suc2l6ZSgpOyB9CiAKICAgICAg
ICAgLy8gVGhlc2UgZHJhdyBtZXRob2RzIHdpbGwgZG8gYm90aCBzdHJva2luZyBhbmQgZmlsbGlu
Zy4KICAgICAgICAgLy8gRklYTUU6IC4uLmV4Y2VwdCBkcmF3UmVjdCgpLCB3aGljaCBmaWxscyBw
cm9wZXJseSBidXQgYWx3YXlzIHN0cm9rZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNHLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGVDRy5oCmluZGV4IDcyMmY1YTBkMWZhNWI0NGY2YTkzZGJkYTU4MjMwZmNjZTZlNDhm
NGUuLmY0ZmExMjJhYzQzYzEzZjdmZmZlMjNlMTRlMThiNDhiZGVmYTQ1YTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZUNHLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ0cuaApAQCAtNDQsOSArNDQsMTEgQEAgcHVi
bGljOgogICAgICAgICA6IG1fY2dDb250ZXh0KGNnQ29udGV4dCkKICNpZiBQTEFURk9STShXSU4p
CiAgICAgICAgICwgbV9oZGMoMCkKLSAgICAgICAgLCBtX3RyYW5zcGFyZW5jeUNvdW50KDApCiAg
ICAgICAgICwgbV9zaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKGZhbHNlKQogI2VuZGlmCisjaWYg
UExBVEZPUk0oV0lOKSB8fCAhQVNTRVJUX0RJU0FCTEVECisgICAgICAgICwgbV90cmFuc3BhcmVu
Y3lDb3VudCgwKQorI2VuZGlmCiAgICAgICAgICwgbV91c2VyVG9EZXZpY2VUcmFuc2Zvcm1Lbm93
blRvQmVJZGVudGl0eShmYWxzZSkKICAgICAgICAgLCBtX2NvbnRleHRGbGFncyhmbGFncykKICAg
ICB7CkBAIC01NCw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICAKICAgICB+R3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlKCkKICAgICB7CisgICAgICAgIEFTU0VSVCghbV90cmFuc3BhcmVuY3lD
b3VudCk7CiAgICAgfQogCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShDSFJPTUlVTSkK
QEAgLTY4LDggKzcxLDYgQEAgcHVibGljOgogICAgIHZvaWQgdHJhbnNsYXRlKGZsb2F0LCBmbG9h
dCkge30KICAgICB2b2lkIGNvbmNhdENUTShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKSB7fQogICAg
IHZvaWQgc2V0Q1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIHt9Ci0gICAgdm9pZCBiZWdpblRy
YW5zcGFyZW5jeUxheWVyKCkge30KLSAgICB2b2lkIGVuZFRyYW5zcGFyZW5jeUxheWVyKCkge30K
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKQpAQCAtODQsMTUgKzg1LDI5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHRyYW5zbGF0ZShmbG9hdCwgZmxvYXQpOwogICAgIHZvaWQgY29uY2F0Q1RNKGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYpOwogICAgIHZvaWQgc2V0Q1RNKGNvbnN0IEFmZmluZVRyYW5z
Zm9ybSYpOwotICAgIHZvaWQgYmVnaW5UcmFuc3BhcmVuY3lMYXllcigpIHsgbV90cmFuc3BhcmVu
Y3lDb3VudCsrOyB9Ci0gICAgdm9pZCBlbmRUcmFuc3BhcmVuY3lMYXllcigpIHsgbV90cmFuc3Bh
cmVuY3lDb3VudC0tOyB9CiAKICAgICBIREMgbV9oZGM7Ci0gICAgdW5zaWduZWQgbV90cmFuc3Bh
cmVuY3lDb3VudDsKICAgICBib29sIG1fc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93czsKICNlbmRp
ZgogCisgICAgdm9pZCBiZWdpblRyYW5zcGFyZW5jeUxheWVyKCkKKyAgICB7CisjaWYgUExBVEZP
Uk0oV0lOKSB8fCAhQVNTRVJUX0RJU0FCTEVECisgICAgICAgIG1fdHJhbnNwYXJlbmN5Q291bnQr
KzsKKyNlbmRpZgorICAgIH0KKyAgICB2b2lkIGVuZFRyYW5zcGFyZW5jeUxheWVyKCkKKyAgICB7
CisjaWYgUExBVEZPUk0oV0lOKSB8fCAhQVNTRVJUX0RJU0FCTEVECisgICAgICAgIEFTU0VSVCht
X3RyYW5zcGFyZW5jeUNvdW50ID4gMCk7CisgICAgICAgIG1fdHJhbnNwYXJlbmN5Q291bnQtLTsK
KyNlbmRpZgorICAgIH0KKwogICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IG1fY2dDb250ZXh0
OworI2lmIFBMQVRGT1JNKFdJTikgfHwgIUFTU0VSVF9ESVNBQkxFRAorICAgIGludCBtX3RyYW5z
cGFyZW5jeUNvdW50OworI2VuZGlmCiAgICAgYm9vbCBtX3VzZXJUb0RldmljZVRyYW5zZm9ybUtu
b3duVG9CZUlkZW50aXR5OwogICAgIEdyYXBoaWNzQ29udGV4dENHRmxhZ3MgbV9jb250ZXh0Rmxh
Z3M7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCmluZGV4
IGFiODMyMzZkODIxMTQ4YzE2Y2UwMDZjNDIyMjg0ZGI3Nzg0ZTgyMjkuLmZjMzlhOWZhOWI3OGY2
MjZiNDI4OTZkOTZiOTRiN2E2ZjhjNWEwMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5jcHAKQEAgLTg5NSw3ICs4OTUsNiBAQCB2b2lkIElubGluZVRleHRCb3g6
OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9p
bnQmCiAgICAgYm9vbCBzZXRDbGlwID0gZmFsc2U7CiAgICAgaW50IGV4dHJhT2Zmc2V0ID0gMDsK
ICAgICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRvdyAmJiBzaGFkb3ctPm5leHQoKSkgewot
ICAgICAgICBjb250ZXh0LT5zYXZlKCk7IC8vIEZJWE1FOiB3aGVyZSBpcyB0aGUgYmFsYW5jaW5n
IHJlc3RvcmUoKT8KICAgICAgICAgRmxvYXRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBGbG9h
dFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwogICAgICAgICBmb3IgKGNvbnN0IFNoYWRvd0Rh
dGEqIHMgPSBzaGFkb3c7IHM7IHMgPSBzLT5uZXh0KCkpIHsKICAgICAgICAgICAgIEZsb2F0UmVj
dCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90663</attachid>
            <date>2011-04-21 20:47:05 -0700</date>
            <delta_ts>2011-04-21 21:08:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59109-20110421204704.patch</filename>
            <type>text/plain</type>
            <size>8662</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ1OTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZGQ5OTJkNWZjZTAwZTk3YzYwYWM5
NjdlYThmNWExNTM2MTExOWE0Li45MjFhMDBjNTI0NjMyMGExYzlhMmU4MWQ2OGI4NmRlNWVjYmRi
MDNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRXh0cmEgR3JhcGhpY3NDb250ZXh0OjpzYXZlKCkgaW4gSW5saW5lVGV4
dEJveDo6cGFpbnREZWNvcmF0aW9uKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU5MTA5CisgICAgICAgIAorICAgICAgICBUZXN0Y2FzZSB0aGF0IGV4
ZXJjaXNlcyB0aGUgZml4ZWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKCkgY29kZS4K
KworICAgICAgICAqIGZhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNoYWRvdy1hbHBoYS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNoYWRvdy1h
bHBoYS5odG1sOiBBZGRlZC4KKwogMjAxMS0wNC0yMSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBleHBlY3RhdGlvbnMgY2hhbmdlLiBU
cmlhZ2UgZmFpbHVyZSBmb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9tdWx0
aXBsZS10ZXh0LXNoYWRvdy1hbHBoYS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvbXVsdGlwbGUtdGV4dC1zaGFkb3ctYWxwaGEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2
MmFhMmFkOGUxOGIyODQzNDRjZWE4NGNhOGMwYjRiYWEwMzI3OGUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvbXVsdGlwbGUtdGV4dC1zaGFkb3ctYWxwaGEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBzaG91bGQgbm90IGFzc2VydC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNoYWRvdy1hbHBoYS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L211bHRpcGxlLXRleHQtc2hhZG93LWFscGhhLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWE3YzU5ZTg1MTdmN2IzODk0YWZiNWJjNmUxNTZhMzJhNzRkN2FhMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9tdWx0aXBsZS10ZXh0LXNo
YWRvdy1hbHBoYS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgcCB7CisgICAg
ICAgIHRleHQtc2hhZG93OiAwIC0xMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpLCAwIDEwcHgg
MTBweCByZ2JhKDAsIDEyOCwgMCwgMC41KTsKKyAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRl
cmxpbmU7CisgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7CisgICAgfQorICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5UaGlzIHRlc3Qgc2hvdWxkIG5vdCBhc3Nl
cnQuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA3YTM2YjkzZjM5ZWUxMzE4
MWVkNmRkZWM4NTUzOWUzZTFjYmEyOGQuLjM1NjE2MTYxZmQ4MWY3NmExNjE4MmI2MzhiYmNmOGVi
MDc0NTY0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMS0wNC0yMSAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRyYSBHcmFwaGljc0NvbnRleHQ6OnNhdmUoKSBp
biBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMDkKKyAgICAgICAgCisgICAgICAgIFJlbW92
ZSBhbiBleHRyYW5lb3VzIEdyYXBoaWNzQ29udGV4dDo6c2F2ZSgpIGluIElubGluZVRleHRCb3g6
OnBhaW50RGVjb3JhdGlvbigpLgorICAgICAgICAKKyAgICAgICAgQWRkIGFuIGFzc2VydGlvbiB0
aGF0IGZpcmVzIHdoZW4gYSBHcmFwaGljc0NvbnRleHQoKSBpcyBkZXN0cm95ZWQgd2l0aCBhIG5v
bi0KKyAgICAgICAgZW1wdHkgc3RhdGUgc3RhY2suIEZpeCBjYW52YXMgdG8gYXZvaWQgdGhpcyBh
c3NlcnRpb24sIHNpbmNlIGJhZCBjb250ZW50IG1pZ2h0CisgICAgICAgIHRyaWdnZXIgaXQuCisg
ICAgICAgIAorICAgICAgICBBbHNvIGFkZCBhbiBhc3NlcnRpb24gdGhhdCBmaXJlcyBmb3IgbWlz
bWF0Y2hlZCBiZWdpbi9lbmRUcmFuc3BhcmVuY3lMYXllcnMuCisKKyAgICAgICAgVGVzdDogZmFz
dC90ZXh0L211bHRpcGxlLXRleHQtc2hhZG93LWFscGhhLmh0bWwKKworICAgICAgICAqIGh0bWwv
SFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1l
bnQ6On5IVE1MQ2FudmFzRWxlbWVudCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6fkdy
YXBoaWNzQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnN0YWNrRGVwdGgpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZUNHLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGU6OkdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6On5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRl
OjpiZWdpblRyYW5zcGFyZW5jeUxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZTo6ZW5kVHJhbnNwYXJlbmN5TGF5ZXIpOgorICAgICAgICAqIHJl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRC
b3g6OnBhaW50RGVjb3JhdGlvbik6CisKIDIwMTEtMDQtMjEgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCA5NmNkMmE5MzRhZmQy
OGUxZDlhMzIwNjk0YWYyMjViOWZlN2Q2OTdkLi40OGVlZTc4ZDdjZjgyN2VjNGM2ZTRhNjdlNzY1
N2RlZjY4MTVlNDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNw
cApAQCAtOTgsNiArOTgsMTQgQEAgUGFzc1JlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4gSFRNTENh
bnZhc0VsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWcKIAogSFRNTENhbnZh
c0VsZW1lbnQ6On5IVE1MQ2FudmFzRWxlbWVudCgpCiB7CisjaWYgIUFTU0VSVF9ESVNBQkxFRAor
ICAgIC8vIERlYWwgd2l0aCBtaXNtYXRjaGVkIHNhdmUvcmVzdG9yZSBjYWxscyBmcm9tIGNvbnRl
bnQuCisgICAgaWYgKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGRyYXdpbmdDb250ZXh0KCkp
IHsKKyAgICAgICAgd2hpbGUgKGNvbnRleHQtPnN0YWNrRGVwdGgoKSkKKyAgICAgICAgICAgIGNv
bnRleHQtPnJlc3RvcmUoKTsKKyAgICB9CisjZW5kaWYKKwogICAgIEhhc2hTZXQ8Q2FudmFzT2Jz
ZXJ2ZXIqPjo6aXRlcmF0b3IgZW5kID0gbV9vYnNlcnZlcnMuZW5kKCk7CiAgICAgZm9yIChIYXNo
U2V0PENhbnZhc09ic2VydmVyKj46Oml0ZXJhdG9yIGl0ID0gbV9vYnNlcnZlcnMuYmVnaW4oKTsg
aXQgIT0gZW5kOyArK2l0KQogICAgICAgICAoKml0KS0+Y2FudmFzRGVzdHJveWVkKHRoaXMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5jcHAKaW5kZXggMzBlYThmYmM4M2NlYWNkNjY1NmQwNzA0MWY0ZThkMTZkM2Q1YjZmNi4uYWVk
MjQ4ODI5NzBhMWRjYmMzMWU4ZmI4MjhjOGE4NzY4YjMyY2RhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC04NCw2
ICs4NCw3IEBAIEdyYXBoaWNzQ29udGV4dDo6R3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhp
Y3NDb250ZXh0KiBwbGF0Zm9ybUdyYXBoaWNzQ29udGV4CiAKIEdyYXBoaWNzQ29udGV4dDo6fkdy
YXBoaWNzQ29udGV4dCgpCiB7CisgICAgQVNTRVJUKG1fc3RhY2suaXNFbXB0eSgpKTsKICAgICBw
bGF0Zm9ybURlc3Ryb3koKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBhNmZkNmRhNTkzY2IxMThiNGZiMmY2NzRm
ZGI4MGNiNTc3ZGQwODJjLi41NTI3MGNjNGY3MDIyZTkxMjNkN2M3NzQ2ZTUxMTk5YmJkNjAxYjNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuaApAQCAtMjgwLDYgKzI4MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICB2b2lkIHNhdmUoKTsKICAgICAgICAgdm9pZCByZXN0b3JlKCk7CisgICAgICAgIHNpemVfdCBz
dGFja0RlcHRoKCkgY29uc3QgeyByZXR1cm4gbV9zdGFjay5zaXplKCk7IH0KIAogICAgICAgICAv
LyBUaGVzZSBkcmF3IG1ldGhvZHMgd2lsbCBkbyBib3RoIHN0cm9raW5nIGFuZCBmaWxsaW5nLgog
ICAgICAgICAvLyBGSVhNRTogLi4uZXhjZXB0IGRyYXdSZWN0KCksIHdoaWNoIGZpbGxzIHByb3Bl
cmx5IGJ1dCBhbHdheXMgc3Ryb2tlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ0cuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZUNHLmgKaW5kZXggNzIyZjVhMGQxZmE1YjQ0ZjZhOTNkYmRhNTgyMzBmY2NlNmU0OGY0ZS4u
ZjRmYTEyMmFjNDNjMTNmN2ZmZmUyM2UxNGUxOGI0OGJkZWZhNDVhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlQ0cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oCkBAIC00NCw5ICs0NCwxMSBAQCBwdWJsaWM6
CiAgICAgICAgIDogbV9jZ0NvbnRleHQoY2dDb250ZXh0KQogI2lmIFBMQVRGT1JNKFdJTikKICAg
ICAgICAgLCBtX2hkYygwKQotICAgICAgICAsIG1fdHJhbnNwYXJlbmN5Q291bnQoMCkKICAgICAg
ICAgLCBtX3Nob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoZmFsc2UpCiAjZW5kaWYKKyNpZiBQTEFU
Rk9STShXSU4pIHx8ICFBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgLCBtX3RyYW5zcGFyZW5jeUNv
dW50KDApCisjZW5kaWYKICAgICAgICAgLCBtX3VzZXJUb0RldmljZVRyYW5zZm9ybUtub3duVG9C
ZUlkZW50aXR5KGZhbHNlKQogICAgICAgICAsIG1fY29udGV4dEZsYWdzKGZsYWdzKQogICAgIHsK
QEAgLTU0LDYgKzU2LDcgQEAgcHVibGljOgogICAgIAogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUoKQogICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX3RyYW5zcGFyZW5jeUNvdW50
KTsKICAgICB9CiAKICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQpAQCAt
NjgsOCArNzEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB0cmFuc2xhdGUoZmxvYXQsIGZsb2F0KSB7
fQogICAgIHZvaWQgY29uY2F0Q1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIHt9CiAgICAgdm9p
ZCBzZXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJikge30KLSAgICB2b2lkIGJlZ2luVHJhbnNw
YXJlbmN5TGF5ZXIoKSB7fQotICAgIHZvaWQgZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKSB7fQogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShXSU4pCkBAIC04NCwxNSArODUsMjkgQEAgcHVibGljOgogICAg
IHZvaWQgdHJhbnNsYXRlKGZsb2F0LCBmbG9hdCk7CiAgICAgdm9pZCBjb25jYXRDVE0oY29uc3Qg
QWZmaW5lVHJhbnNmb3JtJik7CiAgICAgdm9pZCBzZXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3Jt
Jik7Ci0gICAgdm9pZCBiZWdpblRyYW5zcGFyZW5jeUxheWVyKCkgeyBtX3RyYW5zcGFyZW5jeUNv
dW50Kys7IH0KLSAgICB2b2lkIGVuZFRyYW5zcGFyZW5jeUxheWVyKCkgeyBtX3RyYW5zcGFyZW5j
eUNvdW50LS07IH0KIAogICAgIEhEQyBtX2hkYzsKLSAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5j
eUNvdW50OwogICAgIGJvb2wgbV9zaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzOwogI2VuZGlmCiAK
KyAgICB2b2lkIGJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoKQorICAgIHsKKyNpZiBQTEFURk9STShX
SU4pIHx8ICFBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgbV90cmFuc3BhcmVuY3lDb3VudCsrOwor
I2VuZGlmCisgICAgfQorICAgIHZvaWQgZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKQorICAgIHsKKyNp
ZiBQTEFURk9STShXSU4pIHx8ICFBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgQVNTRVJUKG1fdHJh
bnNwYXJlbmN5Q291bnQgPiAwKTsKKyAgICAgICAgbV90cmFuc3BhcmVuY3lDb3VudC0tOworI2Vu
ZGlmCisgICAgfQorCiAgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gbV9jZ0NvbnRleHQ7Cisj
aWYgUExBVEZPUk0oV0lOKSB8fCAhQVNTRVJUX0RJU0FCTEVECisgICAgaW50IG1fdHJhbnNwYXJl
bmN5Q291bnQ7CisjZW5kaWYKICAgICBib29sIG1fdXNlclRvRGV2aWNlVHJhbnNmb3JtS25vd25U
b0JlSWRlbnRpdHk7CiAgICAgR3JhcGhpY3NDb250ZXh0Q0dGbGFncyBtX2NvbnRleHRGbGFnczsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggYWI4
MzIzNmQ4MjExNDhjMTZjZTAwNmM0MjIyODRkYjc3ODRlODIyOS4uZmMzOWE5ZmE5Yjc4ZjYyNmI0
Mjg5NmQ5NmI5NGI3YTZmOGM1YTAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVUZXh0Qm94LmNwcApAQCAtODk1LDcgKzg5NSw2IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYK
ICAgICBib29sIHNldENsaXAgPSBmYWxzZTsKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwogICAg
IGlmICghbGluZXNBcmVPcGFxdWUgJiYgc2hhZG93ICYmIHNoYWRvdy0+bmV4dCgpKSB7Ci0gICAg
ICAgIGNvbnRleHQtPnNhdmUoKTsgLy8gRklYTUU6IHdoZXJlIGlzIHRoZSBiYWxhbmNpbmcgcmVz
dG9yZSgpPwogICAgICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6
ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSog
cyA9IHNoYWRvdzsgczsgcyA9IHMtPm5leHQoKSkgewogICAgICAgICAgICAgRmxvYXRSZWN0IHNo
YWRvd1JlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7Cg==
</data>
<flag name="review"
          id="83421"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>