<?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>232690</bug_id>
          
          <creation_ts>2021-11-03 16:59:10 -0700</creation_ts>
          <short_desc>[Cocoa] Migrate from CTFontCopyVariationAxes() to CTFontCopyVariationAxesInternal() if possible</short_desc>
          <delta_ts>2021-11-09 17:58:16 -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>
          <dependson>232894</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>annulen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>pangle</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1811713</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 16:59:10 -0700</bug_when>
    <thetext>[Cocoa] Migrate from CTFontCopyVariationAxes() to CTFontCopyVariationAxesInternal() if possible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811714</commentid>
    <comment_count>1</comment_count>
      <attachid>443255</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 17:01:12 -0700</bug_when>
    <thetext>Created attachment 443255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811751</commentid>
    <comment_count>2</comment_count>
      <attachid>443271</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 21:23:34 -0700</bug_when>
    <thetext>Created attachment 443271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811753</commentid>
    <comment_count>3</comment_count>
      <attachid>443272</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 21:25:24 -0700</bug_when>
    <thetext>Created attachment 443272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811755</commentid>
    <comment_count>4</comment_count>
      <attachid>443273</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 21:31:15 -0700</bug_when>
    <thetext>Created attachment 443273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811758</commentid>
    <comment_count>5</comment_count>
      <attachid>443275</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-03 21:33:56 -0700</bug_when>
    <thetext>Created attachment 443275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811776</commentid>
    <comment_count>6</comment_count>
      <attachid>443279</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-04 00:08:43 -0700</bug_when>
    <thetext>Created attachment 443279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811960</commentid>
    <comment_count>7</comment_count>
      <attachid>443279</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-04 14:06:44 -0700</bug_when>
    <thetext>Comment on attachment 443279
Patch

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

&gt; Source/WebCore/platform/graphics/ShouldLocalizeAxisNames.h:35
&gt; +enum class ShouldLocalizeAxisNames : uint8_t {
&gt; +    No,
&gt; +    Yes
&gt; +};

Is there a reason this can&apos;t just live in FontPlatformData.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811962</commentid>
    <comment_count>8</comment_count>
      <attachid>443279</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-11-04 14:08:05 -0700</bug_when>
    <thetext>Comment on attachment 443279
Patch

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

&gt; Source/WebCore/platform/graphics/ShouldLocalizeAxisNames.h:2
&gt; + * Copyright (C) 2010 Apple Inc. All rights reserved.

2021 (if you don&apos;t end up moving it)

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:305
&gt; +#if defined(HAVE_CTFontCopyVariationAxesInternal) // This macro is defined inside CoreText, not WebKit.

Thanks for the comment otherwise I would&apos;ve complained about the capitalization here. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811998</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-04 16:18:32 -0700</bug_when>
    <thetext>Committed r285318 (243890@main): &lt;https://commits.webkit.org/243890@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811999</commentid>
    <comment_count>10</comment_count>
      <attachid>443279</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-04 16:19:05 -0700</bug_when>
    <thetext>Comment on attachment 443279
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/ShouldLocalizeAxisNames.h:35
&gt;&gt; +};
&gt; 
&gt; Is there a reason this can&apos;t just live in FontPlatformData.h?

I would have preferred to put this in a common place, but this has to be visible from both FontPlatformData.h and FontCacheCoreText.h. There is no header (that isn&apos;t single-purpose like FontTaggedSettings.h or FontSelectionAlgorithm.h) which is included from both of those places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812001</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-04 16:19:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/85038305&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813221</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-11-09 11:02:34 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 232894</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813442</commentid>
    <comment_count>13</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-09 17:58:16 -0800</bug_when>
    <thetext>Committed r285552 (244066@main): &lt;https://commits.webkit.org/244066@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443255</attachid>
            <date>2021-11-03 17:01:12 -0700</date>
            <delta_ts>2021-11-03 21:23:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232690-20211103170111.patch</filename>
            <type>text/plain</type>
            <size>17186</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkZGVhNjQ0ZTk3ZGYw
