<?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>115070</bug_id>
          
          <creation_ts>2013-04-23 17:47:08 -0700</creation_ts>
          <short_desc>Moving word boundaries backwards fails when there is a text node starting with an apostrophe</short_desc>
          <delta_ts>2013-04-24 12:51:33 -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>HTML Editing</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>880205</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-23 17:47:08 -0700</bug_when>
    <thetext>Moving word boundaries backwards fails when there is a text node starting with an apostrophe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880214</commentid>
    <comment_count>1</comment_count>
      <attachid>199343</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-23 18:00:11 -0700</bug_when>
    <thetext>Created attachment 199343
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880321</commentid>
    <comment_count>2</comment_count>
      <attachid>199343</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-23 21:47:33 -0700</bug_when>
    <thetext>Comment on attachment 199343
Fixes the bug

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

r=me

&gt; Source/WebCore/ChangeLog:12
&gt; +        text node is seen by ICU on its own even though there is no word boundary between the two when the entire
&gt; +        &quot;I&apos;ll&quot; is given to ICU.

I think that it would be more appropriate to talk about the expected behavior per Unicode spec here, not about ICU, which is an implementation detail (and not even used on Mac in this case, at least not directly).

&gt; Source/WebCore/ChangeLog:15
&gt; +        work around this bug. In the long term, we probably need to give ICU/AppKit the entire context since in

More precisely, Foundation - I don&apos;t think that this part of NSString is in AppKit.

&gt; Source/WebCore/ChangeLog:16
&gt; +        langugaes like Hebrew and some of European languages, there could be many accents and combining characters

typo: langugaes

&gt; Source/WebCore/editing/VisibleUnits.cpp:502
&gt; +        if (next &gt; 1) // FIXME: This is a work around for https://webkit.org/b/115070. We need to give more contexts in general case.

I&apos;d say &quot;provide more context&quot;, not &quot;give&quot;.

&gt; LayoutTests/editing/selection/previous-word-boundary-across-text-nodes.html:39
&gt; +    shouldBeEqualToString(&quot;selectWordBackward(container); /* &quot; + container.innerHTML + &quot; */ getSelection().toString();&quot;, container.textContent);

Does the commented out code help here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880745</commentid>
    <comment_count>3</comment_count>
      <attachid>199343</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-24 12:29:32 -0700</bug_when>
    <thetext>Comment on attachment 199343
Fixes the bug

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

Thanks for the review.

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        &quot;I&apos;ll&quot; is given to ICU.
&gt; 
&gt; I think that it would be more appropriate to talk about the expected behavior per Unicode spec here, not about ICU, which is an implementation detail (and not even used on Mac in this case, at least not directly).

What specifically did you have in your mind?

&gt; LayoutTests/editing/selection/previous-word-boundary-across-text-nodes-expected.txt:24
&gt; +I&apos;ll

Oops, I forgot to hide these nodes after the test. Will do that.

&gt;&gt; LayoutTests/editing/selection/previous-word-boundary-across-text-nodes.html:39
&gt;&gt; +    shouldBeEqualToString(&quot;selectWordBackward(container); /* &quot; + container.innerHTML + &quot; */ getSelection().toString();&quot;, container.textContent);
&gt; 
&gt; Does the commented out code help here?

Yeah, it gets printed out in the expected result so that we can see what’s being tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880762</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-24 12:51:33 -0700</bug_when>
    <thetext>Committed r149058: &lt;http://trac.webkit.org/changeset/149058&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199343</attachid>
            <date>2013-04-23 18:00:11 -0700</date>
            <delta_ts>2013-04-24 12:29:32 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-115070-20130423175935.patch</filename>
            <type>text/plain</type>
            <size>8462</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTAwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA0LTIzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmluZyB3b3JkIGJvdW5kYXJp
