<?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>50865</bug_id>
          
          <creation_ts>2010-12-11 00:34:49 -0800</creation_ts>
          <short_desc>GlyphPage::fill() is slow on vertical writing (Mac)</short_desc>
          <delta_ts>2010-12-13 22:58:45 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Takumi Takano">takano</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>320620</commentid>
    <comment_count>0</comment_count>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-12-11 00:34:49 -0800</bug_when>
    <thetext>On vertical writing, GlyphPage::fill() uses CoreText instead of CG to map characters into glyphs. The CoreText path is obviously complex and slow. When I sampled with natural Japanese text rendering, I saw it is almost 2.5 times slower than CG path (around 100 samples vs around 270 samples.)  We can improve the performance by using CG path on ideograph-only page even in vertical writing mode, as we know ideographs don&apos;t have a vertical variant glyph.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320621</commentid>
    <comment_count>1</comment_count>
      <attachid>76295</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-12-11 00:55:46 -0800</bug_when>
    <thetext>Created attachment 76295
Propose patch.

With this change, the count of CoreText path execution reduced to 1/7 in a test with natural Japanese text. Also the sample count becomes almost as same level as a case that forces to only use CG path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320765</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-12 01:44:35 -0800</bug_when>
    <thetext>Ideally we&apos;d write a benchmark for this.  WebCore/benchmarks would be a place to put such a thing.  I&apos;m not sure the easiest way to test drawing speed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321405</commentid>
    <comment_count>3</comment_count>
      <attachid>76295</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-13 14:14:19 -0800</bug_when>
    <thetext>Comment on attachment 76295
Propose patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321409</commentid>
    <comment_count>4</comment_count>
      <attachid>76295</attachid>
    <who name="">mitz</who>
    <bug_when>2010-12-13 14:19:50 -0800</bug_when>
    <thetext>Comment on attachment 76295
Propose patch.

r-, actually. This is correct but I’d rather you didn’t add an anonymous boolean parameter to isCJKIdeograph(). Instead, please rename it to isCJKIdeographOrSymbol(), and factor out the isCJKIdeograph() part (and update call sites).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321556</commentid>
    <comment_count>5</comment_count>
      <attachid>76469</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-12-13 16:58:27 -0800</bug_when>
    <thetext>Created attachment 76469
New proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321559</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-12-13 17:00:16 -0800</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321628</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 19:40:15 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76469:

