<?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>71765</bug_id>
          
          <creation_ts>2011-11-07 22:19:11 -0800</creation_ts>
          <short_desc>Text dispappear when SVG font has no latin character</short_desc>
          <delta_ts>2011-12-19 02:33:19 -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>SVG</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>
          <dependson>72459</dependson>
    
    <dependson>74847</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Kenichi Ishibashi">bashi</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>hausmann</cc>
    
    <cc>macpherson</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497743</commentid>
    <comment_count>0</comment_count>
      <attachid>113990</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-07 22:19:11 -0800</bug_when>
    <thetext>Created attachment 113990
test case

If a SVG font has no latin character, text which uses the font disappear. Text in the attached html should be displayed as &quot;!いうえお&quot;.

SVGFontData::initializeFontData() doesn&apos;t initialize font metrics when the associated GlyphPage doesn&apos;t have glyphPageZero, which is supposed to store latin character mappings. This causes the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497747</commentid>
    <comment_count>1</comment_count>
      <attachid>113991</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-07 22:31:53 -0800</bug_when>
    <thetext>Created attachment 113991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497769</commentid>
    <comment_count>2</comment_count>
      <attachid>113991</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-07 23:22:05 -0800</bug_when>
    <thetext>Comment on attachment 113991
Patch

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

Fix looks great to me! I only have a minor comment regarding the test. r=me.

&gt; LayoutTests/svg/custom/svg-fonts-no-latin-glyph.html:55
&gt; +    setTimeout(doTest, 100);

Doesn&apos;t setTimeout(doTest, 0) work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497812</commentid>
    <comment_count>3</comment_count>
      <attachid>114006</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-08 00:49:50 -0800</bug_when>
    <thetext>Created attachment 114006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497825</commentid>
    <comment_count>4</comment_count>
      <attachid>113991</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-08 00:56:28 -0800</bug_when>
    <thetext>Comment on attachment 113991
Patch

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

Hi Nikolas,

Thank you for your prompt review. Could you take another look?

&gt;&gt; LayoutTests/svg/custom/svg-fonts-no-latin-glyph.html:55
&gt;&gt; +    setTimeout(doTest, 100);
&gt; 
&gt; Doesn&apos;t setTimeout(doTest, 0) work?

setTimeout(doTest, 0) doesn&apos;t provide enough time to load font at least on my machine, so I changed to use retry counter. Retry can occur one or two times as far as I tested. The counter is set to 100 just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497835</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-08 01:11:06 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 113991 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113991&amp;action=review
&gt; 
&gt; Hi Nikolas,
&gt; 
&gt; Thank you for your prompt review. Could you take another look?
&gt; 
&gt; &gt;&gt; LayoutTests/svg/custom/svg-fonts-no-latin-glyph.html:55
&gt; &gt;&gt; +    setTimeout(doTest, 100);
&gt; &gt; 
&gt; &gt; Doesn&apos;t setTimeout(doTest, 0) work?
&gt; 
&gt; setTimeout(doTest, 0) doesn&apos;t provide enough time to load font at least on my machine, so I changed to use retry counter. Retry can occur one or two times as far as I tested. The counter is set to 100 just in case.