ZXMgYmFja3dhcmRzIGZhaWxzIHdoZW4gdGhlcmUgaXMgYSB0ZXh0IG5vZGUgc3RhcnRpbmcgd2l0
aCBhbiBhcG9zdHJvcGhlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTUwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgYnVnIHdhcyBjYXVzZWQgYnkgcHJldmlvdXNCb3VuZGFyeSBlcnJvcm5vdXNs
eSBhc3N1bWluZyB0aGF0IHdlIGRvbid0IG5lZWQgYW55IG1vcmUgY29udGV4dCBpZiBhIHdvcmQK
KyAgICAgICAgYm91bmRhcnkgaXMgZm91bmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHN0cmluZy4g
VGhpcyBpcyBub3QgdHJ1ZSwgZm9yIGV4YW1wbGUsIHdoZW4gIkknbGwiIGlzIHNwbGl0IGludG8K
KyAgICAgICAgdHdvIHRleHQgbm9kZXMsICJJIiBhbmQgIidsbCIgYmVjYXVzZSB0aGVyZSBpcyBh
IHdvcmQgYm91bmRhcnkgYmV0d2VlbiAiJyIgYW5kICJsbCIgaW4gIidsbCIgd2hlbiB0aGlzCisg
ICAgICAgIHRleHQgbm9kZSBpcyBzZWVuIGJ5IElDVSBvbiBpdHMgb3duIGV2ZW4gdGhvdWdoIHRo
ZXJlIGlzIG5vIHdvcmQgYm91bmRhcnkgYmV0d2VlbiB0aGUgdHdvIHdoZW4gdGhlIGVudGlyZQor
ICAgICAgICAiSSdsbCIgaXMgZ2l2ZW4gdG8gSUNVLgorCisgICAgICAgIEZpeGVkIHRoZSBidWcg
Ynkgb2J0YWluaW5nIG1vcmUgY29udGV4dCB3aGVuIHRoZSBjaGFyYWN0ZXIgc3RhcnRzIGV4YWN0
bHkgYXQgb2Zmc2V0IDEgaW4gYSB0ZXh0IG5vZGUgdG8KKyAgICAgICAgd29yayBhcm91bmQgdGhp
cyBidWcuIEluIHRoZSBsb25nIHRlcm0sIHdlIHByb2JhYmx5IG5lZWQgdG8gZ2l2ZSBJQ1UvQXBw
S2l0IHRoZSBlbnRpcmUgY29udGV4dCBzaW5jZSBpbgorICAgICAgICBsYW5ndWdhZXMgbGlrZSBI
ZWJyZXcgYW5kIHNvbWUgb2YgRXVyb3BlYW4gbGFuZ3VhZ2VzLCB0aGVyZSBjb3VsZCBiZSBtYW55
IGFjY2VudHMgYW5kIGNvbWJpbmluZyBjaGFyYWN0ZXJzCisgICAgICAgIGJldHdlZW4gc3BsaXQg
aW50byBtdWx0aXBsZSB0ZXh0IG5vZGVzIGFzIG9uZSB2YXJpYW50IGlzIHNlZW4gaW4gdGhlIG5l
d2x5IGFkZGVkIHRlc3QgY2FzZS4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9w
cmV2aW91cy13b3JkLWJvdW5kYXJ5LWFjcm9zcy10ZXh0LW5vZGVzLmh0bWwKKworICAgICAgICAq
IGVkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByZXZpb3VzQm91
bmRhcnkpOgorCiAyMDEzLTA0LTIzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlbW92ZSBhbiB1bnVzZWQgbWVtYmVyIHZhcmlhYmxlIGVycm9uZW91c2x5IGFk
ZGVkIGluIHIxNDkwMDcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMu
Y3BwCShyZXZpc2lvbiAxNDg5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVV
bml0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5OSw3ICs0OTksNyBAQCBzdGF0aWMgVmlzaWJs
ZVBvc2l0aW9uIHByZXZpb3VzQm91bmRhcnkoCiAgICAgICAgICAgICBzdHJpbmcucHJlcGVuZChp
dGVyYXRvclN0cmluZy5jaGFyYWN0ZXJzKCksIGl0ZXJhdG9yU3RyaW5nLmxlbmd0aCgpKTsKICAg
ICAgICAgfQogICAgICAgICBuZXh0ID0gc2VhcmNoRnVuY3Rpb24oc3RyaW5nLmRhdGEoKSwgc3Ry
aW5nLnNpemUoKSwgc3RyaW5nLnNpemUoKSAtIHN1ZmZpeExlbmd0aCwgTWF5SGF2ZU1vcmVDb250
ZXh0LCBuZWVkTW9yZUNvbnRleHQpOwotICAgICAgICBpZiAobmV4dCkKKyAgICAgICAgaWYgKG5l
eHQgPiAxKSAvLyBGSVhNRTogVGhpcyBpcyBhIHdvcmsgYXJvdW5kIGZvciBodHRwczovL3dlYmtp
dC5vcmcvYi8xMTUwNzAuIFdlIG5lZWQgdG8gZ2l2ZSBtb3JlIGNvbnRleHRzIGluIGdlbmVyYWwg
Y2FzZS4KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBpdC5hZHZhbmNlKCk7CiAgICAgfQpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMTQ5MDA5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDQtMjMgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92aW5nIHdvcmQgYm91bmRhcmllcyBiYWNrd2Fy
ZHMgZmFpbHMgd2hlbiB0aGVyZSBpcyBhIHRleHQgbm9kZSBzdGFydGluZyB3aXRoIGFuIGFwb3N0
cm9waGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGEgdGVzdCBjYXNlIGZvciBtb3ZpbmcgYmFjd2thcmRzIHdpdGggYSB3b3JkIGdyYW51cmFs
aXR5IGFjcm9zcyBtdWx0aXBsZSB0ZXh0IG5vZGVzLgorICAgICAgICBTb21lIHRlc3QgY2FzZXMg
c3RpbGwgZmFpbCBzaW5jZSB0aGlzIHBhdGNoIG9ubHkgaW1wbGVtZW50cyBhIHdvcmsgYXJvdW5k
LgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vcHJldmlvdXMtd29yZC1ib3VuZGFyeS1h
Y3Jvc3MtdGV4dC1ub2Rlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL3ByZXZpb3VzLXdvcmQtYm91bmRhcnktYWNyb3NzLXRleHQtbm9kZXMuaHRtbDog
QWRkZWQuCisKIDIwMTMtMDQtMjMgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNh
bXN1bmcuY29tPgogCiAgICAgICAgIEdsb2JhbCBjb25zdHJ1Y3RvcnMgc2hvdWxkIGJlIGNvbmZp
Z3VyYWJsZSBhbmQgbm90IGVudW1lcmFibGUKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL3ByZXZpb3VzLXdvcmQtYm91bmRhcnktYWNyb3NzLXRleHQtbm9kZXMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3ByZXZpb3Vz
LXdvcmQtYm91bmRhcnktYWNyb3NzLXRleHQtbm9kZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHJldmlvdXMtd29yZC1ib3VuZGFy
eS1hY3Jvc3MtdGV4dC1ub2Rlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDMgQEAKK1BBU1Mgc2VsZWN0V29yZEJhY2t3YXJkKGNvbnRhaW5lcik7IC8qIDxzcGFuPkk8L3Nw
YW4+J2xsICovIGdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7IGlzICJJJ2xsIgorUEFTUyBzZWxl
Y3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogPHNwYW4+SSc8L3NwYW4+bGwgKi8gZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKTsgaXMgIkknbGwiCitQQVNTIHNlbGVjdFdvcmRCYWNrd2FyZChj
b250YWluZXIpOyAvKiA8c3Bhbj5JJ2w8L3NwYW4+bCAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpOyBpcyAiSSdsbCIKK1BBU1Mgc2VsZWN0V29yZEJhY2t3YXJkKGNvbnRhaW5lcik7IC8qIEkn
PHNwYW4+bGw8L3NwYW4+ICovIGdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7IGlzICJJJ2xsIgor
UEFTUyBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogSTxzcGFuPidsPC9zcGFuPmwg
Ki8gZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsgaXMgIkknbGwiCitGQUlMIHNlbGVjdFdvcmRC
YWNrd2FyZChjb250YWluZXIpOyAvKiA8c3Bhbj5lPC9zcGFuPsyBJ2xsICovIGdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCk7IHNob3VsZCBiZSBlzIEnbGwuIFdhcyBsbC4KK1BBU1Mgc2VsZWN0V29y
ZEJhY2t3YXJkKGNvbnRhaW5lcik7IC8qIDxzcGFuPmXMgTwvc3Bhbj4nbGwgKi8gZ2V0U2VsZWN0
aW9uKCkudG9TdHJpbmcoKTsgaXMgImXMgSdsbCIKK1BBU1Mgc2VsZWN0V29yZEJhY2t3YXJkKGNv
bnRhaW5lcik7IC8qIDxzcGFuPmXMgSc8L3NwYW4+bGwgKi8gZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKTsgaXMgImXMgSdsbCIKK1BBU1Mgc2VsZWN0V29yZEJhY2t3YXJkKGNvbnRhaW5lcik7IC8q
IDxzcGFuPmXMgSdsPC9zcGFuPmwgKi8gZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsgaXMgImXM
gSdsbCIKK0ZBSUwgc2VsZWN0V29yZEJhY2t3YXJkKGNvbnRhaW5lcik7IC8qIGU8c3Bhbj7MgTwv
c3Bhbj4nbGwgKi8gZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsgc2hvdWxkIGJlIGXMgSdsbC4g
V2FzIGxsLgorRkFJTCBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogZTxzcGFuPsyB
Jzwvc3Bhbj5sbCAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyBzaG91bGQgYmUgZcyBJ2xs
LiBXYXMgbGwuCitGQUlMIHNlbGVjdFdvcmRCYWNrd2FyZChjb250YWluZXIpOyAvKiBlPHNwYW4+
zIEnbDwvc3Bhbj5sICovIGdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7IHNob3VsZCBiZSBlzIEn
bGwuIFdhcyBsbC4KK0ZBSUwgc2VsZWN0V29yZEJhY2t3YXJkKGNvbnRhaW5lcik7IC8qIGU8c3Bh
bj7MgSdsbDwvc3Bhbj4gKi8gZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsgc2hvdWxkIGJlIGXM
gSdsbC4gV2FzIGxsLgorUEFTUyBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogZcyB
PHNwYW4+Jzwvc3Bhbj5sbCAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyBpcyAiZcyBJ2xs
IgorUEFTUyBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogZcyBPHNwYW4+J2w8L3Nw
YW4+bCAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyBpcyAiZcyBJ2xsIgorUEFTUyBzZWxl
Y3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogZcyBPHNwYW4+J2xsPC9zcGFuPiAqLyBnZXRT
ZWxlY3Rpb24oKS50b1N0cmluZygpOyBpcyAiZcyBJ2xsIgorUEFTUyBzZWxlY3RXb3JkQmFja3dh
cmQoY29udGFpbmVyKTsgLyogZcyBPHNwYW4+Jzwvc3Bhbj5sbCAqLyBnZXRTZWxlY3Rpb24oKS50
b1N0cmluZygpOyBpcyAiZcyBJ2xsIgorUEFTUyBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVy
KTsgLyogZcyBPHNwYW4+J2w8L3NwYW4+bCAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyBp
cyAiZcyBJ2xsIgorUEFTUyBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogZcyBPHNw
YW4+J2xsPC9zcGFuPiAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyBpcyAiZcyBJ2xsIgor
UEFTUyBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKTsgLyogZcyBJzxzcGFuPmw8L3NwYW4+
bCAqLyBnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOyBpcyAiZcyBJ2xsIgorVGhpcyB0ZXN0IGNo
ZWNrcyBtb3ZpbmcgdG8gdGhlIHByZXZpb3VzIHdvcmQgYm91bmRhcnkgYWNyb3NzIG11bHRpcGxl
IHRleHQgbm9kZXMuCitGb3IgZXhhbXBsZSwgd2hlbiAiSSIgYW5kICInbGwiIGFyZSBwdXQgaW4g
YSBzZXBhcmF0ZSB0ZXh0IG5vZGUsIHdlIHNob3VsZCBub3QgZXJyb25lb3VzbHkgcmVwb3J0IHRo
ZSBwcmV2aW91cyB3b3JkIGJvdW5kYXJ5IHRvIGJlIGJldHdlZW4gIiciIGFuZCAibGwiLgorCitJ
J2xsCitJJ2xsCitJJ2xsCitJJ2xsCitJJ2xsCitlzIEnbGwKK2XMgSdsbAorZcyBJ2xsCitlzIEn
bGwKK2XMgSdsbAorZcyBJ2xsCitlzIEnbGwKK2XMgSdsbAorZcyBJ2xsCitlzIEnbGwKK2XMgSds
bAorZcyBJ2xsCitlzIEnbGwKK2XMgSdsbAorZcyBJ2xsCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9wcmV2aW91cy13b3JkLWJvdW5kYXJ5LWFjcm9zcy10ZXh0LW5vZGVzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHJldmlvdXMt
d29yZC1ib3VuZGFyeS1hY3Jvc3MtdGV4dC1ub2Rlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vcHJldmlvdXMtd29yZC1ib3VuZGFyeS1hY3Jvc3Mt
dGV4dC1ub2Rlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgY2hlY2tzIG1vdmluZyB0byB0aGUg
cHJldmlvdXMgd29yZCBib3VuZGFyeSBhY3Jvc3MgbXVsdGlwbGUgdGV4dCBub2Rlcy48YnI+CitG
b3IgZXhhbXBsZSwgd2hlbiAiSSIgYW5kICInbGwiIGFyZSBwdXQgaW4gYSBzZXBhcmF0ZSB0ZXh0
IG5vZGUsIHdlIHNob3VsZCBub3QgZXJyb25lb3VzbHkgcmVwb3J0IHRoZSBwcmV2aW91cyB3b3Jk
IGJvdW5kYXJ5IHRvIGJlIGJldHdlZW4gIiciIGFuZCAibGwiLjwvcD4KKzxkaXYgaWQ9InRlc3Rz
IiBzdHlsZT0iZm9udC1zaXplOiAyMHB4OyIgPgorPGRpdiBjb250ZW50ZWRpdGFibGU+PHNwYW4+
STwvc3Bhbj4nbGw8L2Rpdj4KKzxkaXYgY29udGVudGVkaXRhYmxlPjxzcGFuPkknPC9zcGFuPmxs
PC9kaXY+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT48c3Bhbj5JJ2w8L3NwYW4+bDwvZGl2PgorPGRp
diBjb250ZW50ZWRpdGFibGU+SSc8c3Bhbj5sbDwvc3Bhbj48L2Rpdj4KKzxkaXYgY29udGVudGVk
aXRhYmxlPkk8c3Bhbj4nbDwvc3Bhbj5sPC9kaXY+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT48c3Bh
bj5lPC9zcGFuPiYjeDMwMTsnbGw8L2Rpdj4KKzxkaXYgY29udGVudGVkaXRhYmxlPjxzcGFuPmUm
I3gzMDE7PC9zcGFuPidsbDwvZGl2PgorPGRpdiBjb250ZW50ZWRpdGFibGU+PHNwYW4+ZSYjeDMw
MTsnPC9zcGFuPmxsPC9kaXY+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT48c3Bhbj5lJiN4MzAxOyds
PC9zcGFuPmw8L2Rpdj4KKzxkaXYgY29udGVudGVkaXRhYmxlPmU8c3Bhbj4mI3gzMDE7PC9zcGFu
PidsbDwvZGl2PgorPGRpdiBjb250ZW50ZWRpdGFibGU+ZTxzcGFuPiYjeDMwMTsnPC9zcGFuPmxs
PC9kaXY+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT5lPHNwYW4+JiN4MzAxOydsPC9zcGFuPmw8L2Rp
dj4KKzxkaXYgY29udGVudGVkaXRhYmxlPmU8c3Bhbj4mI3gzMDE7J2xsPC9zcGFuPjwvZGl2Pgor
PGRpdiBjb250ZW50ZWRpdGFibGU+ZSYjeDMwMTs8c3Bhbj4nPC9zcGFuPmxsPC9kaXY+Cis8ZGl2
IGNvbnRlbnRlZGl0YWJsZT5lJiN4MzAxOzxzcGFuPidsPC9zcGFuPmw8L2Rpdj4KKzxkaXYgY29u
dGVudGVkaXRhYmxlPmUmI3gzMDE7PHNwYW4+J2xsPC9zcGFuPjwvZGl2PgorPGRpdiBjb250ZW50
ZWRpdGFibGU+ZSYjeDMwMTs8c3Bhbj4nPC9zcGFuPmxsPC9kaXY+Cis8ZGl2IGNvbnRlbnRlZGl0
YWJsZT5lJiN4MzAxOzxzcGFuPidsPC9zcGFuPmw8L2Rpdj4KKzxkaXYgY29udGVudGVkaXRhYmxl
PmUmI3gzMDE7PHNwYW4+J2xsPC9zcGFuPjwvZGl2PgorPGRpdiBjb250ZW50ZWRpdGFibGU+ZSYj
eDMwMTsnPHNwYW4+bDwvc3Bhbj5sPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBzZWxlY3RXb3JkQmFja3dhcmQoY29udGFpbmVyKSB7CisgICAgZ2V0U2VsZWN0aW9u
KCkuY29sbGFwc2UoY29udGFpbmVyLCBjb250YWluZXIuY2hpbGROb2Rlcy5sZW5ndGgpOworICAg
IGdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2JhY2t3YXJkJywgJ3dvcmQnKTsKK30K
KwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RzJykuY2hpbGRyZW47
Citmb3IgKHZhciBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIGNvbnRh
aW5lciA9IHRlc3RzW2ldOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZWN0V29yZEJh
Y2t3YXJkKGNvbnRhaW5lcik7IC8qICIgKyBjb250YWluZXIuaW5uZXJIVE1MICsgIiAqLyBnZXRT
ZWxlY3Rpb24oKS50b1N0cmluZygpOyIsIGNvbnRhaW5lci50ZXh0Q29udGVudCk7Cit9CisKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="220946"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>