OGViZWQzYmI2OTEzMTQyNDAzODNmOTExNS4uNTNkMzU3Mzk3N2MzNmZiMTRjMzI3NjU3ZTJiNzM5
OGYzODYwMmQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
aWdyYXRlIGZyb20gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoKSB0byBDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKCkgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBp
cyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcygpLCBidXQgaXQKKyAgICAgICAg
cHJvdmlkZXMgbGVzcyBkYXRhLiBMdWNraWx5LCBpbiB0aGUgY29tbW9uIGNhc2UsIHdlIGRvbid0
IG5lZWQgdGhhdCBleHRyYSBkYXRhIGFueXdheS4KKyAgICAgICAgVGhlIGdvYWwgb2YgdGhpcyBw
YXRjaCBpcyB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBi
ZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmVwYXJlUGxh
dGZvcm1Gb250KToKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRWYXJpYXRpb25WYWx1ZXMpOiBE
ZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVU
ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHRJbmxpbmVzLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6ZGVmYXVsdFZhcmlhdGlvblZh
bHVlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0
YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6dmFyaWF0aW9u
QXhlcyBjb25zdCk6CisKIDIwMjEtMTEtMDMgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxl
LmNvbT4KIAogICAgICAgICBBWDogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbSBz
aG91bGQgZXhwb3NlIGFjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyIGFuZCBO
U0FjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyQXR0cmlidXRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwppbmRleCBiMTI0NGNkMDJkYWQ3ODFkOWMyODE3N2VjZjk5NDFmYzcyZTc4YjIzLi5k
YmUwNTJmZDlkYjRhNjRlY2Y0MjQzZGZkM2NlZTU3Yzk2ZTIzNjliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0wMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9tIENURm9udENv
cHlWYXJpYXRpb25BeGVzKCkgdG8gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbCgpIGlm
IHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzI2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0xMS0wMyAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQVIgUXVpY2tsb29rIGFz
c2V0IGlzIHNoYXJlZCBpbnN0ZWFkIG9mIHBhZ2UgVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY2YvQ29yZVRleHRTUEkuaAppbmRleCA2ZTA2NDA2YTFjMTk2MDI2NmU0NDgxZGU5ODdi
ZDMzOWZjNzU4NGIxLi40NjFiYzZkNWU1Y2Y2OGI3NzMxNWU2ZDEzMzc3NDkyMTFmNDU5ZDM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKQEAgLTE2OSw2
ICsxNjksNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFn
ZShDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURgogQ1RGb250UmVmIENURm9udENyZWF0
ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VBbmRPcHRpb24oQ1RGb250UmVmIGN1cnJlbnRGb250
LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1Jl
ZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tPcHRpb24sIENGSW5kZXggKmNvdmVyZWRMZW5ndGgp
OwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZvbnQoQ1RGb250UmVmKTsKIENURm9udFN5
bWJvbGljVHJhaXRzIENURm9udEdldFBoeXNpY2FsU3ltYm9saWNUcmFpdHMoQ1RGb250UmVmKTsK
K0NGQXJyYXlSZWYgQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbChDVEZvbnRSZWYpOwog
CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRIZWFkbGlu
ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEJvZHk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMjU3NTViYzMzOGU3NmQ4NzkwZDBiNDNjMDdkMmQyYWJmMDYwZTc4NS4uZTA0MzNjOGMw
MTNmZTk1NjVlN2VlYmI1MzYzMTc2YWI3OWUzNDZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzA1MSw2ICs3MDUxLDcgQEAK
IAkJMUM0M0RFNkEyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlv
bi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQ3VycmVu
dFRyYWl0Q29sbGVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM0Njc0
RkQyNkY0ODQzNjAwQjYxMjczIC8qIEZvbnRQYWxldHRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRQ
YWxldHRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNEQwREQxMjREOUYwREIw
MDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhCdWZm
ZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDNERCMDIwMjczMzRG
RDEwMDdCMEFEMSAvKiBGb250Q2FjaGVDb3JlVGV4dElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Rm9udENhY2hlQ29yZVRleHRJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFDNTBDNDk1MjJDODRGMjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9u
TWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25N
YXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzVFMURBNjI2Rjk0OUI5MDBF
MDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBhbGV0dGVW
YWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZFN0NBNjAw
QUI1MjdDIC8qIEZvbnRGYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZvbnRGYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NjQ0LDEx
ICsxODY0NSwxMSBAQAogCQkxQTU2OUNDNDBEN0UyQjYwMDA3QzM5ODMgLyogYnJpZGdlICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1OUI1OTc3MTExMDg2
NTU2MDA3MTU5RTggLyoganNjICovLAotCQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdDMzk4MyAvKiBv
YmpjICovLAogCQkJCTU5OUU3NThGMTEwNTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAqLywKIAkJ
CQkxQTcxRDU3OTBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5jcHAgKi8sCiAJCQkJ
MUE3MUQ1N0EwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuaCAqLywKKwkJCQk1OUI1
OTc3MTExMDg2NTU2MDA3MTU5RTggLyoganNjICovLAorCQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdD
Mzk4MyAvKiBvYmpjICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1l
X2FycmF5LmNwcCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9h
cnJheS5oICovLAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhv
ZC5jcHAgKi8sCkBAIC0yNzU2MCw2ICsyNzU2MSw3IEBACiAJCQkJQjI3NTM1NEMwQjA1MzgxNDAw
MkNFNjRGIC8qIEZsb2F0UmVjdENvY29hLm1tICovLAogCQkJCTFDMzk2OUNGMUI3NDIxMUUwMDJC
Q0ZBNyAvKiBGb250Q2FjaGVDb3JlVGV4dC5jcHAgKi8sCiAJCQkJQzI0NThFNjExRkU4OTc5RTAw
NTk0NzU5IC8qIEZvbnRDYWNoZUNvcmVUZXh0LmggKi8sCisJCQkJMUM0REIwMjAyNzMzNEZEMTAw
N0IwQUQxIC8qIEZvbnRDYWNoZUNvcmVUZXh0SW5saW5lcy5oICovLAogCQkJCUIyQUZGQzc4MEQw
MEE1QzEwMDMwMDc0RCAvKiBGb250Q2FzY2FkZUNvY29hLmNwcCAqLywKIAkJCQkxQzZGRDhCMDI1
MEEzNUYxMDBENkU5MjAgLyogRm9udENvY29hLmNwcCAqLywKIAkJCQkxQzEyQUMyQzFFRTc3OTk1
MDA3OUUwQTAgLyogRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCmluZGV4IGZhNmNiZjZiZjFhZDFkMTFlZjA3ZWNiNDgxMTVmNDM3YzdiNjFjNjIuLmZk
YmQ0NDRjZWUyYjg1OGQ4M2JiZDczZTBhOTYxNDRlZmZiMWU4YmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKQEAgLTI0LDEwICsyNCwxMiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJGb250Q2FjaGUuaCIKKyNpbmNsdWRlICJGb250Q2FjaGVDb3JlVGV4dC5oIgog
CiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJGb250LmgiCisjaW5jbHVkZSAiRm9udENh
Y2hlLmgiCisjaW5jbHVkZSAiRm9udENhY2hlQ29yZVRleHRJbmxpbmVzLmgiCiAjaW5jbHVkZSAi
Rm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRDcmVhdGlvbkNvbnRleHQu
aCIKICNpbmNsdWRlICJGb250RmFtaWx5U3BlY2lmaWNhdGlvbkNvcmVUZXh0LmgiCkBAIC0zMDAs
NDQgKzMwMiw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBmb250TmFtZUlzU3lzdGVtRm9udChDRlN0
cmluZ1JlZiBmb250TmFtZSkKICAgICByZXR1cm4gQ0ZTdHJpbmdHZXRMZW5ndGgoZm9udE5hbWUp
ID4gMCAmJiBDRlN0cmluZ0dldENoYXJhY3RlckF0SW5kZXgoZm9udE5hbWUsIDApID09ICcuJzsK
IH0KIAotVmFyaWF0aW9uRGVmYXVsdHNNYXAgZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhDVEZvbnRS
ZWYgZm9udCkKLXsKLSAgICBWYXJpYXRpb25EZWZhdWx0c01hcCByZXN1bHQ7Ci0gICAgYXV0byBh
eGVzID0gYWRvcHRDRihDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcyhmb250KSk7Ci0gICAgaWYgKCFh
eGVzKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIGF1dG8gc2l6ZSA9IENGQXJyYXlHZXRD
b3VudChheGVzLmdldCgpKTsKLSAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCBzaXplOyArK2kp
IHsKLSAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGF4aXMgPSBzdGF0aWNfY2FzdDxDRkRpY3Rpb25h
cnlSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoYXhlcy5nZXQoKSwgaSkpOwotICAgICAgICBD
Rk51bWJlclJlZiBheGlzSWRlbnRpZmllciA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShheGlzLCBrQ1RGb250VmFyaWF0aW9uQXhpc0lkZW50aWZpZXJLZXkp
KTsKLSAgICAgICAgU3RyaW5nIGF4aXNOYW1lID0gc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KENG
RGljdGlvbmFyeUdldFZhbHVlKGF4aXMsIGtDVEZvbnRWYXJpYXRpb25BeGlzTmFtZUtleSkpOwot
ICAgICAgICBDRk51bWJlclJlZiBkZWZhdWx0VmFsdWUgPSBzdGF0aWNfY2FzdDxDRk51bWJlclJl
Zj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoYXhpcywga0NURm9udFZhcmlhdGlvbkF4aXNEZWZhdWx0
VmFsdWVLZXkpKTsKLSAgICAgICAgQ0ZOdW1iZXJSZWYgbWluaW11bVZhbHVlID0gc3RhdGljX2Nh
c3Q8Q0ZOdW1iZXJSZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKGF4aXMsIGtDVEZvbnRWYXJpYXRp
b25BeGlzTWluaW11bVZhbHVlS2V5KSk7Ci0gICAgICAgIENGTnVtYmVyUmVmIG1heGltdW1WYWx1
ZSA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1ZShheGlzLCBr
Q1RGb250VmFyaWF0aW9uQXhpc01heGltdW1WYWx1ZUtleSkpOwotICAgICAgICB1aW50MzJfdCBy
YXdBeGlzSWRlbnRpZmllciA9IDA7Ci0gICAgICAgIEJvb2xlYW4gc3VjY2VzcyA9IENGTnVtYmVy
R2V0VmFsdWUoYXhpc0lkZW50aWZpZXIsIGtDRk51bWJlclNJbnQzMlR5cGUsICZyYXdBeGlzSWRl
bnRpZmllcik7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7Ci0gICAg
ICAgIGZsb2F0IHJhd0RlZmF1bHRWYWx1ZSA9IDA7Ci0gICAgICAgIGZsb2F0IHJhd01pbmltdW1W
YWx1ZSA9IDA7Ci0gICAgICAgIGZsb2F0IHJhd01heGltdW1WYWx1ZSA9IDA7Ci0gICAgICAgIENG
TnVtYmVyR2V0VmFsdWUoZGVmYXVsdFZhbHVlLCBrQ0ZOdW1iZXJGbG9hdFR5cGUsICZyYXdEZWZh
dWx0VmFsdWUpOwotICAgICAgICBDRk51bWJlckdldFZhbHVlKG1pbmltdW1WYWx1ZSwga0NGTnVt
YmVyRmxvYXRUeXBlLCAmcmF3TWluaW11bVZhbHVlKTsKLSAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1
ZShtYXhpbXVtVmFsdWUsIGtDRk51bWJlckZsb2F0VHlwZSwgJnJhd01heGltdW1WYWx1ZSk7Ci0K
LSAgICAgICAgaWYgKHJhd01pbmltdW1WYWx1ZSA+IHJhd01heGltdW1WYWx1ZSkKLSAgICAgICAg
ICAgIHN0ZDo6c3dhcChyYXdNaW5pbXVtVmFsdWUsIHJhd01heGltdW1WYWx1ZSk7Ci0KLSAgICAg
ICAgYXV0byBiMSA9IHJhd0F4aXNJZGVudGlmaWVyID4+IDI0OwotICAgICAgICBhdXRvIGIyID0g
KHJhd0F4aXNJZGVudGlmaWVyICYgMHhGRjAwMDApID4+IDE2OwotICAgICAgICBhdXRvIGIzID0g
KHJhd0F4aXNJZGVudGlmaWVyICYgMHhGRjAwKSA+PiA4OwotICAgICAgICBhdXRvIGI0ID0gcmF3
QXhpc0lkZW50aWZpZXIgJiAweEZGOwotICAgICAgICBGb250VGFnIHJlc3VsdEtleSA9IHt7IHN0
YXRpY19jYXN0PGNoYXI+KGIxKSwgc3RhdGljX2Nhc3Q8Y2hhcj4oYjIpLCBzdGF0aWNfY2FzdDxj
aGFyPihiMyksIHN0YXRpY19jYXN0PGNoYXI+KGI0KSB9fTsKLSAgICAgICAgVmFyaWF0aW9uRGVm
YXVsdHMgcmVzdWx0VmFsdWVzID0geyBheGlzTmFtZSwgcmF3RGVmYXVsdFZhbHVlLCByYXdNaW5p
bXVtVmFsdWUsIHJhd01heGltdW1WYWx1ZSB9OwotICAgICAgICByZXN1bHQuc2V0KHJlc3VsdEtl
eSwgcmVzdWx0VmFsdWVzKTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogI2lmIFVT
RShOT05fVkFSSUFCTEVfU1lTVEVNX0ZPTlQpCiBzdGF0aWMgaW5saW5lIGJvb2wgZm9udElzU3lz
dGVtRm9udChDVEZvbnRSZWYgZm9udCkKIHsKQEAgLTUxOCw3ICs0ODIsNyBAQCBSZXRhaW5QdHI8
Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNv
bnN0IEZvbnREZXNjcgogCiAgICAgYXV0byBmb250T3B0aWNhbFNpemluZyA9IGZvbnREZXNjcmlw
dGlvbi5vcHRpY2FsU2l6aW5nKCk7CiAKLSAgICBhdXRvIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0
VmFyaWF0aW9uVmFsdWVzKG9yaWdpbmFsRm9udCk7CisgICAgYXV0byBkZWZhdWx0VmFsdWVzID0g
ZGVmYXVsdFZhcmlhdGlvblZhbHVlczxJbmNsdWRlQXhpc05hbWU6Ok5vPihvcmlnaW5hbEZvbnQp
OwogCiAgICAgYXV0byBmb250U2VsZWN0aW9uUmVxdWVzdCA9IGZvbnREZXNjcmlwdGlvbi5mb250
U2VsZWN0aW9uUmVxdWVzdCgpOwogICAgIGF1dG8gZm9udFN0eWxlQXhpcyA9IGZvbnREZXNjcmlw
dGlvbi5mb250U3R5bGVBeGlzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAppbmRleCA3ZGYwMmViMThi
ZjRiODk1YmM0OTQwYmIzNjgzMGJmMzhiNzczNzhkLi5lNmEwNjFjMzY5MWU2Yjk0MjFhMGY3YjNj
NDU5MmEyYjRjYWExNTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKQEAgLTUyLDE0ICs1MiwyNSBA
QCBzdHJ1Y3QgU3ludGhlc2lzUGFpciB7CiAgICAgYm9vbCBuZWVkc1N5bnRoZXRpY09ibGlxdWU7
CiB9OwogCitlbnVtIGNsYXNzIEluY2x1ZGVBeGlzTmFtZSB7CisgICAgWWVzLAorICAgIE5vCit9
OworCit0ZW1wbGF0ZSA8SW5jbHVkZUF4aXNOYW1lPgogc3RydWN0IFZhcmlhdGlvbkRlZmF1bHRz
IHsKLSAgICBTdHJpbmcgYXhpc05hbWU7CiAgICAgZmxvYXQgZGVmYXVsdFZhbHVlOwogICAgIGZs
b2F0IG1pbmltdW1WYWx1ZTsKICAgICBmbG9hdCBtYXhpbXVtVmFsdWU7CiB9OwogCi10eXBlZGVm
IEhhc2hNYXA8Rm9udFRhZywgVmFyaWF0aW9uRGVmYXVsdHMsIEZvdXJDaGFyYWN0ZXJUYWdIYXNo
LCBGb3VyQ2hhcmFjdGVyVGFnSGFzaFRyYWl0cz4gVmFyaWF0aW9uRGVmYXVsdHNNYXA7Cit0ZW1w
bGF0ZSA8Pgorc3RydWN0IFZhcmlhdGlvbkRlZmF1bHRzPEluY2x1ZGVBeGlzTmFtZTo6WWVzPiA6
IHB1YmxpYyBWYXJpYXRpb25EZWZhdWx0czxJbmNsdWRlQXhpc05hbWU6Ok5vPiB7CisgICAgU3Ry
aW5nIGF4aXNOYW1lOworfTsKKwordGVtcGxhdGUgPEluY2x1ZGVBeGlzTmFtZSBTaG91bGRJbmNs
dWRlQXhpc05hbWU+Cit1c2luZyBWYXJpYXRpb25EZWZhdWx0c01hcCA9IEhhc2hNYXA8Rm9udFRh
ZywgVmFyaWF0aW9uRGVmYXVsdHM8U2hvdWxkSW5jbHVkZUF4aXNOYW1lPiwgRm91ckNoYXJhY3Rl
clRhZ0hhc2gsIEZvdXJDaGFyYWN0ZXJUYWdIYXNoVHJhaXRzPjsKIAogUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlv
biYsIGNvbnN0IEZvbnRDcmVhdGlvbkNvbnRleHQmLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9w
ZVZhcmlhdGlvbnMgPSB0cnVlKTsKIGVudW0gY2xhc3MgU2hvdWxkQ29tcHV0ZVBoeXNpY2FsVHJh
aXRzIDogYm9vbCB7IE5vLCBZZXMgfTsKQEAgLTcyLDUgKzgzLDYgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKENURm9udFJlZiwgQWxsb3dVc2VySW5z
dGFsbGVkRm8KIHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25h
cnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogUmV0YWluUHRyPENG
U2V0UmVmPiBpbnN0YWxsZWRGb250TWFuZGF0b3J5QXR0cmlidXRlcyhBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyk7CiAKLVZhcmlhdGlvbkRlZmF1bHRzTWFwIGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMo
Q1RGb250UmVmKTsKK3RlbXBsYXRlIDxJbmNsdWRlQXhpc05hbWUgU2hvdWxkSW5jbHVkZUF4aXNO
YW1lPgorVmFyaWF0aW9uRGVmYXVsdHNNYXA8U2hvdWxkSW5jbHVkZUF4aXNOYW1lPiBkZWZhdWx0
VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dElubGluZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0SW5s
aW5lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhkNDQwZTVmYTk5ZmQ1OGEyNmUzOTMxMGU1MjU0Y2Q4NTA1NzU3
ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dElubGluZXMuaApAQCAtMCwwICsxLDkxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4g
KCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiRm9udENhY2hlQ29yZVRleHQuaCIKKworI2luY2x1ZGUgPENvcmVUZXh0
L0NURm9udC5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZSA8SW5jbHVkZUF4aXNOYW1lIFNob3VsZEluY2x1ZGVB
eGlzTmFtZT4KK1ZhcmlhdGlvbkRlZmF1bHRzTWFwPFNob3VsZEluY2x1ZGVBeGlzTmFtZT4gZGVm
YXVsdFZhcmlhdGlvblZhbHVlcyhDVEZvbnRSZWYgZm9udCkKK3sKKyAgICBWYXJpYXRpb25EZWZh
dWx0c01hcDxTaG91bGRJbmNsdWRlQXhpc05hbWU+IHJlc3VsdDsKKyAgICBSZXRhaW5QdHI8Q0ZB
cnJheVJlZj4gYXhlczsKKyNpZiBkZWZpbmVkKEhBVkVfQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJ
bnRlcm5hbCkgLy8gVGhpcyBtYWNybyBpcyBkZWZpbmVkIGluc2lkZSBDb3JlVGV4dCwgbm90IFdl
YktpdC4KKyAgICBpZiBjb25zdGV4cHIgKFNob3VsZEluY2x1ZGVBeGlzTmFtZSA9PSBJbmNsdWRl
QXhpc05hbWU6Ok5vKQorICAgICAgICBheGVzID0gYWRvcHRDRihDVEZvbnRDb3B5VmFyaWF0aW9u
QXhlc0ludGVybmFsKGZvbnQpKTsKKyAgICBlbHNlCisjZW5kaWYKKyAgICB7CisgICAgICAgIGF4
ZXMgPSBhZG9wdENGKENURm9udENvcHlWYXJpYXRpb25BeGVzKGZvbnQpKTsKKyAgICB9CisgICAg
aWYgKCFheGVzKQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIGF1dG8gc2l6ZSA9IENGQXJy
YXlHZXRDb3VudChheGVzLmdldCgpKTsKKyAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCBzaXpl
OyArK2kpIHsKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGF4aXMgPSBzdGF0aWNfY2FzdDxDRkRp
Y3Rpb25hcnlSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoYXhlcy5nZXQoKSwgaSkpOworICAg
ICAgICBDRk51bWJlclJlZiBheGlzSWRlbnRpZmllciA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVm
PihDRkRpY3Rpb25hcnlHZXRWYWx1ZShheGlzLCBrQ1RGb250VmFyaWF0aW9uQXhpc0lkZW50aWZp
ZXJLZXkpKTsKKyAgICAgICAgU3RyaW5nIGF4aXNOYW1lOworICAgICAgICBpZiBjb25zdGV4cHIg
KFNob3VsZEluY2x1ZGVBeGlzTmFtZSA9PSBJbmNsdWRlQXhpc05hbWU6OlllcykKKyAgICAgICAg
ICAgIGF4aXNOYW1lID0gc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KENGRGljdGlvbmFyeUdldFZh
bHVlKGF4aXMsIGtDVEZvbnRWYXJpYXRpb25BeGlzTmFtZUtleSkpOworICAgICAgICBDRk51bWJl
clJlZiBkZWZhdWx0VmFsdWUgPSBzdGF0aWNfY2FzdDxDRk51bWJlclJlZj4oQ0ZEaWN0aW9uYXJ5
R2V0VmFsdWUoYXhpcywga0NURm9udFZhcmlhdGlvbkF4aXNEZWZhdWx0VmFsdWVLZXkpKTsKKyAg
ICAgICAgQ0ZOdW1iZXJSZWYgbWluaW11bVZhbHVlID0gc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJSZWY+
KENGRGljdGlvbmFyeUdldFZhbHVlKGF4aXMsIGtDVEZvbnRWYXJpYXRpb25BeGlzTWluaW11bVZh
bHVlS2V5KSk7CisgICAgICAgIENGTnVtYmVyUmVmIG1heGltdW1WYWx1ZSA9IHN0YXRpY19jYXN0
PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1ZShheGlzLCBrQ1RGb250VmFyaWF0aW9u
QXhpc01heGltdW1WYWx1ZUtleSkpOworICAgICAgICB1aW50MzJfdCByYXdBeGlzSWRlbnRpZmll
ciA9IDA7CisgICAgICAgIEJvb2xlYW4gc3VjY2VzcyA9IENGTnVtYmVyR2V0VmFsdWUoYXhpc0lk
ZW50aWZpZXIsIGtDRk51bWJlclNJbnQzMlR5cGUsICZyYXdBeGlzSWRlbnRpZmllcik7CisgICAg
ICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7CisgICAgICAgIGZsb2F0IHJhd0Rl
ZmF1bHRWYWx1ZSA9IDA7CisgICAgICAgIGZsb2F0IHJhd01pbmltdW1WYWx1ZSA9IDA7CisgICAg
ICAgIGZsb2F0IHJhd01heGltdW1WYWx1ZSA9IDA7CisgICAgICAgIENGTnVtYmVyR2V0VmFsdWUo
ZGVmYXVsdFZhbHVlLCBrQ0ZOdW1iZXJGbG9hdFR5cGUsICZyYXdEZWZhdWx0VmFsdWUpOworICAg
ICAgICBDRk51bWJlckdldFZhbHVlKG1pbmltdW1WYWx1ZSwga0NGTnVtYmVyRmxvYXRUeXBlLCAm
cmF3TWluaW11bVZhbHVlKTsKKyAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShtYXhpbXVtVmFsdWUs
IGtDRk51bWJlckZsb2F0VHlwZSwgJnJhd01heGltdW1WYWx1ZSk7CisKKyAgICAgICAgaWYgKHJh
d01pbmltdW1WYWx1ZSA+IHJhd01heGltdW1WYWx1ZSkKKyAgICAgICAgICAgIHN0ZDo6c3dhcChy
YXdNaW5pbXVtVmFsdWUsIHJhd01heGltdW1WYWx1ZSk7CisKKyAgICAgICAgYXV0byBiMSA9IHJh
d0F4aXNJZGVudGlmaWVyID4+IDI0OworICAgICAgICBhdXRvIGIyID0gKHJhd0F4aXNJZGVudGlm
aWVyICYgMHhGRjAwMDApID4+IDE2OworICAgICAgICBhdXRvIGIzID0gKHJhd0F4aXNJZGVudGlm
aWVyICYgMHhGRjAwKSA+PiA4OworICAgICAgICBhdXRvIGI0ID0gcmF3QXhpc0lkZW50aWZpZXIg
JiAweEZGOworICAgICAgICBGb250VGFnIHJlc3VsdEtleSA9IHsgeyBzdGF0aWNfY2FzdDxjaGFy
PihiMSksIHN0YXRpY19jYXN0PGNoYXI+KGIyKSwgc3RhdGljX2Nhc3Q8Y2hhcj4oYjMpLCBzdGF0
aWNfY2FzdDxjaGFyPihiNCkgfSB9OworICAgICAgICBWYXJpYXRpb25EZWZhdWx0czxTaG91bGRJ
bmNsdWRlQXhpc05hbWU+IHJlc3VsdFZhbHVlczsKKyAgICAgICAgaWYgY29uc3RleHByIChTaG91
bGRJbmNsdWRlQXhpc05hbWUgPT0gSW5jbHVkZUF4aXNOYW1lOjpZZXMpCisgICAgICAgICAgICBy
ZXN1bHRWYWx1ZXMgPSB7IHsgcmF3RGVmYXVsdFZhbHVlLCByYXdNaW5pbXVtVmFsdWUsIHJhd01h
eGltdW1WYWx1ZSB9LCBheGlzTmFtZSB9OworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1
bHRWYWx1ZXMgPSB7IHJhd0RlZmF1bHRWYWx1ZSwgcmF3TWluaW11bVZhbHVlLCByYXdNYXhpbXVt
VmFsdWUgfTsKKyAgICAgICAgcmVzdWx0LnNldChyZXN1bHRLZXksIHJlc3VsdFZhbHVlcyk7Cisg
ICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2Nv
YS5tbQppbmRleCBmMDQ4NGM4ZmI1MWE0YTE1ZTMzYTVlOGViY2M0NTk3YTIwY2YwMGU4Li5hODU3
YjY5NzBhMWQ2ZDI2NzcwNjFlODEwNjNjOTk3NDViNzJiZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3Jt
RGF0YUNvY29hLm1tCkBAIC0yNSw2ICsyNSw3IEBACiAjaW1wb3J0ICJGb250UGxhdGZvcm1EYXRh
LmgiCiAKICNpbXBvcnQgIkZvbnRDYWNoZUNvcmVUZXh0LmgiCisjaW1wb3J0ICJGb250Q2FjaGVD
b3JlVGV4dElubGluZXMuaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZlci5oIgogI2ltcG9ydCA8cGFs
L3NwaS9jZi9Db3JlVGV4dFNQSS5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5h
dGVOdW1iZXJzLmg+CkBAIC02OSw3ICs3MCw3IEBAIFZlY3RvcjxGb250UGxhdGZvcm1EYXRhOjpG
b250VmFyaWF0aW9uQXhpcz4gRm9udFBsYXRmb3JtRGF0YTo6dmFyaWF0aW9uQXhlcygpIGNvCiAg
ICAgICAgIHJldHVybiB7IH07CiAgICAgCiAgICAgVmVjdG9yPEZvbnRWYXJpYXRpb25BeGlzPiBy
ZXN1bHRzOwotICAgIGZvciAoYXV0byYgW3RhZywgdmFsdWVzXSA6IGRlZmF1bHRWYXJpYXRpb25W
YWx1ZXMocGxhdGZvcm1Gb250KSkKKyAgICBmb3IgKGF1dG8mIFt0YWcsIHZhbHVlc10gOiBkZWZh
dWx0VmFyaWF0aW9uVmFsdWVzPEluY2x1ZGVBeGlzTmFtZTo6WWVzPihwbGF0Zm9ybUZvbnQpKQog
ICAgICAgICByZXN1bHRzLmFwcGVuZChGb250UGxhdGZvcm1EYXRhOjpGb250VmFyaWF0aW9uQXhp
cyh2YWx1ZXMuYXhpc05hbWUsIFN0cmluZyh0YWcuZGF0YSgpLCB0YWcuc2l6ZSgpKSwgdmFsdWVz
LmRlZmF1bHRWYWx1ZSwgdmFsdWVzLm1pbmltdW1WYWx1ZSwgdmFsdWVzLm1heGltdW1WYWx1ZSkp
OwogICAgIAogICAgIHJldHVybiByZXN1bHRzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443271</attachid>
            <date>2021-11-03 21:23:34 -0700</date>
            <delta_ts>2021-11-03 21:25:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232690-20211103212333.patch</filename>
            <type>text/plain</type>
            <size>6718</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkZGVhNjQ0ZTk3ZGYw
