<?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>14896</bug_id>
          
          <creation_ts>2007-08-07 17:13:01 -0700</creation_ts>
          <short_desc>SVG InlineText/Flow box sizes don&apos;t take rotated glyphs into account</short_desc>
          <delta_ts>2007-08-07 17:32:25 -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>SVG</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2870</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-07 17:13:01 -0700</bug_when>
    <thetext>As the summary says, this has to be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2871</commentid>
    <comment_count>1</comment_count>
      <attachid>15860</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-07 17:16:25 -0700</bug_when>
    <thetext>Created attachment 15860
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2872</commentid>
    <comment_count>2</comment_count>
      <attachid>15860</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2007-08-07 17:24:03 -0700</bug_when>
    <thetext>Comment on attachment 15860
Initial patch

Looks good, nice to see so much code fleeing.

Do we give nice rects for web inspectorator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2873</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-07 17:27:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 15860 [edit])
&gt; Looks good, nice to see so much code fleeing.
&gt; 
&gt; Do we give nice rects for web inspectorator?

Yes, all rects perfect now. The common case
didn&apos;t change at all.

Greetings,
Niko
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2874</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-07 17:32:25 -0700</bug_when>
    <thetext>Landed in r24918.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15860</attachid>
            <date>2007-08-07 17:16:25 -0700</date>
            <delta_ts>2007-08-07 17:24:03 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>FixSVGTextGlyphCalcs.diff</filename>
            <type>text/plain</type>
            <size>10837</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5k
ZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDI0OTE2KQorKysgcmVuZGVyaW5n
L1NWR1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjcsNTEgKzQ2NywzOCBA
QAogdm9pZCBTVkdSb290SW5saW5lQm94OjpsYXlvdXRJbmxpbmVCb3hlcyhJbmxpbmVGbG93Qm94
KiBzdGFydCwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYgaXQsIGludCYgbG93WCwgaW50JiBo
aWdoWCwgaW50JiBsb3dZLCBpbnQmIGhpZ2hZKQogewogICAgIGZvciAoSW5saW5lQm94KiBjdXJy
ID0gc3RhcnQtPmZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkg
ewotICAgICAgICBjb25zdCBGb250JiBmb250ID0gY3Vyci0+b2JqZWN0KCktPnN0eWxlKCktPmZv
bnQoKTsKLSAgIAorICAgICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBjdXJyLT5vYmplY3QoKS0+
c3R5bGUoKTsgICAgCisgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZS0+Zm9udCgpOwor
CiAgICAgICAgIGlmIChjdXJyLT5vYmplY3QoKS0+aXNUZXh0KCkpIHsKLSAgICAgICAgICAgIElu
bGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycik7
CisgICAgICAgICAgICBTVkdJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8U1ZH
SW5saW5lVGV4dEJveCo+KGN1cnIpOwogICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4
dEJveC0+bGVuKCk7CiAKLSAgICAgICAgICAgIFNWR0NoYXIgY3VyQ2hhciA9ICppdDsKLSAgICAg
ICAgICAgIEFTU0VSVChpdCAhPSBtX3N2Z0NoYXJzLmVuZCgpKTsKLSAKLSAgICAgICAgICAgIGZs
b2F0IG1pblggPSBjdXJDaGFyLngsIG1pblkgPSBjdXJDaGFyLnk7Ci0gICAgICAgICAgICBmbG9h
dCBtYXhYID0gbWluWCwgbWF4WSA9IG1pblk7CisgICAgICAgICAgICBTVkdDaGFyIGN1ckNoYXIg
PSAqaXQ7IAorICAgICAgICAgICAgQVNTRVJUKGl0ICE9IG1fc3ZnQ2hhcnMuZW5kKCkpOyAgCiAK
LSAgICAgICAgICAgIGl0Kys7Ci0KLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkg
PCBsZW5ndGg7ICsraSkgeworICAgICAgICAgICAgRmxvYXRSZWN0IHN0cmluZ1JlY3Q7CisgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAg
ICAgICAgICBBU1NFUlQoaXQgIT0gbV9zdmdDaGFycy5lbmQoKSk7Ci0gICAgICAgICAgICAgICAg
U1ZHQ2hhciBjdXJDaGFyID0gKml0OwogCi0gICAgICAgICAgICAgICAgaWYgKGN1ckNoYXIueCA8
IG1pblgpCi0gICAgICAgICAgICAgICAgICAgIG1pblggPSBjdXJDaGFyLng7Ci0KLSAgICAgICAg
ICAgICAgICBpZiAoY3VyQ2hhci54ID4gbWF4WCkKLSAgICAgICAgICAgICAgICAgICAgbWF4WCA9
IGN1ckNoYXIueDsKLQotICAgICAgICAgICAgICAgIGlmIChjdXJDaGFyLnkgPCBtaW5ZKQotICAg
ICAgICAgICAgICAgICAgICBtaW5ZID0gY3VyQ2hhci55OwotCi0gICAgICAgICAgICAgICAgaWYg
KGN1ckNoYXIueSA+IG1heFkpCi0gICAgICAgICAgICAgICAgICAgIG1heFkgPSBjdXJDaGFyLnk7
Ci0KKyAgICAgICAgICAgICAgICBzdHJpbmdSZWN0LnVuaXRlKHRleHRCb3gtPmNhbGN1bGF0ZUds
eXBoQm91bmRhcmllcyhzdHlsZSwgdGV4dEJveC0+c3RhcnQoKSArIGksICppdCkpOwogICAgICAg
ICAgICAgICAgIGl0Kys7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJlbmRlclRleHQq
IHRleHQgPSB0ZXh0Qm94LT50ZXh0T2JqZWN0KCk7Ci0gICAgICAgICAgICBBU1NFUlQodGV4dCk7
CisgICAgICAgICAgICBJbnRSZWN0IGVuY2xvc2VkU3RyaW5nUmVjdCA9IGVuY2xvc2luZ0ludFJl
Y3Qoc3RyaW5nUmVjdCk7CiAKLSAgICAgICAgICAgIG1heFggKz0gdGV4dC0+d2lkdGgodGV4dEJv
eC0+ZW5kKCksIDEsIGZvbnQsIDApOwotICAgICAgICAgICAgbWF4WSArPSBmb250LmFzY2VudCgp
ICsgZm9udC5kZXNjZW50KCk7CisgICAgICAgICAgICBpbnQgbWluWCA9IGVuY2xvc2VkU3RyaW5n
UmVjdC54KCk7CisgICAgICAgICAgICBpbnQgbWF4WCA9IG1pblggKyBlbmNsb3NlZFN0cmluZ1Jl
Y3Qud2lkdGgoKTsKIAorICAgICAgICAgICAgaW50IG1pblkgPSBlbmNsb3NlZFN0cmluZ1JlY3Qu
eSgpOworICAgICAgICAgICAgaW50IG1heFkgPSBtaW5ZICsgZW5jbG9zZWRTdHJpbmdSZWN0Lmhl
aWdodCgpOworCiAgICAgICAgICAgICBjdXJyLT5zZXRYUG9zKG1pblggLSBvYmplY3QoKS0+eFBv
cygpKTsKLSAgICAgICAgICAgIGN1cnItPnNldFdpZHRoKG1heFggLSBtaW5YKTsKKyAgICAgICAg
ICAgIGN1cnItPnNldFdpZHRoKGVuY2xvc2VkU3RyaW5nUmVjdC53aWR0aCgpKTsKIAotICAgICAg
ICAgICAgY3Vyci0+c2V0WVBvcyhtaW5ZIC0gb2JqZWN0KCktPnlQb3MoKSAtIGZvbnQuYXNjZW50
KCkpOworICAgICAgICAgICAgY3Vyci0+c2V0WVBvcyhtaW5ZIC0gb2JqZWN0KCktPnlQb3MoKSk7
CiAgICAgICAgICAgICBjdXJyLT5zZXRCYXNlbGluZShmb250LmFzY2VudCgpKTsKLSAgICAgICAg
ICAgIGN1cnItPnNldEhlaWdodChtYXhZIC0gbWluWSk7CisgICAgICAgICAgICBjdXJyLT5zZXRI
ZWlnaHQoZW5jbG9zZWRTdHJpbmdSZWN0LmhlaWdodCgpKTsKIAogICAgICAgICAgICAgaWYgKG1p
blggPCBsb3dYKQogICAgICAgICAgICAgICAgIGxvd1ggPSBtaW5YOwpAQCAtNTM4LDcgKzUyNSw3
IEBACiAgICAgICAgICAgICBjdXJyLT5zZXRYUG9zKG1pblggLSBvYmplY3QoKS0+eFBvcygpKTsK
ICAgICAgICAgICAgIGN1cnItPnNldFdpZHRoKG1heFggLSBtaW5YKTsKIAotICAgICAgICAgICAg
Y3Vyci0+c2V0WVBvcyhtaW5ZIC0gb2JqZWN0KCktPnlQb3MoKSAtIGZvbnQuYXNjZW50KCkpOwor
ICAgICAgICAgICAgY3Vyci0+c2V0WVBvcyhtaW5ZIC0gb2JqZWN0KCktPnlQb3MoKSk7CiAgICAg
ICAgICAgICBjdXJyLT5zZXRCYXNlbGluZShmb250LmFzY2VudCgpKTsKICAgICAgICAgICAgIGN1
cnItPnNldEhlaWdodChtYXhZIC0gbWluWSk7CiAKQEAgLTU1Nyw5ICs1NDQsNyBAQAogICAgIH0K
IAogICAgIGlmIChzdGFydC0+aXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgY29uc3QgRm9u
dCYgZm9udCA9IHN0YXJ0LT5vYmplY3QoKS0+c3R5bGUoKS0+Zm9udCgpOwotIAotICAgICAgICBp
bnQgdG9wID0gbG93WSAtIG9iamVjdCgpLT55UG9zKCkgLSBmb250LmFzY2VudCgpOworICAgICAg
ICBpbnQgdG9wID0gbG93WSAtIG9iamVjdCgpLT55UG9zKCk7CiAgICAgICAgIGludCBib3R0b20g
PSBoaWdoWSAtIG9iamVjdCgpLT55UG9zKCk7CiAKICAgICAgICAgc3RhcnQtPnNldFhQb3MobG93
WCAtIG9iamVjdCgpLT54UG9zKCkpOwpJbmRleDogcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3gu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiAy
NDkxNikKKysrIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAg
LTUyLDYgKzUyLDggQEAKICAgICAgICAgZmxvYXQgY2FsY3VsYXRlR2x5cGhXaWR0aChSZW5kZXJT
dHlsZSosIGludCBvZmZzZXQpIGNvbnN0OwogICAgICAgICBmbG9hdCBjYWxjdWxhdGVHbHlwaEhl
aWdodChSZW5kZXJTdHlsZSosIGludCBvZmZzZXQpIGNvbnN0OwogCisgICAgICAgIEZsb2F0UmVj
dCBjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMoUmVuZGVyU3R5bGUqLCBpbnQgb2Zmc2V0LCBjb25z
dCBTVkdDaGFyJikgY29uc3Q7CisKICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3Mg
UmVuZGVyU1ZHSW5saW5lVGV4dDsKICAgICAgICAgYm9vbCBzdmdDaGFyYWN0ZXJIaXRzUG9zaXRp
b24oaW50IHgsIGludCB5LCBpbnQmIG9mZnNldCkgY29uc3Q7CkluZGV4OiByZW5kZXJpbmcvU1ZH
SW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR0lubGluZVRleHRC
b3guY3BwCShyZXZpc2lvbiAyNDkxNikKKysrIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsMzMgQEAKICAgICByZXR1cm4gc3R5bGUtPmZv
bnQoKS5hc2NlbnQoKSArIHN0eWxlLT5mb250KCkuZGVzY2VudCgpOwogfQogCitGbG9hdFJlY3Qg
U1ZHSW5saW5lVGV4dEJveDo6Y2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKFJlbmRlclN0eWxlKiBz
dHlsZSwgaW50IG9mZnNldCwgY29uc3QgU1ZHQ2hhciYgc3ZnQ2hhcikgY29uc3QKK3sKKyAgICBj
b25zdCBGb250JiBmb250ID0gc3R5bGUtPmZvbnQoKTsKKworICAgIC8vIFRha2UgUlRMIHRleHQg
aW50byBhY2NvdW50IGFuZCBwaWNrIHJpZ2h0IGdseXBoIHdpZHRoL2hlaWdodC4KKyAgICBmbG9h
dCBnbHlwaFdpZHRoID0gMC4wOworCisgICAgaWYgKCFtX3JldmVyc2VkKQorICAgICAgICBnbHlw
aFdpZHRoID0gY2FsY3VsYXRlR2x5cGhXaWR0aChzdHlsZSwgb2Zmc2V0KTsKKyAgICBlbHNlCisg
ICAgICAgIGdseXBoV2lkdGggPSBjYWxjdWxhdGVHbHlwaFdpZHRoKHN0eWxlLCBzdGFydCgpICsg
ZW5kKCkgLSBvZmZzZXQpOworCisgICAgZmxvYXQgeDEgPSBzdmdDaGFyLng7CisgICAgZmxvYXQg
eDIgPSBzdmdDaGFyLnggKyBnbHlwaFdpZHRoOworCisgICAgZmxvYXQgeTEgPSBzdmdDaGFyLnkg
LSBmb250LmFzY2VudCgpOworICAgIGZsb2F0IHkyID0gc3ZnQ2hhci55ICsgZm9udC5kZXNjZW50
KCk7CisKKyAgICBGbG9hdFJlY3QgZ2x5cGhSZWN0KHgxLCB5MSwgeDIgLSB4MSwgeTIgLSB5MSk7
CisKKyAgICAvLyBUYWtlIHBlci1jaGFyYWN0ZXIgdHJhbnNmb3JtYXRpb25zIGludG8gYWNjb3Vu
dAorICAgIGlmICghc3ZnQ2hhci50cmFuc2Zvcm0uaXNJZGVudGl0eSgpKQorICAgICAgICBnbHlw
aFJlY3QgPSBzdmdDaGFyLnRyYW5zZm9ybS5tYXBSZWN0KGdseXBoUmVjdCk7CisKKyAgICByZXR1
cm4gZ2x5cGhSZWN0OworfQorCiBTVkdDaGFyKiBTVkdJbmxpbmVUZXh0Qm94OjpjbG9zZXN0Q2hh
cmFjdGVyVG9Qb3NpdGlvbihpbnQgeCwgaW50IHksIGludCYgb2Zmc2V0KSBjb25zdAogewogICAg
IC8vIEZpbmQgY29ycmVzcG9uZGluZyB0ZXh0IGNodW5rIGZvciBvdXIgaW5saW5lIGJveCAmIHJl
ZmVyZW5jZSB4IHBvc2l0aW9uCkBAIC0xMjcsMTggKzE1NCwxMiBAQAogICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCBuZXdPZmZzZXQgPSBzdGFydCgpICsgKGl0Q2hhciAtIGl0Q2hhckJlZ2lu
KSArIGZpcnN0UmFuZ2VJbkZpcnN0Q2h1bmtTdGFydE9mZnNldDsKIAogICAgICAgICAgICAgICAg
IC8vIFRha2UgUlRMIHRleHQgaW50byBhY2NvdW50IGFuZCBwaWNrIHJpZ2h0IGdseXBoIHdpZHRo
L2hlaWdodC4KLSAgICAgICAgICAgICAgICBmbG9hdCBnbHlwaFdpZHRoID0gMC4wOwotICAgICAg
ICAgICAgICAgIGZsb2F0IGdseXBoSGVpZ2h0ID0gMC4wOwotCi0gICAgICAgICAgICAgICAgaWYg
KCFtX3JldmVyc2VkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGdseXBoV2lkdGggPSBjYWxjdWxh
dGVHbHlwaFdpZHRoKHN0eWxlLCBuZXdPZmZzZXQpOwotICAgICAgICAgICAgICAgICAgICBnbHlw
aEhlaWdodCA9IGNhbGN1bGF0ZUdseXBoSGVpZ2h0KHN0eWxlLCBuZXdPZmZzZXQpOwotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7ICAgIAotICAgICAgICAgICAgICAgICAgICBnbHlwaFdpZHRoID0g
Y2FsY3VsYXRlR2x5cGhXaWR0aChzdHlsZSwgc3RhcnQoKSArIGVuZCgpIC0gbmV3T2Zmc2V0KTsK
LSAgICAgICAgICAgICAgICAgICAgZ2x5cGhIZWlnaHQgPSBjYWxjdWxhdGVHbHlwaEhlaWdodChz
dHlsZSwgc3RhcnQoKSArIGVuZCgpIC0gbmV3T2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBpZiAo
bV9yZXZlcnNlZCkKICAgICAgICAgICAgICAgICAgICAgbmV3T2Zmc2V0ID0gc3RhcnQoKSArIGVu
ZCgpIC0gbmV3T2Zmc2V0OwotICAgICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgICAgIGZs
b2F0IGdseXBoV2lkdGggPSBjYWxjdWxhdGVHbHlwaFdpZHRoKHN0eWxlLCBuZXdPZmZzZXQpOwor
ICAgICAgICAgICAgICAgIGZsb2F0IGdseXBoSGVpZ2h0ID0gY2FsY3VsYXRlR2x5cGhIZWlnaHQo
c3R5bGUsIG5ld09mZnNldCk7CisKICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlzdGFu
Y2VzIHJlbGF0aXZlIHRvIHRoZSBnbHlwaCBtaWQtcG9pbnQuIEkgaG9wZSB0aGlzIGlzIGFjY3Vy
YXRlIGVub3VnaC4KICAgICAgICAgICAgICAgICBmbG9hdCB4RGlzdGFuY2UgPSAoKml0Q2hhciku
eCArIGdseXBoV2lkdGggLyAyLjAgLSB4OwogICAgICAgICAgICAgICAgIGZsb2F0IHlEaXN0YW5j
ZSA9ICgqaXRDaGFyKS55IC0gZ2x5cGhIZWlnaHQgLyAyLjAgLSB5OwpAQCAtMjMwLDkgKzI1MSw3
IEBACiB7CiAgICAgQVNTRVJUKCFpc0xpbmVCcmVhaygpKTsKIAotICAgIFJlbmRlclN0eWxlKiBz
dHlsZSA9IHRleHRPYmplY3QoKS0+c3R5bGUobV9maXJzdExpbmUpOwotICAgIEludFJlY3QgcmVj
dCA9IHNlbGVjdGlvblJlY3QoMCwgLXN0eWxlLT5mb250KCkuYXNjZW50KCksIDAsIGxlbigpKTsK
LQorICAgIEludFJlY3QgcmVjdCA9IHNlbGVjdGlvblJlY3QoMCwgMCwgMCwgbGVuKCkpOwogICAg
IGlmIChvYmplY3QoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEUgJiYgcmVjdC5j
b250YWlucyh4LCB5KSkgewogICAgICAgICBvYmplY3QoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChy
ZXN1bHQsIEludFBvaW50KHggLSB0eCwgeSAtIHR5KSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpA
QCAtMjQxLDIxICsyNjAsMTkgQEAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUludFJlY3QgU1ZH
SW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjdChpbnQgdHgsIGludCB0eSwgaW50IHN0YXJ0UG9z
LCBpbnQgZW5kUG9zKQorSW50UmVjdCBTVkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25SZWN0KGlu
dCwgaW50LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCiB7CiAgICAgaWYgKHN0YXJ0UG9zID49
IGVuZFBvcykKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIFRPRE86IEFjdHVh
bGx5IHJlc3BlY3Qgc3RhcnRQb3MvZW5kUG9zIC0gd2UncmUgcmV0dXJuaW5nIHRoZSBfZnVsbF8g
c2VsZWN0aW9uUmVjdAogICAgIC8vIGhlcmUuIFRoaXMgd29uJ3QgbGVhZCB0byB2aXNpYmxlIGJ1
Z3MsIGJ1dCB0byBleHRyYSB3b3JrIGJlaW5nIGRvbmUuIEludmVzdGlnYXRlLgotICAgIAorCiAg
ICAgLy8gRmluZCBjb3JyZXNwb25kaW5nIHRleHQgY2h1bmsgZm9yIG91ciBpbmxpbmUgYm94ICYg
cmVmZXJlbmNlIHggcG9zaXRpb24KICAgICBTVkdSb290SW5saW5lQm94KiByb290Qm94ID0gc3Zn
Um9vdElubGluZUJveCgpOwogICAgIFZlY3RvcjxTVkdUZXh0Q2h1bms+JiBjaHVua3MgPSBjb25z
dF9jYXN0PFZlY3RvcjxTVkdUZXh0Q2h1bms+JiA+KHJvb3RCb3gtPnN2Z1RleHRDaHVua3MoKSk7
CiAKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSB0ZXh0T2JqZWN0KCktPnN0eWxlKCk7Ci0gICAg
Y29uc3QgRm9udCYgZm9udCA9IHN0eWxlLT5mb250KCk7Ci0KICAgICBGbG9hdFJlY3Qgc2VsZWN0
aW9uUmVjdDsKICAgICAKICAgICBWZWN0b3I8U1ZHVGV4dENodW5rPjo6aXRlcmF0b3IgaXQgPSBj
aHVua3MuYmVnaW4oKTsKQEAgLTI4OSwzMSArMzA2LDggQEAKICAgICAgICAgICAgIGZvciAoVmVj
dG9yPFNWR0NoYXI+OjppdGVyYXRvciBpdENoYXIgPSBpdENoYXJCZWdpbjsgaXRDaGFyICE9IGl0
Q2hhckVuZDsgKytpdENoYXIpIHsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbmV3T2Zm
c2V0ID0gc3RhcnQoKSArIChpdENoYXIgLSBpdENoYXJCZWdpbikgKyBmaXJzdFJhbmdlSW5GaXJz
dENodW5rU3RhcnRPZmZzZXQ7CiAKLSAgICAgICAgICAgICAgICAvLyBUYWtlIFJUTCB0ZXh0IGlu
dG8gYWNjb3VudCBhbmQgcGljayByaWdodCBnbHlwaCB3aWR0aC9oZWlnaHQuCi0gICAgICAgICAg
ICAgICAgZmxvYXQgZ2x5cGhXaWR0aCA9IDAuMDsKLSAgICAgICAgICAgICAgICBmbG9hdCBnbHlw
aEhlaWdodCA9IDAuMDsKLQotICAgICAgICAgICAgICAgIGlmICghbV9yZXZlcnNlZCkgewotICAg
ICAgICAgICAgICAgICAgICBnbHlwaFdpZHRoID0gY2FsY3VsYXRlR2x5cGhXaWR0aChzdHlsZSwg
bmV3T2Zmc2V0KTsKLSAgICAgICAgICAgICAgICAgICAgZ2x5cGhIZWlnaHQgPSBjYWxjdWxhdGVH
bHlwaEhlaWdodChzdHlsZSwgbmV3T2Zmc2V0KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgeyAg
ICAKLSAgICAgICAgICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IGNhbGN1bGF0ZUdseXBoV2lkdGgo
c3R5bGUsIHN0YXJ0KCkgKyBlbmQoKSAtIG5ld09mZnNldCk7Ci0gICAgICAgICAgICAgICAgICAg
IGdseXBoSGVpZ2h0ID0gY2FsY3VsYXRlR2x5cGhIZWlnaHQoc3R5bGUsIHN0YXJ0KCkgKyBlbmQo
KSAtIG5ld09mZnNldCk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgZmxv
YXQgeDEgPSAoKml0Q2hhcikueDsKLSAgICAgICAgICAgICAgICBmbG9hdCB4MiA9ICgqaXRDaGFy
KS54ICsgZ2x5cGhXaWR0aDsKLQotICAgICAgICAgICAgICAgIGZsb2F0IHkxID0gKCppdENoYXIp
LnkgLSBmb250LmFzY2VudCgpOwotICAgICAgICAgICAgICAgIGZsb2F0IHkyID0gKCppdENoYXIp
LnkgKyBmb250LmRlc2NlbnQoKTsKLQotICAgICAgICAgICAgICAgIEZsb2F0UmVjdCBnbHlwaFJl
Y3QoeDEsIHkxLCB4MiAtIHgxLCB5MiAtIHkxKTsKLQotICAgICAgICAgICAgICAgIC8vIFRha2Ug
cGVyLWNoYXJhY3RlciB0cmFuc2Zvcm1hdGlvbnMgaW50byBhY2NvdW50Ci0gICAgICAgICAgICAg
ICAgaWYgKCEoKml0Q2hhcikudHJhbnNmb3JtLmlzSWRlbnRpdHkoKSkKLSAgICAgICAgICAgICAg
ICAgICAgZ2x5cGhSZWN0ID0gKCppdENoYXIpLnRyYW5zZm9ybS5tYXBSZWN0KGdseXBoUmVjdCk7
Ci0KLSAgICAgICAgICAgICAgICBzZWxlY3Rpb25SZWN0LnVuaXRlKGdseXBoUmVjdCk7CisgICAg
ICAgICAgICAgICAgaW50IG9mZnNldCA9IG1fcmV2ZXJzZWQgPyBzdGFydCgpICsgZW5kKCkgLSBu
ZXdPZmZzZXQgOiBuZXdPZmZzZXQ7CisgICAgICAgICAgICAgICAgc2VsZWN0aW9uUmVjdC51bml0
ZShjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMoc3R5bGUsIG9mZnNldCwgKml0Q2hhcikpOwogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBjaHVua09mZnNldCArPSByYW5nZS5lbmRPZmZzZXQg
LSByYW5nZS5zdGFydE9mZnNldDsKSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFu
Z2VMb2cJKHJldmlzaW9uIDI0OTE2KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsMjQgQEAKIDIwMDctMDgtMDggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5A
a2RlLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTYgKFNW
RyBJbmxpbmVUZXh0L0Zsb3cgYm94IHNpemVzIGRvbid0IHRha2Ugcm90YXRlZCBnbHlwaHMgaW50
byBhY2NvdW50KQorCisgICAgICAgIEludHJvZHVjZSBuZXcgaGVscGVyIGZ1bmN0aW9uIGNhbGN1
bGF0ZUdseXBoQm91bmRhcmllcywgd2hpY2ggdGFrZXMgaW50byBhY2NvdW50IGFueSBwZXItY2hh
cmFjdGVyIHRyYW5zZm9ybWF0aW9uLgorICAgICAgICBUaGlzIGZpeGVzIGJveCBzaXplIGNhbGN1
bGF0aW9ucyBpbiBzdmcvVzNDLVNWRy0xLjEvdGV4dC10ZXh0LTA3LXQuc3ZnLCBzdmcvYmF0aWsv
dGV4dC90ZXh0RWZmZWN0My5zdmcgKHJvdGF0ZWQgZ2x5cGhzKQorICAgICAgICAtPiBUaGVzZSBz
dHJpbmdzIGNhbiBiZSBwcm9wZXJseSBzZWxlY3RlZCBub3csIGp1c3QgYXMgd2VsbCBhcyB0ZXh0
IHBhdGggZWxlbWVudHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxhdGVHbHlwaEJv
dW5kYXJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6Y2xvc2VzdENo
YXJhY3RlclRvUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6
bm9kZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0
aW9uUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSb290SW5saW5lQm94OjpsYXlvdXRJbmxpbmVCb3hlcyk6CisKKzIwMDctMDgtMDggIE5pa29s
YXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBi
eSBPbGl2ZXIuCiAKICAgICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzOTA5IChTVkcgdGV4dCBzZWxlY3Rpb24gZG9lc24ndCB3b3JrIHdpdGggUlRM
IHRleHQpCg==
</data>
<flag name="review"
          id="6640"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>