I see, I just looked at some other existing SVG Fonts tests, that are all potentially flakey :(
The right approach is used in svg/custom/script-tests/svg-fonts-in-text-controls.js.
Move your font into an external SVG file, reference it from your test file.
In the testcase, after enabling dumpAsText, force a layout, then listen for load events.
That should notify you of the right time, where the font is really available.

Hope that works!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497868</commentid>
    <comment_count>6</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-08 02:12:56 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I see, I just looked at some other existing SVG Fonts tests, that are all potentially flakey :(
&gt; The right approach is used in svg/custom/script-tests/svg-fonts-in-text-controls.js.
&gt; Move your font into an external SVG file, reference it from your test file.
&gt; In the testcase, after enabling dumpAsText, force a layout, then listen for load events.
&gt; That should notify you of the right time, where the font is really available.

Thank you for the information. Does this mean I should use separated a separated js test like svg-fonts-in-text-controls.js? I&apos;ve heard it was obsoleted from my colleague. I&apos;m happy to revise the test by using script-tests it if it&apos;s not obsoleted. Just following your suggestion without script-tests didn&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497875</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-08 02:26:41 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; I see, I just looked at some other existing SVG Fonts tests, that are all potentially flakey :(
&gt; &gt; The right approach is used in svg/custom/script-tests/svg-fonts-in-text-controls.js.
&gt; &gt; Move your font into an external SVG file, reference it from your test file.
&gt; &gt; In the testcase, after enabling dumpAsText, force a layout, then listen for load events.
&gt; &gt; That should notify you of the right time, where the font is really available.
&gt; 
&gt; Thank you for the information. Does this mean I should use separated a separated js test like svg-fonts-in-text-controls.js? I&apos;ve heard it was obsoleted from my colleague. I&apos;m happy to revise the test by using script-tests it if it&apos;s not obsoleted. Just following your suggestion without script-tests didn&apos;t work.

There&apos;s no need to switch your test to the script-tests framework, it&apos;s indeed deprecated. But the idea of forcing a layout and then registering to the onload listener is still superior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497881</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-08 02:41:12 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; I see, I just looked at some other existing SVG Fonts tests, that are all potentially flakey :(
&gt; &gt; The right approach is used in svg/custom/script-tests/svg-fonts-in-text-controls.js.
&gt; &gt; Move your font into an external SVG file, reference it from your test file.
&gt; &gt; In the testcase, after enabling dumpAsText, force a layout, then listen for load events.
&gt; &gt; That should notify you of the right time, where the font is really available.
&gt; 
&gt; Thank you for the information. Does this mean I should use separated a separated js test like svg-fonts-in-text-controls.js? I&apos;ve heard it was obsoleted from my colleague. I&apos;m happy to revise the test by using script-tests it if it&apos;s not obsoleted. Just following your suggestion without script-tests didn&apos;t work.

Sorry, I didn&apos;t read the last line before replying.
Are you on IRC? Easier to discuss your testcase...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497903</commentid>
    <comment_count>9</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-08 03:23:01 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Sorry, I didn&apos;t read the last line before replying.
&gt; Are you on IRC? Easier to discuss your testcase...

Sorry, I left desk without logging out from IRC, and I won&apos;t back today.. Will try to revise the test tomorrow. Thank you so much for your help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498571</commentid>
    <comment_count>10</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-08 17:52:04 -0800</bug_when>
    <thetext>&gt; There&apos;s no need to switch your test to the script-tests framework, it&apos;s indeed deprecated. But the idea of forcing a layout and then registering to the onload listener is still superior.

Here is a revised test I wrote (which doesn&apos;t work as expected):

&lt;html&gt;
&lt;head&gt;
&lt;meta charset=utf-8&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;Following character should be rendered as an exlamation.&lt;/p&gt;
&lt;script&gt;
function doTest() {
    var height = document.getElementById(&apos;text&apos;).offsetHeight;
    var result = document.createElement(&apos;div&apos;);
    result.innerHTML = &apos;character height is &apos; + height + &apos;&lt;br /&gt;&apos;;
    if (height == 16)
        result.innerHTML += &apos;PASS&apos;;
    else
        result.innerHTML += &apos;FAIL&apos;;
    document.body.appendChild(result);
    if (window.layoutTestController)
        layoutTestController.notifyDone();
}

var styleElement = document.createElement(&apos;style&apos;);
styleElement.innerText = &apos;@font-face { font-family: Font; src: url(resources/no-latin-glyph-font.svg#Font) format(&quot;svg&quot;); }&apos;;
document.getElementsByTagName(&apos;head&apos;)[0].appendChild(styleElement);

var spanElement = document.createElement(&apos;span&apos;);
spanElement.style.fontFamily = &apos;Font&apos;;
spanElement.id = &apos;text&apos;;
spanElement.innerText = &apos; &apos;;
document.body.appendChild(spanElement);

if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.waitUntilDone();
    document.body.offsetWidth;
}
//window.addEventListener(&apos;load&apos;, function() {setTimeout(doTest, 100);}, true);
window.addEventListener(&apos;load&apos;, doTest, true);
&lt;/script&gt;
&lt;/body&gt;

What am I missing? using setTimeout in the event handler of load event works fine. Naturally, moving script tag into &lt;head&gt; doesn&apos;t work
 because it refer document.body.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500562</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-11 00:30:28 -0800</bug_when>
    <thetext>Our IRC discussion:
Kenichis testcase should work as-is (the last before this comment). It turns out several of the svg/custom/svg-fonts* are flakey, even those which don&apos;t load any external resources (they declare the SVG Font right in the host document) and triggering manual layouts, via the offsetTop/Width trick.

That indicates theres a general problem with SVG Fonts that is timing dependant.
(The chromium flakiness dashboard helps a lot! Thanks for that.)

I&apos;d highly appreciate if you could look into how SVG Fonts are resolved during layout, and where it goes wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500583</commentid>
    <comment_count>12</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-11 01:22:29 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; I&apos;d highly appreciate if you could look into how SVG Fonts are resolved during layout, and where it goes wrong.

According to https://bugs.webkit.org/show_bug.cgi?id=65123#c10, http://trac.webkit.org/changeset/91738 might affect the loading behavior. (Indeed, it modifies some svg-font related fonts)

Should we use setTimeout trick for all webfonts related tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502628</commentid>
    <comment_count>13</comment_count>
      <attachid>115096</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-14 21:48:16 -0800</bug_when>
    <thetext>Created attachment 115096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502631</commentid>
    <comment_count>14</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-14 21:57:55 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=115096) [details]
&gt; Patch

In response to https://bugs.webkit.org/show_bug.cgi?id=65123#c11, I&apos;ve updated the patch so that we don&apos;t need to use timer. This patch uses event dispatching mechanism for notification. The event is only dispatched when a settings flag is enabled. The flag is set via window.internals object. Please let me know if there is more appropriate way to do this.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502864</commentid>
    <comment_count>15</comment_count>
      <attachid>115096</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-15 06:33:47 -0800</bug_when>
    <thetext>Comment on attachment 115096
Patch

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

Superb work bashi, I think this needs a split-up though, as its mixing things.

&gt; Source/WebCore/css/CSSFontFace.cpp:108
&gt; +    if (Document* document = fontSelector-&gt;document()) {
&gt; +        if (document-&gt;settings() &amp;&amp; document-&gt;settings()-&gt;fontLoadedEventEnabled() &amp;&amp; document-&gt;domWindow()) {
&gt; +            RefPtr&lt;Event&gt; event = Event::create(&quot;webkitfontloaded&quot;, false, false);
&gt; +            document-&gt;domWindow()-&gt;dispatchEvent(event, document);
&gt; +        }
&gt; +    }

Excellent approach! Though I think you should land this separated.
There are numerous of bugs reports regarding flakey SVG Fonts tests, that could and should all be fixed, by listening to that new event.
Could you make a new bug report, find all bug reports for flakey svg fonts (most come from chromium), mark them as depending of your master bug, fixup all these tests, finish &amp; land patch, then come back to this bug report.

&gt; LayoutTests/svg/custom/svg-fonts-no-latin-glyph.html:27
&gt; +    document.documentElement.offsetTop;
&gt; +    window.addEventListener(&apos;webkitfontloaded&apos;, doTest);

I&apos;d reverse the order here.

&gt; LayoutTests/svg/custom/svg-fonts-no-latin-glyph.html:31
&gt; +    setTimeout(function() {
&gt; +        document.getElementById(&apos;result&apos;).innerHTML = &apos;TIMEOUT&apos;;
&gt; +        layoutTestController.notifyDone();
&gt; +    }, 500);

I&apos;d just avoid that, it&apos;s confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514859</commentid>
    <comment_count>16</comment_count>
      <attachid>117832</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-04 20:33:42 -0800</bug_when>
    <thetext>Created attachment 117832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514863</commentid>
    <comment_count>17</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-04 20:39:48 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=117832) [details]
&gt; Patch

As of r101858, we can use the same approach used in svg/custom/script-tests/svg-fonts-in-text-controls.js.

Nikolas, Could you please take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514889</commentid>
    <comment_count>18</comment_count>
      <attachid>117832</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-04 21:26:20 -0800</bug_when>
    <thetext>Comment on attachment 117832
Patch

Attachment 117832 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10733580

New failing tests:
http/tests/inspector/resource-tree/resource-tree-document-url.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523300</commentid>
    <comment_count>19</comment_count>
      <attachid>119725</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-17 08:34:47 -0800</bug_when>
    <thetext>Created attachment 119725
Patch (Revised to ToT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523318</commentid>
    <comment_count>20</comment_count>
      <attachid>119725</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-12-17 10:26:44 -0800</bug_when>
    <thetext>Comment on attachment 119725
Patch (Revised to ToT)

Looks great, r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523342</commentid>
    <comment_count>21</comment_count>
      <attachid>119725</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-17 12:23:55 -0800</bug_when>
    <thetext>Comment on attachment 119725
Patch (Revised to ToT)

Clearing flags on attachment: 119725

Committed r103155: &lt;http://trac.webkit.org/changeset/103155&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523343</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-17 12:24:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523533</commentid>
    <comment_count>23</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-18 13:58:55 -0800</bug_when>
    <thetext>Somehow the layout test for this change doesn&apos;t pass on the Qt bot: http://build.webkit.org/results/Qt%20Linux%20Release/r103155%20(41158)/results.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>113990</attachid>
            <date>2011-11-07 22:19:11 -0800</date>
            <delta_ts>2011-11-07 22:19:11 -0800</delta_ts>
            <desc>test case</desc>
            <filename>font.html</filename>
            <type>text/html</type>
            <size>1422</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PXV0Zi04Pgo8c3R5bGU+CkBmb250LWZhY2Ugewog
IGZvbnQtZmFtaWx5OiBGb250OwogIHNyYzogdXJsKCNGb250KSBmb3JtYXQoInN2ZyIpOwp9Cgpi
b2R5IHsKICBmb250LWZhbWlseTogRm9udDsKfQo8L3N0eWxlPgo8P3htbCB2ZXJzaW9uPSIxLjAi
IHN0YW5kYWxvbmU9InllcyI/Pgo8c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZlcnNp
b249IjEuMSIgc3R5bGU9ImRpc3BsYXk6bm9uZSIKIHhtbG5zID0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciPgogIDxkZWZzPgogICAgPGZvbnQgaWQ9IkZvbnQiIGhvcml6LWFkdi14PSIxMDAw
Ij4KICAgICAgPGZvbnQtZmFjZSBmb250LWZhbWlseT0iRm9udCIgZm9udC13ZWlnaHQ9Im5vcm1h
bCIgZm9udC1zdHlsZT0ibm9ybWFsIgogICAgICAgICAgdW5pdHMtcGVyLWVtPSIxMDAwIiBjYXAt
aGVpZ2h0PSI2MDAiIHgtaGVpZ2h0PSI0MDAiCiAgICAgICAgICBhc2NlbnQ9IjcwMCIgZGVzY2Vu
dD0iMzAwIgogICAgICAgICAgYWxwaGFiZXRpYz0iMCIgbWF0aGVtYXRpY2FsPSIzNTAiIGlkZW9n
cmFwaGljPSI0MDAiIGhhbmdpbmc9IjUwMCI+CiAgICAgICAgPGZvbnQtZmFjZS1zcmM+CiAgICAg
ICAgICA8Zm9udC1mYWNlLW5hbWUgbmFtZT0iRm9udCIvPgogICAgICAgIDwvZm9udC1mYWNlLXNy
Yz4KICAgICAgPC9mb250LWZhY2U+CiAgICAgIDxtaXNzaW5nLWdseXBoPjxwYXRoIGQ9Ik0wLDBo
MjAwdjIwMGgtMjAweiIvPjwvbWlzc2luZy1nbHlwaD4KICAgICAgPGdseXBoIHVuaWNvZGU9IuOB
giIgaG9yaXotYWR2LXg9IjQyNyIgZD0iTTI4OC42NDIgMjcwcTAgLTMyLjM5IC0yMC4zNzQgLTU1
LjM2N3EtMjAuMzc1IC0yMi45NzcgLTUyLjMxMyAtMjIuOTc3cS0zNC4yMjcgMCAtNTUuMjg2IDIw
LjI1MnEtMjEuMDU5IDIwLjI1MiAtMjEuMDU5IDU1LjIyOXYzMjYuNDM1cTAgMzAuNTQ4IDIwLjk3
MSA1MS44MjRxMjAuOTcxIDIxLjI3NSA1NC4yNjMgMjEuMjc1cTMzLjQ4NyAwIDUzLjY0MiAtMjAu
MDg1cTIwLjE1NiAtMjAuMDg0IDIwLjE1NiAtNTEuMDYxdi0zMjUuNTI1egpNMjg5LjUzNSA3NC4w
NzcxcTAgLTMxLjA1MDIgLTIxLjk3NSAtNTMuMDI1MXEtMjEuOTc1IC0yMS45NzQ5IC01My4wMjUg
LTIxLjk3NDl0LTUzLjAyNSAyMS45NzQ5cS0yMS45NzUgMjEuOTc0OSAtMjEuOTc1IDUzLjAyNTFx
MCAzMS4xOTQ5IDIxLjk3NSA1My4xNzA5cTIxLjk3NSAyMS45NzUgNTMuMDI1IDIxLjk3NXQ1My4w
MjUgLTIxLjk3NXEyMS45NzUgLTIxLjk3NiAyMS45NzUgLTUzLjE3MDl6IiAvPgo8IS0tCiAgICAg
IDxnbHlwaCB1bmljb2RlPSJhIiBob3Jpei1hZHYteD0iMzAwIj48L2dseXBoPgotLT4KICAgIDwv
Zm9udD4KICA8L2RlZnM+Cjwvc3ZnPgo8Ym9keT4K44GC44GE44GG44GI44GKCjwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113991</attachid>
            <date>2011-11-07 22:31:53 -0800</date>
            <delta_ts>2011-11-08 00:56:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71765-20111108153152.patch</filename>
            <type>text/plain</type>
            <size>6587</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1MTYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZGY4ZDEzMmMzMDYxY2Iy
NTM5MmQ0ZGE2MTA5Y2YyYTU0NGYwYzRmLi5mZDA0OGIyNGMzMWEyNjc0N2E1ODYxYWVhZmNkMzYw
NTIyNmRmOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEtMDcgIEtlbmlj
aGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHQgZGlzcGFw
cGVhciB3aGVuIFNWRyBmb250IGhhcyBubyBsYXRpbiBjaGFyYWN0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzY1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6ZSBTVkcgZm9udCBtZXRy
aWNzIGV2ZW4gaWYgdGhlIGZvbnQgZG9lc24ndCBjb250YWluIGxhdGluIGNoYXJhY3RlcnMuCisK
KyAgICAgICAgVGVzdDogc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbAor
CisgICAgICAgICogc3ZnL1NWR0ZvbnREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Zv
bnREYXRhOjppbml0aWFsaXplRm9udERhdGEpOiBJbml0aWFsaXplcyBtZXRyaWNzIGV2ZW4gaWYg
dGhlIHplcm9HbHlwaFBhZ2UgZG9lc24ndCBleGlzdC4KKwogMjAxMS0xMS0wNyAgS2VudGFybyBI
YXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIFtDdXN0b21HZXR0
ZXJdIElETCBmb3Igd2luZG93LkltYWdlIG9mIFY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmNw
cAppbmRleCAzNDBlMjAxMGMxNjQzZDBmYzI1ZGQxNWI0NTE4YzEwN2VlOGEwN2MxLi5iOGYyMGM5
ZjRiNzA3NGNkMGYxMzBlOTBhMDE2ODU2ZTFiYjk0ZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5jcHAKQEAgLTYzLDEzICs2Myw2IEBAIHZvaWQgU1ZHRm9udERhdGE6OmluaXRpYWxpemVG
b250RGF0YShTaW1wbGVGb250RGF0YSogZm9udERhdGEsIGZsb2F0IGZvbnRTaXplKQogICAgIGZv
bnREYXRhLT5zZXRaZXJvV2lkdGhTcGFjZUdseXBoKDApOwogICAgIGZvbnREYXRhLT5kZXRlcm1p
bmVQaXRjaCgpOwogCi0gICAgR2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJl
ZU5vZGU6OmdldFJvb3RDaGlsZChmb250RGF0YSwgMCktPnBhZ2UoKTsKLSAgICBpZiAoIWdseXBo
UGFnZVplcm8pIHsKLSAgICAgICAgZm9udERhdGEtPnNldFNwYWNlR2x5cGgoMCk7Ci0gICAgICAg
IGZvbnREYXRhLT5zZXRTcGFjZVdpZHRoKDApOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAg
ICAgdW5zaWduZWQgdW5pdHNQZXJFbSA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+dW5pdHNQZXJFbSgp
OwogICAgIGZsb2F0IHNjYWxlID0gc2NhbGVFbVRvVW5pdHMoZm9udFNpemUsIHVuaXRzUGVyRW0p
OwogICAgIGZsb2F0IHhIZWlnaHQgPSBzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNj
YWxlOwpAQCAtNzcsNyArNzAsOSBAQCB2b2lkIFNWR0ZvbnREYXRhOjppbml0aWFsaXplRm9udERh
dGEoU2ltcGxlRm9udERhdGEqIGZvbnREYXRhLCBmbG9hdCBmb250U2l6ZSkKICAgICBmbG9hdCBk
ZXNjZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZTsKICAgICBmbG9h
dCBsaW5lR2FwID0gMC4xZiAqIGZvbnRTaXplOwogCi0gICAgaWYgKCF4SGVpZ2h0KSB7CisgICAg
R2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGls
ZChmb250RGF0YSwgMCktPnBhZ2UoKTsKKworICAgIGlmICgheEhlaWdodCAmJiBnbHlwaFBhZ2Va
ZXJvKSB7CiAgICAgICAgIC8vIEZhbGxiYWNrIGlmIHhfaGVpZ2h0QXR0ciBpcyBub3Qgc3BlY2lm
aWVkIGZvciB0aGUgZm9udCBlbGVtZW50LgogICAgICAgICBHbHlwaCBsZXR0ZXJYR2x5cGggPSBn
bHlwaFBhZ2VaZXJvLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoJ3gnKS5nbHlwaDsKICAgICAgICAg
eEhlaWdodCA9IGxldHRlclhHbHlwaCA/IGZvbnREYXRhLT53aWR0aEZvckdseXBoKGxldHRlclhH
bHlwaCkgOiAyICogYXNjZW50IC8gMzsKQEAgLTkxLDYgKzg2LDE0IEBAIHZvaWQgU1ZHRm9udERh
dGE6OmluaXRpYWxpemVGb250RGF0YShTaW1wbGVGb250RGF0YSogZm9udERhdGEsIGZsb2F0IGZv
bnRTaXplKQogICAgIGZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHJvdW5kZihhc2NlbnQpICsg
cm91bmRmKGRlc2NlbnQpICsgcm91bmRmKGxpbmVHYXApKTsKICAgICBmb250TWV0cmljcy5zZXRY
SGVpZ2h0KHhIZWlnaHQpOwogCisgICAgaWYgKCFnbHlwaFBhZ2VaZXJvKSB7CisgICAgICAgIGZv
bnREYXRhLT5zZXRTcGFjZUdseXBoKDApOworICAgICAgICBmb250RGF0YS0+c2V0U3BhY2VXaWR0
aCgwKTsKKyAgICAgICAgZm9udERhdGEtPnNldEF2Z0NoYXJXaWR0aCgwKTsKKyAgICAgICAgZm9u
dERhdGEtPnNldE1heENoYXJXaWR0aChhc2NlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gQ2FsY3VsYXRlIHNwYWNlIHdpZHRoLgogICAgIEdseXBoIHNwYWNlR2x5cGggPSBn
bHlwaFBhZ2VaZXJvLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoJyAnKS5nbHlwaDsKICAgICBmb250
RGF0YS0+c2V0U3BhY2VHbHlwaChzcGFjZUdseXBoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxOWQ3ZWYwYmQzMzJkZGMy
MzRkMjY0NTc4YTQ5MGJiMWZjZWM3NmZhLi4yZWEwZDdmMmMyZGE1MDEwOTA2NGExMGM1NTM1ZTRm
ZjVmNjM1ZjZhIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDcgIEtlbmljaGkgSXNo
aWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHQgZGlzcGFwcGVhciB3
aGVuIFNWRyBmb250IGhhcyBubyBsYXRpbiBjaGFyYWN0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0aGF0IHRleHQgY2FuIGJlIGRpc3BsYXll
ZCB3aXRoIGEgU1ZHIGZvbnQgd2hpY2ggaGFzIG5vIGxhdGluIGNoYXJhY3Rlci4KKworICAgICAg
ICAqIHN2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbDog
QWRkZWQuCisKIDIwMTEtMTEtMDcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKHI5OTAyNS1yOTkwMzcpOiBwbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1zZWxlY3Rpb24td2l0aC1vcHRncm91cHMuaHRtbCBp
cyBhc3NlcnRpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRz
LW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LWZvbnRzLW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzBiNTI5NDNh
NTI3ZmYzMmNlYjBiZDg0MDZkODhjOWE2NTA2MjA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorRm9sbG93aW5nIGNoYXJhY3RlciBzaG91bGQgYmUgcmVuZGVyZWQgYXMg
YW4gZXhsYW1hdGlvbi4KKwor44GCCitjaGFyYWN0ZXIgaGVpZ2h0IGlzIDE2CitQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZjkyMTAwZjFhZDViMjY0ZDgwMGNmZDQ0NmEyMDRlZGJiMDA0MDcxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0
aW4tZ2x5cGguaHRtbApAQCAtMCwwICsxLDU3IEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD11dGYtOD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICBmb250LWZhbWlseTogRm9udDsK
KyAgc3JjOiB1cmwoI0ZvbnQpIGZvcm1hdCgic3ZnIik7Cit9CisKK2JvZHkgeworICBmb250LWZh
bWlseTogRm9udDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZG9UZXN0KCkgewor
ICAgIHZhciBoZWlnaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dCcpLm9mZnNldEhl
aWdodDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcp
OworICAgIHJlc3VsdC5pbm5lckhUTUwgPSAnY2hhcmFjdGVyIGhlaWdodCBpcyAnICsgaGVpZ2h0
ICsgJzxiciAvPic7CisgICAgaWYgKGhlaWdodCA9PSAxNikKKyAgICAgICAgcmVzdWx0LmlubmVy
SFRNTCArPSAnUEFTUyc7CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJIVE1MICs9ICdG
QUlMJzsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxib2R5PgorPHN2
ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2ZXJzaW9uPSIxLjEiCisgeG1sbnM9J2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBzdHlsZT0iZGlzcGxheTpub25lOyI+CisgIDxkZWZzPgor
ICAgIDxmb250IGlkPSJGb250IiBob3Jpei1hZHYteD0iMTAwMCI+CisgICAgICA8Zm9udC1mYWNl
IGZvbnQtZmFtaWx5PSJGb250IiBmb250LXdlaWdodD0ibm9ybWFsIiBmb250LXN0eWxlPSJub3Jt
YWwiCisgICAgICAgICAgdW5pdHMtcGVyLWVtPSIxMDAwIiBjYXAtaGVpZ2h0PSI2MDAiIHgtaGVp
Z2h0PSI0MDAiCisgICAgICAgICAgYXNjZW50PSI3MDAiIGRlc2NlbnQ9IjMwMCIKKyAgICAgICAg
ICBhbHBoYWJldGljPSIwIiBtYXRoZW1hdGljYWw9IjM1MCIgaWRlb2dyYXBoaWM9IjQwMCIgaGFu
Z2luZz0iNTAwIj4KKyAgICAgICAgPGZvbnQtZmFjZS1zcmM+CisgICAgICAgICAgPGZvbnQtZmFj
ZS1uYW1lIG5hbWU9IkZvbnQiLz4KKyAgICAgICAgPC9mb250LWZhY2Utc3JjPgorICAgICAgPC9m
b250LWZhY2U+CisgICAgICA8bWlzc2luZy1nbHlwaD48cGF0aCBkPSJNMCwwaDIwMHYyMDBoLTIw
MHoiLz48L21pc3NpbmctZ2x5cGg+CisgICAgICA8Z2x5cGggdW5pY29kZT0i44GCIiBob3Jpei1h
ZHYteD0iNDI3IiBkPSJNMjg4LjY0MiAyNzBxMCAtMzIuMzkgLTIwLjM3NCAtNTUuMzY3cS0yMC4z
NzUgLTIyLjk3NyAtNTIuMzEzIC0yMi45NzdxLTM0LjIyNyAwIC01NS4yODYgMjAuMjUycS0yMS4w
NTkgMjAuMjUyIC0yMS4wNTkgNTUuMjI5djMyNi40MzVxMCAzMC41NDggMjAuOTcxIDUxLjgyNHEy
MC45NzEgMjEuMjc1IDU0LjI2MyAyMS4yNzVxMzMuNDg3IDAgNTMuNjQyIC0yMC4wODVxMjAuMTU2
IC0yMC4wODQgMjAuMTU2IC01MS4wNjF2LTMyNS41MjV6CitNMjg5LjUzNSA3NC4wNzcxcTAgLTMx
LjA1MDIgLTIxLjk3NSAtNTMuMDI1MXEtMjEuOTc1IC0yMS45NzQ5IC01My4wMjUgLTIxLjk3NDl0
LTUzLjAyNSAyMS45NzQ5cS0yMS45NzUgMjEuOTc0OSAtMjEuOTc1IDUzLjAyNTFxMCAzMS4xOTQ5
IDIxLjk3NSA1My4xNzA5cTIxLjk3NSAyMS45NzUgNTMuMDI1IDIxLjk3NXQ1My4wMjUgLTIxLjk3
NXEyMS45NzUgLTIxLjk3NiAyMS45NzUgLTUzLjE3MDl6IiAvPgorICAgIDwvZm9udD4KKyAgPC9k
ZWZzPgorPC9zdmc+Cis8cD5Gb2xsb3dpbmcgY2hhcmFjdGVyIHNob3VsZCBiZSByZW5kZXJlZCBh
cyBhbiBleGxhbWF0aW9uLjwvcD4KKzxzcGFuIGlkPSJ0ZXh0Ij7jgYI8L3NwYW4+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0VG9wOworICAgIH0KKyAgICBzZXRUaW1lb3V0KGRv
VGVzdCwgMTAwKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114006</attachid>
            <date>2011-11-08 00:49:50 -0800</date>
            <delta_ts>2011-11-14 21:48:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71765-20111108174949.patch</filename>
            <type>text/plain</type>
            <size>6752</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1MTYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZGY4ZDEzMmMzMDYxY2Iy
NTM5MmQ0ZGE2MTA5Y2YyYTU0NGYwYzRmLi5mZDA0OGIyNGMzMWEyNjc0N2E1ODYxYWVhZmNkMzYw
NTIyNmRmOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEtMDcgIEtlbmlj
aGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHQgZGlzcGFw
cGVhciB3aGVuIFNWRyBmb250IGhhcyBubyBsYXRpbiBjaGFyYWN0ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzY1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6ZSBTVkcgZm9udCBtZXRy
aWNzIGV2ZW4gaWYgdGhlIGZvbnQgZG9lc24ndCBjb250YWluIGxhdGluIGNoYXJhY3RlcnMuCisK
KyAgICAgICAgVGVzdDogc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbAor
CisgICAgICAgICogc3ZnL1NWR0ZvbnREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Zv
bnREYXRhOjppbml0aWFsaXplRm9udERhdGEpOiBJbml0aWFsaXplcyBtZXRyaWNzIGV2ZW4gaWYg
dGhlIHplcm9HbHlwaFBhZ2UgZG9lc24ndCBleGlzdC4KKwogMjAxMS0xMS0wNyAgS2VudGFybyBI
YXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIFtDdXN0b21HZXR0
ZXJdIElETCBmb3Igd2luZG93LkltYWdlIG9mIFY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmNw
cAppbmRleCAzNDBlMjAxMGMxNjQzZDBmYzI1ZGQxNWI0NTE4YzEwN2VlOGEwN2MxLi5iOGYyMGM5
ZjRiNzA3NGNkMGYxMzBlOTBhMDE2ODU2ZTFiYjk0ZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5jcHAKQEAgLTYzLDEzICs2Myw2IEBAIHZvaWQgU1ZHRm9udERhdGE6OmluaXRpYWxpemVG
b250RGF0YShTaW1wbGVGb250RGF0YSogZm9udERhdGEsIGZsb2F0IGZvbnRTaXplKQogICAgIGZv
bnREYXRhLT5zZXRaZXJvV2lkdGhTcGFjZUdseXBoKDApOwogICAgIGZvbnREYXRhLT5kZXRlcm1p
bmVQaXRjaCgpOwogCi0gICAgR2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJl
ZU5vZGU6OmdldFJvb3RDaGlsZChmb250RGF0YSwgMCktPnBhZ2UoKTsKLSAgICBpZiAoIWdseXBo
UGFnZVplcm8pIHsKLSAgICAgICAgZm9udERhdGEtPnNldFNwYWNlR2x5cGgoMCk7Ci0gICAgICAg
IGZvbnREYXRhLT5zZXRTcGFjZVdpZHRoKDApOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAg
ICAgdW5zaWduZWQgdW5pdHNQZXJFbSA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+dW5pdHNQZXJFbSgp
OwogICAgIGZsb2F0IHNjYWxlID0gc2NhbGVFbVRvVW5pdHMoZm9udFNpemUsIHVuaXRzUGVyRW0p
OwogICAgIGZsb2F0IHhIZWlnaHQgPSBzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNj
YWxlOwpAQCAtNzcsNyArNzAsOSBAQCB2b2lkIFNWR0ZvbnREYXRhOjppbml0aWFsaXplRm9udERh
dGEoU2ltcGxlRm9udERhdGEqIGZvbnREYXRhLCBmbG9hdCBmb250U2l6ZSkKICAgICBmbG9hdCBk
ZXNjZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZTsKICAgICBmbG9h
dCBsaW5lR2FwID0gMC4xZiAqIGZvbnRTaXplOwogCi0gICAgaWYgKCF4SGVpZ2h0KSB7CisgICAg
R2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGls
ZChmb250RGF0YSwgMCktPnBhZ2UoKTsKKworICAgIGlmICgheEhlaWdodCAmJiBnbHlwaFBhZ2Va
ZXJvKSB7CiAgICAgICAgIC8vIEZhbGxiYWNrIGlmIHhfaGVpZ2h0QXR0ciBpcyBub3Qgc3BlY2lm
aWVkIGZvciB0aGUgZm9udCBlbGVtZW50LgogICAgICAgICBHbHlwaCBsZXR0ZXJYR2x5cGggPSBn
bHlwaFBhZ2VaZXJvLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoJ3gnKS5nbHlwaDsKICAgICAgICAg
eEhlaWdodCA9IGxldHRlclhHbHlwaCA/IGZvbnREYXRhLT53aWR0aEZvckdseXBoKGxldHRlclhH
bHlwaCkgOiAyICogYXNjZW50IC8gMzsKQEAgLTkxLDYgKzg2LDE0IEBAIHZvaWQgU1ZHRm9udERh
dGE6OmluaXRpYWxpemVGb250RGF0YShTaW1wbGVGb250RGF0YSogZm9udERhdGEsIGZsb2F0IGZv
bnRTaXplKQogICAgIGZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHJvdW5kZihhc2NlbnQpICsg
cm91bmRmKGRlc2NlbnQpICsgcm91bmRmKGxpbmVHYXApKTsKICAgICBmb250TWV0cmljcy5zZXRY
SGVpZ2h0KHhIZWlnaHQpOwogCisgICAgaWYgKCFnbHlwaFBhZ2VaZXJvKSB7CisgICAgICAgIGZv
bnREYXRhLT5zZXRTcGFjZUdseXBoKDApOworICAgICAgICBmb250RGF0YS0+c2V0U3BhY2VXaWR0
aCgwKTsKKyAgICAgICAgZm9udERhdGEtPnNldEF2Z0NoYXJXaWR0aCgwKTsKKyAgICAgICAgZm9u
dERhdGEtPnNldE1heENoYXJXaWR0aChhc2NlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgLy8gQ2FsY3VsYXRlIHNwYWNlIHdpZHRoLgogICAgIEdseXBoIHNwYWNlR2x5cGggPSBn
bHlwaFBhZ2VaZXJvLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoJyAnKS5nbHlwaDsKICAgICBmb250
RGF0YS0+c2V0U3BhY2VHbHlwaChzcGFjZUdseXBoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxOWQ3ZWYwYmQzMzJkZGMy
MzRkMjY0NTc4YTQ5MGJiMWZjZWM3NmZhLi4yZWEwZDdmMmMyZGE1MDEwOTA2NGExMGM1NTM1ZTRm
ZjVmNjM1ZjZhIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDcgIEtlbmljaGkgSXNo
aWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHQgZGlzcGFwcGVhciB3
aGVuIFNWRyBmb250IGhhcyBubyBsYXRpbiBjaGFyYWN0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0aGF0IHRleHQgY2FuIGJlIGRpc3BsYXll
ZCB3aXRoIGEgU1ZHIGZvbnQgd2hpY2ggaGFzIG5vIGxhdGluIGNoYXJhY3Rlci4KKworICAgICAg
ICAqIHN2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbDog
QWRkZWQuCisKIDIwMTEtMTEtMDcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKHI5OTAyNS1yOTkwMzcpOiBwbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1zZWxlY3Rpb24td2l0aC1vcHRncm91cHMuaHRtbCBp
cyBhc3NlcnRpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRz
LW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LWZvbnRzLW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzBiNTI5NDNh
NTI3ZmYzMmNlYjBiZDg0MDZkODhjOWE2NTA2MjA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorRm9sbG93aW5nIGNoYXJhY3RlciBzaG91bGQgYmUgcmVuZGVyZWQgYXMg
YW4gZXhsYW1hdGlvbi4KKwor44GCCitjaGFyYWN0ZXIgaGVpZ2h0IGlzIDE2CitQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41YThlZDUwZGY0MjcwOWRmMWQ5NzM0NDMxODc3ZDBjNGFiNGVkOTEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0
aW4tZ2x5cGguaHRtbApAQCAtMCwwICsxLDYxIEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD11dGYtOD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICBmb250LWZhbWlseTogRm9udDsK
KyAgc3JjOiB1cmwoI0ZvbnQpIGZvcm1hdCgic3ZnIik7Cit9CisKK2JvZHkgeworICBmb250LWZh
bWlseTogRm9udDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorLy8gV2UgbmVlZCB0byByZXRyeSB0
aGUgdGVzdCBiZWNhdXNlIGZvbnQgbG9hZGluZyBjYW4gdGFrZSBhIGxpdHRsZSB0aW1lLgordmFy
IHJldHJ5ID0gMTAwOworZnVuY3Rpb24gZG9UZXN0KCkgeworICAgIHZhciBoZWlnaHQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dCcpLm9mZnNldEhlaWdodDsKKyAgICB2YXIgcmVzdWx0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOworICAgIHJlc3VsdC5pbm5lckhU
TUwgPSAnY2hhcmFjdGVyIGhlaWdodCBpcyAnICsgaGVpZ2h0ICsgJzxiciAvPic7CisgICAgaWYg
KGhlaWdodCA9PSAxNiB8fCByZXRyeSA8PSAwKSB7CisgICAgICAgIHJlc3VsdC5pbm5lckhUTUwg
Kz0gKGhlaWdodCA9PSAxNikgPyAnUEFTUycgOiAnRkFJTCc7CisgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0cnktLTsKKyAgICAgICAgc2V0
VGltZW91dChkb1Rlc3QsIDApOworICAgIH0KK30KKzwvc2NyaXB0PgorPGJvZHk+Cis8c3ZnIHdp
ZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZlcnNpb249IjEuMSIKKyB4bWxucz0naHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmcnIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKyAgPGRlZnM+CisgICAg
PGZvbnQgaWQ9IkZvbnQiIGhvcml6LWFkdi14PSIxMDAwIj4KKyAgICAgIDxmb250LWZhY2UgZm9u
dC1mYW1pbHk9IkZvbnQiIGZvbnQtd2VpZ2h0PSJub3JtYWwiIGZvbnQtc3R5bGU9Im5vcm1hbCIK
KyAgICAgICAgICB1bml0cy1wZXItZW09IjEwMDAiIGNhcC1oZWlnaHQ9IjYwMCIgeC1oZWlnaHQ9
IjQwMCIKKyAgICAgICAgICBhc2NlbnQ9IjcwMCIgZGVzY2VudD0iMzAwIgorICAgICAgICAgIGFs
cGhhYmV0aWM9IjAiIG1hdGhlbWF0aWNhbD0iMzUwIiBpZGVvZ3JhcGhpYz0iNDAwIiBoYW5naW5n
PSI1MDAiPgorICAgICAgICA8Zm9udC1mYWNlLXNyYz4KKyAgICAgICAgICA8Zm9udC1mYWNlLW5h
bWUgbmFtZT0iRm9udCIvPgorICAgICAgICA8L2ZvbnQtZmFjZS1zcmM+CisgICAgICA8L2ZvbnQt
ZmFjZT4KKyAgICAgIDxtaXNzaW5nLWdseXBoPjxwYXRoIGQ9Ik0wLDBoMjAwdjIwMGgtMjAweiIv
PjwvbWlzc2luZy1nbHlwaD4KKyAgICAgIDxnbHlwaCB1bmljb2RlPSLjgYIiIGhvcml6LWFkdi14
PSI0MjciIGQ9Ik0yODguNjQyIDI3MHEwIC0zMi4zOSAtMjAuMzc0IC01NS4zNjdxLTIwLjM3NSAt
MjIuOTc3IC01Mi4zMTMgLTIyLjk3N3EtMzQuMjI3IDAgLTU1LjI4NiAyMC4yNTJxLTIxLjA1OSAy
MC4yNTIgLTIxLjA1OSA1NS4yMjl2MzI2LjQzNXEwIDMwLjU0OCAyMC45NzEgNTEuODI0cTIwLjk3
MSAyMS4yNzUgNTQuMjYzIDIxLjI3NXEzMy40ODcgMCA1My42NDIgLTIwLjA4NXEyMC4xNTYgLTIw
LjA4NCAyMC4xNTYgLTUxLjA2MXYtMzI1LjUyNXoKK00yODkuNTM1IDc0LjA3NzFxMCAtMzEuMDUw
MiAtMjEuOTc1IC01My4wMjUxcS0yMS45NzUgLTIxLjk3NDkgLTUzLjAyNSAtMjEuOTc0OXQtNTMu
MDI1IDIxLjk3NDlxLTIxLjk3NSAyMS45NzQ5IC0yMS45NzUgNTMuMDI1MXEwIDMxLjE5NDkgMjEu
OTc1IDUzLjE3MDlxMjEuOTc1IDIxLjk3NSA1My4wMjUgMjEuOTc1dDUzLjAyNSAtMjEuOTc1cTIx
Ljk3NSAtMjEuOTc2IDIxLjk3NSAtNTMuMTcwOXoiIC8+CisgICAgPC9mb250PgorICA8L2RlZnM+
Cis8L3N2Zz4KKzxwPkZvbGxvd2luZyBjaGFyYWN0ZXIgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGFu
IGV4bGFtYXRpb24uPC9wPgorPHNwYW4gaWQ9InRleHQiPuOBgjwvc3Bhbj4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5vZmZzZXRUb3A7CisgICAgfQorICAgIHNldFRpbWVvdXQoZG9UZXN0
LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115096</attachid>
            <date>2011-11-14 21:48:16 -0800</date>
            <delta_ts>2011-12-04 20:33:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71765-20111115144815.patch</filename>
            <type>text/plain</type>
            <size>12703</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdiOWRhZTM4MDYwY2Yx
YmJhN2ZhMTI1YzU4MDIxNTdiZDM1MDdjMS4uMTE5YTJlNDc5MDY0NTM0MTQxNzk0NjA4M2Y0YWU3
MzUyZjJmNTA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTExLTE0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IGRpc3Bh
cHBlYXIgd2hlbiBTVkcgZm9udCBoYXMgbm8gbGF0aW4gY2hhcmFjdGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc2NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemUgU1ZHIGZvbnQgbWV0
cmljcyBldmVuIGlmIHRoZSBmb250IGRvZXNuJ3QgY29udGFpbiBsYXRpbiBjaGFyYWN0ZXJzLgor
CisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6Zm9udExvYWRlZCk6IEludm9rZSBhbiBldmVudCB3aGVuIGEgd2ViZm9udCBpcyBs
b2FkZWQuIFRoaXMgZXZlbnRzIGJlaGluZCBhIHNldHRpbmcgZmxhZyBhbmQgY2FuIGJlIGxpc3Rl
biBmb3IgdGVzdGluZyBwdXJwb3NlLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0Rm9udExvYWRlZEV2ZW50RW5h
YmxlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmZvbnRMb2FkZWRFdmVu
dEVuYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRm9udERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRm9udERhdGE6OmluaXRpYWxpemVGb250RGF0YSk6IEluaXRpYWxpemVz
IG1ldHJpY3MgZXZlbiBpZiB0aGUgemVyb0dseXBoUGFnZSBkb2Vzbid0IGV4aXN0LgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
c2V0Rm9udExvYWRlZEV2ZW50RW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOiBBZGRlZCBzZXRGb250
TG9hZGVkRXZlbnRFbmFibGVkKCkuCisKIDIwMTEtMTEtMTQgIEFkcmllbm5lIFdhbGtlciAgPGVu
bmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFBpcGUgY29tcG9zaXRvciBjb21t
aXQvc3dhcCB1cCB0byBXZWJXaWRnZXRDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
CmluZGV4IDdiMWI3MGZkOTE4NWNkN2I1YzY0YzY1MjkxNWRmMzYzMGUwMGYxMDguLjQyNmIyMmFj
YjU5NjU0MzY1MzVlOWVjYTAwNmQyOTc2OGVmYTEwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcApAQCAtMjksNyArMjksMTEgQEAKICNpbmNsdWRlICJDU1NGb250RmFjZVNvdXJjZS5o
IgogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1NlZ21lbnRlZEZv
bnRGYWNlLmgiCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9udERhdGEuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtOTYsNiArMTAwLDEyIEBAIHZvaWQgQ1NTRm9udEZhY2U6OmZvbnRMb2Fk
ZWQoQ1NTRm9udEZhY2VTb3VyY2UqIHNvdXJjZSkKICAgICAvLyB0aGUgc2FtZSBmb250IHNlbGVj
dG9yLCBzbyBpdCdzIHdhc3RlZnVsIHRvIHN0b3JlIGl0IGluIHRoZSBDU1NGb250RmFjZS4KICAg
ICBDU1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvciA9ICgqbV9zZWdtZW50ZWRGb250RmFjZXMu
YmVnaW4oKSktPmZvbnRTZWxlY3RvcigpOwogICAgIGZvbnRTZWxlY3Rvci0+Zm9udExvYWRlZCgp
OworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmb250U2VsZWN0b3ItPmRvY3VtZW50KCkp
IHsKKyAgICAgICAgaWYgKGRvY3VtZW50LT5zZXR0aW5ncygpICYmIGRvY3VtZW50LT5zZXR0aW5n
cygpLT5mb250TG9hZGVkRXZlbnRFbmFibGVkKCkgJiYgZG9jdW1lbnQtPmRvbVdpbmRvdygpKSB7
CisgICAgICAgICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNyZWF0ZSgid2Via2l0
Zm9udGxvYWRlZCIsIGZhbHNlLCBmYWxzZSk7CisgICAgICAgICAgICBkb2N1bWVudC0+ZG9tV2lu
ZG93KCktPmRpc3BhdGNoRXZlbnQoZXZlbnQsIGRvY3VtZW50KTsKKyAgICAgICAgfQorICAgIH0K
IH0KIAogU2ltcGxlRm9udERhdGEqIENTU0ZvbnRGYWNlOjpnZXRGb250RGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY0l0YWxpYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggMDczNmM2NjdkNjky
MTZmNDY2NWJkZGY4NWI5OGZhMWIxYTlkMWU5YS4uMzJmMzczNjAzMWFhYTRlZWQ5NGZmZjc1ODIw
MjBiNDUwNTVjMTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTIzMiw2ICsyMzIs
NyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fc3VwcHJlc3NJbmNy
ZW1lbnRhbFJlbmRlcmluZyhmYWxzZSkKICAgICAsIG1fYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVu
YWJsZWQodHJ1ZSkKICAgICAsIG1fdmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZChmYWxzZSkKKyAg
ICAsIG1fZm9udExvYWRlZEV2ZW50RW5hYmxlZChmYWxzZSkKICAgICAsIG1fbG9hZHNJbWFnZXNB
dXRvbWF0aWNhbGx5VGltZXIodGhpcywgJlNldHRpbmdzOjpsb2Fkc0ltYWdlc0F1dG9tYXRpY2Fs
bHlUaW1lckZpcmVkKQogewogICAgIC8vIEEgRnJhbWUgbWF5IG5vdCBoYXZlIGJlZW4gY3JlYXRl
ZCB5ZXQsIHNvIHdlIGluaXRpYWxpemUgdGhlIEF0b21pY1N0cmluZyAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaAppbmRleCA3ODI1OGMwZTQzZGQzMjk3NWJkOGMyNmU3YWIxZmMyYmU5ODQ5MzRiLi42ZDBl
NmZhZmRhMWYwOWNhYTRhZjU3ZGZiZWM4NTFhYWJiNDI5ZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCkBAIC00OTEsNiArNDkxLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IHNldFZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fdmlzdWFsV29y
ZE1vdmVtZW50RW5hYmxlZCA9IGVuYWJsZWQ7IH0KICAgICAgICAgYm9vbCB2aXN1YWxXb3JkTW92
ZW1lbnRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVk
OyB9CiAKKyAgICAgICAgdm9pZCBzZXRGb250TG9hZGVkRXZlbnRFbmFibGVkKGJvb2wgZmxhZykg
eyBtX2ZvbnRMb2FkZWRFdmVudEVuYWJsZWQgPSBmbGFnOyB9CisgICAgICAgIGJvb2wgZm9udExv
YWRlZEV2ZW50RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udExvYWRlZEV2ZW50RW5hYmxl
ZDsgfQorCiAgICAgcHJpdmF0ZToKICAgICAgICAgUGFnZSogbV9wYWdlOwogCkBAIC02MTksNiAr
NjIyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fc3VwcHJlc3NJbmNy
ZW1lbnRhbFJlbmRlcmluZyA6IDE7CiAgICAgICAgIGJvb2wgbV9iYWNrc3BhY2VLZXlOYXZpZ2F0
aW9uRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVk
IDogMTsKKyAgICAgICAgYm9vbCBtX2ZvbnRMb2FkZWRFdmVudEVuYWJsZWQ6IDE7CiAKICAgICAg
ICAgVGltZXI8U2V0dGluZ3M+IG1fbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXI7CiAgICAg
ICAgIHZvaWQgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXJGaXJlZChUaW1lcjxTZXR0aW5n
cz4qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCmluZGV4IDM0MGUyMDEwYzE2NDNkMGZj
MjVkZDE1YjQ1MThjMTA3ZWU4YTA3YzEuLmI4ZjIwYzlmNGI3MDc0Y2QwZjEzMGU5MGEwMTY4NTZl
MWJiOTRkMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmNwcApAQCAtNjMsMTMgKzYzLDYg
QEAgdm9pZCBTVkdGb250RGF0YTo6aW5pdGlhbGl6ZUZvbnREYXRhKFNpbXBsZUZvbnREYXRhKiBm
b250RGF0YSwgZmxvYXQgZm9udFNpemUpCiAgICAgZm9udERhdGEtPnNldFplcm9XaWR0aFNwYWNl
R2x5cGgoMCk7CiAgICAgZm9udERhdGEtPmRldGVybWluZVBpdGNoKCk7CiAKLSAgICBHbHlwaFBh
Z2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENoaWxkKGZvbnRE
YXRhLCAwKS0+cGFnZSgpOwotICAgIGlmICghZ2x5cGhQYWdlWmVybykgewotICAgICAgICBmb250
RGF0YS0+c2V0U3BhY2VHbHlwaCgwKTsKLSAgICAgICAgZm9udERhdGEtPnNldFNwYWNlV2lkdGgo
MCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICB1bnNpZ25lZCB1bml0c1BlckVtID0g
c3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCk7CiAgICAgZmxvYXQgc2NhbGUgPSBzY2Fs
ZUVtVG9Vbml0cyhmb250U2l6ZSwgdW5pdHNQZXJFbSk7CiAgICAgZmxvYXQgeEhlaWdodCA9IHN2
Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGU7CkBAIC03Nyw3ICs3MCw5IEBAIHZv
aWQgU1ZHRm9udERhdGE6OmluaXRpYWxpemVGb250RGF0YShTaW1wbGVGb250RGF0YSogZm9udERh
dGEsIGZsb2F0IGZvbnRTaXplKQogICAgIGZsb2F0IGRlc2NlbnQgPSBzdmdGb250RmFjZUVsZW1l
bnQtPmRlc2NlbnQoKSAqIHNjYWxlOwogICAgIGZsb2F0IGxpbmVHYXAgPSAwLjFmICogZm9udFNp
emU7CiAKLSAgICBpZiAoIXhIZWlnaHQpIHsKKyAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8g
PSBHbHlwaFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENoaWxkKGZvbnREYXRhLCAwKS0+cGFnZSgpOwor
CisgICAgaWYgKCF4SGVpZ2h0ICYmIGdseXBoUGFnZVplcm8pIHsKICAgICAgICAgLy8gRmFsbGJh
Y2sgaWYgeF9oZWlnaHRBdHRyIGlzIG5vdCBzcGVjaWZpZWQgZm9yIHRoZSBmb250IGVsZW1lbnQu
CiAgICAgICAgIEdseXBoIGxldHRlclhHbHlwaCA9IGdseXBoUGFnZVplcm8tPmdseXBoRGF0YUZv
ckNoYXJhY3RlcigneCcpLmdseXBoOwogICAgICAgICB4SGVpZ2h0ID0gbGV0dGVyWEdseXBoID8g
Zm9udERhdGEtPndpZHRoRm9yR2x5cGgobGV0dGVyWEdseXBoKSA6IDIgKiBhc2NlbnQgLyAzOwpA
QCAtOTEsNiArODYsMTQgQEAgdm9pZCBTVkdGb250RGF0YTo6aW5pdGlhbGl6ZUZvbnREYXRhKFNp
bXBsZUZvbnREYXRhKiBmb250RGF0YSwgZmxvYXQgZm9udFNpemUpCiAgICAgZm9udE1ldHJpY3Mu
c2V0TGluZVNwYWNpbmcocm91bmRmKGFzY2VudCkgKyByb3VuZGYoZGVzY2VudCkgKyByb3VuZGYo
bGluZUdhcCkpOwogICAgIGZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAKKyAgICBp
ZiAoIWdseXBoUGFnZVplcm8pIHsKKyAgICAgICAgZm9udERhdGEtPnNldFNwYWNlR2x5cGgoMCk7
CisgICAgICAgIGZvbnREYXRhLT5zZXRTcGFjZVdpZHRoKDApOworICAgICAgICBmb250RGF0YS0+
c2V0QXZnQ2hhcldpZHRoKDApOworICAgICAgICBmb250RGF0YS0+c2V0TWF4Q2hhcldpZHRoKGFz
Y2VudCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBDYWxjdWxhdGUgc3BhY2Ug
d2lkdGguCiAgICAgR2x5cGggc3BhY2VHbHlwaCA9IGdseXBoUGFnZVplcm8tPmdseXBoRGF0YUZv
ckNoYXJhY3RlcignICcpLmdseXBoOwogICAgIGZvbnREYXRhLT5zZXRTcGFjZUdseXBoKHNwYWNl
R2x5cGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDU3YTNjOGU1ODM1
MjgyMDZkNDFmNmFjOGZmYmVhNmE5M2I4ZjBmY2YuLjc2MDZkZWJjNWY4YmYyMjQ1Y2MyODVmODE3
YTFjZTIzNGRjYTViZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU4
Nyw0ICs1ODcsMTQgQEAgYm9vbCBJbnRlcm5hbHM6OnVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVk
KERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICByZXR1cm4gZG9jdW1l
bnQtPmZyYW1lKCktPnNldHRpbmdzKCktPnVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQoKTsKIH0K
IAordm9pZCBJbnRlcm5hbHM6OnNldEZvbnRMb2FkZWRFdmVudEVuYWJsZWQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZG9j
dW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpIHx8ICFkb2N1bWVudC0+ZnJhbWUoKS0+c2V0dGlu
Z3MoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGRvY3VtZW50LT5mcmFtZSgpLT5zZXR0aW5ncygpLT5zZXRGb250TG9h
ZGVkRXZlbnRFbmFibGVkKGVuYWJsZWQpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAppbmRleCBlMTM2Y2QyNTM2NmJlODgwZDBlN2MyZWJlMjdjODQyYzRmNjM5MDNkLi5jM2E3
MDlmYmEyNzFjYmMwY2QyNmJhNmE3ZmQxYjQ2OWM1YzdhZTBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKQEAgLTEwNiw2ICsxMDYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmlm
aWVkVGV4dENoZWNraW5nRW5hYmxlZChEb2N1bWVudCosIGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICBib29sIHVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiwgRXhjZXB0aW9u
Q29kZSYpOwogCisgICAgdm9pZCBzZXRGb250TG9hZGVkRXZlbnRFbmFibGVkKERvY3VtZW50Kiwg
Ym9vbCwgRXhjZXB0aW9uQ29kZSYpOworCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFs
c0lkOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGUw
MjYwN2Q2MmQyODQ0Y2ViMGY0NmM5YjQ1MjRjMzFlZDRmMDk1NDUuLmE1MDY3MGJhM2Q1Y2M2NDNm
MDU0NzA5ODA5NjA3ZTFkMjNlZDMwN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTc4LDYgKzc4LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgdm9pZCBzZXRV
bmlmaWVkVGV4dENoZWNraW5nRW5hYmxlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVh
biBlbmFibGVkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gdW5pZmll
ZFRleHRDaGVja2luZ0VuYWJsZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKKyAgICAgICAgdm9pZCBzZXRGb250TG9hZGVkRXZlbnRFbmFibGVkKGluIERvY3Vt
ZW50IGRvY3VtZW50LCBpbiBib29sZWFuIGVuYWJsZWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
ICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggODQwZTgwNTE1OTUwMzg1NTdmODkzNjRlNWYxOThkYWM5NTg4
N2RlYS4uOTA1YjIwYTRkYmVmOTljOTQwMjRhMjQ3NzUwOTI4ZDE0NDJkYjU3OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDExLTExLTE0ICBLZW5pY2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBUZXh0IGRpc3BhcHBlYXIgd2hlbiBTVkcgZm9udCBoYXMgbm8g
bGF0aW4gY2hhcmFjdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTc2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3QgdGhhdCB0ZXh0IGNhbiBiZSBkaXNwbGF5ZWQgd2l0aCBhIFNWRyBmb250IHdo
aWNoIGhhcyBubyBsYXRpbiBjaGFyYWN0ZXIuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1m
b250cy1uby1sYXRpbi1nbHlwaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vcmVzb3VyY2VzL25vLWxhdGluLWdseXBoLWZvbnQuc3ZnOiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5odG1sOiBBZGRlZC4KKwogMjAx
MS0xMS0xNCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92
ZSB0aGUgQ1NTM19GTEVYQk9YIGNvbXBpbGUgdGltZSBmbGFnIGFuZCBlbmFibGUgb24gYWxsIHBv
cnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9uby1sYXRp
bi1nbHlwaC1mb250LnN2ZyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL25vLWxh
dGluLWdseXBoLWZvbnQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1ZDYwZjgxMjExNDIzNjhmNzVkNmY1ZGUw
YTU4N2E0NWJlZDMxNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3Jlc291cmNlcy9uby1sYXRpbi1nbHlwaC1mb250LnN2ZwpAQCAtMCwwICsxLDE4IEBACis8c3Zn
IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZlcnNpb249IjEuMSIKKyB4bWxucz0naHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmcnIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKyAgPGRlZnM+Cisg
ICAgPGZvbnQgaWQ9IkZvbnQiIGhvcml6LWFkdi14PSIxMDAwIj4KKyAgICAgIDxmb250LWZhY2Ug
Zm9udC1mYW1pbHk9IkZvbnQiIGZvbnQtd2VpZ2h0PSJub3JtYWwiIGZvbnQtc3R5bGU9Im5vcm1h
bCIKKyAgICAgICAgICB1bml0cy1wZXItZW09IjEwMDAiIGNhcC1oZWlnaHQ9IjYwMCIgeC1oZWln
aHQ9IjQwMCIKKyAgICAgICAgICBhc2NlbnQ9IjcwMCIgZGVzY2VudD0iMzAwIgorICAgICAgICAg
IGFscGhhYmV0aWM9IjAiIG1hdGhlbWF0aWNhbD0iMzUwIiBpZGVvZ3JhcGhpYz0iNDAwIiBoYW5n
aW5nPSI1MDAiPgorICAgICAgICA8Zm9udC1mYWNlLXNyYz4KKyAgICAgICAgICA8Zm9udC1mYWNl
LW5hbWUgbmFtZT0iRm9udCIvPgorICAgICAgICA8L2ZvbnQtZmFjZS1zcmM+CisgICAgICA8L2Zv
bnQtZmFjZT4KKyAgICAgIDxtaXNzaW5nLWdseXBoPjxwYXRoIGQ9Ik0wLDBoMjAwdjIwMGgtMjAw
eiIvPjwvbWlzc2luZy1nbHlwaD4KKyAgICAgIDxnbHlwaCB1bmljb2RlPSLjgYIiIGhvcml6LWFk
di14PSI0MjciIGQ9Ik0yODguNjQyIDI3MHEwIC0zMi4zOSAtMjAuMzc0IC01NS4zNjdxLTIwLjM3
NSAtMjIuOTc3IC01Mi4zMTMgLTIyLjk3N3EtMzQuMjI3IDAgLTU1LjI4NiAyMC4yNTJxLTIxLjA1
OSAyMC4yNTIgLTIxLjA1OSA1NS4yMjl2MzI2LjQzNXEwIDMwLjU0OCAyMC45NzEgNTEuODI0cTIw
Ljk3MSAyMS4yNzUgNTQuMjYzIDIxLjI3NXEzMy40ODcgMCA1My42NDIgLTIwLjA4NXEyMC4xNTYg
LTIwLjA4NCAyMC4xNTYgLTUxLjA2MXYtMzI1LjUyNXoKK00yODkuNTM1IDc0LjA3NzFxMCAtMzEu
MDUwMiAtMjEuOTc1IC01My4wMjUxcS0yMS45NzUgLTIxLjk3NDkgLTUzLjAyNSAtMjEuOTc0OXQt
NTMuMDI1IDIxLjk3NDlxLTIxLjk3NSAyMS45NzQ5IC0yMS45NzUgNTMuMDI1MXEwIDMxLjE5NDkg
MjEuOTc1IDUzLjE3MDlxMjEuOTc1IDIxLjk3NSA1My4wMjUgMjEuOTc1dDUzLjAyNSAtMjEuOTc1
cTIxLjk3NSAtMjEuOTc2IDIxLjk3NSAtNTMuMTcwOXoiIC8+CisgICAgPC9mb250PgorICA8L2Rl
ZnM+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRz
LW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LWZvbnRzLW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzBiNTI5NDNh
NTI3ZmYzMmNlYjBiZDg0MDZkODhjOWE2NTA2MjA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorRm9sbG93aW5nIGNoYXJhY3RlciBzaG91bGQgYmUgcmVuZGVyZWQgYXMg
YW4gZXhsYW1hdGlvbi4KKwor44GCCitjaGFyYWN0ZXIgaGVpZ2h0IGlzIDE2CitQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43MmJiOTNiMzM3ODM3MGViNjc1ODlmNGJkNjcwNDhmZTQyODQ1OGM0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0
aW4tZ2x5cGguaHRtbApAQCAtMCwwICsxLDM2IEBACis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAg
ICBmb250LWZhbWlseTogZjsKKyAgICBzcmM6IHVybChyZXNvdXJjZXMvbm8tbGF0aW4tZ2x5cGgt
Zm9udC5zdmcjRm9udCkgZm9ybWF0KCJzdmciKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXRGb250TG9hZGVkRXZl
bnRFbmFibGVkKGRvY3VtZW50LCB0cnVlKTsKKworZnVuY3Rpb24gZG9UZXN0KCkgeworICAgIHZh
ciBoZWlnaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dCcpLm9mZnNldEhlaWdodDsK
KyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOworICAg
IHJlc3VsdC5pbm5lckhUTUwgPSAnY2hhcmFjdGVyIGhlaWdodCBpcyAnICsgaGVpZ2h0ICsgJzxi
ciAvPic7CisgICAgaWYgKGhlaWdodCA9PSAxNikKKyAgICAgICAgcmVzdWx0LmlubmVySFRNTCAr
PSAnUEFTUyc7CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJIVE1MICs9ICdGQUlMJzsK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5vZmZzZXRUb3A7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGZv
bnRsb2FkZWQnLCBkb1Rlc3QpOworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnVElNRU9VVCc7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCA1MDAp
OworfQorPC9zY3JpcHQ+Cis8cD5Gb2xsb3dpbmcgY2hhcmFjdGVyIHNob3VsZCBiZSByZW5kZXJl
ZCBhcyBhbiBleGxhbWF0aW9uLjwvcD4KKzxzcGFuIGlkPSJ0ZXh0IiBzdHlsZT0iZm9udC1mYW1p
bHk6IGY7Ij4mI3gzMDQyOzwvc3Bhbj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117832</attachid>
            <date>2011-12-04 20:33:42 -0800</date>
            <delta_ts>2011-12-17 08:34:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71765-20111205133340.patch</filename>
            <type>text/plain</type>
            <size>6998</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY5YjFiOTlmMDEwZmNh
Mjk3ZjdlYWEyODVmZTkzNDA5OGIzOWFjNi4uOTJlZWQ0NDIxNzJmZmZjOGFkOGY4ZWYzZmEzMTc4
YTIzMTViYWEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTA0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IGRpc3Bh
cHBlYXIgd2hlbiBTVkcgZm9udCBoYXMgbm8gbGF0aW4gY2hhcmFjdGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc2NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemUgU1ZHIGZvbnQgbWV0
cmljcyBldmVuIGlmIHRoZSBmb250IGRvZXNuJ3QgY29udGFpbiBsYXRpbiBjaGFyYWN0ZXJzLgor
CisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwK
KworICAgICAgICAqIHN2Zy9TVkdGb250RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
b250RGF0YTo6aW5pdGlhbGl6ZUZvbnREYXRhKTogSW5pdGlhbGl6ZXMgbWV0cmljcyBldmVuIGlm
IHRoZSB6ZXJvR2x5cGhQYWdlIGRvZXNuJ3QgZXhpc3QuCisKIDIwMTEtMTItMDQgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSElFUkFSQ0hZX1JFUVVFU1RfRVJS
IGNoZWNrIGluIGNoZWNrQWNjZXB0Q2hpbGQgc2hvdWxkIGJlIG9wdGltaXplZCBmb3IgbmV3Q2hp
bGQgd2l0aG91dCBjaGlsZHJlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zv
bnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5jcHAKaW5kZXggMzQw
ZTIwMTBjMTY0M2QwZmMyNWRkMTViNDUxOGMxMDdlZThhMDdjMS4uYjhmMjBjOWY0YjcwNzRjZDBm
MTMwZTkwYTAxNjg1NmUxYmI5NGQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCkBA
IC02MywxMyArNjMsNiBAQCB2b2lkIFNWR0ZvbnREYXRhOjppbml0aWFsaXplRm9udERhdGEoU2lt
cGxlRm9udERhdGEqIGZvbnREYXRhLCBmbG9hdCBmb250U2l6ZSkKICAgICBmb250RGF0YS0+c2V0
WmVyb1dpZHRoU3BhY2VHbHlwaCgwKTsKICAgICBmb250RGF0YS0+ZGV0ZXJtaW5lUGl0Y2goKTsK
IAotICAgIEdseXBoUGFnZSogZ2x5cGhQYWdlWmVybyA9IEdseXBoUGFnZVRyZWVOb2RlOjpnZXRS
b290Q2hpbGQoZm9udERhdGEsIDApLT5wYWdlKCk7Ci0gICAgaWYgKCFnbHlwaFBhZ2VaZXJvKSB7
Ci0gICAgICAgIGZvbnREYXRhLT5zZXRTcGFjZUdseXBoKDApOwotICAgICAgICBmb250RGF0YS0+
c2V0U3BhY2VXaWR0aCgwKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIHVuc2lnbmVk
IHVuaXRzUGVyRW0gPSBzdmdGb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKICAgICBmbG9h
dCBzY2FsZSA9IHNjYWxlRW1Ub1VuaXRzKGZvbnRTaXplLCB1bml0c1BlckVtKTsKICAgICBmbG9h
dCB4SGVpZ2h0ID0gc3ZnRm9udEZhY2VFbGVtZW50LT54SGVpZ2h0KCkgKiBzY2FsZTsKQEAgLTc3
LDcgKzcwLDkgQEAgdm9pZCBTVkdGb250RGF0YTo6aW5pdGlhbGl6ZUZvbnREYXRhKFNpbXBsZUZv
bnREYXRhKiBmb250RGF0YSwgZmxvYXQgZm9udFNpemUpCiAgICAgZmxvYXQgZGVzY2VudCA9IHN2
Z0ZvbnRGYWNlRWxlbWVudC0+ZGVzY2VudCgpICogc2NhbGU7CiAgICAgZmxvYXQgbGluZUdhcCA9
IDAuMWYgKiBmb250U2l6ZTsKIAotICAgIGlmICgheEhlaWdodCkgeworICAgIEdseXBoUGFnZSog
Z2x5cGhQYWdlWmVybyA9IEdseXBoUGFnZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQoZm9udERhdGEs
IDApLT5wYWdlKCk7CisKKyAgICBpZiAoIXhIZWlnaHQgJiYgZ2x5cGhQYWdlWmVybykgewogICAg
ICAgICAvLyBGYWxsYmFjayBpZiB4X2hlaWdodEF0dHIgaXMgbm90IHNwZWNpZmllZCBmb3IgdGhl
IGZvbnQgZWxlbWVudC4KICAgICAgICAgR2x5cGggbGV0dGVyWEdseXBoID0gZ2x5cGhQYWdlWmVy
by0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKCd4JykuZ2x5cGg7CiAgICAgICAgIHhIZWlnaHQgPSBs
ZXR0ZXJYR2x5cGggPyBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChsZXR0ZXJYR2x5cGgpIDogMiAq
IGFzY2VudCAvIDM7CkBAIC05MSw2ICs4NiwxNCBAQCB2b2lkIFNWR0ZvbnREYXRhOjppbml0aWFs
aXplRm9udERhdGEoU2ltcGxlRm9udERhdGEqIGZvbnREYXRhLCBmbG9hdCBmb250U2l6ZSkKICAg
ICBmb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhyb3VuZGYoYXNjZW50KSArIHJvdW5kZihkZXNj
ZW50KSArIHJvdW5kZihsaW5lR2FwKSk7CiAgICAgZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVp
Z2h0KTsKIAorICAgIGlmICghZ2x5cGhQYWdlWmVybykgeworICAgICAgICBmb250RGF0YS0+c2V0
U3BhY2VHbHlwaCgwKTsKKyAgICAgICAgZm9udERhdGEtPnNldFNwYWNlV2lkdGgoMCk7CisgICAg
ICAgIGZvbnREYXRhLT5zZXRBdmdDaGFyV2lkdGgoMCk7CisgICAgICAgIGZvbnREYXRhLT5zZXRN
YXhDaGFyV2lkdGgoYXNjZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIENh
bGN1bGF0ZSBzcGFjZSB3aWR0aC4KICAgICBHbHlwaCBzcGFjZUdseXBoID0gZ2x5cGhQYWdlWmVy
by0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKCcgJykuZ2x5cGg7CiAgICAgZm9udERhdGEtPnNldFNw
YWNlR2x5cGgoc3BhY2VHbHlwaCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTBiZmRhYjYwNGM3MTYwZGFjNDRmOGZhODY5
NDM2OWE5NDEzYTQzYi4uNDQwMzcxNjJjYTEwZTMzMmYwMzRjM2FiYmEyNjlmMDVjYzY1MzNiNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTA0ICBLZW5pY2hpIElzaGliYXNoaSAgPGJh
c2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IGRpc3BhcHBlYXIgd2hlbiBTVkcgZm9u
dCBoYXMgbm8gbGF0aW4gY2hhcmFjdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTc2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3QgdGhhdCB0ZXh0IGNhbiBiZSBkaXNwbGF5ZWQgd2l0aCBhIFNW
RyBmb250IHdoaWNoIGhhcyBubyBsYXRpbiBjaGFyYWN0ZXIuCisKKyAgICAgICAgKiBzdmcvY3Vz
dG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9jdXN0b20vcmVzb3VyY2VzL25vLWxhdGluLWdseXBoLWZvbnQuc3ZnOiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5odG1sOiBBZGRl
ZC4KKwogMjAxMS0xMi0wNCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlZCBvYnNvbGV0ZSBleHBlY3RlZCByZXN1bHRzIHRoYXQgc2hvdWxkIGhhdmUgYmVl
biByZW1vdmVkIHdoZW4gY29udmVydGluZyB0byBhIHJlZiB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvbm8tbGF0aW4tZ2x5cGgtZm9udC5zdmcgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9uby1sYXRpbi1nbHlwaC1mb250LnN2Zwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NWQ2MGY4MTIxMTQyMzY4Zjc1ZDZmNWRlMGE1ODdhNDViZWQzMTRjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvbm8tbGF0aW4t
Z2x5cGgtZm9udC5zdmcKQEAgLTAsMCArMSwxOCBAQAorPHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0
PSIxMDAlIiB2ZXJzaW9uPSIxLjEiCisgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
JyBzdHlsZT0iZGlzcGxheTpub25lOyI+CisgIDxkZWZzPgorICAgIDxmb250IGlkPSJGb250IiBo
b3Jpei1hZHYteD0iMTAwMCI+CisgICAgICA8Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJGb250IiBm
b250LXdlaWdodD0ibm9ybWFsIiBmb250LXN0eWxlPSJub3JtYWwiCisgICAgICAgICAgdW5pdHMt
cGVyLWVtPSIxMDAwIiBjYXAtaGVpZ2h0PSI2MDAiIHgtaGVpZ2h0PSI0MDAiCisgICAgICAgICAg
YXNjZW50PSI3MDAiIGRlc2NlbnQ9IjMwMCIKKyAgICAgICAgICBhbHBoYWJldGljPSIwIiBtYXRo
ZW1hdGljYWw9IjM1MCIgaWRlb2dyYXBoaWM9IjQwMCIgaGFuZ2luZz0iNTAwIj4KKyAgICAgICAg
PGZvbnQtZmFjZS1zcmM+CisgICAgICAgICAgPGZvbnQtZmFjZS1uYW1lIG5hbWU9IkZvbnQiLz4K
KyAgICAgICAgPC9mb250LWZhY2Utc3JjPgorICAgICAgPC9mb250LWZhY2U+CisgICAgICA8bWlz
c2luZy1nbHlwaD48cGF0aCBkPSJNMCwwaDIwMHYyMDBoLTIwMHoiLz48L21pc3NpbmctZ2x5cGg+
CisgICAgICA8Z2x5cGggdW5pY29kZT0i44GCIiBob3Jpei1hZHYteD0iNDI3IiBkPSJNMjg4LjY0
MiAyNzBxMCAtMzIuMzkgLTIwLjM3NCAtNTUuMzY3cS0yMC4zNzUgLTIyLjk3NyAtNTIuMzEzIC0y
Mi45NzdxLTM0LjIyNyAwIC01NS4yODYgMjAuMjUycS0yMS4wNTkgMjAuMjUyIC0yMS4wNTkgNTUu
MjI5djMyNi40MzVxMCAzMC41NDggMjAuOTcxIDUxLjgyNHEyMC45NzEgMjEuMjc1IDU0LjI2MyAy
MS4yNzVxMzMuNDg3IDAgNTMuNjQyIC0yMC4wODVxMjAuMTU2IC0yMC4wODQgMjAuMTU2IC01MS4w
NjF2LTMyNS41MjV6CitNMjg5LjUzNSA3NC4wNzcxcTAgLTMxLjA1MDIgLTIxLjk3NSAtNTMuMDI1
MXEtMjEuOTc1IC0yMS45NzQ5IC01My4wMjUgLTIxLjk3NDl0LTUzLjAyNSAyMS45NzQ5cS0yMS45
NzUgMjEuOTc0OSAtMjEuOTc1IDUzLjAyNTFxMCAzMS4xOTQ5IDIxLjk3NSA1My4xNzA5cTIxLjk3
NSAyMS45NzUgNTMuMDI1IDIxLjk3NXQ1My4wMjUgLTIxLjk3NXEyMS45NzUgLTIxLjk3NiAyMS45
NzUgLTUzLjE3MDl6IiAvPgorICAgIDwvZm9udD4KKyAgPC9kZWZzPgorPC9zdmc+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlw
aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwYjUyOTQzYTUyN2ZmMzJjZWIwYmQ4NDA2ZDg4
YzlhNjUwNjIwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LWZvbnRzLW5vLWxhdGluLWdseXBoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0ZvbGxv
d2luZyBjaGFyYWN0ZXIgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGFuIGV4bGFtYXRpb24uCisKK+OB
ggorY2hhcmFjdGVyIGhlaWdodCBpcyAxNgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY1YjVh
MDQ0ZTM4MThkM2Y0NzhhMWE0YTYwODcwODE1M2UxZWZiNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwKQEAgLTAs
MCArMSwzNCBAQAorPGhlYWQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWls
eTogZjsKKyAgICBzcmM6IHVybChyZXNvdXJjZXMvbm8tbGF0aW4tZ2x5cGgtZm9udC5zdmcjRm9u
dCkgZm9ybWF0KCJzdmciKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZG9UZXN0
KCkgeworICAgIHZhciBoZWlnaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dCcpLm9m
ZnNldEhlaWdodDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpOworICAgIHJlc3VsdC5pbm5lckhUTUwgPSAnY2hhcmFjdGVyIGhlaWdodCBpcyAnICsg
aGVpZ2h0ICsgJzxiciAvPic7CisgICAgaWYgKGhlaWdodCA9PSAxNikKKyAgICAgICAgcmVzdWx0
LmlubmVySFRNTCArPSAnUEFTUyc7CisgICAgZWxzZQorICAgICAgICByZXN1bHQuaW5uZXJIVE1M
ICs9ICdGQUlMJzsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+Rm9sbG93aW5nIGNoYXJhY3RlciBzaG91bGQgYmUgcmVuZGVyZWQgYXMg
YW4gZXhsYW1hdGlvbi48L3A+Cis8c3BhbiBpZD0idGV4dCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBm
OyI+JiN4MzA0Mjs8L3NwYW4+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPHNjcmlwdD4KK2Rv
Y3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZG9UZXN0LCB0cnVlKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119725</attachid>
            <date>2011-12-17 08:34:47 -0800</date>
            <delta_ts>2011-12-17 12:23:55 -0800</delta_ts>
            <desc>Patch (Revised to ToT)</desc>
            <filename>bug-71765-20111218013445.patch</filename>
            <type>text/plain</type>
            <size>6939</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODZjNWRjMTZjOGE4YmZk
MGVmODQ2Njk1YzkwYjY4N2I4MGI1MWUzNC4uYzExYzNmMWFhMDNiNjRjZWY1MDUxYjUxYTU5Zjcy
ZjUwOTIyOTJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTE3ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IGRpc3Bh
cHBlYXIgd2hlbiBTVkcgZm9udCBoYXMgbm8gbGF0aW4gY2hhcmFjdGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc2NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemUgU1ZHIGZvbnQgbWV0
cmljcyBldmVuIGlmIHRoZSBmb250IGRvZXNuJ3QgY29udGFpbiBsYXRpbiBjaGFyYWN0ZXJzLgor
CisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwK
KworICAgICAgICAqIHN2Zy9TVkdGb250RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
b250RGF0YTo6aW5pdGlhbGl6ZUZvbnREYXRhKTogSW5pdGlhbGl6ZXMgbWV0cmljcyBldmVuIGlm
IHRoZSB6ZXJvR2x5cGhQYWdlIGRvZXNuJ3QgZXhpc3QuCisKIDIwMTEtMTItMTcgIFBoaWxpcHBl
IE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdU
SyBidWlsZCBmaXggYWZ0ZXIgcjEwMzEzMS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCmlu
ZGV4IDM0MGUyMDEwYzE2NDNkMGZjMjVkZDE1YjQ1MThjMTA3ZWU4YTA3YzEuLmI4ZjIwYzlmNGI3
MDc0Y2QwZjEzMGU5MGEwMTY4NTZlMWJiOTRkMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRh
LmNwcApAQCAtNjMsMTMgKzYzLDYgQEAgdm9pZCBTVkdGb250RGF0YTo6aW5pdGlhbGl6ZUZvbnRE
YXRhKFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSwgZmxvYXQgZm9udFNpemUpCiAgICAgZm9udERh
dGEtPnNldFplcm9XaWR0aFNwYWNlR2x5cGgoMCk7CiAgICAgZm9udERhdGEtPmRldGVybWluZVBp
dGNoKCk7CiAKLSAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9k
ZTo6Z2V0Um9vdENoaWxkKGZvbnREYXRhLCAwKS0+cGFnZSgpOwotICAgIGlmICghZ2x5cGhQYWdl
WmVybykgewotICAgICAgICBmb250RGF0YS0+c2V0U3BhY2VHbHlwaCgwKTsKLSAgICAgICAgZm9u
dERhdGEtPnNldFNwYWNlV2lkdGgoMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICB1
bnNpZ25lZCB1bml0c1BlckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCk7CiAg
ICAgZmxvYXQgc2NhbGUgPSBzY2FsZUVtVG9Vbml0cyhmb250U2l6ZSwgdW5pdHNQZXJFbSk7CiAg
ICAgZmxvYXQgeEhlaWdodCA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGU7
CkBAIC03Nyw3ICs3MCw5IEBAIHZvaWQgU1ZHRm9udERhdGE6OmluaXRpYWxpemVGb250RGF0YShT
aW1wbGVGb250RGF0YSogZm9udERhdGEsIGZsb2F0IGZvbnRTaXplKQogICAgIGZsb2F0IGRlc2Nl
bnQgPSBzdmdGb250RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlOwogICAgIGZsb2F0IGxp
bmVHYXAgPSAwLjFmICogZm9udFNpemU7CiAKLSAgICBpZiAoIXhIZWlnaHQpIHsKKyAgICBHbHlw
aFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENoaWxkKGZv
bnREYXRhLCAwKS0+cGFnZSgpOworCisgICAgaWYgKCF4SGVpZ2h0ICYmIGdseXBoUGFnZVplcm8p
IHsKICAgICAgICAgLy8gRmFsbGJhY2sgaWYgeF9oZWlnaHRBdHRyIGlzIG5vdCBzcGVjaWZpZWQg
Zm9yIHRoZSBmb250IGVsZW1lbnQuCiAgICAgICAgIEdseXBoIGxldHRlclhHbHlwaCA9IGdseXBo
UGFnZVplcm8tPmdseXBoRGF0YUZvckNoYXJhY3RlcigneCcpLmdseXBoOwogICAgICAgICB4SGVp
Z2h0ID0gbGV0dGVyWEdseXBoID8gZm9udERhdGEtPndpZHRoRm9yR2x5cGgobGV0dGVyWEdseXBo
KSA6IDIgKiBhc2NlbnQgLyAzOwpAQCAtOTEsNiArODYsMTQgQEAgdm9pZCBTVkdGb250RGF0YTo6
aW5pdGlhbGl6ZUZvbnREYXRhKFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSwgZmxvYXQgZm9udFNp
emUpCiAgICAgZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcocm91bmRmKGFzY2VudCkgKyByb3Vu
ZGYoZGVzY2VudCkgKyByb3VuZGYobGluZUdhcCkpOwogICAgIGZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7CiAKKyAgICBpZiAoIWdseXBoUGFnZVplcm8pIHsKKyAgICAgICAgZm9udERh
dGEtPnNldFNwYWNlR2x5cGgoMCk7CisgICAgICAgIGZvbnREYXRhLT5zZXRTcGFjZVdpZHRoKDAp
OworICAgICAgICBmb250RGF0YS0+c2V0QXZnQ2hhcldpZHRoKDApOworICAgICAgICBmb250RGF0
YS0+c2V0TWF4Q2hhcldpZHRoKGFzY2VudCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICAvLyBDYWxjdWxhdGUgc3BhY2Ugd2lkdGguCiAgICAgR2x5cGggc3BhY2VHbHlwaCA9IGdseXBo
UGFnZVplcm8tPmdseXBoRGF0YUZvckNoYXJhY3RlcignICcpLmdseXBoOwogICAgIGZvbnREYXRh
LT5zZXRTcGFjZUdseXBoKHNwYWNlR2x5cGgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxNTY1YTUxMjkxYzI3YjM3ZmIw
MzU1OTAyYTM0MTNlNDAwMTZkYTcuLmRmY2E2NDA0MDZiMWZlYmJjZWIwYTEzZjI0ZDM0N2RiZjFl
YzY5ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0xNyAgS2VuaWNoaSBJc2hpYmFz
aGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBkaXNwYXBwZWFyIHdoZW4g
U1ZHIGZvbnQgaGFzIG5vIGxhdGluIGNoYXJhY3RlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRoYXQgdGV4dCBjYW4gYmUgZGlzcGxheWVkIHdp
dGggYSBTVkcgZm9udCB3aGljaCBoYXMgbm8gbGF0aW4gY2hhcmFjdGVyLgorCisgICAgICAgICog
c3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvY3VzdG9tL3Jlc291cmNlcy9uby1sYXRpbi1nbHlwaC1mb250LnN2Zzog
QWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGguaHRt
bDogQWRkZWQuCisKIDIwMTEtMTItMTcgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbUXRdIGZhc3QvY2FudmFzLzJkLnRleHQuZHJhdy5maWxsLm1heFdp
ZHRoLmdyYWRpZW50Lmh0bWwgZmFpbHMgd2l0aCBuZXdlciBRdDUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL25vLWxhdGluLWdseXBoLWZvbnQuc3ZnIGIvTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvbm8tbGF0aW4tZ2x5cGgtZm9udC5zdmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTVkNjBmODEyMTE0MjM2OGY3NWQ2ZjVkZTBhNTg3YTQ1YmVkMzE0YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL25vLWxhdGluLWds
eXBoLWZvbnQuc3ZnCkBAIC0wLDAgKzEsMTggQEAKKzxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0i
MTAwJSIgdmVyc2lvbj0iMS4xIgorIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycg
c3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICA8ZGVmcz4KKyAgICA8Zm9udCBpZD0iRm9udCIgaG9y
aXotYWR2LXg9IjEwMDAiPgorICAgICAgPGZvbnQtZmFjZSBmb250LWZhbWlseT0iRm9udCIgZm9u
dC13ZWlnaHQ9Im5vcm1hbCIgZm9udC1zdHlsZT0ibm9ybWFsIgorICAgICAgICAgIHVuaXRzLXBl
ci1lbT0iMTAwMCIgY2FwLWhlaWdodD0iNjAwIiB4LWhlaWdodD0iNDAwIgorICAgICAgICAgIGFz
Y2VudD0iNzAwIiBkZXNjZW50PSIzMDAiCisgICAgICAgICAgYWxwaGFiZXRpYz0iMCIgbWF0aGVt
YXRpY2FsPSIzNTAiIGlkZW9ncmFwaGljPSI0MDAiIGhhbmdpbmc9IjUwMCI+CisgICAgICAgIDxm
b250LWZhY2Utc3JjPgorICAgICAgICAgIDxmb250LWZhY2UtbmFtZSBuYW1lPSJGb250Ii8+Cisg
ICAgICAgIDwvZm9udC1mYWNlLXNyYz4KKyAgICAgIDwvZm9udC1mYWNlPgorICAgICAgPG1pc3Np
bmctZ2x5cGg+PHBhdGggZD0iTTAsMGgyMDB2MjAwaC0yMDB6Ii8+PC9taXNzaW5nLWdseXBoPgor
ICAgICAgPGdseXBoIHVuaWNvZGU9IuOBgiIgaG9yaXotYWR2LXg9IjQyNyIgZD0iTTI4OC42NDIg
MjcwcTAgLTMyLjM5IC0yMC4zNzQgLTU1LjM2N3EtMjAuMzc1IC0yMi45NzcgLTUyLjMxMyAtMjIu
OTc3cS0zNC4yMjcgMCAtNTUuMjg2IDIwLjI1MnEtMjEuMDU5IDIwLjI1MiAtMjEuMDU5IDU1LjIy
OXYzMjYuNDM1cTAgMzAuNTQ4IDIwLjk3MSA1MS44MjRxMjAuOTcxIDIxLjI3NSA1NC4yNjMgMjEu
Mjc1cTMzLjQ4NyAwIDUzLjY0MiAtMjAuMDg1cTIwLjE1NiAtMjAuMDg0IDIwLjE1NiAtNTEuMDYx
di0zMjUuNTI1egorTTI4OS41MzUgNzQuMDc3MXEwIC0zMS4wNTAyIC0yMS45NzUgLTUzLjAyNTFx
LTIxLjk3NSAtMjEuOTc0OSAtNTMuMDI1IC0yMS45NzQ5dC01My4wMjUgMjEuOTc0OXEtMjEuOTc1
IDIxLjk3NDkgLTIxLjk3NSA1My4wMjUxcTAgMzEuMTk0OSAyMS45NzUgNTMuMTcwOXEyMS45NzUg
MjEuOTc1IDUzLjAyNSAyMS45NzV0NTMuMDI1IC0yMS45NzVxMjEuOTc1IC0yMS45NzYgMjEuOTc1
IC01My4xNzA5eiIgLz4KKyAgICA8L2ZvbnQ+CisgIDwvZGVmcz4KKzwvc3ZnPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctZm9udHMtbm8tbGF0aW4tZ2x5cGgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMGI1Mjk0M2E1MjdmZjMyY2ViMGJkODQwNmQ4OGM5
YTY1MDYyMDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1m
b250cy1uby1sYXRpbi1nbHlwaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitGb2xsb3dp
bmcgY2hhcmFjdGVyIHNob3VsZCBiZSByZW5kZXJlZCBhcyBhbiBleGxhbWF0aW9uLgorCivjgYIK
K2NoYXJhY3RlciBoZWlnaHQgaXMgMTYKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLWZvbnRzLW5vLWxhdGluLWdseXBoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmNWI1YTA0
NGUzODE4ZDNmNDc4YTFhNGE2MDg3MDgxNTNlMWVmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1mb250cy1uby1sYXRpbi1nbHlwaC5odG1sCkBAIC0wLDAg
KzEsMzQgQEAKKzxoZWFkPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6
IGY7CisgICAgc3JjOiB1cmwocmVzb3VyY2VzL25vLWxhdGluLWdseXBoLWZvbnQuc3ZnI0ZvbnQp
IGZvcm1hdCgic3ZnIik7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGRvVGVzdCgp
IHsKKyAgICB2YXIgaGVpZ2h0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQnKS5vZmZz
ZXRIZWlnaHQ7CisgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1
bHQnKTsKKyAgICByZXN1bHQuaW5uZXJIVE1MID0gJ2NoYXJhY3RlciBoZWlnaHQgaXMgJyArIGhl
aWdodCArICc8YnIgLz4nOworICAgIGlmIChoZWlnaHQgPT0gMTYpCisgICAgICAgIHJlc3VsdC5p
bm5lckhUTUwgKz0gJ1BBU1MnOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0LmlubmVySFRNTCAr
PSAnRkFJTCc7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPkZvbGxvd2luZyBjaGFyYWN0ZXIgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGFu
IGV4bGFtYXRpb24uPC9wPgorPHNwYW4gaWQ9InRleHQiIHN0eWxlPSJmb250LWZhbWlseTogZjsi
PiYjeDMwNDI7PC9zcGFuPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxzY3JpcHQ+Citkb2N1
bWVudC5ib2R5Lm9mZnNldFdpZHRoOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIGRvVGVzdCwgdHJ1ZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>