OGViZWQzYmI2OTEzMTQyNDAzODNmOTExNS4uNDU0ZmUzYzg5MzVlMzc2YThjOGUwZDcwYzVhYzAx
YWRjYTJkMTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTExLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
aWdyYXRlIGZyb20gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoKSB0byBDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKCkgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBp
cyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcygpLCBidXQgdGhlIHN0cmluZ3MK
KyAgICAgICAgaXQgcHJvdmlkZXMgYXJlIG5vdCBsb2NhbGl6ZWQuIEx1Y2tpbHksIHdlIGRvbid0
IGFjdHVhbGx5IHVzZSB0aGUgc3RyaW5ncyBpbiB0aGUgY29tbW9uIGNhc2UsCisgICAgICAgIHNv
IHdlIGNhbiBtaWdyYXRlIHRvIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBzYWZl
bHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFyaWF0aW9uQXhlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXBh
cmVQbGF0Zm9ybUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBs
YXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6
dmFyaWF0aW9uQXhlcyBjb25zdCk6CisKIDIwMjEtMTEtMDMgIFR5bGVyIFdpbGNvY2sgIDx0eWxl
cl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5tbSBzaG91bGQgZXhwb3NlIGFjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9y
ZGVyIGFuZCBOU0FjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyQXR0cmlidXRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwppbmRleCBiMTI0NGNkMDJkYWQ3ODFkOWMyODE3N2VjZjk5NDFmYzcy
ZTc4YjIzLi5kYmUwNTJmZDlkYjRhNjRlY2Y0MjQzZGZkM2NlZTU3Yzk2ZTIzNjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0wMyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9t
IENURm9udENvcHlWYXJpYXRpb25BeGVzKCkgdG8gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRl
cm5hbCgpIGlmIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0xMS0wMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQVIgUXVp
Y2tsb29rIGFzc2V0IGlzIHNoYXJlZCBpbnN0ZWFkIG9mIHBhZ2UgVVJMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaAppbmRleCA2ZTA2NDA2YTFjMTk2MDI2NmU0
NDgxZGU5ODdiZDMzOWZjNzU4NGIxLi40NjFiYzZkNWU1Y2Y2OGI3NzMxNWU2ZDEzMzc3NDkyMTFm
NDU5ZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4
dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgK
QEAgLTE2OSw2ICsxNjksNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dp
dGhMYW5ndWFnZShDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURgogQ1RGb250UmVmIENU
Rm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VBbmRPcHRpb24oQ1RGb250UmVmIGN1
cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBD
RlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tPcHRpb24sIENGSW5kZXggKmNvdmVy
ZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZvbnQoQ1RGb250UmVmKTsK
IENURm9udFN5bWJvbGljVHJhaXRzIENURm9udEdldFBoeXNpY2FsU3ltYm9saWNUcmFpdHMoQ1RG
b250UmVmKTsKK0NGQXJyYXlSZWYgQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbChDVEZv
bnRSZWYpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hv
cnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVT
aG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggZmE2Y2JmNmJmMWFkMWQxMWVm
MDdlY2I0ODExNWY0MzdjN2I2MWM2Mi4uNmRlZGE5ZGQxZWZjNDYxYjBiOWU1ZjM1MzdlNjVjYmFm
N2M3MDZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtMzAwLDEwICszMDAsMjEgQEAg
c3RhdGljIGlubGluZSBib29sIGZvbnROYW1lSXNTeXN0ZW1Gb250KENGU3RyaW5nUmVmIGZvbnRO
YW1lKQogICAgIHJldHVybiBDRlN0cmluZ0dldExlbmd0aChmb250TmFtZSkgPiAwICYmIENGU3Ry
aW5nR2V0Q2hhcmFjdGVyQXRJbmRleChmb250TmFtZSwgMCkgPT0gJy4nOwogfQogCi1WYXJpYXRp
b25EZWZhdWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiBmb250KQorc3Rh
dGljIFJldGFpblB0cjxDRkFycmF5UmVmPiB2YXJpYXRpb25BeGVzKENURm9udFJlZiBmb250LCBT
aG91bGRJbmNsdWRlTG9jYWxpemVkQXhpc05hbWVzIHNob3VsZEluY2x1ZGVMb2NhbGl6ZWRBeGlz
TmFtZXMpCit7CisjaWYgZGVmaW5lZChIQVZFX0NURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJu
YWwpIC8vIFRoaXMgbWFjcm8gaXMgZGVmaW5lZCBpbnNpZGUgQ29yZVRleHQsIG5vdCBXZWJLaXQu
CisgICAgaWYgKHNob3VsZEluY2x1ZGVMb2NhbGl6ZWRBeGlzTmFtZXMgPT0gU2hvdWxkSW5jbHVk
ZUxvY2FsaXplZEF4aXNOYW1lczo6WWVzKQorICAgICAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRD
b3B5VmFyaWF0aW9uQXhlcyhmb250KSk7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weVZh
cmlhdGlvbkF4ZXNJbnRlcm5hbChmb250KSk7CisjZWxzZQorICAgIHJldHVybiBhZG9wdENGKENU
Rm9udENvcHlWYXJpYXRpb25BeGVzKGZvbnQpKTsKKyNlbmRpZgorfQorCitWYXJpYXRpb25EZWZh
dWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiBmb250LCBTaG91bGRJbmNs
dWRlTG9jYWxpemVkQXhpc05hbWVzIHNob3VsZEluY2x1ZGVMb2NhbGl6ZWRBeGlzTmFtZXMpCiB7
CiAgICAgVmFyaWF0aW9uRGVmYXVsdHNNYXAgcmVzdWx0OwotICAgIGF1dG8gYXhlcyA9IGFkb3B0
Q0YoQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoZm9udCkpOworICAgIGF1dG8gYXhlcyA9IHZhcmlh
dGlvbkF4ZXMoZm9udCwgc2hvdWxkSW5jbHVkZUxvY2FsaXplZEF4aXNOYW1lcyk7CiAgICAgaWYg
KCFheGVzKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIGF1dG8gc2l6ZSA9IENGQXJyYXlH
ZXRDb3VudChheGVzLmdldCgpKTsKQEAgLTUxOCw3ICs1MjksNyBAQCBSZXRhaW5QdHI8Q1RGb250
UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZv
bnREZXNjcgogCiAgICAgYXV0byBmb250T3B0aWNhbFNpemluZyA9IGZvbnREZXNjcmlwdGlvbi5v
cHRpY2FsU2l6aW5nKCk7CiAKLSAgICBhdXRvIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0VmFyaWF0
aW9uVmFsdWVzKG9yaWdpbmFsRm9udCk7CisgICAgYXV0byBkZWZhdWx0VmFsdWVzID0gZGVmYXVs
dFZhcmlhdGlvblZhbHVlcyhvcmlnaW5hbEZvbnQsIFNob3VsZEluY2x1ZGVMb2NhbGl6ZWRBeGlz
TmFtZXM6Ok5vKTsKIAogICAgIGF1dG8gZm9udFNlbGVjdGlvblJlcXVlc3QgPSBmb250RGVzY3Jp
cHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKTsKICAgICBhdXRvIGZvbnRTdHlsZUF4aXMgPSBm
b250RGVzY3JpcHRpb24uZm9udFN0eWxlQXhpcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5kZXgg
N2RmMDJlYjE4YmY0Yjg5NWJjNDk0MGJiMzY4MzBiZjM4Yjc3Mzc4ZC4uYzczYzM5ZGZmNTA4MTgw
ZDAwZmVkNWZlNWJiZDcyZGU1ZTFjMzkwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC03Miw1
ICs3Miw5IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250
cyhDVEZvbnRSZWYsIEFsbG93VXNlckluc3RhbGxlZEZvCiB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JX
ZWJGb250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKTsKIFJldGFpblB0cjxDRlNldFJlZj4gaW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0
dHJpYnV0ZXMoQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogCi1WYXJpYXRpb25EZWZhdWx0c01h
cCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZik7CitlbnVtIGNsYXNzIFNob3VsZElu
Y2x1ZGVMb2NhbGl6ZWRBeGlzTmFtZXMgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307
CitWYXJpYXRpb25EZWZhdWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiwg
U2hvdWxkSW5jbHVkZUxvY2FsaXplZEF4aXNOYW1lcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRh
Q29jb2EubW0KaW5kZXggZjA0ODRjOGZiNTFhNGExNWUzM2E1ZThlYmNjNDU5N2EyMGNmMDBlOC4u
NmYxMjczOTRiMmJhODdkNGUzZmViMWY0ODA5Yzg1MzFkOGJkNGVlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0
Zm9ybURhdGFDb2NvYS5tbQpAQCAtNjksNyArNjksNyBAQCBWZWN0b3I8Rm9udFBsYXRmb3JtRGF0
YTo6Rm9udFZhcmlhdGlvbkF4aXM+IEZvbnRQbGF0Zm9ybURhdGE6OnZhcmlhdGlvbkF4ZXMoKSBj
bwogICAgICAgICByZXR1cm4geyB9OwogICAgIAogICAgIFZlY3RvcjxGb250VmFyaWF0aW9uQXhp
cz4gcmVzdWx0czsKLSAgICBmb3IgKGF1dG8mIFt0YWcsIHZhbHVlc10gOiBkZWZhdWx0VmFyaWF0
aW9uVmFsdWVzKHBsYXRmb3JtRm9udCkpCisgICAgZm9yIChhdXRvJiBbdGFnLCB2YWx1ZXNdIDog
ZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhwbGF0Zm9ybUZvbnQsIFNob3VsZEluY2x1ZGVMb2NhbGl6
ZWRBeGlzTmFtZXM6OlllcykpCiAgICAgICAgIHJlc3VsdHMuYXBwZW5kKEZvbnRQbGF0Zm9ybURh
dGE6OkZvbnRWYXJpYXRpb25BeGlzKHZhbHVlcy5heGlzTmFtZSwgU3RyaW5nKHRhZy5kYXRhKCks
IHRhZy5zaXplKCkpLCB2YWx1ZXMuZGVmYXVsdFZhbHVlLCB2YWx1ZXMubWluaW11bVZhbHVlLCB2
YWx1ZXMubWF4aW11bVZhbHVlKSk7CiAgICAgCiAgICAgcmV0dXJuIHJlc3VsdHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443272</attachid>
            <date>2021-11-03 21:25:24 -0700</date>
            <delta_ts>2021-11-03 21:45:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232690-20211103212523.patch</filename>
            <type>text/plain</type>
            <size>6630</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkZGVhNjQ0ZTk3ZGYw
