<?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>34865</bug_id>
          
          <creation_ts>2010-02-11 17:33:30 -0800</creation_ts>
          <short_desc>REGRESSION (r50301): Problem selecting text in a Devanagari website</short_desc>
          <delta_ts>2010-02-15 14:57:48 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>189841</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-02-11 17:33:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/7609268&gt;

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189842</commentid>
    <comment_count>1</comment_count>
      <attachid>48598</attachid>
    <who name="">mitz</who>
    <bug_when>2010-02-11 17:36:50 -0800</bug_when>
    <thetext>Created attachment 48598
Account for non-monotonic character-to-glyph mapping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189843</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-11 17:40:51 -0800</bug_when>
    <thetext>Attachment 48598 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/graphics/mac/ComplexTextController.h:91:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190056</commentid>
    <comment_count>3</comment_count>
      <attachid>48598</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-02-12 07:58:10 -0800</bug_when>
    <thetext>Comment on attachment 48598
Account for non-monotonic character-to-glyph mapping

&gt; Index: WebCore/ChangeLog
&gt; ===================================================================
&gt; +        * platform/graphics/mac/ComplexTextController.cpp:
&gt; +        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic.
&gt; +        (WebCore::ComplexTextController::ComplexTextRun::setIsMonotonic): Added. Sets m_isMonotonic,
&gt; +        and if the run is not monotonic, populates m_lastInidices with the end offsets of each glyphâs

A typo and a garbled curly quote here (and one more lower down).

&gt; Index: WebCore/platform/graphics/mac/ComplexTextController.cpp
&gt; ===================================================================

&gt; +void ComplexTextController::ComplexTextRun::setIsMonotonic(bool isMonotonic)
&gt; +{
&gt; +    m_isMonotonic = isMonotonic;
&gt; +    if (isMonotonic)
&gt; +        return;

Why doesn&apos;t this do the usual (if )isMonotonic == m_isMonotonic) return;?

Also, if changing from non-monotonic to monotonic, should you clear m_lastIndices?

&gt; Index: WebCore/platform/graphics/mac/ComplexTextController.h
&gt; ===================================================================

&gt; +        Vector&lt;CFIndex, 64&gt; m_lastIndices;

The name of this member doesn&apos;t immediately communicate what it stores. Maybe m_glyphEndOffsets or something?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190106</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-02-12 11:21:14 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/changeset/54729&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190565</commentid>
    <comment_count>5</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-02-15 14:57:48 -0800</bug_when>
    <thetext>This test fails on Windows, added to Skipped list in r54799.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48598</attachid>
            <date>2010-02-11 17:36:50 -0800</date>
            <delta_ts>2010-02-12 07:58:09 -0800</delta_ts>
            <desc>Account for non-monotonic character-to-glyph mapping</desc>
            <filename>7609268_r1.diff</filename>
            <type>text/plain</type>
            <size>10848</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDY4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDItMTEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzYwOTI2OD4gUkVHUkVTU0lPTiAocjUwMzAxKTogUHJvYmxlbSBzZWxlY3Rp
