<?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>230605</bug_id>
          
          <creation_ts>2021-09-22 02:05:45 -0700</creation_ts>
          <short_desc>Color keywords in override-color cause a crash</short_desc>
          <delta_ts>2021-09-24 13:12:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=230533</see_also>
          <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>
          
          <blocked>230446</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>clopez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1795993</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-22 02:05:45 -0700</bug_when>
    <thetext>Color keywords in override-color cause a crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795994</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-22 02:06:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/83389290&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796771</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-23 21:13:11 -0700</bug_when>
    <thetext>Looks like color keywords are idents, otherwise it&apos;s a color primitive value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796774</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-23 21:19:45 -0700</bug_when>
    <thetext>    static void applyValueColor(BuilderState&amp; builderState, CSSValue&amp; value)
    {
        auto&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(value);
        if (primitiveValue.valueID() == CSSValueCurrentcolor) {
            applyInheritColor(builderState);
            return;
        }
        if (builderState.applyPropertyToRegularStyle())
            builderState.style().setColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::No));
        if (builderState.applyPropertyToVisitedLinkStyle())
            builderState.style().setVisitedLinkColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::Yes));
    }



- and -



Color BuilderState::colorFromPrimitiveValue(const CSSPrimitiveValue&amp; value, ForVisitedLink forVisitedLink) const
{
    if (value.isRGBColor())
        return value.color();

    auto identifier = value.valueID();
    switch (identifier) {
    case CSSValueWebkitText:
        return document().textColor();
    case CSSValueWebkitLink:
        return (element() &amp;&amp; element()-&gt;isLink() &amp;&amp; forVisitedLink == ForVisitedLink::Yes) ? document().visitedLinkColor() : document().linkColor();
    case CSSValueWebkitActivelink:
        return document().activeLinkColor();
    case CSSValueWebkitFocusRingColor:
        return RenderTheme::singleton().focusRingColor(document().styleColorOptions(&amp;m_style));
    case CSSValueCurrentcolor:
        return RenderStyle::currentColor();
    default:
        return StyleColor::colorFromKeyword(identifier, document().styleColorOptions(&amp;m_style));
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796788</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-23 23:11:10 -0700</bug_when>
    <thetext>See: https://github.com/w3c/csswg-drafts/issues/6680</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796794</commentid>
    <comment_count>5</comment_count>
      <attachid>439129</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-23 23:48:02 -0700</bug_when>
    <thetext>Created attachment 439129
WIP, as if resolution needed to be done per-element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796805</commentid>
    <comment_count>6</comment_count>
      <attachid>439131</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-24 00:39:05 -0700</bug_when>
    <thetext>Created attachment 439131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796806</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-09-24 00:40:33 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797006</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-24 13:12:31 -0700</bug_when>
    <thetext>Committed r283053 (242113@main): &lt;https://commits.webkit.org/242113@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439129</attachid>
            <date>2021-09-23 23:48:02 -0700</date>
            <delta_ts>2021-09-24 00:39:19 -0700</delta_ts>
            <desc>WIP, as if resolution needed to be done per-element</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>11296</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDJlMjNiOWE1MDVhMzAyYTI3YzJjNWQ4YmIwYWM2OTdjNzI1NmU2M2EKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBUaHUgU2VwIDIz
IDIyOjMxOjU0IDIwMjEgLTA3MDAKCiAgICBXSVAKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCmluZGV4
IGI3MTkwYmJjOTI3MC4uMzBlYjEwYWJlMDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaApAQCAt
MjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAppbmRleCAwODdlMjRkYWJm
ODcuLjgzODQ0NDNlZTkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS5jcHAKQEAgLTYzLDEwICs2MywxMCBAQCBTdHJpbmcgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNvbnN0CiAKIHZvaWQgQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZShET01NYXBBZGFwdGVyJiBtYXApCiB7Ci0gICAg
Zm9yIChhdXRvJiBwYWlyIDogbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3Io
KSkgewotICAgICAgICBpZiAoIVdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8aW50NjRfdD4ocGFpci5m
aXJzdCkpCisgICAgZm9yIChhdXRvJiBpdGVtIDogbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92
ZXJyaWRlQ29sb3IoKSkgeworICAgICAgICBpZiAoIWl0ZW0tPmtleSgpLmlzTnVtYmVyKCkpCiAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbWFwLnNldDxJRExVbnNpZ25lZExvbmcsIElE
TFVTVlN0cmluZz4oV1RGOjpnZXQ8aW50NjRfdD4ocGFpci5maXJzdCksIHNlcmlhbGl6YXRpb25G
b3JDU1MocGFpci5zZWNvbmQpKTsKKyAgICAgICAgbWFwLnNldDxJRExVbnNpZ25lZExvbmcsIElE
TFVTVlN0cmluZz4oaXRlbS0+a2V5KCkudmFsdWU8aW50NjRfdD4oKSwgaXRlbS0+Y29sb3IoKS5j
dXN0b21DU1NUZXh0KCkpOwogICAgIH0KIH0KIApAQCAtODcsMTMgKzg3LDcgQEAgU3RyaW5nIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKS5z
aXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKGkpCiAgICAgICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoJywnKTsKLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAg
ICAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9y
KClbaV0uZmlyc3QsIFsmXShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7Ci0gICAgICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplU3RyaW5nKG5hbWUuc3RyaW5nKCkpKTsKLSAgICAg
ICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7Ci0gICAgICAgICAgICAgICAgYnVpbGRlci5h
cHBlbmQoaW5kZXgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBidWlsZGVyLmFwcGVu
ZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJy
aWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJywg
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS0+Y3VzdG9tQ1NTVGV4
dCgpKTsKICAgICAgICAgfQogICAgICAgICBidWlsZGVyLmFwcGVuZCgiOyAiKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDQ5NjQ3ZmM2Y2Y1Yi4uM2I1
MDY0ZmE0NjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcApAQCAtMjM1
LDggKzIzNSw4IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250UGFsZXR0ZVZhbHVlc1J1
bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQCiB7CiAgICAgQXRvbVN0cmluZyBm
b250RmFtaWx5ID0gZm9udFBhbGV0dGVWYWx1ZXNSdWxlLmZvbnRGYW1pbHkoKS5pc051bGwoKSA/
IGVtcHR5QXRvbSgpIDogZm9udFBhbGV0dGVWYWx1ZXNSdWxlLmZvbnRGYW1pbHkoKTsKICAgICBB
dG9tU3RyaW5nIG5hbWUgPSBmb250UGFsZXR0ZVZhbHVlc1J1bGUubmFtZSgpLmlzTnVsbCgpID8g
ZW1wdHlBdG9tKCkgOiBmb250UGFsZXR0ZVZhbHVlc1J1bGUubmFtZSgpOwotICAgIG1fcGFsZXR0
ZUZhbWlseU1hcC5lbnN1cmUoc3RkOjptYWtlX3BhaXIoZm9udEZhbWlseSwgbmFtZSksIFsmXSAo
KSB7Ci0gICAgICAgIHJldHVybiBmb250UGFsZXR0ZVZhbHVlc1J1bGUuZm9udFBhbGV0dGVWYWx1
ZXMoKTsKKyAgICBtX3BhbGV0dGVGYW1pbHlNYXAuZW5zdXJlKHN0ZDo6bWFrZV9wYWlyKGZvbnRG
YW1pbHksIG5hbWUpLCBbJl0gKCkgLT4gUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiB7
CisgICAgICAgIHJldHVybiBmb250UGFsZXR0ZVZhbHVlc1J1bGU7CiAgICAgfSk7CiAKICAgICAr
K21fdmVyc2lvbjsKQEAgLTMxNyw2ICszMTcsMjMgQEAgc3RkOjpvcHRpb25hbDxBdG9tU3RyaW5n
PiBDU1NGb250U2VsZWN0b3I6OnJlc29sdmVHZW5lcmljRmFtaWx5KGNvbnN0IEZvbnREZXNjcmkK
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQogCisvKgorc3RhdGljIEZvbnRQYWxldHRlVmFs
dWVzIGNvbnZlcnRGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSwgY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQorewor
ICAgIEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXggYmFzZVBhbGV0dGUoMGxsKTsKKyAg
ICBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4gb3ZlcnJpZGVDb2xv
cjsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBmb250UGFsZXR0ZVZhbHVlc1J1bGUub3Zl
cnJpZGVDb2xvcigpKSB7CisgICAgICAgIEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlQ29sb3JJ
bmRleCBrZXkoMGxsKTsKKyAgICAgICAgaWYgKGl0ZW0ua2V5KCkuaXNTdHJpbmcoKSkKKyAgICAg
ICAgICAgIGtleSA9IGl0ZW0ua2V5KCkuc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgZWxzZSBpZiAo
aXRlbS5rZXkoKS5pc051bWJlcigpKQorICAgICAgICAgICAga2V5ID0gaXRlbS5rZXkoKS52YWx1
ZTxpbnQ2NF90PigpOworCisgICAgICAgIENvbG9yIHZhbHVlKGl0ZW0uY29sb3IoKS5pc1JHQkNv
bG9yKCkgPyBpdGVtLmNvbG9yKCkuY29sb3IoKSA6IFN0eWxlQ29sb3I6OmNvbG9yRnJvbUtleXdv
cmQoaXRlbS5jb2xvcigpLnZhbHVlSUQoKSwgZG9jdW1lbnQuc3R5bGVDb2xvck9wdGlvbnMoJm1f
c3R5bGUpKSk7CisgICAgfQorfQorICovCisKIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVzJiBDU1NG
b250U2VsZWN0b3I6Omxvb2t1cEZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIGZh
bWlseU5hbWUsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKQogewogICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGb250UGFsZXR0ZVZhbHVlcz4gZW1wdHlGb250UGFsZXR0
ZVZhbHVlczsKQEAgLTMyOCw3ICszNDUsOSBAQCBjb25zdCBGb250UGFsZXR0ZVZhbHVlcyYgQ1NT
Rm9udFNlbGVjdG9yOjpsb29rdXBGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaQogICAg
IGF1dG8gaXRlcmF0b3IgPSBtX3BhbGV0dGVGYW1pbHlNYXAuZmluZChzdGQ6Om1ha2VfcGFpcihm
YW1pbHlOYW1lLCBwYWxldHRlTmFtZSkpOwogICAgIGlmIChpdGVyYXRvciA9PSBtX3BhbGV0dGVG
YW1pbHlNYXAuZW5kKCkpCiAgICAgICAgIHJldHVybiBlbXB0eUZvbnRQYWxldHRlVmFsdWVzLmdl
dCgpOwotICAgIHJldHVybiBpdGVyYXRvci0+dmFsdWU7CisgICAgLy9yZXR1cm4gaXRlcmF0b3It
PnZhbHVlOworICAgIC8vIEZJWE1FOiBMSVRIRVJVTSBSZXR1cm4gdGhlIGNvcnJlY3QgdGhpbmcK
KyAgICByZXR1cm4gZW1wdHlGb250UGFsZXR0ZVZhbHVlcy5nZXQoKTsKIH0KIAogRm9udFJhbmdl
cyBDU1NGb250U2VsZWN0b3I6OmZvbnRSYW5nZXNGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0
aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseU5hbWUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKaW5kZXggMzY3ZjUxZTFmOTY3Li43Mjg5NzVmMzVh
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKQEAgLTEyOCw3ICsxMjgsNyBA
QCBwcml2YXRlOgogICAgIFJlZjxDU1NGb250RmFjZVNldD4gbV9jc3NGb250RmFjZVNldDsKICAg
ICBIYXNoU2V0PEZvbnRTZWxlY3RvckNsaWVudCo+IG1fY2xpZW50czsKIAotICAgIEhhc2hNYXA8
c3RkOjpwYWlyPEF0b21TdHJpbmcsIEF0b21TdHJpbmc+LCBGb250UGFsZXR0ZVZhbHVlcz4gbV9w
YWxldHRlRmFtaWx5TWFwOworICAgIEhhc2hNYXA8c3RkOjpwYWlyPEF0b21TdHJpbmcsIEF0b21T
dHJpbmc+LCBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+PiBtX3BhbGV0dGVGYW1pbHlN
YXA7CiAKICAgICBIYXNoU2V0PFJlZlB0cjxDU1NGb250RmFjZT4+IG1fY3NzQ29ubmVjdGlvbnNQ
b3NzaWJseVRvUmVtb3ZlOwogICAgIEhhc2hTZXQ8UmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPj4g
bV9jc3NDb25uZWN0aW9uc0VuY291bnRlcmVkRHVyaW5nQnVpbGQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwCmluZGV4IGIxNzA4YTU4MjczZi4uN2QxZGIyYjZmNmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmNwcApAQCAtMzI4LDExICszMjgsMTIgQEAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYg
U3R5bGVSdWxlRm9udEZhY2U6Om11dGFibGVQcm9wZXJ0aWVzKCkKICAgICByZXR1cm4gZG93bmNh
c3Q8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4obV9wcm9wZXJ0aWVzLmdldCgpKTsKIH0KIAotU3R5
bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0
IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHksIGNvbnN0IEZv
bnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8Rm9udFBh
bGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9yKQorU3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21T
dHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHksIGNvbnN0IEZvbnRQYWxl
dHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8UmVmPENTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPj4mJiBvdmVycmlkZUNvbG9yKQogICAgIDog
U3R5bGVSdWxlQmFzZShTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKICAgICAsIG1f
bmFtZShuYW1lKQogICAgICwgbV9mb250RmFtaWx5KGZvbnRGYW1pbHkpCi0gICAgLCBtX2ZvbnRQ
YWxldHRlVmFsdWVzKGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKQorICAgICwg
bV9iYXNlUGFsZXR0ZShiYXNlUGFsZXR0ZSkKKyAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3Zl
KG92ZXJyaWRlQ29sb3IpKQogewogfQogCkBAIC0zNDAsNyArMzQxLDggQEAgU3R5bGVSdWxlRm9u
dFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVs
ZUZvbnRQYWxldHQKICAgICA6IFN0eWxlUnVsZUJhc2UobykKICAgICAsIG1fbmFtZShvLm5hbWUo
KSkKICAgICAsIG1fZm9udEZhbWlseShvLmZvbnRGYW1pbHkoKSkKLSAgICAsIG1fZm9udFBhbGV0
dGVWYWx1ZXMoby5tX2ZvbnRQYWxldHRlVmFsdWVzKQorICAgICwgbV9iYXNlUGFsZXR0ZShvLmJh
c2VQYWxldHRlKCkpCisgICAgLCBtX292ZXJyaWRlQ29sb3Ioby5vdmVycmlkZUNvbG9yKCkpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCA5N2VjOTExZWVkM2MuLjk0NjEzNjZiMzVm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtMjEsNiArMjEsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3JMaXN0LmgiCiAjaW5jbHVkZSAiQ29tcGlsZWRTZWxlY3Rv
ci5oIgogI2luY2x1ZGUgIkZvbnRQYWxldHRlVmFsdWVzLmgiCkBAIC0xNTksNyArMTYwLDcgQEAg
cHJpdmF0ZToKIAogY2xhc3MgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMgZmluYWwgOiBwdWJs
aWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVGb250
UGFsZXR0ZVZhbHVlcz4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21T
dHJpbmcmIGZvbnRGYW1pbHksIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgm
IGJhc2VQYWxldHRlLCBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4m
JiBvdmVycmlkZUNvbG9yKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzKG5hbWUsIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRl
Q29sb3IpKSk7IH0KKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBj
cmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWls
eSwgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZl
Y3RvcjxSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+PiYmIG92ZXJy
aWRlQ29sb3IpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMobmFtZSwgZm9udEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikp
KTsgfQogICAgIAogICAgIH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOwogCkBAIC0xNzMs
MzAgKzE3NCwyOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2ZvbnRGYW1pbHk7CiAgICAg
fQogCi0gICAgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzKCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzOwotICAgIH0KLQog
ICAgIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKCkg
Y29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzLmJhc2VQYWxl
dHRlKCk7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRlOwogICAgIH0KIAotICAgIGNvbnN0
IFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xv
cigpIGNvbnN0CisgICAgY29uc3QgVmVjdG9yPFJlZjxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZT4+JiBvdmVycmlkZUNvbG9yKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJl
dHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzLm92ZXJyaWRlQ29sb3IoKTsKKyAgICAgICAgcmV0dXJu
IG1fb3ZlcnJpZGVDb2xvcjsKICAgICB9CiAKICAgICBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzKCp0aGlzKSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250
RmFtaWx5LCBjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0
ZSwgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVD
b2xvcik7CisgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0cmluZyYg
bmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgRm9udFBhbGV0dGVWYWx1
ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxSZWY8Q1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+PiYmIG92ZXJyaWRlQ29sb3IpOwogICAgIFN0eWxlUnVs
ZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJik7CiAK
ICAgICBBdG9tU3RyaW5nIG1fbmFtZTsKICAgICBBdG9tU3RyaW5nIG1fZm9udEZhbWlseTsKLSAg
ICBGb250UGFsZXR0ZVZhbHVlcyBtX2ZvbnRQYWxldHRlVmFsdWVzOworICAgIEZvbnRQYWxldHRl
VmFsdWVzOjpQYWxldHRlSW5kZXggbV9iYXNlUGFsZXR0ZTsKKyAgICAvLyBXZSBjYW4ndCByZXNv
bHZlIGNvbG9ycyB1bnRpbCB3ZSBoYXZlIGFuIGVsZW1lbnQgdG8gcmVzb2x2ZSB0aGVtIGFnYWlu
c3QuCisgICAgLy8gRm9yIGV4YW1wbGUsIHNvbWUgY29sb3JzIGRlcGVuZCBvbiB0aGUgdmFsdWUg
b2YgdGhlIGNvbG9yLXNjaGVtZSBwcm9wZXJ0eS4KKyAgICAvLyBTbywgd2UganVzdCByZXRhaW4g
dGhlIENTU1ZhbHVlcyBoZXJlIGFuZCByZXNvbHZlIHRoZW0gd2hlbiBhIHBhcnRpY3VsYXIgZWxl
bWVudCByZXF1ZXN0cyBwYWxldHRlcy4KKyAgICBWZWN0b3I8UmVmPENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlPj4gbV9vdmVycmlkZUNvbG9yOwogfTsKIAogY2xhc3MgU3R5
bGVSdWxlUGFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCmluZGV4IDkwZDA5ZWQzOWExNi4uYjMxOWFl
OWZkZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAK
QEAgLTY4NiwxOSArNjg2LDEzIEBAIFJlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4g
Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDCiAgICAgICAgICAg
ICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCk7CiAgICAgfQog
Ci0gICAgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+IG92ZXJyaWRl
Q29sb3I7CisgICAgVmVjdG9yPFJlZjxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JW
YWx1ZT4+IG92ZXJyaWRlQ29sb3I7CiAgICAgaWYgKGF1dG8gb3ZlcnJpZGVDb2xvclZhbHVlID0g
cHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3Ip
KSB7Ci0gICAgICAgIGNvbnN0IGF1dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpv
dmVycmlkZUNvbG9yVmFsdWUpOwotICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBsaXN0
KSB7CisgICAgICAgIGF1dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpvdmVycmlk
ZUNvbG9yVmFsdWUpOworICAgICAgICBmb3IgKGF1dG8mIGl0ZW0gOiBsaXN0KSB7CiAgICAgICAg
ICAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUNvbG9ySW5kZXgga2V5KG51bGxBdG9tKCkp
OwotICAgICAgICAgICAgY29uc3QgYXV0byYgcGFpciA9IGRvd25jYXN0PENTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPihpdGVtLmdldCgpKTsKLSAgICAgICAgICAgIGlmIChw
YWlyLmtleSgpLmlzU3RyaW5nKCkpCi0gICAgICAgICAgICAgICAga2V5ID0gcGFpci5rZXkoKS5z
dHJpbmdWYWx1ZSgpOwotICAgICAgICAgICAgZWxzZSBpZiAocGFpci5rZXkoKS5pc051bWJlcigp
KQotICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50NjRfdD4oKTsKLSAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIG92
ZXJyaWRlQ29sb3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5jb2xvcigpLmNvbG9y
KCkpKTsKKyAgICAgICAgICAgIGF1dG8mIG92ZXJyaWRlQ29sb3JJdGVtID0gZG93bmNhc3Q8Q1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KGl0ZW0uZ2V0KCkpOworICAgICAg
ICAgICAgb3ZlcnJpZGVDb2xvci5hcHBlbmQob3ZlcnJpZGVDb2xvckl0ZW0pOwogICAgICAgICB9
CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439131</attachid>
            <date>2021-09-24 00:39:05 -0700</date>
            <delta_ts>2021-09-24 13:03:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230605-20210924003904.patch</filename>
            <type>text/plain</type>
            <size>8183</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM1NDVmMzMyODE0OWI3
ZWU0NzRkMzRjNWM3OTZlOTU3Zjg0MDI5Zi4uMmUyYzBiYTkwMDg5OGMwNmRkOGU4NmI5NWVjNDZj
MmRhOWFkN2NlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTI0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ29sb3Iga2V5
d29yZHMgaW4gb3ZlcnJpZGUtY29sb3IgY2F1c2UgYSBjcmFzaAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNjA1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84MzM4OTI5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJIHdhcyBhc3N1bWluZyB0aGF0IGNvbnN1bWVDb2xvcigpIHdvdWxkIGFsd2F5cyBw
cm9kdWNlIGEgY29sb3IuIEluc3RlYWQsIGlmIHRoZSBjb2xvcgorICAgICAgICB3YXMgc3BlY2lm
aWVkIGFzIGEga2V5d29yZCwgY29uc3VtZUNvbG9yKCkgd291bGQgcHJvZHVjZSB0aGUga2V5d29y
ZC4KKworICAgICAgICBUaGlzIHBhc3NlcyBpbiB0aGUgZGVmYXVsdCBjb250ZXh0IGZvciBjb2xv
ciByZXNvbHV0aW9uLCBiZWNhdXNlCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctZHJhZnRzL2lzc3Vlcy82NjgwIGlzbid0IHJlc29sdmVkIHlldC4KKworICAgICAgICBUZXN0
OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9m
b250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NT
UGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1l
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKwogMjAyMS0wOS0yMyAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIHRoZSBTY3JvbGxBbmltYXRpb25T
bW9vdGggZnJvbSBTY3JvbGxBbmltYXRvciBpbnRvIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAppbmRleCA5MGQw
OWVkMzlhMTYxYTY3ZjA0N2MyMjQzZDEzZTEwYTYxYWM4NGJhLi43NzY0NmYzNTU3ZTQ2Zjc0YmMz
MjliNTg5YjY0NjI3MTE5NzZhMDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySW1wbC5jcHAKQEAgLTY5OCw3ICs2OTgsOCBAQCBSZWZQdHI8U3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUo
QwogICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50NjRfdD4oKTsKICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIG92
ZXJyaWRlQ29sb3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5jb2xvcigpLmNvbG9y
KCkpKTsKKyAgICAgICAgICAgIENvbG9yIGNvbG9yID0gcGFpci5jb2xvcigpLmlzUkdCQ29sb3Io
KSA/IHBhaXIuY29sb3IoKS5jb2xvcigpIDogU3R5bGVDb2xvcjo6Y29sb3JGcm9tS2V5d29yZChw
YWlyLmNvbG9yKCkudmFsdWVJRCgpLCB7IH0pOworICAgICAgICAgICAgb3ZlcnJpZGVDb2xvci5h
cHBlbmQoc3RkOjptYWtlX3BhaXIoa2V5LCBjb2xvcikpOwogICAgICAgICB9CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkNjNkYmU5NTc4MzNmODUyYTk1ZGFlOWFi
ZTQ4NGU4NGE1ZjkwNDYwLi5lNDc1ODZhNWVlZjdhMDZmZTE4MjRjZDc1MGFlMDZlNmM5NTgxYzA0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0w
OS0yNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IENvbG9yIGtleXdvcmRzIGluIG92ZXJyaWRlLWNvbG9yIGNhdXNlIGEgY3Jhc2gKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDYwNQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODMzODkyOTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdHMgYXJlIGJlaW5nIHVwc3RyZWFtZWQgYXQgaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvcHVsbC8zMDk0MS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZh
bHVlcy12YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWw6CisKIDIw
MjEtMDktMjMgIE5pa29zIE1vdWNodGFyaXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSW1wbGVtZW50IGF0YW4sIGFjb3MsIGFzaW4sIGF0YW4yIGNhbGMgZnVuY3Rpb25zCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4
IDBiNDgyZmZhZjM3NGUxOGJjZGYyMzA4ODI5NjFkOTEzMWI4ZDVmMTYuLjFkYWU4ZTRiYmI0NjMy
YTJhNDJmZmViYzhjYTc4MTdhZjAxODJmZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFs
ZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xOSw0ICsxOSwxNiBAQCBQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNgogUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
MTcKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDE4CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAxOQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDIxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyMgorUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjMKK1BBU1MgQ1NTIEZv
bnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI0CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAy
NQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMjYKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDI3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyAyOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjkKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDMwCitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzMQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250
LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKaW5kZXggYzY3NzRlZmJiMTQ5MzFlYmY1MDgwOGMz
Y2IzNWZiZmY4YTEzNzliOC4uNjY1ODQxY2MyMWE1ZjVhYWI2ZWM4OTdhMzAxNDQ2MDAzMzY0ZjVj
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApAQCAtNjksNiArNjks
MzYgQEAKIEBmb250LXBhbGV0dGUtdmFsdWVzIEogewogICAgIG92ZXJyaWRlLWNvbG9yOiAtMyBy
Z2IoMTcsIDM0LCA1MSk7CiB9CisKKy8qIDEwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBLIHsK
KyAgICBvdmVycmlkZS1jb2xvcjogMCAjMDAwMEZGOworfQorCisvKiAxMSAqLworQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgTCB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgZ3JlZW47Cit9CisKKy8qIDEy
ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBNIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMCB0cmFu
c3BhcmVudDsKK30KKworLyogMTMgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIE4geworICAgIG92
ZXJyaWRlLWNvbG9yOiAwIHJnYmEoMSAyIDMgLyA0KTsKK30KKworLyogMTQgKi8KK0Bmb250LXBh
bGV0dGUtdmFsdWVzIE8geworICAgIG92ZXJyaWRlLWNvbG9yOiAwIGxhYigyOS4yMzQ1JSAzOS4z
ODI1IDIwLjA2NjQpOworfQorCisvKiAxNSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgUCB7Cisg
ICAgb3ZlcnJpZGUtY29sb3I6IDAgY29sb3IoZGlzcGxheS1wMyAxMDAlIDEwMCUgMTAwJSk7Cit9
CiA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHk+CkBAIC0yMjgsNiArMjU4LDkwIEBAIHRlc3QoZnVu
Y3Rpb24oKSB7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKICAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KC0zKSwgdW5kZWZpbmVkKTsKIH0pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1RleHQ7CisgICAgYXNzZXJ0
X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2IoMCwgMCwgMjU1KSIpLCAtMSk7Cit9KTsK
KwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEwXTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5i
YXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDApLCAicmdiKDAsIDAsIDI1NSkiKTsKK30pOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTFdLmNzc1RleHQ7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2IoMCwgMTI4LCAwKSIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzExXTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDApLCAicmdiKDAsIDEyOCwgMCkiKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTJdLmNzc1RleHQ7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2JhKDAsIDAsIDAsIDApIiksIC0x
KTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMTJdOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoMCksICJyZ2JhKDAsIDAsIDAsIDApIik7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEzXS5jc3NUZXh0
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwg
LTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMiIpLCAtMSk7Cit9KTsK
KwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEzXTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5i
YXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgwKS5pbmRleE9mKCIyIiksIC0xKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTRdLmNzc1RleHQ7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIyOSIpLCAtMSk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzE0XTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFs
ZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyhydWxlLmdldCgwKS5pbmRleE9mKCJsYWIiKSwgLTEpOworfSk7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxNV0uY3NzVGV4dDsKKyAgICBhc3Nl
cnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImRpc3BsYXktcDMiKSwgLTEpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxNV07CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFz
ZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoMCkuaW5kZXhPZigiZGlzcGxheS1wMyIpLCAtMSk7Cit9
KTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>
<flag name="review"
          id="462709"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="462786"
          type_id="3"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
      

    </bug>

</bugzilla>