<?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>58321</bug_id>
          
          <creation_ts>2011-04-12 07:47:51 -0700</creation_ts>
          <short_desc>Allow CG Font support in Chrome Darwin build using Skia</short_desc>
          <delta_ts>2011-04-13 19:13:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>1</everconfirmed>
          <reporter name="Cary Clark">caryclark</reporter>
          <assigned_to name="Cary Clark">caryclark</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>mark</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>383999</commentid>
    <comment_count>0</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-04-12 07:47:51 -0700</bug_when>
    <thetext>Allow CG Font support in Chrome Darwin build using Skia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384005</commentid>
    <comment_count>1</comment_count>
      <attachid>89204</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-04-12 08:09:14 -0700</bug_when>
    <thetext>Created attachment 89204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384146</commentid>
    <comment_count>2</comment_count>
      <attachid>89204</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 10:51:38 -0700</bug_when>
    <thetext>Comment on attachment 89204
Patch

This is the wrong way to do this.  The right way is to make CG into a USE macro instead and define it for the SKIA/Darwin case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384150</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 10:53:28 -0700</bug_when>
    <thetext>You&apos;d need to split this into two bugs.  One which just renames all the places where we have PLATFORM(CG) into USE(CG).  And then a second, which turns on CG in whatever case you want it on.

You should also talk with some of the Apple folks, since they&apos;re they main CG users.

I assume that the Windows build in WebKIt already does somethign similar with CAIRO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384209</commentid>
    <comment_count>4</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-04-12 11:46:50 -0700</bug_when>
    <thetext>Eric: The desire is not to define USE(CG) in the Skia/Darwin case. The desire is to make a handful of convenience routines (really only two: operator CGRect() in IntRect and FloatRect) available in a port which does not use CG as the rendering engine.

I don&apos;t see how changing PLATFORM(CG) to USE(CG) will enable this, although I have no problem if this change is desirable for other reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384212</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 11:52:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Eric: The desire is not to define USE(CG) in the Skia/Darwin case. The desire is to make a handful of convenience routines (really only two: operator CGRect() in IntRect and FloatRect) available in a port which does not use CG as the rendering engine.

Ok, then I&quot;m clearly misunderstanding your patch.  I got scared by the obsenely long #if conditions. :)

I guess I&apos;m still confused as to what your patch is doing.  It&apos;s affecting synthetic bold behavior as well, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384216</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 11:53:56 -0700</bug_when>
    <thetext>Why would you want CGRect conversions if the port doesn&apos;t use CG?  I assume that Skia uses these types when on Darwin?  Seems we should consider splitting these things out into a separate define?

USE(CG_TYPES)?  I&apos;m not sure I understand well enough to really comment yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384221</commentid>
    <comment_count>7</comment_count>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-04-12 12:01:15 -0700</bug_when>
    <thetext>This patch is moving Chrome on Mac to use Skia for the WebKit rendering engine. It continues to use CoreGraphics to draw UI elements like buttons and scrollbars. So while WebCore rendering uses Skia data types, some UI platform implementation classes use CG types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384234</commentid>
    <comment_count>8</comment_count>
      <attachid>89204</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 12:14:42 -0700</bug_when>
    <thetext>Comment on attachment 89204
Patch

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

So does this compile?  Since you&apos;re not a committer yet, the cr-mac-ews is ignoring your patch (hence why its bubble is purple).

&gt; Source/WebCore/platform/graphics/GlyphBuffer.h:37
&gt; +#if PLATFORM(CG) || (PLATFORM(WX) &amp;&amp; OS(DARWIN)) || (USE(SKIA) &amp;&amp; PLATFORM(CHROMIUM) &amp;&amp; OS(DARWIN))

This same #if block is repeated 7 times.  It seems it should be its own #define somehow.  It looks like it&apos;s enabling synthetic bold, but maybe it&apos;s doing other things? Can we give it a good name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384237</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 12:15:38 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 89204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89204&amp;action=review
&gt; 
&gt; So does this compile?  Since you&apos;re not a committer yet, the cr-mac-ews is ignoring your patch (hence why its bubble is purple).

