<?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>98692</bug_id>
          
          <creation_ts>2012-10-08 15:02:44 -0700</creation_ts>
          <short_desc>Modify LayoutState ASSERTS to support SATURATED_LAYOUT_ARITHMETIC</short_desc>
          <delta_ts>2012-10-23 09:23:22 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95053</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>inferno</cc>
    
    <cc>leviw</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>737092</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-08 15:02:44 -0700</bug_when>
    <thetext>We currently overflow/wrap when computing the delta in RenderBlock::setLogicalTopForChild in cases where we have an element width a width or height exceeding maxLayoutUnit. When the delta is later added back in RenderBlock::layoutBlockChild the number wraps again getting us back to the correct value.

With SATURATED_LAYOUT_ARITHMETIC enabled the values no longer wraps, which seems like the correct thing to do however this causes the compare to fail for obvious reasons. By accounting for this we can keep the asserts (which have proven very helpful) even when SATURATED_LAYOUT_ARITHMETIC is turned on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737095</commentid>
    <comment_count>1</comment_count>
      <attachid>167625</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-08 15:04:00 -0700</bug_when>
    <thetext>Created attachment 167625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738137</commentid>
    <comment_count>2</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-09 13:31:38 -0700</bug_when>
    <thetext>Eric, would you mind reviewing this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738138</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-09 13:33:47 -0700</bug_when>
    <thetext>Mitz is the original author of LayoutDelta and LayoutState and is your best reviewer here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738142</commentid>
    <comment_count>4</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-09 13:35:09 -0700</bug_when>
    <thetext>Great, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746516</commentid>
    <comment_count>5</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-19 12:08:03 -0700</bug_when>
    <thetext>Mitz, any chance you could take a look at this in the next couple of days? Would like to get your feedback on the approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747174</commentid>
    <comment_count>6</comment_count>
      <attachid>167625</attachid>
    <who name="">mitz</who>
    <bug_when>2012-10-21 17:38:30 -0700</bug_when>
    <thetext>Comment on attachment 167625
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        element width a width or height exceeding maxLayoutUnit. When

Typo: “width a width”</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747619</commentid>
    <comment_count>7</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-22 09:32:48 -0700</bug_when>
    <thetext>Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747660</commentid>
    <comment_count>8</comment_count>
      <attachid>169935</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-22 10:21:57 -0700</bug_when>
    <thetext>Created attachment 169935
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747687</commentid>
    <comment_count>9</comment_count>
      <attachid>169935</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 10:47:00 -0700</bug_when>
    <thetext>Comment on attachment 169935
Patch for landing

Clearing flags on attachment: 169935

Committed r132105: &lt;http://trac.webkit.org/changeset/132105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747688</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 10:47:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747740</commentid>
    <comment_count>11</comment_count>
      <attachid>169935</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-22 11:57:38 -0700</bug_when>
    <thetext>Comment on attachment 169935
Patch for landing

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

&gt; Source/WebCore/rendering/LayoutState.cpp:39
&gt; +    : m_clipped(false)

Why make this change? m_clipped is set unconditionally below. Just for #if convenience?

&gt; Source/WebCore/rendering/LayoutState.cpp:43
&gt; +#if !ASSERT_DISABLED &amp;&amp; ENABLE(SATURATED_LAYOUT_ARITHMETIC)
&gt; +    , m_layoutDeltaXSaturated(false)
&gt; +    , m_layoutDeltaYSaturated(false)
&gt; +#endif

Why initialize these here since they are unconditionally set in the function body below? This makes things more ugly for no real reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747744</commentid>
    <comment_count>12</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-22 12:02:23 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 169935 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169935&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/LayoutState.cpp:39
&gt; &gt; +    : m_clipped(false)
&gt; 
&gt; Why make this change? m_clipped is set unconditionally below. Just for #if convenience?

Got a compiler warning about out of order initialization without it.

