<?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>113739</bug_id>
          
          <creation_ts>2013-04-01 20:11:31 -0700</creation_ts>
          <short_desc>RenderObject::offsetParent should return Element*</short_desc>
          <delta_ts>2013-05-01 11:20:13 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>inferno</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>philn</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>867500</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-04-01 20:11:31 -0700</bug_when>
    <thetext>RenderObject::offsetParent should return Element*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867501</commentid>
    <comment_count>1</comment_count>
      <attachid>196062</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-04-01 20:18:28 -0700</bug_when>
    <thetext>Created attachment 196062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867504</commentid>
    <comment_count>2</comment_count>
      <attachid>196062</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-01 20:28:19 -0700</bug_when>
    <thetext>Comment on attachment 196062
Patch

Attachment 196062 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17356414</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867505</commentid>
    <comment_count>3</comment_count>
      <attachid>196062</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-01 20:30:48 -0700</bug_when>
    <thetext>Comment on attachment 196062
Patch

Attachment 196062 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17311944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867506</commentid>
    <comment_count>4</comment_count>
      <attachid>196062</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-01 20:30:59 -0700</bug_when>
    <thetext>Comment on attachment 196062
Patch

Attachment 196062 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17301500</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867507</commentid>
    <comment_count>5</comment_count>
      <attachid>196063</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-04-01 20:31:24 -0700</bug_when>
    <thetext>Created attachment 196063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867515</commentid>
    <comment_count>6</comment_count>
      <attachid>196062</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-04-01 20:42:12 -0700</bug_when>
    <thetext>Comment on attachment 196062
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:-3018
&gt; -    // FIXME: Stop the search at the flow thread boundary until we figure out the right
&gt; -    // behavior for elements inside a flow thread.

I assume you meant to change the behavior for flow threads? You should say so in the ChangeLog.

Why change the flow thread behavior? It&apos;s not clear to me what the preferred behavior is, but seems strange to change it as part of this patch which is really about tightening the types.

&gt; Source/WebCore/rendering/RenderObject.h:669
&gt; +    Element* offsetParent() const;

It&apos;s strange to me to have parent() return a RenderObject and offsetParent() return an Element. Should this maybe be called offsetParentElement? I guess that&apos;s kind of dumb since the signature clearly makes it an Element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867604</commentid>
    <comment_count>7</comment_count>
      <attachid>196063</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-01 23:47:50 -0700</bug_when>
    <thetext>Comment on attachment 196063
Patch

Clearing flags on attachment: 196063

Committed r147395: &lt;http://trac.webkit.org/changeset/147395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867605</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-01 23:47:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867635</commentid>
    <comment_count>9</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-04-02 01:01:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 196062 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=196062&amp;action=review
&gt; 

Sorry this got submitted before responding to your comments, that was my bad.

&gt; &gt; Source/WebCore/rendering/RenderObject.cpp:-3018
&gt; &gt; -    // FIXME: Stop the search at the flow thread boundary until we figure out the right
&gt; &gt; -    // behavior for elements inside a flow thread.
&gt; 
&gt; I assume you meant to change the behavior for flow threads? You should say so in the ChangeLog.
&gt; 
&gt; Why change the flow thread behavior? It&apos;s not clear to me what the preferred behavior is, but seems strange to change it as part of this patch which is really about tightening the types.

The behavior doesn&apos;t actually change, I just removed the special casing for flow threads and made it generically handle any case that would have resulted in a renderer for a non Element being returned.

RenderNamedFlowThread&apos;s are always children of the RenderView so &quot;stopping&quot; doesn&apos;t matter anyway. The flow thread has Document* as the node() and so does the RenderView so both result in returning null.

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderObject.h:669
&gt; &gt; +    Element* offsetParent() const;
&gt; 
&gt; It&apos;s strange to me to have parent() return a RenderObject and offsetParent() return an Element. Should this maybe be called offsetParentElement? I guess that&apos;s kind of dumb since the signature clearly makes it an Element.

Yeah, but offsetParent is a sort of nonsensical DOM API name. It&apos;s nice to keep the same names as the DOM API this is implementing. I can change it in a follow up patch if you have a strong opinion though. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883470</commentid>
    <comment_count>10</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-05-01 11:20:13 -0700</bug_when>
    <thetext>This patch caused a reproducible crash on http://www.hodinkee.com/blog/twixt-time-evaluate-the-accuracy-of-your-watch-right-on-your-iphone</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196062</attachid>
            <date>2013-04-01 20:18:28 -0700</date>
            <delta_ts>2013-04-01 20:42:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113739-20130401201819.patch</filename>
            <type>text/plain</type>
            <size>7823</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhmOTIxOWM4MzM4MTky
