<?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>233981</bug_id>
          
          <creation_ts>2021-12-07 22:43:00 -0800</creation_ts>
          <short_desc>Make Windows font smoothing variables thread safe</short_desc>
          <delta_ts>2022-07-19 23:11:19 -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>Layout and Rendering</component>
          <version>WebKit Local 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>
          
          <blocked>233488</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron McCormack (:heycam)">heycam</reporter>
          <assigned_to name="Cameron McCormack (:heycam)">heycam</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>fujii</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821408</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-07 22:43:00 -0800</bug_when>
    <thetext>Make Windows font smoothing variables thread safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821411</commentid>
    <comment_count>1</comment_count>
      <attachid>446306</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-07 22:51:39 -0800</bug_when>
    <thetext>Created attachment 446306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821811</commentid>
    <comment_count>2</comment_count>
      <attachid>446440</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-08 15:35:26 -0800</bug_when>
    <thetext>Created attachment 446440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821812</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-08 15:36:14 -0800</bug_when>
    <thetext>Note that I&apos;ve added WTF_GUARDED_BY_LOCK attributes but this is Windows code, and MSVC doesn&apos;t support those, so it&apos;s more like documentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821993</commentid>
    <comment_count>4</comment_count>
      <attachid>446440</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-12-08 21:11:17 -0800</bug_when>
    <thetext>Comment on attachment 446440
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Make Windows font smoothing variables thread safe

Is Fujii in the process of deleting these? https://bugs.webkit.org/show_bug.cgi?id=206273</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822513</commentid>
    <comment_count>5</comment_count>
      <attachid>446440</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-12-09 22:07:55 -0800</bug_when>
    <thetext>Comment on attachment 446440
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Make Windows font smoothing variables thread safe
&gt; 
&gt; Is Fujii in the process of deleting these? https://bugs.webkit.org/show_bug.cgi?id=206273

I don&apos;t think so. Bug 206273 seems irrelevant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823039</commentid>
    <comment_count>6</comment_count>
      <attachid>446440</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-12-10 15:35:52 -0800</bug_when>
    <thetext>Comment on attachment 446440
Patch

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

I assume you grepped to find all uses?

&gt; Source/WebCore/platform/graphics/FontCascade.h:330
&gt; +    static Lock s_fontSmoothingLock;
&gt; +    static double s_fontSmoothingContrast WTF_GUARDED_BY_LOCK(s_fontSmoothingLock);
&gt; +    static uint32_t s_fontSmoothingType WTF_GUARDED_BY_LOCK(s_fontSmoothingLock);
&gt; +    static int s_fontSmoothingLevel WTF_GUARDED_BY_LOCK(s_fontSmoothingLock);
&gt; +    static uint32_t s_systemFontSmoothingType WTF_GUARDED_BY_LOCK(s_fontSmoothingLock);
&gt; +    static bool s_systemFontSmoothingSet WTF_GUARDED_BY_LOCK(s_fontSmoothingLock);
&gt; +    static bool s_systemFontSmoothingEnabled WTF_GUARDED_BY_LOCK(s_fontSmoothingLock);

I kind of think this is a poor design and these shouldn&apos;t be statics in the first place ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824257</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-14 22:43:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/86507092&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1885216</commentid>
    <comment_count>8</comment_count>
      <attachid>461022</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-07-19 15:49:26 -0700</bug_when>
    <thetext>Created attachment 461022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1885321</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-07-19 23:11:17 -0700</bug_when>
    <thetext>Committed 252638@main (85c5eabc2149): &lt;https://commits.webkit.org/252638@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 461022.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446306</attachid>
            <date>2021-12-07 22:51:39 -0800</date>
            <delta_ts>2021-12-08 15:35:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233981-20211208175138.patch</filename>
            <type>text/plain</type>
            <size>5690</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzM1OGUxZWQwM2Q1NTQy
