<?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>97696</bug_id>
          
          <creation_ts>2012-09-26 10:29:15 -0700</creation_ts>
          <short_desc>[Chromium][Win] Remove ensureFontLoaded from PlatformSupport</short_desc>
          <delta_ts>2012-11-28 14:36:30 -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>WebKit Misc.</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>97723</dependson>
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728713</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-09-26 10:29:15 -0700</bug_when>
    <thetext>[Chromium][Win] Remove ensureFontLoaded from PlatformSupport</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728714</commentid>
    <comment_count>1</comment_count>
      <attachid>165828</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-09-26 10:29:53 -0700</bug_when>
    <thetext>Created attachment 165828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728719</commentid>
    <comment_count>2</comment_count>
      <attachid>165828</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-26 10:34:10 -0700</bug_when>
    <thetext>Comment on attachment 165828
Patch

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

&gt; Source/WebCore/platform/graphics/skia/SkiaFontWin.cpp:44
&gt;  

No need for this blank line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728767</commentid>
    <comment_count>3</comment_count>
      <attachid>165828</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 11:13:45 -0700</bug_when>
    <thetext>Comment on attachment 165828
Patch

Clearing flags on attachment: 165828

Committed r129673: &lt;http://trac.webkit.org/changeset/129673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728768</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 11:13:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728920</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 13:26:25 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 97723</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770852</commentid>
    <comment_count>6</comment_count>
      <attachid>175004</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-19 10:38:07 -0800</bug_when>
    <thetext>Created attachment 175004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770958</commentid>
    <comment_count>7</comment_count>
      <attachid>175004</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-11-19 12:50:32 -0800</bug_when>
    <thetext>Comment on attachment 175004
Patch