&gt; 
&gt; &gt; Source/WebCore/rendering/LayoutState.cpp:43
&gt; &gt; +#if !ASSERT_DISABLED &amp;&amp; ENABLE(SATURATED_LAYOUT_ARITHMETIC)
&gt; &gt; +    , m_layoutDeltaXSaturated(false)
&gt; &gt; +    , m_layoutDeltaYSaturated(false)
&gt; &gt; +#endif
&gt; 
&gt; Why initialize these here since they are unconditionally set in the function body below? This makes things more ugly for no real reason.

You are right, these are not needed. I&apos;ll remove them.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748145</commentid>
    <comment_count>13</comment_count>
      <attachid>169935</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-22 17:59:15 -0700</bug_when>
    <thetext>Comment on attachment 169935
Patch for landing

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

&gt;&gt;&gt; Source/WebCore/rendering/LayoutState.cpp:39
&gt;&gt;&gt; +    : m_clipped(false)
&gt;&gt; 
&gt;&gt; Why make this change? m_clipped is set unconditionally below. Just for #if convenience?
&gt; 
&gt; Got a compiler warning about out of order initialization without it.

I don’t understand. Despite you reporting that, I am pretty sure you can remove this without creating a warning, particularly now that you have removed the initialization of the two new fields.

This constructor should revert to exactly how it was before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748716</commentid>
    <comment_count>14</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-10-23 09:23:22 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; I don’t understand. Despite you reporting that, I am pretty sure you can remove this without creating a warning, particularly now that you have removed the initialization of the two new fields.

You are right, without the (unnecessary) initialization it is not needed. Reverted back to how it was before in r132233.

Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167625</attachid>
            <date>2012-10-08 15:04:00 -0700</date>
            <delta_ts>2012-10-22 10:21:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98692-20121008150302.patch</filename>
            <type>text/plain</type>
            <size>6859</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMDY4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEwLTA4ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb2RpZnkgTGF5b3V0U3RhdGUg