NzU5N2ZhZjIxNzRhZDhkZGZmODAwZDU1NS4uM2U3ZTE2ZGQzMTBhODlkZDFiMGNmNDYwMGY5NDY4
NDMwNmY0YzJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTAyICBDYW1l
cm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBXaW5kb3dz
IGZvbnQgc21vb3RoaW5nIHZhcmlhYmxlcyB0aHJlYWQgc2FmZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTgxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZvbnQgc21vb3RoaW5nIHN0YXRpYyB2
YXJpYWJsZXMgb24gRm9udENhc2NhZGUgY2FuIGJlIHJlYWQgb24KKyAgICAgICAgd29ya2VyIHRo
cmVhZHMgKGFzc3VtaW5nIE9mZnNjcmVlbkNhbnZhcyBpcyBlbmFibGVkIG9uIFdpbmRvd3MpIGFu
ZAorICAgICAgICB3cml0dGVuIG9uIHRoZSBtYWluIHRocmVhZC4gQWRkIGEgbG9jayB0byBwcmV2
ZW50IHJhY3kgYWNjZXNzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpzZXRGb250U21vb3RoaW5nTGV2ZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OnNldEZvbnRTbW9vdGhpbmdTdHlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6c2V0Rm9udFNtb290aGluZ0NvbnRyYXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpzeXN0ZW1Gb250U21vb3RoaW5nQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6c2V0Q0dDb250ZXh0Rm9udFJlbmRlcmlu
Z1N0eWxlKToKKwogMjAyMS0xMi0wMiAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIE1ha2UgRm9udENhc2NhZGU6OnNfY29kZVBhdGggdGhyZWFkIHNhZmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4
IDJiZThkMGM0MjVjNTFhNWUxMzg1YmY0NWRjYzZiMThiNzM1ODhiZDMuLmYxZmMzNmU5MTJiNjg4
MDllZjFiNzliYmFmMzk3ZDQ4ZDhhZWY2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaApAQCAtMzIxLDEyICszMjEsMTMgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgc3RkOjphdG9taWM8Q29kZVBhdGg+IHNfY29kZVBhdGg7CiAKICNpZiBQTEFU
Rk9STShXSU4pICYmIFVTRShDRykKLSAgICBzdGF0aWMgZG91YmxlIHNfZm9udFNtb290aGluZ0Nv
bnRyYXN0OwotICAgIHN0YXRpYyB1aW50MzJfdCBzX2ZvbnRTbW9vdGhpbmdUeXBlOwotICAgIHN0
YXRpYyBpbnQgc19mb250U21vb3RoaW5nTGV2ZWw7Ci0gICAgc3RhdGljIHVpbnQzMl90IHNfc3lz
dGVtRm9udFNtb290aGluZ1R5cGU7Ci0gICAgc3RhdGljIGJvb2wgc19zeXN0ZW1Gb250U21vb3Ro
aW5nU2V0OwotICAgIHN0YXRpYyBib29sIHNfc3lzdGVtRm9udFNtb290aGluZ0VuYWJsZWQ7Cisg
ICAgc3RhdGljIExvY2sgc19mb250U21vb3RoaW5nTG9jazsKKyAgICBzdGF0aWMgZG91YmxlIHNf
Zm9udFNtb290aGluZ0NvbnRyYXN0IFdURl9HVUFSREVEX0JZX0xPQ0soc19mb250U21vb3RoaW5n
TG9jayk7CisgICAgc3RhdGljIHVpbnQzMl90IHNfZm9udFNtb290aGluZ1R5cGUgV1RGX0dVQVJE
RURfQllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsKKyAgICBzdGF0aWMgaW50IHNfZm9udFNt
b290aGluZ0xldmVsIFdURl9HVUFSREVEX0JZX0xPQ0soc19mb250U21vb3RoaW5nTG9jayk7Cisg
ICAgc3RhdGljIHVpbnQzMl90IHNfc3lzdGVtRm9udFNtb290aGluZ1R5cGUgV1RGX0dVQVJERURf
QllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsKKyAgICBzdGF0aWMgYm9vbCBzX3N5c3RlbUZv
bnRTbW9vdGhpbmdTZXQgV1RGX0dVQVJERURfQllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsK
KyAgICBzdGF0aWMgYm9vbCBzX3N5c3RlbUZvbnRTbW9vdGhpbmdFbmFibGVkIFdURl9HVUFSREVE
X0JZX0xPQ0soc19mb250U21vb3RoaW5nTG9jayk7CiAjZW5kaWYKIAogICAgIEZvbnRDYXNjYWRl
RGVzY3JpcHRpb24gbV9mb250RGVzY3JpcHRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCmluZGV4IGMxOWU3NDE1NTdjMzA4Yzk0
MWU0ZWY3MTVlM2RiNDY1OTRkMTg1YjYuLjA0YWQ1YWM2MDY4OTIwNDY5MjFlOTc2NmZkYmQ3OWMx
MDdkODNhMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q0dXaW4uY3BwCkBAIC0yMjIsNiArMjIyLDcgQEAgY29uc3RleHByIHVpbnQzMl90IGtD
R0ZvbnRTbW9vdGhpbmdTdHlsZUhlYXZ5ID0gKDQgPDwgNCk7CiBjb25zdGV4cHIgaW50IGZvbnRT
bW9vdGhpbmdMZXZlbE1lZGl1bSA9IDI7CiBjb25zdGV4cHIgQ0dGbG9hdCBhbnRpYWxpYXNpbmdH
YW1tYSA9IDIuMzsKIAorTG9jayBGb250Q2FzY2FkZTo6c19mb250U21vb3RoaW5nTG9jazsKIGRv
dWJsZSBGb250Q2FzY2FkZTo6c19mb250U21vb3RoaW5nQ29udHJhc3QgPSAyOwogdWludDMyX3Qg
Rm9udENhc2NhZGU6OnNfZm9udFNtb290aGluZ1R5cGUgPSBrQ0dGb250U21vb3RoaW5nU3R5bGVN
ZWRpdW07CiBpbnQgRm9udENhc2NhZGU6OnNfZm9udFNtb290aGluZ0xldmVsID0gZm9udFNtb290
aGluZ0xldmVsTWVkaXVtOwpAQCAtMjQxLDYgKzI0Miw3IEBAIHZvaWQgRm9udENhc2NhZGU6OnNl
dEZvbnRTbW9vdGhpbmdMZXZlbChpbnQgbGV2ZWwpCiAgICAgaWYgKGxldmVsIDwgMCB8fCBzdGF0
aWNfY2FzdDxzaXplX3Q+KGxldmVsKSA+IEFSUkFZU0laRShzbW9vdGhpbmdUeXBlKSkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgTG9ja2VyIGxvY2tlciB7IHNfZm9udFNtb290aGluZ0xvY2s7IH0K
ICAgICBzX2ZvbnRTbW9vdGhpbmdUeXBlID0gc21vb3RoaW5nVHlwZVtsZXZlbF07CiAgICAgc19m
b250U21vb3RoaW5nTGV2ZWwgPSBsZXZlbDsKIH0KQEAgLTI1OSwxMyArMjYxLDE4IEBAIHVpbnQz
Ml90IEZvbnRDYXNjYWRlOjpzZXRGb250U21vb3RoaW5nU3R5bGUoQ0dDb250ZXh0UmVmIGNnQ29u
dGV4dCwgYm9vbCBmb250QWxsCiAgICAgdWludDMyX3Qgb2xkRm9udFNtb290aGluZ1N0eWxlID0g
MDsKICAgICBpZiAoQ0dDb250ZXh0R2V0U2hvdWxkU21vb3RoRm9udHMoY2dDb250ZXh0KSkKICAg
ICAgICAgb2xkRm9udFNtb290aGluZ1N0eWxlID0gQ0dDb250ZXh0R2V0Rm9udFNtb290aGluZ1N0
eWxlKGNnQ29udGV4dCk7Ci0gICAgc2V0Q0dGb250U21vb3RoaW5nU3R5bGUoY2dDb250ZXh0LCBz
X2ZvbnRTbW9vdGhpbmdUeXBlLCBmb250QWxsb3dzU21vb3RoaW5nKTsKKworICAgIHsKKyAgICAg
ICAgTG9ja2VyIGxvY2tlciB7IHNfZm9udFNtb290aGluZ0xvY2s7IH0KKyAgICAgICAgc2V0Q0dG
b250U21vb3RoaW5nU3R5bGUoY2dDb250ZXh0LCBzX2ZvbnRTbW9vdGhpbmdUeXBlLCBmb250QWxs
b3dzU21vb3RoaW5nKTsKKyAgICB9CiAKICAgICByZXR1cm4gb2xkRm9udFNtb290aGluZ1N0eWxl
OwogfQogCiB2b2lkIEZvbnRDYXNjYWRlOjpzZXRGb250U21vb3RoaW5nQ29udHJhc3QoQ0dGbG9h
dCBjb250cmFzdCkKIHsKKyAgICBMb2NrZXIgbG9ja2VyIHsgc19mb250U21vb3RoaW5nTG9jazsg
fQogICAgIHNfZm9udFNtb290aGluZ0NvbnRyYXN0ID0gY29udHJhc3Q7CiB9CiAKQEAgLTM2MCw2
ICszNjcsNyBAQCBzdGF0aWMgZmxvYXQgY2xlYXJUeXBlQ29udHJhc3QoKQogCiB2b2lkIEZvbnRD
YXNjYWRlOjpzeXN0ZW1Gb250U21vb3RoaW5nQ2hhbmdlZCgpCiB7CisgICAgTG9ja2VyIGxvY2tl
ciB7IHNfZm9udFNtb290aGluZ0xvY2s7IH0KICAgICA6OlN5c3RlbVBhcmFtZXRlcnNJbmZvKFNQ
SV9HRVRGT05UU01PT1RISU5HLCAwLCAmc19zeXN0ZW1Gb250U21vb3RoaW5nRW5hYmxlZCwgMCk7
CiAgICAgOjpTeXN0ZW1QYXJhbWV0ZXJzSW5mbyhTUElfR0VURk9OVFNNT09USElOR1RZUEUsIDAs
ICZzX3N5c3RlbUZvbnRTbW9vdGhpbmdUeXBlLCAwKTsKICAgICBzX2ZvbnRTbW9vdGhpbmdDb250
cmFzdCA9IGNsZWFyVHlwZUNvbnRyYXN0KCk7CkBAIC0zNzQsMTEgKzM4MiwxNiBAQCB2b2lkIEZv
bnRDYXNjYWRlOjpzZXRDR0NvbnRleHRGb250UmVuZGVyaW5nU3R5bGUoQ0dDb250ZXh0UmVmIGNn
Q29udGV4dCwgYm9vbCBpcwogICAgIGlmICh1c2VQbGF0Zm9ybU5hdGl2ZUdseXBocykgewogICAg
ICAgICAvLyA8cmRhcjovLzY1NjQ1MDE+IEdESSBjYW4ndCBzdWJwaXhlbC1wb3NpdGlvbiwgc28g
ZG9uJ3QgYm90aGVyIGFza2luZy4KICAgICAgICAgbWF5U3VicGl4ZWxQb3NpdGlvbiA9IGZhbHNl
OwotICAgICAgICBpZiAoIXNfc3lzdGVtRm9udFNtb290aGluZ1NldCkKLSAgICAgICAgICAgIHN5
c3RlbUZvbnRTbW9vdGhpbmdDaGFuZ2VkKCk7Ci0gICAgICAgIGNvbnRyYXN0ID0gc19mb250U21v
b3RoaW5nQ29udHJhc3Q7Ci0gICAgICAgIHNob3VsZEFudGlhbGlhcyA9IHNfc3lzdGVtRm9udFNt
b290aGluZ0VuYWJsZWQ7Ci0gICAgICAgIGlmIChzX3N5c3RlbUZvbnRTbW9vdGhpbmdUeXBlID09
IEZFX0ZPTlRTTU9PVEhJTkdTVEFOREFSRCkgeworICAgICAgICBib29sIHNtb290aGluZ1R5cGVJ
c1N0YW5kYXJkOworICAgICAgICB7CisgICAgICAgICAgICBMb2NrZXIgbG9ja2VyIHsgc19mb250
U21vb3RoaW5nTG9jazsgfQorICAgICAgICAgICAgaWYgKCFzX3N5c3RlbUZvbnRTbW9vdGhpbmdT
ZXQpCisgICAgICAgICAgICAgICAgc3lzdGVtRm9udFNtb290aGluZ0NoYW5nZWQoKTsKKyAgICAg
ICAgICAgIGNvbnRyYXN0ID0gc19mb250U21vb3RoaW5nQ29udHJhc3Q7CisgICAgICAgICAgICBz
aG91bGRBbnRpYWxpYXMgPSBzX3N5c3RlbUZvbnRTbW9vdGhpbmdFbmFibGVkOworICAgICAgICAg
ICAgc21vb3RoaW5nVHlwZUlzU3RhbmRhcmQgPSBzX3N5c3RlbUZvbnRTbW9vdGhpbmdUeXBlID09
IEZFX0ZPTlRTTU9PVEhJTkdTVEFOREFSRDsKKyAgICAgICAgfQorICAgICAgICBpZiAoc21vb3Ro
aW5nVHlwZUlzU3RhbmRhcmQpIHsKICAgICAgICAgICAgIENHQ29udGV4dFNldEZvbnRTbW9vdGhp
bmdTdHlsZShjZ0NvbnRleHQsIGtDR0ZvbnRTbW9vdGhpbmdTdHlsZU1pbmltdW0pOwogICAgICAg
ICAgICAgY29udHJhc3QgPSBhbnRpYWxpYXNpbmdHYW1tYTsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446440</attachid>
            <date>2021-12-08 15:35:26 -0800</date>
            <delta_ts>2021-12-10 15:35:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233981-20211209103524.patch</filename>
            <type>text/plain</type>
            <size>5690</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWFiY2EzNzczYWY3ZWJm