OGViZWQzYmI2OTEzMTQyNDAzODNmOTExNS4uNDU0ZmUzYzg5MzVlMzc2YThjOGUwZDcwYzVhYzAx
YWRjYTJkMTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTExLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
aWdyYXRlIGZyb20gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoKSB0byBDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKCkgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBp
cyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcygpLCBidXQgdGhlIHN0cmluZ3MK
KyAgICAgICAgaXQgcHJvdmlkZXMgYXJlIG5vdCBsb2NhbGl6ZWQuIEx1Y2tpbHksIHdlIGRvbid0
IGFjdHVhbGx5IHVzZSB0aGUgc3RyaW5ncyBpbiB0aGUgY29tbW9uIGNhc2UsCisgICAgICAgIHNv
IHdlIGNhbiBtaWdyYXRlIHRvIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBzYWZl
bHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFyaWF0aW9uQXhlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXBh
cmVQbGF0Zm9ybUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBs
YXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6
dmFyaWF0aW9uQXhlcyBjb25zdCk6CisKIDIwMjEtMTEtMDMgIFR5bGVyIFdpbGNvY2sgIDx0eWxl
cl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5tbSBzaG91bGQgZXhwb3NlIGFjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9y
ZGVyIGFuZCBOU0FjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyQXR0cmlidXRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwppbmRleCBiMTI0NGNkMDJkYWQ3ODFkOWMyODE3N2VjZjk5NDFmYzcy
ZTc4YjIzLi5kYmUwNTJmZDlkYjRhNjRlY2Y0MjQzZGZkM2NlZTU3Yzk2ZTIzNjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0wMyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9t
IENURm9udENvcHlWYXJpYXRpb25BeGVzKCkgdG8gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRl
cm5hbCgpIGlmIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0xMS0wMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQVIgUXVp
Y2tsb29rIGFzc2V0IGlzIHNoYXJlZCBpbnN0ZWFkIG9mIHBhZ2UgVVJMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaAppbmRleCA2ZTA2NDA2YTFjMTk2MDI2NmU0
NDgxZGU5ODdiZDMzOWZjNzU4NGIxLi40NjFiYzZkNWU1Y2Y2OGI3NzMxNWU2ZDEzMzc3NDkyMTFm
NDU5ZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4
dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgK
QEAgLTE2OSw2ICsxNjksNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dp
dGhMYW5ndWFnZShDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURgogQ1RGb250UmVmIENU
Rm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VBbmRPcHRpb24oQ1RGb250UmVmIGN1
cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBD
RlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tPcHRpb24sIENGSW5kZXggKmNvdmVy
ZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZvbnQoQ1RGb250UmVmKTsK
IENURm9udFN5bWJvbGljVHJhaXRzIENURm9udEdldFBoeXNpY2FsU3ltYm9saWNUcmFpdHMoQ1RG
b250UmVmKTsKK0NGQXJyYXlSZWYgQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbChDVEZv
bnRSZWYpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hv
cnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVT
aG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggZmE2Y2JmNmJmMWFkMWQxMWVm
MDdlY2I0ODExNWY0MzdjN2I2MWM2Mi4uYmQ3MjBlODI0OWEyZDI3ZDVkYzA0MjhmZjQ2YjdlOWJi
ZWYwMWE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtMzAwLDEwICszMDAsMjEgQEAg
c3RhdGljIGlubGluZSBib29sIGZvbnROYW1lSXNTeXN0ZW1Gb250KENGU3RyaW5nUmVmIGZvbnRO
YW1lKQogICAgIHJldHVybiBDRlN0cmluZ0dldExlbmd0aChmb250TmFtZSkgPiAwICYmIENGU3Ry
aW5nR2V0Q2hhcmFjdGVyQXRJbmRleChmb250TmFtZSwgMCkgPT0gJy4nOwogfQogCi1WYXJpYXRp
b25EZWZhdWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiBmb250KQorc3Rh
dGljIFJldGFpblB0cjxDRkFycmF5UmVmPiB2YXJpYXRpb25BeGVzKENURm9udFJlZiBmb250LCBT
aG91bGRMb2NhbGl6ZUF4aXNOYW1lcyBzaG91bGRMb2NhbGl6ZUF4aXNOYW1lcykKK3sKKyNpZiBk
ZWZpbmVkKEhBVkVfQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbCkgLy8gVGhpcyBtYWNy
byBpcyBkZWZpbmVkIGluc2lkZSBDb3JlVGV4dCwgbm90IFdlYktpdC4KKyAgICBpZiAoc2hvdWxk
TG9jYWxpemVBeGlzTmFtZXMgPT0gU2hvdWxkTG9jYWxpemVBeGlzTmFtZXM6OlllcykKKyAgICAg
ICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoZm9udCkpOworICAgIHJl
dHVybiBhZG9wdENGKENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoZm9udCkpOworI2Vs
c2UKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcyhmb250KSk7Cisj
ZW5kaWYKK30KKworVmFyaWF0aW9uRGVmYXVsdHNNYXAgZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhD
VEZvbnRSZWYgZm9udCwgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMgc2hvdWxkTG9jYWxpemVBeGlz
TmFtZXMpCiB7CiAgICAgVmFyaWF0aW9uRGVmYXVsdHNNYXAgcmVzdWx0OwotICAgIGF1dG8gYXhl
cyA9IGFkb3B0Q0YoQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoZm9udCkpOworICAgIGF1dG8gYXhl
cyA9IHZhcmlhdGlvbkF4ZXMoZm9udCwgc2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpOwogICAgIGlm
ICghYXhlcykKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICBhdXRvIHNpemUgPSBDRkFycmF5
R2V0Q291bnQoYXhlcy5nZXQoKSk7CkBAIC01MTgsNyArNTI5LDcgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBG
b250RGVzY3IKIAogICAgIGF1dG8gZm9udE9wdGljYWxTaXppbmcgPSBmb250RGVzY3JpcHRpb24u
b3B0aWNhbFNpemluZygpOwogCi0gICAgYXV0byBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdFZhcmlh
dGlvblZhbHVlcyhvcmlnaW5hbEZvbnQpOworICAgIGF1dG8gZGVmYXVsdFZhbHVlcyA9IGRlZmF1
bHRWYXJpYXRpb25WYWx1ZXMob3JpZ2luYWxGb250LCBTaG91bGRMb2NhbGl6ZUF4aXNOYW1lczo6
Tm8pOwogCiAgICAgYXV0byBmb250U2VsZWN0aW9uUmVxdWVzdCA9IGZvbnREZXNjcmlwdGlvbi5m
b250U2VsZWN0aW9uUmVxdWVzdCgpOwogICAgIGF1dG8gZm9udFN0eWxlQXhpcyA9IGZvbnREZXNj
cmlwdGlvbi5mb250U3R5bGVBeGlzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAppbmRleCA3ZGYwMmVi
MThiZjRiODk1YmM0OTQwYmIzNjgzMGJmMzhiNzczNzhkLi45YzE3NjA5YzViNzM5MzQ5YjU0YjYy
MzFmYzhjZmIwMGU1NjE0MGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKQEAgLTcyLDUgKzcyLDkg
QEAgUmV0YWluUHRyPENURm9udFJlZj4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKENURm9u
dFJlZiwgQWxsb3dVc2VySW5zdGFsbGVkRm8KIHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRz
KENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpOwogUmV0YWluUHRyPENGU2V0UmVmPiBpbnN0YWxsZWRGb250TWFuZGF0b3J5QXR0cmlidXRl
cyhBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAKLVZhcmlhdGlvbkRlZmF1bHRzTWFwIGRlZmF1
bHRWYXJpYXRpb25WYWx1ZXMoQ1RGb250UmVmKTsKK2VudW0gY2xhc3MgU2hvdWxkTG9jYWxpemVB
eGlzTmFtZXMgOiB1aW50OF90IHsKKyAgICBObywKKyAgICBZZXMKK307CitWYXJpYXRpb25EZWZh
dWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiwgU2hvdWxkTG9jYWxpemVB
eGlzTmFtZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCmluZGV4IGYwNDg0Yzhm
YjUxYTRhMTVlMzNhNWU4ZWJjYzQ1OTdhMjBjZjAwZTguLjU4YjI2NTlhYjBkZjQ3YzI1ZTMwYzVi
MGIwNTAyMzgzNGJkMTRlNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KQEAgLTY5
LDcgKzY5LDcgQEAgVmVjdG9yPEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRWYXJpYXRpb25BeGlzPiBG
b250UGxhdGZvcm1EYXRhOjp2YXJpYXRpb25BeGVzKCkgY28KICAgICAgICAgcmV0dXJuIHsgfTsK
ICAgICAKICAgICBWZWN0b3I8Rm9udFZhcmlhdGlvbkF4aXM+IHJlc3VsdHM7Ci0gICAgZm9yIChh
dXRvJiBbdGFnLCB2YWx1ZXNdIDogZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhwbGF0Zm9ybUZvbnQp
KQorICAgIGZvciAoYXV0byYgW3RhZywgdmFsdWVzXSA6IGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMo
cGxhdGZvcm1Gb250LCBTaG91bGRMb2NhbGl6ZUF4aXNOYW1lczo6WWVzKSkKICAgICAgICAgcmVz
dWx0cy5hcHBlbmQoRm9udFBsYXRmb3JtRGF0YTo6Rm9udFZhcmlhdGlvbkF4aXModmFsdWVzLmF4
aXNOYW1lLCBTdHJpbmcodGFnLmRhdGEoKSwgdGFnLnNpemUoKSksIHZhbHVlcy5kZWZhdWx0VmFs
dWUsIHZhbHVlcy5taW5pbXVtVmFsdWUsIHZhbHVlcy5tYXhpbXVtVmFsdWUpKTsKICAgICAKICAg
ICByZXR1cm4gcmVzdWx0czsK
</data>
<flag name="commit-queue"
          id="467991"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443273</attachid>
            <date>2021-11-03 21:31:15 -0700</date>
            <delta_ts>2021-11-03 21:33:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232690-20211103213114.patch</filename>
            <type>text/plain</type>
            <size>7085</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkZGVhNjQ0ZTk3ZGYw