bmcgdGV4dCBpbiBhIERldmFuYWdhcmkgd2Vic2l0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ4NjUKKworICAgICAgICBUZXN0OiBmYXN0L3RleHQv
Z2x5cGgtcmVvcmRlcmluZy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Q29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0
Q29udHJvbGxlcjo6Q29tcGxleFRleHRSdW46OkNvbXBsZXhUZXh0UnVuKTogSW5pdGlhbGl6ZSBt
X2lzTW9ub3RvbmljLgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpD
b21wbGV4VGV4dFJ1bjo6c2V0SXNNb25vdG9uaWMpOiBBZGRlZC4gU2V0cyBtX2lzTW9ub3Rvbmlj
LAorICAgICAgICBhbmQgaWYgdGhlIHJ1biBpcyBub3QgbW9ub3RvbmljLCBwb3B1bGF0ZXMgbV9s
YXN0SW5pZGljZXMgd2l0aCB0aGUgZW5kIG9mZnNldHMgb2YgZWFjaCBnbHlwaOKAmXMKKyAgICAg
ICAgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXIgcmFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpDb21w
bGV4VGV4dENvbnRyb2xsZXI6OmFkdmFuY2UpOiBGb3Igbm9uLW1vbm90b25pYyBydW5zLCB1c2Ug
bGFzdEluZGV4QXQoKSB0byBnZXQKKyAgICAgICAgZ2x5cGhz4oCZIGVuZCBvZmZzZXRzLgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZh
bmNlcyk6IENoZWNrIGZvciBtb25vdG9uaWNpdHkgYW5kIGNhbGwKKyAgICAgICAgc2V0SXNNb25v
dG9uaWMoZmFsc2UpIGlmIG5lZWRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Q29tcGxleFRleHRDb250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENv
bnRyb2xsZXI6OkNvbXBsZXhUZXh0UnVuOjpsYXN0SW5kZXhBdCk6IEFkZGVkIHRoaXMgZ2V0dGVy
LgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1
bjo6aXNNb25vdG9uaWMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Q29tcGxleFRleHRDb250cm9sbGVyQVRTVUkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxl
eFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6Q29tcGxleFRleHRSdW4pOiBJbml0aWFs
aXplIG1faXNNb25vdG9uaWMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBs
ZXhUZXh0Q29udHJvbGxlckNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBsZXhU
ZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRSdW46OkNvbXBsZXhUZXh0UnVuKTogRGl0dG8uCisK
IDIwMTAtMDItMTEgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNp
b24gNTQ2NTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENv
bnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTYsNiArMzE2LDcgQEAgQ29tcGxleFRl
eHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6QwogICAgICwgbV9jaGFyYWN0ZXJzKGNoYXJh
Y3RlcnMpCiAgICAgLCBtX3N0cmluZ0xvY2F0aW9uKHN0cmluZ0xvY2F0aW9uKQogICAgICwgbV9z
dHJpbmdMZW5ndGgoc3RyaW5nTGVuZ3RoKQorICAgICwgbV9pc01vbm90b25pYyh0cnVlKQogewog
I2lmIFVTRShDT1JFX1RFWFQpICYmIFVTRShBVFNVSSkKICAgICBzaG91bGRVc2VBVFNVSUFQSSgp
ID8gY3JlYXRlVGV4dFJ1bkZyb21Gb250RGF0YUFUU1VJKGx0cikgOiBjcmVhdGVUZXh0UnVuRnJv
bUZvbnREYXRhQ29yZVRleHQobHRyKTsKQEAgLTMyNiw2ICszMjcsMzEgQEAgQ29tcGxleFRleHRD
b250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6QwogI2VuZGlmCiB9CiAKK3ZvaWQgQ29tcGxleFRl
eHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6c2V0SXNNb25vdG9uaWMoYm9vbCBpc01vbm90
b25pYykKK3sKKyAgICBtX2lzTW9ub3RvbmljID0gaXNNb25vdG9uaWM7CisgICAgaWYgKGlzTW9u
b3RvbmljKQorICAgICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8Ym9vbCwgNjQ+IG1hcHBlZElu
ZGljZXMobV9zdHJpbmdMZW5ndGgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9nbHlw
aENvdW50OyArK2kpIHsKKyAgICAgICAgQVNTRVJUKGluZGV4QXQoaSkgPCBzdGF0aWNfY2FzdDxD
RkluZGV4PihtX3N0cmluZ0xlbmd0aCkpOworICAgICAgICBtYXBwZWRJbmRpY2VzW2luZGV4QXQo
aSldID0gdHJ1ZTsKKyAgICB9CisKKyAgICBtX2xhc3RJbmRpY2VzLmdyb3cobV9nbHlwaENvdW50
KTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZ2x5cGhDb3VudDsgKytpKSB7CisgICAg
ICAgIENGSW5kZXggbmV4dE1hcHBlZEluZGV4ID0gbV9zdHJpbmdMZW5ndGg7CisgICAgICAgIGZv
ciAoc2l6ZV90IGogPSBpbmRleEF0KGkpICsgMTsgaiA8IG1fc3RyaW5nTGVuZ3RoOyArK2opIHsK
KyAgICAgICAgICAgIGlmIChtYXBwZWRJbmRpY2VzW2pdKSB7CisgICAgICAgICAgICAgICAgbmV4
dE1hcHBlZEluZGV4ID0gajsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBtX2xhc3RJbmRpY2VzW2ldID0gbmV4dE1hcHBlZEluZGV4Owor
ICAgIH0KK30KKwogdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkdmFuY2UodW5zaWduZWQg
b2Zmc2V0LCBHbHlwaEJ1ZmZlciogZ2x5cGhCdWZmZXIpCiB7CiAgICAgaWYgKHN0YXRpY19jYXN0
PGludD4ob2Zmc2V0KSA+IG1fZW5kKQpAQCAtMzQ4LDEwICszNzQsMTMgQEAgdm9pZCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OmFkdmFuY2UodW5zaQogICAgICAgICB3aGlsZSAobV9nbHlwaEluQ3Vy
cmVudFJ1biA8IGdseXBoQ291bnQpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGdseXBoU3RhcnRP
ZmZzZXQgPSBjb21wbGV4VGV4dFJ1bi5pbmRleEF0KGcpOwogICAgICAgICAgICAgdW5zaWduZWQg
Z2x5cGhFbmRPZmZzZXQ7Ci0gICAgICAgICAgICBpZiAobHRyKQotICAgICAgICAgICAgICAgIGds
eXBoRW5kT2Zmc2V0ID0gbWF4PHVuc2lnbmVkPihnbHlwaFN0YXJ0T2Zmc2V0LCBnICsgMSA8IGds
eXBoQ291bnQgPyBjb21wbGV4VGV4dFJ1bi5pbmRleEF0KGcgKyAxKSA6IGNvbXBsZXhUZXh0UnVu
LnN0cmluZ0xlbmd0aCgpKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBnbHlw
aEVuZE9mZnNldCA9IG1heDx1bnNpZ25lZD4oZ2x5cGhTdGFydE9mZnNldCwgZyA+IDAgPyBjb21w
bGV4VGV4dFJ1bi5pbmRleEF0KGcgLSAxKSA6IGNvbXBsZXhUZXh0UnVuLnN0cmluZ0xlbmd0aCgp
KTsKKyAgICAgICAgICAgIGlmIChjb21wbGV4VGV4dFJ1bi5pc01vbm90b25pYygpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGx0cikKKyAgICAgICAgICAgICAgICAgICAgZ2x5cGhFbmRPZmZzZXQg
PSBtYXg8dW5zaWduZWQ+KGdseXBoU3RhcnRPZmZzZXQsIGcgKyAxIDwgZ2x5cGhDb3VudCA/IGNv
bXBsZXhUZXh0UnVuLmluZGV4QXQoZyArIDEpIDogY29tcGxleFRleHRSdW4uc3RyaW5nTGVuZ3Ro
KCkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ2x5cGhFbmRP
ZmZzZXQgPSBtYXg8dW5zaWduZWQ+KGdseXBoU3RhcnRPZmZzZXQsIGcgPiAwID8gY29tcGxleFRl
eHRSdW4uaW5kZXhBdChnIC0gMSkgOiBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMZW5ndGgoKSk7Cisg
ICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnbHlwaEVuZE9mZnNldCA9IGNvbXBs
ZXhUZXh0UnVuLmxhc3RJbmRleEF0KGcpOwogCiAgICAgICAgICAgICBDR1NpemUgYWRqdXN0ZWRB
ZHZhbmNlID0gbV9hZGp1c3RlZEFkdmFuY2VzW2tdOwogCkBAIC0zOTMsNyArNDIyLDcgQEAgdm9p
ZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogewogICAgIHNpemVfdCBydW5D
b3VudCA9IG1fY29tcGxleFRleHRSdW5zLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCByID0gMDsg
ciA8IHJ1bkNvdW50OyArK3IpIHsKLSAgICAgICAgY29uc3QgQ29tcGxleFRleHRSdW4mIGNvbXBs
ZXhUZXh0UnVuID0gKm1fY29tcGxleFRleHRSdW5zW3JdOworICAgICAgICBDb21wbGV4VGV4dFJ1
biYgY29tcGxleFRleHRSdW4gPSAqbV9jb21wbGV4VGV4dFJ1bnNbcl07CiAgICAgICAgIHVuc2ln
bmVkIGdseXBoQ291bnQgPSBjb21wbGV4VGV4dFJ1bi5nbHlwaENvdW50KCk7CiAgICAgICAgIGNv
bnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSA9IGNvbXBsZXhUZXh0UnVuLmZvbnREYXRhKCk7
CiAKQEAgLTQwNSwxMCArNDM0LDE4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1
c3RHbHlwaHMKICAgICAgICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9h
dChmb250RGF0YS0+c3BhY2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9
ICFtX2ZvbnQuaXNQcmludGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3Vu
ZHNHbHlwaEFkdmFuY2VzKCk7CiAgICAgICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9u
dC5sZXR0ZXJTcGFjaW5nKCkgfHwgbV9mb250LndvcmRTcGFjaW5nKCkgfHwgbV9wYWRkaW5nKSAm
JiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7Ci0KKyAgICAgICAgQ0ZJbmRleCBsYXN0Q2hhcmFj
dGVySW5kZXggPSBtX3J1bi5sdHIoKSA/IG51bWVyaWNfbGltaXRzPENGSW5kZXg+OjptaW4oKSA6
IG51bWVyaWNfbGltaXRzPENGSW5kZXg+OjptYXgoKTsKKyAgICAgICAgYm9vbCBpc01vbm90b25p
YyA9IHRydWU7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGdseXBoQ291bnQ7
IGkrKykgewogICAgICAgICAgICAgQ0ZJbmRleCBjaGFyYWN0ZXJJbmRleCA9IGNvbXBsZXhUZXh0
UnVuLmluZGV4QXQoaSk7CisgICAgICAgICAgICBpZiAobV9ydW4ubHRyKCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoY2hhcmFjdGVySW5kZXggPCBsYXN0Q2hhcmFjdGVySW5kZXgpCisgICAgICAg
ICAgICAgICAgICAgIGlzTW9ub3RvbmljID0gZmFsc2U7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGlmIChjaGFyYWN0ZXJJbmRleCA+IGxhc3RDaGFyYWN0ZXJJbmRleCkK
KyAgICAgICAgICAgICAgICAgICAgaXNNb25vdG9uaWMgPSBmYWxzZTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIFVDaGFyIGNoID0gKihjcCArIGNoYXJhY3RlckluZGV4KTsKICAgICAgICAg
ICAgIGJvb2wgbGFzdEdseXBoID0gbGFzdFJ1biAmJiBpICsgMSA9PSBnbHlwaENvdW50OwogICAg
ICAgICAgICAgVUNoYXIgbmV4dENoOwpAQCAtNTAwLDcgKzUzNywxMCBAQCB2b2lkIENvbXBsZXhU
ZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAgICAgICBhZHZhbmNlLmhlaWdodCAq
PSAtMTsKICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5hcHBlbmQoYWR2YW5jZSk7CiAg
ICAgICAgICAgICBtX2FkanVzdGVkR2x5cGhzLmFwcGVuZChnbHlwaCk7CisgICAgICAgICAgICBs
YXN0Q2hhcmFjdGVySW5kZXggPSBjaGFyYWN0ZXJJbmRleDsKICAgICAgICAgfQorICAgICAgICBp
ZiAoIWlzTW9ub3RvbmljKQorICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNNb25vdG9u
aWMoZmFsc2UpOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgJKHJldmlzaW9uIDU0NjU3KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTg4LDggKzg4LDExIEBAIHByaXZhdGU6CiAgICAgICAgIHVuc2ln
bmVkIHN0cmluZ0xvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmdMb2NhdGlvbjsgfQog
ICAgICAgICBzaXplX3Qgc3RyaW5nTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmdMZW5n
dGg7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBDRkluZGV4IGluZGV4QXQoc2l6ZV90IGkpIGNv
bnN0OworICAgICAgICBDRkluZGV4IGxhc3RJbmRleEF0KHNpemVfdCBpKSBjb25zdCB7IEFTU0VS
VCghbV9pc01vbm90b25pYyk7IHJldHVybiBtX2xhc3RJbmRpY2VzW2ldOyB9CiAgICAgICAgIGNv
bnN0IENHR2x5cGgqIGdseXBocygpIGNvbnN0IHsgcmV0dXJuIG1fZ2x5cGhzOyB9CiAgICAgICAg
IGNvbnN0IENHU2l6ZSogYWR2YW5jZXMoKSBjb25zdCB7IHJldHVybiBtX2FkdmFuY2VzOyB9Cisg
ICAgICAgIGJvb2wgaXNNb25vdG9uaWMoKSBjb25zdCB7IHJldHVybiBtX2lzTW9ub3RvbmljOyB9
CisgICAgICAgIHZvaWQgc2V0SXNNb25vdG9uaWMoYm9vbCk7CiAKICAgICBwcml2YXRlOgogI2lm
IFVTRShDT1JFX1RFWFQpCkBAIC0xMjQsMTQgKzEyNywxNSBAQCBwcml2YXRlOgogI2lmIFVTRShB
VFNVSSkKICAgICAgICAgVmVjdG9yPENGSW5kZXgsIDY0PiBtX2F0c3VpSW5kaWNlczsKICNlbmRp
ZgorICAgICAgICBWZWN0b3I8Q0ZJbmRleCwgNjQ+IG1fbGFzdEluZGljZXM7CiAgICAgICAgIFZl
Y3RvcjxDR0dseXBoLCA2ND4gbV9nbHlwaHNWZWN0b3I7CiAgICAgICAgIGNvbnN0IENHR2x5cGgq
IG1fZ2x5cGhzOwogICAgICAgICBWZWN0b3I8Q0dTaXplLCA2ND4gbV9hZHZhbmNlc1ZlY3RvcjsK
ICAgICAgICAgY29uc3QgQ0dTaXplKiBtX2FkdmFuY2VzOwogI2lmIFVTRShBVFNVSSkKLSAgICAg
ICAgYm9vbCBtX2x0cjsKICAgICAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7CiAjZW5k
aWYKKyAgICAgICAgYm9vbCBtX2lzTW9ub3RvbmljOwogICAgIH07CiAKICAgICB2b2lkIGNvbGxl
Y3RDb21wbGV4VGV4dFJ1bnMoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0NvbXBsZXhUZXh0Q29udHJvbGxlckFUU1VJLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJBVFNVSS5jcHAJKHJldmlz
aW9uIDU0NjU3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRD
b250cm9sbGVyQVRTVUkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsOCArMTQ1LDggQEAgQ29t
cGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6QwogICAgICwgbV9jaGFyYWN0ZXJz
KGNoYXJhY3RlcnMpCiAgICAgLCBtX3N0cmluZ0xvY2F0aW9uKHN0cmluZ0xvY2F0aW9uKQogICAg
ICwgbV9zdHJpbmdMZW5ndGgoc3RyaW5nTGVuZ3RoKQotICAgICwgbV9sdHIobHRyKQogICAgICwg
bV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCisgICAgLCBtX2lzTW9u
b3RvbmljKHRydWUpCiB7CiAgICAgT1NTdGF0dXMgc3RhdHVzOwogCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250
cm9sbGVyQ29yZVRleHQuY3BwCShyZXZpc2lvbiA1NDY1NykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlckNvcmVUZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDYsNiArNDYsNyBAQCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0
UnVuOjpDCiAgICAgLCBtX2NoYXJhY3RlcnMoY2hhcmFjdGVycykKICAgICAsIG1fc3RyaW5nTG9j
YXRpb24oc3RyaW5nTG9jYXRpb24pCiAgICAgLCBtX3N0cmluZ0xlbmd0aChzdHJpbmdMZW5ndGgp
CisgICAgLCBtX2lzTW9ub3RvbmljKHRydWUpCiB7CiAgICAgbV9nbHlwaENvdW50ID0gQ1RSdW5H
ZXRHbHlwaENvdW50KG1fY29yZVRleHRSdW4uZ2V0KCkpOwogICAgIG1fY29yZVRleHRJbmRpY2Vz
ID0gQ1RSdW5HZXRTdHJpbmdJbmRpY2VzUHRyKG1fY29yZVRleHRSdW4uZ2V0KCkpOwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTQ2ODkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMi0xMSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NjA5MjY4PiBSRUdSRVNTSU9OIChyNTAzMDEpOiBQcm9ibGVtIHNl
bGVjdGluZyB0ZXh0IGluIGEgRGV2YW5hZ2FyaSB3ZWJzaXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDg2NQorCisgICAgICAgICogZmFzdC90ZXh0
L2dseXBoLXJlb3JkZXJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Rl
eHQvZ2x5cGgtcmVvcmRlcmluZy5odG1sOiBBZGRlZC4KKwogMjAxMC0wMi0xMSAgTmlrb2xhcyBa
aW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQu
IE9vcHMsIG1vdmUgbWFjLWxlcGFyZCByZXN1bHRzIGZvciBtYXNrLWludmFsaWRhdGlvbi5zdmcg
aW50byB0aGUgY29ycmVjdCBmb2xkZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RleHQvZ2x5
cGgtcmVvcmRlcmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2dseXBoLXJlb3JkZXJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2dseXBoLXJlb3JkZXJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdHMgdGV4dCBzZWxlY3Rpb24gaW4gY29tcGxl
eCBzY3JpcHRzIHdoZXJlIGdseXBoIHJlb3JkZXJpbmcgb2NjdXJzLgorCivgpLngpL/gpKjgpY3g
pKbgpYAKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9nbHlwaC1yZW9yZGVyaW5n
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2dseXBoLXJlb3JkZXJp
bmcuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9nbHlwaC1yZW9y
ZGVyaW5nLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKKzxwPgorICAgIFRoaXMg
dGVzdHMgdGV4dCBzZWxlY3Rpb24gaW4gY29tcGxleCBzY3JpcHRzIHdoZXJlIGdseXBoIHJlb3Jk
ZXJpbmcgb2NjdXJzLgorPC9wPgorPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udC1zaXplOiA0
OHB4OyI+JiN4MDkzOTsmI3gwOTNGOyYjeDA5Mjg7JiN4MDk0RDsmI3gwOTI2OyYjeDA5NDA7PC9k
aXY+Cis8cCBpZD0icmVzdWx0Ij5UZXN0IGRpZCBub3QgcnVuPC9wPgorPHNjcmlwdD4KKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgdGV4dE5vZGUgPSB0YXJnZXQuZmlyc3RDaGls
ZDsKKyAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNl
dFN0YXJ0KHRleHROb2RlLCAwKTsKKyAgICByYW5nZS5zZXRFbmQodGV4dE5vZGUsIDIpOworCisg
ICAgdmFyIGNsaWVudFJlY3RzID0gcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJUZXh0ID0gY2xpZW50UmVjdHNbMF0ud2lk
dGggPT09IDQxID8gIlBBU1MiIDogIkZBSUw6IHdpZHRoIHdhcyAiICsgY2xpZW50UmVjdHNbMF0u
d2lkdGg7Cis8L3NjcmlwdD4K
</data>
<flag name="review"
          id="31309"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>