MTZlZjVmNDg4OTBhNGZkOWU1NTlmMjkwZi4uYWY4OGM0YWZhZjJiZWIyOGRhNzJiZTFkYjc1ZjQ2
OWM0YzU5Zjg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTAyICBDYW1l
cm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBXaW5kb3dz
IGZvbnQgc21vb3RoaW5nIHZhcmlhYmxlcyB0aHJlYWQgc2FmZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTgxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZvbnQgc21vb3RoaW5nIHN0YXRpYyB2
YXJpYWJsZXMgb24gRm9udENhc2NhZGUgY2FuIGJlIHJlYWQgb24KKyAgICAgICAgd29ya2VyIHRo
cmVhZHMgKGFzc3VtaW5nIE9mZnNjcmVlbkNhbnZhcyBpcyBlbmFibGVkIG9uIFdpbmRvd3MpIGFu
ZAorICAgICAgICB3cml0dGVuIG9uIHRoZSBtYWluIHRocmVhZC4gQWRkIGEgbG9jayB0byBwcmV2
ZW50IHJhY3kgYWNjZXNzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpzZXRGb250U21vb3RoaW5nTGV2ZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OnNldEZvbnRTbW9vdGhpbmdTdHlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6c2V0Rm9udFNtb290aGluZ0NvbnRyYXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpzeXN0ZW1Gb250U21vb3RoaW5nQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6c2V0Q0dDb250ZXh0Rm9udFJlbmRlcmlu
Z1N0eWxlKToKKwogMjAyMS0xMi0wMiAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIE1ha2UgRm9udENhc2NhZGU6OnNfY29kZVBhdGggdGhyZWFkIHNhZmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oCmluZGV4
IDJiZThkMGM0MjVjNTFhNWUxMzg1YmY0NWRjYzZiMThiNzM1ODhiZDMuLmYxZmMzNmU5MTJiNjg4
MDllZjFiNzliYmFmMzk3ZDQ4ZDhhZWY2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaApAQCAtMzIxLDEyICszMjEsMTMgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgc3RkOjphdG9taWM8Q29kZVBhdGg+IHNfY29kZVBhdGg7CiAKICNpZiBQTEFU
Rk9STShXSU4pICYmIFVTRShDRykKLSAgICBzdGF0aWMgZG91YmxlIHNfZm9udFNtb290aGluZ0Nv
bnRyYXN0OwotICAgIHN0YXRpYyB1aW50MzJfdCBzX2ZvbnRTbW9vdGhpbmdUeXBlOwotICAgIHN0
YXRpYyBpbnQgc19mb250U21vb3RoaW5nTGV2ZWw7Ci0gICAgc3RhdGljIHVpbnQzMl90IHNfc3lz
dGVtRm9udFNtb290aGluZ1R5cGU7Ci0gICAgc3RhdGljIGJvb2wgc19zeXN0ZW1Gb250U21vb3Ro
aW5nU2V0OwotICAgIHN0YXRpYyBib29sIHNfc3lzdGVtRm9udFNtb290aGluZ0VuYWJsZWQ7Cisg
ICAgc3RhdGljIExvY2sgc19mb250U21vb3RoaW5nTG9jazsKKyAgICBzdGF0aWMgZG91YmxlIHNf
Zm9udFNtb290aGluZ0NvbnRyYXN0IFdURl9HVUFSREVEX0JZX0xPQ0soc19mb250U21vb3RoaW5n
TG9jayk7CisgICAgc3RhdGljIHVpbnQzMl90IHNfZm9udFNtb290aGluZ1R5cGUgV1RGX0dVQVJE
RURfQllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsKKyAgICBzdGF0aWMgaW50IHNfZm9udFNt
b290aGluZ0xldmVsIFdURl9HVUFSREVEX0JZX0xPQ0soc19mb250U21vb3RoaW5nTG9jayk7Cisg
ICAgc3RhdGljIHVpbnQzMl90IHNfc3lzdGVtRm9udFNtb290aGluZ1R5cGUgV1RGX0dVQVJERURf
QllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsKKyAgICBzdGF0aWMgYm9vbCBzX3N5c3RlbUZv
bnRTbW9vdGhpbmdTZXQgV1RGX0dVQVJERURfQllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsK
KyAgICBzdGF0aWMgYm9vbCBzX3N5c3RlbUZvbnRTbW9vdGhpbmdFbmFibGVkIFdURl9HVUFSREVE
X0JZX0xPQ0soc19mb250U21vb3RoaW5nTG9jayk7CiAjZW5kaWYKIAogICAgIEZvbnRDYXNjYWRl
RGVzY3JpcHRpb24gbV9mb250RGVzY3JpcHRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCmluZGV4IGMxOWU3NDE1NTdjMzA4Yzk0
MWU0ZWY3MTVlM2RiNDY1OTRkMTg1YjYuLmU5MWY3MWUzZWNjODFkOWIyN2ExMmU4ZTU2ZjA3OTQ3
YWU0N2FkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q0dXaW4uY3BwCkBAIC0yMjIsNiArMjIyLDcgQEAgY29uc3RleHByIHVpbnQzMl90IGtD
R0ZvbnRTbW9vdGhpbmdTdHlsZUhlYXZ5ID0gKDQgPDwgNCk7CiBjb25zdGV4cHIgaW50IGZvbnRT
bW9vdGhpbmdMZXZlbE1lZGl1bSA9IDI7CiBjb25zdGV4cHIgQ0dGbG9hdCBhbnRpYWxpYXNpbmdH
YW1tYSA9IDIuMzsKIAorTG9jayBGb250Q2FzY2FkZTo6c19mb250U21vb3RoaW5nTG9jazsKIGRv
dWJsZSBGb250Q2FzY2FkZTo6c19mb250U21vb3RoaW5nQ29udHJhc3QgPSAyOwogdWludDMyX3Qg
Rm9udENhc2NhZGU6OnNfZm9udFNtb290aGluZ1R5cGUgPSBrQ0dGb250U21vb3RoaW5nU3R5bGVN
ZWRpdW07CiBpbnQgRm9udENhc2NhZGU6OnNfZm9udFNtb290aGluZ0xldmVsID0gZm9udFNtb290
aGluZ0xldmVsTWVkaXVtOwpAQCAtMjQxLDYgKzI0Miw3IEBAIHZvaWQgRm9udENhc2NhZGU6OnNl
dEZvbnRTbW9vdGhpbmdMZXZlbChpbnQgbGV2ZWwpCiAgICAgaWYgKGxldmVsIDwgMCB8fCBzdGF0
aWNfY2FzdDxzaXplX3Q+KGxldmVsKSA+IEFSUkFZU0laRShzbW9vdGhpbmdUeXBlKSkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgTG9ja2VyIGxvY2tlciB7IHNfZm9udFNtb290aGluZ0xvY2sgfTsK
ICAgICBzX2ZvbnRTbW9vdGhpbmdUeXBlID0gc21vb3RoaW5nVHlwZVtsZXZlbF07CiAgICAgc19m
b250U21vb3RoaW5nTGV2ZWwgPSBsZXZlbDsKIH0KQEAgLTI1OSwxMyArMjYxLDE4IEBAIHVpbnQz
Ml90IEZvbnRDYXNjYWRlOjpzZXRGb250U21vb3RoaW5nU3R5bGUoQ0dDb250ZXh0UmVmIGNnQ29u
dGV4dCwgYm9vbCBmb250QWxsCiAgICAgdWludDMyX3Qgb2xkRm9udFNtb290aGluZ1N0eWxlID0g
MDsKICAgICBpZiAoQ0dDb250ZXh0R2V0U2hvdWxkU21vb3RoRm9udHMoY2dDb250ZXh0KSkKICAg
ICAgICAgb2xkRm9udFNtb290aGluZ1N0eWxlID0gQ0dDb250ZXh0R2V0Rm9udFNtb290aGluZ1N0
eWxlKGNnQ29udGV4dCk7Ci0gICAgc2V0Q0dGb250U21vb3RoaW5nU3R5bGUoY2dDb250ZXh0LCBz
X2ZvbnRTbW9vdGhpbmdUeXBlLCBmb250QWxsb3dzU21vb3RoaW5nKTsKKworICAgIHsKKyAgICAg
ICAgTG9ja2VyIGxvY2tlciB7IHNfZm9udFNtb290aGluZ0xvY2sgfTsKKyAgICAgICAgc2V0Q0dG
b250U21vb3RoaW5nU3R5bGUoY2dDb250ZXh0LCBzX2ZvbnRTbW9vdGhpbmdUeXBlLCBmb250QWxs
b3dzU21vb3RoaW5nKTsKKyAgICB9CiAKICAgICByZXR1cm4gb2xkRm9udFNtb290aGluZ1N0eWxl
OwogfQogCiB2b2lkIEZvbnRDYXNjYWRlOjpzZXRGb250U21vb3RoaW5nQ29udHJhc3QoQ0dGbG9h
dCBjb250cmFzdCkKIHsKKyAgICBMb2NrZXIgbG9ja2VyIHsgc19mb250U21vb3RoaW5nTG9jayB9
OwogICAgIHNfZm9udFNtb290aGluZ0NvbnRyYXN0ID0gY29udHJhc3Q7CiB9CiAKQEAgLTM2MCw2
ICszNjcsNyBAQCBzdGF0aWMgZmxvYXQgY2xlYXJUeXBlQ29udHJhc3QoKQogCiB2b2lkIEZvbnRD
YXNjYWRlOjpzeXN0ZW1Gb250U21vb3RoaW5nQ2hhbmdlZCgpCiB7CisgICAgTG9ja2VyIGxvY2tl
ciB7IHNfZm9udFNtb290aGluZ0xvY2sgfTsKICAgICA6OlN5c3RlbVBhcmFtZXRlcnNJbmZvKFNQ
SV9HRVRGT05UU01PT1RISU5HLCAwLCAmc19zeXN0ZW1Gb250U21vb3RoaW5nRW5hYmxlZCwgMCk7
CiAgICAgOjpTeXN0ZW1QYXJhbWV0ZXJzSW5mbyhTUElfR0VURk9OVFNNT09USElOR1RZUEUsIDAs
ICZzX3N5c3RlbUZvbnRTbW9vdGhpbmdUeXBlLCAwKTsKICAgICBzX2ZvbnRTbW9vdGhpbmdDb250
cmFzdCA9IGNsZWFyVHlwZUNvbnRyYXN0KCk7CkBAIC0zNzQsMTEgKzM4MiwxNiBAQCB2b2lkIEZv
bnRDYXNjYWRlOjpzZXRDR0NvbnRleHRGb250UmVuZGVyaW5nU3R5bGUoQ0dDb250ZXh0UmVmIGNn
Q29udGV4dCwgYm9vbCBpcwogICAgIGlmICh1c2VQbGF0Zm9ybU5hdGl2ZUdseXBocykgewogICAg
ICAgICAvLyA8cmRhcjovLzY1NjQ1MDE+IEdESSBjYW4ndCBzdWJwaXhlbC1wb3NpdGlvbiwgc28g
ZG9uJ3QgYm90aGVyIGFza2luZy4KICAgICAgICAgbWF5U3VicGl4ZWxQb3NpdGlvbiA9IGZhbHNl
OwotICAgICAgICBpZiAoIXNfc3lzdGVtRm9udFNtb290aGluZ1NldCkKLSAgICAgICAgICAgIHN5
c3RlbUZvbnRTbW9vdGhpbmdDaGFuZ2VkKCk7Ci0gICAgICAgIGNvbnRyYXN0ID0gc19mb250U21v
b3RoaW5nQ29udHJhc3Q7Ci0gICAgICAgIHNob3VsZEFudGlhbGlhcyA9IHNfc3lzdGVtRm9udFNt
b290aGluZ0VuYWJsZWQ7Ci0gICAgICAgIGlmIChzX3N5c3RlbUZvbnRTbW9vdGhpbmdUeXBlID09
IEZFX0ZPTlRTTU9PVEhJTkdTVEFOREFSRCkgeworICAgICAgICBib29sIHNtb290aGluZ1R5cGVJ
c1N0YW5kYXJkOworICAgICAgICB7CisgICAgICAgICAgICBMb2NrZXIgbG9ja2VyIHsgc19mb250
U21vb3RoaW5nTG9jayB9OworICAgICAgICAgICAgaWYgKCFzX3N5c3RlbUZvbnRTbW9vdGhpbmdT
ZXQpCisgICAgICAgICAgICAgICAgc3lzdGVtRm9udFNtb290aGluZ0NoYW5nZWQoKTsKKyAgICAg
ICAgICAgIGNvbnRyYXN0ID0gc19mb250U21vb3RoaW5nQ29udHJhc3Q7CisgICAgICAgICAgICBz
aG91bGRBbnRpYWxpYXMgPSBzX3N5c3RlbUZvbnRTbW9vdGhpbmdFbmFibGVkOworICAgICAgICAg
ICAgc21vb3RoaW5nVHlwZUlzU3RhbmRhcmQgPSBzX3N5c3RlbUZvbnRTbW9vdGhpbmdUeXBlID09
IEZFX0ZPTlRTTU9PVEhJTkdTVEFOREFSRDsKKyAgICAgICAgfQorICAgICAgICBpZiAoc21vb3Ro
aW5nVHlwZUlzU3RhbmRhcmQpIHsKICAgICAgICAgICAgIENHQ29udGV4dFNldEZvbnRTbW9vdGhp
bmdTdHlsZShjZ0NvbnRleHQsIGtDR0ZvbnRTbW9vdGhpbmdTdHlsZU1pbmltdW0pOwogICAgICAg
ICAgICAgY29udHJhc3QgPSBhbnRpYWxpYXNpbmdHYW1tYTsKICAgICAgICAgfQo=
</data>
<flag name="review"
          id="471841"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461022</attachid>
            <date>2022-07-19 15:49:26 -0700</date>
            <delta_ts>2022-07-19 23:11:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233981-20220720104924.patch</filename>
            <type>text/plain</type>
            <size>5358</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">RnJvbSAwYzBkOWI1MGY5YTkwNTc4OWYwYzQ4NzFlMWJlMTg1MDQ1Y2MyYmYxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYW1lcm9uIE1jQ29ybWFjayA8aGV5Y2FtQGFwcGxlLmNvbT4K
