<?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>106526</bug_id>
          
          <creation_ts>2013-01-09 20:32:31 -0800</creation_ts>
          <short_desc>When a selected node in nested ShadowDOM is deleted, selection have wrong range.</short_desc>
          <delta_ts>2013-01-10 20:45:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>97279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>804007</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2013-01-09 20:32:31 -0800</bug_when>
    <thetext>selection will contain deleted host element.
If node in non-nested ShadowDOM is deleted, selection contains BODY, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804058</commentid>
    <comment_count>1</comment_count>
      <attachid>182064</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2013-01-09 22:18:25 -0800</bug_when>
    <thetext>Created attachment 182064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804381</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-10 08:03:43 -0800</bug_when>
    <thetext>Ryosuke, can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804454</commentid>
    <comment_count>3</comment_count>
      <attachid>182064</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-10 09:41:16 -0800</bug_when>
    <thetext>Comment on attachment 182064
Patch

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

&gt; Source/WebCore/editing/FrameSelection.cpp:341
&gt; -    return element-&gt;contains(position.anchorNode()) || element-&gt;contains(position.anchorNode()-&gt;shadowAncestorNode());
&gt; +    return element-&gt;containsIncludingShadowDOM(position.anchorNode());

This is strange since selection &amp; editing operations are limited to one level of shadow DOM. Why should removing a node that contains shadow DOM update the selection of that removed shadow DOM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804873</commentid>
    <comment_count>4</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2013-01-10 19:00:50 -0800</bug_when>
    <thetext>I think the original code did not consider nested Shadow DOM case at all.

Let&apos;s consider the following example.

div1 -- SR
        |-- div2 -- SR
                    |- div3
                         |-- #text

When text in div3 is selected, and div1 is removed from the tree.
removingNodeRemovesPosition() is called with node = div1, and position = somewhere in #text.
In this case, 
  element-&gt;contains(position.anchorNode()) || element-&gt;contains(position.anchorNode()-&gt;shadowAncestorNode());
returns false. However, this is strange. when div1 is removed, position in #text also should be removed, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804879</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-10 19:18:01 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think the original code did not consider nested Shadow DOM case at all.
&gt; 
&gt; Let&apos;s consider the following example.
&gt; 
&gt; div1 -- SR
&gt;         |-- div2 -- SR
&gt;                     |- div3
&gt;                          |-- #text
&gt; 
&gt; When text in div3 is selected, and div1 is removed from the tree.
&gt; removingNodeRemovesPosition() is called with node = div1, and position = somewhere in #text.
&gt; In this case, 
&gt;   element-&gt;contains(position.anchorNode()) || element-&gt;contains(position.anchorNode()-&gt;shadowAncestorNode());
&gt; returns false. However, this is strange. when div1 is removed, position in #text also should be removed, I think.

But whatever position we adjust to inside SR for div2 is meaningless at that point, right? I mean why should detaching an ancestor of the shadow host should affect how selection works inside a shadow DOM? It seems like positions and selections inside div2&apos;s shadow root should be completely independent of what happens outside of the shadow root, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804886</commentid>
    <comment_count>6</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2013-01-10 19:30:33 -0800</bug_when>
    <thetext>&gt; But whatever position we adjust to inside SR for div2 is meaningless at that point, right? I mean why should detaching an ancestor of the shadow host should affect how selection works inside a shadow DOM? It seems like positions and selections inside div2&apos;s shadow root should be completely independent of what happens outside of the shadow root, no?

However, since the selected node is removed from the Document, we have to adjust FrameSelection, right?
I think we have to move FrameSelection to around div1 (or remove Selection). To achieve it, we have to check selection is in Shadow DOM.

Currently we don&apos;t move Selection if it&apos;s in nested ShadowDOM but we move Selection if it&apos;s in non-nested Shadow DOM. This is apparently wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804890</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-10 19:34:20 -0800</bug_when>
    <thetext>Sorry, I misunderstood your change. I was thinking about shadowRoot.selection but your change affects FrameSelection, the one and the only selection per frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804897</commentid>
    <comment_count>8</comment_count>
      <attachid>182064</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-10 20:02:58 -0800</bug_when>
    <thetext>Comment on attachment 182064
Patch

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

&gt; LayoutTests/fast/dom/shadow/selection-in-nested-shadow-expected.txt:3
&gt; +PASS anchorNode1 is container
&gt; +PASS anchorNode2 is container
&gt; +PASS successfullyParsed is true