MzkyNjUwN2Y0OTM3MTM0YzVkOGJlYjhmZS4uZmFmNzFiMjNjNDNjMjQyMWJkNTE3ZmRjMDVjZWYy
MjIyMGM1MWFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA0LTAxICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlck9iamVj
dDo6b2Zmc2V0UGFyZW50IHNob3VsZCByZXR1cm4gRWxlbWVudCoKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzczOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvZmZzZXRQYXJlbnQgb2YgYSBub2Rl
IHNob3VsZCBhbHdheXMgYmUgYW4gRWxlbWVudCwgZW5zdXJlIHRoaXMKKyAgICAgICAgYnkgZml4
aW5nIFJlbmRlck9iamVjdDo6b2Zmc2V0UGFyZW50IHRvIHJldHVybiBhbiBFbGVtZW50KiBhbmQg
Y2xlYW4gdXAKKyAgICAgICAgdGhlIG1ldGhvZCB0byBtYXRjaCB0aGUgYWxnb3JpdGhtIGluIHRo
ZSBzcGVjIHdoaWNoIGxldHMgdXMgcmVtb3ZlIHRoZQorICAgICAgICBjb21tZW50cyB0aGF0IHdl
cmUgdHJ5aW5nIHRvIGV4cGxhaW4gd2hhdCB3YXMgZ29pbmcgb24uCisKKyAgICAgICAgVGhpcyBh
bHNvIGhhcmRlbnMgYWdhaW5zdCByZW5kZXIgdHJlZSBiYWRuZXNzIHdoZXJlIFJlbmRlck9iamVj
dDo6b2Zmc2V0UGFyZW50CisgICAgICAgIGNvdWxkIGhhdmUgcmV0dXJuZWQgYSBEb2N1bWVudCBu
b2RlIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBhIGJhZCBjYXN0IGluCisgICAgICAgIEVsZW1lbnQ6
Om9mZnNldFBhcmVudC4gV2UgZml4ZWQgYWxsIGNhc2VzIG9mIHRoaXMsIGJ1dCB0aGlzIHBhdGNo
IG1ha2VzCisgICAgICAgIHN1cmUgc3VjaCB0aGluZ3MgbmV2ZXIgaGFwcGVuIGFnYWluLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6b2Zmc2V0UGFyZW50
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmFkanVzdGVkUG9zaXRpb25SZWxhdGl2
ZVRvT2Zmc2V0UGFyZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6b2Zmc2V0UGFyZW50KTogTm93IHJldHVy
bnMgRWxlbWVudCouCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAg
ICAoUmVuZGVyT2JqZWN0KToKKwogMjAxMy0wNC0wMSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3Ro
eUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSAndGhpcycgZXZhbHVhdGUgdG8gdGhlIGNvcnJl
Y3Qgb2JqZWN0IHdoZW4gcGF1c2VkIGluIHRoZSBEZWJ1Z2dlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAppbmRleCAwMzg3YTEyYjAzMTVkNGY3NTdkYTU3NTdmMDY1MWZlOGZhZDNiZjdkLi5mNjIwZjk5
NGNiYzNkYTYwYmUzNTEyMWE4M2NjZmViNmZiNTVmZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CkBAIC01NDgsOSArNTQ4LDggQEAgRWxlbWVudCogRWxlbWVudDo6YmluZGluZ3NPZmZzZXRQYXJl
bnQoKQogRWxlbWVudCogRWxlbWVudDo6b2Zmc2V0UGFyZW50KCkKIHsKICAgICBkb2N1bWVudCgp
LT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICBpZiAoUmVuZGVy
T2JqZWN0KiByZW5kID0gcmVuZGVyZXIoKSkKLSAgICAgICAgaWYgKFJlbmRlck9iamVjdCogb2Zm
c2V0UGFyZW50ID0gcmVuZC0+b2Zmc2V0UGFyZW50KCkpCi0gICAgICAgICAgICByZXR1cm4gdG9F
bGVtZW50KG9mZnNldFBhcmVudC0+bm9kZSgpKTsKKyAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5k
ZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybiByZW5kZXJlci0+b2Zmc2V0
UGFyZW50KCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDRlZjQ0ZDJlOTNlN2Q5NjcxNTE1
MzA0MjNkMjdjOTg1ZWQ0NzZjOWMuLjY4NDQyYWQ4MTA1NGQ5MTU3MjhjNDVjZjJmZjRhYWI4YTQ4
ZWFhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcApAQCAtNDUyLDcgKzQ1MiwxMSBAQCBMYXlvdXRQb2ludCBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6YWRqdXN0ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgTAog
ICAgIC8vIElmIHRoZSBvZmZzZXRQYXJlbnQgb2YgdGhlIGVsZW1lbnQgaXMgbnVsbCwgb3IgaXMg
dGhlIEhUTUwgYm9keSBlbGVtZW50LAogICAgIC8vIHJldHVybiB0aGUgZGlzdGFuY2UgYmV0d2Vl
biB0aGUgY2FudmFzIG9yaWdpbiBhbmQgdGhlIGxlZnQgYm9yZGVyIGVkZ2UgCiAgICAgLy8gb2Yg
dGhlIGVsZW1lbnQgYW5kIHN0b3AgdGhpcyBhbGdvcml0aG0uCi0gICAgaWYgKGNvbnN0IFJlbmRl
ckJveE1vZGVsT2JqZWN0KiBvZmZzZXRQYXJlbnQgPSB0aGlzLT5vZmZzZXRQYXJlbnQoKSkgewor
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBvZmZzZXRQYXJlbnQoKTsKKyAgICBpZiAoIWVsZW1lbnQp
CisgICAgICAgIHJldHVybiByZWZlcmVuY2VQb2ludDsKKworICAgIGlmIChjb25zdCBSZW5kZXJC
b3hNb2RlbE9iamVjdCBvZmZzZXRQYXJlbnQgPSBlbGVtZW50LT5yZW5kZXJCb3hNb2RlbE9iamVj
dCgpKSB7CiAgICAgICAgIGlmIChvZmZzZXRQYXJlbnQtPmlzQm94KCkgJiYgIW9mZnNldFBhcmVu
dC0+aXNCb2R5KCkpCiAgICAgICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlKC10b1JlbmRlckJv
eChvZmZzZXRQYXJlbnQpLT5ib3JkZXJMZWZ0KCksIC10b1JlbmRlckJveChvZmZzZXRQYXJlbnQp
LT5ib3JkZXJUb3AoKSk7CiAgICAgICAgIGlmICghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZGM5N2ExYzRl
ODgxZDFlZGUxMmY5OTg5NWVhMDM1OTQ4ZGY5ZDY0OC4uZmI5ZjEzOTMwYjI4ZTY2OWIyNDMzMzNl
N2I0N2I2NDYwNWNmNTgwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKQEAgLTMwMDEsNDYgKzMwMDEsNDYgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmltYWdlQ2hh
bmdlZChDYWNoZWRJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3QqIHJlY3QpCiAgICAgaW1hZ2VD
aGFuZ2VkKHN0YXRpY19jYXN0PFdyYXBwZWRJbWFnZVB0cj4oaW1hZ2UpLCByZWN0KTsKIH0KIAot
UmVuZGVyQm94TW9kZWxPYmplY3QqIFJlbmRlck9iamVjdDo6b2Zmc2V0UGFyZW50KCkgY29uc3QK
K0VsZW1lbnQqIFJlbmRlck9iamVjdDo6b2Zmc2V0UGFyZW50KCkgY29uc3QKIHsKLSAgICAvLyBJ
ZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBob2xkcyB0cnVlIHJldHVybiBudWxsIGFuZCBzdG9wIHRo
aXMgYWxnb3JpdGhtOgotICAgIC8vIEEgaXMgdGhlIHJvb3QgZWxlbWVudC4KLSAgICAvLyBBIGlz
IHRoZSBIVE1MIGJvZHkgZWxlbWVudC4KLSAgICAvLyBUaGUgY29tcHV0ZWQgdmFsdWUgb2YgdGhl
IHBvc2l0aW9uIHByb3BlcnR5IGZvciBlbGVtZW50IEEgaXMgZml4ZWQuCi0gICAgaWYgKGlzUm9v
dCgpIHx8IGlzQm9keSgpIHx8IChpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZSgpLT5w
b3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24pKQorICAgIGlmIChpc1Jvb3QoKSB8fCBpc0JvZHko
KSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkg
JiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIC8vIElmIEEgaXMgYW4gYXJlYSBIVE1MIGVsZW1lbnQgd2hpY2ggaGFzIGEgbWFw
IEhUTUwgZWxlbWVudCBzb21ld2hlcmUgaW4gdGhlIGFuY2VzdG9yCiAgICAgLy8gY2hhaW4gcmV0
dXJuIHRoZSBuZWFyZXN0IGFuY2VzdG9yIG1hcCBIVE1MIGVsZW1lbnQgYW5kIHN0b3AgdGhpcyBh
bGdvcml0aG0uCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCEKIAotICAgIC8vIEZJWE1FOiBTdG9w
IHRoZSBzZWFyY2ggYXQgdGhlIGZsb3cgdGhyZWFkIGJvdW5kYXJ5IHVudGlsIHdlIGZpZ3VyZSBv
dXQgdGhlIHJpZ2h0Ci0gICAgLy8gYmVoYXZpb3IgZm9yIGVsZW1lbnRzIGluc2lkZSBhIGZsb3cg
dGhyZWFkLgorICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IHRoZSByaWdodCBiZWhhdmlvciBmb3Ig
ZWxlbWVudHMgaW5zaWRlIGEgZmxvdyB0aHJlYWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzI3NgotICAgIAotICAgIC8vIFJldHVybiB0aGUgbmVh
cmVzdCBhbmNlc3RvciBlbGVtZW50IG9mIEEgZm9yIHdoaWNoIGF0IGxlYXN0IG9uZSBvZiB0aGUg
Zm9sbG93aW5nIGlzCi0gICAgLy8gdHJ1ZSBhbmQgc3RvcCB0aGlzIGFsZ29yaXRobSBpZiBzdWNo
IGFuIGFuY2VzdG9yIGlzIGZvdW5kOgotICAgIC8vICAgICAqIFRoZSBjb21wdXRlZCB2YWx1ZSBv
ZiB0aGUgcG9zaXRpb24gcHJvcGVydHkgaXMgbm90IHN0YXRpYy4KLSAgICAvLyAgICAgKiBJdCBp
cyB0aGUgSFRNTCBib2R5IGVsZW1lbnQuCi0gICAgLy8gICAgICogVGhlIGNvbXB1dGVkIHZhbHVl
IG9mIHRoZSBwb3NpdGlvbiBwcm9wZXJ0eSBvZiBBIGlzIHN0YXRpYyBhbmQgdGhlIGFuY2VzdG9y
Ci0gICAgLy8gICAgICAgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgSFRNTCBlbGVtZW50czogdGQs
IHRoLCBvciB0YWJsZS4KLSAgICAvLyAgICAgKiBPdXIgb3duIGV4dGVuc2lvbjogaWYgdGhlcmUg
aXMgYSBkaWZmZXJlbmNlIGluIHRoZSBlZmZlY3RpdmUgem9vbQotCi0gICAgYm9vbCBza2lwVGFi
bGVzID0gaXNQb3NpdGlvbmVkKCk7Ci0gICAgZmxvYXQgY3Vyclpvb20gPSBzdHlsZSgpLT5lZmZl
Y3RpdmVab29tKCk7Ci0gICAgUmVuZGVyT2JqZWN0KiBjdXJyID0gcGFyZW50KCk7Ci0gICAgd2hp
bGUgKGN1cnIgJiYgKCFjdXJyLT5ub2RlKCkgfHwgKCFjdXJyLT5pc1Bvc2l0aW9uZWQoKSAmJiAh
Y3Vyci0+aXNCb2R5KCkpKSAmJiAhY3Vyci0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkgewot
ICAgICAgICBOb2RlKiBlbGVtZW50ID0gY3Vyci0+bm9kZSgpOwotICAgICAgICBpZiAoIXNraXBU
YWJsZXMgJiYgZWxlbWVudCAmJiAoZWxlbWVudC0+aGFzVGFnTmFtZSh0YWJsZVRhZykgfHwgZWxl
bWVudC0+aGFzVGFnTmFtZSh0ZFRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZSh0aFRhZykpKQor
CisgICAgZmxvYXQgZWZmZWN0aXZlWm9vbSA9IHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKTsKKyAg
ICBOb2RlKiBub2RlID0gMDsKKyAgICBmb3IgKFJlbmRlck9iamVjdCogYW5jZXN0b3IgPSBwYXJl
bnQoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7CisgICAgICAg
IG5vZGUgPSBhbmNlc3Rvci0+bm9kZSgpOworCisgICAgICAgIC8vIFNwZWM6IGh0dHA6Ly93d3cu
dzMub3JnL1RSL2Nzc29tLXZpZXcvI29mZnNldC1hdHRyaWJ1dGVzCisKKyAgICAgICAgaWYgKCFu
b2RlKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKGFuY2VzdG9yLT5pc1Bv
c2l0aW9uZWQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGZsb2F0IG5ld1pvb20g
PSBjdXJyLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCk7Ci0gICAgICAgIGlmIChjdXJyWm9vbSAh
PSBuZXdab29tKQorICAgICAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJvZHlU
YWcpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgaWYgKCFpc1Bvc2l0aW9uZWQoKSAm
JiAobm9kZS0+aGFzVGFnTmFtZSh0YWJsZVRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZSh0ZFRhZykg
fHwgbm9kZS0+aGFzVGFnTmFtZSh0aFRhZykpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgLy8gV2Via2l0IHNwZWNpZmljIGV4dGVuc2lvbiB3aGVyZSBvZmZzZXRQYXJlbnQgc3RvcHMg
YXQgem9vbSBsZXZlbCBjaGFuZ2VzLgorICAgICAgICBpZiAoZWZmZWN0aXZlWm9vbSAhPSBhbmNl
c3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGN1cnJab29tID0gbmV3Wm9vbTsKLSAgICAgICAgY3VyciA9IGN1cnItPnBhcmVudCgpOwog
ICAgIH0KLSAgICByZXR1cm4gY3VyciAmJiBjdXJyLT5pc0JveE1vZGVsT2JqZWN0KCkgJiYgIWN1
cnItPmlzUmVuZGVyTmFtZWRGbG93VGhyZWFkKCkgPyB0b1JlbmRlckJveE1vZGVsT2JqZWN0KGN1
cnIpIDogMDsKKworICAgIHJldHVybiBub2RlICYmIG5vZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRv
RWxlbWVudChub2RlKSA6IDA7CiB9CiAKIFZpc2libGVQb3NpdGlvbiBSZW5kZXJPYmplY3Q6OmNy
ZWF0ZVZpc2libGVQb3NpdGlvbihpbnQgb2Zmc2V0LCBFQWZmaW5pdHkgYWZmaW5pdHkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggOWMxYWExYzM5MmJjMmVkMDBm
Mjc3ZjRjNTJjODMyNDJkODZjOWNlMC4uZjcxNzBkNzg0NDIzMWQ0MWVlZTM2MTgyOTg5Y2MxNTM4
OTAyNzQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNjY2
LDggKzY2Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBob3ZlckFu
Y2VzdG9yKCkgY29uc3QgeyByZXR1cm4gcGFyZW50KCk7IH0KIAotICAgIC8vIElFIEV4dGVuc2lv
biB0aGF0IGNhbiBiZSBjYWxsZWQgb24gYW55IFJlbmRlck9iamVjdC4gIFNlZSB0aGUgaW1wbGVt
ZW50YXRpb24gZm9yIHRoZSBkZXRhaWxzLgotICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBvZmZz
ZXRQYXJlbnQoKSBjb25zdDsKKyAgICBFbGVtZW50KiBvZmZzZXRQYXJlbnQoKSBjb25zdDsKIAog
ICAgIHZvaWQgbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoYm9vbCBzY2hlZHVsZVJlbGF5
b3V0ID0gdHJ1ZSwgUmVuZGVyT2JqZWN0KiBuZXdSb290ID0gMCk7CiAgICAgdm9pZCBzZXROZWVk
c0xheW91dChib29sIG5lZWRzTGF5b3V0LCBNYXJraW5nQmVoYXZpb3IgPSBNYXJrQ29udGFpbmlu
Z0Jsb2NrQ2hhaW4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196063</attachid>
            <date>2013-04-01 20:31:24 -0700</date>
            <delta_ts>2013-04-01 23:47:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113739-20130401203116.patch</filename>
            <type>text/plain</type>
            <size>7831</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhmOTIxOWM4MzM4MTky