What was the build breakage last time and how does this avoid it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770959</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-19 12:55:16 -0800</bug_when>
    <thetext>The previous patch missed all the calling references in WebCore/platform/chromium/. (Still not sure why that passed EWS, but anyway... this patch includes them.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770960</commentid>
    <comment_count>9</comment_count>
      <attachid>175004</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 12:55:34 -0800</bug_when>
    <thetext>Comment on attachment 175004
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:-64
&gt; -        if (PlatformSupport::ensureFontLoaded(m_platformData.hfont())) {

I wonder if we should provide this helper function in WebCore somewhere rather than inlining it everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770966</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-11-19 12:58:41 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; The previous patch missed all the calling references in WebCore/platform/chromium/. (Still not sure why that passed EWS, but anyway... this patch includes them.)

We don&apos;t have any EWS coverage for the chromium-win build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772085</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-20 12:22:19 -0800</bug_when>
    <thetext>Is this ready for an r+ or r-?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772100</commentid>
    <comment_count>12</comment_count>
      <attachid>175004</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 12:54:54 -0800</bug_when>
    <thetext>Comment on attachment 175004
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:-64
&gt;&gt; -        if (PlatformSupport::ensureFontLoaded(m_platformData.hfont())) {
&gt; 
&gt; I wonder if we should provide this helper function in WebCore somewhere rather than inlining it everywhere.

IMHO, we should add this helper function.  Otherwise, we&apos;re making all these call sites much more verbose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778051</commentid>
    <comment_count>13</comment_count>
      <attachid>176516</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-28 10:40:42 -0800</bug_when>
    <thetext>Created attachment 176516
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778288</commentid>
    <comment_count>14</comment_count>
      <attachid>176564</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-28 13:41:50 -0800</bug_when>
    <thetext>Created attachment 176564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778289</commentid>
    <comment_count>15</comment_count>
      <attachid>176564</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-28 13:42:20 -0800</bug_when>
    <thetext>Comment on attachment 176564
Patch

Fixed a typo. Ready for review now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778317</commentid>
    <comment_count>16</comment_count>
      <attachid>176564</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-28 14:03:35 -0800</bug_when>
    <thetext>Comment on attachment 176564
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:178
&gt; -                if (PlatformSupport::ensureFontLoaded(hfont())) {
&gt; +                if (FontPlatformData::ensureFontLoaded(hfont())) {

No need for the FontPlatformData:: prefix here.  We&apos;re already inside FontPlatformData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778351</commentid>
    <comment_count>17</comment_count>
      <attachid>176564</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 14:36:25 -0800</bug_when>
    <thetext>Comment on attachment 176564
Patch

Clearing flags on attachment: 176564

Committed r136057: &lt;http://trac.webkit.org/changeset/136057&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778352</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 14:36:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165828</attachid>
            <date>2012-09-26 10:29:53 -0700</date>
            <delta_ts>2012-11-19 10:38:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97696-20120926132906.patch</filename>
            <type>text/plain</type>
            <size>4626</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyOTY2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA5LTI2ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIGVuc3VyZUZvbnRMb2FkZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3Njk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5n
IHNlcmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oOgorICAgICAgICAoUGxhdGZvcm1TdXBwb3J0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFGb250V2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnBhaW50U2tpYVRleHQpOgorCiAyMDEyLTA5LTI2ICBNaWNoYWVsIFNhYm9mZiAg
PG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBDb21wbGV4VGV4dENvbnRyb2xs
ZXIgZm9yIDggYml0IFRleHRSdW4gY2hhbmdlcwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHJldmlzaW9uIDEyOTY2MikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksNiBAQCB0eXBlZGVmIHN0cnVjdCBOUE9iamVjdCBO
UE9iamVjdDsKIHR5cGVkZWYgc3RydWN0IF9OUFAgTlBQX3Q7CiB0eXBlZGVmIE5QUF90KiBOUFA7
CiAKLSNpZiBPUyhXSU5ET1dTKQotdHlwZWRlZiBzdHJ1Y3QgSEZPTlRfXyogSEZPTlQ7Ci0jZW5k
aWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb2xvcjsKQEAgLTg2LDExICs4Miw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZWxldGVDb29raWUoY29uc3QgRG9jdW1lbnQq
LCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBjb29raWVOYW1lKTsKICAgICBzdGF0aWMgYm9v
bCBjb29raWVzRW5hYmxlZChjb25zdCBEb2N1bWVudCopOwogCi0gICAgLy8gRm9udCAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LSNpZiBPUyhXSU5ET1dTKQotICAgIHN0YXRpYyBib29sIGVuc3VyZUZvbnRMb2FkZWQoSEZPTlQp
OwotI2VuZGlmCi0KICAgICAvLyBJbmRleGVkREIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBpZGJGYWN0b3J5KCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3Bw
CShyZXZpc2lvbiAxMjk2NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL1NraWFGb250V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogI2lu
Y2x1ZGUgIkdyYWRpZW50LmgiCiAjaW5jbHVkZSAiUGF0dGVybi5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtQ29udGV4dFNraWEuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNsdWRl
ICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUgIlNrQ2FudmFzLmgiCiAjaW5jbHVkZSAiU2tE
ZXZpY2UuaCIKQEAgLTQzLDYgKzQyLDkgQEAKICNpbmNsdWRlICJTa1NoYWRlci5oIgogI2luY2x1
ZGUgIlNrVGVtcGxhdGVzLmgiCiAKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNs
dWRlIDxwdWJsaWMvd2luL1dlYlNhbmRib3hTdXBwb3J0Lmg+CisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogI2lmICFVU0UoU0tJQV9URVhUKQpAQCAtMjIxLDggKzIyMywxNCBAQCBzdGF0aWMgdm9p
ZCBwYWludFNraWFUZXh0KEdyYXBoaWNzQ29udGV4CiAgICAgU2tDYW52YXMqIGNhbnZhcyA9IHBs
YXRmb3JtQ29udGV4dC0+Y2FudmFzKCk7CiAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgdGV4dE1v
ZGUgPSBwbGF0Zm9ybUNvbnRleHQtPmdldFRleHREcmF3aW5nTW9kZSgpOwogICAgIC8vIEVuc3Vy
ZSBmb250IGxvYWQgZm9yIHByaW50aW5nLCBiZWNhdXNlIFBERiBkZXZpY2UgbmVlZHMgaXQuCi0g
ICAgaWYgKGNhbnZhcy0+Z2V0VG9wRGV2aWNlKCktPmdldERldmljZUNhcGFiaWxpdGllcygpICYg
U2tEZXZpY2U6OmtWZWN0b3JfQ2FwYWJpbGl0eSkKLSAgICAgICAgUGxhdGZvcm1TdXBwb3J0Ojpl
bnN1cmVGb250TG9hZGVkKGhmb250KTsKKyAgICBpZiAoY2FudmFzLT5nZXRUb3BEZXZpY2UoKS0+
Z2V0RGV2aWNlQ2FwYWJpbGl0aWVzKCkgJiBTa0RldmljZTo6a1ZlY3Rvcl9DYXBhYmlsaXR5KSB7
CisgICAgICAgIFdlYktpdDo6V2ViU2FuZGJveFN1cHBvcnQqIHNhbmRib3hTdXBwb3J0ID0gV2Vi
S2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5zYW5kYm94U3VwcG9ydCgpOworCisgICAgICAgIC8v
IGlmIHRoZXJlIGlzIG5vIHNhbmRib3gsIHRoZW4gd2UgY2FuIGFzc3VtZSB0aGUgZm9udAorICAg
ICAgICAvLyB3YXMgYWJsZSB0byBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5IGFscmVhZHkKKyAgICAg
ICAgaWYgKHNhbmRib3hTdXBwb3J0KQorICAgICAgICAgICAgc2FuZGJveFN1cHBvcnQtPmVuc3Vy
ZUZvbnRMb2FkZWQoZm9udCk7CisgICAgfQogCiAgICAgLy8gRmlsbGluZyAoaWYgbmVjZXNzYXJ5
KS4gVGhpcyBpcyB0aGUgY29tbW9uIGNhc2UuCiAgICAgU2tQYWludCBwYWludDsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjk2NjYpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEy
LTA5LTI2ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBb
Q2hyb21pdW1dW1dpbl0gUmVtb3ZlIGVuc3VyZUZvbnRMb2FkZWQgZnJvbSBQbGF0Zm9ybVN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3Njk2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBv
ZiBhIHJlZmFjdG9yaW5nIHNlcmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAg
ICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1T
dXBwb3J0OjplbnN1cmVGb250TG9hZGVkKToKKwogMjAxMi0wOS0yNiAgTGVhbmRybyBHcmFjaWEg
R2lsICA8bGVhbmRyb2dyYWNpYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBG
aXggZmluZC1pbi1wYWdlIGNvcm5lciBjYXNlIGZvciBkZXRhY2hlZCBmcmFtZXMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNp
b24gMTI5NjYyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA5LDExICsyMDksNiBAQCBib29sIFBsYXRmb3JtU3Vw
cG9ydDo6Y29va2llc0VuYWJsZWQoY29uCiAjaWYgT1MoV0lORE9XUykKIGJvb2wgUGxhdGZvcm1T
dXBwb3J0OjplbnN1cmVGb250TG9hZGVkKEhGT05UIGZvbnQpCiB7Ci0gICAgV2ViU2FuZGJveFN1
cHBvcnQqIHNzID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5zYW5kYm94U3VwcG9ydCgp
OwotCi0gICAgLy8gaWYgdGhlcmUgaXMgbm8gc2FuZGJveCwgdGhlbiB3ZSBjYW4gYXNzdW1lIHRo
ZSBmb250Ci0gICAgLy8gd2FzIGFibGUgdG8gYmUgbG9hZGVkIHN1Y2Nlc3NmdWxseSBhbHJlYWR5
Ci0gICAgcmV0dXJuIHNzID8gc3MtPmVuc3VyZUZvbnRMb2FkZWQoZm9udCkgOiB0cnVlOwogfQog
I2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175004</attachid>
            <date>2012-11-19 10:38:07 -0800</date>
            <delta_ts>2012-11-28 10:40:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97696-20121119133536.patch</filename>
            <type>text/plain</type>
            <size>16711</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTE3NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTExLTE5ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIGVuc3VyZUZvbnRMb2FkZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3Njk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGVuc3VyZUZvbnRMb2Fk
ZWQoKSBmcm9tIFBsYXRmb3JtU3VwcG9ydCBhbmQgY2FsbCBpdAorICAgICAgICBkaXJlY3RseSBp
bnN0ZWFkLiBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzOyBzZWUgdHJhY2tpbmcgYnVnIDgy
OTQ4LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6Cisg
ICAgICAgIChQbGF0Zm9ybVN1cHBvcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZvbnRD
b250YWluc0NoYXJhY3Rlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Rm9udENocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRyYXdHbHlwaHNXaW4pOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJv
bWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpzY3JpcHRG
b250UHJvcGVydGllcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR2x5
cGhQYWdlVHJlZU5vZGVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRHbHlw
aEluZGljZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbEJNUEdseXBocyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpkZXRlcm1pbmVQaXRjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1XaWR0aEZvckdseXBoKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVuaXNjcmliZUhlbHBlclRleHRSdW46OnRyeVRvUHJlbG9h
ZEZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa2lhVGV4dCk6CisKIDIwMTItMTEtMTkgIEVyaWsg
QXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVcGRhdGUgRE9NRXhjZXB0
aW9uIG5hbWU6IEludmFsaWROb2RlVHlwZUVycm9yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTM1MTQx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0OSw2IEBAIHR5cGVkZWYgc3RydWN0IE5QT2JqZWN0
IE5QT2JqZWN0OwogdHlwZWRlZiBzdHJ1Y3QgX05QUCBOUFBfdDsKIHR5cGVkZWYgTlBQX3QqIE5Q
UDsKIAotI2lmIE9TKFdJTkRPV1MpCi10eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9OVDsKLSNl
bmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbG9yOwpAQCAtNzcsMTEgKzcz
LDYgQEAgc3RydWN0IEZvbnRSZW5kZXJTdHlsZTsKIAogY2xhc3MgUGxhdGZvcm1TdXBwb3J0IHsK
IHB1YmxpYzoKLSAgICAvLyBGb250IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotI2lmIE9TKFdJTkRPV1MpCi0gICAgc3RhdGlj
IGJvb2wgZW5zdXJlRm9udExvYWRlZChIRk9OVCk7Ci0jZW5kaWYKLQogICAgIC8vIEluZGV4ZWRE
QiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U+IGlk
YkZhY3RvcnkoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRm9udENhY2hlQ2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcAko
cmV2aXNpb24gMTM1MTQxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRm9udENhY2hlQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICsz
Niw5IEBACiAjaW5jbHVkZSAiRm9udFV0aWxzQ2hyb21pdW1XaW4uaCIKICNpbmNsdWRlICJIV25k
REMuaCIKICNpbmNsdWRlICJMYXlvdXRUZXN0U3VwcG9ydC5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
U3VwcG9ydC5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCisjaW5jbHVkZSA8cHVibGlj
L1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8cHVibGljL3dpbi9XZWJTYW5kYm94U3VwcG9ydC5oPgog
I2luY2x1ZGUgPHVuaWNvZGUvdW5pc2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtMjgzLDggKzI4NCwxNCBAQCBzdGF0aWMgYm9vbCBm
b250Q29udGFpbnNDaGFyYWN0ZXIoY29uc3QKICAgICBIV25kREMgaGRjKDApOwogICAgIEhHRElP
Qkogb2xkRm9udCA9IHN0YXRpY19jYXN0PEhGT05UPihTZWxlY3RPYmplY3QoaGRjLCBoZm9udCkp
OwogICAgIGludCBjb3VudCA9IEdldEZvbnRVbmljb2RlUmFuZ2VzKGhkYywgMCk7Ci0gICAgaWYg
KCFjb3VudCAmJiBQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQoaGZvbnQpKQotICAg
ICAgICBjb3VudCA9IEdldEZvbnRVbmljb2RlUmFuZ2VzKGhkYywgMCk7CisgICAgaWYgKCFjb3Vu
dCkgeworICAgICAgICBib29sIGZvbnRMb2FkZWQgPSB0cnVlOworICAgICAgICBXZWJLaXQ6Oldl
YlNhbmRib3hTdXBwb3J0KiBzYW5kYm94U3VwcG9ydCA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJl
bnQoKS0+c2FuZGJveFN1cHBvcnQoKTsKKyAgICAgICAgaWYgKHNhbmRib3hTdXBwb3J0KQorICAg
ICAgICAgICAgZm9udExvYWRlZCA9IHNhbmRib3hTdXBwb3J0LT5lbnN1cmVGb250TG9hZGVkKGhm
b250KTsKKyAgICAgICAgaWYgKGZvbnRMb2FkZWQpCisgICAgICAgICAgICBjb3VudCA9IEdldEZv
bnRVbmljb2RlUmFuZ2VzKGhkYywgMCk7CisgICAgfQogICAgIGlmICghY291bnQpIHsKICAgICAg
ICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gZ2V0IHRoZSBmb250IHVuaWNvZGUgcmFuZ2UgYWZ0ZXIg
c2Vjb25kIGF0dGVtcHQiKTsKICAgICAgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xkRm9udCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21p
dW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNTE0MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250RmFsbGJhY2tM
aXN0LmgiCiAjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29u
dGV4dFNraWEuaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUgIlNraWFG
b250V2luLmgiCkBAIC00Niw2ICs0NSw4IEBACiAjaW5jbHVkZSAic2tpYS9leHQvc2tpYV91dGls
c193aW4uaCIKICNlbmRpZgogCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVk
ZSA8cHVibGljL3dpbi9XZWJTYW5kYm94U3VwcG9ydC5oPgogI2luY2x1ZGUgPHdpbmRvd3MuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTUyNyw3ICs1MjgsOSBAQCBzdGF0aWMgdm9pZCBk
cmF3R2x5cGhzV2luKEdyYXBoaWNzQ29udGV4CiAgICAgICAgICAgICBzdWNjZXNzID0gcGFpbnRl
ci5kcmF3R2x5cGhzKGN1ckxlbiwgJmdseXBoc1swXSwgJmFkdmFuY2VzWzBdLCBob3Jpem9udGFs
T2Zmc2V0IC0gcG9pbnQueCgpIC0gY3VycmVudFdpZHRoKTsKICAgICAgICAgICAgIGlmICghc3Vj
Y2VzcyAmJiAhZXhlY3V0aW9ucykgewogICAgICAgICAgICAgICAgIC8vIEFzayB0aGUgYnJvd3Nl
ciB0byBsb2FkIHRoZSBmb250IGZvciB1cyBhbmQgcmV0cnkuCi0gICAgICAgICAgICAgICAgUGxh
dGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKGZvbnQtPnBsYXRmb3JtRGF0YSgpLmhmb250
KCkpOworICAgICAgICAgICAgICAgIFdlYktpdDo6V2ViU2FuZGJveFN1cHBvcnQqIHNhbmRib3hT
dXBwb3J0ID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5zYW5kYm94U3VwcG9ydCgpOwor
ICAgICAgICAgICAgICAgIGlmIChzYW5kYm94U3VwcG9ydCkKKyAgICAgICAgICAgICAgICAgICAg
Zm9udExvYWRlZCA9IHNhbmRib3hTdXBwb3J0LT5lbnN1cmVGb250TG9hZGVkKGZvbnQtPnBsYXRm
b3JtRGF0YSgpLmhmb250KCkpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0
Zm9ybURhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNTE0MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCwxMyBAQAogCiAjaW5jbHVkZSAiRm9u
dENhY2hlLmgiCiAjaW5jbHVkZSAiSFduZERDLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0
LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2tUeXBlZmFjZV93aW4u
aCIKICNpbmNsdWRlICJTa2lhRm9udFdpbi5oIgotCiAjaW5jbHVkZSA8bWxhbmcuaD4KICNpbmNs
dWRlIDxvYmppZGwuaD4KKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxw
dWJsaWMvd2luL1dlYlNhbmRib3hTdXBwb3J0Lmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTc1LDcgKzE3NSwxMSBAQCBTQ1JJUFRf
Rk9OVFBST1BFUlRJRVMqIEZvbnRQbGF0Zm9ybURhdGE6CiAgICAgICAgICAgICBIUkVTVUxUIGhy
ID0gU2NyaXB0R2V0Rm9udFByb3BlcnRpZXMoZGMsIHNjcmlwdENhY2hlKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zY3JpcHRGb250UHJvcGVy
dGllcyk7CiAgICAgICAgICAgICBpZiAoU19PSyAhPSBocikgewotICAgICAgICAgICAgICAgIGlm
IChQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQoaGZvbnQoKSkpIHsKKyAgICAgICAg
ICAgICAgICBib29sIGZvbnRMb2FkZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIFdlYktpdDo6
V2ViU2FuZGJveFN1cHBvcnQqIHNhbmRib3hTdXBwb3J0ID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3Vy
cmVudCgpLT5zYW5kYm94U3VwcG9ydCgpOworICAgICAgICAgICAgICAgIGlmIChzYW5kYm94U3Vw
cG9ydCkKKyAgICAgICAgICAgICAgICAgICAgZm9udExvYWRlZCA9IHNhbmRib3hTdXBwb3J0LT5l
bnN1cmVGb250TG9hZGVkKGhmb250KCkpOworICAgICAgICAgICAgICAgIGlmIChmb250TG9hZGVk
KSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUg
ZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAgICAgICAgIGhyID0g
U2NyaXB0R2V0Rm9udFByb3BlcnRpZXMoZGMsIHNjcmlwdENhY2hlKCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zY3JpcHRGb250UHJvcGVydGll
cyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HbHlw
aFBhZ2VUcmVlTm9kZUNocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HbHlwaFBhZ2VUcmVlTm9kZUNocm9taXVtV2lu
LmNwcAkocmV2aXNpb24gMTM1MTQxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR2x5cGhQYWdlVHJlZU5vZGVDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDEwICszNSwxMSBAQAogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJHbHlw
aFBhZ2VUcmVlTm9kZS5oIgogI2luY2x1ZGUgIkhXbmREQy5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
U3VwcG9ydC5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiU3lzdGVt
SW5mby5oIgogI2luY2x1ZGUgIlVuaXNjcmliZUhlbHBlclRleHRSdW4uaCIKKyNpbmNsdWRlIDxw
dWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvd2luL1dlYlNhbmRib3hTdXBwb3J0
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTYsNyArNTcsMTEgQEAgc3RhdGljIGJv
b2wgZ2V0R2x5cGhJbmRpY2VzKEhGT05UIGZvbnQsCiB7CiAgICAgaWYgKEdldEdseXBoSW5kaWNl
cyhkYywgY2hhcmFjdGVycywgY2hhcmFjdGVyc0xlbmd0aCwgZ2x5cGhCdWZmZXIsIGZsYWcpICE9
IEdESV9FUlJPUikKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKFBsYXRmb3JtU3VwcG9y
dDo6ZW5zdXJlRm9udExvYWRlZChmb250KSkgeworICAgIGJvb2wgZm9udExvYWRlZCA9IHRydWU7
CisgICAgV2ViS2l0OjpXZWJTYW5kYm94U3VwcG9ydCogc2FuZGJveFN1cHBvcnQgPSBXZWJLaXQ6
OlBsYXRmb3JtOjpjdXJyZW50KCktPnNhbmRib3hTdXBwb3J0KCk7CisgICAgaWYgKHNhbmRib3hT
dXBwb3J0KQorICAgICAgICBmb250TG9hZGVkID0gc2FuZGJveFN1cHBvcnQtPmVuc3VyZUZvbnRM
b2FkZWQoZm9udCk7CisgICAgaWYgKGZvbnRMb2FkZWQpIHsKICAgICAgICAgaWYgKEdldEdseXBo
SW5kaWNlcyhkYywgY2hhcmFjdGVycywgY2hhcmFjdGVyc0xlbmd0aCwgZ2x5cGhCdWZmZXIsIGZs
YWcpICE9IEdESV9FUlJPUikKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAvLyBG
SVhNRTogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGVycm9yIGlmIHRoaXMgY2FsbCBhbHNvIGZhaWxz
LgpAQCAtODgsNyArOTMsMTEgQEAgc3RhdGljIGJvb2wgZmlsbEJNUEdseXBocyh1bnNpZ25lZCBv
ZmZzZQogCiAgICAgVEVYVE1FVFJJQyB0bSA9IHswfTsKICAgICBpZiAoIUdldFRleHRNZXRyaWNz
KGRjLCAmdG0pKSB7Ci0gICAgICAgIGlmIChQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2Fk
ZWQoZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkpKSB7CisgICAgICAgIGJvb2wgZm9u
dExvYWRlZCA9IHRydWU7CisgICAgICAgIFdlYktpdDo6V2ViU2FuZGJveFN1cHBvcnQqIHNhbmRi
b3hTdXBwb3J0ID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5zYW5kYm94U3VwcG9ydCgp
OworICAgICAgICBpZiAoc2FuZGJveFN1cHBvcnQpCisgICAgICAgICAgICBmb250TG9hZGVkID0g
c2FuZGJveFN1cHBvcnQtPmVuc3VyZUZvbnRMb2FkZWQoZm9udERhdGEtPnBsYXRmb3JtRGF0YSgp
Lmhmb250KCkpOworICAgICAgICBpZiAoZm9udExvYWRlZCkgewogICAgICAgICAgICAgaWYgKCFH
ZXRUZXh0TWV0cmljcyhkYywgJnRtKSkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5k
bGUgZ3JhY2VmdWxseSB0aGUgZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAg
ICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNjQwMQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNTE0MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hy
b21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMyArMzcsMTMgQEAKICNpbmNsdWRl
ICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJI
V25kREMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKLSNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgotCisjaW5jbHVkZSA8bWxhbmcuaD4KKyNpbmNsdWRlIDxvYmppZGwuaD4KKyNp
bmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvd2luL1dlYlNhbmRi
b3hTdXBwb3J0Lmg+CiAjaW5jbHVkZSA8dW5pY29kZS91Y2hhci5oPgogI2luY2x1ZGUgPHVuaWNv
ZGUvdW5vcm0uaD4KLSNpbmNsdWRlIDxvYmppZGwuaD4KLSNpbmNsdWRlIDxtbGFuZy5oPgorI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEs
NyArNjEsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIAogICAgIFRF
WFRNRVRSSUMgdGV4dE1ldHJpYyA9IHswfTsKICAgICBpZiAoIUdldFRleHRNZXRyaWNzKGRjLCAm
dGV4dE1ldHJpYykpIHsKLSAgICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExv
YWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgeworICAgICAgICBib29sIGZvbnRMb2FkZWQg
PSB0cnVlOworICAgICAgICBXZWJLaXQ6OldlYlNhbmRib3hTdXBwb3J0KiBzYW5kYm94U3VwcG9y
dCA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBvcnQoKTsKKyAgICAg
ICAgaWYgKHNhbmRib3hTdXBwb3J0KQorICAgICAgICAgICAgZm9udExvYWRlZCA9IHNhbmRib3hT
dXBwb3J0LT5lbnN1cmVGb250TG9hZGVkKG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOworICAgICAg
ICBpZiAoZm9udExvYWRlZCkgewogICAgICAgICAgICAgLy8gUmV0cnkgR2V0VGV4dE1ldHJpY3Mu
CiAgICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGVycm9yIGlmIHRo
aXMgY2FsbCBhbHNvIGZhaWxzLgogICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20v
NjQwMS4KQEAgLTEzNiw3ICsxNDAsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6ZGV0ZXJtaW5l
UGl0Y2goKQogICAgIC8vIGlzICpub3QqIGZpeGVkIHBpdGNoLiAgVW5iZWxpZXZhYmxlIGJ1dCB0
cnVlLgogICAgIFRFWFRNRVRSSUMgdGV4dE1ldHJpYyA9IHswfTsKICAgICBpZiAoIUdldFRleHRN
ZXRyaWNzKGRjLCAmdGV4dE1ldHJpYykpIHsKLSAgICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydDo6
ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgeworICAgICAgICBib29s
IGZvbnRMb2FkZWQgPSB0cnVlOworICAgICAgICBXZWJLaXQ6OldlYlNhbmRib3hTdXBwb3J0KiBz
YW5kYm94U3VwcG9ydCA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBv
cnQoKTsKKyAgICAgICAgaWYgKHNhbmRib3hTdXBwb3J0KQorICAgICAgICAgICAgZm9udExvYWRl
ZCA9IHNhbmRib3hTdXBwb3J0LT5lbnN1cmVGb250TG9hZGVkKG1fcGxhdGZvcm1EYXRhLmhmb250
KCkpOworICAgICAgICBpZiAoZm9udExvYWRlZCkgewogICAgICAgICAgICAgLy8gUmV0cnkgR2V0
VGV4dE1ldHJpY3MuCiAgICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIGdyYWNlZnVsbHkgdGhl
IGVycm9yIGlmIHRoaXMgY2FsbCBhbHNvIGZhaWxzLgogICAgICAgICAgICAgLy8gU2VlIGh0dHA6
Ly9jcmJ1Zy5jb20vNjQwMS4KQEAgLTE1OSw3ICsxNjcsMTEgQEAgRmxvYXRSZWN0IFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUJvdW5kcwogICAgIEdMWVBITUVUUklDUyBnZGlNZXRyaWNzOwogICAg
IHN0YXRpYyBjb25zdCBNQVQyIGlkZW50aXR5ID0geyAwLCAxLCAgMCwgMCwgIDAsIDAsICAwLCAx
IH07CiAgICAgaWYgKEdldEdseXBoT3V0bGluZShoZGMsIGdseXBoLCBHR09fTUVUUklDUyB8IEdH
T19HTFlQSF9JTkRFWCwgJmdkaU1ldHJpY3MsIDAsIDAsICZpZGVudGl0eSkgPT0gLTEpIHsKLSAg
ICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0
YS5oZm9udCgpKSkgeworICAgICAgICBib29sIGZvbnRMb2FkZWQgPSB0cnVlOworICAgICAgICBX
ZWJLaXQ6OldlYlNhbmRib3hTdXBwb3J0KiBzYW5kYm94U3VwcG9ydCA9IFdlYktpdDo6UGxhdGZv
cm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBvcnQoKTsKKyAgICAgICAgaWYgKHNhbmRib3hTdXBw
b3J0KQorICAgICAgICAgICAgZm9udExvYWRlZCA9IHNhbmRib3hTdXBwb3J0LT5lbnN1cmVGb250
TG9hZGVkKG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOworICAgICAgICBpZiAoZm9udExvYWRlZCkg
ewogICAgICAgICAgICAgLy8gUmV0cnkgR2V0VGV4dE1ldHJpY3MuCiAgICAgICAgICAgICAvLyBG
SVhNRTogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGVycm9yIGlmIHRoaXMgY2FsbCBhbHNvIGZhaWxz
LgogICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNjQwMS4KQEAgLTE4NSw3ICsx
OTcsMTEgQEAgZmxvYXQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtV2lkdGhGb3JHbAogICAgIGlu
dCB3aWR0aCA9IDA7CiAgICAgaWYgKCFHZXRDaGFyV2lkdGhJKGRjLCBnbHlwaCwgMSwgMCwgJndp
ZHRoKSkgewogICAgICAgICAvLyBBc2sgdGhlIGJyb3dzZXIgdG8gcHJlbG9hZCB0aGUgZm9udCBh
bmQgcmV0cnkuCi0gICAgICAgIGlmIChQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQo
bV9wbGF0Zm9ybURhdGEuaGZvbnQoKSkpIHsKKyAgICAgICAgYm9vbCBmb250TG9hZGVkID0gdHJ1
ZTsKKyAgICAgICAgV2ViS2l0OjpXZWJTYW5kYm94U3VwcG9ydCogc2FuZGJveFN1cHBvcnQgPSBX
ZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnNhbmRib3hTdXBwb3J0KCk7CisgICAgICAgIGlm
IChzYW5kYm94U3VwcG9ydCkKKyAgICAgICAgICAgIGZvbnRMb2FkZWQgPSBzYW5kYm94U3VwcG9y
dC0+ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKTsKKyAgICAgICAgaWYg
KGZvbnRMb2FkZWQpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0
aGUgZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAvLyBTZWUgaHR0
cDovL2NyYnVnLmNvbS82NDAxLgogICAgICAgICAgICAgaWYgKCFHZXRDaGFyV2lkdGhJKGRjLCBn
bHlwaCwgMSwgMCwgJndpZHRoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRl
eHRSdW4uY3BwCShyZXZpc2lvbiAxMzUxNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIsOSArMzIsMTAgQEAKICNpbmNsdWRlICJVbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmgi
CiAKICNpbmNsdWRlICJGb250LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5j
bHVkZSAiU2ltcGxlRm9udERhdGEuaCIKICNpbmNsdWRlICJUZXh0UnVuLmgiCisjaW5jbHVkZSA8
cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8cHVibGljL3dpbi9XZWJTYW5kYm94U3VwcG9y
dC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgyLDcgKzgzLDkgQEAgdm9pZCBVbmlz
Y3JpYmVIZWxwZXJUZXh0UnVuOjp0cnlUb1ByZWxvYQogICAgIC8vIEFzayB0aGUgYnJvd3NlciB0
byBnZXQgdGhlIGZvbnQgbWV0cmljcyBmb3IgdGhpcyBmb250LgogICAgIC8vIFRoYXQgd2lsbCBw
cmVsb2FkIHRoZSBmb250IGFuZCBpdCBzaG91bGQgbm93IGJlIGFjY2Vzc2libGUKICAgICAvLyBm
cm9tIHRoZSByZW5kZXJlci4KLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQo
Zm9udCk7CisgICAgV2ViS2l0OjpXZWJTYW5kYm94U3VwcG9ydCogc2FuZGJveFN1cHBvcnQgPSBX
ZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnNhbmRib3hTdXBwb3J0KCk7CisgICAgaWYgKHNh
bmRib3hTdXBwb3J0KQorICAgICAgICBzYW5kYm94U3VwcG9ydC0+ZW5zdXJlRm9udExvYWRlZChm
b250KTsKIH0KIAogYm9vbCBVbmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udERhdGEo
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFGb250V2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L1NraWFGb250V2luLmNwcAkocmV2aXNpb24gMTM1MTQxKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDEzICszNSwxNCBAQAogI2luY2x1ZGUgIkdyYWRpZW50LmgiCiAjaW5jbHVkZSAiUGF0dGVybi5o
IgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1
cHBvcnQuaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUgIlNrQ2FudmFz
LmgiCiAjaW5jbHVkZSAiU2tEZXZpY2UuaCIKICNpbmNsdWRlICJTa1BhaW50LmgiCiAjaW5jbHVk
ZSAiU2tTaGFkZXIuaCIKICNpbmNsdWRlICJTa1RlbXBsYXRlcy5oIgorI2luY2x1ZGUgPHB1Ymxp
Yy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViU2FuZGJveFN1cHBvcnQuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0yMjEsOCArMjIyLDEzIEBAIHN0YXRpYyB2b2lk
IHBhaW50U2tpYVRleHQoR3JhcGhpY3NDb250ZXgKICAgICBTa0NhbnZhcyogY2FudmFzID0gcGxh
dGZvcm1Db250ZXh0LT5jYW52YXMoKTsKICAgICBUZXh0RHJhd2luZ01vZGVGbGFncyB0ZXh0TW9k
ZSA9IHBsYXRmb3JtQ29udGV4dC0+Z2V0VGV4dERyYXdpbmdNb2RlKCk7CiAgICAgLy8gRW5zdXJl
IGZvbnQgbG9hZCBmb3IgcHJpbnRpbmcsIGJlY2F1c2UgUERGIGRldmljZSBuZWVkcyBpdC4KLSAg
ICBpZiAoY2FudmFzLT5nZXRUb3BEZXZpY2UoKS0+Z2V0RGV2aWNlQ2FwYWJpbGl0aWVzKCkgJiBT
a0RldmljZTo6a1ZlY3Rvcl9DYXBhYmlsaXR5KQotICAgICAgICBQbGF0Zm9ybVN1cHBvcnQ6OmVu
c3VyZUZvbnRMb2FkZWQoaGZvbnQpOworICAgIGlmIChjYW52YXMtPmdldFRvcERldmljZSgpLT5n
ZXREZXZpY2VDYXBhYmlsaXRpZXMoKSAmIFNrRGV2aWNlOjprVmVjdG9yX0NhcGFiaWxpdHkpIHsK
KyAgICAgICAgV2ViS2l0OjpXZWJTYW5kYm94U3VwcG9ydCogc2FuZGJveFN1cHBvcnQgPSBXZWJL
aXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnNhbmRib3hTdXBwb3J0KCk7CisgICAgICAgIC8vIGlm
IHRoZXJlIGlzIG5vIHNhbmRib3gsIHRoZW4gd2UgY2FuIGFzc3VtZSB0aGUgZm9udAorICAgICAg
ICAvLyB3YXMgYWJsZSB0byBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5IGFscmVhZHkKKyAgICAgICAg
aWYgKHNhbmRib3hTdXBwb3J0KQorICAgICAgICAgICAgc2FuZGJveFN1cHBvcnQtPmVuc3VyZUZv
bnRMb2FkZWQoZm9udCk7CisgICAgfQogCiAgICAgLy8gRmlsbGluZyAoaWYgbmVjZXNzYXJ5KS4g
VGhpcyBpcyB0aGUgY29tbW9uIGNhc2UuCiAgICAgU2tQYWludCBwYWludDsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzUxNzUpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEx
LTE5ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hy
b21pdW1dW1dpbl0gUmVtb3ZlIGVuc3VyZUZvbnRMb2FkZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3Njk2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGVu
c3VyZUZvbnRMb2FkZWQoKSBmcm9tIFBsYXRmb3JtU3VwcG9ydCBhbmQgY2FsbCBpdAorICAgICAg
ICBkaXJlY3RseSBpbnN0ZWFkLiBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzOyBzZWUgdHJh
Y2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0xMS0xOSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUmVtb3ZlIFdlYktpdDo6V2ViUnVu
dGltZUZlYXR1cmVzOjplbmFibGVQb2ludGVyTG9jay4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTM1MTQxKQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTA0LDE5ICsxMDQsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLS8vIEZvbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotI2lmIE9TKFdJTkRP
V1MpCi1ib29sIFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChIRk9OVCBmb250KQot
ewotICAgIFdlYlNhbmRib3hTdXBwb3J0KiBzcyA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQo
KS0+c2FuZGJveFN1cHBvcnQoKTsKLQotICAgIC8vIGlmIHRoZXJlIGlzIG5vIHNhbmRib3gsIHRo
ZW4gd2UgY2FuIGFzc3VtZSB0aGUgZm9udAotICAgIC8vIHdhcyBhYmxlIHRvIGJlIGxvYWRlZCBz
dWNjZXNzZnVsbHkgYWxyZWFkeQotICAgIHJldHVybiBzcyA/IHNzLT5lbnN1cmVGb250TG9hZGVk
KGZvbnQpIDogdHJ1ZTsKLX0KLSNlbmRpZgotCiAvLyBJbmRleGVkIERhdGFiYXNlIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFBh
c3NSZWZQdHI8SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U+IFBsYXRmb3JtU3VwcG9ydDo6aWRi
RmFjdG9yeSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176516</attachid>
            <date>2012-11-28 10:40:42 -0800</date>
            <delta_ts>2012-11-28 13:41:46 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-97696-20121128133747.patch</filename>
            <type>text/plain</type>
            <size>15266</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjAyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTExLTI4ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIGVuc3VyZUZvbnRMb2FkZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3Njk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlv
biBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBw
ZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1
cHBvcnQuaDoKKyAgICAgICAgKFBsYXRmb3JtU3VwcG9ydCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlQ2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Zm9udENvbnRhaW5zQ2hhcmFjdGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZHJhd0ds
eXBoc1dpbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRm
b3JtRGF0YUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURh
dGE6OnNjcmlwdEZvbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZW5zdXJlRm9udExvYWRlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmg6
CisgICAgICAgIChGb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HbHlwaFBhZ2VUcmVlTm9kZUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmdldEdseXBoSW5kaWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpmaWxsQk1QR2x5cGhz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNo
cm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmRldGVybWluZVBpdGNo
KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kc0Zvckds
eXBoKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9y
R2x5cGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmliZUhl
bHBlclRleHRSdW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1
bjo6dHJ5VG9QcmVsb2FkRm9udCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9T
a2lhRm9udFdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYWludFNraWFUZXh0KToKKwogMjAx
Mi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRd
W1dpbl0gRW5hYmxlIHVzYWdlIG9mIFFUV0VCS0lUX1BMVUdJTl9QQVRILgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHJl
dmlzaW9uIDEzNjAwNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRm
b3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksNiBAQCB0eXBlZGVmIHN0
cnVjdCBOUE9iamVjdCBOUE9iamVjdDsKIHR5cGVkZWYgc3RydWN0IF9OUFAgTlBQX3Q7CiB0eXBl
ZGVmIE5QUF90KiBOUFA7CiAKLSNpZiBPUyhXSU5ET1dTKQotdHlwZWRlZiBzdHJ1Y3QgSEZPTlRf
XyogSEZPTlQ7Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb2xvcjsK
QEAgLTc3LDExICs3Myw2IEBAIHN0cnVjdCBGb250UmVuZGVyU3R5bGU7CiAKIGNsYXNzIFBsYXRm
b3JtU3VwcG9ydCB7CiBwdWJsaWM6Ci0gICAgLy8gRm9udCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSNpZiBPUyhXSU5ET1dT
KQotICAgIHN0YXRpYyBib29sIGVuc3VyZUZvbnRMb2FkZWQoSEZPTlQpOwotI2VuZGlmCi0KICAg
ICAvLyBJbmRleGVkREIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5k
SW50ZXJmYWNlPiBpZGJGYWN0b3J5KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJv
bWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNjAwNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzMsMTAgKzMzLDEwIEBACiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAKICNpbmNsdWRl
ICJGb250LmgiCisjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmgiCiAjaW5j
bHVkZSAiRm9udFV0aWxzQ2hyb21pdW1XaW4uaCIKICNpbmNsdWRlICJIV25kREMuaCIKICNpbmNs
dWRlICJMYXlvdXRUZXN0U3VwcG9ydC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgog
I2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSA8dW5pY29kZS91bmlzZXQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMjgzLDcgKzI4Myw3IEBAIHN0YXRpYyBib29s
IGZvbnRDb250YWluc0NoYXJhY3Rlcihjb25zdAogICAgIEhXbmREQyBoZGMoMCk7CiAgICAgSEdE
SU9CSiBvbGRGb250ID0gc3RhdGljX2Nhc3Q8SEZPTlQ+KFNlbGVjdE9iamVjdChoZGMsIGhmb250
KSk7CiAgICAgaW50IGNvdW50ID0gR2V0Rm9udFVuaWNvZGVSYW5nZXMoaGRjLCAwKTsKLSAgICBp
ZiAoIWNvdW50ICYmIFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChoZm9udCkpCisg
ICAgaWYgKCFjb3VudCAmJiBGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGhmb250
KSkKICAgICAgICAgY291bnQgPSBHZXRGb250VW5pY29kZVJhbmdlcyhoZGMsIDApOwogICAgIGlm
ICghY291bnQpIHsKICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gZ2V0IHRoZSBmb250IHVu
aWNvZGUgcmFuZ2UgYWZ0ZXIgc2Vjb25kIGF0dGVtcHQiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9t
aXVtV2luLmNwcAkocmV2aXNpb24gMTM2MDA0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzMsOSArMzMsOSBAQAogI2luY2x1ZGUgIkZvbnQuaCIKIAogI2luY2x1ZGUgIkZvbnRGYWxsYmFj
a0xpc3QuaCIKKyNpbmNsdWRlICJGb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4uaCIKICNpbmNs
dWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVk
ZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgog
I2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiU2tpYUZvbnRXaW4uaCIKQEAg
LTUyNyw3ICs1MjcsNyBAQCBzdGF0aWMgdm9pZCBkcmF3R2x5cGhzV2luKEdyYXBoaWNzQ29udGV4
CiAgICAgICAgICAgICBzdWNjZXNzID0gcGFpbnRlci5kcmF3R2x5cGhzKGN1ckxlbiwgJmdseXBo
c1swXSwgJmFkdmFuY2VzWzBdLCBob3Jpem9udGFsT2Zmc2V0IC0gcG9pbnQueCgpIC0gY3VycmVu
dFdpZHRoKTsKICAgICAgICAgICAgIGlmICghc3VjY2VzcyAmJiAhZXhlY3V0aW9ucykgewogICAg
ICAgICAgICAgICAgIC8vIEFzayB0aGUgYnJvd3NlciB0byBsb2FkIHRoZSBmb250IGZvciB1cyBh
bmQgcmV0cnkuCi0gICAgICAgICAgICAgICAgUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9h
ZGVkKGZvbnQtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkpOworICAgICAgICAgICAgICAgIEZvbnRQ
bGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQoZm9udC0+cGxhdGZvcm1EYXRhKCkuaGZvbnQo
KSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBicmVhazsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUNocm9taXVt
V2luLmNwcAkocmV2aXNpb24gMTM2MDA0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsMTMgKzM0LDEzIEBACiAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNs
dWRlICJIV25kREMuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTa1R5cGVmYWNlX3dpbi5oIgogI2luY2x1ZGUgIlNr
aWFGb250V2luLmgiCi0KICNpbmNsdWRlIDxtbGFuZy5oPgogI2luY2x1ZGUgPG9iamlkbC5oPgor
I2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViU2Fu
ZGJveFN1cHBvcnQuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogCkBAIC0xNzUsNyArMTc1LDcgQEAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVTKiBG
b250UGxhdGZvcm1EYXRhOgogICAgICAgICAgICAgSFJFU1VMVCBociA9IFNjcmlwdEdldEZvbnRQ
cm9wZXJ0aWVzKGRjLCBzY3JpcHRDYWNoZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fc2NyaXB0Rm9udFByb3BlcnRpZXMpOwogICAgICAgICAg
ICAgaWYgKFNfT0sgIT0gaHIpIHsKLSAgICAgICAgICAgICAgICBpZiAoUGxhdGZvcm1TdXBwb3J0
OjplbnN1cmVGb250TG9hZGVkKGhmb250KCkpKSB7CisgICAgICAgICAgICAgICAgaWYgKEZvbnRQ
bGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQoaGZvbnQoKSkpIHsKICAgICAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBlcnJvciBpZiB0aGlzIGNhbGwg
YWxzbyBmYWlscy4KICAgICAgICAgICAgICAgICAgICAgaHIgPSBTY3JpcHRHZXRGb250UHJvcGVy
dGllcyhkYywgc2NyaXB0Q2FjaGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX3NjcmlwdEZvbnRQcm9wZXJ0aWVzKTsKQEAgLTIyMyw0ICsyMjMs
MTIgQEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgYwogfQogI2VuZGlm
CiAKK3N0YXRpYyBib29sIEZvbnRQbGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQoSEZPTlQg
Zm9udCkKK3sKKyAgICBXZWJLaXQ6OldlYlNhbmRib3hTdXBwb3J0KiBzYW5kYm94U3VwcG9ydCA9
IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBvcnQoKTsKKyAgICAvLyBp
ZiB0aGVyZSBpcyBubyBzYW5kYm94LCB0aGVuIHdlIGNhbiBhc3N1bWUgdGhlIGZvbnQKKyAgICAv
LyB3YXMgYWJsZSB0byBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5IGFscmVhZHkKKyAgICByZXR1cm4g
c2FuZGJveFN1cHBvcnQgPyBzYW5kYm94U3VwcG9ydC0+ZW5zdXJlRm9udExvYWRlZChmb250KSA6
IHRydWU7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJv
bWl1bVdpbi5oCShyZXZpc2lvbiAxMzYwMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4uaAkod29ya2luZyBj
b3B5KQpAQCAtMTA2LDYgKzEwNiw4IEBAIHB1YmxpYzoKICAgICBTQ1JJUFRfRk9OVFBST1BFUlRJ
RVMqIHNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CiAgICAgU0NSSVBUX0NBQ0hFKiBzY3Jp
cHRDYWNoZSgpIGNvbnN0IHsgcmV0dXJuICZtX3NjcmlwdENhY2hlOyB9CiAKKyAgICBzdGF0aWMg
Ym9vbCBlbnN1cmVGb250TG9hZGVkKEhGT05UKTsKKwogcHJpdmF0ZToKICAgICAvLyBXZSByZWZj
b3VudCB0aGUgaW50ZXJuYWwgSEZPTlQgc28gdGhhdCBGb250UGxhdGZvcm1EYXRhIGNhbiBiZQog
ICAgIC8vIGVmZmljaWVudGx5IGNvcGllZC4gV2ViS2l0IGRlcGVuZHMgb24gYmVpbmcgYWJsZSB0
byBjb3B5IGl0LCBhbmQgd2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dseXBoUGFnZVRyZWVOb2RlQ2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dseXBoUGFnZVRyZWVO
b2RlQ2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiAxMzYwMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HbHlwaFBhZ2VUcmVlTm9kZUNocm9taXVtV2luLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsOSArMzMsOSBAQAogI2luY2x1ZGUgPHZlY3Rvcj4KIAog
I2luY2x1ZGUgIkZvbnQuaCIKKyNpbmNsdWRlICJGb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4u
aCIKICNpbmNsdWRlICJHbHlwaFBhZ2VUcmVlTm9kZS5oIgogI2luY2x1ZGUgIkhXbmREQy5oIgot
I2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgi
CiAjaW5jbHVkZSAiU3lzdGVtSW5mby5oIgogI2luY2x1ZGUgIlVuaXNjcmliZUhlbHBlclRleHRS
dW4uaCIKQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGJvb2wgZ2V0R2x5cGhJbmRpY2VzKEhGT05U
IGZvbnQsCiB7CiAgICAgaWYgKEdldEdseXBoSW5kaWNlcyhkYywgY2hhcmFjdGVycywgY2hhcmFj
dGVyc0xlbmd0aCwgZ2x5cGhCdWZmZXIsIGZsYWcpICE9IEdESV9FUlJPUikKICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgaWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChmb250
KSkgeworICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGZvbnQpKSB7
CiAgICAgICAgIGlmIChHZXRHbHlwaEluZGljZXMoZGMsIGNoYXJhY3RlcnMsIGNoYXJhY3RlcnNM
ZW5ndGgsIGdseXBoQnVmZmVyLCBmbGFnKSAhPSBHRElfRVJST1IpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBlcnJvciBp
ZiB0aGlzIGNhbGwgYWxzbyBmYWlscy4KQEAgLTg4LDcgKzg4LDcgQEAgc3RhdGljIGJvb2wgZmls
bEJNUEdseXBocyh1bnNpZ25lZCBvZmZzZQogCiAgICAgVEVYVE1FVFJJQyB0bSA9IHswfTsKICAg
ICBpZiAoIUdldFRleHRNZXRyaWNzKGRjLCAmdG0pKSB7Ci0gICAgICAgIGlmIChQbGF0Zm9ybVN1
cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQoZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkp
KSB7CisgICAgICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGZvbnRE
YXRhLT5wbGF0Zm9ybURhdGEoKS5oZm9udCgpKSkgewogICAgICAgICAgICAgaWYgKCFHZXRUZXh0
TWV0cmljcyhkYywgJnRtKSkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3Jh
Y2VmdWxseSB0aGUgZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAg
ICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNjQwMQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2lt
cGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNjAwNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1X
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYsMTMgQEAKICNpbmNsdWRlICJGb250
LmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgi
CisjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmgiCiAjaW5jbHVkZSAiSFdu
ZERDLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCi0jaW5jbHVkZSA8d3RmL01hdGhF
eHRyYXMuaD4KLQorI2luY2x1ZGUgPG1sYW5nLmg+CisjaW5jbHVkZSA8b2JqaWRsLmg+CiAjaW5j
bHVkZSA8dW5pY29kZS91Y2hhci5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdW5vcm0uaD4KLSNpbmNs
dWRlIDxvYmppZGwuaD4KLSNpbmNsdWRlIDxtbGFuZy5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEsNyArNjAsNyBAQCB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVYVE1FVFJJQyB0ZXh0TWV0cmlj
ID0gezB9OwogICAgIGlmICghR2V0VGV4dE1ldHJpY3MoZGMsICZ0ZXh0TWV0cmljKSkgewotICAg
ICAgICBpZiAoUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKG1fcGxhdGZvcm1EYXRh
Lmhmb250KCkpKSB7CisgICAgICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9h
ZGVkKG1fcGxhdGZvcm1EYXRhLmhmb250KCkpKSB7CiAgICAgICAgICAgICAvLyBSZXRyeSBHZXRU
ZXh0TWV0cmljcy4KICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUg
ZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAvLyBTZWUgaHR0cDov
L2NyYnVnLmNvbS82NDAxLgpAQCAtMTM2LDcgKzEzNSw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6
OmRldGVybWluZVBpdGNoKCkKICAgICAvLyBpcyAqbm90KiBmaXhlZCBwaXRjaC4gIFVuYmVsaWV2
YWJsZSBidXQgdHJ1ZS4KICAgICBURVhUTUVUUklDIHRleHRNZXRyaWMgPSB7MH07CiAgICAgaWYg
KCFHZXRUZXh0TWV0cmljcyhkYywgJnRleHRNZXRyaWMpKSB7Ci0gICAgICAgIGlmIChQbGF0Zm9y
bVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQobV9wbGF0Zm9ybURhdGEuaGZvbnQoKSkpIHsKKyAg
ICAgICAgaWYgKEZvbnRQbGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQobV9wbGF0Zm9ybURh
dGEuaGZvbnQoKSkpIHsKICAgICAgICAgICAgIC8vIFJldHJ5IEdldFRleHRNZXRyaWNzLgogICAg
ICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBlcnJvciBpZiB0aGlzIGNh
bGwgYWxzbyBmYWlscy4KICAgICAgICAgICAgIC8vIFNlZSBodHRwOi8vY3JidWcuY29tLzY0MDEu
CkBAIC0xNTksNyArMTU4LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJv
dW5kcwogICAgIEdMWVBITUVUUklDUyBnZGlNZXRyaWNzOwogICAgIHN0YXRpYyBjb25zdCBNQVQy
IGlkZW50aXR5ID0geyAwLCAxLCAgMCwgMCwgIDAsIDAsICAwLCAxIH07CiAgICAgaWYgKEdldEds
eXBoT3V0bGluZShoZGMsIGdseXBoLCBHR09fTUVUUklDUyB8IEdHT19HTFlQSF9JTkRFWCwgJmdk
aU1ldHJpY3MsIDAsIDAsICZpZGVudGl0eSkgPT0gLTEpIHsKLSAgICAgICAgaWYgKFBsYXRmb3Jt
U3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgeworICAg
ICAgICBpZiAoRm9udFBsYXRmb3JtRGF0YTo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0
YS5oZm9udCgpKSkgewogICAgICAgICAgICAgLy8gUmV0cnkgR2V0VGV4dE1ldHJpY3MuCiAgICAg
ICAgICAgICAvLyBGSVhNRTogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGVycm9yIGlmIHRoaXMgY2Fs
bCBhbHNvIGZhaWxzLgogICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNjQwMS4K
QEAgLTE4NSw3ICsxODQsNyBAQCBmbG9hdCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1XaWR0aEZv
ckdsCiAgICAgaW50IHdpZHRoID0gMDsKICAgICBpZiAoIUdldENoYXJXaWR0aEkoZGMsIGdseXBo
LCAxLCAwLCAmd2lkdGgpKSB7CiAgICAgICAgIC8vIEFzayB0aGUgYnJvd3NlciB0byBwcmVsb2Fk
IHRoZSBmb250IGFuZCByZXRyeS4KLSAgICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJl
Rm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgeworICAgICAgICBpZiAoRm9udFBs
YXRmb3JtRGF0YTo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpIHsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgZXJyb3IgaWYgdGhpcyBj
YWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAvLyBTZWUgaHR0cDovL2NyYnVnLmNvbS82NDAx
LgogICAgICAgICAgICAgaWYgKCFHZXRDaGFyV2lkdGhJKGRjLCBnbHlwaCwgMSwgMCwgJndpZHRo
KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNj
cmliZUhlbHBlclRleHRSdW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCShyZXZpc2lv
biAxMzYwMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9V
bmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBA
QAogI2luY2x1ZGUgIlVuaXNjcmliZUhlbHBlclRleHRSdW4uaCIKIAogI2luY2x1ZGUgIkZvbnQu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKKyNpbmNsdWRlICJGb250UGxhdGZvcm1E
YXRhQ2hyb21pdW1XaW4uaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUg
IlRleHRSdW4uaCIKIApAQCAtODIsNyArODIsNyBAQCB2b2lkIFVuaXNjcmliZUhlbHBlclRleHRS
dW46OnRyeVRvUHJlbG9hCiAgICAgLy8gQXNrIHRoZSBicm93c2VyIHRvIGdldCB0aGUgZm9udCBt
ZXRyaWNzIGZvciB0aGlzIGZvbnQuCiAgICAgLy8gVGhhdCB3aWxsIHByZWxvYWQgdGhlIGZvbnQg
YW5kIGl0IHNob3VsZCBub3cgYmUgYWNjZXNzaWJsZQogICAgIC8vIGZyb20gdGhlIHJlbmRlcmVy
LgotICAgIFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChmb250KTsKKyAgICBGb250
UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGZvbnQpOwogfQogCiBib29sIFVuaXNjcmli
ZUhlbHBlclRleHRSdW46Om5leHRXaW5Gb250RGF0YSgKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3BwCShyZXZpc2lv
biAxMzYwMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFG
b250V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTAgKzMyLDEwIEBACiAjaW5jbHVkZSAi
U2tpYUZvbnRXaW4uaCIKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUg
IkZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oIgogI2luY2x1ZGUgIkdyYWRpZW50LmgiCiAj
aW5jbHVkZSAiUGF0dGVybi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgog
I2luY2x1ZGUgIlNrQ2FudmFzLmgiCiAjaW5jbHVkZSAiU2tEZXZpY2UuaCIKQEAgLTIyMSw3ICsy
MjEsNyBAQCBzdGF0aWMgdm9pZCBwYWludFNraWFUZXh0KEdyYXBoaWNzQ29udGV4CiAgICAgVGV4
dERyYXdpbmdNb2RlRmxhZ3MgdGV4dE1vZGUgPSBwbGF0Zm9ybUNvbnRleHQtPmdldFRleHREcmF3
aW5nTW9kZSgpOwogICAgIC8vIEVuc3VyZSBmb250IGxvYWQgZm9yIHByaW50aW5nLCBiZWNhdXNl
IFBERiBkZXZpY2UgbmVlZHMgaXQuCiAgICAgaWYgKHBsYXRmb3JtQ29udGV4dC0+aXNWZWN0b3Io
KSkKLSAgICAgICAgUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKGhmb250KTsKKyAg
ICAgICAgRm9udFBsYXRmb3JtRGF0YTo6ZW5zdXJlRm9udExvYWRlZChoZm9udCk7CiAKICAgICAv
LyBGaWxsaW5nIChpZiBuZWNlc3NhcnkpLiBUaGlzIGlzIHRoZSBjb21tb24gY2FzZS4KICAgICBT
a1BhaW50IHBhaW50OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEz
NjAyNCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTEtMjggIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV1bV2luXSBSZW1vdmUgZW5zdXJlRm9udExv
YWRlZCBmcm9tIFBsYXRmb3JtU3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTc2OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3Vj
aCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlw
dGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMTEtMjggIFNhZHJ1bCBIYWJpYiBDaG93ZGh1
cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgcGx1
Z2lucyB0byBvcHQtaW4gdG8gcmVjZWl2ZSBzeW50aGV0aWMgbW91c2UgZXZlbnRzIG91dCBvZiB0
b3VjaCBldmVudHMuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1
cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRm
b3JtU3VwcG9ydC5jcHAJKHJldmlzaW9uIDEzNjAwNCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCwxOSArMTA0
LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0v
LyBGb250IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSNpZiBPUyhXSU5ET1dTKQotYm9vbCBQbGF0Zm9ybVN1
cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQoSEZPTlQgZm9udCkKLXsKLSAgICBXZWJTYW5kYm94U3Vw
cG9ydCogc3MgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnNhbmRib3hTdXBwb3J0KCk7
Ci0KLSAgICAvLyBpZiB0aGVyZSBpcyBubyBzYW5kYm94LCB0aGVuIHdlIGNhbiBhc3N1bWUgdGhl
IGZvbnQKLSAgICAvLyB3YXMgYWJsZSB0byBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5IGFscmVhZHkK
LSAgICByZXR1cm4gc3MgPyBzcy0+ZW5zdXJlRm9udExvYWRlZChmb250KSA6IHRydWU7Ci19Ci0j
ZW5kaWYKLQogLy8gSW5kZXhlZCBEYXRhYmFzZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBQYXNzUmVmUHRyPElEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlPiBQbGF0Zm9ybVN1cHBvcnQ6OmlkYkZhY3RvcnkoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176564</attachid>
            <date>2012-11-28 13:41:50 -0800</date>
            <delta_ts>2012-11-28 14:36:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97696-20121128163855.patch</filename>
            <type>text/plain</type>
            <size>15278</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjAzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTExLTI4ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIGVuc3VyZUZvbnRMb2FkZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3Njk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBlbnN1cmVGb250TG9hZGVk
KCkgZnJvbSBQbGF0Zm9ybVN1cHBvcnQgdG8KKyAgICAgICAgRm9udFBsYXRmb3JtRGF0YUNocm9t
aXVtV2luLiBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzOyBzZWUKKyAgICAgICAgdHJhY2tp
bmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBw
b3J0Lmg6CisgICAgICAgIChQbGF0Zm9ybVN1cHBvcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmZvbnRDb250YWluc0NoYXJhY3Rlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRyYXdHbHlw
aHNXaW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9y
bURhdGFDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
OjpzY3JpcHRGb250UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oOgor
ICAgICAgICAoRm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR2x5cGhQYWdlVHJlZU5vZGVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpnZXRHbHlwaEluZGljZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbEJNUEdseXBocyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJv
bWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpkZXRlcm1pbmVQaXRjaCk6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlw
aCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1XaWR0aEZvckds
eXBoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxw
ZXJUZXh0UnVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVuaXNjcmliZUhlbHBlclRleHRSdW46
OnRyeVRvUHJlbG9hZEZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tp
YUZvbnRXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa2lhVGV4dCk6CisKIDIwMTIt
MTEtMjggIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3Zl
IGVtcHR5IGxvYWRpbmcgdG8gRG9jdW1lbnRMb2FkZXIsIHNpbXBsaWZ5IEZyYW1lTG9hZGVyOjpp
bml0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3Vw
cG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMzYwMzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAg
KzQ5LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgTlBPYmplY3QgTlBPYmplY3Q7CiB0eXBlZGVmIHN0cnVj
dCBfTlBQIE5QUF90OwogdHlwZWRlZiBOUFBfdCogTlBQOwogCi0jaWYgT1MoV0lORE9XUykKLXR5
cGVkZWYgc3RydWN0IEhGT05UX18qIEhGT05UOwotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ29sb3I7CkBAIC03NywxMSArNzMsNiBAQCBzdHJ1Y3QgRm9udFJlbmRlclN0
eWxlOwogCiBjbGFzcyBQbGF0Zm9ybVN1cHBvcnQgewogcHVibGljOgotICAgIC8vIEZvbnQgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0jaWYgT1MoV0lORE9XUykKLSAgICBzdGF0aWMgYm9vbCBlbnN1cmVGb250TG9hZGVkKEhG
T05UKTsKLSNlbmRpZgotCiAgICAgLy8gSW5kZXhlZERCIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gaWRiRmFjdG9yeSgpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJvbWl1bVdp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRm9udENhY2hlQ2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiAxMzYwMzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVDaHJvbWl1bVdp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDEwICszMywxMCBAQAogI2luY2x1ZGUgIkZvbnRD
YWNoZS5oIgogCiAjaW5jbHVkZSAiRm9udC5oIgorI2luY2x1ZGUgIkZvbnRQbGF0Zm9ybURhdGFD
aHJvbWl1bVdpbi5oIgogI2luY2x1ZGUgIkZvbnRVdGlsc0Nocm9taXVtV2luLmgiCiAjaW5jbHVk
ZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdFN1cHBvcnQuaCIKLSNpbmNsdWRlICJQ
bGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUg
PHVuaWNvZGUvdW5pc2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTI4Myw3ICsy
ODMsNyBAQCBzdGF0aWMgYm9vbCBmb250Q29udGFpbnNDaGFyYWN0ZXIoY29uc3QKICAgICBIV25k
REMgaGRjKDApOwogICAgIEhHRElPQkogb2xkRm9udCA9IHN0YXRpY19jYXN0PEhGT05UPihTZWxl
Y3RPYmplY3QoaGRjLCBoZm9udCkpOwogICAgIGludCBjb3VudCA9IEdldEZvbnRVbmljb2RlUmFu
Z2VzKGhkYywgMCk7Ci0gICAgaWYgKCFjb3VudCAmJiBQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZv
bnRMb2FkZWQoaGZvbnQpKQorICAgIGlmICghY291bnQgJiYgRm9udFBsYXRmb3JtRGF0YTo6ZW5z
dXJlRm9udExvYWRlZChoZm9udCkpCiAgICAgICAgIGNvdW50ID0gR2V0Rm9udFVuaWNvZGVSYW5n
ZXMoaGRjLCAwKTsKICAgICBpZiAoIWNvdW50KSB7CiAgICAgICAgIExPR19FUlJPUigiVW5hYmxl
IHRvIGdldCB0aGUgZm9udCB1bmljb2RlIHJhbmdlIGFmdGVyIHNlY29uZCBhdHRlbXB0Iik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21p
dW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNjAzMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDkgKzMzLDkgQEAKICNpbmNsdWRlICJGb250LmgiCiAKICNp
bmNsdWRlICJGb250RmFsbGJhY2tMaXN0LmgiCisjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YUNo
cm9taXVtV2luLmgiCiAjaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUg
IlNraWFGb250V2luLmgiCkBAIC01MjcsNyArNTI3LDcgQEAgc3RhdGljIHZvaWQgZHJhd0dseXBo
c1dpbihHcmFwaGljc0NvbnRleAogICAgICAgICAgICAgc3VjY2VzcyA9IHBhaW50ZXIuZHJhd0ds
eXBocyhjdXJMZW4sICZnbHlwaHNbMF0sICZhZHZhbmNlc1swXSwgaG9yaXpvbnRhbE9mZnNldCAt
IHBvaW50LngoKSAtIGN1cnJlbnRXaWR0aCk7CiAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MgJiYg
IWV4ZWN1dGlvbnMpIHsKICAgICAgICAgICAgICAgICAvLyBBc2sgdGhlIGJyb3dzZXIgdG8gbG9h
ZCB0aGUgZm9udCBmb3IgdXMgYW5kIHJldHJ5LgotICAgICAgICAgICAgICAgIFBsYXRmb3JtU3Vw
cG9ydDo6ZW5zdXJlRm9udExvYWRlZChmb250LT5wbGF0Zm9ybURhdGEoKS5oZm9udCgpKTsKKyAg
ICAgICAgICAgICAgICBGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGZvbnQtPnBs
YXRmb3JtRGF0YSgpLmhmb250KCkpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQ
bGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNjAzMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1
bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCwxMyBAQAogCiAjaW5jbHVkZSAi
Rm9udENhY2hlLmgiCiAjaW5jbHVkZSAiSFduZERDLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdXBw
b3J0LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2tUeXBlZmFjZV93
aW4uaCIKICNpbmNsdWRlICJTa2lhRm9udFdpbi5oIgotCiAjaW5jbHVkZSA8bWxhbmcuaD4KICNp
bmNsdWRlIDxvYmppZGwuaD4KKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRl
IDxwdWJsaWMvd2luL1dlYlNhbmRib3hTdXBwb3J0Lmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTc1LDcgKzE3NSw3IEBAIFNDUklQ
VF9GT05UUFJPUEVSVElFUyogRm9udFBsYXRmb3JtRGF0YToKICAgICAgICAgICAgIEhSRVNVTFQg
aHIgPSBTY3JpcHRHZXRGb250UHJvcGVydGllcyhkYywgc2NyaXB0Q2FjaGUoKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3NjcmlwdEZvbnRQcm9w
ZXJ0aWVzKTsKICAgICAgICAgICAgIGlmIChTX09LICE9IGhyKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChoZm9udCgpKSkgeworICAgICAg
ICAgICAgICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGhmb250KCkp
KSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUg
ZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAgICAgICAgIGhyID0g
U2NyaXB0R2V0Rm9udFByb3BlcnRpZXMoZGMsIHNjcmlwdENhY2hlKCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zY3JpcHRGb250UHJvcGVydGll
cyk7CkBAIC0yMjMsNCArMjIzLDEyIEBAIFN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlw
dGlvbigpIGMKIH0KICNlbmRpZgogCitib29sIEZvbnRQbGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRM
b2FkZWQoSEZPTlQgZm9udCkKK3sKKyAgICBXZWJLaXQ6OldlYlNhbmRib3hTdXBwb3J0KiBzYW5k
Ym94U3VwcG9ydCA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBvcnQo
KTsKKyAgICAvLyBpZiB0aGVyZSBpcyBubyBzYW5kYm94LCB0aGVuIHdlIGNhbiBhc3N1bWUgdGhl
IGZvbnQKKyAgICAvLyB3YXMgYWJsZSB0byBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5IGFscmVhZHkK
KyAgICByZXR1cm4gc2FuZGJveFN1cHBvcnQgPyBzYW5kYm94U3VwcG9ydC0+ZW5zdXJlRm9udExv
YWRlZChmb250KSA6IHRydWU7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0
Zm9ybURhdGFDaHJvbWl1bVdpbi5oCShyZXZpc2lvbiAxMzYwMzApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250UGxhdGZvcm1EYXRhQ2hyb21pdW1XaW4u
aAkod29ya2luZyBjb3B5KQpAQCAtMTA2LDYgKzEwNiw4IEBAIHB1YmxpYzoKICAgICBTQ1JJUFRf
Rk9OVFBST1BFUlRJRVMqIHNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CiAgICAgU0NSSVBU
X0NBQ0hFKiBzY3JpcHRDYWNoZSgpIGNvbnN0IHsgcmV0dXJuICZtX3NjcmlwdENhY2hlOyB9CiAK
KyAgICBzdGF0aWMgYm9vbCBlbnN1cmVGb250TG9hZGVkKEhGT05UKTsKKwogcHJpdmF0ZToKICAg
ICAvLyBXZSByZWZjb3VudCB0aGUgaW50ZXJuYWwgSEZPTlQgc28gdGhhdCBGb250UGxhdGZvcm1E
YXRhIGNhbiBiZQogICAgIC8vIGVmZmljaWVudGx5IGNvcGllZC4gV2ViS2l0IGRlcGVuZHMgb24g
YmVpbmcgYWJsZSB0byBjb3B5IGl0LCBhbmQgd2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dseXBoUGFnZVRyZWVOb2RlQ2hyb21pdW1XaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ds
eXBoUGFnZVRyZWVOb2RlQ2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiAxMzYwMzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HbHlwaFBhZ2VUcmVlTm9kZUNo
cm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsOSArMzMsOSBAQAogI2luY2x1ZGUg
PHZlY3Rvcj4KIAogI2luY2x1ZGUgIkZvbnQuaCIKKyNpbmNsdWRlICJGb250UGxhdGZvcm1EYXRh
Q2hyb21pdW1XaW4uaCIKICNpbmNsdWRlICJHbHlwaFBhZ2VUcmVlTm9kZS5oIgogI2luY2x1ZGUg
IkhXbmREQy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNpbXBs
ZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiU3lzdGVtSW5mby5oIgogI2luY2x1ZGUgIlVuaXNjcmli
ZUhlbHBlclRleHRSdW4uaCIKQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGJvb2wgZ2V0R2x5cGhJ
bmRpY2VzKEhGT05UIGZvbnQsCiB7CiAgICAgaWYgKEdldEdseXBoSW5kaWNlcyhkYywgY2hhcmFj
dGVycywgY2hhcmFjdGVyc0xlbmd0aCwgZ2x5cGhCdWZmZXIsIGZsYWcpICE9IEdESV9FUlJPUikK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9u
dExvYWRlZChmb250KSkgeworICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9h
ZGVkKGZvbnQpKSB7CiAgICAgICAgIGlmIChHZXRHbHlwaEluZGljZXMoZGMsIGNoYXJhY3RlcnMs
IGNoYXJhY3RlcnNMZW5ndGgsIGdseXBoQnVmZmVyLCBmbGFnKSAhPSBHRElfRVJST1IpCiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5
IHRoZSBlcnJvciBpZiB0aGlzIGNhbGwgYWxzbyBmYWlscy4KQEAgLTg4LDcgKzg4LDcgQEAgc3Rh
dGljIGJvb2wgZmlsbEJNUEdseXBocyh1bnNpZ25lZCBvZmZzZQogCiAgICAgVEVYVE1FVFJJQyB0
bSA9IHswfTsKICAgICBpZiAoIUdldFRleHRNZXRyaWNzKGRjLCAmdG0pKSB7Ci0gICAgICAgIGlm
IChQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQoZm9udERhdGEtPnBsYXRmb3JtRGF0
YSgpLmhmb250KCkpKSB7CisgICAgICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250
TG9hZGVkKGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5oZm9udCgpKSkgewogICAgICAgICAgICAg
aWYgKCFHZXRUZXh0TWV0cmljcyhkYywgJnRtKSkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAg
ICAgICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNjQwMQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1
bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNjAzMCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnRE
YXRhQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYsMTMgQEAKICNp
bmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRm9udERl
c2NyaXB0aW9uLmgiCisjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmgiCiAj
aW5jbHVkZSAiSFduZERDLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCi0jaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KLQorI2luY2x1ZGUgPG1sYW5nLmg+CisjaW5jbHVkZSA8b2Jq
aWRsLmg+CiAjaW5jbHVkZSA8dW5pY29kZS91Y2hhci5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdW5v
cm0uaD4KLSNpbmNsdWRlIDxvYmppZGwuaD4KLSNpbmNsdWRlIDxtbGFuZy5oPgorI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEsNyArNjAs
NyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVYVE1FVFJJ
QyB0ZXh0TWV0cmljID0gezB9OwogICAgIGlmICghR2V0VGV4dE1ldHJpY3MoZGMsICZ0ZXh0TWV0
cmljKSkgewotICAgICAgICBpZiAoUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKG1f
cGxhdGZvcm1EYXRhLmhmb250KCkpKSB7CisgICAgICAgIGlmIChGb250UGxhdGZvcm1EYXRhOjpl
bnN1cmVGb250TG9hZGVkKG1fcGxhdGZvcm1EYXRhLmhmb250KCkpKSB7CiAgICAgICAgICAgICAv
LyBSZXRyeSBHZXRUZXh0TWV0cmljcy4KICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3Jh
Y2VmdWxseSB0aGUgZXJyb3IgaWYgdGhpcyBjYWxsIGFsc28gZmFpbHMuCiAgICAgICAgICAgICAv
LyBTZWUgaHR0cDovL2NyYnVnLmNvbS82NDAxLgpAQCAtMTM2LDcgKzEzNSw3IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OmRldGVybWluZVBpdGNoKCkKICAgICAvLyBpcyAqbm90KiBmaXhlZCBwaXRj
aC4gIFVuYmVsaWV2YWJsZSBidXQgdHJ1ZS4KICAgICBURVhUTUVUUklDIHRleHRNZXRyaWMgPSB7
MH07CiAgICAgaWYgKCFHZXRUZXh0TWV0cmljcyhkYywgJnRleHRNZXRyaWMpKSB7Ci0gICAgICAg
IGlmIChQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQobV9wbGF0Zm9ybURhdGEuaGZv
bnQoKSkpIHsKKyAgICAgICAgaWYgKEZvbnRQbGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQo
bV9wbGF0Zm9ybURhdGEuaGZvbnQoKSkpIHsKICAgICAgICAgICAgIC8vIFJldHJ5IEdldFRleHRN
ZXRyaWNzLgogICAgICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBlcnJv
ciBpZiB0aGlzIGNhbGwgYWxzbyBmYWlscy4KICAgICAgICAgICAgIC8vIFNlZSBodHRwOi8vY3Ji
dWcuY29tLzY0MDEuCkBAIC0xNTksNyArMTU4LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUJvdW5kcwogICAgIEdMWVBITUVUUklDUyBnZGlNZXRyaWNzOwogICAgIHN0YXRp
YyBjb25zdCBNQVQyIGlkZW50aXR5ID0geyAwLCAxLCAgMCwgMCwgIDAsIDAsICAwLCAxIH07CiAg
ICAgaWYgKEdldEdseXBoT3V0bGluZShoZGMsIGdseXBoLCBHR09fTUVUUklDUyB8IEdHT19HTFlQ
SF9JTkRFWCwgJmdkaU1ldHJpY3MsIDAsIDAsICZpZGVudGl0eSkgPT0gLTEpIHsKLSAgICAgICAg
aWYgKFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9u
dCgpKSkgeworICAgICAgICBpZiAoRm9udFBsYXRmb3JtRGF0YTo6ZW5zdXJlRm9udExvYWRlZCht
X3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgewogICAgICAgICAgICAgLy8gUmV0cnkgR2V0VGV4dE1l
dHJpY3MuCiAgICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGVycm9y
IGlmIHRoaXMgY2FsbCBhbHNvIGZhaWxzLgogICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1
Zy5jb20vNjQwMS4KQEAgLTE4NSw3ICsxODQsNyBAQCBmbG9hdCBTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1XaWR0aEZvckdsCiAgICAgaW50IHdpZHRoID0gMDsKICAgICBpZiAoIUdldENoYXJXaWR0
aEkoZGMsIGdseXBoLCAxLCAwLCAmd2lkdGgpKSB7CiAgICAgICAgIC8vIEFzayB0aGUgYnJvd3Nl
ciB0byBwcmVsb2FkIHRoZSBmb250IGFuZCByZXRyeS4KLSAgICAgICAgaWYgKFBsYXRmb3JtU3Vw
cG9ydDo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5oZm9udCgpKSkgeworICAgICAg
ICBpZiAoRm9udFBsYXRmb3JtRGF0YTo6ZW5zdXJlRm9udExvYWRlZChtX3BsYXRmb3JtRGF0YS5o
Zm9udCgpKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBl
cnJvciBpZiB0aGlzIGNhbGwgYWxzbyBmYWlscy4KICAgICAgICAgICAgIC8vIFNlZSBodHRwOi8v
Y3JidWcuY29tLzY0MDEuCiAgICAgICAgICAgICBpZiAoIUdldENoYXJXaWR0aEkoZGMsIGdseXBo
LCAxLCAwLCAmd2lkdGgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1
bi5jcHAJKHJldmlzaW9uIDEzNjAzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5oIgogCiAj
aW5jbHVkZSAiRm9udC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgorI2luY2x1ZGUg
IkZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdpbi5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRh
LmgiCiAjaW5jbHVkZSAiVGV4dFJ1bi5oIgogCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgVW5pc2Ny
aWJlSGVscGVyVGV4dFJ1bjo6dHJ5VG9QcmVsb2EKICAgICAvLyBBc2sgdGhlIGJyb3dzZXIgdG8g
Z2V0IHRoZSBmb250IG1ldHJpY3MgZm9yIHRoaXMgZm9udC4KICAgICAvLyBUaGF0IHdpbGwgcHJl
bG9hZCB0aGUgZm9udCBhbmQgaXQgc2hvdWxkIG5vdyBiZSBhY2Nlc3NpYmxlCiAgICAgLy8gZnJv
bSB0aGUgcmVuZGVyZXIuCi0gICAgUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKGZv
bnQpOworICAgIEZvbnRQbGF0Zm9ybURhdGE6OmVuc3VyZUZvbnRMb2FkZWQoZm9udCk7CiB9CiAK
IGJvb2wgVW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6bmV4dFdpbkZvbnREYXRhKApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdp
bi5jcHAJKHJldmlzaW9uIDEzNjAzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvU2tpYUZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMCArMzIsMTAg
QEAKICNpbmNsdWRlICJTa2lhRm9udFdpbi5oIgogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3Jt
LmgiCisjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YUNocm9taXVtV2luLmgiCiAjaW5jbHVkZSAi
R3JhZGllbnQuaCIKICNpbmNsdWRlICJQYXR0ZXJuLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db250
ZXh0U2tpYS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNpbXBs
ZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiU2tDYW52YXMuaCIKICNpbmNsdWRlICJTa0RldmljZS5o
IgpAQCAtMjIxLDcgKzIyMSw3IEBAIHN0YXRpYyB2b2lkIHBhaW50U2tpYVRleHQoR3JhcGhpY3ND
b250ZXgKICAgICBUZXh0RHJhd2luZ01vZGVGbGFncyB0ZXh0TW9kZSA9IHBsYXRmb3JtQ29udGV4
dC0+Z2V0VGV4dERyYXdpbmdNb2RlKCk7CiAgICAgLy8gRW5zdXJlIGZvbnQgbG9hZCBmb3IgcHJp
bnRpbmcsIGJlY2F1c2UgUERGIGRldmljZSBuZWVkcyBpdC4KICAgICBpZiAocGxhdGZvcm1Db250
ZXh0LT5pc1ZlY3RvcigpKQotICAgICAgICBQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2Fk
ZWQoaGZvbnQpOworICAgICAgICBGb250UGxhdGZvcm1EYXRhOjplbnN1cmVGb250TG9hZGVkKGhm
b250KTsKIAogICAgIC8vIEZpbGxpbmcgKGlmIG5lY2Vzc2FyeSkuIFRoaXMgaXMgdGhlIGNvbW1v
biBjYXNlLgogICAgIFNrUGFpbnQgcGFpbnQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTM2MDMyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0yOCAgTWFyayBQaWxncmlt
ICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5dIFJlbW92
ZSBlbnN1cmVGb250TG9hZGVkIGZyb20gUGxhdGZvcm1TdXBwb3J0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY5NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgZW5zdXJlRm9udExvYWRlZCgpIGZy
b20gUGxhdGZvcm1TdXBwb3J0IHRvCisgICAgICAgIEZvbnRQbGF0Zm9ybURhdGFDaHJvbWl1bVdp
bi4gUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNlcmllczsgc2VlCisgICAgICAgIHRyYWNraW5nIGJ1
ZyA4Mjk0OC4KKworICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisKIDIwMTItMTEtMjggIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbY2hyb21pdW1dIEFkZCB1bml0IHRlc3RzIGZvciBDaHJvbWVDbGllbnRJ
bXBsOjpnZXROYXZpZ2F0aW9uUG9saWN5CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9QbGF0Zm9ybVN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHJldmlzaW9uIDEzNjAzMCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwNCwxOSArMTA0LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0vLyBGb250IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSNpZiBPUyhXSU5ET1dTKQotYm9v
bCBQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRMb2FkZWQoSEZPTlQgZm9udCkKLXsKLSAgICBX
ZWJTYW5kYm94U3VwcG9ydCogc3MgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnNhbmRi
b3hTdXBwb3J0KCk7Ci0KLSAgICAvLyBpZiB0aGVyZSBpcyBubyBzYW5kYm94LCB0aGVuIHdlIGNh
biBhc3N1bWUgdGhlIGZvbnQKLSAgICAvLyB3YXMgYWJsZSB0byBiZSBsb2FkZWQgc3VjY2Vzc2Z1
bGx5IGFscmVhZHkKLSAgICByZXR1cm4gc3MgPyBzcy0+ZW5zdXJlRm9udExvYWRlZChmb250KSA6
IHRydWU7Ci19Ci0jZW5kaWYKLQogLy8gSW5kZXhlZCBEYXRhYmFzZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBQYXNzUmVmUHRy
PElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBQbGF0Zm9ybVN1cHBvcnQ6OmlkYkZhY3Rvcnko
KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>