This output isn&apos;t so helpful. Please give more descriptive variable names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804908</commentid>
    <comment_count>9</comment_count>
      <attachid>182251</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2013-01-10 20:28:20 -0800</bug_when>
    <thetext>Created attachment 182251
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804923</commentid>
    <comment_count>10</comment_count>
      <attachid>182251</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 20:45:44 -0800</bug_when>
    <thetext>Comment on attachment 182251
Patch for landing

Clearing flags on attachment: 182251

Committed r139401: &lt;http://trac.webkit.org/changeset/139401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804924</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 20:45:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182064</attachid>
            <date>2013-01-09 22:18:25 -0800</date>
            <delta_ts>2013-01-10 20:28:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106526-20130110151528.patch</filename>
            <type>text/plain</type>
            <size>6722</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWUxM2RkNWNmMjJjYzYz
NThmZDg3OTVlMTcwOGI5NWYwZmIxMmIyOS4uYzBhYzA2NDkwMWYzZGNiMGU3OTg2YWFlZTFiY2I1
NWFjOTc2NzE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTA5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIGEgc2Vs
ZWN0ZWQgbm9kZSBpbiBuZXN0ZWQgU2hhZG93RE9NIGlzIGRlbGV0ZWQsIHNlbGVjdGlvbiBoYXZl
IHdyb25nIHJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2NTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2luY2UgRnJhbWVTZWxlY3Rpb24gYW5kIGh0bWxlZGl0aW5nIGRpZCBub3QgY29uc2lk
ZXIgbmVzdGVkIFNoYWRvdyBET00sIHRoZSBzZWxlY3Rpb24gYmVjYW1lIHdlaXJkCisgICAgICAg
IGlmIHNlbGVjdGVkIG5vZGVzIGluIG5lc3RlZCBTaGFkb3cgRE9NIGFyZSByZW1vdmVkLgorCisg
ICAgICAgIFdlIGhhdmUgdG8gdXNlIGNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NIHRvIGhhbmRs
ZSB3aXRoIG5lc3RlZCBTaGFkb3cgRE9NIGNvcnJlY3RseS4KKworICAgICAgICBUZXN0OiBmYXN0
L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFkb3cuaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZW1vdmluZ05v
ZGVSZW1vdmVzUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dXBkYXRlUG9zaXRpb25Gb3JOb2RlUmVtb3ZhbCk6CisKIDIwMTMt
MDEtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCBmaXggYnVpbGQgYWZ0ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTM5
MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IGJhMmEy
MGJiYTVhMDI2YWFjNGRlOGIyOGVjYWVlZWQ4YWI4NTg2ZjUuLjQzMDUxYTIxOGQ4NmVlM2JhNGIz
ZGJmY2IyYjBjNmEwZjAxZTM5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxl
Y3Rpb24uY3BwCkBAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGljIGJvb2wgcmVtb3ZpbmdOb2RlUmVt
b3Zlc1Bvc2l0aW9uKE5vZGUqIG5vZGUsIGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVs
ZW1lbnQqPihub2RlKTsKLSAgICByZXR1cm4gZWxlbWVudC0+Y29udGFpbnMocG9zaXRpb24uYW5j
aG9yTm9kZSgpKSB8fCBlbGVtZW50LT5jb250YWlucyhwb3NpdGlvbi5hbmNob3JOb2RlKCktPnNo
YWRvd0FuY2VzdG9yTm9kZSgpKTsKKyAgICByZXR1cm4gZWxlbWVudC0+Y29udGFpbnNJbmNsdWRp
bmdTaGFkb3dET00ocG9zaXRpb24uYW5jaG9yTm9kZSgpKTsKIH0KIAogc3RhdGljIHZvaWQgY2xl
YXJSZW5kZXJWaWV3U2VsZWN0aW9uKGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKaW5kZXggYzNiNWVmM2M0MDVhZWJjMjMyZjQzY2Uw
ZWYzY2MyYWE4NTkyNWRmMi4uOTZlZjg2MzM1YTUxNGNmMjc0NzI0NzQ5Y2JmY2UzMTJjZWQ4MmE3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKQEAgLTk5NCwxNSArOTk0
LDE1IEBAIHZvaWQgdXBkYXRlUG9zaXRpb25Gb3JOb2RlUmVtb3ZhbChQb3NpdGlvbiYgcG9zaXRp
b24sIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5j
aG9yOgogICAgICAgICBpZiAocG9zaXRpb24uY29udGFpbmVyTm9kZSgpID09IG5vZGUtPnBhcmVu
dE5vZGUoKSAmJiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocG9zaXRpb24ub2Zmc2V0SW5Db250YWlu
ZXJOb2RlKCkpID4gbm9kZS0+bm9kZUluZGV4KCkpCiAgICAgICAgICAgICBwb3NpdGlvbi5tb3Zl
VG9PZmZzZXQocG9zaXRpb24ub2Zmc2V0SW5Db250YWluZXJOb2RlKCkgLSAxKTsKLSAgICAgICAg
ZWxzZSBpZiAobm9kZS0+Y29udGFpbnMocG9zaXRpb24uY29udGFpbmVyTm9kZSgpKSB8fCBub2Rl
LT5jb250YWlucyhwb3NpdGlvbi5jb250YWluZXJOb2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgp
KSkKKyAgICAgICAgZWxzZSBpZiAobm9kZS0+Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9z
aXRpb24uY29udGFpbmVyTm9kZSgpKSkKICAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25J
blBhcmVudEJlZm9yZU5vZGUobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUG9zaXRp
b246OlBvc2l0aW9uSXNBZnRlckFuY2hvcjoKLSAgICAgICAgaWYgKG5vZGUtPmNvbnRhaW5zKHBv
c2l0aW9uLmFuY2hvck5vZGUoKSkgfHwgbm9kZS0+Y29udGFpbnMocG9zaXRpb24uYW5jaG9yTm9k
ZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSkpCisgICAgICAgIGlmIChub2RlLT5jb250YWluc0lu
Y2x1ZGluZ1NoYWRvd0RPTShwb3NpdGlvbi5hbmNob3JOb2RlKCkpKQogICAgICAgICAgICAgcG9z
aXRpb24gPSBwb3NpdGlvbkluUGFyZW50QWZ0ZXJOb2RlKG5vZGUpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFBvc2l0aW9uOjpQb3NpdGlvbklzQmVmb3JlQW5jaG9yOgotICAgICAgICBpZiAo
bm9kZS0+Y29udGFpbnMocG9zaXRpb24uYW5jaG9yTm9kZSgpKSB8fCBub2RlLT5jb250YWlucyhw
b3NpdGlvbi5hbmNob3JOb2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpKSkKKyAgICAgICAgaWYg
KG5vZGUtPmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKHBvc2l0aW9uLmFuY2hvck5vZGUoKSkp
CiAgICAgICAgICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uSW5QYXJlbnRCZWZvcmVOb2RlKG5vZGUp
OwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWRlNmZiYzljYzJiYjNiMjVmNTE5NzI4
NWQzYmUxNTEzYTY4MGE5Zi4uMmE0ZDBlNjRiNDY4ZWNiMGZiNWEwYjhlNzc4M2UyNmY2YzIxMDg3
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTA5ICBTaGlueWEgS2F3YW5ha2EgIDxz
aGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIGEgc2VsZWN0ZWQgbm9kZSBpbiBu
ZXN0ZWQgU2hhZG93RE9NIGlzIGRlbGV0ZWQsIHNlbGVjdGlvbiBoYXZlIHdyb25nIHJhbmdlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NTI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFkb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFkb3cuaHRt
bDogQWRkZWQuCisKIDIwMTMtMDEtMDkgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUu
Y29tPgogCiAgICAgICAgIGJvcmRlci1yYWRpdXMgd2l0aCBib3gtc2hhZG93IGlzIG5vdCByZW5k
ZXJlZCBjb3JyZWN0bHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
ZWxlY3Rpb24taW4tbmVzdGVkLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFkb3ctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNiNWY3ZTZlYjVkOWUzNjNmMWFhYjBlYTg5MTRjMjdkZGJlNWUxOGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3Rl
ZC1zaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorUEFTUyBhbmNob3JOb2RlMSBp
cyBjb250YWluZXIKK1BBU1MgYW5jaG9yTm9kZTIgaXMgY29udGFpbmVyCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbi1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFkb3cuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZmRkNzc2NjYyMTQ2NzA3NDUxYTc1NTdlYWY5ZTY2ZjA0ZDA2Y2E0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbi1p
bi1uZXN0ZWQtc2hhZG93Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icG9seWZpbGwuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgPGRpdiBpZD0iY29udGFp
bmVyMSI+PGRpdiBpZD0iaG9zdDEiPjwvZGl2PjwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnRhaW5l
cjIiPjxkaXYgaWQ9Imhvc3QyIj48L2Rpdj48L2Rpdj4KKzwvZGl2PgorPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+CisKKzxzY3JpcHQ+Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CitzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0
MSI+RWxlbWVudCBpbiBTaGFkb3cgRE9NPC9kaXY+JzsKKwordmFyIHNoYWRvd1Jvb3QyID0gaG9z
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIGhvc3QzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CitzaGFkb3dSb290Mi5hcHBlbmRDaGlsZChob3N0Myk7CitzaGFkb3dSb290My5p
bm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0MiI+RWxlbWVudCBpbiBuZXN0ZWQgU2hhZG93IERP
TTwvZGl2Pic7CisKK3ZhciB0YXJnZXQxID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ3Rh
cmdldDEnKTsKK3ZhciB0YXJnZXQyID0gc2hhZG93Um9vdDMuZ2V0RWxlbWVudEJ5SWQoJ3Rhcmdl
dDInKTsKKwordmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKKworLy8gbm9u
LW5lc3RlZCBTaGFkb3dET00gY2FzZS4KK2V2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHRhcmdldDEu
b2Zmc2V0TGVmdCArIDIsIHRhcmdldDEub2Zmc2V0VG9wICsgdGFyZ2V0MS5vZmZzZXRIZWlnaHQg
LyAyKTsKK2V2ZW50U2VuZGVyLm1vdXNlRG93bigpOworZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
dGFyZ2V0MS5vZmZzZXRMZWZ0ICsgdGFyZ2V0MS5vZmZzZXRXaWR0aCAtIDIsIHRhcmdldDEub2Zm
c2V0VG9wICsgdGFyZ2V0MS5vZmZzZXRIZWlnaHQgLyAyKTsKK2V2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKK2NvbnRhaW5lci5yZW1vdmVDaGlsZChjb250YWluZXIxKTsKK3ZhciBhbmNob3JOb2RlMSA9
IHNlbGVjdGlvbi5hbmNob3JOb2RlOworc2hvdWxkQmUoJ2FuY2hvck5vZGUxJywgJ2NvbnRhaW5l
cicpOworCisvLyBuZXN0ZWQgU2hhZG93RE9NIGNhc2UuCitldmVudFNlbmRlci5tb3VzZU1vdmVU
byh0YXJnZXQyLm9mZnNldExlZnQgKyAyLCB0YXJnZXQyLm9mZnNldFRvcCArIHRhcmdldDIub2Zm
c2V0SGVpZ2h0IC8gMik7CitldmVudFNlbmRlci5tb3VzZURvd24oKTsKK2V2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKHRhcmdldDIub2Zmc2V0TGVmdCArIHRhcmdldDIub2Zmc2V0V2lkdGggLSAyLCB0
YXJnZXQyLm9mZnNldFRvcCArIHRhcmdldDIub2Zmc2V0SGVpZ2h0IC8gMik7CitldmVudFNlbmRl
ci5tb3VzZVVwKCk7Citjb250YWluZXIucmVtb3ZlQ2hpbGQoY29udGFpbmVyMik7Cit2YXIgYW5j
aG9yTm9kZTIgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZTsKK3Nob3VsZEJlKCdhbmNob3JOb2RlMics
ICdjb250YWluZXInKTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKworPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182251</attachid>
            <date>2013-01-10 20:28:20 -0800</date>
            <delta_ts>2013-01-10 20:45:44 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-106526-20130111132522.patch</filename>
            <type>text/plain</type>
            <size>7605</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJiZWRkYjZlODNiMzMy
ODAwZjQwZmYzNjc3ODg2NDMyYzE1NDU0Yy4uZWJiNDE0ZGM2Y2RhNjQ2MTc0OGNmNjk5MjczODll
OTY0YjQ1YmQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTA5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIGEgc2Vs
ZWN0ZWQgbm9kZSBpbiBuZXN0ZWQgU2hhZG93RE9NIGlzIGRlbGV0ZWQsIHNlbGVjdGlvbiBoYXZl
IHdyb25nIHJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2NTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAg
ICAgIFNpbmNlIEZyYW1lU2VsZWN0aW9uIGFuZCBodG1sZWRpdGluZyBkaWQgbm90IGNvbnNpZGVy
IG5lc3RlZCBTaGFkb3cgRE9NLCB0aGUgRnJhbWVTZWxlY3Rpb24gc3RpbGwgc2VsZWN0cworICAg
ICAgICByZW1vdmVkIGVsZW1lbnRzIGlmIHNlbGVjdGVkIG5vZGVzIGluIG5lc3RlZCBTaGFkb3cg
RE9NIGFyZSByZW1vdmVkLgorCisgICAgICAgIFdlIGhhdmUgdG8gdXNlIGNvbnRhaW5zSW5jbHVk
aW5nU2hhZG93RE9NIHRvIGhhbmRsZSB3aXRoIG5lc3RlZCBTaGFkb3cgRE9NIGNvcnJlY3RseS4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFk
b3cuaHRtbAorCisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpyZW1vdmluZ05vZGVSZW1vdmVzUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRp
bmcvaHRtbGVkaXRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlUG9zaXRpb25Gb3JO
b2RlUmVtb3ZhbCk6CisKIDIwMTMtMDEtMTAgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBnb29n
bGUuY29tPgogCiAgICAgICAgIFtTaGFkb3cgRE9NXSBSZWZhY3RvcmluZzogSW5zZXJ0aW9uUG9p
bnQgY291bGQgc2ltcGxpZnkgaXRzIHN1YmNsYXNzIGhvb2tzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IGQ3NTE4ODYwZjg5NDEzZTkzYzg1OGEwM2QwMmQ3
MDhmZjBiMjQyMWEuLjA5YmJiMjMyY2Q4NzJmYmEyYjk2OTgyZGUwMTkzZTZjZDE2MGU1NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0zMzgsNyArMzM4
LDcgQEAgc3RhdGljIGJvb2wgcmVtb3ZpbmdOb2RlUmVtb3Zlc1Bvc2l0aW9uKE5vZGUqIG5vZGUs
IGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
RWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKTsKLSAgICByZXR1
cm4gZWxlbWVudC0+Y29udGFpbnMocG9zaXRpb24uYW5jaG9yTm9kZSgpKSB8fCBlbGVtZW50LT5j
b250YWlucyhwb3NpdGlvbi5hbmNob3JOb2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpKTsKKyAg
ICByZXR1cm4gZWxlbWVudC0+Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24uYW5j
aG9yTm9kZSgpKTsKIH0KIAogc3RhdGljIHZvaWQgY2xlYXJSZW5kZXJWaWV3U2VsZWN0aW9uKGNv
bnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvaHRtbGVkaXRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5j
cHAKaW5kZXggYzNiNWVmM2M0MDVhZWJjMjMyZjQzY2UwZWYzY2MyYWE4NTkyNWRmMi4uOTZlZjg2
MzM1YTUxNGNmMjc0NzI0NzQ5Y2JmY2UzMTJjZWQ4MmE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9odG1sZWRpdGluZy5jcHAKQEAgLTk5NCwxNSArOTk0LDE1IEBAIHZvaWQgdXBkYXRlUG9zaXRp
b25Gb3JOb2RlUmVtb3ZhbChQb3NpdGlvbiYgcG9zaXRpb24sIE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yOgogICAgICAgICBpZiAocG9zaXRp
b24uY29udGFpbmVyTm9kZSgpID09IG5vZGUtPnBhcmVudE5vZGUoKSAmJiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4ocG9zaXRpb24ub2Zmc2V0SW5Db250YWluZXJOb2RlKCkpID4gbm9kZS0+bm9kZUlu
ZGV4KCkpCiAgICAgICAgICAgICBwb3NpdGlvbi5tb3ZlVG9PZmZzZXQocG9zaXRpb24ub2Zmc2V0
SW5Db250YWluZXJOb2RlKCkgLSAxKTsKLSAgICAgICAgZWxzZSBpZiAobm9kZS0+Y29udGFpbnMo
cG9zaXRpb24uY29udGFpbmVyTm9kZSgpKSB8fCBub2RlLT5jb250YWlucyhwb3NpdGlvbi5jb250
YWluZXJOb2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpKSkKKyAgICAgICAgZWxzZSBpZiAobm9k
ZS0+Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00ocG9zaXRpb24uY29udGFpbmVyTm9kZSgpKSkK
ICAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25JblBhcmVudEJlZm9yZU5vZGUobm9kZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUG9zaXRpb246OlBvc2l0aW9uSXNBZnRlckFuY2hv
cjoKLSAgICAgICAgaWYgKG5vZGUtPmNvbnRhaW5zKHBvc2l0aW9uLmFuY2hvck5vZGUoKSkgfHwg
bm9kZS0+Y29udGFpbnMocG9zaXRpb24uYW5jaG9yTm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUo
KSkpCisgICAgICAgIGlmIChub2RlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShwb3NpdGlv
bi5hbmNob3JOb2RlKCkpKQogICAgICAgICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbkluUGFyZW50
QWZ0ZXJOb2RlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBvc2l0aW9uOjpQb3Np
dGlvbklzQmVmb3JlQW5jaG9yOgotICAgICAgICBpZiAobm9kZS0+Y29udGFpbnMocG9zaXRpb24u
YW5jaG9yTm9kZSgpKSB8fCBub2RlLT5jb250YWlucyhwb3NpdGlvbi5hbmNob3JOb2RlKCktPnNo
YWRvd0FuY2VzdG9yTm9kZSgpKSkKKyAgICAgICAgaWYgKG5vZGUtPmNvbnRhaW5zSW5jbHVkaW5n
U2hhZG93RE9NKHBvc2l0aW9uLmFuY2hvck5vZGUoKSkpCiAgICAgICAgICAgICBwb3NpdGlvbiA9
IHBvc2l0aW9uSW5QYXJlbnRCZWZvcmVOb2RlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggN2I4MjkzODcxMzhkY2NlYzRhYmRlZTI3N2Y4ODI3ODU2YjJkNmU2Yy4uMGM3MTA3
NTk1MTY4ODNhZjExODJjZDQwNGEwNjhmNTkxYTE3NTAyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEzLTAxLTA5ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXaGVuIGEgc2VsZWN0ZWQgbm9kZSBpbiBuZXN0ZWQgU2hhZG93RE9NIGlzIGRlbGV0
ZWQsIHNlbGVjdGlvbiBoYXZlIHdyb25nIHJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlv
c3VrZSBOaXdhLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbi1pbi1uZXN0
ZWQtc2hhZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NlbGVjdGlvbi1pbi1uZXN0ZWQtc2hhZG93Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTEwICBK
YW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBTdG9yZSBzY3JvbGxhYmxlIGxheWVyJ3MgY29udGVudHMgc2l6ZSBmb3IgY29vcmRpbmF0ZWQg
c2Nyb2xsYWJsZSBsYXllcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zZWxlY3Rpb24taW4tbmVzdGVkLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5lc3RlZC1zaGFkb3ctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY0Y2JhMjAzZDdlNjZiODdhMjc0YTQ4MWQ4OGRmY2ZhNTI5YTdkZDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLWluLW5l
c3RlZC1zaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1NlbGVjdCB0ZXh0IGlu
IG5vbi1uZXN0ZWQgU2hhZG93RE9NIGFuZCByZW1vdmUgYW4gZWxlbWVudCBjb250YWluaW5nIHNo
YWRvdyBob3N0LgorVGhlbiB0aGUgYW5jaG9yIG5vZGUgb2YgdGhlIHNlbGVjdGlvbiBzaG91bGQg
YmVjb21lIGJlIHRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgcmVtb3ZlZCBlbGVtZW50IChjb250
YWluZXIpLgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYW5jaG9yTm9kZSBpcyBjb250YWlu
ZXIKKworU2VsZWN0IHRleHQgaW4gbmVzdGVkIFNoYWRvd0RPTSBhbmQgcmVtb3ZlIGFuIGVsZW1l
bnQgY29udGFpbmluZyBzaGFkb3cgaG9zdC4KK0luIHRoaXMgY2FzZSwgdGhlIGFuY2hvciBub2Rl
IG9mIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGFsc28gYmVjb21lIGJlIHRoZSBwYXJlbnQgZWxlbWVu
dCBvZiB0aGUgcmVtb3ZlZCBlbGVtZW50IChjb250YWluZXIpLgorUEFTUyB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkuYW5jaG9yTm9kZSBpcyBjb250YWluZXIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24taW4tbmVzdGVkLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbi1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDkxZTMzZTA3ZDk4ZjFjZDY2MDA2YzhhOTA0MTA1MmJiN2Y0YjgwMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24taW4tbmVzdGVk
LXNoYWRvdy5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InBvbHlmaWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorCis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9ImNvbnRhaW5lcjEiPjxk
aXYgaWQ9Imhvc3QxIj48L2Rpdj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb250YWluZXIyIj48ZGl2
IGlkPSJob3N0MiI+PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJl
PgorCis8c2NyaXB0PgordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOworc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldDEiPkVsZW1l
bnQgaW4gU2hhZG93IERPTTwvZGl2Pic7CisKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBob3N0MyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Oworc2hhZG93Um9vdDIuYXBwZW5kQ2hpbGQoaG9zdDMpOworc2hhZG93Um9vdDMuaW5uZXJIVE1M
ID0gJzxkaXYgaWQ9InRhcmdldDIiPkVsZW1lbnQgaW4gbmVzdGVkIFNoYWRvdyBET008L2Rpdj4n
OworCit2YXIgdGFyZ2V0MSA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCd0YXJnZXQxJyk7
Cit2YXIgdGFyZ2V0MiA9IHNoYWRvd1Jvb3QzLmdldEVsZW1lbnRCeUlkKCd0YXJnZXQyJyk7CisK
Ky8vIG5vbi1uZXN0ZWQgU2hhZG93RE9NIGNhc2UuCitkZWJ1ZygnU2VsZWN0IHRleHQgaW4gbm9u
LW5lc3RlZCBTaGFkb3dET00gYW5kIHJlbW92ZSBhbiBlbGVtZW50IGNvbnRhaW5pbmcgc2hhZG93
IGhvc3QuJyk7CitkZWJ1ZygnVGhlbiB0aGUgYW5jaG9yIG5vZGUgb2YgdGhlIHNlbGVjdGlvbiBz
aG91bGQgYmVjb21lIGJlIHRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgcmVtb3ZlZCBlbGVtZW50
IChjb250YWluZXIpLicpOworZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0MS5vZmZzZXRM
ZWZ0ICsgMiwgdGFyZ2V0MS5vZmZzZXRUb3AgKyB0YXJnZXQxLm9mZnNldEhlaWdodCAvIDIpOwor
ZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CitldmVudFNlbmRlci5tb3VzZU1vdmVUbyh0YXJnZXQx
Lm9mZnNldExlZnQgKyB0YXJnZXQxLm9mZnNldFdpZHRoIC0gMiwgdGFyZ2V0MS5vZmZzZXRUb3Ag
KyB0YXJnZXQxLm9mZnNldEhlaWdodCAvIDIpOworZXZlbnRTZW5kZXIubW91c2VVcCgpOworY29u
dGFpbmVyLnJlbW92ZUNoaWxkKGNvbnRhaW5lcjEpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRTZWxl
Y3Rpb24oKS5hbmNob3JOb2RlJywgJ2NvbnRhaW5lcicpOworZGVidWcoJycpOworCisvLyBuZXN0
ZWQgU2hhZG93RE9NIGNhc2UuCitkZWJ1ZygnU2VsZWN0IHRleHQgaW4gbmVzdGVkIFNoYWRvd0RP
TSBhbmQgcmVtb3ZlIGFuIGVsZW1lbnQgY29udGFpbmluZyBzaGFkb3cgaG9zdC4nKTsKK2RlYnVn
KCdJbiB0aGlzIGNhc2UsIHRoZSBhbmNob3Igbm9kZSBvZiB0aGUgc2VsZWN0aW9uIHNob3VsZCBh
bHNvIGJlY29tZSBiZSB0aGUgcGFyZW50IGVsZW1lbnQgb2YgdGhlIHJlbW92ZWQgZWxlbWVudCAo
Y29udGFpbmVyKS4nKTsKK2V2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHRhcmdldDIub2Zmc2V0TGVm
dCArIDIsIHRhcmdldDIub2Zmc2V0VG9wICsgdGFyZ2V0Mi5vZmZzZXRIZWlnaHQgLyAyKTsKK2V2
ZW50U2VuZGVyLm1vdXNlRG93bigpOworZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0Mi5v
ZmZzZXRMZWZ0ICsgdGFyZ2V0Mi5vZmZzZXRXaWR0aCAtIDIsIHRhcmdldDIub2Zmc2V0VG9wICsg
dGFyZ2V0Mi5vZmZzZXRIZWlnaHQgLyAyKTsKK2V2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK2NvbnRh
aW5lci5yZW1vdmVDaGlsZChjb250YWluZXIyKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkuYW5jaG9yTm9kZScsICdjb250YWluZXInKTsKK2RlYnVnKCcnKTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+CisKKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>