MzkyNjUwN2Y0OTM3MTM0YzVkOGJlYjhmZS4uYTBmMzM0MTUwNjM3ODU3YzZkZmYxZTFjZGQ0NTlj
MDhlMjJiMjBjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA0LTAxICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlck9iamVj
dDo6b2Zmc2V0UGFyZW50IHNob3VsZCByZXR1cm4gRWxlbWVudCoKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzczOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvZmZzZXRQYXJlbnQgb2YgYSBub2Rl
IHNob3VsZCBhbHdheXMgYmUgYW4gRWxlbWVudCwgZW5zdXJlIHRoaXMKKyAgICAgICAgYnkgZml4
aW5nIFJlbmRlck9iamVjdDo6b2Zmc2V0UGFyZW50IHRvIHJldHVybiBhbiBFbGVtZW50KiBhbmQg
Y2xlYW4gdXAKKyAgICAgICAgdGhlIG1ldGhvZCB0byBtYXRjaCB0aGUgYWxnb3JpdGhtIGluIHRo
ZSBzcGVjIHdoaWNoIGxldHMgdXMgcmVtb3ZlIHRoZQorICAgICAgICBjb21tZW50cyB0aGF0IHdl
cmUgdHJ5aW5nIHRvIGV4cGxhaW4gd2hhdCB3YXMgZ29pbmcgb24uCisKKyAgICAgICAgVGhpcyBh
bHNvIGhhcmRlbnMgYWdhaW5zdCBiYWRuZXNzIHdoZXJlIFJlbmRlck9iamVjdDo6b2Zmc2V0UGFy
ZW50CisgICAgICAgIGNvdWxkIGhhdmUgcmV0dXJuZWQgYSByZW5kZXJlciB3aXRoIGEgbm9uLUVs
ZW1lbnQgbm9kZSB3aGljaCB3b3VsZCByZXN1bHQKKyAgICAgICAgaW4gYSBiYWQgY2FzdCBpbiBF
bGVtZW50OjpvZmZzZXRQYXJlbnQuIFdlIGZpeGVkIGFsbCBjYXNlcyBvZiB0aGlzLCBidXQKKyAg
ICAgICAgdGhpcyBwYXRjaCBtYWtlcyBzdXJlIHN1Y2ggdGhpbmdzIG5ldmVyIGhhcHBlbiBhZ2Fp
bi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAg
ICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om9mZnNl
dFBhcmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjphZGp1c3RlZFBvc2l0aW9u
UmVsYXRpdmVUb09mZnNldFBhcmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Om9mZnNldFBhcmVudCk6IE5v
dyByZXR1cm5zIEVsZW1lbnQqLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoK
KyAgICAgICAgKFJlbmRlck9iamVjdCk6CisKIDIwMTMtMDQtMDEgIFRpbW90aHkgSGF0Y2hlciAg
PHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgJ3RoaXMnIGV2YWx1YXRlIHRvIHRo
ZSBjb3JyZWN0IG9iamVjdCB3aGVuIHBhdXNlZCBpbiB0aGUgRGVidWdnZXIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKaW5kZXggMDM4N2ExMmIwMzE1ZDRmNzU3ZGE1NzU3ZjA2NTFmZThmYWQzYmY3ZC4u
ZjYyMGY5OTRjYmMzZGE2MGJlMzUxMjFhODNjY2ZlYjZmYjU1ZmY4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcApAQCAtNTQ4LDkgKzU0OCw4IEBAIEVsZW1lbnQqIEVsZW1lbnQ6OmJpbmRpbmdzT2Zm
c2V0UGFyZW50KCkKIEVsZW1lbnQqIEVsZW1lbnQ6Om9mZnNldFBhcmVudCgpCiB7CiAgICAgZG9j
dW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgaWYg
KFJlbmRlck9iamVjdCogcmVuZCA9IHJlbmRlcmVyKCkpCi0gICAgICAgIGlmIChSZW5kZXJPYmpl
Y3QqIG9mZnNldFBhcmVudCA9IHJlbmQtPm9mZnNldFBhcmVudCgpKQotICAgICAgICAgICAgcmV0
dXJuIHRvRWxlbWVudChvZmZzZXRQYXJlbnQtPm5vZGUoKSk7CisgICAgaWYgKFJlbmRlck9iamVj
dCogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpKQorICAgICAgICByZXR1cm4gcmVuZGVyZXIt
Pm9mZnNldFBhcmVudCgpOwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCA0ZWY0NGQyZTkzZTdk
OTY3MTUxNTMwNDIzZDI3Yzk4NWVkNDc2YzljLi45MTgxOThkODY2OGEyZDExZDIxNGE3Mzc2Yjky
ZWNjZGVhOGM1MjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAKQEAgLTQ1Miw3ICs0NTIsMTEgQEAgTGF5b3V0UG9pbnQgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6OmFkanVzdGVkUG9zaXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGNv
bnN0IEwKICAgICAvLyBJZiB0aGUgb2Zmc2V0UGFyZW50IG9mIHRoZSBlbGVtZW50IGlzIG51bGws
IG9yIGlzIHRoZSBIVE1MIGJvZHkgZWxlbWVudCwKICAgICAvLyByZXR1cm4gdGhlIGRpc3RhbmNl
IGJldHdlZW4gdGhlIGNhbnZhcyBvcmlnaW4gYW5kIHRoZSBsZWZ0IGJvcmRlciBlZGdlIAogICAg
IC8vIG9mIHRoZSBlbGVtZW50IGFuZCBzdG9wIHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChjb25z
dCBSZW5kZXJCb3hNb2RlbE9iamVjdCogb2Zmc2V0UGFyZW50ID0gdGhpcy0+b2Zmc2V0UGFyZW50
KCkpIHsKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gb2Zmc2V0UGFyZW50KCk7CisgICAgaWYgKCFl
bGVtZW50KQorICAgICAgICByZXR1cm4gcmVmZXJlbmNlUG9pbnQ7CisKKyAgICBpZiAoY29uc3Qg
UmVuZGVyQm94TW9kZWxPYmplY3QqIG9mZnNldFBhcmVudCA9IGVsZW1lbnQtPnJlbmRlckJveE1v
ZGVsT2JqZWN0KCkpIHsKICAgICAgICAgaWYgKG9mZnNldFBhcmVudC0+aXNCb3goKSAmJiAhb2Zm
c2V0UGFyZW50LT5pc0JvZHkoKSkKICAgICAgICAgICAgIHJlZmVyZW5jZVBvaW50Lm1vdmUoLXRv
UmVuZGVyQm94KG9mZnNldFBhcmVudCktPmJvcmRlckxlZnQoKSwgLXRvUmVuZGVyQm94KG9mZnNl
dFBhcmVudCktPmJvcmRlclRvcCgpKTsKICAgICAgICAgaWYgKCFpc091dE9mRmxvd1Bvc2l0aW9u
ZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBk
Yzk3YTFjNGU4ODFkMWVkZTEyZjk5ODk1ZWEwMzU5NDhkZjlkNjQ4Li5mYjlmMTM5MzBiMjhlNjY5
YjI0MzMzM2U3YjQ3YjY0NjA1Y2Y1ODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtMzAwMSw0NiArMzAwMSw0NiBAQCB2b2lkIFJlbmRlck9iamVjdDo6
aW1hZ2VDaGFuZ2VkKENhY2hlZEltYWdlKiBpbWFnZSwgY29uc3QgSW50UmVjdCogcmVjdCkKICAg
ICBpbWFnZUNoYW5nZWQoc3RhdGljX2Nhc3Q8V3JhcHBlZEltYWdlUHRyPihpbWFnZSksIHJlY3Qp
OwogfQogCi1SZW5kZXJCb3hNb2RlbE9iamVjdCogUmVuZGVyT2JqZWN0OjpvZmZzZXRQYXJlbnQo
KSBjb25zdAorRWxlbWVudCogUmVuZGVyT2JqZWN0OjpvZmZzZXRQYXJlbnQoKSBjb25zdAogewot
ICAgIC8vIElmIGFueSBvZiB0aGUgZm9sbG93aW5nIGhvbGRzIHRydWUgcmV0dXJuIG51bGwgYW5k
IHN0b3AgdGhpcyBhbGdvcml0aG06Ci0gICAgLy8gQSBpcyB0aGUgcm9vdCBlbGVtZW50LgotICAg
IC8vIEEgaXMgdGhlIEhUTUwgYm9keSBlbGVtZW50LgotICAgIC8vIFRoZSBjb21wdXRlZCB2YWx1
ZSBvZiB0aGUgcG9zaXRpb24gcHJvcGVydHkgZm9yIGVsZW1lbnQgQSBpcyBmaXhlZC4KLSAgICBp
ZiAoaXNSb290KCkgfHwgaXNCb2R5KCkgfHwgKGlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIHN0
eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikpCisgICAgaWYgKGlzUm9vdCgpIHx8
IGlzQm9keSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChpc091dE9mRmxvd1Bvc2l0
aW9uZWQoKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24pCiAgICAgICAg
IHJldHVybiAwOwogCiAgICAgLy8gSWYgQSBpcyBhbiBhcmVhIEhUTUwgZWxlbWVudCB3aGljaCBo
YXMgYSBtYXAgSFRNTCBlbGVtZW50IHNvbWV3aGVyZSBpbiB0aGUgYW5jZXN0b3IKICAgICAvLyBj
aGFpbiByZXR1cm4gdGhlIG5lYXJlc3QgYW5jZXN0b3IgbWFwIEhUTUwgZWxlbWVudCBhbmQgc3Rv
cCB0aGlzIGFsZ29yaXRobS4KICAgICAvLyBGSVhNRTogSW1wbGVtZW50IQogCi0gICAgLy8gRklY
TUU6IFN0b3AgdGhlIHNlYXJjaCBhdCB0aGUgZmxvdyB0aHJlYWQgYm91bmRhcnkgdW50aWwgd2Ug
ZmlndXJlIG91dCB0aGUgcmlnaHQKLSAgICAvLyBiZWhhdmlvciBmb3IgZWxlbWVudHMgaW5zaWRl
IGEgZmxvdyB0aHJlYWQuCisgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGJlaGF2
aW9yIGZvciBlbGVtZW50cyBpbnNpZGUgYSBmbG93IHRocmVhZC4KICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMjc2Ci0gICAgCi0gICAgLy8gUmV0dXJu
IHRoZSBuZWFyZXN0IGFuY2VzdG9yIGVsZW1lbnQgb2YgQSBmb3Igd2hpY2ggYXQgbGVhc3Qgb25l
IG9mIHRoZSBmb2xsb3dpbmcgaXMKLSAgICAvLyB0cnVlIGFuZCBzdG9wIHRoaXMgYWxnb3JpdGht
IGlmIHN1Y2ggYW4gYW5jZXN0b3IgaXMgZm91bmQ6Ci0gICAgLy8gICAgICogVGhlIGNvbXB1dGVk
IHZhbHVlIG9mIHRoZSBwb3NpdGlvbiBwcm9wZXJ0eSBpcyBub3Qgc3RhdGljLgotICAgIC8vICAg
ICAqIEl0IGlzIHRoZSBIVE1MIGJvZHkgZWxlbWVudC4KLSAgICAvLyAgICAgKiBUaGUgY29tcHV0
ZWQgdmFsdWUgb2YgdGhlIHBvc2l0aW9uIHByb3BlcnR5IG9mIEEgaXMgc3RhdGljIGFuZCB0aGUg
YW5jZXN0b3IKLSAgICAvLyAgICAgICBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBIVE1MIGVsZW1l
bnRzOiB0ZCwgdGgsIG9yIHRhYmxlLgotICAgIC8vICAgICAqIE91ciBvd24gZXh0ZW5zaW9uOiBp
ZiB0aGVyZSBpcyBhIGRpZmZlcmVuY2UgaW4gdGhlIGVmZmVjdGl2ZSB6b29tCi0KLSAgICBib29s
IHNraXBUYWJsZXMgPSBpc1Bvc2l0aW9uZWQoKTsKLSAgICBmbG9hdCBjdXJyWm9vbSA9IHN0eWxl
KCktPmVmZmVjdGl2ZVpvb20oKTsKLSAgICBSZW5kZXJPYmplY3QqIGN1cnIgPSBwYXJlbnQoKTsK
LSAgICB3aGlsZSAoY3VyciAmJiAoIWN1cnItPm5vZGUoKSB8fCAoIWN1cnItPmlzUG9zaXRpb25l
ZCgpICYmICFjdXJyLT5pc0JvZHkoKSkpICYmICFjdXJyLT5pc1JlbmRlck5hbWVkRmxvd1RocmVh
ZCgpKSB7Ci0gICAgICAgIE5vZGUqIGVsZW1lbnQgPSBjdXJyLT5ub2RlKCk7Ci0gICAgICAgIGlm
ICghc2tpcFRhYmxlcyAmJiBlbGVtZW50ICYmIChlbGVtZW50LT5oYXNUYWdOYW1lKHRhYmxlVGFn
KSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKHRkVGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKHRo
VGFnKSkpCisKKyAgICBmbG9hdCBlZmZlY3RpdmVab29tID0gc3R5bGUoKS0+ZWZmZWN0aXZlWm9v
bSgpOworICAgIE5vZGUqIG5vZGUgPSAwOworICAgIGZvciAoUmVuZGVyT2JqZWN0KiBhbmNlc3Rv
ciA9IHBhcmVudCgpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCkpIHsK
KyAgICAgICAgbm9kZSA9IGFuY2VzdG9yLT5ub2RlKCk7CisKKyAgICAgICAgLy8gU3BlYzogaHR0
cDovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy8jb2Zmc2V0LWF0dHJpYnV0ZXMKKworICAgICAg
ICBpZiAoIW5vZGUpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAoYW5jZXN0
b3ItPmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgZmxvYXQg
bmV3Wm9vbSA9IGN1cnItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKTsKLSAgICAgICAgaWYgKGN1
cnJab29tICE9IG5ld1pvb20pCisgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6Ym9keVRhZykpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBpZiAoIWlzUG9zaXRp
b25lZCgpICYmIChub2RlLT5oYXNUYWdOYW1lKHRhYmxlVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1l
KHRkVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKHRoVGFnKSkpCisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICAvLyBXZWJraXQgc3BlY2lmaWMgZXh0ZW5zaW9uIHdoZXJlIG9mZnNldFBhcmVu
dCBzdG9wcyBhdCB6b29tIGxldmVsIGNoYW5nZXMuCisgICAgICAgIGlmIChlZmZlY3RpdmVab29t
ICE9IGFuY2VzdG9yLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpCiAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY3Vyclpvb20gPSBuZXdab29tOwotICAgICAgICBjdXJyID0gY3Vyci0+cGFy
ZW50KCk7CiAgICAgfQotICAgIHJldHVybiBjdXJyICYmIGN1cnItPmlzQm94TW9kZWxPYmplY3Qo
KSAmJiAhY3Vyci0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSA/IHRvUmVuZGVyQm94TW9kZWxP
YmplY3QoY3VycikgOiAwOworCisgICAgcmV0dXJuIG5vZGUgJiYgbm9kZS0+aXNFbGVtZW50Tm9k
ZSgpID8gdG9FbGVtZW50KG5vZGUpIDogMDsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIFJlbmRlck9i
amVjdDo6Y3JlYXRlVmlzaWJsZVBvc2l0aW9uKGludCBvZmZzZXQsIEVBZmZpbml0eSBhZmZpbml0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA5YzFhYTFjMzky
YmMyZWQwMGYyNzdmNGM1MmM4MzI0MmQ4NmM5Y2UwLi5mNzE3MGQ3ODQ0MjMxZDQxZWVlMzYxODI5
ODljYzE1Mzg5MDI3NDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CkBAIC02NjYsOCArNjY2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3Qq
IGhvdmVyQW5jZXN0b3IoKSBjb25zdCB7IHJldHVybiBwYXJlbnQoKTsgfQogCi0gICAgLy8gSUUg
RXh0ZW5zaW9uIHRoYXQgY2FuIGJlIGNhbGxlZCBvbiBhbnkgUmVuZGVyT2JqZWN0LiAgU2VlIHRo
ZSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGRldGFpbHMuCi0gICAgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIG9mZnNldFBhcmVudCgpIGNvbnN0OworICAgIEVsZW1lbnQqIG9mZnNldFBhcmVudCgpIGNv
bnN0OwogCiAgICAgdm9pZCBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChib29sIHNjaGVk
dWxlUmVsYXlvdXQgPSB0cnVlLCBSZW5kZXJPYmplY3QqIG5ld1Jvb3QgPSAwKTsKICAgICB2b2lk
IHNldE5lZWRzTGF5b3V0KGJvb2wgbmVlZHNMYXlvdXQsIE1hcmtpbmdCZWhhdmlvciA9IE1hcmtD
b250YWluaW5nQmxvY2tDaGFpbik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>