animations/suspend-resume-animation-events.html bug 51002 (author: cmarrin@apple.com)
fast/workers/storage/use-same-database-in-page-and-workers.html bug 51003 (author: dumi@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321662</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 21:16:58 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76469:

http/tests/misc/uncacheable-script-repeated.html bug 51009 (author: koivisto@iki.fi)
animations/suspend-resume-animation.html bug 51010 (author: cmarrin@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321697</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 22:56:06 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76469:

inspector/timeline-recalculate-styles.html bug 51014 (authors: pfeldman@chromium.org and yurys@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321702</commentid>
    <comment_count>10</comment_count>
      <attachid>76469</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 22:58:38 -0800</bug_when>
    <thetext>Comment on attachment 76469
New proposed patch.

Clearing flags on attachment: 76469

Committed r74005: &lt;http://trac.webkit.org/changeset/74005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321703</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 22:58:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76295</attachid>
            <date>2010-12-11 00:55:46 -0800</date>
            <delta_ts>2010-12-13 16:58:27 -0800</delta_ts>
            <desc>Propose patch.</desc>
            <filename>WK50865Patch_101211.txt</filename>
            <type>text/plain</type>
            <size>6343</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3Mzg0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMTItMTEgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEdseXBoUGFnZTo6ZmlsbCgpIGlzIHNsb3cgb24gdmVydGljYWwgd3JpdGluZyAoTWFjKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA4NjUKKwor
ICAgICAgICBObyB0ZXN0LiBKdXN0IGEgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmlzQ0pLSWRlb2dyYXBoKTogQWRkZWQgYW4gYXJndW1lbnQgdG8gZXhjbHVkZSBzeW1ib2xzIGZy
b20gY2hlY2suCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRVc2VDb3JlVGV4dCk6IFRoaXMgdGVzdHMgaWYgR2x5cGhQYWdlOjpm
aWxsKCkgc2hvdWxkIHVzZSBDb3JlVGV4dCBvciBub3QuCisgICAgICAgIEZvciB2ZXJ0aWNhbCB3
cml0aW5nLCBpZiB0aGUgY3VycmVudCBwYWdlIGNvbnRhaW5zIG9ubHkgaWRlb2dyYXBocywgd2Ug
Z28gQ0cgcGF0aC4KKyAgICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZTo6ZmlsbCk6IE1hZGUgdG8g
Y2FsbCBzaG91bGRVc2VDb3JlVGV4dCgpIGFuZCBzd2l0Y2ggY29kZSBwYXRoLgorCiAyMDEwLTEy
LTEwICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1hYyBi
dWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAJKHJldmlzaW9uIDcz
ODMyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzM2LDE0ICszMzYsNDggQEAgRm9udDo6Q29kZVBhdGggRm9udDo6Y29kZVBhdGgoY29u
c3QgVGV4dAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWJvb2wgRm9udDo6aXNDSktJZGVvZ3Jh
cGgoVUNoYXIzMiBjKQorYm9vbCBGb250Ojppc0NKS0lkZW9ncmFwaChVQ2hhcjMyIGMsIGJvb2wg
ZXhjbHVkZVN5bWJvbHMpCiB7Ci0gICAgLy8gMHgyQzcgQ2Fyb24sIE1hbmRhcmluIENoaW5lc2Ug
M3JkIFRvbmUKLSAgICAvLyAweDJDQSBNb2RpZmllciBMZXR0ZXIgQWN1dGUgQWNjZW50LCBNYW5k
YXJpbiBDaGluZXNlIDJuZCBUb25lCi0gICAgLy8gMHgyQ0IgTW9kaWZpZXIgTGV0dGVyIEdyYXZl
IEFjY2VzcywgTWFuZGFyaW4gQ2hpbmVzZSA0dGggVG9uZSAKLSAgICAvLyAweDJEOSBEb3QgQWJv
dmUsIE1hbmRhcmluIENoaW5lc2UgNXRoIFRvbmUgCi0gICAgaWYgKChjID09IDB4MkM3KSB8fCAo
YyA9PSAweDJDQSkgfHwgKGMgPT0gMHgyQ0IpIHx8IChjID09IDB4MkQ5KSkKLSAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgaWYgKCFleGNsdWRlU3ltYm9scykgeworICAgICAgICAvLyAweDJDNyBD
YXJvbiwgTWFuZGFyaW4gQ2hpbmVzZSAzcmQgVG9uZQorICAgICAgICAvLyAweDJDQSBNb2RpZmll
ciBMZXR0ZXIgQWN1dGUgQWNjZW50LCBNYW5kYXJpbiBDaGluZXNlIDJuZCBUb25lCisgICAgICAg
IC8vIDB4MkNCIE1vZGlmaWVyIExldHRlciBHcmF2ZSBBY2Nlc3MsIE1hbmRhcmluIENoaW5lc2Ug
NHRoIFRvbmUgCisgICAgICAgIC8vIDB4MkQ5IERvdCBBYm92ZSwgTWFuZGFyaW4gQ2hpbmVzZSA1
dGggVG9uZSAKKyAgICAgICAgaWYgKChjID09IDB4MkM3KSB8fCAoYyA9PSAweDJDQSkgfHwgKGMg
PT0gMHgyQ0IpIHx8IChjID09IDB4MkQ5KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgICAgIC8vIElkZW9ncmFwaGljIERlc2NyaXB0aW9uIENoYXJhY3RlcnMuCisgICAgICAgIGlm
IChjID49IDB4MkZGMCAmJiBjIDw9IDB4MkZGRikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICAKKyAgICAgICAgLy8gQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uLgorICAgICAg
ICBpZiAoYyA+PSAweDMwMDAgJiYgYyA8PSAweDMwM0YpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAKKyAgICAgICAgLy8gQm9wb21vZm8KKyAgICAgICAgaWYgKGMgPj0gMHgzMTAw
ICYmIGMgPD0gMHgzMTJGKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAg
ICAgICAvLyBCb3BvbW9mbyBFeHRlbmRlZAorICAgICAgICBpZiAoYyA+PSAweDMxQTAgJiYgYyA8
PSAweDMxQkYpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgCisgICAgICAgIC8vIEVu
Y2xvc2VkIENKSyBMZXR0ZXJzIGFuZCBNb250aHMuCisgICAgICAgIGlmIChjID49IDB4MzIwMCAm
JiBjIDw9IDB4MzJGRikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAg
ICAgLy8gQ0pLIENvbXBhdGliaWxpdHkuCisgICAgICAgIGlmIChjID49IDB4MzMwMCAmJiBjIDw9
IDB4MzNGRikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgLy8g
Q0pLIENvbXBhdGliaWxpdHkgRm9ybXMuCisgICAgICAgIGlmIChjID49IDB4RkUzMCAmJiBjIDw9
IDB4RkU0RikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIC8vIEVtb2ppLgor
ICAgICAgICBpZiAoYyA+PSAweDFGMjAwICYmIGMgPD0gMHgxRjZGKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQogCiAgICAgLy8gVGhlIGJhc2ljIENKSyBVbmlmaWVkIElkZW9ncmFw
aHMgYmxvY2suCiAgICAgaWYgKGMgPj0gMHg0RTAwICYmIGMgPD0gMHg5RkZGKQpAQCAtMzYxLDQ2
ICszOTUsMTQgQEAgYm9vbCBGb250Ojppc0NKS0lkZW9ncmFwaChVQ2hhcjMyIGMpCiAgICAgaWYg
KGMgPj0gMHgyRjAwICYmIGMgPD0gMHgyRkRGKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAK
LSAgICAvLyBJZGVvZ3JhcGhpYyBEZXNjcmlwdGlvbiBDaGFyYWN0ZXJzLgotICAgIGlmIChjID49
IDB4MkZGMCAmJiBjIDw9IDB4MkZGRikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgCi0gICAg
Ly8gQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uLgotICAgIGlmIChjID49IDB4MzAwMCAmJiBj
IDw9IDB4MzAzRikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAKLSAgICAvLyBCb3BvbW9mbwot
ICAgIGlmIChjID49IDB4MzEwMCAmJiBjIDw9IDB4MzEyRikKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgCi0gICAgLy8gQm9wb21vZm8gRXh0ZW5kZWQKLSAgICBpZiAoYyA+PSAweDMxQTAgJiYg
YyA8PSAweDMxQkYpCi0gICAgICAgIHJldHVybiB0cnVlOwotIAogICAgIC8vIENKSyBTdHJva2Vz
LgogICAgIGlmIChjID49IDB4MzFDMCAmJiBjIDw9IDB4MzFFRikKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgCi0gICAgLy8gRW5jbG9zZWQgQ0pLIExldHRlcnMgYW5kIE1vbnRocy4KLSAgICBp
ZiAoYyA+PSAweDMyMDAgJiYgYyA8PSAweDMyRkYpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IAotICAgIC8vIENKSyBDb21wYXRpYmlsaXR5LgotICAgIGlmIChjID49IDB4MzMwMCAmJiBjIDw9
IDB4MzNGRikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgCiAgICAgLy8gQ0pLIENvbXBhdGli
aWxpdHkgSWRlb2dyYXBocy4KICAgICBpZiAoYyA+PSAweEY5MDAgJiYgYyA8PSAweEZBRkYpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIAotICAgIC8vIENKSyBDb21wYXRpYmlsaXR5IEZvcm1z
LgotICAgIGlmIChjID49IDB4RkUzMCAmJiBjIDw9IDB4RkU0RikKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0KLSAgICAvLyBFbW9qaS4KLSAgICBpZiAoYyA+PSAweDFGMjAwICYmIGMgPD0gMHgxRjZG
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQogICAgIC8vIENKSyBVbmlmaWVkIElkZW9ncmFwaHMg
RXh0ZW5zaW9uIEIuCiAgICAgaWYgKGMgPj0gMHgyMDAwMCAmJiBjIDw9IDB4MkE2REYpCiAgICAg
ICAgIHJldHVybiB0cnVlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9u
IDczODMyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0Myw3ICsxNDMsNyBAQCBwdWJsaWM6CiAgICAgLy8gVXNlZCBmb3IgY29tcGxleCB0
ZXh0LCBhbmQgZG9lcyBub3QgdXRpbGl6ZSB0aGUgZ2x5cGggbWFwIGNhY2hlLgogICAgIGNvbnN0
IEZvbnREYXRhKiBmb250RGF0YUZvckNoYXJhY3RlcnMoY29uc3QgVUNoYXIqLCBpbnQgbGVuZ3Ro
KSBjb25zdDsKIAotICAgIHN0YXRpYyBib29sIGlzQ0pLSWRlb2dyYXBoKFVDaGFyMzIpOworICAg
IHN0YXRpYyBib29sIGlzQ0pLSWRlb2dyYXBoKFVDaGFyMzIsIGJvb2wgZXhjbHVkZVN5bWJvbHMg
PSBmYWxzZSk7CiAgICAgCiAjaWYgUExBVEZPUk0oUVQpCiAgICAgUUZvbnQgZm9udCgpIGNvbnN0
OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVN
YWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBo
UGFnZVRyZWVOb2RlTWFjLmNwcAkocmV2aXNpb24gNzM4MzIpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdseXBoUGFn
ZVRyZWVOb2RlLmgiCisjaW5jbHVkZSAiRm9udC5oIgogCiAjaW5jbHVkZSAiU2ltcGxlRm9udERh
dGEuaCIKICNpbmNsdWRlICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCkBAIC0zNSwxMiArMzYs
MjcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VS
CitzdGF0aWMgYm9vbCBzaG91bGRVc2VDb3JlVGV4dChVQ2hhciogYnVmZmVyLCB1bnNpZ25lZCBi
dWZmZXJMZW5ndGgsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSkKK3sKKyAgICBpZiAo
Zm9udERhdGEtPm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgJiYgIWZvbnREYXRhLT5pc0Jyb2tl
bklkZW9ncmFwaEZvbnQoKSkgeworICAgICAgICAvLyBJZGVvZ3JhcGhzIGRvbid0IGhhdmUgYSB2
ZXJ0aWNhbCB2YXJpYW50LgorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVy
TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghRm9udDo6aXNDSktJZGVvZ3JhcGgoYnVm
ZmVyW2ldLCB0cnVlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiBib29sIEdseXBoUGFnZTo6
ZmlsbCh1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCwgVUNoYXIqIGJ1ZmZlciwgdW5z
aWduZWQgYnVmZmVyTGVuZ3RoLCBjb25zdCBTaW1wbGVGb250RGF0YSogZm9udERhdGEpCiB7CiAg
ICAgYm9vbCBoYXZlR2x5cGhzID0gZmFsc2U7CiAKICNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIK
LSAgICBpZiAoZm9udERhdGEtPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbCB8fCBmb250RGF0
YS0+aXNCcm9rZW5JZGVvZ3JhcGhGb250KCkpIHsKKyAgICBpZiAoIXNob3VsZFVzZUNvcmVUZXh0
KGJ1ZmZlciwgYnVmZmVyTGVuZ3RoLCBmb250RGF0YSkpIHsKICAgICAgICAgVmVjdG9yPENHR2x5
cGgsIDUxMj4gZ2x5cGhzKGJ1ZmZlckxlbmd0aCk7CiAgICAgICAgIHdrR2V0R2x5cGhzRm9yQ2hh
cmFjdGVycyhmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkuY2dGb250KCksIGJ1ZmZlciwgZ2x5cGhz
LmRhdGEoKSwgYnVmZmVyTGVuZ3RoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlbmd0aDsgKytpKSB7Cg==
</data>
<flag name="review"
          id="67230"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76469</attachid>
            <date>2010-12-13 16:58:27 -0800</date>
            <delta_ts>2010-12-13 22:58:38 -0800</delta_ts>
            <desc>New proposed patch.</desc>
            <filename>WK50865Patch_101214.txt</filename>
            <type>text/plain</type>
            <size>7610</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3Mzk4NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMTItMTMgIHRha2FubyB0YWt1bWkgIDx0YWthbm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEds
eXBoUGFnZTo6ZmlsbCgpIGlzIHNsb3cgb24gdmVydGljYWwgd3JpdGluZyAoTWFjKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA4NjUKKworICAgICAg
ICBObyB0ZXN0LiBKdXN0IGEgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmlzQ0pL
SWRlb2dyYXBoKTogTm93IHRoaXMgb25seSBjaGVja3MgcHVyZSBpZGVvZ3JhcGhzIChIYW5qaSku
CisgICAgICAgIChXZWJDb3JlOjpGb250Ojppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKTogQWRkZWQg
dGhpcyBmb3IgSGFuamkgYW5kIEhhbmppIHJlbGF0ZWQgc3ltYm9scy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3Rl
cik6IENoYW5nZWQgdG8gY2FsbCBpc0NKS0lkZW9ncmFwaE9yU3ltYm9sKCkgaW5zdGVhZCBvZiBp
c0NKS0lkZW9ncmFwaCgpLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBh
Z2VUcmVlTm9kZU1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRVc2VDb3JlVGV4dCk6
IFRoaXMgdGVzdHMgaWYgR2x5cGhQYWdlOjpmaWxsKCkgc2hvdWxkIHVzZSBDb3JlVGV4dCBvciBu
b3QuCisgICAgICAgIEZvciB2ZXJ0aWNhbCB3cml0aW5nLCBpZiB0aGUgY3VycmVudCBwYWdlIGNv
bnRhaW5zIG9ubHkgaWRlb2dyYXBocywgd2UgZ28gQ0cgcGF0aC4KKyAgICAgICAgKFdlYkNvcmU6
OkdseXBoUGFnZTo6ZmlsbCk6IE1hZGUgdG8gY2FsbCBzaG91bGRVc2VDb3JlVGV4dCgpIGFuZCBz
d2l0Y2ggY29kZSBwYXRoLgorCiAyMDEwLTEyLTEzICBFbWlsIEVrbHVuZCAgPGVhZUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3MzgzMikKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOCwxMyArMzM4LDYg
QEAgRm9udDo6Q29kZVBhdGggRm9udDo6Y29kZVBhdGgoY29uc3QgVGV4dAogCiBib29sIEZvbnQ6
OmlzQ0pLSWRlb2dyYXBoKFVDaGFyMzIgYykKIHsKLSAgICAvLyAweDJDNyBDYXJvbiwgTWFuZGFy
aW4gQ2hpbmVzZSAzcmQgVG9uZQotICAgIC8vIDB4MkNBIE1vZGlmaWVyIExldHRlciBBY3V0ZSBB
Y2NlbnQsIE1hbmRhcmluIENoaW5lc2UgMm5kIFRvbmUKLSAgICAvLyAweDJDQiBNb2RpZmllciBM
ZXR0ZXIgR3JhdmUgQWNjZXNzLCBNYW5kYXJpbiBDaGluZXNlIDR0aCBUb25lIAotICAgIC8vIDB4
MkQ5IERvdCBBYm92ZSwgTWFuZGFyaW4gQ2hpbmVzZSA1dGggVG9uZSAKLSAgICBpZiAoKGMgPT0g
MHgyQzcpIHx8IChjID09IDB4MkNBKSB8fCAoYyA9PSAweDJDQikgfHwgKGMgPT0gMHgyRDkpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQogICAgIC8vIFRoZSBiYXNpYyBDSksgVW5pZmllZCBJZGVv
Z3JhcGhzIGJsb2NrLgogICAgIGlmIChjID49IDB4NEUwMCAmJiBjIDw9IDB4OUZGRikKICAgICAg
ICAgcmV0dXJuIHRydWU7CkBAIC0zNjEsNiArMzU0LDQyIEBAIGJvb2wgRm9udDo6aXNDSktJZGVv
Z3JhcGgoVUNoYXIzMiBjKQogICAgIGlmIChjID49IDB4MkYwMCAmJiBjIDw9IDB4MkZERikKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgCisgICAgLy8gQ0pLIFN0cm9rZXMuCisgICAgaWYgKGMg
Pj0gMHgzMUMwICYmIGMgPD0gMHgzMUVGKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAg
ICAvLyBDSksgQ29tcGF0aWJpbGl0eSBJZGVvZ3JhcGhzLgorICAgIGlmIChjID49IDB4RjkwMCAm
JiBjIDw9IDB4RkFGRikKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgLy8gQ0pLIFVu
aWZpZWQgSWRlb2dyYXBocyBFeHRlbnNpb24gQi4KKyAgICBpZiAoYyA+PSAweDIwMDAwICYmIGMg
PD0gMHgyQTZERikKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgIC8vIENKSyBV
bmlmaWVkIElkZW9ncmFwaHMgRXh0ZW5zaW9uIEMuCisgICAgaWYgKGMgPj0gMHgyQTcwMCAmJiBj
IDw9IDB4MkI3M0YpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIC8vIENKSyBVbmlm
aWVkIElkZW9ncmFwaHMgRXh0ZW5zaW9uIEQuCisgICAgaWYgKGMgPj0gMHgyQjc0MCAmJiBjIDw9
IDB4MkI4MUYpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIC8vIENKSyBDb21wYXRp
YmlsaXR5IElkZW9ncmFwaHMgU3VwcGxlbWVudC4KKyAgICBpZiAoYyA+PSAweDJGODAwICYmIGMg
PD0gMHgyRkExRikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK2Jvb2wgRm9udDo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChVQ2hhcjMyIGMpCit7CisgICAg
Ly8gMHgyQzcgQ2Fyb24sIE1hbmRhcmluIENoaW5lc2UgM3JkIFRvbmUKKyAgICAvLyAweDJDQSBN
b2RpZmllciBMZXR0ZXIgQWN1dGUgQWNjZW50LCBNYW5kYXJpbiBDaGluZXNlIDJuZCBUb25lCisg
ICAgLy8gMHgyQ0IgTW9kaWZpZXIgTGV0dGVyIEdyYXZlIEFjY2VzcywgTWFuZGFyaW4gQ2hpbmVz
ZSA0dGggVG9uZSAKKyAgICAvLyAweDJEOSBEb3QgQWJvdmUsIE1hbmRhcmluIENoaW5lc2UgNXRo
IFRvbmUgCisgICAgaWYgKChjID09IDB4MkM3KSB8fCAoYyA9PSAweDJDQSkgfHwgKGMgPT0gMHgy
Q0IpIHx8IChjID09IDB4MkQ5KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICAvLyBJZGVv
Z3JhcGhpYyBEZXNjcmlwdGlvbiBDaGFyYWN0ZXJzLgogICAgIGlmIChjID49IDB4MkZGMCAmJiBj
IDw9IDB4MkZGRikKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zNzcsMTAgKzQwNiw2IEBAIGJv
b2wgRm9udDo6aXNDSktJZGVvZ3JhcGgoVUNoYXIzMiBjKQogICAgIGlmIChjID49IDB4MzFBMCAm
JiBjIDw9IDB4MzFCRikKICAgICAgICAgcmV0dXJuIHRydWU7CiAgCi0gICAgLy8gQ0pLIFN0cm9r
ZXMuCi0gICAgaWYgKGMgPj0gMHgzMUMwICYmIGMgPD0gMHgzMUVGKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAKICAgICAvLyBFbmNsb3NlZCBDSksgTGV0dGVycyBhbmQgTW9udGhzLgogICAg
IGlmIChjID49IDB4MzIwMCAmJiBjIDw9IDB4MzJGRikKICAgICAgICAgcmV0dXJuIHRydWU7CkBA
IC0zODksMTAgKzQxNCw2IEBAIGJvb2wgRm9udDo6aXNDSktJZGVvZ3JhcGgoVUNoYXIzMiBjKQog
ICAgIGlmIChjID49IDB4MzMwMCAmJiBjIDw9IDB4MzNGRikKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgCi0gICAgLy8gQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBocy4KLSAgICBpZiAoYyA+
PSAweEY5MDAgJiYgYyA8PSAweEZBRkYpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIAogICAg
IC8vIENKSyBDb21wYXRpYmlsaXR5IEZvcm1zLgogICAgIGlmIChjID49IDB4RkUzMCAmJiBjIDw9
IDB4RkU0RikKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC00MDEsMjMgKzQyMiw3IEBAIGJvb2wg
Rm9udDo6aXNDSktJZGVvZ3JhcGgoVUNoYXIzMiBjKQogICAgIGlmIChjID49IDB4MUYyMDAgJiYg
YyA8PSAweDFGNkYpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgLy8gQ0pLIFVuaWZpZWQg
SWRlb2dyYXBocyBFeHRlbnNpb24gQi4KLSAgICBpZiAoYyA+PSAweDIwMDAwICYmIGMgPD0gMHgy
QTZERikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAotICAgIC8vIENKSyBVbmlmaWVk
IElkZW9ncmFwaHMgRXh0ZW5zaW9uIEMuCi0gICAgaWYgKGMgPj0gMHgyQTcwMCAmJiBjIDw9IDB4
MkI3M0YpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIAotICAgIC8vIENKSyBVbmlmaWVkIElk
ZW9ncmFwaHMgRXh0ZW5zaW9uIEQuCi0gICAgaWYgKGMgPj0gMHgyQjc0MCAmJiBjIDw9IDB4MkI4
MUYpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIAotICAgIC8vIENKSyBDb21wYXRpYmlsaXR5
IElkZW9ncmFwaHMgU3VwcGxlbWVudC4KLSAgICBpZiAoYyA+PSAweDJGODAwICYmIGMgPD0gMHgy
RkExRikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0
dXJuIGlzQ0pLSWRlb2dyYXBoKGMpOwogfQogCiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaAkocmV2aXNpb24gNzM4MzIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBG
b250RGF0YSogZm9udERhdGFGb3JDaGFyYWN0ZXJzKGNvbnN0IFVDaGFyKiwgaW50IGxlbmd0aCkg
Y29uc3Q7CiAKICAgICBzdGF0aWMgYm9vbCBpc0NKS0lkZW9ncmFwaChVQ2hhcjMyKTsKKyAgICBz
dGF0aWMgYm9vbCBpc0NKS0lkZW9ncmFwaE9yU3ltYm9sKFVDaGFyMzIpOwogICAgIAogI2lmIFBM
QVRGT1JNKFFUKQogICAgIFFGb250IGZvbnQoKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHJldmlzaW9uIDczODMyKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NSw3ICs3NSw3IEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUMKICAg
ICAgICAgICAgIGlmIChwYWdlKSB7CiAgICAgICAgICAgICAgICAgR2x5cGhEYXRhIGRhdGEgPSBw
YWdlLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoYyk7CiAgICAgICAgICAgICAgICAgaWYgKGRhdGEu
Zm9udERhdGEpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZm9udERhdGEtPnBsYXRm
b3JtRGF0YSgpLm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgJiYgZGF0YS5mb250RGF0YS0+b3Jp
ZW50YXRpb24oKSA9PSBIb3Jpem9udGFsICYmIEZvbnQ6OmlzQ0pLSWRlb2dyYXBoKGMpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5vcmll
bnRhdGlvbigpID09IFZlcnRpY2FsICYmIGRhdGEuZm9udERhdGEtPm9yaWVudGF0aW9uKCkgPT0g
SG9yaXpvbnRhbCAmJiBGb250Ojppc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGMpKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogaWRlb2dyYXBoRm9udERhdGEg
PSBkYXRhLmZvbnREYXRhLT5icm9rZW5JZGVvZ3JhcGhGb250RGF0YSgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgR2x5cGhQYWdlVHJlZU5vZGUqIGlkZW9ncmFwaE5vZGUgPSBHbHlwaFBhZ2VU
cmVlTm9kZTo6Z2V0Um9vdENoaWxkKGlkZW9ncmFwaEZvbnREYXRhLCBwYWdlTnVtYmVyKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBoUGFnZSogaWRlb2dyYXBoUGFnZSA9IGlk
ZW9ncmFwaE5vZGUtPnBhZ2UoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAJKHJldmlzaW9uIDczODMyKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJHbHlwaFBhZ2VUcmVlTm9kZS5oIgorI2luY2x1ZGUgIkZvbnQuaCIKIAogI2lu
Y2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVN5c3RlbUludGVyZmFj
ZS5oIgpAQCAtMzUsMTIgKzM2LDI3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmbmRl
ZiBCVUlMRElOR19PTl9USUdFUgorc3RhdGljIGJvb2wgc2hvdWxkVXNlQ29yZVRleHQoVUNoYXIq
IGJ1ZmZlciwgdW5zaWduZWQgYnVmZmVyTGVuZ3RoLCBjb25zdCBTaW1wbGVGb250RGF0YSogZm9u
dERhdGEpCit7CisgICAgaWYgKGZvbnREYXRhLT5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsICYm
ICFmb250RGF0YS0+aXNCcm9rZW5JZGVvZ3JhcGhGb250KCkpIHsKKyAgICAgICAgLy8gSWRlb2dy
YXBocyBkb24ndCBoYXZlIGEgdmVydGljYWwgdmFyaWFudC4KKyAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGJ1ZmZlckxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoIUZvbnQ6
OmlzQ0pLSWRlb2dyYXBoKGJ1ZmZlcltpXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogYm9v
bCBHbHlwaFBhZ2U6OmZpbGwodW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgsIFVDaGFy
KiBidWZmZXIsIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCwgY29uc3QgU2ltcGxlRm9udERhdGEqIGZv
bnREYXRhKQogewogICAgIGJvb2wgaGF2ZUdseXBocyA9IGZhbHNlOwogCiAjaWZuZGVmIEJVSUxE
SU5HX09OX1RJR0VSCi0gICAgaWYgKGZvbnREYXRhLT5vcmllbnRhdGlvbigpID09IEhvcml6b250
YWwgfHwgZm9udERhdGEtPmlzQnJva2VuSWRlb2dyYXBoRm9udCgpKSB7CisgICAgaWYgKCFzaG91
bGRVc2VDb3JlVGV4dChidWZmZXIsIGJ1ZmZlckxlbmd0aCwgZm9udERhdGEpKSB7CiAgICAgICAg
IFZlY3RvcjxDR0dseXBoLCA1MTI+IGdseXBocyhidWZmZXJMZW5ndGgpOwogICAgICAgICB3a0dl
dEdseXBoc0ZvckNoYXJhY3RlcnMoZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmNnRm9udCgpLCBi
dWZmZXIsIGdseXBocy5kYXRhKCksIGJ1ZmZlckxlbmd0aCk7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>