QVNTRVJUUyB0byBzdXBwb3J0IFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjdXJyZW50bHkgb3ZlcmZs
b3cvd3JhcCB3aGVuIGNvbXB1dGluZyB0aGUgZGVsdGEgaW4KKyAgICAgICAgUmVuZGVyQmxvY2s6
OnNldExvZ2ljYWxUb3BGb3JDaGlsZCBpbiBjYXNlcyB3aGVyZSB3ZSBoYXZlIGFuCisgICAgICAg
IGVsZW1lbnQgd2lkdGggYSB3aWR0aCBvciBoZWlnaHQgZXhjZWVkaW5nIG1heExheW91dFVuaXQu
IFdoZW4KKyAgICAgICAgdGhlIGRlbHRhIGlzIGxhdGVyIGFkZGVkIGJhY2sgaW4gUmVuZGVyQmxv
Y2s6OmxheW91dEJsb2NrQ2hpbGQKKyAgICAgICAgdGhlIG51bWJlciB3cmFwcyBhZ2FpbiBnZXR0
aW5nIHVzIGJhY2sgdG8gdGhlIGNvcnJlY3QgdmFsdWUuCisKKyAgICAgICAgV2l0aCBTQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMgZW5hYmxlZCB0aGUgdmFsdWVzIG5vIGxvbmdlcgorICAgICAg
ICB3cmFwcywgd2hpY2ggc2VlbXMgbGlrZSB0aGUgY29ycmVjdCB0aGluZyB0byBkbyBob3dldmVy
IHRoaXMKKyAgICAgICAgY2F1c2VzIHRoZSBjb21wYXJlIHRvIGZhaWwgZm9yIG9idmlvdXMgcmVh
c29ucy4gQnkgYWNjb3VudGluZworICAgICAgICBmb3IgdGhpcyB3ZSBjYW4ga2VlcCB0aGUgYXNz
ZXJ0cyAod2hpY2ggaGF2ZSBwcm92ZW4gdmVyeQorICAgICAgICBoZWxwZnVsKSBldmVuIHdoZW4g
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDIGlzIHR1cm5lZCBvbi4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvTGF5b3V0U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OkxheW91
dFN0YXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0U3RhdGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRTdGF0ZSk6CisgICAgICAgIChMYXlvdXRTdGF0ZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpsYXlvdXRCbG9ja0NoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJW
aWV3OjphZGRMYXlvdXREZWx0YSk6CisgICAgICAgIChSZW5kZXJWaWV3KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclZpZXc6OmxheW91dERlbHRhTWF0Y2hlcyk6CisKIDIwMTItMTAtMDggIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCByZW5kZXIgb2JqZWN0IHRo
YXQgcGFpbnRzIHBsdWdpbiBzbmFwc2hvdHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRTdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmNwcAkocmV2aXNpb24gMTMwMzMwKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0xheW91dFN0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsMTIgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKExheW91dFN0
YXRlKiBwcmV2LCBSZW5kZXJCb3gqIHJlbmRlcmVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQs
IExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHQsIGJvb2wgcGFnZUxvZ2ljYWxIZWlnaHRDaGFu
Z2VkLCBDb2x1bW5JbmZvKiBjb2x1bW5JbmZvKQotICAgIDogbV9jb2x1bW5JbmZvKGNvbHVtbklu
Zm8pCisgICAgOiBtX2NsaXBwZWQoZmFsc2UpCisjaWYgIUFTU0VSVF9ESVNBQkxFRCAmJiBFTkFC
TEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQorICAgICwgbV9sYXlvdXREZWx0YVhTYXR1
cmF0ZWQoZmFsc2UpCisgICAgLCBtX2xheW91dERlbHRhWVNhdHVyYXRlZChmYWxzZSkKKyNlbmRp
ZgorICAgICwgbV9jb2x1bW5JbmZvKGNvbHVtbkluZm8pCiAgICAgLCBtX2xpbmVHcmlkKDApCiAg
ICAgLCBtX25leHQocHJldikKICNpZm5kZWYgTkRFQlVHCkBAIC0xMTksNiArMTI0LDEwIEBAIExh
eW91dFN0YXRlOjpMYXlvdXRTdGF0ZShMYXlvdXRTdGF0ZSogcHIKICNlbmRpZgogCiAgICAgbV9s
YXlvdXREZWx0YSA9IG1fbmV4dC0+bV9sYXlvdXREZWx0YTsKKyNpZiAhQVNTRVJUX0RJU0FCTEVE
ICYmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisgICAgbV9sYXlvdXREZWx0
YVhTYXR1cmF0ZWQgPSBtX25leHQtPm1fbGF5b3V0RGVsdGFYU2F0dXJhdGVkOworICAgIG1fbGF5
b3V0RGVsdGFZU2F0dXJhdGVkID0gbV9uZXh0LT5tX2xheW91dERlbHRhWVNhdHVyYXRlZDsKKyNl
bmRpZgogICAgIAogICAgIG1faXNQYWdpbmF0ZWQgPSBtX3BhZ2VMb2dpY2FsSGVpZ2h0IHx8IG1f
Y29sdW1uSW5mbyB8fCByZW5kZXJlci0+aXNSZW5kZXJGbG93VGhyZWFkKCk7CiAKQEAgLTEzNSw2
ICsxNDQsMTAgQEAgTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKExheW91dFN0YXRlKiBwcgogTGF5
b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRlck9iamVjdCogcm9vdCkKICAgICA6IG1fY2xpcHBl
ZChmYWxzZSkKICAgICAsIG1faXNQYWdpbmF0ZWQoZmFsc2UpCisjaWYgIUFTU0VSVF9ESVNBQkxF
RCAmJiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQorICAgICwgbV9sYXlvdXRE
ZWx0YVhTYXR1cmF0ZWQoZmFsc2UpCisgICAgLCBtX2xheW91dERlbHRhWVNhdHVyYXRlZChmYWxz
ZSkKKyNlbmRpZiAgICAKICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHQoMCkKICAgICAsIG1fcGFn
ZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKGZhbHNlKQogICAgICwgbV9jb2x1bW5JbmZvKDApCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAkocmV2aXNpb24gMTMwMzMwKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDYgKzQ4LDEwIEBAIHB1YmxpYzoKICAgICBMYXlvdXRTdGF0ZSgpCiAgICAgICAgIDog
bV9jbGlwcGVkKGZhbHNlKQogICAgICAgICAsIG1faXNQYWdpbmF0ZWQoZmFsc2UpCisjaWYgIUFT
U0VSVF9ESVNBQkxFRCAmJiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQorICAg
ICAgICAsIG1fbGF5b3V0RGVsdGFYU2F0dXJhdGVkKGZhbHNlKQorICAgICAgICAsIG1fbGF5b3V0
RGVsdGFZU2F0dXJhdGVkKGZhbHNlKQorI2VuZGlmCiAgICAgICAgICwgbV9wYWdlTG9naWNhbEhl
aWdodCgwKQogICAgICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKGZhbHNlKQogICAg
ICAgICAsIG1fY29sdW1uSW5mbygwKQpAQCAtMTA5LDYgKzExMywxMCBAQCBwcml2YXRlOgogcHVi
bGljOgogICAgIGJvb2wgbV9jbGlwcGVkOwogICAgIGJvb2wgbV9pc1BhZ2luYXRlZDsKKyNpZiAh
QVNTRVJUX0RJU0FCTEVEICYmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisg
ICAgYm9vbCBtX2xheW91dERlbHRhWFNhdHVyYXRlZDsKKyAgICBib29sIG1fbGF5b3V0RGVsdGFZ
U2F0dXJhdGVkOworI2VuZGlmCiAgICAgTGF5b3V0UmVjdCBtX2NsaXBSZWN0OwogICAgIAogICAg
IC8vIHgveSBvZmZzZXQgZnJvbSBjb250YWluZXIuIEluY2x1ZGVzIHJlbGF0aXZlIHBvc2l0aW9u
aW5nIGFuZCBzY3JvbGwgb2Zmc2V0cy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAkocmV2aXNpb24gMTMwMzMwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3NCw3ICsyNTc0LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2tDaGlsZChSZW5kZQogICAgICAgICAgICAgc2V0
TG9naWNhbEhlaWdodChuZXdIZWlnaHQpOwogICAgIH0KIAotICAgIEFTU0VSVChvbGRMYXlvdXRE
ZWx0YSA9PSB2aWV3KCktPmxheW91dERlbHRhKCkpOworICAgIEFTU0VSVCh2aWV3KCktPmxheW91
dERlbHRhTWF0Y2hlcyhvbGRMYXlvdXREZWx0YSkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrOjpz
aW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiAxMzAzMzApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw3ICsxNjksNyBAQCB2
b2lkIFJlbmRlclZpZXc6OmxheW91dCgpCiAgICAgICAgICAgICBmbG93VGhyZWFkQ29udHJvbGxl
cigpLT5sYXlvdXRSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCk7CiAgICAgfQogCi0gICAgQVNTRVJU
KGxheW91dERlbHRhKCkgPT0gTGF5b3V0U2l6ZSgpKTsKKyAgICBBU1NFUlQobGF5b3V0RGVsdGFN
YXRjaGVzKExheW91dFNpemUoKSkpOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlRGlzYWJsZUNv
dW50ID09IDApOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlID09ICZzdGF0ZSk7CiAgICAgbV9s
YXlvdXRTdGF0ZSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJ
KHJldmlzaW9uIDEzMDMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw5ICsxMjQsMjcgQEAgcHVibGljOgogICAgIH0KICAg
ICB2b2lkIGFkZExheW91dERlbHRhKGNvbnN0IExheW91dFNpemUmIGRlbHRhKSAKICAgICB7Ci0g
ICAgICAgIGlmIChtX2xheW91dFN0YXRlKQorICAgICAgICBpZiAobV9sYXlvdXRTdGF0ZSkgewog
ICAgICAgICAgICAgbV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YSArPSBkZWx0YTsKKyNpZiAh
QVNTRVJUX0RJU0FCTEVEICYmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisg
ICAgICAgICAgICBtX2xheW91dFN0YXRlLT5tX2xheW91dERlbHRhWFNhdHVyYXRlZCB8PSBtX2xh
eW91dFN0YXRlLT5tX2xheW91dERlbHRhLndpZHRoKCkgPT0gRnJhY3Rpb25hbExheW91dFVuaXQ6
Om1heCgpIHx8IG1fbGF5b3V0U3RhdGUtPm1fbGF5b3V0RGVsdGEud2lkdGgoKSA9PSBGcmFjdGlv
bmFsTGF5b3V0VW5pdDo6bWluKCk7CisgICAgICAgICAgICBtX2xheW91dFN0YXRlLT5tX2xheW91
dERlbHRhWVNhdHVyYXRlZCB8PSBtX2xheW91dFN0YXRlLT5tX2xheW91dERlbHRhLmhlaWdodCgp
ID09IEZyYWN0aW9uYWxMYXlvdXRVbml0OjptYXgoKSB8fCBtX2xheW91dFN0YXRlLT5tX2xheW91
dERlbHRhLmhlaWdodCgpID09IEZyYWN0aW9uYWxMYXlvdXRVbml0OjptaW4oKTsKKyNlbmRpZgor
ICAgICAgICB9CiAgICAgfQorICAgIAorI2lmICFBU1NFUlRfRElTQUJMRUQKKyAgICBib29sIGxh
eW91dERlbHRhTWF0Y2hlcyhjb25zdCBMYXlvdXRTaXplJiBkZWx0YSkKKyAgICB7CisgICAgICAg
IGlmICghbV9sYXlvdXRTdGF0ZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBFTkFC
TEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQorICAgICAgICByZXR1cm4gKGRlbHRhLndp
ZHRoKCkgPT0gbV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YS53aWR0aCgpIHx8IG1fbGF5b3V0
U3RhdGUtPm1fbGF5b3V0RGVsdGFYU2F0dXJhdGVkKSAmJiAoZGVsdGEuaGVpZ2h0KCkgPT0gbV9s
YXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YS5oZWlnaHQoKSB8fCBtX2xheW91dFN0YXRlLT5tX2xh
eW91dERlbHRhWVNhdHVyYXRlZCk7CisjZWxzZQorICAgICAgICByZXR1cm4gZGVsdGEgPT0gbV9s
YXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YTsKKyNlbmRpZgorICAgIH0KKyNlbmRpZgogCiAgICAg
Ym9vbCBkb2luZ0Z1bGxSZXBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZVZpZXctPm5lZWRz
RnVsbFJlcGFpbnQoKTsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169935</attachid>
            <date>2012-10-22 10:21:57 -0700</date>
            <delta_ts>2012-10-22 17:59:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-98692-20121022102036.patch</filename>
            <type>text/plain</type>
            <size>6881</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjA4OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEwLTIyICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb2RpZnkgTGF5b3V0U3RhdGUg