OGViZWQzYmI2OTEzMTQyNDAzODNmOTExNS4uNDU0ZmUzYzg5MzVlMzc2YThjOGUwZDcwYzVhYzAx
YWRjYTJkMTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTExLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
aWdyYXRlIGZyb20gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoKSB0byBDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKCkgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBp
cyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcygpLCBidXQgdGhlIHN0cmluZ3MK
KyAgICAgICAgaXQgcHJvdmlkZXMgYXJlIG5vdCBsb2NhbGl6ZWQuIEx1Y2tpbHksIHdlIGRvbid0
IGFjdHVhbGx5IHVzZSB0aGUgc3RyaW5ncyBpbiB0aGUgY29tbW9uIGNhc2UsCisgICAgICAgIHNv
IHdlIGNhbiBtaWdyYXRlIHRvIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBzYWZl
bHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFyaWF0aW9uQXhlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXBh
cmVQbGF0Zm9ybUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBs
YXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6
dmFyaWF0aW9uQXhlcyBjb25zdCk6CisKIDIwMjEtMTEtMDMgIFR5bGVyIFdpbGNvY2sgIDx0eWxl
cl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5tbSBzaG91bGQgZXhwb3NlIGFjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9y
ZGVyIGFuZCBOU0FjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyQXR0cmlidXRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwppbmRleCBiMTI0NGNkMDJkYWQ3ODFkOWMyODE3N2VjZjk5NDFmYzcy
ZTc4YjIzLi5kYmUwNTJmZDlkYjRhNjRlY2Y0MjQzZGZkM2NlZTU3Yzk2ZTIzNjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0wMyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9t
IENURm9udENvcHlWYXJpYXRpb25BeGVzKCkgdG8gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRl
cm5hbCgpIGlmIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0xMS0wMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQVIgUXVp
Y2tsb29rIGFzc2V0IGlzIHNoYXJlZCBpbnN0ZWFkIG9mIHBhZ2UgVVJMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaAppbmRleCA2ZTA2NDA2YTFjMTk2MDI2NmU0
NDgxZGU5ODdiZDMzOWZjNzU4NGIxLi40NjFiYzZkNWU1Y2Y2OGI3NzMxNWU2ZDEzMzc3NDkyMTFm
NDU5ZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4
dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgK
QEAgLTE2OSw2ICsxNjksNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dp
dGhMYW5ndWFnZShDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURgogQ1RGb250UmVmIENU
Rm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VBbmRPcHRpb24oQ1RGb250UmVmIGN1
cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBD
RlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tPcHRpb24sIENGSW5kZXggKmNvdmVy
ZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZvbnQoQ1RGb250UmVmKTsK
IENURm9udFN5bWJvbGljVHJhaXRzIENURm9udEdldFBoeXNpY2FsU3ltYm9saWNUcmFpdHMoQ1RG
b250UmVmKTsKK0NGQXJyYXlSZWYgQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbChDVEZv
bnRSZWYpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hv
cnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVT
aG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggZmE2Y2JmNmJmMWFkMWQxMWVm
MDdlY2I0ODExNWY0MzdjN2I2MWM2Mi4uMDQ4MjU1NGU5MjUxOWJiNTVmM2M0YmY4YWY5NjIyNzhh
NzQ1ZmQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtMzAwLDEwICszMDAsMjIgQEAg
c3RhdGljIGlubGluZSBib29sIGZvbnROYW1lSXNTeXN0ZW1Gb250KENGU3RyaW5nUmVmIGZvbnRO
YW1lKQogICAgIHJldHVybiBDRlN0cmluZ0dldExlbmd0aChmb250TmFtZSkgPiAwICYmIENGU3Ry
aW5nR2V0Q2hhcmFjdGVyQXRJbmRleChmb250TmFtZSwgMCkgPT0gJy4nOwogfQogCi1WYXJpYXRp
b25EZWZhdWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiBmb250KQorc3Rh
dGljIFJldGFpblB0cjxDRkFycmF5UmVmPiB2YXJpYXRpb25BeGVzKENURm9udFJlZiBmb250LCBT
aG91bGRMb2NhbGl6ZUF4aXNOYW1lcyBzaG91bGRMb2NhbGl6ZUF4aXNOYW1lcykKK3sKKyNpZiBk
ZWZpbmVkKEhBVkVfQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbCkgLy8gVGhpcyBtYWNy
byBpcyBkZWZpbmVkIGluc2lkZSBDb3JlVGV4dCwgbm90IFdlYktpdC4KKyAgICBpZiAoc2hvdWxk
TG9jYWxpemVBeGlzTmFtZXMgPT0gU2hvdWxkTG9jYWxpemVBeGlzTmFtZXM6OlllcykKKyAgICAg
ICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoZm9udCkpOworICAgIHJl
dHVybiBhZG9wdENGKENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoZm9udCkpOworI2Vs
c2UKKyAgICBVTlVTRURfUEFSQU0oc2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpOworICAgIHJldHVy
biBhZG9wdENGKENURm9udENvcHlWYXJpYXRpb25BeGVzKGZvbnQpKTsKKyNlbmRpZgorfQorCitW
YXJpYXRpb25EZWZhdWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiBmb250
LCBTaG91bGRMb2NhbGl6ZUF4aXNOYW1lcyBzaG91bGRMb2NhbGl6ZUF4aXNOYW1lcykKIHsKICAg
ICBWYXJpYXRpb25EZWZhdWx0c01hcCByZXN1bHQ7Ci0gICAgYXV0byBheGVzID0gYWRvcHRDRihD
VEZvbnRDb3B5VmFyaWF0aW9uQXhlcyhmb250KSk7CisgICAgYXV0byBheGVzID0gdmFyaWF0aW9u
QXhlcyhmb250LCBzaG91bGRMb2NhbGl6ZUF4aXNOYW1lcyk7CiAgICAgaWYgKCFheGVzKQogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIGF1dG8gc2l6ZSA9IENGQXJyYXlHZXRDb3VudChheGVz
LmdldCgpKTsKQEAgLTUxOCw3ICs1MzAsNyBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJl
UGxhdGZvcm1Gb250KENURm9udFJlZiBvcmlnaW5hbEZvbnQsIGNvbnN0IEZvbnREZXNjcgogCiAg
ICAgYXV0byBmb250T3B0aWNhbFNpemluZyA9IGZvbnREZXNjcmlwdGlvbi5vcHRpY2FsU2l6aW5n
KCk7CiAKLSAgICBhdXRvIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKG9y
aWdpbmFsRm9udCk7CisgICAgYXV0byBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdFZhcmlhdGlvblZh
bHVlcyhvcmlnaW5hbEZvbnQsIFNob3VsZExvY2FsaXplQXhpc05hbWVzOjpObyk7CiAKICAgICBh
dXRvIGZvbnRTZWxlY3Rpb25SZXF1ZXN0ID0gZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rpb25S
ZXF1ZXN0KCk7CiAgICAgYXV0byBmb250U3R5bGVBeGlzID0gZm9udERlc2NyaXB0aW9uLmZvbnRT
dHlsZUF4aXMoKTsKQEAgLTEwMjEsNyArMTAzMyw3IEBAIHN0YXRpYyBWYXJpYXRpb25DYXBhYmls
aXRpZXMgdmFyaWF0aW9uQ2FwYWJpbGl0aWVzRm9yRm9udERlc2NyaXB0b3IoQ1RGb250RGVzY3Jp
CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICAgICBhdXRvIGZvbnQgPSBhZG9wdENGKENURm9u
dENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihmb250RGVzY3JpcHRvciwgMCwgbnVsbHB0cikpOwot
ICAgIGF1dG8gdmFyaWF0aW9ucyA9IGFkb3B0Q0YoQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoZm9u
dC5nZXQoKSkpOworICAgIGF1dG8gdmFyaWF0aW9ucyA9IHZhcmlhdGlvbkF4ZXMoZm9udC5nZXQo
KSwgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXM6Ok5vKTsKICAgICBpZiAoIXZhcmlhdGlvbnMpCiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCmluZGV4IDdkZjAyZWIx
OGJmNGI4OTViYzQ5NDBiYjM2ODMwYmYzOGI3NzM3OGQuLjljMTc2MDljNWI3MzkzNDliNTRiNjIz
MWZjOGNmYjAwZTU2MTQwYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaApAQCAtNzIsNSArNzIsOSBA
QCBSZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoQ1RGb250
UmVmLCBBbGxvd1VzZXJJbnN0YWxsZWRGbwogdm9pZCBhZGRBdHRyaWJ1dGVzRm9yV2ViRm9udHMo
Q0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250
cyk7CiBSZXRhaW5QdHI8Q0ZTZXRSZWY+IGluc3RhbGxlZEZvbnRNYW5kYXRvcnlBdHRyaWJ1dGVz
KEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIAotVmFyaWF0aW9uRGVmYXVsdHNNYXAgZGVmYXVs
dFZhcmlhdGlvblZhbHVlcyhDVEZvbnRSZWYpOworZW51bSBjbGFzcyBTaG91bGRMb2NhbGl6ZUF4
aXNOYW1lcyA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKK1ZhcmlhdGlvbkRlZmF1
bHRzTWFwIGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMoQ1RGb250UmVmLCBTaG91bGRMb2NhbGl6ZUF4
aXNOYW1lcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KaW5kZXggZjA0ODRjOGZi
NTFhNGExNWUzM2E1ZThlYmNjNDU5N2EyMGNmMDBlOC4uNThiMjY1OWFiMGRmNDdjMjVlMzBjNWIw
YjA1MDIzODM0YmQxNGU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQpAQCAtNjks
NyArNjksNyBAQCBWZWN0b3I8Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFZhcmlhdGlvbkF4aXM+IEZv
bnRQbGF0Zm9ybURhdGE6OnZhcmlhdGlvbkF4ZXMoKSBjbwogICAgICAgICByZXR1cm4geyB9Owog
ICAgIAogICAgIFZlY3RvcjxGb250VmFyaWF0aW9uQXhpcz4gcmVzdWx0czsKLSAgICBmb3IgKGF1
dG8mIFt0YWcsIHZhbHVlc10gOiBkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKHBsYXRmb3JtRm9udCkp
CisgICAgZm9yIChhdXRvJiBbdGFnLCB2YWx1ZXNdIDogZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhw
bGF0Zm9ybUZvbnQsIFNob3VsZExvY2FsaXplQXhpc05hbWVzOjpZZXMpKQogICAgICAgICByZXN1
bHRzLmFwcGVuZChGb250UGxhdGZvcm1EYXRhOjpGb250VmFyaWF0aW9uQXhpcyh2YWx1ZXMuYXhp
c05hbWUsIFN0cmluZyh0YWcuZGF0YSgpLCB0YWcuc2l6ZSgpKSwgdmFsdWVzLmRlZmF1bHRWYWx1
ZSwgdmFsdWVzLm1pbmltdW1WYWx1ZSwgdmFsdWVzLm1heGltdW1WYWx1ZSkpOwogICAgIAogICAg
IHJldHVybiByZXN1bHRzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443275</attachid>
            <date>2021-11-03 21:33:56 -0700</date>
            <delta_ts>2021-11-04 00:08:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232690-20211103213355.patch</filename>
            <type>text/plain</type>
            <size>8323</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkZGVhNjQ0ZTk3ZGYw