My confusion stems from the fact that this change doesn&apos;t include any change to what feature defines the cr-mac build uses.  Should it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384284</commentid>
    <comment_count>10</comment_count>
      <attachid>89204</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 13:05:48 -0700</bug_when>
    <thetext>Comment on attachment 89204
Patch

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

&gt; Source/WebCore/loader/cache/CachedFont.cpp:30
&gt; +#if PLATFORM(CG) || PLATFORM(QT) || PLATFORM(GTK) || (PLATFORM(CHROMIUM) &amp;&amp; (OS(WINDOWS) || OS(LINUX) || OS(FREEBSD) || (USE(SKIA) &amp;&amp; OS(DARWIN)))) || PLATFORM(HAIKU) || OS(WINCE) || PLATFORM(ANDROID) || PLATFORM(BREWMP)

This should really be a blacklist instead of a whitelist.  You don&apos;t have to fix that, but adding a FIXME saying so would be nice. :)

&gt; Source/WebCore/platform/graphics/FontPlatformData.h:87
&gt; +#if PLATFORM(CG) || (USE(SKIA) &amp;&amp; PLATFORM(CHROMIUM) &amp;&amp; OS(DARWIN))

I think we can come up with a nice name for your define here.  Something like:
USE(SKIA_MAC) maybe?

You&apos;d then define WTF_USE_SKIA_MAC 1 in platform.h

There is precedent for such things.  Basically you&apos;re making some exceptions to the general &quot;exclude all CG code on non-CG builds&quot; rule.

&gt; Source/WebCore/platform/graphics/FontPlatformData.h:182
&gt; +#if PLATFORM(CG) || (USE(SKIA) &amp;&amp; PLATFORM(CHROMIUM))

Would use your fancy new USE.  CG should not be a PLATFORM.  You could pay the debt of turning it to a USE, but that&apos;s not necessarily related to your bug here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385008</commentid>
    <comment_count>11</comment_count>
      <attachid>89403</attachid>
    <who name="Cary Clark">caryclark</who>
    <bug_when>2011-04-13 10:58:55 -0700</bug_when>
    <thetext>Created attachment 89403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385031</commentid>
    <comment_count>12</comment_count>
      <attachid>89403</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-13 11:22:40 -0700</bug_when>
    <thetext>Comment on attachment 89403
Patch

LGTM.  I think technically we should define a default value for WTF_USE_SKIA_ON_MAC_CHROME in platform.h, but I also think it doesn&apos;t matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385451</commentid>
    <comment_count>13</comment_count>
      <attachid>89403</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-13 19:13:49 -0700</bug_when>
    <thetext>Comment on attachment 89403
Patch

Clearing flags on attachment: 89403

Committed r83805: &lt;http://trac.webkit.org/changeset/83805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385452</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-13 19:13:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89204</attachid>
            <date>2011-04-12 08:09:14 -0700</date>
            <delta_ts>2011-04-13 10:58:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58321-20110412110912.patch</filename>
            <type>text/plain</type>
            <size>7069</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDQtMTIgIENhcnkgQ2xh
cmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBbGxvdyBDRyBGb250IHN1cHBvcnQgaW4gQ2hyb21lIERhcndp
biBidWlsZCB1c2luZyBTa2lhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01ODMyMQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBuZWVkZWQsIG5vIGZ1bmN0
aW9uYWxpdHkgY2hhbmdlLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3Bw
OiBNYWtlIENHRm9udFJlZiBmdW5jdGlvbnMgYW5kCisgICAgICAgIENHLXNwZWNpZmljIGZvbnQg
Y29kZSBhdmFpbGFibGUgdG8gQ2hyb21lIGJ1aWxkcyBvbiBEYXJ3aW4gdXNpbmcgU2tpYS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6aGFzaCk6IERpdHRvLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmg6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2x5
cGhCdWZmZXI6OmFkZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhCdWZmZXI6OmV4
cGFuZExhc3RBZHZhbmNlKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlRm9udERhdGEuaDogRGl0dG8uCisKIDIwMTEtMDQtMTIgIFNlcmdpbyBWaWxsYXIgU2VuaW4g
IDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmlu
c29uLgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAko
cmV2aXNpb24gODM1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9u
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJDYWNoZWRGb250LmgiCiAKLSNpZiBQTEFURk9STShDRykgfHwgUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiAoT1MoV0lO
RE9XUykgfHwgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8
IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVApCisjaWYg
UExBVEZPUk0oQ0cpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9S
TShDSFJPTUlVTSkgJiYgKE9TKFdJTkRPV1MpIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSB8
fCAoVVNFKFNLSUEpICYmIE9TKERBUldJTikpKSkgfHwgUExBVEZPUk0oSEFJS1UpIHx8IE9TKFdJ
TkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVApCiAjZGVmaW5lIFNU
T1JFX0ZPTlRfQ1VTVE9NX1BMQVRGT1JNX0RBVEEKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZp
c2lvbiA4MzU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0
Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtODQsNyArODQsNyBAQCB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBfX0NURm9udCogQ1RGb250UmVmCiB0eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9O
VDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgUExBVEZPUk0oQ0cpIHx8IChVU0Uo
U0tJQSkgJiYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCiB0eXBlZGVmIHN0cnVj
dCBDR0ZvbnQqIENHRm9udFJlZjsKICNpZiBPUyhEQVJXSU4pCiAjaWZuZGVmIEJVSUxESU5HX09O
X1RJR0VSCkBAIC0xNzksNiArMTc5LDcgQEAgcHVibGljOgogI2lmIE9TKERBUldJTikKICAgICBG
b250UGxhdGZvcm1EYXRhKE5TRm9udCosIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCA9
IGZhbHNlLCBib29sIHN5bnRoZXRpY09ibGlxdWUgPSBmYWxzZSwgRm9udE9yaWVudGF0aW9uID0g
SG9yaXpvbnRhbCwKICAgICAgICAgICAgICAgICAgICAgIFRleHRPcmllbnRhdGlvbiA9IFRleHRP
cmllbnRhdGlvblZlcnRpY2FsUmlnaHQsIEZvbnRXaWR0aFZhcmlhbnQgPSBSZWd1bGFyV2lkdGgp
OworI2lmIFBMQVRGT1JNKENHKSB8fCAoVVNFKFNLSUEpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkK
ICAgICBGb250UGxhdGZvcm1EYXRhKENHRm9udFJlZiBjZ0ZvbnQsIGZsb2F0IHNpemUsIGJvb2wg
c3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24gb3Jp
ZW50YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICBUZXh0T3JpZW50YXRpb24gdGV4dE9yaWVu
dGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCkKICAgICAgICAgOiBtX3N5bnRo
ZXRpY0JvbGQoc3ludGhldGljQm9sZCkKQEAgLTE5Myw2ICsxOTQsNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgIH0KICNlbmRpZgorI2VuZGlmCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoSEZPTlQsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50
aGV0aWNPYmxpcXVlLCBib29sIHVzZUdESSk7CiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0yMTMsNyAr
MjE1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rm9udChOU0ZvbnQqKTsKICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oQ0cpCisjaWYgUExBVEZPUk0oQ0cpIHx8IChVU0UoU0tJQSkgJiYgUExBVEZP
Uk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCiAjaWYgT1MoREFSV0lOKQogI2lmbmRlZiBCVUlM
RElOR19PTl9USUdFUgogICAgIENHRm9udFJlZiBjZ0ZvbnQoKSBjb25zdCB7IHJldHVybiBtX2Nn
Rm9udC5nZXQoKTsgfQpAQCAtMjUwLDcgKzI1Miw5IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShX
SU4pICYmICFQTEFURk9STShDQUlSTykKICAgICAgICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+
aGFzaCgpIDogMDsKICNlbGlmIE9TKERBUldJTikKKyNpZiBQTEFURk9STShDRykgfHwgKFVTRShT
S0lBKSAmJiBQTEFURk9STShDSFJPTUlVTSkpCiAgICAgICAgIEFTU0VSVChtX2ZvbnQgfHwgIW1f
Y2dGb250KTsKKyNlbmRpZgogICAgICAgICB1aW50cHRyX3QgaGFzaENvZGVzWzNdID0geyAodWlu
dHB0cl90KW1fZm9udCwgbV93aWR0aFZhcmlhbnQsIG1fdGV4dE9yaWVudGF0aW9uIDw8IDMgfCBt
X29yaWVudGF0aW9uIDw8IDIgfCBtX3N5bnRoZXRpY0JvbGQgPDwgMSB8IG1fc3ludGhldGljT2Js
aXF1ZSB9OwogICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZiho
YXNoQ29kZXMpPihoYXNoQ29kZXMpOwogI2VsaWYgUExBVEZPUk0oQ0FJUk8pCkBAIC0zMjQsNyAr
MzI4LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVmQ291bnRlZEdESUhhbmRsZTxIRk9OVD4g
PiBtX2ZvbnQ7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFBMQVRGT1JNKENHKSB8
fCAoVVNFKFNLSUEpICYmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQogI2lmIFBM
QVRGT1JNKFdJTikKICAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICNlbHNlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgJ
KHJldmlzaW9uIDgzNTg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5
cGhCdWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgPHd0
Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JN
KENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpCisjaWYgUExBVEZPUk0oQ0cpIHx8
IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgKFVTRShTS0lBKSAmJiBQTEFURk9STShD
SFJPTUlVTSkgJiYgT1MoREFSV0lOKSkKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0Fw
cGxpY2F0aW9uU2VydmljZXMuaD4KICNlbmRpZgogCkBAIC01OCw3ICs1OCw3IEBAIHR5cGVkZWYg
R2x5cGggR2x5cGhCdWZmZXJHbHlwaDsKIAogLy8gQ0cgdXNlcyBDR1NpemUgaW5zdGVhZCBvZiBG
bG9hdFNpemUgc28gdGhhdCB0aGUgcmVzdWx0IG9mIGFkdmFuY2VzKCkKIC8vIGNhbiBiZSBwYXNz
ZWQgZGlyZWN0bHkgdG8gQ0dDb250ZXh0U2hvd0dseXBoc1dpdGhBZHZhbmNlcyBpbiBGb250TWFj
Lm1tCi0jaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkKKyNp
ZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCAoVVNFKFNL
SUEpICYmIFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQogdHlwZWRlZiBDR1NpemUg
R2x5cGhCdWZmZXJBZHZhbmNlOwogI2VsaWYgT1MoV0lOQ0UpCiAvLyBUaGVyZSBpcyBubyBjcm9z
cy1wbGF0Zm9ybSBjb2RlIHRoYXQgdXNlcyB0aGUgaGVpZ2h0IG9mIEdseXBoQnVmZmVyQWR2YW5j
ZSwKQEAgLTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBhZHZhbmNlQXQoaW50
IGluZGV4KSBjb25zdAogICAgIHsKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAm
JiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JNKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERB
UldJTikpIHx8IChVU0UoU0tJQSkgJiYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikp
CiAgICAgICAgIHJldHVybiBtX2FkdmFuY2VzW2luZGV4XS53aWR0aDsKICNlbGlmIE9TKFdJTkNF
KQogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF07CkBAIC0xNTMsNyArMTUzLDcgQEAg
cHVibGljOgogICAgICAgICBtX2dseXBocy5hcHBlbmQoZ2x5cGgpOwogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JN
KENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERBUldJTikpIHx8IChVU0UoU0tJQSkgJiYgUExB
VEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCiAgICAgICAgIENHU2l6ZSBhZHZhbmNlID0g
eyB3aWR0aCwgMCB9OwogICAgICAgICBtX2FkdmFuY2VzLmFwcGVuZChhZHZhbmNlKTsKICNlbGlm
IE9TKFdJTkNFKQpAQCAtMTkyLDcgKzE5Miw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFT
U0VSVCghaXNFbXB0eSgpKTsKICAgICAgICAgR2x5cGhCdWZmZXJBZHZhbmNlJiBsYXN0QWR2YW5j
ZSA9IG1fYWR2YW5jZXMubGFzdCgpOwotI2lmIFBMQVRGT1JNKENHKSB8fCAoUExBVEZPUk0oV1gp
ICYmIE9TKERBUldJTikpCisjaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1Mo
REFSV0lOKSkgfHwgKFVTRShTS0lBKSAmJiBQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lO
KSkKICAgICAgICAgbGFzdEFkdmFuY2Uud2lkdGggKz0gd2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkK
ICAgICAgICAgbGFzdEFkdmFuY2UgKz0gd2lkdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHJldmlzaW9uIDgzNTg0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkod29y
a2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0IHNwYWNl
V2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3NwYWNlV2lkdGg7IH0KIAotI2lmIFBMQVRGT1JNKENH
KSB8fCBQTEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCisjaWYgUExBVEZPUk0oQ0cpIHx8
IFBMQVRGT1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwgKFVTRShTS0lBKSAmJiBQTEFURk9S
TShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKSkKICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNCb2xkT2Zmc2V0OyB9CiAjZW5kaWYKIApAQCAt
MjUyLDcgKzI1Miw3IEBAIHByaXZhdGU6CiAKICAgICBtdXRhYmxlIE93blB0cjxEZXJpdmVkRm9u
dERhdGE+IG1fZGVyaXZlZEZvbnREYXRhOwogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFBMQVRGT1JN
KENBSVJPKSB8fCBQTEFURk9STShXWCkKKyNpZiBQTEFURk9STShDRykgfHwgUExBVEZPUk0oQ0FJ
Uk8pIHx8IFBMQVRGT1JNKFdYKSB8fCAoVVNFKFNLSUEpICYmIFBMQVRGT1JNKENIUk9NSVVNKSAm
JiBPUyhEQVJXSU4pKQogICAgIGZsb2F0IG1fc3ludGhldGljQm9sZE9mZnNldDsKICNlbmRpZgog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89403</attachid>
            <date>2011-04-13 10:58:55 -0700</date>
            <delta_ts>2011-04-13 19:13:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58321-20110413135853.patch</filename>
            <type>text/plain</type>
            <size>7109</size>
            <attacher name="Cary Clark">caryclark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDQtMTIgIENhcnkgQ2xh
cmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBbGxvdyBDRyBGb250IHN1cHBvcnQgaW4gQ2hyb21lIERhcndp
biBidWlsZCB1c2luZyBTa2lhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01ODMyMQorICAgICAgICAKKyAgICAgICAgVGhpcyBhbGxvd3MgQ2hyb21lIHRv
IHVzZSBTa2lhIHRvIGRvIFdlYktpdCByZW5kZXJpbmcsIHdoaWxlCisgICAgICAgIHVzaW5nIENv
cmVHcmFwaGljcyBmb3IgZ2x5cGggY3JlYXRpb24gYW5kIGNvbXB1dGluZyBmb250IG1ldHJpY3Mu
CisgICAgICAgIEl0IHJlbGllcyBvbiBhbiB1bmRlZmluZWQgcGxhdGZvcm0gdG9rZW4sIFdURl9V
U0VfU0tJQV9PTl9NQUNfQ0hST01FLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBuZWVkZWQsIG5v
IGZ1bmN0aW9uYWxpdHkgY2hhbmdlLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZv
bnQuY3BwOiBNYWtlIENHRm9udFJlZiBmdW5jdGlvbnMgYW5kCisgICAgICAgIENHLXNwZWNpZmlj
IGZvbnQgY29kZSBhdmFpbGFibGUgdG8gQ2hyb21lIGJ1aWxkcyBvbiBEYXJ3aW4gdXNpbmcgU2tp
YS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6aGFzaCk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmg6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6R2x5cGhCdWZmZXI6OmFkZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhCdWZm
ZXI6OmV4cGFuZExhc3RBZHZhbmNlKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuaDogRGl0dG8uCisKIDIwMTEtMDQtMTIgIFNlcmdpbyBWaWxsYXIg
U2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGlu
IFJvYmluc29uLgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250
LmNwcAkocmV2aXNpb24gODM1ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkRm9udC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDYWNoZWRGb250LmgiCiAKLSNpZiBQTEFURk9STShDRykgfHwg
UExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiAo
T1MoV0lORE9XUykgfHwgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpKSkgfHwgUExBVEZPUk0oSEFJ
S1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVXTVAp
CisvLyBGSVhNRTogVGhpcyBzaG91bGQgcmVhbGx5IGJlIGEgYmxhY2tsaXN0IGluc3RlYWQgb2Yg
YSB3aGl0ZWxpc3QKKyNpZiBQTEFURk9STShDRykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KEdUSykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiAoT1MoV0lORE9XUykgfHwgT1MoTElOVVgp
IHx8IE9TKEZSRUVCU0QpIHx8IFVTRShTS0lBX01BQ19PTl9DSFJPTUUpKSkgfHwgUExBVEZPUk0o
SEFJS1UpIHx8IE9TKFdJTkNFKSB8fCBQTEFURk9STShBTkRST0lEKSB8fCBQTEFURk9STShCUkVX
TVApCiAjZGVmaW5lIFNUT1JFX0ZPTlRfQ1VTVE9NX1BMQVRGT1JNX0RBVEEKICNlbmRpZgogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRm
b3JtRGF0YS5oCShyZXZpc2lvbiA4MzU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtODQsNyArODQsNyBA
QCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NURm9udCogQ1RGb250UmVmCiB0eXBlZGVmIHN0cnVj
dCBIRk9OVF9fKiBIRk9OVDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgUExBVEZP
Uk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQq
IENHRm9udFJlZjsKICNpZiBPUyhEQVJXSU4pCiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCkBA
IC0xNzksNiArMTc5LDcgQEAgcHVibGljOgogI2lmIE9TKERBUldJTikKICAgICBGb250UGxhdGZv
cm1EYXRhKE5TRm9udCosIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCA9IGZhbHNlLCBi
b29sIHN5bnRoZXRpY09ibGlxdWUgPSBmYWxzZSwgRm9udE9yaWVudGF0aW9uID0gSG9yaXpvbnRh
bCwKICAgICAgICAgICAgICAgICAgICAgIFRleHRPcmllbnRhdGlvbiA9IFRleHRPcmllbnRhdGlv
blZlcnRpY2FsUmlnaHQsIEZvbnRXaWR0aFZhcmlhbnQgPSBSZWd1bGFyV2lkdGgpOworI2lmIFBM
QVRGT1JNKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgIEZvbnRQbGF0Zm9ybURh
dGEoQ0dGb250UmVmIGNnRm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29s
IHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwKICAgICAgICAg
ICAgICAgICAgICAgIFRleHRPcmllbnRhdGlvbiB0ZXh0T3JpZW50YXRpb24sIEZvbnRXaWR0aFZh
cmlhbnQgd2lkdGhWYXJpYW50KQogICAgICAgICA6IG1fc3ludGhldGljQm9sZChzeW50aGV0aWNC
b2xkKQpAQCAtMTkzLDYgKzE5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogI2VuZGlmCisj
ZW5kaWYKICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShIRk9OVCwgZmxv
YXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wg
dXNlR0RJKTsKICNpZiBQTEFURk9STShDRykKQEAgLTIxMyw3ICsyMTUsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRGb250KE5TRm9udCopOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykKKyNp
ZiBQTEFURk9STShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKICNpZiBPUyhEQVJXSU4p
CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0
IHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9CkBAIC0yNTAsNyArMjUyLDkgQEAgcHVibGljOgog
I2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKENBSVJPKQogICAgICAgICByZXR1cm4gbV9m
b250ID8gbV9mb250LT5oYXNoKCkgOiAwOwogI2VsaWYgT1MoREFSV0lOKQorI2lmIFBMQVRGT1JN
KENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgICAgICBBU1NFUlQobV9mb250IHx8
ICFtX2NnRm9udCk7CisjZW5kaWYKICAgICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1szXSA9IHsg
KHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lkdGhWYXJpYW50LCBtX3RleHRPcmllbnRhdGlvbiA8PCAz
IHwgbV9vcmllbnRhdGlvbiA8PCAyIHwgbV9zeW50aGV0aWNCb2xkIDw8IDEgfCBtX3N5bnRoZXRp
Y09ibGlxdWUgfTsKICAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXpl
b2YoaGFzaENvZGVzKT4oaGFzaENvZGVzKTsKICNlbGlmIFBMQVRGT1JNKENBSVJPKQpAQCAtMzI0
LDcgKzMyOCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlZkNvdW50ZWRHRElIYW5kbGU8SEZP
TlQ+ID4gbV9mb250OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBQTEFURk9STShD
RykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKICNpZiBQTEFURk9STShXSU4pCiAgICAgUmV0
YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCShyZXZpc2lvbiA4MzU4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdY
KSAmJiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JNKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9T
KERBUldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiAjaW5jbHVkZSA8QXBwbGljYXRp
b25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZW5kaWYKIApAQCAtNTgsNyArNTgs
NyBAQCB0eXBlZGVmIEdseXBoIEdseXBoQnVmZmVyR2x5cGg7CiAKIC8vIENHIHVzZXMgQ0dTaXpl
IGluc3RlYWQgb2YgRmxvYXRTaXplIHNvIHRoYXQgdGhlIHJlc3VsdCBvZiBhZHZhbmNlcygpCiAv
LyBjYW4gYmUgcGFzc2VkIGRpcmVjdGx5IHRvIENHQ29udGV4dFNob3dHbHlwaHNXaXRoQWR2YW5j
ZXMgaW4gRm9udE1hYy5tbQotI2lmIFBMQVRGT1JNKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9T
KERBUldJTikpCisjaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lO
KSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKIHR5cGVkZWYgQ0dTaXplIEdseXBoQnVmZmVy
QWR2YW5jZTsKICNlbGlmIE9TKFdJTkNFKQogLy8gVGhlcmUgaXMgbm8gY3Jvc3MtcGxhdGZvcm0g
Y29kZSB0aGF0IHVzZXMgdGhlIGhlaWdodCBvZiBHbHlwaEJ1ZmZlckFkdmFuY2UsCkBAIC0xMjIs
NyArMTIyLDcgQEAgcHVibGljOgogCiAgICAgZmxvYXQgYWR2YW5jZUF0KGludCBpbmRleCkgY29u
c3QKICAgICB7Ci0jaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lO
KSkKKyNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF0u
d2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgcmV0dXJuIG1fYWR2YW5jZXNbaW5kZXhd
OwpAQCAtMTUzLDcgKzE1Myw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9nbHlwaHMuYXBwZW5kKGds
eXBoKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1Mo
REFSV0lOKSkKKyNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4p
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgICAgICBDR1NpemUgYWR2YW5jZSA9IHsg
d2lkdGgsIDAgfTsKICAgICAgICAgbV9hZHZhbmNlcy5hcHBlbmQoYWR2YW5jZSk7CiAjZWxpZiBP
UyhXSU5DRSkKQEAgLTE5Miw3ICsxOTIsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NF
UlQoIWlzRW1wdHkoKSk7CiAgICAgICAgIEdseXBoQnVmZmVyQWR2YW5jZSYgbGFzdEFkdmFuY2Ug
PSBtX2FkdmFuY2VzLmxhc3QoKTsKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAm
JiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JNKENHKSB8fCAoUExBVEZPUk0oV1gpICYmIE9TKERB
UldJTikpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiAgICAgICAgIGxhc3RBZHZhbmNlLndp
ZHRoICs9IHdpZHRoOwogI2VsaWYgT1MoV0lOQ0UpCiAgICAgICAgIGxhc3RBZHZhbmNlICs9IHdp
ZHRoOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oCShyZXZpc2lvbiA4MzU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNSw3ICsxMTUs
NyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9z
cGFjZVdpZHRoOyB9CiAKLSNpZiBQTEFURk9STShDRykgfHwgUExBVEZPUk0oQ0FJUk8pIHx8IFBM
QVRGT1JNKFdYKQorI2lmIFBMQVRGT1JNKENHKSB8fCBQTEFURk9STShDQUlSTykgfHwgUExBVEZP
Uk0oV1gpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiAgICAgZmxvYXQgc3ludGhldGljQm9s
ZE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQogI2VuZGlm
CiAKQEAgLTI1Miw3ICsyNTIsNyBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJsZSBPd25QdHI8RGVy
aXZlZEZvbnREYXRhPiBtX2Rlcml2ZWRGb250RGF0YTsKIAotI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCisjaWYgUExBVEZPUk0oQ0cpIHx8IFBMQVRG
T1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKICAg
ICBmbG9hdCBtX3N5bnRoZXRpY0JvbGRPZmZzZXQ7CiAjZW5kaWYKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>