RGF0ZTogVHVlLCAyMyBOb3YgMjAyMSAxNzowMzo0MCArMTEwMApTdWJqZWN0OiBbUEFUQ0hdIE1h
a2UgV2luZG93cyBmb250IHNtb290aGluZyB2YXJpYWJsZXMgdGhyZWFkIHNhZmUKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5ODEKClJldmlld2VkIGJ5IE15bGVz
IEMuIE1heGZpZWxkLgoKVGhlIGZvbnQgc21vb3RoaW5nIHN0YXRpYyB2YXJpYWJsZXMgb24gRm9u
dENhc2NhZGUgY2FuIGJlIHJlYWQgb24Kd29ya2VyIHRocmVhZHMgKGFzc3VtaW5nIE9mZnNjcmVl
bkNhbnZhcyBpcyBlbmFibGVkIG9uIFdpbmRvd3MpIGFuZAp3cml0dGVuIG9uIHRoZSBtYWluIHRo
cmVhZC4gQWRkIGEgbG9jayB0byBwcmV2ZW50IHJhY3kgYWNjZXNzLgoKKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZS5oOgoqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3Bw
OgooV2ViQ29yZTo6Rm9udENhc2NhZGU6OnNldEZvbnRTbW9vdGhpbmdMZXZlbCk6CihXZWJDb3Jl
OjpGb250Q2FzY2FkZTo6c2V0Rm9udFNtb290aGluZ1N0eWxlKToKKFdlYkNvcmU6OkZvbnRDYXNj
YWRlOjpzZXRGb250U21vb3RoaW5nQ29udHJhc3QpOgooV2ViQ29yZTo6Rm9udENhc2NhZGU6OnN5
c3RlbUZvbnRTbW9vdGhpbmdDaGFuZ2VkKToKKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpzZXRDR0Nv
bnRleHRGb250UmVuZGVyaW5nU3R5bGUpOgotLS0KIC4uLi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmggICB8IDEzICsrKysrLS0tLS0KIC4uLi9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udENHV2luLmNwcCAgICAgICB8IDI1ICsrKysrKysrKysrKysrLS0tLS0KIDIgZmls
ZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmgKaW5kZXggOGE1MzUzOGNh
ODliLi5jNmQxYmU2ZjNmNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGUuaApAQCAtMzMyLDEyICszMzIsMTMgQEAgcHJpdmF0ZToKICAgICB9CiAK
ICNpZiBQTEFURk9STShXSU4pICYmIFVTRShDRykKLSAgICBzdGF0aWMgZG91YmxlIHNfZm9udFNt
b290aGluZ0NvbnRyYXN0OwotICAgIHN0YXRpYyB1aW50MzJfdCBzX2ZvbnRTbW9vdGhpbmdUeXBl
OwotICAgIHN0YXRpYyBpbnQgc19mb250U21vb3RoaW5nTGV2ZWw7Ci0gICAgc3RhdGljIHVpbnQz
Ml90IHNfc3lzdGVtRm9udFNtb290aGluZ1R5cGU7Ci0gICAgc3RhdGljIGJvb2wgc19zeXN0ZW1G
b250U21vb3RoaW5nU2V0OwotICAgIHN0YXRpYyBib29sIHNfc3lzdGVtRm9udFNtb290aGluZ0Vu
YWJsZWQ7CisgICAgc3RhdGljIExvY2sgc19mb250U21vb3RoaW5nTG9jazsKKyAgICBzdGF0aWMg
ZG91YmxlIHNfZm9udFNtb290aGluZ0NvbnRyYXN0IFdURl9HVUFSREVEX0JZX0xPQ0soc19mb250
U21vb3RoaW5nTG9jayk7CisgICAgc3RhdGljIHVpbnQzMl90IHNfZm9udFNtb290aGluZ1R5cGUg
V1RGX0dVQVJERURfQllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsKKyAgICBzdGF0aWMgaW50
IHNfZm9udFNtb290aGluZ0xldmVsIFdURl9HVUFSREVEX0JZX0xPQ0soc19mb250U21vb3RoaW5n
TG9jayk7CisgICAgc3RhdGljIHVpbnQzMl90IHNfc3lzdGVtRm9udFNtb290aGluZ1R5cGUgV1RG
X0dVQVJERURfQllfTE9DSyhzX2ZvbnRTbW9vdGhpbmdMb2NrKTsKKyAgICBzdGF0aWMgYm9vbCBz
X3N5c3RlbUZvbnRTbW9vdGhpbmdTZXQgV1RGX0dVQVJERURfQllfTE9DSyhzX2ZvbnRTbW9vdGhp
bmdMb2NrKTsKKyAgICBzdGF0aWMgYm9vbCBzX3N5c3RlbUZvbnRTbW9vdGhpbmdFbmFibGVkIFdU
Rl9HVUFSREVEX0JZX0xPQ0soc19mb250U21vb3RoaW5nTG9jayk7CiAjZW5kaWYKIAogICAgIEZv
bnRDYXNjYWRlRGVzY3JpcHRpb24gbV9mb250RGVzY3JpcHRpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCmluZGV4IGMxOWU3NDE1
NTdjMy4uZTkxZjcxZTNlY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udENHV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udENHV2luLmNwcApAQCAtMjIyLDYgKzIyMiw3IEBAIGNvbnN0ZXhwciB1
aW50MzJfdCBrQ0dGb250U21vb3RoaW5nU3R5bGVIZWF2eSA9ICg0IDw8IDQpOwogY29uc3RleHBy
IGludCBmb250U21vb3RoaW5nTGV2ZWxNZWRpdW0gPSAyOwogY29uc3RleHByIENHRmxvYXQgYW50
aWFsaWFzaW5nR2FtbWEgPSAyLjM7CiAKK0xvY2sgRm9udENhc2NhZGU6OnNfZm9udFNtb290aGlu
Z0xvY2s7CiBkb3VibGUgRm9udENhc2NhZGU6OnNfZm9udFNtb290aGluZ0NvbnRyYXN0ID0gMjsK
IHVpbnQzMl90IEZvbnRDYXNjYWRlOjpzX2ZvbnRTbW9vdGhpbmdUeXBlID0ga0NHRm9udFNtb290
aGluZ1N0eWxlTWVkaXVtOwogaW50IEZvbnRDYXNjYWRlOjpzX2ZvbnRTbW9vdGhpbmdMZXZlbCA9
IGZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bTsKQEAgLTI0MSw2ICsyNDIsNyBAQCB2b2lkIEZvbnRD
YXNjYWRlOjpzZXRGb250U21vb3RoaW5nTGV2ZWwoaW50IGxldmVsKQogICAgIGlmIChsZXZlbCA8
IDAgfHwgc3RhdGljX2Nhc3Q8c2l6ZV90PihsZXZlbCkgPiBBUlJBWVNJWkUoc21vb3RoaW5nVHlw
ZSkpCiAgICAgICAgIHJldHVybjsKIAorICAgIExvY2tlciBsb2NrZXIgeyBzX2ZvbnRTbW9vdGhp
bmdMb2NrIH07CiAgICAgc19mb250U21vb3RoaW5nVHlwZSA9IHNtb290aGluZ1R5cGVbbGV2ZWxd
OwogICAgIHNfZm9udFNtb290aGluZ0xldmVsID0gbGV2ZWw7CiB9CkBAIC0yNTksMTMgKzI2MSwx
OCBAQCB1aW50MzJfdCBGb250Q2FzY2FkZTo6c2V0Rm9udFNtb290aGluZ1N0eWxlKENHQ29udGV4
dFJlZiBjZ0NvbnRleHQsIGJvb2wgZm9udEFsbAogICAgIHVpbnQzMl90IG9sZEZvbnRTbW9vdGhp
bmdTdHlsZSA9IDA7CiAgICAgaWYgKENHQ29udGV4dEdldFNob3VsZFNtb290aEZvbnRzKGNnQ29u
dGV4dCkpCiAgICAgICAgIG9sZEZvbnRTbW9vdGhpbmdTdHlsZSA9IENHQ29udGV4dEdldEZvbnRT
bW9vdGhpbmdTdHlsZShjZ0NvbnRleHQpOwotICAgIHNldENHRm9udFNtb290aGluZ1N0eWxlKGNn
Q29udGV4dCwgc19mb250U21vb3RoaW5nVHlwZSwgZm9udEFsbG93c1Ntb290aGluZyk7CisKKyAg
ICB7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBzX2ZvbnRTbW9vdGhpbmdMb2NrIH07CisgICAg
ICAgIHNldENHRm9udFNtb290aGluZ1N0eWxlKGNnQ29udGV4dCwgc19mb250U21vb3RoaW5nVHlw
ZSwgZm9udEFsbG93c1Ntb290aGluZyk7CisgICAgfQogCiAgICAgcmV0dXJuIG9sZEZvbnRTbW9v
dGhpbmdTdHlsZTsKIH0KIAogdm9pZCBGb250Q2FzY2FkZTo6c2V0Rm9udFNtb290aGluZ0NvbnRy
YXN0KENHRmxvYXQgY29udHJhc3QpCiB7CisgICAgTG9ja2VyIGxvY2tlciB7IHNfZm9udFNtb290
aGluZ0xvY2sgfTsKICAgICBzX2ZvbnRTbW9vdGhpbmdDb250cmFzdCA9IGNvbnRyYXN0OwogfQog
CkBAIC0zNjAsNiArMzY3LDcgQEAgc3RhdGljIGZsb2F0IGNsZWFyVHlwZUNvbnRyYXN0KCkKIAog
dm9pZCBGb250Q2FzY2FkZTo6c3lzdGVtRm9udFNtb290aGluZ0NoYW5nZWQoKQogeworICAgIExv
Y2tlciBsb2NrZXIgeyBzX2ZvbnRTbW9vdGhpbmdMb2NrIH07CiAgICAgOjpTeXN0ZW1QYXJhbWV0
ZXJzSW5mbyhTUElfR0VURk9OVFNNT09USElORywgMCwgJnNfc3lzdGVtRm9udFNtb290aGluZ0Vu
YWJsZWQsIDApOwogICAgIDo6U3lzdGVtUGFyYW1ldGVyc0luZm8oU1BJX0dFVEZPTlRTTU9PVEhJ
TkdUWVBFLCAwLCAmc19zeXN0ZW1Gb250U21vb3RoaW5nVHlwZSwgMCk7CiAgICAgc19mb250U21v
b3RoaW5nQ29udHJhc3QgPSBjbGVhclR5cGVDb250cmFzdCgpOwpAQCAtMzc0LDExICszODIsMTYg
QEAgdm9pZCBGb250Q2FzY2FkZTo6c2V0Q0dDb250ZXh0Rm9udFJlbmRlcmluZ1N0eWxlKENHQ29u
dGV4dFJlZiBjZ0NvbnRleHQsIGJvb2wgaXMKICAgICBpZiAodXNlUGxhdGZvcm1OYXRpdmVHbHlw
aHMpIHsKICAgICAgICAgLy8gPHJkYXI6Ly82NTY0NTAxPiBHREkgY2FuJ3Qgc3VicGl4ZWwtcG9z
aXRpb24sIHNvIGRvbid0IGJvdGhlciBhc2tpbmcuCiAgICAgICAgIG1heVN1YnBpeGVsUG9zaXRp
b24gPSBmYWxzZTsKLSAgICAgICAgaWYgKCFzX3N5c3RlbUZvbnRTbW9vdGhpbmdTZXQpCi0gICAg
ICAgICAgICBzeXN0ZW1Gb250U21vb3RoaW5nQ2hhbmdlZCgpOwotICAgICAgICBjb250cmFzdCA9
IHNfZm9udFNtb290aGluZ0NvbnRyYXN0OwotICAgICAgICBzaG91bGRBbnRpYWxpYXMgPSBzX3N5
c3RlbUZvbnRTbW9vdGhpbmdFbmFibGVkOwotICAgICAgICBpZiAoc19zeXN0ZW1Gb250U21vb3Ro
aW5nVHlwZSA9PSBGRV9GT05UU01PT1RISU5HU1RBTkRBUkQpIHsKKyAgICAgICAgYm9vbCBzbW9v
dGhpbmdUeXBlSXNTdGFuZGFyZDsKKyAgICAgICAgeworICAgICAgICAgICAgTG9ja2VyIGxvY2tl
ciB7IHNfZm9udFNtb290aGluZ0xvY2sgfTsKKyAgICAgICAgICAgIGlmICghc19zeXN0ZW1Gb250
U21vb3RoaW5nU2V0KQorICAgICAgICAgICAgICAgIHN5c3RlbUZvbnRTbW9vdGhpbmdDaGFuZ2Vk
KCk7CisgICAgICAgICAgICBjb250cmFzdCA9IHNfZm9udFNtb290aGluZ0NvbnRyYXN0OworICAg
ICAgICAgICAgc2hvdWxkQW50aWFsaWFzID0gc19zeXN0ZW1Gb250U21vb3RoaW5nRW5hYmxlZDsK
KyAgICAgICAgICAgIHNtb290aGluZ1R5cGVJc1N0YW5kYXJkID0gc19zeXN0ZW1Gb250U21vb3Ro
aW5nVHlwZSA9PSBGRV9GT05UU01PT1RISU5HU1RBTkRBUkQ7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHNtb290aGluZ1R5cGVJc1N0YW5kYXJkKSB7CiAgICAgICAgICAgICBDR0NvbnRleHRTZXRG
b250U21vb3RoaW5nU3R5bGUoY2dDb250ZXh0LCBrQ0dGb250U21vb3RoaW5nU3R5bGVNaW5pbXVt
KTsKICAgICAgICAgICAgIGNvbnRyYXN0ID0gYW50aWFsaWFzaW5nR2FtbWE7CiAgICAgICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>