OGViZWQzYmI2OTEzMTQyNDAzODNmOTExNS4uNDU0ZmUzYzg5MzVlMzc2YThjOGUwZDcwYzVhYzAx
YWRjYTJkMTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTExLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
aWdyYXRlIGZyb20gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoKSB0byBDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKCkgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBp
cyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcygpLCBidXQgdGhlIHN0cmluZ3MK
KyAgICAgICAgaXQgcHJvdmlkZXMgYXJlIG5vdCBsb2NhbGl6ZWQuIEx1Y2tpbHksIHdlIGRvbid0
IGFjdHVhbGx5IHVzZSB0aGUgc3RyaW5ncyBpbiB0aGUgY29tbW9uIGNhc2UsCisgICAgICAgIHNv
IHdlIGNhbiBtaWdyYXRlIHRvIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBzYWZl
bHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFyaWF0aW9uQXhlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXBh
cmVQbGF0Zm9ybUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBs
YXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6
dmFyaWF0aW9uQXhlcyBjb25zdCk6CisKIDIwMjEtMTEtMDMgIFR5bGVyIFdpbGNvY2sgIDx0eWxl
cl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5tbSBzaG91bGQgZXhwb3NlIGFjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9y
ZGVyIGFuZCBOU0FjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyQXR0cmlidXRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwppbmRleCBiMTI0NGNkMDJkYWQ3ODFkOWMyODE3N2VjZjk5NDFmYzcy
ZTc4YjIzLi5kYmUwNTJmZDlkYjRhNjRlY2Y0MjQzZGZkM2NlZTU3Yzk2ZTIzNjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0wMyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9t
IENURm9udENvcHlWYXJpYXRpb25BeGVzKCkgdG8gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRl
cm5hbCgpIGlmIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0xMS0wMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQVIgUXVp
Y2tsb29rIGFzc2V0IGlzIHNoYXJlZCBpbnN0ZWFkIG9mIHBhZ2UgVVJMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaAppbmRleCA2ZTA2NDA2YTFjMTk2MDI2NmU0
NDgxZGU5ODdiZDMzOWZjNzU4NGIxLi40NjFiYzZkNWU1Y2Y2OGI3NzMxNWU2ZDEzMzc3NDkyMTFm
NDU5ZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9Db3JlVGV4
dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgK
QEAgLTE2OSw2ICsxNjksNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dp
dGhMYW5ndWFnZShDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURgogQ1RGb250UmVmIENU
Rm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VBbmRPcHRpb24oQ1RGb250UmVmIGN1
cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBD
RlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tPcHRpb24sIENGSW5kZXggKmNvdmVy
ZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZvbnQoQ1RGb250UmVmKTsK
IENURm9udFN5bWJvbGljVHJhaXRzIENURm9udEdldFBoeXNpY2FsU3ltYm9saWNUcmFpdHMoQ1RG
b250UmVmKTsKK0NGQXJyYXlSZWYgQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRlcm5hbChDVEZv
bnRSZWYpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hv
cnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVT
aG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwCmluZGV4IDNlYzE0ZjY3MWVkODY1NTFjNGNjOWQxZWRiODZjN2Fm
YTAwY2YyNWUuLjYzYzExM2UyZWExMGRlMWI4NmY1MDViMzQzYzEyYzY3NGZiYmQxN2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1NTQWdl
bnQuY3BwCkBAIC01NzUsNyArNTc1LDcgQEAgUHJvdG9jb2w6OkVycm9yU3RyaW5nT3I8UmVmPEpT
T046OkFycmF5T2Y8UHJvdG9jb2w6OkNTUzo6Q1NTQ29tcHV0ZWRTdHlsZVByb3BlcnQKIHN0YXRp
YyBSZWY8UHJvdG9jb2w6OkNTUzo6Rm9udD4gYnVpbGRPYmplY3RGb3JGb250KGNvbnN0IEZvbnQm
IGZvbnQpCiB7CiAgICAgYXV0byByZXN1bHRWYXJpYXRpb25BeGVzID0gSlNPTjo6QXJyYXlPZjxQ
cm90b2NvbDo6Q1NTOjpGb250VmFyaWF0aW9uQXhpcz46OmNyZWF0ZSgpOwotICAgIGZvciAoYXV0
byYgdmFyaWF0aW9uQXhpcyA6IGZvbnQucGxhdGZvcm1EYXRhKCkudmFyaWF0aW9uQXhlcygpKSB7
CisgICAgZm9yIChhdXRvJiB2YXJpYXRpb25BeGlzIDogZm9udC5wbGF0Zm9ybURhdGEoKS52YXJp
YXRpb25BeGVzKFNob3VsZExvY2FsaXplQXhpc05hbWVzOjpZZXMpKSB7CiAgICAgICAgIGF1dG8g
YXhpcyA9IFByb3RvY29sOjpDU1M6OkZvbnRWYXJpYXRpb25BeGlzOjpjcmVhdGUoKQogICAgICAg
ICAgICAgLnNldFRhZyh2YXJpYXRpb25BeGlzLnRhZygpKQogICAgICAgICAgICAgLnNldE1pbmlt
dW1WYWx1ZSh2YXJpYXRpb25BeGlzLm1pbmltdW1WYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwCmluZGV4IGZhNmNiZjZiZjFhZDFkMTFlZjA3ZWNiNDgxMTVmNDM3YzdiNjFjNjIuLjA0ODI1
NTRlOTI1MTliYjU1ZjNjNGJmOGFmOTYyMjc4YTc0NWZkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4
dC5jcHAKQEAgLTMwMCwxMCArMzAwLDIyIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBmb250TmFtZUlz
U3lzdGVtRm9udChDRlN0cmluZ1JlZiBmb250TmFtZSkKICAgICByZXR1cm4gQ0ZTdHJpbmdHZXRM
ZW5ndGgoZm9udE5hbWUpID4gMCAmJiBDRlN0cmluZ0dldENoYXJhY3RlckF0SW5kZXgoZm9udE5h
bWUsIDApID09ICcuJzsKIH0KIAotVmFyaWF0aW9uRGVmYXVsdHNNYXAgZGVmYXVsdFZhcmlhdGlv
blZhbHVlcyhDVEZvbnRSZWYgZm9udCkKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdmFy
aWF0aW9uQXhlcyhDVEZvbnRSZWYgZm9udCwgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMgc2hvdWxk
TG9jYWxpemVBeGlzTmFtZXMpCit7CisjaWYgZGVmaW5lZChIQVZFX0NURm9udENvcHlWYXJpYXRp
b25BeGVzSW50ZXJuYWwpIC8vIFRoaXMgbWFjcm8gaXMgZGVmaW5lZCBpbnNpZGUgQ29yZVRleHQs
IG5vdCBXZWJLaXQuCisgICAgaWYgKHNob3VsZExvY2FsaXplQXhpc05hbWVzID09IFNob3VsZExv
Y2FsaXplQXhpc05hbWVzOjpZZXMpCisgICAgICAgIHJldHVybiBhZG9wdENGKENURm9udENvcHlW
YXJpYXRpb25BeGVzKGZvbnQpKTsKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKGZvbnQpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNob3VsZExv
Y2FsaXplQXhpc05hbWVzKTsKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDb3B5VmFyaWF0aW9u
QXhlcyhmb250KSk7CisjZW5kaWYKK30KKworVmFyaWF0aW9uRGVmYXVsdHNNYXAgZGVmYXVsdFZh
cmlhdGlvblZhbHVlcyhDVEZvbnRSZWYgZm9udCwgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMgc2hv
dWxkTG9jYWxpemVBeGlzTmFtZXMpCiB7CiAgICAgVmFyaWF0aW9uRGVmYXVsdHNNYXAgcmVzdWx0
OwotICAgIGF1dG8gYXhlcyA9IGFkb3B0Q0YoQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoZm9udCkp
OworICAgIGF1dG8gYXhlcyA9IHZhcmlhdGlvbkF4ZXMoZm9udCwgc2hvdWxkTG9jYWxpemVBeGlz
TmFtZXMpOwogICAgIGlmICghYXhlcykKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICBhdXRv
IHNpemUgPSBDRkFycmF5R2V0Q291bnQoYXhlcy5nZXQoKSk7CkBAIC01MTgsNyArNTMwLDcgQEAg
UmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2lu
YWxGb250LCBjb25zdCBGb250RGVzY3IKIAogICAgIGF1dG8gZm9udE9wdGljYWxTaXppbmcgPSBm
b250RGVzY3JpcHRpb24ub3B0aWNhbFNpemluZygpOwogCi0gICAgYXV0byBkZWZhdWx0VmFsdWVz
ID0gZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhvcmlnaW5hbEZvbnQpOworICAgIGF1dG8gZGVmYXVs
dFZhbHVlcyA9IGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMob3JpZ2luYWxGb250LCBTaG91bGRMb2Nh
bGl6ZUF4aXNOYW1lczo6Tm8pOwogCiAgICAgYXV0byBmb250U2VsZWN0aW9uUmVxdWVzdCA9IGZv
bnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOwogICAgIGF1dG8gZm9udFN0eWxl
QXhpcyA9IGZvbnREZXNjcmlwdGlvbi5mb250U3R5bGVBeGlzKCk7CkBAIC0xMDIxLDcgKzEwMzMs
NyBAQCBzdGF0aWMgVmFyaWF0aW9uQ2FwYWJpbGl0aWVzIHZhcmlhdGlvbkNhcGFiaWxpdGllc0Zv
ckZvbnREZXNjcmlwdG9yKENURm9udERlc2NyaQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCiAg
ICAgYXV0byBmb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoRm9udERlc2NyaXB0b3IoZm9u
dERlc2NyaXB0b3IsIDAsIG51bGxwdHIpKTsKLSAgICBhdXRvIHZhcmlhdGlvbnMgPSBhZG9wdENG
KENURm9udENvcHlWYXJpYXRpb25BeGVzKGZvbnQuZ2V0KCkpKTsKKyAgICBhdXRvIHZhcmlhdGlv
bnMgPSB2YXJpYXRpb25BeGVzKGZvbnQuZ2V0KCksIFNob3VsZExvY2FsaXplQXhpc05hbWVzOjpO
byk7CiAgICAgaWYgKCF2YXJpYXRpb25zKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVD
b3JlVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
Y2hlQ29yZVRleHQuaAppbmRleCA3ZGYwMmViMThiZjRiODk1YmM0OTQwYmIzNjgzMGJmMzhiNzcz
NzhkLi45YzE3NjA5YzViNzM5MzQ5YjU0YjYyMzFmYzhjZmIwMGU1NjE0MGMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNo
ZUNvcmVUZXh0LmgKQEAgLTcyLDUgKzcyLDkgQEAgUmV0YWluUHRyPENURm9udFJlZj4gY3JlYXRl
Rm9udEZvckluc3RhbGxlZEZvbnRzKENURm9udFJlZiwgQWxsb3dVc2VySW5zdGFsbGVkRm8KIHZv
aWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmli
dXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogUmV0YWluUHRyPENGU2V0UmVmPiBpbnN0
YWxsZWRGb250TWFuZGF0b3J5QXR0cmlidXRlcyhBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAK
LVZhcmlhdGlvbkRlZmF1bHRzTWFwIGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMoQ1RGb250UmVmKTsK
K2VudW0gY2xhc3MgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMgOiB1aW50OF90IHsKKyAgICBObywK
KyAgICBZZXMKK307CitWYXJpYXRpb25EZWZhdWx0c01hcCBkZWZhdWx0VmFyaWF0aW9uVmFsdWVz
KENURm9udFJlZiwgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3Jt
RGF0YUNvY29hLm1tCmluZGV4IGYwNDg0YzhmYjUxYTRhMTVlMzNhNWU4ZWJjYzQ1OTdhMjBjZjAw
ZTguLjg1NDIxZTNkZTcwOWNlMTU5YzQ5NGI0MGZiOGQxYWQyMzU5M2MzYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
UGxhdGZvcm1EYXRhQ29jb2EubW0KQEAgLTYyLDE0ICs2MiwxNCBAQCBSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybU9wZW5UeXBlVGFibGUodWludDMyX3QpIGNv
bnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVZlY3RvcjxGb250UGxhdGZvcm1EYXRhOjpG
b250VmFyaWF0aW9uQXhpcz4gRm9udFBsYXRmb3JtRGF0YTo6dmFyaWF0aW9uQXhlcygpIGNvbnN0
CitWZWN0b3I8Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFZhcmlhdGlvbkF4aXM+IEZvbnRQbGF0Zm9y
bURhdGE6OnZhcmlhdGlvbkF4ZXMoU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMgc2hvdWxkTG9jYWxp
emVBeGlzTmFtZXMpIGNvbnN0CiB7CiAgICAgYXV0byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKTsK
ICAgICBpZiAoIXBsYXRmb3JtRm9udCkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAKICAgICBW
ZWN0b3I8Rm9udFZhcmlhdGlvbkF4aXM+IHJlc3VsdHM7Ci0gICAgZm9yIChhdXRvJiBbdGFnLCB2
YWx1ZXNdIDogZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhwbGF0Zm9ybUZvbnQpKQorICAgIGZvciAo
YXV0byYgW3RhZywgdmFsdWVzXSA6IGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMocGxhdGZvcm1Gb250
LCBzaG91bGRMb2NhbGl6ZUF4aXNOYW1lcykpCiAgICAgICAgIHJlc3VsdHMuYXBwZW5kKEZvbnRQ
bGF0Zm9ybURhdGE6OkZvbnRWYXJpYXRpb25BeGlzKHZhbHVlcy5heGlzTmFtZSwgU3RyaW5nKHRh
Zy5kYXRhKCksIHRhZy5zaXplKCkpLCB2YWx1ZXMuZGVmYXVsdFZhbHVlLCB2YWx1ZXMubWluaW11
bVZhbHVlLCB2YWx1ZXMubWF4aW11bVZhbHVlKSk7CiAgICAgCiAgICAgcmV0dXJuIHJlc3VsdHM7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443279</attachid>
            <date>2021-11-04 00:08:43 -0700</date>
            <delta_ts>2021-11-04 14:06:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232690-20211104000842.patch</filename>
            <type>text/plain</type>
            <size>17065</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkZGVhNjQ0ZTk3ZGYw
