<?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>152772</bug_id>
          
          <creation_ts>2016-01-05 21:22:22 -0800</creation_ts>
          <short_desc>[SVG -&gt; OTF Converter] Parsing failures cause use of incomplete fonts</short_desc>
          <delta_ts>2016-01-10 21:55: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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1152981</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-01-05 21:22:22 -0800</bug_when>
    <thetext>[SVG -&gt; OTF Converter] Parsing failures cause use of incomplete fonts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152982</commentid>
    <comment_count>1</comment_count>
      <attachid>268353</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-01-05 21:24:55 -0800</bug_when>
    <thetext>Created attachment 268353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152983</commentid>
    <comment_count>2</comment_count>
      <attachid>268354</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-01-05 21:25:38 -0800</bug_when>
    <thetext>Created attachment 268354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152984</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-01-05 21:26:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/24043104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153134</commentid>
    <comment_count>4</comment_count>
      <attachid>268354</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-01-06 12:14:39 -0800</bug_when>
    <thetext>Comment on attachment 268354
Patch

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

&gt; Source/WebCore/svg/SVGToOTFFontConversion.cpp:61
&gt; +    bool error() const

Why is this function needed? Can&apos;t we check m_error in functions like SVGToOTFFontConverter::convertSVGToOTFFont() and return immediately if its value is true?

&gt; Source/WebCore/svg/SVGToOTFFontConversion.cpp:1583
&gt;      SVGToOTFFontConverter converter(element);

Since SVGToOTFFontConverter::processGlyphElement() sets m_error to true and since it&apos;s called from the constructor of SVGToOTFFontConverter, should not we check converter.m_error before calling SVGToOTFFontConverter::convertSVGToOTFFont()? If m_error is true we are going to return Nullopt anyway.

&gt; Source/WebCore/svg/SVGToOTFFontConversion.cpp:1586
&gt; +        return Nullopt;

Can&apos;t this if-statment be written like this?

if (!converter.convertSVGToOTFFont())
     return Nullopt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154300</commentid>
    <comment_count>5</comment_count>
      <attachid>268354</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-01-10 18:56:34 -0800</bug_when>
    <thetext>Comment on attachment 268354
Patch

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

&gt;&gt; Source/WebCore/svg/SVGToOTFFontConversion.cpp:61
&gt;&gt; +    bool error() const
&gt; 
&gt; Why is this function needed? Can&apos;t we check m_error in functions like SVGToOTFFontConverter::convertSVGToOTFFont() and return immediately if its value is true?

I anticipate there may be new sources of errors in the future which should result in conversion failure.

&gt;&gt; Source/WebCore/svg/SVGToOTFFontConversion.cpp:1583
&gt;&gt;      SVGToOTFFontConverter converter(element);
&gt; 
&gt; Since SVGToOTFFontConverter::processGlyphElement() sets m_error to true and since it&apos;s called from the constructor of SVGToOTFFontConverter, should not we check converter.m_error before calling SVGToOTFFontConverter::convertSVGToOTFFont()? If m_error is true we are going to return Nullopt anyway.

Yeah, this is a good idea.

&gt;&gt; Source/WebCore/svg/SVGToOTFFontConversion.cpp:1586
&gt;&gt; +        return Nullopt;
&gt; 
&gt; Can&apos;t this if-statment be written like this?
&gt; 
&gt; if (!converter.convertSVGToOTFFont())
&gt;      return Nullopt;

👍</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154316</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-01-10 21:55:30 -0800</bug_when>
    <thetext>Committed r194839: &lt;http://trac.webkit.org/changeset/194839&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268353</attachid>
            <date>2016-01-05 21:24:55 -0800</date>
            <delta_ts>2016-01-05 21:25:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152772-20160105212422.patch</filename>
            <type>text/plain</type>
            <size>9636</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODljNTlkOGUxNmEyYjUy
NTg3NzE0MzBiOTZjYzBiOTU0M2U0ZmE5My4uYzU1NDEyZGRjNmRkODU3NjAyODRkYzVhN2RlZWIy
OGIwYjBmOTI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTAxLTA1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1NWRyAtPiBP
VEYgQ29udmVydGVyXSBQYXJzaW5nIGZhaWx1cmVzIGNhdXNlIHVzZSBvZiBpbmNvbXBsZXRlIGZv
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3
NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPcmln
aW5hbGx5LCBpZiB3ZSBmYWlsIHRvIHBhcnNlIGEgZ2x5cGgsIHdlIHdvdWxkIHNpbXBseSBza2lw
IHRoZSBnbHlwaC4gSG93ZXZlciwgdGhpcyBtZWFucyB0aGF0CisgICAgICAgIHdlIHdpbGwgY3Jl
YXRlIGFuIGluY29tcGxldGUgZm9udCB3aXRob3V0IGFsbCB0aGUgbmVjZXNzYXJ5IGdseXBocy4g
VGhpcyBjYXVzZXMgdmVyeSBkaXN0cmVzc2luZworICAgICAgICB0ZXh0IHdoZXJlIGFsbCB0aGUg
b2NjdXJhbmNlcyBvZiBhIHBhcnRpY3VsYXIgbGV0dGVyIGFyZSBtaXNzaW5nLiBJbnN0ZWFkLCB3
ZSBzaG91bGQgdHJlYXQgdGhlCisgICAgICAgIGVudGlyZSBmb250IGFzIGludmFsaWQuCisKKyAg
ICAgICAgVGVzdDogZmFzdC90ZXh0L3N2Zy1mb250LWludmFsaWQtZ2x5cGgtcGF0aC1mYWlsdXJl
Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250RmFjZVNvdXJjZTo6Zm9udCk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFNWR0ZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU1ZHRm9udDo6ZW5z
dXJlQ3VzdG9tRm9udERhdGEpOgorICAgICAgICAqIHN2Zy9TVkdUb09URkZvbnRDb252ZXJzaW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RvT1RGRm9udENvbnZlcnRlcjo6ZXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVG9PVEZGb250Q29udmVydGVyOjp0cmFuc2NvZGVHbHlwaFBh
dGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RvT1RGRm9udENvbnZlcnRlcjo6cHJvY2Vzc0ds
eXBoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0U1ZHVG9PVEZGb250KToKKyAg
ICAgICAgKiBzdmcvU1ZHVG9PVEZGb250Q29udmVyc2lvbi5oOgorCiAyMDE2LTAxLTA0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUG9zdC1jb21t
aXQgdXBkYXRlIGZvciByMTkzNDg0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJj
ZS5jcHAKaW5kZXggN2VmOTJiMzk5NjA5Mjk2ZTE2MGMzOThhODQ1ZmQ0ODIxMmZjNDRlNy4uZGZj
ZmFkYWMzZWZjNTMzYTg2MzBjZTA4NDc3MjUyMGZiMWJhZWM0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCkBAIC0xNDQsOCArMTQ0LDggQEAgUmVmUHRyPEZvbnQ+
IENTU0ZvbnRGYWNlU291cmNlOjpmb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2Ny
aXB0aW9uLCBib28KICAgICAgICAgICAgICAgICBTVkdGb250RWxlbWVudCYgZm9udEVsZW1lbnQg
PSBkb3duY2FzdDxTVkdGb250RWxlbWVudD4oKm1fc3ZnRm9udEZhY2VFbGVtZW50LT5wYXJlbnRO
b2RlKCkpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZS1ydW4gdGhpcyB3aGVuIHNjcmlw
dCBtb2RpZmllcyB0aGUgZWxlbWVudCBvciBhbnkgb2YgaXRzIGRlc2NlbmRlbnRzCiAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IFdlIG1pZ2h0IGhhdmUgYWxyZWFkeSBjb252ZXJ0ZWQgdGhpcyBm
b250LiBNYWtlIGV4aXN0aW5nIGNvbnZlcnNpb25zIGRpc2NvdmVyYWJsZS4KLSAgICAgICAgICAg
ICAgICBWZWN0b3I8Y2hhcj4gb3RmRm9udCA9IGNvbnZlcnRTVkdUb09URkZvbnQoZm9udEVsZW1l
bnQpOwotICAgICAgICAgICAgICAgIG1fZ2VuZXJhdGVkT1RGQnVmZmVyID0gU2hhcmVkQnVmZmVy
OjphZG9wdFZlY3RvcihvdGZGb250KTsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBvdGZGb250
ID0gY29udmVydFNWR1RvT1RGRm9udChmb250RWxlbWVudCkpCisgICAgICAgICAgICAgICAgICAg
IG1fZ2VuZXJhdGVkT1RGQnVmZmVyID0gU2hhcmVkQnVmZmVyOjphZG9wdFZlY3RvcihvdGZGb250
LnZhbHVlKCkpOwogICAgICAgICAgICAgICAgIGlmICghbV9nZW5lcmF0ZWRPVEZCdWZmZXIpCiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgICAgIGF1dG8g
Y3VzdG9tUGxhdGZvcm1EYXRhID0gY3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgqbV9nZW5l
cmF0ZWRPVEZCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFNWR0ZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNW
R0ZvbnQuY3BwCmluZGV4IDkyNzQ1YjE5ODJhNmJmNTFjMDVhMWQwMWYxMGU4OTUzMDJhYThjMzUu
Ljc3NzJiYThkYjc3M2JjNWM4ODNiNmE3Y2FjZDk2ODczNmQ0NTdmYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAKQEAgLTkyLDggKzkyLDEyIEBA
IGJvb2wgQ2FjaGVkU1ZHRm9udDo6ZW5zdXJlQ3VzdG9tRm9udERhdGEoYm9vbCBleHRlcm5hbFNW
RywgY29uc3QgQXRvbWljU3RyaW5nJiByCiAgICAgICAgICAgICBtYXliZUluaXRpYWxpemVFeHRl
cm5hbFNWR0ZvbnRFbGVtZW50KHJlbW90ZVVSSSk7CiAgICAgICAgIGlmICghbV9leHRlcm5hbFNW
R0ZvbnRFbGVtZW50KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBWZWN0b3I8
Y2hhcj4gY29udmVydGVkRm9udCA9IGNvbnZlcnRTVkdUb09URkZvbnQoKm1fZXh0ZXJuYWxTVkdG
b250RWxlbWVudCk7Ci0gICAgICAgIG1fY29udmVydGVkRm9udCA9IFNoYXJlZEJ1ZmZlcjo6YWRv
cHRWZWN0b3IoY29udmVydGVkRm9udCk7CisgICAgICAgIGlmIChhdXRvIGNvbnZlcnRlZEZvbnQg
PSBjb252ZXJ0U1ZHVG9PVEZGb250KCptX2V4dGVybmFsU1ZHRm9udEVsZW1lbnQpKQorICAgICAg
ICAgICAgbV9jb252ZXJ0ZWRGb250ID0gU2hhcmVkQnVmZmVyOjphZG9wdFZlY3Rvcihjb252ZXJ0
ZWRGb250LnZhbHVlKCkpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG1fZXh0ZXJuYWxT
VkdEb2N1bWVudCA9IG51bGxwdHI7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KICNlbmRpZgogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rv
T1RGRm9udENvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RvT1RGRm9udENv
bnZlcnNpb24uY3BwCmluZGV4IDhkNzFhZDIzMWIzMmMxZTdkMTE5NmY0YThkY2FhMzExYTQ3Njg4
NzQuLmM5OTM1NzkyZjVmNGRmOWM0ZDkyNzc5NzQ3NjAxN2ExNWI2ZGQyMzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUb09URkZvbnRDb252ZXJzaW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVG9PVEZGb250Q29udmVyc2lvbi5jcHAKQEAgLTU4LDYgKzU4LDEx
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFdURk1vdmUobV9yZXN1bHQpOwogICAgIH0KIAor
ICAgIGJvb2wgZXJyb3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZXJyb3I7Cisg
ICAgfQorCiBwcml2YXRlOgogICAgIHN0cnVjdCBHbHlwaERhdGEgewogICAgICAgICBHbHlwaERh
dGEoVmVjdG9yPGNoYXI+JiYgY2hhclN0cmluZywgY29uc3QgU1ZHR2x5cGhFbGVtZW50KiBnbHlw
aEVsZW1lbnQsIGZsb2F0IGhvcml6b250YWxBZHZhbmNlLCBmbG9hdCB2ZXJ0aWNhbEFkdmFuY2Us
IEZsb2F0UmVjdCBib3VuZGluZ0JveCwgY29uc3QgU3RyaW5nJiBjb2RlcG9pbnRzKQpAQCAtMjU3
LDYgKzI2Miw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV90YWJsZXNBcHBlbmRlZENvdW50
OwogICAgIGNoYXIgbV93ZWlnaHQ7CiAgICAgYm9vbCBtX2l0YWxpYzsKKyAgICBib29sIG1fZXJy
b3IgeyBmYWxzZSB9OwogfTsKIAogc3RhdGljIHVpbnQxNl90IHJvdW5kRG93blRvUG93ZXJPZlR3
byh1aW50MTZfdCB4KQpAQCAtMTI2OSw3ICsxMjc1LDcgQEAgVmVjdG9yPGNoYXI+IFNWR1RvT1RG
Rm9udENvbnZlcnRlcjo6dHJhbnNjb2RlR2x5cGhQYXRocyhmbG9hdCB3aWR0aCwgY29uc3QgU1ZH
RWwKIAogICAgIG9rID0gU1ZHUGF0aFBhcnNlcjo6cGFyc2Uoc291cmNlLCBidWlsZGVyKTsKICAg
ICBpZiAoIW9rKQotICAgICAgICByZXN1bHQuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsK
IAogICAgIGJvdW5kaW5nQm94ID0gYnVpbGRlci5ib3VuZGluZ0JveCgpOwogCkBAIC0xMjkxLDYg
KzEyOTcsMTAgQEAgdm9pZCBTVkdUb09URkZvbnRDb252ZXJ0ZXI6OnByb2Nlc3NHbHlwaEVsZW1l
bnQoY29uc3QgU1ZHRWxlbWVudCYgZ2x5cGhPck1pc3NpbmcKIAogICAgIE9wdGlvbmFsPEZsb2F0
UmVjdD4gZ2x5cGhCb3VuZGluZ0JveDsKICAgICBhdXRvIHBhdGggPSB0cmFuc2NvZGVHbHlwaFBh
dGhzKGhvcml6b250YWxBZHZhbmNlLCBnbHlwaE9yTWlzc2luZ0dseXBoRWxlbWVudCwgZ2x5cGhC
b3VuZGluZ0JveCk7CisgICAgaWYgKCFwYXRoLnNpemUoKSkgeworICAgICAgICAvLyBJdCdzIGJl
dHRlciB0byB1c2UgYSBmYWxsYmFjayBmb250IHJhdGhlciB0aGFuIHVzZSBhIGZvbnQgd2l0aG91
dCBhbGwgaXRzIGdseXBocy4KKyAgICAgICAgbV9lcnJvciA9IHRydWU7CisgICAgfQogICAgIGlm
ICghYm91bmRpbmdCb3gpCiAgICAgICAgIGJvdW5kaW5nQm94ID0gZ2x5cGhCb3VuZGluZ0JveDsK
ICAgICBlbHNlIGlmIChnbHlwaEJvdW5kaW5nQm94KQpAQCAtMTU2OCwxMCArMTU3OCwxMiBAQCB2
b2lkIFNWR1RvT1RGRm9udENvbnZlcnRlcjo6Y29udmVydFNWR1RvT1RGRm9udCgpCiAgICAgb3Zl
cndyaXRlMzIoaGVhZFRhYmxlT2Zmc2V0ICsgOCwgMHhCMUIwQUZCQVUgLSBjYWxjdWxhdGVDaGVj
a3N1bSgwLCBtX3Jlc3VsdC5zaXplKCkpKTsKIH0KIAotVmVjdG9yPGNoYXI+IGNvbnZlcnRTVkdU
b09URkZvbnQoY29uc3QgU1ZHRm9udEVsZW1lbnQmIGVsZW1lbnQpCitPcHRpb25hbDxWZWN0b3I8
Y2hhcj4+IGNvbnZlcnRTVkdUb09URkZvbnQoY29uc3QgU1ZHRm9udEVsZW1lbnQmIGVsZW1lbnQp
CiB7CiAgICAgU1ZHVG9PVEZGb250Q29udmVydGVyIGNvbnZlcnRlcihlbGVtZW50KTsKICAgICBj
b252ZXJ0ZXIuY29udmVydFNWR1RvT1RGRm9udCgpOworICAgIGlmIChjb252ZXJ0ZXIuZXJyb3Io
KSkKKyAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgcmV0dXJuIGNvbnZlcnRlci5yZWxlYXNl
UmVzdWx0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUb09URkZv
bnRDb252ZXJzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVG9PVEZGb250Q29udmVyc2lv
bi5oCmluZGV4IDE5N2ZjODlkOGQ3NDZmOTAzOWUxZjFkYjE2ZDliNDAzNTI1MDFiOWIuLjMwYTQz
MTFiNDI1ZDhlNDU3MTIwMGUwNzNkZDY0ZTI4Y2Y1ZTVhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUb09URkZvbnRDb252ZXJzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RvT1RGRm9udENvbnZlcnNpb24uaApAQCAtMjYsMTMgKzI2LDE0IEBACiAjaWZuZGVm
IFNWR1RvT1RGRm9udENvbnZlcnNpb25faAogI2RlZmluZSBTVkdUb09URkZvbnRDb252ZXJzaW9u
X2gKIAorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGb250RWxlbWVudDsKIAotVmVjdG9y
PGNoYXI+IGNvbnZlcnRTVkdUb09URkZvbnQoY29uc3QgU1ZHRm9udEVsZW1lbnQmKTsKK09wdGlv
bmFsPFZlY3RvcjxjaGFyPj4gY29udmVydFNWR1RvT1RGRm9udChjb25zdCBTVkdGb250RWxlbWVu
dCYpOwogCiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBmYTBjZjE0YWJmODExNGRmM2NlYzIxMjdmNjA5MTAzZGJiMDIy
MWYyLi43MzI3ZWFiYzEyYjA2MGU1OTQyNThiYmVhOWIwYzY1ODYzZjc1NmE1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTYtMDEtMDUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KKworICAgICAgICBbU1ZHIC0+IE9URiBDb252ZXJ0ZXJdIFBhcnNpbmcgZmFpbHVy
ZXMgY2F1c2UgdXNlIG9mIGluY29tcGxldGUgZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Mjc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgZm9udCByZW5kZXJzIGFzIGlm
IGl0cyBpbnZhbGlkLgorCisgICAgICAgICogZmFzdC90ZXh0L3Jlc291cmNlcy9idXN0ZWRmb250
LnN2ZzogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3N2Zy1mb250LWludmFsaWQtZ2x5cGgt
cGF0aC1mYWlsdXJlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9z
dmctZm9udC1pbnZhbGlkLWdseXBoLXBhdGgtZmFpbHVyZS5odG1sOiBBZGRlZC4KKwogMjAxNi0w
MS0wNCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTk0NTMzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3Jlc291cmNlcy9idXN0ZWRmb250LnN2ZyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9y
ZXNvdXJjZXMvYnVzdGVkZm9udC5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNmMTBjYzJkNjYzMzhmZDRjZjY5
MWNiNTk3ZDUxNjIzZmYwOTIxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9yZXNvdXJjZXMvYnVzdGVkZm9udC5zdmcKQEAgLTAsMCArMSwxNSBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1cz
Qy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9E
VEQvc3ZnMTEuZHRkIiA+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+
Cis8bWV0YWRhdGE+PC9tZXRhZGF0YT4KKzxkZWZzPgorPGZvbnQgaWQ9IkxpdGhlcnVtIiBob3Jp
ei1hZHYteD0iMTAyNCI+Cis8Zm9udC1mYWNlIHVuaXRzLXBlci1lbT0iMTQiIGFzY2VudD0iMTQi
IGRlc2NlbnQ9IjAiLz4KKzxnbHlwaCB1bmljb2RlPSJhIiBob3Jpei1hZHYteD0iMTQiIGQ9Ik0w
IDB2MTRoMTR2LTE0eiIvPgorPGdseXBoIHVuaWNvZGU9ImUiIGhvcml6LWFkdi14PSIxNCIgZD0i
TTAgMHYxNEQxNHYtMTR6Ii8+Cis8Z2x5cGggdW5pY29kZT0iaSIgaG9yaXotYWR2LXg9IjE0IiBk
PSJNMCAwdjE0aDE0di0xNHoiLz4KKzxnbHlwaCB1bmljb2RlPSJvIiBob3Jpei1hZHYteD0iMTQi
IGQ9Ik0wIDB2MTRoMTR2LTE0eiIvPgorPGdseXBoIHVuaWNvZGU9InUiIGhvcml6LWFkdi14PSIx
NCIgZD0iTTAgMHYxNGgxNHYtMTR6Ii8+Cis8L2ZvbnQ+Cis8L2RlZnM+Cis8L3N2Zz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zdmctZm9udC1pbnZhbGlkLWdseXBoLXBhdGgt
ZmFpbHVyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3N2Zy1mb250LWlu
dmFsaWQtZ2x5cGgtcGF0aC1mYWlsdXJlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjAwNzdh
YzYzZmZkOWZmZmNlOGNjZWQwOTA0MzM5NjEzZTI2YmRiYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9zdmctZm9udC1pbnZhbGlkLWdseXBoLXBhdGgtZmFpbHVyZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEgcGF0aCBw
YXJzaW5nIGZhaWx1cmUgb2YgKGEgc2luZ2xlIGdseXBoIG9mKSBhbiBTVkcgZm9udCBpcyB0cmVh
dGVkIGFzIGFuIGludmFsaWQgZm9udC4gVGhlcmUgc2hvdWxkIGJlIHRleHQgYmVsb3cgKGluc3Rl
YWQgb2YgYSBiaWcgYmxhY2sgYm94KS4KKzxkaXYgc3R5bGU9ImZvbnQ6IDUwcHggQXZlbmlyIj5h
ZWlvdTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zdmctZm9udC1pbnZhbGlkLWdseXBo
LXBhdGgtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3N2Zy1mb250LWludmFs
aWQtZ2x5cGgtcGF0aC1mYWlsdXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmYyOGM4NWU3ZGU4OGZlYjdl
ZjZiMmMwZTMwMmJmMDZjOWIxMTg5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zdmctZm9udC1pbnZhbGlkLWdseXBoLXBhdGgtZmFpbHVyZS5odG1sCkBAIC0wLDAg
KzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250
LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiYnVzdGVkZm9udCI7CisgICAgc3JjOiB1cmwoInJl
c291cmNlcy9idXN0ZWRmb250LnN2ZyIpIGZvcm1hdCgic3ZnIik7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEgcGF0aCBwYXJzaW5nIGZh
aWx1cmUgb2YgKGEgc2luZ2xlIGdseXBoIG9mKSBhbiBTVkcgZm9udCBpcyB0cmVhdGVkIGFzIGFu
IGludmFsaWQgZm9udC4gVGhlcmUgc2hvdWxkIGJlIHRleHQgYmVsb3cgKGluc3RlYWQgb2YgYSBi
aWcgYmxhY2sgYm94KS4KKzxkaXYgc3R5bGU9ImZvbnQ6IDUwcHggYnVzdGVkZm9udCwgQXZlbmly
Ij5hZWlvdTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268354</attachid>
            <date>2016-01-05 21:25:38 -0800</date>
            <delta_ts>2016-01-06 11:34:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152772-20160105212505.patch</filename>
            <type>text/plain</type>
            <size>9706</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODljNTlkOGUxNmEyYjUy
NTg3NzE0MzBiOTZjYzBiOTU0M2U0ZmE5My4uNzQwMjRhNDgyYmRhMGQ1ZWM1MTE0OGJhZTlmY2U5
OWI0NzBmMjQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAxLTA1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1NWRyAtPiBP
VEYgQ29udmVydGVyXSBQYXJzaW5nIGZhaWx1cmVzIGNhdXNlIHVzZSBvZiBpbmNvbXBsZXRlIGZv
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3
NzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0MDQzMTA0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9yaWdpbmFsbHksIGlmIHdlIGZhaWwgdG8g
cGFyc2UgYSBnbHlwaCwgd2Ugd291bGQgc2ltcGx5IHNraXAgdGhlIGdseXBoLiBIb3dldmVyLCB0
aGlzIG1lYW5zIHRoYXQKKyAgICAgICAgd2Ugd2lsbCBjcmVhdGUgYW4gaW5jb21wbGV0ZSBmb250
IHdpdGhvdXQgYWxsIHRoZSBuZWNlc3NhcnkgZ2x5cGhzLiBUaGlzIGNhdXNlcyB2ZXJ5IGRpc3Ry
ZXNzaW5nCisgICAgICAgIHRleHQgd2hlcmUgYWxsIHRoZSBvY2N1cmFuY2VzIG9mIGEgcGFydGlj
dWxhciBsZXR0ZXIgYXJlIG1pc3NpbmcuIEluc3RlYWQsIHdlIHNob3VsZCB0cmVhdCB0aGUKKyAg
ICAgICAgZW50aXJlIGZvbnQgYXMgaW52YWxpZC4KKworICAgICAgICBUZXN0OiBmYXN0L3RleHQv
c3ZnLWZvbnQtaW52YWxpZC1nbHlwaC1wYXRoLWZhaWx1cmUuaHRtbAorCisgICAgICAgICogY3Nz
L0NTU0ZvbnRGYWNlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU291
cmNlOjpmb250KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRTVkdGb250OjplbnN1cmVDdXN0b21Gb250RGF0YSk6Cisg
ICAgICAgICogc3ZnL1NWR1RvT1RGRm9udENvbnZlcnNpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVG9PVEZGb250Q29udmVydGVyOjplcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdU
b09URkZvbnRDb252ZXJ0ZXI6OnRyYW5zY29kZUdseXBoUGF0aHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVG9PVEZGb250Q29udmVydGVyOjpwcm9jZXNzR2x5cGhFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OmNvbnZlcnRTVkdUb09URkZvbnQpOgorICAgICAgICAqIHN2Zy9TVkdUb09URkZv
bnRDb252ZXJzaW9uLmg6CisKIDIwMTYtMDEtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBQb3N0LWNvbW1pdCB1cGRhdGUgZm9yIHIxOTM0ODQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAppbmRleCA3ZWY5MmIzOTk2
MDkyOTZlMTYwYzM5OGE4NDVmZDQ4MjEyZmM0NGU3Li5kZmNmYWRhYzNlZmM1MzNhODYzMGNlMDg0
NzcyNTIwZmIxYmFlYzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5j
cHAKQEAgLTE0NCw4ICsxNDQsOCBAQCBSZWZQdHI8Rm9udD4gQ1NTRm9udEZhY2VTb3VyY2U6OmZv
bnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvbwogICAgICAgICAg
ICAgICAgIFNWR0ZvbnRFbGVtZW50JiBmb250RWxlbWVudCA9IGRvd25jYXN0PFNWR0ZvbnRFbGVt
ZW50PigqbV9zdmdGb250RmFjZUVsZW1lbnQtPnBhcmVudE5vZGUoKSk7CiAgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IFJlLXJ1biB0aGlzIHdoZW4gc2NyaXB0IG1vZGlmaWVzIHRoZSBlbGVtZW50
IG9yIGFueSBvZiBpdHMgZGVzY2VuZGVudHMKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2Ug
bWlnaHQgaGF2ZSBhbHJlYWR5IGNvbnZlcnRlZCB0aGlzIGZvbnQuIE1ha2UgZXhpc3RpbmcgY29u
dmVyc2lvbnMgZGlzY292ZXJhYmxlLgotICAgICAgICAgICAgICAgIFZlY3RvcjxjaGFyPiBvdGZG
b250ID0gY29udmVydFNWR1RvT1RGRm9udChmb250RWxlbWVudCk7Ci0gICAgICAgICAgICAgICAg
bV9nZW5lcmF0ZWRPVEZCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmFkb3B0VmVjdG9yKG90ZkZvbnQp
OworICAgICAgICAgICAgICAgIGlmIChhdXRvIG90ZkZvbnQgPSBjb252ZXJ0U1ZHVG9PVEZGb250
KGZvbnRFbGVtZW50KSkKKyAgICAgICAgICAgICAgICAgICAgbV9nZW5lcmF0ZWRPVEZCdWZmZXIg
PSBTaGFyZWRCdWZmZXI6OmFkb3B0VmVjdG9yKG90ZkZvbnQudmFsdWUoKSk7CiAgICAgICAgICAg
ICAgICAgaWYgKCFtX2dlbmVyYXRlZE9URkJ1ZmZlcikKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgICAgICAgICAgICAgYXV0byBjdXN0b21QbGF0Zm9ybURhdGEgPSBj
cmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCptX2dlbmVyYXRlZE9URkJ1ZmZlcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9udC5jcHAKaW5kZXggOTI3NDVi
MTk4MmE2YmY1MWMwNWExZDAxZjEwZTg5NTMwMmFhOGMzNS4uNzc3MmJhOGRiNzczYmM1Yzg4M2I2
YTdjYWNkOTY4NzM2ZDQ1N2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFNWR0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRTVkdGb250LmNwcApAQCAtOTIsOCArOTIsMTIgQEAgYm9vbCBDYWNoZWRTVkdGb250Ojpl
bnN1cmVDdXN0b21Gb250RGF0YShib29sIGV4dGVybmFsU1ZHLCBjb25zdCBBdG9taWNTdHJpbmcm
IHIKICAgICAgICAgICAgIG1heWJlSW5pdGlhbGl6ZUV4dGVybmFsU1ZHRm9udEVsZW1lbnQocmVt
b3RlVVJJKTsKICAgICAgICAgaWYgKCFtX2V4dGVybmFsU1ZHRm9udEVsZW1lbnQpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIFZlY3RvcjxjaGFyPiBjb252ZXJ0ZWRGb250ID0g
Y29udmVydFNWR1RvT1RGRm9udCgqbV9leHRlcm5hbFNWR0ZvbnRFbGVtZW50KTsKLSAgICAgICAg
bV9jb252ZXJ0ZWRGb250ID0gU2hhcmVkQnVmZmVyOjphZG9wdFZlY3Rvcihjb252ZXJ0ZWRGb250
KTsKKyAgICAgICAgaWYgKGF1dG8gY29udmVydGVkRm9udCA9IGNvbnZlcnRTVkdUb09URkZvbnQo
Km1fZXh0ZXJuYWxTVkdGb250RWxlbWVudCkpCisgICAgICAgICAgICBtX2NvbnZlcnRlZEZvbnQg
PSBTaGFyZWRCdWZmZXI6OmFkb3B0VmVjdG9yKGNvbnZlcnRlZEZvbnQudmFsdWUoKSk7CisgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgbV9leHRlcm5hbFNWR0RvY3VtZW50ID0gbnVsbHB0cjsK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogI2VuZGlmCiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVG9PVEZGb250Q29udmVyc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVG9PVEZGb250Q29udmVyc2lvbi5jcHAKaW5kZXggOGQ3
MWFkMjMxYjMyYzFlN2QxMTk2ZjRhOGRjYWEzMTFhNDc2ODg3NC4uYzk5MzU3OTJmNWY0ZGY5YzRk
OTI3Nzk3NDc2MDE3YTE1YjZkZDIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RvT1RGRm9udENvbnZlcnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUb09U
RkZvbnRDb252ZXJzaW9uLmNwcApAQCAtNTgsNiArNTgsMTEgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gV1RGTW92ZShtX3Jlc3VsdCk7CiAgICAgfQogCisgICAgYm9vbCBlcnJvcigpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9lcnJvcjsKKyAgICB9CisKIHByaXZhdGU6CiAgICAg
c3RydWN0IEdseXBoRGF0YSB7CiAgICAgICAgIEdseXBoRGF0YShWZWN0b3I8Y2hhcj4mJiBjaGFy
U3RyaW5nLCBjb25zdCBTVkdHbHlwaEVsZW1lbnQqIGdseXBoRWxlbWVudCwgZmxvYXQgaG9yaXpv
bnRhbEFkdmFuY2UsIGZsb2F0IHZlcnRpY2FsQWR2YW5jZSwgRmxvYXRSZWN0IGJvdW5kaW5nQm94
LCBjb25zdCBTdHJpbmcmIGNvZGVwb2ludHMpCkBAIC0yNTcsNiArMjYyLDcgQEAgcHJpdmF0ZToK
ICAgICB1bnNpZ25lZCBtX3RhYmxlc0FwcGVuZGVkQ291bnQ7CiAgICAgY2hhciBtX3dlaWdodDsK
ICAgICBib29sIG1faXRhbGljOworICAgIGJvb2wgbV9lcnJvciB7IGZhbHNlIH07CiB9OwogCiBz
dGF0aWMgdWludDE2X3Qgcm91bmREb3duVG9Qb3dlck9mVHdvKHVpbnQxNl90IHgpCkBAIC0xMjY5
LDcgKzEyNzUsNyBAQCBWZWN0b3I8Y2hhcj4gU1ZHVG9PVEZGb250Q29udmVydGVyOjp0cmFuc2Nv
ZGVHbHlwaFBhdGhzKGZsb2F0IHdpZHRoLCBjb25zdCBTVkdFbAogCiAgICAgb2sgPSBTVkdQYXRo
UGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpOwogICAgIGlmICghb2spCi0gICAgICAgIHJl
c3VsdC5jbGVhcigpOworICAgICAgICByZXR1cm4geyB9OwogCiAgICAgYm91bmRpbmdCb3ggPSBi
dWlsZGVyLmJvdW5kaW5nQm94KCk7CiAKQEAgLTEyOTEsNiArMTI5NywxMCBAQCB2b2lkIFNWR1Rv
T1RGRm9udENvbnZlcnRlcjo6cHJvY2Vzc0dseXBoRWxlbWVudChjb25zdCBTVkdFbGVtZW50JiBn
bHlwaE9yTWlzc2luZwogCiAgICAgT3B0aW9uYWw8RmxvYXRSZWN0PiBnbHlwaEJvdW5kaW5nQm94
OwogICAgIGF1dG8gcGF0aCA9IHRyYW5zY29kZUdseXBoUGF0aHMoaG9yaXpvbnRhbEFkdmFuY2Us
IGdseXBoT3JNaXNzaW5nR2x5cGhFbGVtZW50LCBnbHlwaEJvdW5kaW5nQm94KTsKKyAgICBpZiAo
IXBhdGguc2l6ZSgpKSB7CisgICAgICAgIC8vIEl0J3MgYmV0dGVyIHRvIHVzZSBhIGZhbGxiYWNr
IGZvbnQgcmF0aGVyIHRoYW4gdXNlIGEgZm9udCB3aXRob3V0IGFsbCBpdHMgZ2x5cGhzLgorICAg
ICAgICBtX2Vycm9yID0gdHJ1ZTsKKyAgICB9CiAgICAgaWYgKCFib3VuZGluZ0JveCkKICAgICAg
ICAgYm91bmRpbmdCb3ggPSBnbHlwaEJvdW5kaW5nQm94OwogICAgIGVsc2UgaWYgKGdseXBoQm91
bmRpbmdCb3gpCkBAIC0xNTY4LDEwICsxNTc4LDEyIEBAIHZvaWQgU1ZHVG9PVEZGb250Q29udmVy
dGVyOjpjb252ZXJ0U1ZHVG9PVEZGb250KCkKICAgICBvdmVyd3JpdGUzMihoZWFkVGFibGVPZmZz
ZXQgKyA4LCAweEIxQjBBRkJBVSAtIGNhbGN1bGF0ZUNoZWNrc3VtKDAsIG1fcmVzdWx0LnNpemUo
KSkpOwogfQogCi1WZWN0b3I8Y2hhcj4gY29udmVydFNWR1RvT1RGRm9udChjb25zdCBTVkdGb250
RWxlbWVudCYgZWxlbWVudCkKK09wdGlvbmFsPFZlY3RvcjxjaGFyPj4gY29udmVydFNWR1RvT1RG
Rm9udChjb25zdCBTVkdGb250RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBTVkdUb09URkZvbnRD
b252ZXJ0ZXIgY29udmVydGVyKGVsZW1lbnQpOwogICAgIGNvbnZlcnRlci5jb252ZXJ0U1ZHVG9P
VEZGb250KCk7CisgICAgaWYgKGNvbnZlcnRlci5lcnJvcigpKQorICAgICAgICByZXR1cm4gTnVs
bG9wdDsKICAgICByZXR1cm4gY29udmVydGVyLnJlbGVhc2VSZXN1bHQoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RvT1RGRm9udENvbnZlcnNpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUb09URkZvbnRDb252ZXJzaW9uLmgKaW5kZXggMTk3ZmM4OWQ4ZDc0
NmY5MDM5ZTFmMWRiMTZkOWI0MDM1MjUwMWI5Yi4uMzBhNDMxMWI0MjVkOGU0NTcxMjAwZTA3M2Rk
NjRlMjhjZjVlNWFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RvT1RGRm9u
dENvbnZlcnNpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVG9PVEZGb250Q29udmVy
c2lvbi5oCkBAIC0yNiwxMyArMjYsMTQgQEAKICNpZm5kZWYgU1ZHVG9PVEZGb250Q29udmVyc2lv
bl9oCiAjZGVmaW5lIFNWR1RvT1RGRm9udENvbnZlcnNpb25faAogCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFNWR0ZvbnRFbGVtZW50OwogCi1WZWN0b3I8Y2hhcj4gY29udmVydFNWR1RvT1RG
Rm9udChjb25zdCBTVkdGb250RWxlbWVudCYpOworT3B0aW9uYWw8VmVjdG9yPGNoYXI+PiBjb252
ZXJ0U1ZHVG9PVEZGb250KGNvbnN0IFNWR0ZvbnRFbGVtZW50Jik7CiAKIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZh
MGNmMTRhYmY4MTE0ZGYzY2VjMjEyN2Y2MDkxMDNkYmIwMjIxZjIuLjRkZjkxYmEzZmU0MTA3N2Fh
NTliNjQxOWViZDlhODM2ZDdkZDc2MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wMS0w
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtT
VkcgLT4gT1RGIENvbnZlcnRlcl0gUGFyc2luZyBmYWlsdXJlcyBjYXVzZSB1c2Ugb2YgaW5jb21w
bGV0ZSBmb250cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUyNzcyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDA0MzEwND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdGhlIGZvbnQg
cmVuZGVycyBhcyBpZiBpdHMgaW52YWxpZC4KKworICAgICAgICAqIGZhc3QvdGV4dC9yZXNvdXJj
ZXMvYnVzdGVkZm9udC5zdmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9zdmctZm9udC1p
bnZhbGlkLWdseXBoLXBhdGgtZmFpbHVyZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvc3ZnLWZvbnQtaW52YWxpZC1nbHlwaC1wYXRoLWZhaWx1cmUuaHRtbDogQWRk
ZWQuCisKIDIwMTYtMDEtMDQgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5NDUzMy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9yZXNvdXJjZXMvYnVzdGVkZm9udC5zdmcgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvcmVzb3VyY2VzL2J1c3RlZGZvbnQuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjZjEwY2My
ZDY2MzM4ZmQ0Y2Y2OTFjYjU5N2Q1MTYyM2ZmMDkyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvcmVzb3VyY2VzL2J1c3RlZGZvbnQuc3ZnCkBAIC0wLDAgKzEsMTUg
QEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcg
UFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBo
aWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciPgorPG1ldGFkYXRhPjwvbWV0YWRhdGE+Cis8ZGVmcz4KKzxmb250IGlkPSJM
aXRoZXJ1bSIgaG9yaXotYWR2LXg9IjEwMjQiPgorPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjE0
IiBhc2NlbnQ9IjE0IiBkZXNjZW50PSIwIi8+Cis8Z2x5cGggdW5pY29kZT0iYSIgaG9yaXotYWR2
LXg9IjE0IiBkPSJNMCAwdjE0aDE0di0xNHoiLz4KKzxnbHlwaCB1bmljb2RlPSJlIiBob3Jpei1h
ZHYteD0iMTQiIGQ9Ik0wIDB2MTREMTR2LTE0eiIvPgorPGdseXBoIHVuaWNvZGU9ImkiIGhvcml6
LWFkdi14PSIxNCIgZD0iTTAgMHYxNGgxNHYtMTR6Ii8+Cis8Z2x5cGggdW5pY29kZT0ibyIgaG9y
aXotYWR2LXg9IjE0IiBkPSJNMCAwdjE0aDE0di0xNHoiLz4KKzxnbHlwaCB1bmljb2RlPSJ1IiBo
b3Jpei1hZHYteD0iMTQiIGQ9Ik0wIDB2MTRoMTR2LTE0eiIvPgorPC9mb250PgorPC9kZWZzPgor
PC9zdmc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc3ZnLWZvbnQtaW52YWxp
ZC1nbHlwaC1wYXRoLWZhaWx1cmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9zdmctZm9udC1pbnZhbGlkLWdseXBoLXBhdGgtZmFpbHVyZS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYwMDc3YWM2M2ZmZDlmZmZjZThjY2VkMDkwNDMzOTYxM2UyNmJkYmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc3ZnLWZvbnQtaW52YWxpZC1nbHlwaC1w
YXRoLWZhaWx1cmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBhIHBhdGggcGFyc2luZyBmYWlsdXJlIG9mIChhIHNpbmdsZSBnbHlwaCBvZikgYW4gU1ZH
IGZvbnQgaXMgdHJlYXRlZCBhcyBhbiBpbnZhbGlkIGZvbnQuIFRoZXJlIHNob3VsZCBiZSB0ZXh0
IGJlbG93IChpbnN0ZWFkIG9mIGEgYmlnIGJsYWNrIGJveCkuCis8ZGl2IHN0eWxlPSJmb250OiA1
MHB4IEF2ZW5pciI+YWVpb3U8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc3ZnLWZvbnQt
aW52YWxpZC1nbHlwaC1wYXRoLWZhaWx1cmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9z
dmctZm9udC1pbnZhbGlkLWdseXBoLXBhdGgtZmFpbHVyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmMjhj
ODVlN2RlODhmZWI3ZWY2YjJjMGUzMDJiZjA2YzliMTE4OWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvc3ZnLWZvbnQtaW52YWxpZC1nbHlwaC1wYXRoLWZhaWx1cmUu
aHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogImJ1c3RlZGZvbnQiOworICAg
IHNyYzogdXJsKCJyZXNvdXJjZXMvYnVzdGVkZm9udC5zdmciKSBmb3JtYXQoInN2ZyIpOworfQor
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhIHBh
dGggcGFyc2luZyBmYWlsdXJlIG9mIChhIHNpbmdsZSBnbHlwaCBvZikgYW4gU1ZHIGZvbnQgaXMg
dHJlYXRlZCBhcyBhbiBpbnZhbGlkIGZvbnQuIFRoZXJlIHNob3VsZCBiZSB0ZXh0IGJlbG93IChp
bnN0ZWFkIG9mIGEgYmlnIGJsYWNrIGJveCkuCis8ZGl2IHN0eWxlPSJmb250OiA1MHB4IGJ1c3Rl
ZGZvbnQsIEF2ZW5pciI+YWVpb3U8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="293292"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>