QVNTRVJUUyB0byBzdXBwb3J0IFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg2OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgorCisgICAgICAgIFdlIGN1cnJlbnRseSBvdmVyZmxv
dy93cmFwIHdoZW4gY29tcHV0aW5nIHRoZSBkZWx0YSBpbgorICAgICAgICBSZW5kZXJCbG9jazo6
c2V0TG9naWNhbFRvcEZvckNoaWxkIGluIGNhc2VzIHdoZXJlIHdlIGhhdmUgYW4KKyAgICAgICAg
ZWxlbWVudCB3aXRoIGEgd2lkdGggb3IgaGVpZ2h0IGV4Y2VlZGluZyBtYXhMYXlvdXRVbml0LiBX
aGVuCisgICAgICAgIHRoZSBkZWx0YSBpcyBsYXRlciBhZGRlZCBiYWNrIGluIFJlbmRlckJsb2Nr
OjpsYXlvdXRCbG9ja0NoaWxkCisgICAgICAgIHRoZSBudW1iZXIgd3JhcHMgYWdhaW4gZ2V0dGlu
ZyB1cyBiYWNrIHRvIHRoZSBjb3JyZWN0IHZhbHVlLgorCisgICAgICAgIFdpdGggU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDIGVuYWJsZWQgdGhlIHZhbHVlcyBubyBsb25nZXIKKyAgICAgICAg
d3JhcHMsIHdoaWNoIHNlZW1zIGxpa2UgdGhlIGNvcnJlY3QgdGhpbmcgdG8gZG8gaG93ZXZlciB0
aGlzCisgICAgICAgIGNhdXNlcyB0aGUgY29tcGFyZSB0byBmYWlsIGZvciBvYnZpb3VzIHJlYXNv
bnMuIEJ5IGFjY291bnRpbmcKKyAgICAgICAgZm9yIHRoaXMgd2UgY2FuIGtlZXAgdGhlIGFzc2Vy
dHMgKHdoaWNoIGhhdmUgcHJvdmVuIHZlcnkKKyAgICAgICAgaGVscGZ1bCkgZXZlbiB3aGVuIFNB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyBpcyB0dXJuZWQgb24uCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5n
L0xheW91dFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRT
dGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUpOgorICAgICAgICAoTGF5b3V0U3RhdGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6bGF5b3V0QmxvY2tDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF5b3V0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmll
dzo6YWRkTGF5b3V0RGVsdGEpOgorICAgICAgICAoUmVuZGVyVmlldyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3OjpsYXlvdXREZWx0YU1hdGNoZXMpOgorCiAyMDEyLTEwLTE2ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIHRpbWVsaW5lIGluc3RydW1lbnRhdGlvbiBmb3Igc2Nyb2xsaW5nIG9mIGEgbGF5ZXIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAkocmV2aXNpb24g
MTMyMDg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsMTIgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTGF5
b3V0U3RhdGU6OkxheW91dFN0YXRlKExheW91dFN0YXRlKiBwcmV2LCBSZW5kZXJCb3gqIHJlbmRl
cmVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWln
aHQsIGJvb2wgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkLCBDb2x1bW5JbmZvKiBjb2x1bW5JbmZv
KQotICAgIDogbV9jb2x1bW5JbmZvKGNvbHVtbkluZm8pCisgICAgOiBtX2NsaXBwZWQoZmFsc2Up
CisjaWYgIUFTU0VSVF9ESVNBQkxFRCAmJiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKQorICAgICwgbV9sYXlvdXREZWx0YVhTYXR1cmF0ZWQoZmFsc2UpCisgICAgLCBtX2xheW91
dERlbHRhWVNhdHVyYXRlZChmYWxzZSkKKyNlbmRpZgorICAgICwgbV9jb2x1bW5JbmZvKGNvbHVt
bkluZm8pCiAgICAgLCBtX2xpbmVHcmlkKDApCiAgICAgLCBtX25leHQocHJldikKICNpZm5kZWYg
TkRFQlVHCkBAIC0xMTksNiArMTI0LDEwIEBAIExheW91dFN0YXRlOjpMYXlvdXRTdGF0ZShMYXlv
dXRTdGF0ZSogcHIKICNlbmRpZgogCiAgICAgbV9sYXlvdXREZWx0YSA9IG1fbmV4dC0+bV9sYXlv
dXREZWx0YTsKKyNpZiAhQVNTRVJUX0RJU0FCTEVEICYmIEVOQUJMRShTQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpCisgICAgbV9sYXlvdXREZWx0YVhTYXR1cmF0ZWQgPSBtX25leHQtPm1fbGF5
b3V0RGVsdGFYU2F0dXJhdGVkOworICAgIG1fbGF5b3V0RGVsdGFZU2F0dXJhdGVkID0gbV9uZXh0
LT5tX2xheW91dERlbHRhWVNhdHVyYXRlZDsKKyNlbmRpZgogICAgIAogICAgIG1faXNQYWdpbmF0
ZWQgPSBtX3BhZ2VMb2dpY2FsSGVpZ2h0IHx8IG1fY29sdW1uSW5mbyB8fCByZW5kZXJlci0+aXNS
ZW5kZXJGbG93VGhyZWFkKCk7CiAKQEAgLTEzNSw2ICsxNDQsMTAgQEAgTGF5b3V0U3RhdGU6Okxh
eW91dFN0YXRlKExheW91dFN0YXRlKiBwcgogTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRl
ck9iamVjdCogcm9vdCkKICAgICA6IG1fY2xpcHBlZChmYWxzZSkKICAgICAsIG1faXNQYWdpbmF0
ZWQoZmFsc2UpCisjaWYgIUFTU0VSVF9ESVNBQkxFRCAmJiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKQorICAgICwgbV9sYXlvdXREZWx0YVhTYXR1cmF0ZWQoZmFsc2UpCisgICAg
LCBtX2xheW91dERlbHRhWVNhdHVyYXRlZChmYWxzZSkKKyNlbmRpZiAgICAKICAgICAsIG1fcGFn
ZUxvZ2ljYWxIZWlnaHQoMCkKICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKGZhbHNl
KQogICAgICwgbV9jb2x1bW5JbmZvKDApCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5b3V0U3RhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5
b3V0U3RhdGUuaAkocmV2aXNpb24gMTMyMDg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDEwIEBAIHB1YmxpYzoK
ICAgICBMYXlvdXRTdGF0ZSgpCiAgICAgICAgIDogbV9jbGlwcGVkKGZhbHNlKQogICAgICAgICAs
IG1faXNQYWdpbmF0ZWQoZmFsc2UpCisjaWYgIUFTU0VSVF9ESVNBQkxFRCAmJiBFTkFCTEUoU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQorICAgICAgICAsIG1fbGF5b3V0RGVsdGFYU2F0dXJh
dGVkKGZhbHNlKQorICAgICAgICAsIG1fbGF5b3V0RGVsdGFZU2F0dXJhdGVkKGZhbHNlKQorI2Vu
ZGlmCiAgICAgICAgICwgbV9wYWdlTG9naWNhbEhlaWdodCgwKQogICAgICAgICAsIG1fcGFnZUxv
Z2ljYWxIZWlnaHRDaGFuZ2VkKGZhbHNlKQogICAgICAgICAsIG1fY29sdW1uSW5mbygwKQpAQCAt
MTA5LDYgKzExMywxMCBAQCBwcml2YXRlOgogcHVibGljOgogICAgIGJvb2wgbV9jbGlwcGVkOwog
ICAgIGJvb2wgbV9pc1BhZ2luYXRlZDsKKyNpZiAhQVNTRVJUX0RJU0FCTEVEICYmIEVOQUJMRShT
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisgICAgYm9vbCBtX2xheW91dERlbHRhWFNhdHVy
YXRlZDsKKyAgICBib29sIG1fbGF5b3V0RGVsdGFZU2F0dXJhdGVkOworI2VuZGlmCiAgICAgTGF5
b3V0UmVjdCBtX2NsaXBSZWN0OwogICAgIAogICAgIC8vIHgveSBvZmZzZXQgZnJvbSBjb250YWlu
ZXIuIEluY2x1ZGVzIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCBzY3JvbGwgb2Zmc2V0cy4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gMTMy
MDg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjU2Nyw3ICsyNTY3LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0Qmxv
Y2tDaGlsZChSZW5kZQogICAgICAgICAgICAgc2V0TG9naWNhbEhlaWdodChuZXdIZWlnaHQpOwog
ICAgIH0KIAotICAgIEFTU0VSVChvbGRMYXlvdXREZWx0YSA9PSB2aWV3KCktPmxheW91dERlbHRh
KCkpOworICAgIEFTU0VSVCh2aWV3KCktPmxheW91dERlbHRhTWF0Y2hlcyhvbGRMYXlvdXREZWx0
YSkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrOjpzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiAx
MzIwODkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFJlbmRlclZpZXc6OmxheW91dENvbnRl
bnQoY29uc3QgTGF5CiAjaWZuZGVmIE5ERUJVRwogdm9pZCBSZW5kZXJWaWV3OjpjaGVja0xheW91
dFN0YXRlKGNvbnN0IExheW91dFN0YXRlJiBzdGF0ZSkKIHsKLSAgICBBU1NFUlQobGF5b3V0RGVs
dGEoKSA9PSBMYXlvdXRTaXplKCkpOworICAgIEFTU0VSVChsYXlvdXREZWx0YU1hdGNoZXMoTGF5
b3V0U2l6ZSgpKSk7CiAgICAgQVNTRVJUKCFtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50KTsKICAg
ICBBU1NFUlQobV9sYXlvdXRTdGF0ZSA9PSAmc3RhdGUpOwogfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oCShyZXZpc2lvbiAxMzIwODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsOSArMTI0LDI3
IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdm9pZCBhZGRMYXlvdXREZWx0YShjb25zdCBMYXlvdXRT
aXplJiBkZWx0YSkgCiAgICAgewotICAgICAgICBpZiAobV9sYXlvdXRTdGF0ZSkKKyAgICAgICAg
aWYgKG1fbGF5b3V0U3RhdGUpIHsKICAgICAgICAgICAgIG1fbGF5b3V0U3RhdGUtPm1fbGF5b3V0
RGVsdGEgKz0gZGVsdGE7CisjaWYgIUFTU0VSVF9ESVNBQkxFRCAmJiBFTkFCTEUoU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKQorICAgICAgICAgICAgbV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXRE
ZWx0YVhTYXR1cmF0ZWQgfD0gbV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YS53aWR0aCgpID09
IEZyYWN0aW9uYWxMYXlvdXRVbml0OjptYXgoKSB8fCBtX2xheW91dFN0YXRlLT5tX2xheW91dERl
bHRhLndpZHRoKCkgPT0gRnJhY3Rpb25hbExheW91dFVuaXQ6Om1pbigpOworICAgICAgICAgICAg
bV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YVlTYXR1cmF0ZWQgfD0gbV9sYXlvdXRTdGF0ZS0+
bV9sYXlvdXREZWx0YS5oZWlnaHQoKSA9PSBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bWF4KCkgfHwg
bV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YS5oZWlnaHQoKSA9PSBGcmFjdGlvbmFsTGF5b3V0
VW5pdDo6bWluKCk7CisjZW5kaWYKKyAgICAgICAgfQogICAgIH0KKyAgICAKKyNpZiAhQVNTRVJU
X0RJU0FCTEVECisgICAgYm9vbCBsYXlvdXREZWx0YU1hdGNoZXMoY29uc3QgTGF5b3V0U2l6ZSYg
ZGVsdGEpCisgICAgeworICAgICAgICBpZiAoIW1fbGF5b3V0U3RhdGUpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisjaWYgRU5BQkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykKKyAg
ICAgICAgcmV0dXJuIChkZWx0YS53aWR0aCgpID09IG1fbGF5b3V0U3RhdGUtPm1fbGF5b3V0RGVs
dGEud2lkdGgoKSB8fCBtX2xheW91dFN0YXRlLT5tX2xheW91dERlbHRhWFNhdHVyYXRlZCkgJiYg
KGRlbHRhLmhlaWdodCgpID09IG1fbGF5b3V0U3RhdGUtPm1fbGF5b3V0RGVsdGEuaGVpZ2h0KCkg
fHwgbV9sYXlvdXRTdGF0ZS0+bV9sYXlvdXREZWx0YVlTYXR1cmF0ZWQpOworI2Vsc2UKKyAgICAg
ICAgcmV0dXJuIGRlbHRhID09IG1fbGF5b3V0U3RhdGUtPm1fbGF5b3V0RGVsdGE7CisjZW5kaWYK
KyAgICB9CisjZW5kaWYKIAogICAgIGJvb2wgZG9pbmdGdWxsUmVwYWludCgpIGNvbnN0IHsgcmV0
dXJuIG1fZnJhbWVWaWV3LT5uZWVkc0Z1bGxSZXBhaW50KCk7IH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>