OGViZWQzYmI2OTEzMTQyNDAzODNmOTExNS4uNDU0ZmUzYzg5MzVlMzc2YThjOGUwZDcwYzVhYzAx
YWRjYTJkMTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTExLTAzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
aWdyYXRlIGZyb20gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXMoKSB0byBDVEZvbnRDb3B5VmFyaWF0
aW9uQXhlc0ludGVybmFsKCkgaWYgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBp
cyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlcygpLCBidXQgdGhlIHN0cmluZ3MK
KyAgICAgICAgaXQgcHJvdmlkZXMgYXJlIG5vdCBsb2NhbGl6ZWQuIEx1Y2tpbHksIHdlIGRvbid0
IGFjdHVhbGx5IHVzZSB0aGUgc3RyaW5ncyBpbiB0aGUgY29tbW9uIGNhc2UsCisgICAgICAgIHNv
IHdlIGNhbiBtaWdyYXRlIHRvIENURm9udENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwoKSBzYWZl
bHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFyaWF0aW9uQXhlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpkZWZhdWx0VmFyaWF0aW9uVmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXBh
cmVQbGF0Zm9ybUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBs
YXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6
dmFyaWF0aW9uQXhlcyBjb25zdCk6CisKIDIwMjEtMTEtMDMgIFR5bGVyIFdpbGNvY2sgIDx0eWxl
cl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5tbSBzaG91bGQgZXhwb3NlIGFjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9y
ZGVyIGFuZCBOU0FjY2Vzc2liaWxpdHlDaGlsZHJlbkluTmF2aWdhdGlvbk9yZGVyQXR0cmlidXRl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwppbmRleCBiMTI0NGNkMDJkYWQ3ODFkOWMyODE3N2VjZjk5NDFmYzcy
ZTc4YjIzLi5kYmUwNTJmZDlkYjRhNjRlY2Y0MjQzZGZkM2NlZTU3Yzk2ZTIzNjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0wMyAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWlncmF0ZSBmcm9t
IENURm9udENvcHlWYXJpYXRpb25BeGVzKCkgdG8gQ1RGb250Q29weVZhcmlhdGlvbkF4ZXNJbnRl
cm5hbCgpIGlmIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9zcGkvY2YvQ29yZVRleHRTUEkuaDoKKwogMjAyMS0xMS0wMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQVIgUXVp
Y2tsb29rIGFzc2V0IGlzIHNoYXJlZCBpbnN0ZWFkIG9mIHBhZ2UgVVJMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQppbmRleCAyYWVlZjQzYWU5NDRkYTUwNmM2ZTBjMzY1ZGY4NjlhNGRhODliMzdlLi5iNzVhY2E4
NzAzZTU5YTA0ZmU0NzUxY2U1ODI0YThhZDFhYTlhYzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAg
LTEzNzYsNiArMTM3Niw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmluZ01vZGUuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L1JvdW5kZWRSZWN0LmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9TaG91bGRMb2NhbGl6ZUF4aXNO
YW1lcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jZi9Db3JlVGV4dFNQSS5oCmluZGV4IDZlMDY0MDZhMWMxOTYwMjY2ZTQ0ODFkZTk4N2JkMzM5
ZmM3NTg0YjEuLjQ2MWJjNmQ1ZTVjZjY4Yjc3MzE1ZTZkMTMzNzc0OTIxMWY0NTlkMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NvcmVUZXh0U1BJLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ29yZVRleHRTUEkuaApAQCAtMTY5LDYgKzE2
OSw3IEBAIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1YWdlKENU
Rm9udFJlZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGCiBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9y
Q2hhcmFjdGVyc1dpdGhMYW5ndWFnZUFuZE9wdGlvbihDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNv
bnN0IFVURjE2Q2hhciAqY2hhcmFjdGVycywgQ0ZJbmRleCBsZW5ndGgsIENGU3RyaW5nUmVmIGxh
bmd1YWdlLCBDVEZvbnRGYWxsYmFja09wdGlvbiwgQ0ZJbmRleCAqY292ZXJlZExlbmd0aCk7CiBD
VEZvbnRSZWYgQ1RGb250Q29weVBoeXNpY2FsRm9udChDVEZvbnRSZWYpOwogQ1RGb250U3ltYm9s
aWNUcmFpdHMgQ1RGb250R2V0UGh5c2ljYWxTeW1ib2xpY1RyYWl0cyhDVEZvbnRSZWYpOworQ0ZB
cnJheVJlZiBDVEZvbnRDb3B5VmFyaWF0aW9uQXhlc0ludGVybmFsKENURm9udFJlZik7CiAKIGV4
dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEhlYWRsaW5lOwog
ZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Qm9keTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAyNTc1NWJjMzM4ZTc2ZDg3OTBkMGI0M2MwN2QyZDJhYmYwNjBlNzg1Li4yY2RkNDM4ZTA5OWFj
MDRjMTExMTM4NmYzNjMyZDJhOWJmY2ZlNDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzIsNiArNjMyLDcgQEAKIAkJMUMy
NjY3MUIyNkZBOTMyRjAwMTE3MDczIC8qIEZvbnRDcmVhdGlvbkNvbnRleHQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMjY2NzE5MjZGQTdGMkUwMDEx
NzA3MyAvKiBGb250Q3JlYXRpb25Db250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2Fs
Q3VycmVudFRyYWl0Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUM0M0RFNjgyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRy
YWl0Q29sbGVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTFDNEQwREQzMjREOUYxMEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQx
MjREOUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQzREQjAyNjI3MzM5RkUwMDA3QjBB
RDEgLyogU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNERCMDI0MjczMzlFNUUwMDdCMEFEMSAvKiBTaG91bGRM
b2NhbGl6ZUF4aXNOYW1lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTFDNUUxREE4MjZGOTRCOTAwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM1RTFE
QTYyNkY5NDlCOTAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFsdWVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUM2NjI2MTExQzZFN0NBNjAwQUI1
MjdDIC8qIEZvbnRGYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQzY2MjYwRjFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCAqLzsgfTsKIAkJ
MUM3M0E3MTMyMTg1NzU3RTAwNENDRUE1IC8qIFRleHRVbmRlcmxpbmVPZmZzZXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEZCMjE3QjgzOTQw
MDkzQjlDRCAvKiBUZXh0VW5kZXJsaW5lT2Zmc2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTcwNTEsNiArNzA1Miw3IEBACiAJCTFDNDNERTZB
MjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbEN1cnJlbnRUcmFpdENvbGxl
Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNDY3NEZEMjZGNDg0MzYw
MEI2MTI3MyAvKiBGb250UGFsZXR0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250UGFsZXR0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzREMEREMTI0RDlGMERCMDAzRDc0OTggLyog
R2x5cGhCdWZmZXJNZW1iZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdseXBoQnVmZmVyTWVtYmVycy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzREQjAyNDI3MzM5RTVFMDA3QjBBRDEg
LyogU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hvdWxkTG9jYWxp
emVBeGlzTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MEM0OTUyMkM4
NEYyNDAwQTZFNEJFIC8qIFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250
UGFsZXR0ZVZhbHVlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250UGFsZXR0ZVZhbHVlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzY2MjYwRTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9u
dEZhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEZhY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg2NDQsMTEgKzE4NjQ2LDExIEBA
CiAJCTFBNTY5Q0M0MEQ3RTJCNjAwMDdDMzk4MyAvKiBicmlkZ2UgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTU5QjU5NzcxMTEwODY1NTYwMDcxNTlFOCAv
KiBqc2MgKi8sCi0JCQkJMUE1NjlDRTIwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamMgKi8sCiAJCQkJ
NTk5RTc1OEYxMTA1NUExRjAwRDkwNEZBIC8qIEJyaWRnZS5oICovLAogCQkJCTFBNzFENTc5MEYz
MzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCAqLywKIAkJCQkxQTcxRDU3QTBGMzM4
MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5oICovLAorCQkJCTU5QjU5NzcxMTEwODY1NTYw
MDcxNTlFOCAvKiBqc2MgKi8sCisJCQkJMUE1NjlDRTIwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamMg
Ki8sCiAJCQkJMUE1NjlDRUYwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfYXJyYXkuY3BwICov
LAogCQkJCTFBNTY5Q0YwMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmggKi8sCiAJ
CQkJMUE1NjlDRjEwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfbWV0aG9kLmNwcCAqLywKQEAg
LTI3NDA2LDYgKzI3NDA4LDcgQEAKIAkJCQlBNzNGOTVGRDEyQzk3QkZFMDAzMUFBRjkgLyogUm91
bmRlZFJlY3QuaCAqLywKIAkJCQkwRjNERDQ0RDEyRjVFQTFCMDAwRDkxOTAgLyogU2hhZG93Qmx1
ci5jcHAgKi8sCiAJCQkJMEYzREQ0NEUxMkY1RUExQjAwMEQ5MTkwIC8qIFNoYWRvd0JsdXIuaCAq
LywKKwkJCQkxQzREQjAyNDI3MzM5RTVFMDA3QjBBRDEgLyogU2hvdWxkTG9jYWxpemVBeGlzTmFt
ZXMuaCAqLywKIAkJCQkxREQxMjdBQzI1NkUzQTg3MDBCMjI3RDcgLyogU291cmNlQnVmZmVyUHJp
dmF0ZS5jcHAgKi8sCiAJCQkJQ0Q2NDFFQjIxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZl
clByaXZhdGUuaCAqLywKIAkJCQlDREM4QjVBQzE4MDRBRTVEMDAxNkU2ODUgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudC5oICovLApAQCAtMzU0MzQsNiArMzU0MzcsNyBAQAogCQkJCUNEMzZD
MTZCMjYwQTY1Q0MwMEM4QzUyOSAvKiBTaGFyZWRSb3V0aW5nQXJiaXRyYXRvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM0REZBRDAxRjdEQUU1RDAwQzI3MjVCIC8qIFNoYXJlZFN0cmluZ0hhc2gu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RUEzMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRU
aW1lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUM0REIwMjYyNzMzOUZFMDAwN0IwQUQxIC8qIFNo
b3VsZExvY2FsaXplQXhpc05hbWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlERjE5RTJBQzI0Nzcy
QkMxMDA3QkRBQ0IgLyogU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTgzNjJFOEMxMjBDRUY5Q0IwMDI0NTg4NiAvKiBTaG91bGRUcmVhdEFz
Q29udGludWluZ0xvYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMTZEREZCMjQwQzY0QjQwMDkz
NDBBQSAvKiBTaW1wbGVSYW5nZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCmluZGV4IDNlYzE0
ZjY3MWVkODY1NTFjNGNjOWQxZWRiODZjN2FmYTAwY2YyNWUuLjYzYzExM2UyZWExMGRlMWI4NmY1
MDViMzQzYzEyYzY3NGZiYmQxN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC01NzUsNyArNTc1LDcgQEAgUHJv
dG9jb2w6OkVycm9yU3RyaW5nT3I8UmVmPEpTT046OkFycmF5T2Y8UHJvdG9jb2w6OkNTUzo6Q1NT
Q29tcHV0ZWRTdHlsZVByb3BlcnQKIHN0YXRpYyBSZWY8UHJvdG9jb2w6OkNTUzo6Rm9udD4gYnVp
bGRPYmplY3RGb3JGb250KGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgYXV0byByZXN1bHRWYXJp
YXRpb25BeGVzID0gSlNPTjo6QXJyYXlPZjxQcm90b2NvbDo6Q1NTOjpGb250VmFyaWF0aW9uQXhp
cz46OmNyZWF0ZSgpOwotICAgIGZvciAoYXV0byYgdmFyaWF0aW9uQXhpcyA6IGZvbnQucGxhdGZv
cm1EYXRhKCkudmFyaWF0aW9uQXhlcygpKSB7CisgICAgZm9yIChhdXRvJiB2YXJpYXRpb25BeGlz
IDogZm9udC5wbGF0Zm9ybURhdGEoKS52YXJpYXRpb25BeGVzKFNob3VsZExvY2FsaXplQXhpc05h
bWVzOjpZZXMpKSB7CiAgICAgICAgIGF1dG8gYXhpcyA9IFByb3RvY29sOjpDU1M6OkZvbnRWYXJp
YXRpb25BeGlzOjpjcmVhdGUoKQogICAgICAgICAgICAgLnNldFRhZyh2YXJpYXRpb25BeGlzLnRh
ZygpKQogICAgICAgICAgICAgLnNldE1pbmltdW1WYWx1ZSh2YXJpYXRpb25BeGlzLm1pbmltdW1W
YWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmNwcAppbmRleCA4OTUwNGY4MjIwY2ZmNWU0ZTJiZjhhN2VlZjdhNzAyYTAx
ZjEzYzA3Li40OTRiMDQ3YTQ1YTg0ZTQzOTRmNWFmMzJkMGU1OWM2ZTgzMDI2ZTNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcApAQCAtODIsNyArODIsNyBAQCBTdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFt
ZSgpIGNvbnN0CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKLVZlY3RvcjxGb250UGxh
dGZvcm1EYXRhOjpGb250VmFyaWF0aW9uQXhpcz4gRm9udFBsYXRmb3JtRGF0YTo6dmFyaWF0aW9u
QXhlcygpIGNvbnN0CitWZWN0b3I8Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFZhcmlhdGlvbkF4aXM+
IEZvbnRQbGF0Zm9ybURhdGE6OnZhcmlhdGlvbkF4ZXMoU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMp
IGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IDx3ZWJraXQub3JnL2IvMjE5NjE0PiBOb3QgaW1wbGVt
ZW50ZWQgeWV0LgogICAgIHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjgzNzFkOWQ1ZGI1OTE0N2Qy
MDUxZTY0MjEwZDkxZjg0YjcyMWZhZi4uMzBkZmFhMmQyZjg1YTlmN2NkYTIwMDgyOWRlMTk5YjE0
ZTg0YjIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRQbGF0Zm9ybURhdGEuaApAQCAtMjUsNiArMjUsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTaG91bGRMb2NhbGl6ZUF4aXNOYW1lcy5o
IgogI2luY2x1ZGUgIlRleHRGbGFncy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtMTc5LDcgKzE4MCw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzRm9yVGV4dENvbWJpbmUoKSBjb25zdCB7IHJldHVybiB3aWR0aFZhcmlhbnQoKSAhPSBG
b250V2lkdGhWYXJpYW50OjpSZWd1bGFyV2lkdGg7IH0gLy8gS2VlcCBpbiBzeW5jIHdpdGggY2Fs
bGVycyBvZiBGb250RGVzY3JpcHRpb246OnNldFdpZHRoVmFyaWFudCgpLgogCiAgICAgU3RyaW5n
IGZhbWlseU5hbWUoKSBjb25zdDsKLSAgICBWZWN0b3I8Rm9udFZhcmlhdGlvbkF4aXM+IHZhcmlh
dGlvbkF4ZXMoKSBjb25zdDsKKyAgICBWZWN0b3I8Rm9udFZhcmlhdGlvbkF4aXM+IHZhcmlhdGlv
bkF4ZXMoU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpIGNvbnN0OwogCiAjaWYgVVNFKENBSVJPKQog
ICAgIGNhaXJvX3NjYWxlZF9mb250X3QqIHNjYWxlZEZvbnQoKSBjb25zdCB7IHJldHVybiBtX3Nj
YWxlZEZvbnQuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1Nob3VsZExvY2FsaXplQXhpc05hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaG91bGRMb2NhbGl6ZUF4aXNOYW1lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4MzBjYzg4
MzRjYjM1ZjhmNmUwN2E1YThhNWZiNWQ5NzFlZGJlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaG91bGRMb2NhbGl6ZUF4aXNOYW1lcy5oCkBA
IC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPGNz
dGRpbnQ+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBTaG91bGRMb2NhbGl6
ZUF4aXNOYW1lcyA6IHVpbnQ4X3QgeworICAgIE5vLAorICAgIFllcworfTsKKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
Y2hlQ29yZVRleHQuY3BwCmluZGV4IGZhNmNiZjZiZjFhZDFkMTFlZjA3ZWNiNDgxMTVmNDM3Yzdi
NjFjNjIuLjA0ODI1NTRlOTI1MTliYjU1ZjNjNGJmOGFmOTYyMjc4YTc0NWZkN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVU
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAKQEAgLTMwMCwxMCArMzAwLDIyIEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBmb250TmFtZUlzU3lzdGVtRm9udChDRlN0cmluZ1JlZiBmb250TmFtZSkKICAgICByZXR1cm4g
Q0ZTdHJpbmdHZXRMZW5ndGgoZm9udE5hbWUpID4gMCAmJiBDRlN0cmluZ0dldENoYXJhY3RlckF0
SW5kZXgoZm9udE5hbWUsIDApID09ICcuJzsKIH0KIAotVmFyaWF0aW9uRGVmYXVsdHNNYXAgZGVm
YXVsdFZhcmlhdGlvblZhbHVlcyhDVEZvbnRSZWYgZm9udCkKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZB
cnJheVJlZj4gdmFyaWF0aW9uQXhlcyhDVEZvbnRSZWYgZm9udCwgU2hvdWxkTG9jYWxpemVBeGlz
TmFtZXMgc2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpCit7CisjaWYgZGVmaW5lZChIQVZFX0NURm9u
dENvcHlWYXJpYXRpb25BeGVzSW50ZXJuYWwpIC8vIFRoaXMgbWFjcm8gaXMgZGVmaW5lZCBpbnNp
ZGUgQ29yZVRleHQsIG5vdCBXZWJLaXQuCisgICAgaWYgKHNob3VsZExvY2FsaXplQXhpc05hbWVz
ID09IFNob3VsZExvY2FsaXplQXhpc05hbWVzOjpZZXMpCisgICAgICAgIHJldHVybiBhZG9wdENG
KENURm9udENvcHlWYXJpYXRpb25BeGVzKGZvbnQpKTsKKyAgICByZXR1cm4gYWRvcHRDRihDVEZv
bnRDb3B5VmFyaWF0aW9uQXhlc0ludGVybmFsKGZvbnQpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHNob3VsZExvY2FsaXplQXhpc05hbWVzKTsKKyAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRD
b3B5VmFyaWF0aW9uQXhlcyhmb250KSk7CisjZW5kaWYKK30KKworVmFyaWF0aW9uRGVmYXVsdHNN
YXAgZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhDVEZvbnRSZWYgZm9udCwgU2hvdWxkTG9jYWxpemVB
eGlzTmFtZXMgc2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpCiB7CiAgICAgVmFyaWF0aW9uRGVmYXVs
dHNNYXAgcmVzdWx0OwotICAgIGF1dG8gYXhlcyA9IGFkb3B0Q0YoQ1RGb250Q29weVZhcmlhdGlv
bkF4ZXMoZm9udCkpOworICAgIGF1dG8gYXhlcyA9IHZhcmlhdGlvbkF4ZXMoZm9udCwgc2hvdWxk
TG9jYWxpemVBeGlzTmFtZXMpOwogICAgIGlmICghYXhlcykKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICBhdXRvIHNpemUgPSBDRkFycmF5R2V0Q291bnQoYXhlcy5nZXQoKSk7CkBAIC01MTgs
NyArNTMwLDcgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZv
bnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3IKIAogICAgIGF1dG8gZm9udE9wdGlj
YWxTaXppbmcgPSBmb250RGVzY3JpcHRpb24ub3B0aWNhbFNpemluZygpOwogCi0gICAgYXV0byBk
ZWZhdWx0VmFsdWVzID0gZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhvcmlnaW5hbEZvbnQpOworICAg
IGF1dG8gZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRWYXJpYXRpb25WYWx1ZXMob3JpZ2luYWxGb250
LCBTaG91bGRMb2NhbGl6ZUF4aXNOYW1lczo6Tm8pOwogCiAgICAgYXV0byBmb250U2VsZWN0aW9u
UmVxdWVzdCA9IGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOwogICAgIGF1
dG8gZm9udFN0eWxlQXhpcyA9IGZvbnREZXNjcmlwdGlvbi5mb250U3R5bGVBeGlzKCk7CkBAIC0x
MDIxLDcgKzEwMzMsNyBAQCBzdGF0aWMgVmFyaWF0aW9uQ2FwYWJpbGl0aWVzIHZhcmlhdGlvbkNh
cGFiaWxpdGllc0ZvckZvbnREZXNjcmlwdG9yKENURm9udERlc2NyaQogICAgICAgICByZXR1cm4g
cmVzdWx0OwogCiAgICAgYXV0byBmb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoRm9udERl
c2NyaXB0b3IoZm9udERlc2NyaXB0b3IsIDAsIG51bGxwdHIpKTsKLSAgICBhdXRvIHZhcmlhdGlv
bnMgPSBhZG9wdENGKENURm9udENvcHlWYXJpYXRpb25BeGVzKGZvbnQuZ2V0KCkpKTsKKyAgICBh
dXRvIHZhcmlhdGlvbnMgPSB2YXJpYXRpb25BeGVzKGZvbnQuZ2V0KCksIFNob3VsZExvY2FsaXpl
QXhpc05hbWVzOjpObyk7CiAgICAgaWYgKCF2YXJpYXRpb25zKQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FjaGVDb3JlVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuaAppbmRleCA3ZGYwMmViMThiZjRiODk1YmM0OTQwYmIz
NjgzMGJmMzhiNzczNzhkLi4wMDM1YWJhMWQzZjQ0OWUyZTRmYTc2NTMxZjBjNDA4OTA1Zjg1ZDk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCisjaW5jbHVkZSAiU2hvdWxkTG9jYWxpemVB
eGlzTmFtZXMuaCIKIAogI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udC5oPgogCkBAIC03Miw1ICs3
Myw1IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhD
VEZvbnRSZWYsIEFsbG93VXNlckluc3RhbGxlZEZvCiB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JXZWJG
b250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKTsKIFJldGFpblB0cjxDRlNldFJlZj4gaW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0dHJp
YnV0ZXMoQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogCi1WYXJpYXRpb25EZWZhdWx0c01hcCBk
ZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZik7CitWYXJpYXRpb25EZWZhdWx0c01hcCBk
ZWZhdWx0VmFyaWF0aW9uVmFsdWVzKENURm9udFJlZiwgU2hvdWxkTG9jYWxpemVBeGlzTmFtZXMp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCmluZGV4IGYwNDg0YzhmYjUxYTRhMTVl
MzNhNWU4ZWJjYzQ1OTdhMjBjZjAwZTguLjg1NDIxZTNkZTcwOWNlMTU5YzQ5NGI0MGZiOGQxYWQy
MzU5M2MzYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KQEAgLTYyLDE0ICs2Miwx
NCBAQCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybU9wZW5U
eXBlVGFibGUodWludDMyX3QpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVZlY3Rv
cjxGb250UGxhdGZvcm1EYXRhOjpGb250VmFyaWF0aW9uQXhpcz4gRm9udFBsYXRmb3JtRGF0YTo6
dmFyaWF0aW9uQXhlcygpIGNvbnN0CitWZWN0b3I8Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFZhcmlh
dGlvbkF4aXM+IEZvbnRQbGF0Zm9ybURhdGE6OnZhcmlhdGlvbkF4ZXMoU2hvdWxkTG9jYWxpemVB
eGlzTmFtZXMgc2hvdWxkTG9jYWxpemVBeGlzTmFtZXMpIGNvbnN0CiB7CiAgICAgYXV0byBwbGF0
Zm9ybUZvbnQgPSBjdEZvbnQoKTsKICAgICBpZiAoIXBsYXRmb3JtRm9udCkKICAgICAgICAgcmV0
dXJuIHsgfTsKICAgICAKICAgICBWZWN0b3I8Rm9udFZhcmlhdGlvbkF4aXM+IHJlc3VsdHM7Ci0g
ICAgZm9yIChhdXRvJiBbdGFnLCB2YWx1ZXNdIDogZGVmYXVsdFZhcmlhdGlvblZhbHVlcyhwbGF0
Zm9ybUZvbnQpKQorICAgIGZvciAoYXV0byYgW3RhZywgdmFsdWVzXSA6IGRlZmF1bHRWYXJpYXRp
b25WYWx1ZXMocGxhdGZvcm1Gb250LCBzaG91bGRMb2NhbGl6ZUF4aXNOYW1lcykpCiAgICAgICAg
IHJlc3VsdHMuYXBwZW5kKEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRWYXJpYXRpb25BeGlzKHZhbHVl
cy5heGlzTmFtZSwgU3RyaW5nKHRhZy5kYXRhKCksIHRhZy5zaXplKCkpLCB2YWx1ZXMuZGVmYXVs
dFZhbHVlLCB2YWx1ZXMubWluaW11bVZhbHVlLCB2YWx1ZXMubWF4aW11bVZhbHVlKSk7CiAgICAg
CiAgICAgcmV0dXJuIHJlc3VsdHM7Cg==
</data>
<flag name="review"
          id="467998"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>