<?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>230788</bug_id>
          
          <creation_ts>2021-09-25 01:46:49 -0700</creation_ts>
          <short_desc>Negative integers in @font-palette-values are invalid</short_desc>
          <delta_ts>2021-10-05 00:08:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>230446</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1797164</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-25 01:46:49 -0700</bug_when>
    <thetext>Negative integers in @font-palette-values are invalid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797165</commentid>
    <comment_count>1</comment_count>
      <attachid>439246</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-25 01:48:05 -0700</bug_when>
    <thetext>Created attachment 439246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797166</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-25 01:48:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/83528806&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797167</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-09-25 01:49:27 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797176</commentid>
    <comment_count>4</comment_count>
      <attachid>439252</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-25 02:34:24 -0700</bug_when>
    <thetext>Created attachment 439252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797233</commentid>
    <comment_count>5</comment_count>
      <attachid>439252</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-25 13:40:37 -0700</bug_when>
    <thetext>Comment on attachment 439252
Patch

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

&gt; Source/WebCore/css/parser/CSSPropertyParser.cpp:4853
&gt; +    return consumeInteger(range, 0);

I should change the parsed types to be unsigned, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797246</commentid>
    <comment_count>6</comment_count>
      <attachid>439277</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-25 17:33:44 -0700</bug_when>
    <thetext>Created attachment 439277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797572</commentid>
    <comment_count>7</comment_count>
      <attachid>439277</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-27 11:26:11 -0700</bug_when>
    <thetext>Comment on attachment 439277
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:468
&gt; +            auto number = adoptCF(CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &amp;index));

Nope</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797656</commentid>
    <comment_count>8</comment_count>
      <attachid>439397</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-27 14:50:58 -0700</bug_when>
    <thetext>Created attachment 439397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797702</commentid>
    <comment_count>9</comment_count>
      <attachid>439414</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-27 16:33:07 -0700</bug_when>
    <thetext>Created attachment 439414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797777</commentid>
    <comment_count>10</comment_count>
      <attachid>439438</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-28 00:52:39 -0700</bug_when>
    <thetext>Created attachment 439438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797997</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-28 12:53:48 -0700</bug_when>
    <thetext>Committed r283188 (242236@main): &lt;https://commits.webkit.org/242236@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798002</commentid>
    <comment_count>12</comment_count>
      <attachid>439438</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-28 13:07:24 -0700</bug_when>
    <thetext>Comment on attachment 439438
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:456
&gt;          auto light = kCTFontPaletteLight;
&gt; -        auto number = adoptCF(CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &amp;light));
&gt; +        auto number = adoptCF(CFNumberCreate(kCFAllocatorDefault, kCFNumberCFIndexType, &amp;light));

I am perhaps the biggest fan of &quot;auto&quot; in the entire WebKit project, but here is a place where it’s just not appropriate. Needs to be:

    CFIndex light = kCTFontPaletteLight;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798062</commentid>
    <comment_count>13</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-28 15:03:55 -0700</bug_when>
    <thetext>Committed r283197 (242244@main): &lt;https://commits.webkit.org/242244@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800421</commentid>
    <comment_count>14</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-05 00:08:27 -0700</bug_when>
    <thetext>Committed r283540 (242505@main): &lt;https://commits.webkit.org/242505@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439246</attachid>
            <date>2021-09-25 01:48:05 -0700</date>
            <delta_ts>2021-09-25 02:34:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230788-20210925014805.patch</filename>
            <type>text/plain</type>
            <size>5143</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmN2YyNGY3ZDUyY2U4
MTA2NjE2ZWQ5MjUxYzIyNmMzOTlmZjA5Ni4uN2NjNmE4ZTkzZWQ1NDM5OWM4YzA0OTgzN2JjZDU5
OTU2YmEzNzg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA5LTI1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUg
aW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzcGVjIG1hZGUgaXQgaWxs
ZWdhbCBpbgorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9jb21t
aXQvMDliM2M0NTIzOGZlYjZjMGU4NTI2ZTAxMGNkMzc4MGY0ZmM0OTAwYi4KKworICAgICAgICBU
ZXN0OiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKToK
KwogMjAyMS0wOS0yNSAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgQVg6IGFyaWEtZXhwYW5kZWQgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBvbiBxdWl0ZSBh
IGZldyByb2xlcyBpbiBBUklBIDEuMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCAzODc3N2NmMmE5NzhjN2E2ZTJkYjU5MWQ1YzVmZjUy
YzI2NTdlYjk1Li5kMTlkZjRjODM0N2FiNDdlZmQyMGQ1MTkxZTY3NWNjNjFkYjFhZTA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAt
NDg1MCw3ICs0ODUwLDcgQEAgc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3Vt
ZUJhc2VQYWxldHRlRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmcKIHsKICAgICBpZiAocmFu
Z2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikKICAgICAgICAgcmV0dXJuIGNvbnN1bWVT
dHJpbmcocmFuZ2UpOwotICAgIHJldHVybiBjb25zdW1lSW50ZWdlcihyYW5nZSk7CisgICAgcmV0
dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlLCAwKTsKIH0KIAogc3RhdGljIFJlZlB0cjxDU1NWYWx1
ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKQEAgLTQ4NjEsNyArNDg2
MSw3IEBAIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjb25zdW1lT3ZlcnJpZGVDb2xvckRl
c2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYKICAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50
eXBlKCkgPT0gU3RyaW5nVG9rZW4pCiAgICAgICAgICAgICBrZXkgPSBjb25zdW1lU3RyaW5nKHJh
bmdlKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAga2V5ID0gY29uc3VtZUludGVnZXIocmFu
Z2UpOworICAgICAgICAgICAga2V5ID0gY29uc3VtZUludGVnZXIocmFuZ2UsIDApOwogICAgICAg
ICBpZiAoIWtleSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCA0NjhiYjNkMjJmZTJlYjRiZGFjY2U3YzgxNjk5Yzg1YmQ0YjFi
N2I2Li4wZmVjYTBmZjFmYzI1NGU3YTc4ZWQ3MWRiMmQ2MWYyNWJkZDQyNDJkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOS0yNSAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIE5lZ2F0aXZlIGlu
dGVnZXJzIGluIEBmb250LXBhbGV0dGUtdmFsdWVzIGFyZSBpbnZhbGlkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA3ODgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGJlaW5nIHVwc3RyZWFt
ZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvcHVsbC8zMDk2
MS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcv
Zm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMt
aW52YWxpZC5odG1sOgorCiAyMDIxLTA5LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdQVCBmb250LXBhbGV0dGUgdGVzdHMgZnJv
bSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZh
bGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1l
eHBlY3RlZC50eHQKaW5kZXggYTUwN2MzN2U5YjVjOGMxN2Q3YWU0YjE5MzU3MjQwOTYxZjk0OWRj
Zi4uYTAwNjk2ZTdkNWEwMzU0M2RlOTQ1MGIzZTM2NTI2NjI5NGNlYjc2ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRz
L3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
cGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xNyw0
ICsxNyw1IEBAIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDE0CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyAxNQogUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTYKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE3CitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxOAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2Zv
bnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCmluZGV4IDkyMjllMzAyNjg1ZGQyODM5NGMy
Zjc2ZDFmZGY4NjY0YmFjZDY5ZWEuLmJmNTA2YTU3YmQwYzhlMmQzOTY1N2YxOWQwZWQ2Y2IxNDk3
ZGNlOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCkBAIC0x
MDEsMTMgKzEwMSwxOSBAQAogICAgIGJhc2UtcGFsZXR0ZTogdW5zZXQ7CiAgICAgb3ZlcnJpZGUt
Y29sb3I6IHVuc2V0OwogfQorCisvKiAxNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7Cisg
ICAgYmFzZS1wYWxldHRlOiAtMTsKKyAgICBvdmVycmlkZS1jb2xvcjogLTEgIzEyMzsKK30KIDwv
c3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CiBsZXQgcnVsZXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKIHRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDE3KTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGVzLmxlbmd0aCwgMTgpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0yMzQsNiAr
MjQwLDE1IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUs
IDApOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxN10uY3NzVGV4dDsKKyAgICBs
ZXQgcnVsZSA9IHJ1bGVzWzE3XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFz
ZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJp
ZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOwogPC9zY3JpcHQ+CiA8L2Jv
ZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439252</attachid>
            <date>2021-09-25 02:34:24 -0700</date>
            <delta_ts>2021-09-25 17:33:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230788-20210925023424.patch</filename>
            <type>text/plain</type>
            <size>11150</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFmN2YyNGY3ZDUyY2U4
MTA2NjE2ZWQ5MjUxYzIyNmMzOTlmZjA5Ni4uM2E4NjU0MGEwMTkxOTUzYTZjNzUyNWU3YzQ1ZDg0
NWRiZDRmNTFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA5LTI1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUg
aW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODM1Mjg4MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHNwZWMgbWFkZSBpdCBpbGxlZ2FsIGluCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2NvbW1pdC8wOWIzYzQ1MjM4ZmViNmMwZTg1
MjZlMDEwY2QzNzgwZjRmYzQ5MDBiLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwK
KworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorCiAyMDIxLTA5LTI1ICBKb2FubWFy
aWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBBWDogYXJpYS1leHBhbmRl
ZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIG9uIHF1aXRlIGEgZmV3IHJvbGVzIGluIEFSSUEgMS4y
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmlu
ZGV4IDM4Nzc3Y2YyYTk3OGM3YTZlMmRiNTkxZDVjNWZmNTJjMjY1N2ViOTUuLmQxOWRmNGM4MzQ3
YWI0N2VmZDIwZDUxOTFlNjc1Y2M2MWRiMWFlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC00ODUwLDcgKzQ4NTAsNyBAQCBzdGF0
aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQmFzZVBhbGV0dGVEZXNjcmlwdG9y
KENTU1BhcnNlclRva2VuUmFuZwogewogICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IFN0
cmluZ1Rva2VuKQogICAgICAgICByZXR1cm4gY29uc3VtZVN0cmluZyhyYW5nZSk7Ci0gICAgcmV0
dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICByZXR1cm4gY29uc3VtZUludGVnZXIocmFu
Z2UsIDApOwogfQogCiBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3VtZU92ZXJyaWRl
Q29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtNDg2MSw3ICs0ODYxLDcgQEAgc3RhdGljIFJlZlB0cjxD
U1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tl
blJhbmdlJgogICAgICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikK
ICAgICAgICAgICAgIGtleSA9IGNvbnN1bWVTdHJpbmcocmFuZ2UpOwogICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBrZXkgPSBjb25zdW1lSW50ZWdlcihyYW5nZSk7CisgICAgICAgICAgICBrZXkg
PSBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7CiAgICAgICAgIGlmICgha2V5KQogICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQ2
OGJiM2QyMmZlMmViNGJkYWNjZTdjODE2OTljODViZDRiMWI3YjYuLjg5MWQ4ZTZmZGMzMTYyYzcx
MDk5NDNiMDMxYzVlNGUwNjM5ZDM3ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDIxLTA5LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUgaW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDc4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM1Mjg4MDY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBi
ZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0L3B1bGwvMzA5NjEuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBh
bGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcv
Zm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sOgorCiAyMDIxLTA5LTI1ICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdQVCBmb250
LXBhbGV0dGUgdGVzdHMgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKaW5kZXggYTUwN2MzN2U5YjVjOGMxN2Q3YWU0
YjE5MzU3MjQwOTYxZjk0OWRjZi4uYTAwNjk2ZTdkNWEwMzU0M2RlOTQ1MGIzZTM2NTI2NjI5NGNl
Yjc2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhw
ZWN0ZWQudHh0CkBAIC0xNyw0ICsxNyw1IEBAIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0
OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE0CiBQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNQogUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTYKIFBBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE3CitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxOAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCmluZGV4IDky
MjllMzAyNjg1ZGQyODM5NGMyZjc2ZDFmZGY4NjY0YmFjZDY5ZWEuLmJmNTA2YTU3YmQwYzhlMmQz
OTY1N2YxOWQwZWQ2Y2IxNDk3ZGNlOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMt
aW52YWxpZC5odG1sCkBAIC0xMDEsMTMgKzEwMSwxOSBAQAogICAgIGJhc2UtcGFsZXR0ZTogdW5z
ZXQ7CiAgICAgb3ZlcnJpZGUtY29sb3I6IHVuc2V0OwogfQorCisvKiAxNyAqLworQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiAtMTsKKyAgICBvdmVycmlkZS1jb2xv
cjogLTEgIzEyMzsKK30KIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CiBsZXQg
cnVsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsK
IHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDE3KTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLmxlbmd0aCwgMTgpOwogfSk7CiAKIHRlc3QoZnVuY3Rp
b24oKSB7CkBAIC0yMzQsNiArMjQwLDE1IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgYXNzZXJ0
X2VxdWFscyhydWxlLnNpemUsIDApOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0
ZSwgIiIpOwogfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sx
N10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzE3XTsKKyAgICBhc3NlcnRfZXF1YWxz
KHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRl
eHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5zaXplLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30p
OwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250
LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDFkYWU4ZTRiYmI0NjMyYTJhNDJmZmVi
YzhjYTc4MTdhZjAxODJmZWEuLmFmYjFhODg0YjhjMmZiMTg4ZTY5MzM5Y2U1MmMwODg4NWJmMmZl
ZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQu
dHh0CkBAIC0yNyw4ICsyNyw0IEBAIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI0CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyNQogUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjYKIFBBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI3Ci1QQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyOAot
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMjkKLVBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDMwCi1QQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAzMQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0
bWwKaW5kZXggNjY1ODQxY2MyMWE1ZjVhYWI2ZWM4OTdhMzAxNDQ2MDAzMzY0ZjVjZC4uNmFjNThh
MDhlZTkyNzRjMTQxMTJkMWY1NmJjNjlmN2VlNDRiYmQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcv
Zm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQuaHRtbApAQCAtNjIsNDEgKzYyLDMxIEBACiAKIC8qIDggKi8KIEBmb250
LXBhbGV0dGUtdmFsdWVzIEkgewotICAgIGJhc2UtcGFsZXR0ZTogLTM7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IDAgIzAwMDBGRjsKIH0KIAogLyogOSAqLwogQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSiB7
Ci0gICAgb3ZlcnJpZGUtY29sb3I6IC0zIHJnYigxNywgMzQsIDUxKTsKKyAgICBvdmVycmlkZS1j
b2xvcjogMCBncmVlbjsKIH0KIAogLyogMTAgKi8KIEBmb250LXBhbGV0dGUtdmFsdWVzIEsgewot
ICAgIG92ZXJyaWRlLWNvbG9yOiAwICMwMDAwRkY7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgdHJh
bnNwYXJlbnQ7CiB9CiAKIC8qIDExICovCiBAZm9udC1wYWxldHRlLXZhbHVlcyBMIHsKLSAgICBv
dmVycmlkZS1jb2xvcjogMCBncmVlbjsKKyAgICBvdmVycmlkZS1jb2xvcjogMCByZ2JhKDEgMiAz
IC8gNCk7CiB9CiAKIC8qIDEyICovCiBAZm9udC1wYWxldHRlLXZhbHVlcyBNIHsKLSAgICBvdmVy
cmlkZS1jb2xvcjogMCB0cmFuc3BhcmVudDsKKyAgICBvdmVycmlkZS1jb2xvcjogMCBsYWIoMjku
MjM0NSUgMzkuMzgyNSAyMC4wNjY0KTsKIH0KIAogLyogMTMgKi8KIEBmb250LXBhbGV0dGUtdmFs
dWVzIE4gewotICAgIG92ZXJyaWRlLWNvbG9yOiAwIHJnYmEoMSAyIDMgLyA0KTsKLX0KLQotLyog
MTQgKi8KLUBmb250LXBhbGV0dGUtdmFsdWVzIE8gewotICAgIG92ZXJyaWRlLWNvbG9yOiAwIGxh
YigyOS4yMzQ1JSAzOS4zODI1IDIwLjA2NjQpOwotfQotCi0vKiAxNSAqLwotQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgUCB7CiAgICAgb3ZlcnJpZGUtY29sb3I6IDAgY29sb3IoZGlzcGxheS1wMyAxMDAl
IDEwMCUgMTAwJSk7CiB9CiA8L3N0eWxlPgpAQCAtMjM1LDM4ICsyMjUsMTIgQEAgdGVzdChmdW5j
dGlvbigpIHsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgdGV4dCA9IHJ1bGVzWzhdLmNz
c1RleHQ7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUi
KSwgLTEpOwotfSk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxlc1s4
XTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwotICAgIGFzc2VydF9l
cXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIi0zIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLnNp
emUsIDApOwotfSk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1s5
XS5jc3NUZXh0OwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3IiKSwgLTEpOwotfSk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBy
dWxlc1s5XTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwotICAgIGFz
c2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwotICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5zaXplLCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQpOwot
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoLTMpLCB1bmRlZmluZWQpOwotfSk7Ci0KLXRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxMF0uY3NzVGV4dDsKICAgICBhc3Nl
cnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKICAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoInJnYigwLCAwLCAyNTUpIiksIC0xKTsKIH0p
OwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCBydWxlID0gcnVsZXNbMTBdOworICAgIGxl
dCBydWxlID0gcnVsZXNbOF07CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIi
KTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CkBAIC0yNzQsMTMgKzIzOCwxMyBAQCB0ZXN0KGZ1bmN0aW9u
KCkgewogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxMV0u
Y3NzVGV4dDsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7CiAgICAgYXNzZXJ0X25v
dF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CiAgICAgYXNzZXJ0
X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2IoMCwgMTI4LCAwKSIpLCAtMSk7CiB9KTsKIAog
dGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9IHJ1bGVzWzExXTsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzldOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CiAg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLnNpemUsIDEpOwpAQCAtMjg4LDEzICsyNTIsMTMgQEAgdGVzdChmdW5jdGlvbigpIHsK
IH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0ID0gcnVsZXNbMTJdLmNzc1Rl
eHQ7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMF0uY3NzVGV4dDsKICAgICBhc3NlcnRfbm90X2Vx
dWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKICAgICBhc3NlcnRfbm90
X2VxdWFscyh0ZXh0LmluZGV4T2YoInJnYmEoMCwgMCwgMCwgMCkiKSwgLTEpOwogfSk7CiAKIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxlc1sxMl07CisgICAgbGV0IHJ1bGUg
PSBydWxlc1sxMF07CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKICAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuc2l6ZSwgMSk7CkBAIC0zMDIsMTMgKzI2NiwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewog
fSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxM10uY3NzVGV4
dDsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzExXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1
YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwogICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKHRleHQuaW5kZXhPZigiMiIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsK
LSAgICBsZXQgcnVsZSA9IHJ1bGVzWzEzXTsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzExXTsKICAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsK
QEAgLTMxNiwxMyArMjgwLDEzIEBAIHRlc3QoZnVuY3Rpb24oKSB7CiB9KTsKIAogdGVzdChmdW5j
dGlvbigpIHsKLSAgICBsZXQgdGV4dCA9IHJ1bGVzWzE0XS5jc3NUZXh0OworICAgIGxldCB0ZXh0
ID0gcnVsZXNbMTJdLmNzc1RleHQ7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9m
KCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCIyOSIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9
IHJ1bGVzWzE0XTsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEyXTsKICAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0
ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKQEAgLTMzMCwxMyArMjk0
LDEzIEBAIHRlc3QoZnVuY3Rpb24oKSB7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAgICBs
ZXQgdGV4dCA9IHJ1bGVzWzE1XS5jc3NUZXh0OworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTNdLmNz
c1RleHQ7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xv
ciIpLCAtMSk7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJkaXNwbGF5LXAz
IiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCBydWxlID0gcnVsZXNb
MTVdOworICAgIGxldCBydWxlID0gcnVsZXNbMTNdOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5m
b250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7
CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439277</attachid>
            <date>2021-09-25 17:33:44 -0700</date>
            <delta_ts>2021-09-27 14:50:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230788-20210925173343.patch</filename>
            <type>text/plain</type>
            <size>15381</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2JhN2M4OGVmODNkMGM5
N2M5NTQ2ZTJjYTZlZTc1YTMyNjAyM2JjNS4uMTQ4Y2ZkOTdkOTg0YmFiZjE4MjQ4MzEwZjY3OWMz
ZWJiNDFhODAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA5LTI1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUg
aW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODM1Mjg4MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHNwZWMgbWFkZSBpdCBpbGxlZ2FsIGluCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2NvbW1pdC8wOWIzYzQ1MjM4ZmViNmMwZTg1
MjZlMDEwY2QzNzgwZjRmYzQ5MDBiLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNzc1RleHQgY29uc3Qp
OgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3Vt
ZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGFsZXR0ZVZhbHVlcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZEF0dHJpYnV0ZXNGb3JG
b250UGFsZXR0ZXMpOgorCiAyMDIxLTA5LTI1ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBGaXggd2luIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAppbmRleCA5OTE2YjBjNDk5YmU2YjVkMTQ1YzRlNDEy
N2E2NzA0NzIyMDA4NmY1Li5kMWRmMjA3MjM4NzA3MTJlMDAwYzgwOTkxNDk2ZDZhMTdkZGY2MTky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNw
cApAQCAtNTMsNyArNTMsNyBAQCBTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpmb250
RmFtaWx5KCkgY29uc3QKIAogU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBh
bGV0dGUoKSBjb25zdAogewotICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVW
YWx1ZXNSdWxlLT5iYXNlUGFsZXR0ZSgpLCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgIHJldHVy
biBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5iYXNlUGFsZXR0ZSgpLCBb
Jl0odWludDY0X3QgaW5kZXgpIHsKICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoaW5kZXgpOwog
ICAgIH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgLT4gU3RyaW5nIHsKICAg
ICAgICAgaWYgKCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKQEAgLTc3LDcgKzc3LDcgQEAgU3RyaW5n
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgYnVpbGRlci5h
cHBlbmQoIkBmb250LXBhbGV0dGUtdmFsdWVzICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5u
YW1lKCksICIgeyAiKTsKICAgICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFt
aWx5KCkuaXNOdWxsKCkpCiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJmb250LWZhbWlseTogIiwg
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmZvbnRGYW1pbHkoKSwgIjsgIik7Ci0gICAgV1RGOjpz
d2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0
X3QgaW5kZXgpIHsKKyAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5i
YXNlUGFsZXR0ZSgpLCBbJl0odWludDY0X3QgaW5kZXgpIHsKICAgICAgICAgYnVpbGRlci5hcHBl
bmQoImJhc2UtcGFsZXR0ZTogIiwgaW5kZXgsICI7ICIpOwogICAgIH0sIFsmXShjb25zdCBBdG9t
U3RyaW5nJiBiYXNlUGFsZXR0ZSkgewogICAgICAgICBpZiAoIWJhc2VQYWxldHRlLmlzTnVsbCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggMjQ3
ZGZjYmJiNjEwMGExOGVkOWIyZWZkYmUyNWNjMTUyOTIyYTU0MS4uZDZkZGNkYjk5OTA5MmQ4MTc3
ZWVkNjE4ZmFhNjY1MGZjNzhiMGQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1BhcnNlckltcGwuY3BwCkBAIC02OTYsNyArNjk2LDcgQEAgUmVmUHRyPFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxl
KEMKICAgICAgICAgICAgIGlmIChwYWlyLmtleSgpLmlzU3RyaW5nKCkpCiAgICAgICAgICAgICAg
ICAga2V5ID0gcGFpci5rZXkoKS5zdHJpbmdWYWx1ZSgpOwogICAgICAgICAgICAgZWxzZSBpZiAo
cGFpci5rZXkoKS5pc051bWJlcigpKQotICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCku
dmFsdWU8aW50NjRfdD4oKTsKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnZhbHVl
PHVpbnQ2NF90PigpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgQ29sb3IgY29sb3IgPSBwYWlyLmNvbG9yKCkuaXNSR0JDb2xvcigpID8g
cGFpci5jb2xvcigpLmNvbG9yKCkgOiBTdHlsZUNvbG9yOjpjb2xvckZyb21LZXl3b3JkKHBhaXIu
Y29sb3IoKS52YWx1ZUlEKCksIHsgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDM4Nzc3Y2YyYTk3OGM3YTZlMmRiNTkxZDVjNWZm
NTJjMjY1N2ViOTUuLmQxOWRmNGM4MzQ3YWI0N2VmZDIwZDUxOTFlNjc1Y2M2MWRiMWFlMDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBA
IC00ODUwLDcgKzQ4NTAsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25z
dW1lQmFzZVBhbGV0dGVEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZwogewogICAgIGlmIChy
YW5nZS5wZWVrKCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQogICAgICAgICByZXR1cm4gY29uc3Vt
ZVN0cmluZyhyYW5nZSk7Ci0gICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICBy
ZXR1cm4gY29uc3VtZUludGVnZXIocmFuZ2UsIDApOwogfQogCiBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlTGlzdD4gY29uc3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtNDg2MSw3ICs0
ODYxLDcgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9y
RGVzY3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmdlJgogICAgICAgICBpZiAocmFuZ2UucGVlaygp
LnR5cGUoKSA9PSBTdHJpbmdUb2tlbikKICAgICAgICAgICAgIGtleSA9IGNvbnN1bWVTdHJpbmco
cmFuZ2UpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBrZXkgPSBjb25zdW1lSW50ZWdlcihy
YW5nZSk7CisgICAgICAgICAgICBrZXkgPSBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7CiAgICAg
ICAgIGlmICgha2V5KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCmluZGV4
IDE3MTJiNjI4YzAzMjM5YjU3Y2M3ZDUyZWEzZjAxODU0NmY5MDE1MmUuLjI5OGZhMGJjZDlhNDMz
MmU5ZjYwYjNjYTM2NzczNzVlODIyMmM2NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaApAQCAtMzYsNyArMzYsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQYWxldHRlVmFsdWVzIHsKIHB1YmxpYzoK
LSAgICB1c2luZyBQYWxldHRlSW5kZXggPSBWYXJpYW50PGludDY0X3QsIEF0b21TdHJpbmc+Owor
ICAgIHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8dWludDY0X3QsIEF0b21TdHJpbmc+Owog
ICAgIHVzaW5nIFBhbGV0dGVDb2xvckluZGV4ID0gVmFyaWFudDxBdG9tU3RyaW5nLCBpbnQ2NF90
PjsKICAgICB1c2luZyBPdmVycmlkZGVuQ29sb3IgPSBzdGQ6OnBhaXI8UGFsZXR0ZUNvbG9ySW5k
ZXgsIENvbG9yPjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCmluZGV4IDFhNmY3MzI5MDY3NTlj
OTI5ODQzZTU3ZTU4OTVlMWJjYjUxYWI0MzMuLjA0YjdkMjRmZWJmYTM2ZjZjM2U4NWRkN2ViYmUz
ZDkxZTIwNzlkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKQEAgLTQ2NCw4ICs0NjQsOCBA
QCBzdGF0aWMgdm9pZCBhZGRBdHRyaWJ1dGVzRm9yRm9udFBhbGV0dGVzKENGTXV0YWJsZURpY3Rp
b25hcnlSZWYgYXR0cmlidXRlcywgY29ucwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2Fz
ZSBGb250UGFsZXR0ZTo6VHlwZTo6Q3VzdG9tOiB7Ci0gICAgICAgIFdURjo6c3dpdGNoT24oZm9u
dFBhbGV0dGVWYWx1ZXMuYmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKLSAgICAg
ICAgICAgIGF1dG8gbnVtYmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBrQ0ZOdW1iZXJDRkluZGV4VHlwZSwgJmluZGV4KSk7CisgICAgICAgIFdURjo6c3dp
dGNoT24oZm9udFBhbGV0dGVWYWx1ZXMuYmFzZVBhbGV0dGUoKSwgWyZdKHVpbnQ2NF90IGluZGV4
KSB7CisgICAgICAgICAgICBhdXRvIG51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmluZGV4KSk7CiAgICAgICAg
ICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShhdHRyaWJ1dGVzLCBrQ1RGb250UGFsZXR0ZUF0dHJp
YnV0ZSwgbnVtYmVyLmdldCgpKTsKICAgICAgICAgfSwgW10oY29uc3QgQXRvbVN0cmluZyYpIHsK
ICAgICAgICAgICAgIC8vIFRoaXMgaXMgdW5pbXBsZW1lbnRhYmxlIGluIENvcmUgVGV4dC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDIyNDgxOGNkOTA1MjM1MDRiODRmOGFlZTQw
NzVjNjZkYjgwMDhlNDcuLjFhNjEzNDUyZjI1OTAwYjA1MmJjNWIzNGZlNmI3NjM5OTY2MjU2OGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA5
LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAg
TmVnYXRpdmUgaW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODM1Mjg4MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBiZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L3B1bGwvMzA5NjEuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRt
bDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2Zv
bnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxp
ZC5odG1sOgorCiAyMDIxLTA5LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVGVzdCBwYWxldHRlIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9w
YXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IGE1MDdjMzdl
OWI1YzhjMTdkN2FlNGIxOTM1NzI0MDk2MWY5NDlkY2YuLmEwMDY5NmU3ZDVhMDM1NDNkZTk0NTBi
M2UzNjUyNjYyOTRjZWI3NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1
ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMTcsNCArMTcsNSBAQCBQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNAogUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTUKIFBB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDE2CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyAxNworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgMTgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZh
bHVlcy1pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQu
aHRtbAppbmRleCA5MjI5ZTMwMjY4NWRkMjgzOTRjMmY3NmQxZmRmODY2NGJhY2Q2OWVhLi5iZjUw
NmE1N2JkMGM4ZTJkMzk2NTdmMTlkMGVkNmNiMTQ5N2RjZThkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBh
bGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbApAQCAtMTAxLDEzICsxMDEsMTkgQEAKICAgICBiYXNl
LXBhbGV0dGU6IHVuc2V0OwogICAgIG92ZXJyaWRlLWNvbG9yOiB1bnNldDsKIH0KKworLyogMTcg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogLTE7CisgICAg
b3ZlcnJpZGUtY29sb3I6IC0xICMxMjM7Cit9CiA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHk+CiA8
c2NyaXB0PgogbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hl
ZXQuY3NzUnVsZXM7CiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF9lcXVhbHMocnVsZXMu
bGVuZ3RoLCAxNyk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDE4KTsKIH0pOwog
CiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMjM0LDYgKzI0MCwxNSBAQCB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuYmFzZVBhbGV0dGUsICIiKTsKIH0pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbMTddLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxN107CisgICAg
YXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxl
dHRlLCAiIik7Cit9KTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRz
L3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dAppbmRleCAxZGFlOGU0YmJi
NDYzMmEyYTQyZmZlYmM4Y2E3ODE3YWYwMTgyZmVhLi5hZmIxYTg4NGI4YzJmYjE4OGU2OTMzOWNl
NTJjMDg4ODViZjJmZWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVz
LXZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZh
bGlkLWV4cGVjdGVkLnR4dApAQCAtMjcsOCArMjcsNCBAQCBQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyNAogUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjUKIFBBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI2CiBQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAyNwotUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMjgKLVBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250
LXBhbGV0dGUtdmFsdWVzIDI5Ci1QQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzMAotUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMzEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcv
Zm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZh
bHVlcy12YWxpZC5odG1sCmluZGV4IDY2NTg0MWNjMjFhNWY1YWFiNmVjODk3YTMwMTQ0NjAwMzM2
NGY1Y2QuLjZhYzU4YTA4ZWU5Mjc0YzE0MTEyZDFmNTZiYzY5ZjdlZTQ0YmJkNDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKQEAgLTYyLDQxICs2MiwzMSBAQAogCiAv
KiA4ICovCiBAZm9udC1wYWxldHRlLXZhbHVlcyBJIHsKLSAgICBiYXNlLXBhbGV0dGU6IC0zOwor
ICAgIG92ZXJyaWRlLWNvbG9yOiAwICMwMDAwRkY7CiB9CiAKIC8qIDkgKi8KIEBmb250LXBhbGV0
dGUtdmFsdWVzIEogewotICAgIG92ZXJyaWRlLWNvbG9yOiAtMyByZ2IoMTcsIDM0LCA1MSk7Cisg
ICAgb3ZlcnJpZGUtY29sb3I6IDAgZ3JlZW47CiB9CiAKIC8qIDEwICovCiBAZm9udC1wYWxldHRl
LXZhbHVlcyBLIHsKLSAgICBvdmVycmlkZS1jb2xvcjogMCAjMDAwMEZGOworICAgIG92ZXJyaWRl
LWNvbG9yOiAwIHRyYW5zcGFyZW50OwogfQogCiAvKiAxMSAqLwogQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgTCB7Ci0gICAgb3ZlcnJpZGUtY29sb3I6IDAgZ3JlZW47CisgICAgb3ZlcnJpZGUtY29sb3I6
IDAgcmdiYSgxIDIgMyAvIDQpOwogfQogCiAvKiAxMiAqLwogQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
TSB7Ci0gICAgb3ZlcnJpZGUtY29sb3I6IDAgdHJhbnNwYXJlbnQ7CisgICAgb3ZlcnJpZGUtY29s
b3I6IDAgbGFiKDI5LjIzNDUlIDM5LjM4MjUgMjAuMDY2NCk7CiB9CiAKIC8qIDEzICovCiBAZm9u
dC1wYWxldHRlLXZhbHVlcyBOIHsKLSAgICBvdmVycmlkZS1jb2xvcjogMCByZ2JhKDEgMiAzIC8g
NCk7Ci19Ci0KLS8qIDE0ICovCi1AZm9udC1wYWxldHRlLXZhbHVlcyBPIHsKLSAgICBvdmVycmlk
ZS1jb2xvcjogMCBsYWIoMjkuMjM0NSUgMzkuMzgyNSAyMC4wNjY0KTsKLX0KLQotLyogMTUgKi8K
LUBmb250LXBhbGV0dGUtdmFsdWVzIFAgewogICAgIG92ZXJyaWRlLWNvbG9yOiAwIGNvbG9yKGRp
c3BsYXktcDMgMTAwJSAxMDAlIDEwMCUpOwogfQogPC9zdHlsZT4KQEAgLTIzNSwzOCArMjI1LDEy
IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgbGV0IHRleHQg
PSBydWxlc1s4XS5jc3NUZXh0OwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
YmFzZS1wYWxldHRlIiksIC0xKTsKLX0pOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCBy
dWxlID0gcnVsZXNbOF07Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICItMyIpOwotICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAwKTsKLX0pOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0
ZXh0ID0gcnVsZXNbOV0uY3NzVGV4dDsKLSAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4
T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKLX0pOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAg
IGxldCBydWxlID0gcnVsZXNbOV07Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHks
ICIiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwg
dW5kZWZpbmVkKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KC0zKSwgdW5kZWZpbmVkKTsK
LX0pOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1Rl
eHQ7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIp
LCAtMSk7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2IoMCwgMCwgMjU1
KSIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9IHJ1bGVz
WzEwXTsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5m
b250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7
CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwpAQCAtMjc0LDEzICsyMzgsMTMgQEAg
dGVzdChmdW5jdGlvbigpIHsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0
ID0gcnVsZXNbMTFdLmNzc1RleHQ7CisgICAgbGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0Owog
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEp
OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigicmdiKDAsIDEyOCwgMCkiKSwg
LTEpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxlc1sxMV07
CisgICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZh
bWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAg
IGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKQEAgLTI4OCwxMyArMjUyLDEzIEBAIHRlc3Qo
ZnVuY3Rpb24oKSB7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgdGV4dCA9IHJ1
bGVzWzEyXS5jc3NUZXh0OworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1RleHQ7CiAgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CiAg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2JhKDAsIDAsIDAsIDApIiksIC0x
KTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCBydWxlID0gcnVsZXNbMTJdOwor
ICAgIGxldCBydWxlID0gcnVsZXNbMTBdOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFt
aWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAg
YXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwpAQCAtMzAyLDEzICsyNjYsMTMgQEAgdGVzdChm
dW5jdGlvbigpIHsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0ID0gcnVs
ZXNbMTNdLmNzc1RleHQ7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMV0uY3NzVGV4dDsKICAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKICAg
ICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjIiKSwgLTEpOwogfSk7CiAKIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxlc1sxM107CisgICAgbGV0IHJ1bGUgPSBy
dWxlc1sxMV07CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKICAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuc2l6ZSwgMSk7CkBAIC0zMTYsMTMgKzI4MCwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogfSk7
CiAKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxNF0uY3NzVGV4dDsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEyXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxz
KHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwogICAgIGFzc2VydF9ub3RfZXF1
YWxzKHRleHQuaW5kZXhPZigiMjkiKSwgLTEpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7Ci0g
ICAgbGV0IHJ1bGUgPSBydWxlc1sxNF07CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxMl07CiAgICAg
YXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CkBA
IC0zMzAsMTMgKzI5NCwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogfSk7CiAKIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxNV0uY3NzVGV4dDsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzEzXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3IiKSwgLTEpOwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhP
ZigiZGlzcGxheS1wMyIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQg
cnVsZSA9IHJ1bGVzWzE1XTsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEzXTsKICAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNl
UGFsZXR0ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439397</attachid>
            <date>2021-09-27 14:50:58 -0700</date>
            <delta_ts>2021-09-27 16:33:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230788-20210927145057.patch</filename>
            <type>text/plain</type>
            <size>18940</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBkMzg4MGEwOTM0MDkx
NmRjOTMxMGFmYjkwNDc3YWZlYjM4MzYwNC4uMzdlMjE0ODZiN2EzNmRmNTlhYzczYWFiZTljMjYw
YzRlMTQ3NDBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA5LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUg
aW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODM1Mjg4MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHNwZWMgbWFkZSBpdCBpbGxlZ2FsIGluCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2NvbW1pdC8wOWIzYzQ1MjM4ZmViNmMwZTg1
MjZlMDEwY2QzNzgwZjRmYzQ5MDBiLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRpYWxpemVNYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4
dCBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUp
OgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkQXR0cmli
dXRlc0ZvckZvbnRQYWxldHRlcyk6CisKIDIwMjEtMDktMjcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgQ1NTIEZvbnRzIHNwZWMgaGFzIGRl
bGV0ZWQgQ1NTUnVsZS5GT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKaW5kZXggOTkxNmIwYzQ5OWJlNmI1
ZDE0NWM0ZTQxMjdhNjcwNDcyMjAwODZmNS4uM2E3YTM0MDc2NGQ2OThkZjY5MDA3NzIzMzRmZmY2
MmJlYjQxM2QyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZTo6Zm9udEZhbWlseSgpIGNvbnN0CiAKIFN0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGU6OmJhc2VQYWxldHRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsK
KyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBh
bGV0dGUoKSwgWyZdKHVuc2lnbmVkIGluZGV4KSB7CiAgICAgICAgIHJldHVybiBtYWtlU3RyaW5n
KGluZGV4KTsKICAgICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0
cmluZyB7CiAgICAgICAgIGlmICghYmFzZVBhbGV0dGUuaXNOdWxsKCkpCkBAIC02NSw5ICs2NSw5
IEBAIFN0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlKCkgY29uc3QK
IHZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZShET01NYXBB
ZGFwdGVyJiBtYXApCiB7CiAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9mb250UGFsZXR0ZVZhbHVl
c1J1bGUtPm92ZXJyaWRlQ29sb3IoKSkgewotICAgICAgICBpZiAoIVdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8aW50NjRfdD4ocGFpci5maXJzdCkpCisgICAgICAgIGlmICghV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTx1bnNpZ25lZD4ocGFpci5maXJzdCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgbWFwLnNldDxJRExVbnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8aW50
NjRfdD4ocGFpci5maXJzdCksIHNlcmlhbGl6YXRpb25Gb3JDU1MocGFpci5zZWNvbmQpKTsKKyAg
ICAgICAgbWFwLnNldDxJRExVbnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8dW5z
aWduZWQ+KHBhaXIuZmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CiAg
ICAgfQogfQogCkBAIC03Nyw3ICs3Nyw3IEBAIFN0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGU6OmNzc1RleHQoKSBjb25zdAogICAgIGJ1aWxkZXIuYXBwZW5kKCJAZm9udC1wYWxldHRlLXZh
bHVlcyAiLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+bmFtZSgpLCAiIHsgIik7CiAgICAgaWYg
KCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpLmlzTnVsbCgpKQogICAgICAg
ICBidWlsZGVyLmFwcGVuZCgiZm9udC1mYW1pbHk6ICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5mb250RmFtaWx5KCksICI7ICIpOwotICAgIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgV1RGOjpz
d2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKHVuc2ln
bmVkIGluZGV4KSB7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBhbGV0dGU6ICIsIGlu
ZGV4LCAiOyAiKTsKICAgICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIHsK
ICAgICAgICAgaWYgKCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKQEAgLTkxLDcgKzkxLDcgQEAgU3Ry
aW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcpOwogICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpW2ldLmZpcnN0LCBbJl0oY29uc3QgQXRv
bVN0cmluZyYgbmFtZSkgewogICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHNlcmlhbGl6
ZVN0cmluZyhuYW1lLnN0cmluZygpKSk7Ci0gICAgICAgICAgICB9LCBbJl0oaW50NjRfdCBpbmRl
eCkgeworICAgICAgICAgICAgfSwgWyZdKHVuc2lnbmVkIGluZGV4KSB7CiAgICAgICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoaW5kZXgpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZhbHVl
c1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCmluZGV4IDEyOGM3M2I4MDc4ZDI4NWNmYzg2MzRkOTMy
M2Q1MjBhNGY4MDQyNDcuLmE4MjJmODlhN2VhMTFiYjJmOGRiYjA2MGRmNGQwNjk4N2E3MDFhYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcApAQCAtNjg2
LDcgKzY4Niw3IEBAIFJlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gQ1NTUGFyc2Vy
SW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDCiAgICAgICAgIGlmIChwcmltaXRp
dmVWYWx1ZS5pc1N0cmluZygpKQogICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVW
YWx1ZS5zdHJpbmdWYWx1ZSgpOwogICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc051
bWJlcigpKQotICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1ZTxp
bnQ2NF90PigpOworICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1
ZTx1bnNpZ25lZD4oKTsKICAgICB9CiAKICAgICBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92
ZXJyaWRkZW5Db2xvcj4gb3ZlcnJpZGVDb2xvcjsKQEAgLTY5OCw3ICs2OTgsNyBAQCBSZWZQdHI8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFs
ZXR0ZVZhbHVlc1J1bGUoQwogICAgICAgICAgICAgaWYgKHBhaXIua2V5KCkuaXNTdHJpbmcoKSkK
ICAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnN0cmluZ1ZhbHVlKCk7CiAgICAgICAg
ICAgICBlbHNlIGlmIChwYWlyLmtleSgpLmlzTnVtYmVyKCkpCi0gICAgICAgICAgICAgICAga2V5
ID0gcGFpci5rZXkoKS52YWx1ZTxpbnQ2NF90PigpOworICAgICAgICAgICAgICAgIGtleSA9IHBh
aXIua2V5KCkudmFsdWU8dW5zaWduZWQ+KCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgICAgICBDb2xvciBjb2xvciA9IHBhaXIuY29sb3IoKS5p
c1JHQkNvbG9yKCkgPyBwYWlyLmNvbG9yKCkuY29sb3IoKSA6IFN0eWxlQ29sb3I6OmNvbG9yRnJv
bUtleXdvcmQocGFpci5jb2xvcigpLnZhbHVlSUQoKSwgeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggMzg3NzdjZjJhOTc4Yzdh
NmUyZGI1OTFkNWM1ZmY1MmMyNjU3ZWI5NS4uZDE5ZGY0YzgzNDdhYjQ3ZWZkMjBkNTE5MWU2NzVj
YzYxZGIxYWUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0
eVBhcnNlci5jcHAKQEAgLTQ4NTAsNyArNDg1MCw3IEBAIHN0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5n
CiB7CiAgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCiAgICAgICAg
IHJldHVybiBjb25zdW1lU3RyaW5nKHJhbmdlKTsKLSAgICByZXR1cm4gY29uc3VtZUludGVnZXIo
cmFuZ2UpOworICAgIHJldHVybiBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7CiB9CiAKIHN0YXRp
YyBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IoQ1NT
UGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQp
CkBAIC00ODYxLDcgKzQ4NjEsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3Vt
ZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmCiAgICAgICAgIGlm
IChyYW5nZS5wZWVrKCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQogICAgICAgICAgICAga2V5ID0g
Y29uc3VtZVN0cmluZyhyYW5nZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGtleSA9IGNv
bnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICAgICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJh
bmdlLCAwKTsKICAgICAgICAgaWYgKCFrZXkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0
dGVWYWx1ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRl
VmFsdWVzLmgKaW5kZXggMTcxMmI2MjhjMDMyMzliNTdjYzdkNTJlYTNmMDE4NTQ2ZjkwMTUyZS4u
MWJkMDczNzJkMzkzNmU0M2FjNDk1YTUwMTBlMWE3YWVmYTEwODQ2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCkBAIC0z
Niw4ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udFBhbGV0dGVWYWx1
ZXMgewogcHVibGljOgotICAgIHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8aW50NjRfdCwg
QXRvbVN0cmluZz47Ci0gICAgdXNpbmcgUGFsZXR0ZUNvbG9ySW5kZXggPSBWYXJpYW50PEF0b21T
dHJpbmcsIGludDY0X3Q+OworICAgIHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8dW5zaWdu
ZWQsIEF0b21TdHJpbmc+OworICAgIHVzaW5nIFBhbGV0dGVDb2xvckluZGV4ID0gVmFyaWFudDxB
dG9tU3RyaW5nLCB1bnNpZ25lZD47CiAgICAgdXNpbmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpw
YWlyPFBhbGV0dGVDb2xvckluZGV4LCBDb2xvcj47CiAKICAgICBGb250UGFsZXR0ZVZhbHVlcygp
ID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAxYTZmNzMyOTA2NzU5Yzky
OTg0M2U1N2U1ODk1ZTFiY2I1MWFiNDMzLi45ZTFiNjVhNTFmZmU3Y2UwMDFmNWNjOTBhM2VjZDY5
MmIwZDI4ZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC00NTMsNyArNDUzLDcgQEAg
c3RhdGljIHZvaWQgYWRkQXR0cmlidXRlc0ZvckZvbnRQYWxldHRlcyhDRk11dGFibGVEaWN0aW9u
YXJ5UmVmIGF0dHJpYnV0ZXMsIGNvbnMKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGb250UGFs
ZXR0ZTo6VHlwZTo6TGlnaHQ6IHsKICAgICAgICAgYXV0byBsaWdodCA9IGtDVEZvbnRQYWxldHRl
TGlnaHQ7Ci0gICAgICAgIGF1dG8gbnVtYmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRUeXBlLCAmbGlnaHQpKTsKKyAgICAgICAg
YXV0byBudW1iZXIgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQs
IGtDRk51bWJlckNGSW5kZXhUeXBlLCAmbGlnaHQpKTsKICAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoYXR0cmlidXRlcywga0NURm9udFBhbGV0dGVBdHRyaWJ1dGUsIG51bWJlci5nZXQoKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTQ2NCwxMiArNDY0LDE0IEBAIHN0YXRpYyB2b2lk
IGFkZEF0dHJpYnV0ZXNGb3JGb250UGFsZXR0ZXMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRy
aWJ1dGVzLCBjb25zCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEZvbnRQYWxldHRl
OjpUeXBlOjpDdXN0b206IHsKLSAgICAgICAgV1RGOjpzd2l0Y2hPbihmb250UGFsZXR0ZVZhbHVl
cy5iYXNlUGFsZXR0ZSgpLCBbJl0oaW50NjRfdCBpbmRleCkgewotICAgICAgICAgICAgYXV0byBu
dW1iZXIgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51
bWJlckNGSW5kZXhUeXBlLCAmaW5kZXgpKTsKKyAgICAgICAgV1RGOjpzd2l0Y2hPbihmb250UGFs
ZXR0ZVZhbHVlcy5iYXNlUGFsZXR0ZSgpLCBbJl0odW5zaWduZWQgaW5kZXgpIHsKKyAgICAgICAg
ICAgIGludDY0X3QgcmF3SW5kZXggPSBpbmRleDsgLy8gVGhlcmUgaXMgbm8ga0NGTnVtYmVyVUlu
dFR5cGUuCisgICAgICAgICAgICBhdXRvIG51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJnJhd0luZGV4KSk7CiAg
ICAgICAgICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShhdHRyaWJ1dGVzLCBrQ1RGb250UGFsZXR0
ZUF0dHJpYnV0ZSwgbnVtYmVyLmdldCgpKTsKICAgICAgICAgfSwgW10oY29uc3QgQXRvbVN0cmlu
ZyYpIHsKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdW5pbXBsZW1lbnRhYmxlIGluIENvcmUgVGV4
dC4KICAgICAgICAgfSk7CisKICAgICAgICAgaWYgKCFmb250UGFsZXR0ZVZhbHVlcy5vdmVycmlk
ZUNvbG9yKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBhdXRvIG92ZXJyaWRlRGljdGlvbmFy
eSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0
LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZh
bHVlQ2FsbEJhY2tzKSk7CiAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBmb250
UGFsZXR0ZVZhbHVlcy5vdmVycmlkZUNvbG9yKCkpIHsKQEAgLTQ3Nyw4ICs0NzksOSBAQCBzdGF0
aWMgdm9pZCBhZGRBdHRyaWJ1dGVzRm9yRm9udFBhbGV0dGVzKENGTXV0YWJsZURpY3Rpb25hcnlS
ZWYgYXR0cmlidXRlcywgY29ucwogICAgICAgICAgICAgICAgIGNvbnN0IGF1dG8mIGNvbG9yID0g
cGFpci5zZWNvbmQ7CiAgICAgICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihwYWxldHRlQ29sb3JJ
bmRleCwgW10oY29uc3QgQXRvbVN0cmluZyYpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gVGhp
cyBpcyB1bmltcGxlbWVudGFibGUgaW4gQ29yZSBUZXh0LgotICAgICAgICAgICAgICAgIH0sIFsm
XShpbnQ2NF90IGluZGV4KSB7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gbnVtYmVyID0gYWRv
cHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRU
eXBlLCAmaW5kZXgpKTsKKyAgICAgICAgICAgICAgICB9LCBbJl0odW5zaWduZWQgaW5kZXgpIHsK
KyAgICAgICAgICAgICAgICAgICAgaW50NjRfdCByYXdJbmRleCA9IGluZGV4OyAvLyBUaGVyZSBp
cyBubyBrQ0ZOdW1iZXJVSW50VHlwZS4KKyAgICAgICAgICAgICAgICAgICAgYXV0byBudW1iZXIg
PSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlclNJ
bnQ2NFR5cGUsICZyYXdJbmRleCkpOwogICAgICAgICAgICAgICAgICAgICBhdXRvIGNvbG9yT2Jq
ZWN0ID0gY2FjaGVkQ0dDb2xvcihjb2xvcik7CiAgICAgICAgICAgICAgICAgICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKG92ZXJyaWRlRGljdGlvbmFyeS5nZXQoKSwgbnVtYmVyLmdldCgpLCBjb2xv
ck9iamVjdCk7CiAgICAgICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA1ZWIwZDY5Mjk3ZWY4N2RmYzg5MTE2MjczZTk3YzM2YmNlZjlmMzJmLi4xYzJjNWFh
MmY5YjAyNjMzYzE1N2U4ZjQwZDBjOWFjYWE4ODEwYjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wOS0yNyAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIE5lZ2F0aXZlIGludGVnZXJzIGluIEBm
b250LXBhbGV0dGUtdmFsdWVzIGFyZSBpbnZhbGlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA3ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgz
NTI4ODA2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgaXMgYmVpbmcgdXBzdHJlYW1lZCBhdCBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdC9wdWxsLzMwOTYxLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNp
bmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlk
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbDoKKwogMjAyMS0wOS0yNyAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBD
U1MgRm9udHMgc3BlYyBoYXMgZGVsZXRlZCBDU1NSdWxlLkZPTlRfUEFMRVRURV9WQUxVRVNfUlVM
RQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50
eHQKaW5kZXggYTAwNjk2ZTdkNWEwMzU0M2RlOTQ1MGIzZTM2NTI2NjI5NGNlYjc2ZC4uMGI0ODJm
ZmFmMzc0ZTE4YmNkZjIzMDg4Mjk2MWQ5MTMxYjhkNWYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcv
Zm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9m
b250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xOCw0ICsxOCw1IEBA
IFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFs
dWVzIDE1CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyAxNgogUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgMTcKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxOQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCmluZGV4IDNkYzkyNjY0NzlhNzMzN2YzYjE0OGI5OWQ2MGZl
YTcwOGViMzU1NWMuLjYxODdjNzM4ZGM3MTdjNjgzOTFjZjcxOWFkMTQ2ZThlN2YxZjI2ZDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCkBAIC0xMDEsMTMgKzEw
MSwxOSBAQAogICAgIGJhc2UtcGFsZXR0ZTogdW5zZXQ7CiAgICAgb3ZlcnJpZGUtY29sb3I6IHVu
c2V0OwogfQorCisvKiAxNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1w
YWxldHRlOiAtMTsKKyAgICBvdmVycmlkZS1jb2xvcjogLTEgIzEyMzsKK30KIDwvc3R5bGU+CiA8
L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CiBsZXQgcnVsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDE3KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLmxl
bmd0aCwgMTgpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0yMzgsNiArMjQ0LDE1IEBA
IHRlc3QoZnVuY3Rpb24oKSB7CiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHMo
Q1NTUnVsZS5GT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUsIHVuZGVmaW5lZCk7CiB9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzE3XS5jc3NUZXh0OworICAgIGxl
dCBydWxlID0gcnVsZXNbMTddOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNl
LXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlk
ZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7CiA8L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFs
aWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBl
Y3RlZC50eHQKaW5kZXggMWRhZThlNGJiYjQ2MzJhMmE0MmZmZWJjOGNhNzgxN2FmMDE4MmZlYS4u
YWZiMWE4ODRiOGMyZmIxODhlNjkzMzljZTUyYzA4ODg1YmYyZmVlNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3Bh
cnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNp
bmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKQEAgLTI3LDggKzI3LDQg
QEAgUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMjQKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDI1CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyAyNgogUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjcKLVBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI4Ci1QQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyOQotUEFTUyBDU1MgRm9u
dHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMzAKLVBBU1Mg
Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDMx
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbAppbmRleCAwZTk3YmU5MWRj
NTNiMDRkZTAyZjZlNmViYjIwN2U4Y2YzMzI3ZmE1Li41NzBmOTY0ZjYyNjc1MzQzZDRiZjY2ODk5
ZTRhNzhmMTVhZWFkNDM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVz
LXZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1s
CkBAIC02Miw0MSArNjIsMzEgQEAKIAogLyogOCAqLwogQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSSB7
Ci0gICAgYmFzZS1wYWxldHRlOiAtMzsKKyAgICBvdmVycmlkZS1jb2xvcjogMCAjMDAwMEZGOwog
fQogCiAvKiA5ICovCiBAZm9udC1wYWxldHRlLXZhbHVlcyBKIHsKLSAgICBvdmVycmlkZS1jb2xv
cjogLTMgcmdiKDE3LCAzNCwgNTEpOworICAgIG92ZXJyaWRlLWNvbG9yOiAwIGdyZWVuOwogfQog
CiAvKiAxMCAqLwogQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSyB7Ci0gICAgb3ZlcnJpZGUtY29sb3I6
IDAgIzAwMDBGRjsKKyAgICBvdmVycmlkZS1jb2xvcjogMCB0cmFuc3BhcmVudDsKIH0KIAogLyog
MTEgKi8KIEBmb250LXBhbGV0dGUtdmFsdWVzIEwgewotICAgIG92ZXJyaWRlLWNvbG9yOiAwIGdy
ZWVuOworICAgIG92ZXJyaWRlLWNvbG9yOiAwIHJnYmEoMSAyIDMgLyA0KTsKIH0KIAogLyogMTIg
Ki8KIEBmb250LXBhbGV0dGUtdmFsdWVzIE0gewotICAgIG92ZXJyaWRlLWNvbG9yOiAwIHRyYW5z
cGFyZW50OworICAgIG92ZXJyaWRlLWNvbG9yOiAwIGxhYigyOS4yMzQ1JSAzOS4zODI1IDIwLjA2
NjQpOwogfQogCiAvKiAxMyAqLwogQGZvbnQtcGFsZXR0ZS12YWx1ZXMgTiB7Ci0gICAgb3ZlcnJp
ZGUtY29sb3I6IDAgcmdiYSgxIDIgMyAvIDQpOwotfQotCi0vKiAxNCAqLwotQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgTyB7Ci0gICAgb3ZlcnJpZGUtY29sb3I6IDAgbGFiKDI5LjIzNDUlIDM5LjM4MjUg
MjAuMDY2NCk7Ci19Ci0KLS8qIDE1ICovCi1AZm9udC1wYWxldHRlLXZhbHVlcyBQIHsKICAgICBv
dmVycmlkZS1jb2xvcjogMCBjb2xvcihkaXNwbGF5LXAzIDEwMCUgMTAwJSAxMDAlKTsKIH0KIDwv
c3R5bGU+CkBAIC0yMzQsMzggKzIyNCwxMiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogCiB0ZXN0KGZ1
bmN0aW9uKCkgewogICAgIGxldCB0ZXh0ID0gcnVsZXNbOF0uY3NzVGV4dDsKLSAgICBhc3NlcnRf
bm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7Ci19KTsKLQotdGVz
dChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOwotICAgIGFzc2VydF9lcXVh
bHMocnVsZS5mb250RmFtaWx5LCAiIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxl
dHRlLCAiLTMiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Ci19KTsKLQotdGVz
dChmdW5jdGlvbigpIHsKLSAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7Ci0gICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Ci19KTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9IHJ1bGVzWzldOwotICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmJh
c2VQYWxldHRlLCAiIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwotICAgIGFz
c2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmdldCgtMyksIHVuZGVmaW5lZCk7Ci19KTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBs
ZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQu
aW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRl
eHQuaW5kZXhPZigicmdiKDAsIDAsIDI1NSkiKSwgLTEpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24o
KSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxlc1sxMF07CisgICAgbGV0IHJ1bGUgPSBydWxlc1s4XTsK
ICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVh
bHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAx
KTsKQEAgLTI3MywxMyArMjM3LDEzIEBAIHRlc3QoZnVuY3Rpb24oKSB7CiB9KTsKIAogdGVzdChm
dW5jdGlvbigpIHsKLSAgICBsZXQgdGV4dCA9IHJ1bGVzWzExXS5jc3NUZXh0OworICAgIGxldCB0
ZXh0ID0gcnVsZXNbOV0uY3NzVGV4dDsKICAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4
T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKICAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoInJnYigwLCAxMjgsIDApIiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewot
ICAgIGxldCBydWxlID0gcnVsZXNbMTFdOworICAgIGxldCBydWxlID0gcnVsZXNbOV07CiAgICAg
YXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CkBA
IC0yODcsMTMgKzI1MSwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogfSk7CiAKIHRlc3QoZnVuY3Rp
b24oKSB7Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxMl0uY3NzVGV4dDsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzEwXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3IiKSwgLTEpOwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhP
ZigicmdiYSgwLCAwLCAwLCAwKSIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAg
ICBsZXQgcnVsZSA9IHJ1bGVzWzEyXTsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEwXTsKICAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKQEAg
LTMwMSwxMyArMjY1LDEzIEBAIHRlc3QoZnVuY3Rpb24oKSB7CiB9KTsKIAogdGVzdChmdW5jdGlv
bigpIHsKLSAgICBsZXQgdGV4dCA9IHJ1bGVzWzEzXS5jc3NUZXh0OworICAgIGxldCB0ZXh0ID0g
cnVsZXNbMTFdLmNzc1RleHQ7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJv
dmVycmlkZS1jb2xvciIpLCAtMSk7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9m
KCIyIiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCBydWxlID0gcnVs
ZXNbMTNdOworICAgIGxldCBydWxlID0gcnVsZXNbMTFdOwogICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5mb250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAi
Iik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwpAQCAtMzE1LDEzICsyNzksMTMg
QEAgdGVzdChmdW5jdGlvbigpIHsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0
ZXh0ID0gcnVsZXNbMTRdLmNzc1RleHQ7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMl0uY3NzVGV4
dDsKICAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiks
IC0xKTsKICAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjI5IiksIC0xKTsKIH0p
OwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCBydWxlID0gcnVsZXNbMTRdOworICAgIGxl
dCBydWxlID0gcnVsZXNbMTJdOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAi
Iik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAgYXNzZXJ0
X2VxdWFscyhydWxlLnNpemUsIDEpOwpAQCAtMzI5LDEzICsyOTMsMTMgQEAgdGVzdChmdW5jdGlv
bigpIHsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0ID0gcnVsZXNbMTVd
LmNzc1RleHQ7CisgICAgbGV0IHRleHQgPSBydWxlc1sxM10uY3NzVGV4dDsKICAgICBhc3NlcnRf
bm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKICAgICBhc3Nl
cnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImRpc3BsYXktcDMiKSwgLTEpOwogfSk7CiAKIHRl
c3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxlc1sxNV07CisgICAgbGV0IHJ1bGUg
PSBydWxlc1sxM107CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKICAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuc2l6ZSwgMSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439414</attachid>
            <date>2021-09-27 16:33:07 -0700</date>
            <delta_ts>2021-09-28 00:52:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230788-20210927163306.patch</filename>
            <type>text/plain</type>
            <size>19621</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZlNmFmMGI2ZjliMjA2
MjYwOTRmZjNlNWQ5N2UwYjhkZTNjNTlmZC4uOTE2YjNmZTRhNjgyYjVhOGMxMjE3YTUzMGY4NDlj
NWNiNmJhMWI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA5LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUg
aW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODM1Mjg4MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHNwZWMgbWFkZSBpdCBpbGxlZ2FsIGluCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2NvbW1pdC8wOWIzYzQ1MjM4ZmViNmMwZTg1
MjZlMDEwY2QzNzgwZjRmYzQ5MDBiLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRpYWxpemVNYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4
dCBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUp
OgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkQXR0cmli
dXRlc0ZvckZvbnRQYWxldHRlcyk6CisKIDIwMjEtMDktMjcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLm5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS5jcHAKaW5kZXggNDY4N2M0M2Y5ZTg4OTIxYjZiZTBjYWMzZjFlMWViYzRh
OGRhMDc4OC4uN2Q3YmZlMTNmOTljY2JlYWNiNGM3Mjk4MTk3ZmFlNjc0MmU1MzFlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKQEAgLTU4
LDcgKzU4LDcgQEAgU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Zm9udEZhbWlseSgp
IGNvbnN0CiAKIFN0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlKCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVs
ZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICByZXR1cm4gV1RGOjpz
d2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKHVuc2ln
bmVkIGluZGV4KSB7CiAgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGluZGV4KTsKICAgICB9LCBb
Jl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0cmluZyB7CiAgICAgICAgIGlm
ICghYmFzZVBhbGV0dGUuaXNOdWxsKCkpCkBAIC03MCw5ICs3MCw5IEBAIFN0cmluZyBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlKCkgY29uc3QKIHZvaWQgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZShET01NYXBBZGFwdGVyJiBtYXApCiB7CiAg
ICAgZm9yIChhdXRvJiBwYWlyIDogbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29s
b3IoKSkgewotICAgICAgICBpZiAoIVdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8aW50NjRfdD4ocGFp
ci5maXJzdCkpCisgICAgICAgIGlmICghV1RGOjpob2xkc19hbHRlcm5hdGl2ZTx1bnNpZ25lZD4o
cGFpci5maXJzdCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbWFwLnNldDxJRExV
bnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8aW50NjRfdD4ocGFpci5maXJzdCks
IHNlcmlhbGl6YXRpb25Gb3JDU1MocGFpci5zZWNvbmQpKTsKKyAgICAgICAgbWFwLnNldDxJRExV
bnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8dW5zaWduZWQ+KHBhaXIuZmlyc3Qp
LCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CiAgICAgfQogfQogCkBAIC04Miw3
ICs4Miw3IEBAIFN0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNzc1RleHQoKSBjb25z
dAogICAgIGJ1aWxkZXIuYXBwZW5kKCJAZm9udC1wYWxldHRlLXZhbHVlcyAiLCBtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+bmFtZSgpLCAiIHsgIik7CiAgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFs
dWVzUnVsZS0+Zm9udEZhbWlseSgpLmlzTnVsbCgpKQogICAgICAgICBidWlsZGVyLmFwcGVuZCgi
Zm9udC1mYW1pbHk6ICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCksICI7
ICIpOwotICAgIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxl
dHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKHVuc2lnbmVkIGluZGV4KSB7CiAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBhbGV0dGU6ICIsIGluZGV4LCAiOyAiKTsKICAgICB9
LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIHsKICAgICAgICAgaWYgKCFiYXNl
UGFsZXR0ZS5pc051bGwoKSkKQEAgLTk2LDcgKzk2LDcgQEAgU3RyaW5nIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgn
ICcpOwogICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+
b3ZlcnJpZGVDb2xvcigpW2ldLmZpcnN0LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgbmFtZSkgewog
ICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHNlcmlhbGl6ZVN0cmluZyhuYW1lLnN0cmlu
ZygpKSk7Ci0gICAgICAgICAgICB9LCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgICAgICAgICAg
fSwgWyZdKHVuc2lnbmVkIGluZGV4KSB7CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
aW5kZXgpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcs
IHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29s
b3IoKVtpXS5zZWNvbmQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklt
cGwuY3BwCmluZGV4IDEyOGM3M2I4MDc4ZDI4NWNmYzg2MzRkOTMyM2Q1MjBhNGY4MDQyNDcuLmE4
MjJmODlhN2VhMTFiYjJmOGRiYjA2MGRmNGQwNjk4N2E3MDFhYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcApAQCAtNjg2LDcgKzY4Niw3IEBAIFJlZlB0
cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQ
YWxldHRlVmFsdWVzUnVsZShDCiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc1N0cmluZygp
KQogICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS5zdHJpbmdWYWx1ZSgp
OwogICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKQotICAgICAgICAg
ICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1ZTxpbnQ2NF90PigpOworICAgICAg
ICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1ZTx1bnNpZ25lZD4oKTsKICAg
ICB9CiAKICAgICBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4gb3Zl
cnJpZGVDb2xvcjsKQEAgLTY5OCw3ICs2OTgsNyBAQCBSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQwog
ICAgICAgICAgICAgaWYgKHBhaXIua2V5KCkuaXNTdHJpbmcoKSkKICAgICAgICAgICAgICAgICBr
ZXkgPSBwYWlyLmtleSgpLnN0cmluZ1ZhbHVlKCk7CiAgICAgICAgICAgICBlbHNlIGlmIChwYWly
LmtleSgpLmlzTnVtYmVyKCkpCi0gICAgICAgICAgICAgICAga2V5ID0gcGFpci5rZXkoKS52YWx1
ZTxpbnQ2NF90PigpOworICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8dW5z
aWduZWQ+KCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICBDb2xvciBjb2xvciA9IHBhaXIuY29sb3IoKS5pc1JHQkNvbG9yKCkgPyBwYWly
LmNvbG9yKCkuY29sb3IoKSA6IFN0eWxlQ29sb3I6OmNvbG9yRnJvbUtleXdvcmQocGFpci5jb2xv
cigpLnZhbHVlSUQoKSwgeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggMzg3NzdjZjJhOTc4YzdhNmUyZGI1OTFkNWM1ZmY1MmMy
NjU3ZWI5NS4uZDE5ZGY0YzgzNDdhYjQ3ZWZkMjBkNTE5MWU2NzVjYzYxZGIxYWUwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQ4
NTAsNyArNDg1MCw3IEBAIHN0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVC
YXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nCiB7CiAgICAgaWYgKHJhbmdl
LnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCiAgICAgICAgIHJldHVybiBjb25zdW1lU3Ry
aW5nKHJhbmdlKTsKLSAgICByZXR1cm4gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAgIHJldHVy
biBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7CiB9CiAKIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWVM
aXN0PiBjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
cmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC00ODYxLDcgKzQ4NjEs
NyBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3VtZU92ZXJyaWRlQ29sb3JEZXNj
cmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmCiAgICAgICAgIGlmIChyYW5nZS5wZWVrKCkudHlw
ZSgpID09IFN0cmluZ1Rva2VuKQogICAgICAgICAgICAga2V5ID0gY29uc3VtZVN0cmluZyhyYW5n
ZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdl
KTsKKyAgICAgICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlLCAwKTsKICAgICAgICAg
aWYgKCFrZXkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmgKaW5kZXggMTcx
MmI2MjhjMDMyMzliNTdjYzdkNTJlYTNmMDE4NTQ2ZjkwMTUyZS4uMWJkMDczNzJkMzkzNmU0M2Fj
NDk1YTUwMTBlMWE3YWVmYTEwODQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udFBhbGV0dGVWYWx1ZXMgewogcHVibGljOgotICAg
IHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8aW50NjRfdCwgQXRvbVN0cmluZz47Ci0gICAg
dXNpbmcgUGFsZXR0ZUNvbG9ySW5kZXggPSBWYXJpYW50PEF0b21TdHJpbmcsIGludDY0X3Q+Owor
ICAgIHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8dW5zaWduZWQsIEF0b21TdHJpbmc+Owor
ICAgIHVzaW5nIFBhbGV0dGVDb2xvckluZGV4ID0gVmFyaWFudDxBdG9tU3RyaW5nLCB1bnNpZ25l
ZD47CiAgICAgdXNpbmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xvcklu
ZGV4LCBDb2xvcj47CiAKICAgICBGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNv
cmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcAppbmRleCAxYTZmNzMyOTA2NzU5YzkyOTg0M2U1N2U1ODk1ZTFiY2I1
MWFiNDMzLi45ZTFiNjVhNTFmZmU3Y2UwMDFmNWNjOTBhM2VjZDY5MmIwZDI4ZWQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9u
dENhY2hlQ29yZVRleHQuY3BwCkBAIC00NTMsNyArNDUzLDcgQEAgc3RhdGljIHZvaWQgYWRkQXR0
cmlidXRlc0ZvckZvbnRQYWxldHRlcyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMs
IGNvbnMKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGb250UGFsZXR0ZTo6VHlwZTo6TGlnaHQ6
IHsKICAgICAgICAgYXV0byBsaWdodCA9IGtDVEZvbnRQYWxldHRlTGlnaHQ7Ci0gICAgICAgIGF1
dG8gbnVtYmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBr
Q0ZOdW1iZXJTSW50NjRUeXBlLCAmbGlnaHQpKTsKKyAgICAgICAgYXV0byBudW1iZXIgPSBhZG9w
dENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckNGSW5kZXhU
eXBlLCAmbGlnaHQpKTsKICAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoYXR0cmlidXRlcywg
a0NURm9udFBhbGV0dGVBdHRyaWJ1dGUsIG51bWJlci5nZXQoKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KQEAgLTQ2NCwxMiArNDY0LDE0IEBAIHN0YXRpYyB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JG
b250UGFsZXR0ZXMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBjb25zCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEZvbnRQYWxldHRlOjpUeXBlOjpDdXN0b206IHsK
LSAgICAgICAgV1RGOjpzd2l0Y2hPbihmb250UGFsZXR0ZVZhbHVlcy5iYXNlUGFsZXR0ZSgpLCBb
Jl0oaW50NjRfdCBpbmRleCkgewotICAgICAgICAgICAgYXV0byBudW1iZXIgPSBhZG9wdENGKENG
TnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckNGSW5kZXhUeXBlLCAm
aW5kZXgpKTsKKyAgICAgICAgV1RGOjpzd2l0Y2hPbihmb250UGFsZXR0ZVZhbHVlcy5iYXNlUGFs
ZXR0ZSgpLCBbJl0odW5zaWduZWQgaW5kZXgpIHsKKyAgICAgICAgICAgIGludDY0X3QgcmF3SW5k
ZXggPSBpbmRleDsgLy8gVGhlcmUgaXMgbm8ga0NGTnVtYmVyVUludFR5cGUuCisgICAgICAgICAg
ICBhdXRvIG51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJnJhd0luZGV4KSk7CiAgICAgICAgICAgICBDRkRpY3Rp
b25hcnlBZGRWYWx1ZShhdHRyaWJ1dGVzLCBrQ1RGb250UGFsZXR0ZUF0dHJpYnV0ZSwgbnVtYmVy
LmdldCgpKTsKICAgICAgICAgfSwgW10oY29uc3QgQXRvbVN0cmluZyYpIHsKICAgICAgICAgICAg
IC8vIFRoaXMgaXMgdW5pbXBsZW1lbnRhYmxlIGluIENvcmUgVGV4dC4KICAgICAgICAgfSk7CisK
ICAgICAgICAgaWYgKCFmb250UGFsZXR0ZVZhbHVlcy5vdmVycmlkZUNvbG9yKCkuaXNFbXB0eSgp
KSB7CiAgICAgICAgICAgICBhdXRvIG92ZXJyaWRlRGljdGlvbmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0
aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rp
b25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBmb250UGFsZXR0ZVZhbHVlcy5vdmVy
cmlkZUNvbG9yKCkpIHsKQEAgLTQ3Nyw4ICs0NzksOSBAQCBzdGF0aWMgdm9pZCBhZGRBdHRyaWJ1
dGVzRm9yRm9udFBhbGV0dGVzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgY29u
cwogICAgICAgICAgICAgICAgIGNvbnN0IGF1dG8mIGNvbG9yID0gcGFpci5zZWNvbmQ7CiAgICAg
ICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihwYWxldHRlQ29sb3JJbmRleCwgW10oY29uc3QgQXRv
bVN0cmluZyYpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB1bmltcGxlbWVudGFi
bGUgaW4gQ29yZSBUZXh0LgotICAgICAgICAgICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7
Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gbnVtYmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0
ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRUeXBlLCAmaW5kZXgpKTsKKyAg
ICAgICAgICAgICAgICB9LCBbJl0odW5zaWduZWQgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaW50NjRfdCByYXdJbmRleCA9IGluZGV4OyAvLyBUaGVyZSBpcyBubyBrQ0ZOdW1iZXJVSW50
VHlwZS4KKyAgICAgICAgICAgICAgICAgICAgYXV0byBudW1iZXIgPSBhZG9wdENGKENGTnVtYmVy
Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlclNJbnQ2NFR5cGUsICZyYXdJbmRl
eCkpOwogICAgICAgICAgICAgICAgICAgICBhdXRvIGNvbG9yT2JqZWN0ID0gY2FjaGVkQ0dDb2xv
cihjb2xvcik7CiAgICAgICAgICAgICAgICAgICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKG92ZXJy
aWRlRGljdGlvbmFyeS5nZXQoKSwgbnVtYmVyLmdldCgpLCBjb2xvck9iamVjdCk7CiAgICAgICAg
ICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhMTI2MjM2MmM5
ODQ4YzcwZmNjMmZmMGY5MTU4MjY4MThjODdjNDFiLi43ODg4YzdiNTg4MjM0MjE4MDI0YWNmMDE4
MWI3OGQ5ZTE0YjdjMmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAyMS0wOS0yNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgorCisgICAgICAgIE5lZ2F0aXZlIGludGVnZXJzIGluIEBmb250LXBhbGV0dGUtdmFsdWVz
IGFyZSBpbnZhbGlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzA3ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNTI4ODA2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYmVpbmcgdXBz
dHJlYW1lZCBhdCBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxs
LzMwOTYxLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFy
c2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZh
bHVlcy1pbnZhbGlkLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Zm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFs
ZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbDoKKwogMjAyMS0wOS0yNyAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUubmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRl
LXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1
ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKaW5kZXggYTAwNjk2ZTdkNWEwMzU0M2RlOTQ1MGIzZTM2
NTI2NjI5NGNlYjc2ZC4uMGI0ODJmZmFmMzc0ZTE4YmNkZjIzMDg4Mjk2MWQ5MTMxYjhkNWYxNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQu
dHh0CkBAIC0xOCw0ICsxOCw1IEBAIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE1CiBQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNgogUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTcKIFBBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE4CitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxOQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCmluZGV4IDNkYzkyNjY0
NzlhNzMzN2YzYjE0OGI5OWQ2MGZlYTcwOGViMzU1NWMuLjYxODdjNzM4ZGM3MTdjNjgzOTFjZjcx
OWFkMTQ2ZThlN2YxZjI2ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1
ZXMtaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxp
ZC5odG1sCkBAIC0xMDEsMTMgKzEwMSwxOSBAQAogICAgIGJhc2UtcGFsZXR0ZTogdW5zZXQ7CiAg
ICAgb3ZlcnJpZGUtY29sb3I6IHVuc2V0OwogfQorCisvKiAxNyAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiAtMTsKKyAgICBvdmVycmlkZS1jb2xvcjogLTEg
IzEyMzsKK30KIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CiBsZXQgcnVsZXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKIHRlc3Qo
ZnVuY3Rpb24oKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDE3KTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGVzLmxlbmd0aCwgMTgpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7
CkBAIC0yMzgsNiArMjQ0LDE1IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIGFzc2VydF9lcXVhbHMoQ1NTUnVsZS5GT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUsIHVu
ZGVmaW5lZCk7CiB9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVz
WzE3XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMTddOworICAgIGFzc2VydF9lcXVh
bHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLnNpemUsIDApOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwor
fSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2Zv
bnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxl
dHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggMWRhZThlNGJiYjQ2MzJhMmE0MmZm
ZWJjOGNhNzgxN2FmMDE4MmZlYS4uYWZiMWE4ODRiOGMyZmIxODhlNjkzMzljZTUyYzA4ODg1YmYy
ZmVlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3Rl
ZC50eHQKQEAgLTI3LDggKzI3LDQgQEAgUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjQKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI1CiBQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyNgogUEFTUyBDU1MgRm9u
dHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjcKLVBBU1Mg
Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI4
Ci1QQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZh
bHVlcyAyOQotUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgMzAKLVBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBm
b250LXBhbGV0dGUtdmFsdWVzIDMxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQu
aHRtbAppbmRleCA1YzA4NDlkMWY4ZWYxODBjNWQwODcyMWUxMTc2NDUxYzMxNjY2MDk4Li41NjIz
ZDljY2YwYmJjNWRlODQzZTAzYzNlYmNiZmE5OTVhNGU4OTBlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxl
dHRlLXZhbHVlcy12YWxpZC5odG1sCkBAIC02Miw0MSArNjIsMzEgQEAKIAogLyogOCAqLwogQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgSSB7Ci0gICAgYmFzZS1wYWxldHRlOiAtMzsKKyAgICBvdmVycmlk
ZS1jb2xvcjogMCAjMDAwMEZGOwogfQogCiAvKiA5ICovCiBAZm9udC1wYWxldHRlLXZhbHVlcyBK
IHsKLSAgICBvdmVycmlkZS1jb2xvcjogLTMgcmdiKDE3LCAzNCwgNTEpOworICAgIG92ZXJyaWRl
LWNvbG9yOiAwIGdyZWVuOwogfQogCiAvKiAxMCAqLwogQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSyB7
Ci0gICAgb3ZlcnJpZGUtY29sb3I6IDAgIzAwMDBGRjsKKyAgICBvdmVycmlkZS1jb2xvcjogMCB0
cmFuc3BhcmVudDsKIH0KIAogLyogMTEgKi8KIEBmb250LXBhbGV0dGUtdmFsdWVzIEwgewotICAg
IG92ZXJyaWRlLWNvbG9yOiAwIGdyZWVuOworICAgIG92ZXJyaWRlLWNvbG9yOiAwIHJnYmEoMSAy
IDMgLyA0KTsKIH0KIAogLyogMTIgKi8KIEBmb250LXBhbGV0dGUtdmFsdWVzIE0gewotICAgIG92
ZXJyaWRlLWNvbG9yOiAwIHRyYW5zcGFyZW50OworICAgIG92ZXJyaWRlLWNvbG9yOiAwIGxhYigy
OS4yMzQ1JSAzOS4zODI1IDIwLjA2NjQpOwogfQogCiAvKiAxMyAqLwogQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgTiB7Ci0gICAgb3ZlcnJpZGUtY29sb3I6IDAgcmdiYSgxIDIgMyAvIDQpOwotfQotCi0v
KiAxNCAqLwotQGZvbnQtcGFsZXR0ZS12YWx1ZXMgTyB7Ci0gICAgb3ZlcnJpZGUtY29sb3I6IDAg
bGFiKDI5LjIzNDUlIDM5LjM4MjUgMjAuMDY2NCk7Ci19Ci0KLS8qIDE1ICovCi1AZm9udC1wYWxl
dHRlLXZhbHVlcyBQIHsKICAgICBvdmVycmlkZS1jb2xvcjogMCBjb2xvcihkaXNwbGF5LXAzIDEw
MCUgMTAwJSAxMDAlKTsKIH0KIDwvc3R5bGU+CkBAIC0yNDIsMjAgKzIzMiwyMyBAQCB0ZXN0KGZ1
bmN0aW9uKCkgewogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGxldCB0ZXh0ID0gcnVsZXNbOF0u
Y3NzVGV4dDsKLSAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0
ZSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1j
b2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2IoMCwg
MCwgMjU1KSIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgcnVsZSA9
IHJ1bGVzWzhdOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5uYW1lLCAiSSIpOwogICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmJh
c2VQYWxldHRlLCAiLTMiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoMCksICJyZ2IoMCwgMCwg
MjU1KSIpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgbGV0IHRleHQgPSBydWxlc1s5
XS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3IiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigicmdiKDAs
IDEyOCwgMCkiKSwgLTEpOwogfSk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0yNjQsMTQgKzI1
NywxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFt
aWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAg
YXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQo
NyksIHVuZGVmaW5lZCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCgtMyksIHVuZGVmaW5l
ZCk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCgwKSwgInJnYigwLCAxMjgsIDApIik7CiB9
KTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0
OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwg
LTEpOwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigicmdiKDAsIDAsIDI1NSki
KSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigicmdiYSgwLCAwLCAw
LCAwKSIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKQEAgLTI4MCwxMyArMjcyLDEz
IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHks
ICIiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKICAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCgwKSwg
InJnYigwLCAwLCAyNTUpIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCgwKSwgInJnYmEo
MCwgMCwgMCwgMCkiKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGxldCB0ZXh0ID0g
cnVsZXNbMTFdLmNzc1RleHQ7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJv
dmVycmlkZS1jb2xvciIpLCAtMSk7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9m
KCJyZ2IoMCwgMTI4LCAwKSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCIyIiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMjk1LDEzICsyODcs
MTMgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWls
eSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAgIGFz
c2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDAp
LCAicmdiKDAsIDEyOCwgMCkiKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgwKS5p
bmRleE9mKCIyIiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGxldCB0ZXh0
ID0gcnVsZXNbMTJdLmNzc1RleHQ7CiAgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9m
KCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCJyZ2JhKDAsIDAsIDAsIDApIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0
LmluZGV4T2YoIjI5IiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMzEwLDEz
ICszMDIsMTMgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9u
dEZhbWlseSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwog
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Z2V0KDApLCAicmdiYSgwLCAwLCAwLCAwKSIpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUu
Z2V0KDApLmluZGV4T2YoImxhYiIpLCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAg
ICBsZXQgdGV4dCA9IHJ1bGVzWzEzXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRl
eHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwotICAgIGFzc2VydF9ub3RfZXF1YWxz
KHRleHQuaW5kZXhPZigiMiIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCJkaXNwbGF5LXAzIiksIC0xKTsKIH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMzI1
LDM2ICszMTcsNiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHMocnVsZS5m
b250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7
CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwotICAgIGFzc2VydF9ub3RfZXF1YWxz
KHJ1bGUuZ2V0KDApLmluZGV4T2YoIjIiKSwgLTEpOwotfSk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7
Ci0gICAgbGV0IHRleHQgPSBydWxlc1sxNF0uY3NzVGV4dDsKLSAgICBhc3NlcnRfbm90X2VxdWFs
cyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKLSAgICBhc3NlcnRfbm90X2Vx
dWFscyh0ZXh0LmluZGV4T2YoIjI5IiksIC0xKTsKLX0pOwotCi10ZXN0KGZ1bmN0aW9uKCkgewot
ICAgIGxldCBydWxlID0gcnVsZXNbMTRdOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5uYW1lLCAi
TyIpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Ci0gICAgYXNzZXJ0
X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLnNp
emUsIDEpOwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDApLmluZGV4T2YoImxhYiIp
LCAtMSk7Ci19KTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgdGV4dCA9IHJ1bGVzWzE1
XS5jc3NUZXh0OwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3IiKSwgLTEpOwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZGlzcGxh
eS1wMyIpLCAtMSk7Ci19KTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9IHJ1
bGVzWzE1XTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUubmFtZSwgIlAiKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNl
UGFsZXR0ZSwgIiIpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKICAgICBhc3Nl
cnRfbm90X2VxdWFscyhydWxlLmdldCgwKS5pbmRleE9mKCJkaXNwbGF5LXAzIiksIC0xKTsKIH0p
OwogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439438</attachid>
            <date>2021-09-28 00:52:39 -0700</date>
            <delta_ts>2021-09-28 12:51:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230788-20210928005238.patch</filename>
            <type>text/plain</type>
            <size>19660</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2UxYWE3NDM2Njc4OGE1
NzNkOGJmYWQ4MDVhMTVkMDY4YWZjYTM4Yy4uNjEzYjI4MGQ3YmFkYjkwZTg4YTU0ZTAyOTgyZDE4
MWM3YzRlYzM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA5LTI4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVnYXRpdmUg
aW50ZWdlcnMgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgYXJlIGludmFsaWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDc4OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vODM1Mjg4MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHNwZWMgbWFkZSBpdCBpbGxlZ2FsIGluCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2NvbW1pdC8wOWIzYzQ1MjM4ZmViNmMwZTg1
MjZlMDEwY2QzNzgwZjRmYzQ5MDBiLgorCisgICAgICAgIFRlc3Q6IHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRpYWxpemVNYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4
dCBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUp
OgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkQXR0cmli
dXRlc0ZvckZvbnRQYWxldHRlcyk6CisKIDIwMjEtMDktMjcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBvdmVycmlkZS1jb2xvciBoYXMgYmVlbiBy
ZW5hbWVkIHRvIG92ZXJyaWRlLWNvbG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAppbmRleCBlNzJmODE2MzY3ZWViNmMzYTQ5MDA0N2IyYWU5
OTNhYzJlNTA2ZGM3Li5kYTdlZmYxZGFkYTlhMjg2Y2ZhYzBhNTU0YTViMzA5NjU3M2I2MjM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApA
QCAtNTgsNyArNTgsNyBAQCBTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpmb250RmFt
aWx5KCkgY29uc3QKIAogU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0
dGUoKSBjb25zdAogewotICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1
ZXNSdWxlLT5iYXNlUGFsZXR0ZSgpLCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgIHJldHVybiBX
VEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5iYXNlUGFsZXR0ZSgpLCBbJl0o
dW5zaWduZWQgaW5kZXgpIHsKICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoaW5kZXgpOwogICAg
IH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgLT4gU3RyaW5nIHsKICAgICAg
ICAgaWYgKCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKQEAgLTcwLDkgKzcwLDkgQEAgU3RyaW5nIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUoKSBjb25zdAogdm9pZCBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkK
IHsKICAgICBmb3IgKGF1dG8mIHBhaXIgOiBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJp
ZGVDb2xvcnMoKSkgewotICAgICAgICBpZiAoIVdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8aW50NjRf
dD4ocGFpci5maXJzdCkpCisgICAgICAgIGlmICghV1RGOjpob2xkc19hbHRlcm5hdGl2ZTx1bnNp
Z25lZD4ocGFpci5maXJzdCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbWFwLnNl
dDxJRExVbnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8aW50NjRfdD4ocGFpci5m
aXJzdCksIHNlcmlhbGl6YXRpb25Gb3JDU1MocGFpci5zZWNvbmQpKTsKKyAgICAgICAgbWFwLnNl
dDxJRExVbnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8dW5zaWduZWQ+KHBhaXIu
Zmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CiAgICAgfQogfQogCkBA
IC04Miw3ICs4Miw3IEBAIFN0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNzc1RleHQo
KSBjb25zdAogICAgIGJ1aWxkZXIuYXBwZW5kKCJAZm9udC1wYWxldHRlLXZhbHVlcyAiLCBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+bmFtZSgpLCAiIHsgIik7CiAgICAgaWYgKCFtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpLmlzTnVsbCgpKQogICAgICAgICBidWlsZGVyLmFw
cGVuZCgiZm9udC1mYW1pbHk6ICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5
KCksICI7ICIpOwotICAgIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJh
c2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgV1RGOjpzd2l0Y2hPbihtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKHVuc2lnbmVkIGluZGV4KSB7
CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBhbGV0dGU6ICIsIGluZGV4LCAiOyAiKTsK
ICAgICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIHsKICAgICAgICAgaWYg
KCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKQEAgLTk2LDcgKzk2LDcgQEAgU3RyaW5nIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgnICcpOwogICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVz
UnVsZS0+b3ZlcnJpZGVDb2xvcnMoKVtpXS5maXJzdCwgWyZdKGNvbnN0IEF0b21TdHJpbmcmIG5h
bWUpIHsKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChzZXJpYWxpemVTdHJpbmcobmFt
ZS5zdHJpbmcoKSkpOwotICAgICAgICAgICAgfSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAg
ICAgICAgIH0sIFsmXSh1bnNpZ25lZCBpbmRleCkgewogICAgICAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKGluZGV4KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgYnVpbGRlci5hcHBl
bmQoJyAnLCBzZXJpYWxpemF0aW9uRm9yQ1NTKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVy
cmlkZUNvbG9ycygpW2ldLnNlY29uZCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySW1wbC5jcHAKaW5kZXggODFlNjZiMzc3NjQ4NjViOGM0MTVkODkyYTA1NzY5ZDlmYjUx
YjViZC4uM2MwMzZlODM5YmU3YjNlNWJmYzgzNTFkMDA3OTgxMzdiZWVjNDYzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC02ODYsNyArNjg2LDcg
QEAgUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBDU1NQYXJzZXJJbXBsOjpjb25z
dW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKEMKICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlz
U3RyaW5nKCkpCiAgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnN0cmlu
Z1ZhbHVlKCk7CiAgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyKCkpCi0g
ICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCk7
CisgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPHVuc2lnbmVk
PigpOwogICAgIH0KIAogICAgIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNv
bG9yPiBvdmVycmlkZUNvbG9yczsKQEAgLTY5OCw3ICs2OTgsNyBAQCBSZWZQdHI8U3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVl
c1J1bGUoQwogICAgICAgICAgICAgaWYgKHBhaXIua2V5KCkuaXNTdHJpbmcoKSkKICAgICAgICAg
ICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnN0cmluZ1ZhbHVlKCk7CiAgICAgICAgICAgICBlbHNl
IGlmIChwYWlyLmtleSgpLmlzTnVtYmVyKCkpCi0gICAgICAgICAgICAgICAga2V5ID0gcGFpci5r
ZXkoKS52YWx1ZTxpbnQ2NF90PigpOworICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCku
dmFsdWU8dW5zaWduZWQ+KCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICBDb2xvciBjb2xvciA9IHBhaXIuY29sb3IoKS5pc1JHQkNvbG9y
KCkgPyBwYWlyLmNvbG9yKCkuY29sb3IoKSA6IFN0eWxlQ29sb3I6OmNvbG9yRnJvbUtleXdvcmQo
cGFpci5jb2xvcigpLnZhbHVlSUQoKSwgeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggNDRlM2M3MDg4ZGQyZjBmZDk5MDYwNWEz
MTlhY2ZiNzk5NmYyN2U5NC4uYmM4ZTA1YmQ5MjNjMmQ3MTJlMTExNmU0MDY2MWNjMjM3NDEzMGZm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5j
cHAKQEAgLTQ4NTAsNyArNDg1MCw3IEBAIHN0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nCiB7CiAgICAg
aWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCiAgICAgICAgIHJldHVybiBj
b25zdW1lU3RyaW5nKHJhbmdlKTsKLSAgICByZXR1cm4gY29uc3VtZUludGVnZXIocmFuZ2UpOwor
ICAgIHJldHVybiBjb25zdW1lSW50ZWdlcihyYW5nZSwgMCk7CiB9CiAKIHN0YXRpYyBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBjb25zdW1lT3ZlcnJpZGVDb2xvcnNEZXNjcmlwdG9yKENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtNDg2
MSw3ICs0ODYxLDcgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlk
ZUNvbG9yc0Rlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYKICAgICAgICAgaWYgKHJhbmdl
LnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCiAgICAgICAgICAgICBrZXkgPSBjb25zdW1l
U3RyaW5nKHJhbmdlKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAga2V5ID0gY29uc3VtZUlu
dGVnZXIocmFuZ2UpOworICAgICAgICAgICAga2V5ID0gY29uc3VtZUludGVnZXIocmFuZ2UsIDAp
OwogICAgICAgICBpZiAoIWtleSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVl
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMu
aAppbmRleCA3NmY3ODU4NDQ4NzMzOTcyYmUxODJlZTQ1MWNmYjNlZDk0Mzk5MTI0Li40MTI4MjMz
ZDkzMDMxYTY3Yzg1Y2FiN2IzZTExZTI3YjNiM2IwZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmgKQEAgLTM2LDggKzM2
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb250UGFsZXR0ZVZhbHVlcyB7CiBw
dWJsaWM6Ci0gICAgdXNpbmcgUGFsZXR0ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3Ry
aW5nPjsKLSAgICB1c2luZyBQYWxldHRlQ29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywg
aW50NjRfdD47CisgICAgdXNpbmcgUGFsZXR0ZUluZGV4ID0gVmFyaWFudDx1bnNpZ25lZCwgQXRv
bVN0cmluZz47CisgICAgdXNpbmcgUGFsZXR0ZUNvbG9ySW5kZXggPSBWYXJpYW50PEF0b21TdHJp
bmcsIHVuc2lnbmVkPjsKICAgICB1c2luZyBPdmVycmlkZGVuQ29sb3IgPSBzdGQ6OnBhaXI8UGFs
ZXR0ZUNvbG9ySW5kZXgsIENvbG9yPjsKIAogICAgIEZvbnRQYWxldHRlVmFsdWVzKCkgPSBkZWZh
dWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCmluZGV4IGMzMDMzMDdkZGMzNzI1Mzc2YWMzNTMw
MDIxYTRkOTdhZWVhOGFjZWQuLjZiNGJhMWM5ZWZlNzZlZTM1NDA3Y2Q4YzM4ZGQ2MzVhOThiYzlk
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKQEAgLTQ1Myw3ICs0NTMsNyBAQCBzdGF0aWMg
dm9pZCBhZGRBdHRyaWJ1dGVzRm9yRm9udFBhbGV0dGVzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYg
YXR0cmlidXRlcywgY29ucwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZvbnRQYWxldHRlOjpU
eXBlOjpMaWdodDogewogICAgICAgICBhdXRvIGxpZ2h0ID0ga0NURm9udFBhbGV0dGVMaWdodDsK
LSAgICAgICAgYXV0byBudW1iZXIgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIGtDRk51bWJlclNJbnQ2NFR5cGUsICZsaWdodCkpOworICAgICAgICBhdXRvIG51
bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVt
YmVyQ0ZJbmRleFR5cGUsICZsaWdodCkpOwogICAgICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShh
dHRyaWJ1dGVzLCBrQ1RGb250UGFsZXR0ZUF0dHJpYnV0ZSwgbnVtYmVyLmdldCgpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQpAQCAtNDY0LDEyICs0NjQsMTQgQEAgc3RhdGljIHZvaWQgYWRkQXR0
cmlidXRlc0ZvckZvbnRQYWxldHRlcyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMs
IGNvbnMKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgRm9udFBhbGV0dGU6OlR5cGU6
OkN1c3RvbTogewotICAgICAgICBXVEY6OnN3aXRjaE9uKGZvbnRQYWxldHRlVmFsdWVzLmJhc2VQ
YWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7Ci0gICAgICAgICAgICBhdXRvIG51bWJlciA9
IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyQ0ZJ
bmRleFR5cGUsICZpbmRleCkpOworICAgICAgICBXVEY6OnN3aXRjaE9uKGZvbnRQYWxldHRlVmFs
dWVzLmJhc2VQYWxldHRlKCksIFsmXSh1bnNpZ25lZCBpbmRleCkgeworICAgICAgICAgICAgaW50
NjRfdCByYXdJbmRleCA9IGluZGV4OyAvLyBUaGVyZSBpcyBubyBrQ0ZOdW1iZXJVSW50VHlwZS4K
KyAgICAgICAgICAgIGF1dG8gbnVtYmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRUeXBlLCAmcmF3SW5kZXgpKTsKICAgICAgICAg
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRQYWxldHRlQXR0cmli
dXRlLCBudW1iZXIuZ2V0KCkpOwogICAgICAgICB9LCBbXShjb25zdCBBdG9tU3RyaW5nJikgewog
ICAgICAgICAgICAgLy8gVGhpcyBpcyB1bmltcGxlbWVudGFibGUgaW4gQ29yZSBUZXh0LgogICAg
ICAgICB9KTsKKwogICAgICAgICBpZiAoIWZvbnRQYWxldHRlVmFsdWVzLm92ZXJyaWRlQ29sb3Jz
KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBhdXRvIG92ZXJyaWRlRGljdGlvbmFyeSA9IGFk
b3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAm
a0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2Fs
bEJhY2tzKSk7CiAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBmb250UGFsZXR0
ZVZhbHVlcy5vdmVycmlkZUNvbG9ycygpKSB7CkBAIC00NzcsOCArNDc5LDkgQEAgc3RhdGljIHZv
aWQgYWRkQXR0cmlidXRlc0ZvckZvbnRQYWxldHRlcyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0
dHJpYnV0ZXMsIGNvbnMKICAgICAgICAgICAgICAgICBjb25zdCBhdXRvJiBjb2xvciA9IHBhaXIu
c2Vjb25kOwogICAgICAgICAgICAgICAgIFdURjo6c3dpdGNoT24ocGFsZXR0ZUNvbG9ySW5kZXgs
IFtdKGNvbnN0IEF0b21TdHJpbmcmKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMg
dW5pbXBsZW1lbnRhYmxlIGluIENvcmUgVGV4dC4KLSAgICAgICAgICAgICAgICB9LCBbJl0oaW50
NjRfdCBpbmRleCkgewotICAgICAgICAgICAgICAgICAgICBhdXRvIG51bWJlciA9IGFkb3B0Q0Yo
Q0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwg
JmluZGV4KSk7CisgICAgICAgICAgICAgICAgfSwgWyZdKHVuc2lnbmVkIGluZGV4KSB7CisgICAg
ICAgICAgICAgICAgICAgIGludDY0X3QgcmF3SW5kZXggPSBpbmRleDsgLy8gVGhlcmUgaXMgbm8g
a0NGTnVtYmVyVUludFR5cGUuCisgICAgICAgICAgICAgICAgICAgIGF1dG8gbnVtYmVyID0gYWRv
cHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRU
eXBlLCAmcmF3SW5kZXgpKTsKICAgICAgICAgICAgICAgICAgICAgYXV0byBjb2xvck9iamVjdCA9
IGNhY2hlZENHQ29sb3IoY29sb3IpOwogICAgICAgICAgICAgICAgICAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShvdmVycmlkZURpY3Rpb25hcnkuZ2V0KCksIG51bWJlci5nZXQoKSwgY29sb3JPYmpl
Y3QpOwogICAgICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggMzU5NDBiYWMwMTczMTgxMTQwMjJkM2U1ZTg4YjM1N2UyNjZiNjdhMy4uNDllN2VmNWZlZDI2
YjYzNGU3NDA2YzQ1NDI0MjhhNGI3ZDY2ZGNlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDktMjggIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBpbnRlZ2VycyBpbiBAZm9udC1w
YWxldHRlLXZhbHVlcyBhcmUgaW52YWxpZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNzg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzUyODgw
Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGlzIGJlaW5nIHVwc3RyZWFtZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvcHVsbC8zMDk2MS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2Zv
bnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFy
c2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWw6CisKIDIwMjEtMDktMjcgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBvdmVycmlkZS1j
b2xvciBoYXMgYmVlbiByZW5hbWVkIHRvIG92ZXJyaWRlLWNvbG9ycwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3Bh
cnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5n
L2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKaW5kZXggYTAwNjk2ZTdk
NWEwMzU0M2RlOTQ1MGIzZTM2NTI2NjI5NGNlYjc2ZC4uMGI0ODJmZmFmMzc0ZTE4YmNkZjIzMDg4
Mjk2MWQ5MTMxYjhkNWYxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy1pbnZhbGlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVz
LWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0xOCw0ICsxOCw1IEBAIFBBU1MgQ1NTIEZvbnRzIE1v
ZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE1CiBQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNgogUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
MTcKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDE4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAxOQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFs
dWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5o
dG1sCmluZGV4IDg2YTQ0YTUxMDdhNGFmMzVkMWJkNmI1NDNkZDVjNGRlNmExNjY5ZDEuLjIwOGM3
Y2U1NWU2NjEwZDE4YmIwMmViNjcwZGNkYjE2ZmQxMzhkYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5n
L2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFs
ZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCkBAIC0xMDEsMTMgKzEwMSwxOSBAQAogICAgIGJhc2Ut
cGFsZXR0ZTogdW5zZXQ7CiAgICAgb3ZlcnJpZGUtY29sb3JzOiB1bnNldDsKIH0KKworLyogMTcg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogLTE7CisgICAg
b3ZlcnJpZGUtY29sb3I6IC0xICMxMjM7Cit9CiA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHk+CiA8
c2NyaXB0PgogbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hl
ZXQuY3NzUnVsZXM7CiB0ZXN0KGZ1bmN0aW9uKCkgewotICAgIGFzc2VydF9lcXVhbHMocnVsZXMu
bGVuZ3RoLCAxNyk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDE4KTsKIH0pOwog
CiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMjUyLDYgKzI1OCwxNSBAQCB0ZXN0KGZ1bmN0aW9uKCkg
ewogdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKENTU1J1bGUuRk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFLCB1bmRlZmluZWQpOwogfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1sxN10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzE3
XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
YmFzZVBhbGV0dGUsICIiKTsKK30pOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IDFk
YWU4ZTRiYmI0NjMyYTJhNDJmZmViYzhjYTc4MTdhZjAxODJmZWEuLmFmYjFhODg0YjhjMmZiMTg4
ZTY5MzM5Y2U1MmMwODg4NWJmMmZlZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12
YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0yNyw4ICsyNyw0IEBAIFBBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDI0CiBQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyNQog
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMjYKIFBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDI3Ci1QQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAyOAotUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMjkKLVBBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0
OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDMwCi1QQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzMQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
cGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBh
bGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKaW5kZXggYjY2OWYyMTcyN2UxNjg4YjEyMjFmNGE4Yjlk
MTZhODRjY2QyYTMxNC4uNzJjNjJkNTk2YzY2NWUxODcyNjliMDE0NDcxY2Q5YzdhMGY0MDE1MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApAQCAtNjIsNDEgKzYyLDMx
IEBACiAKIC8qIDggKi8KIEBmb250LXBhbGV0dGUtdmFsdWVzIEkgewotICAgIGJhc2UtcGFsZXR0
ZTogLTM7CisgICAgb3ZlcnJpZGUtY29sb3JzOiAwICMwMDAwRkY7CiB9CiAKIC8qIDkgKi8KIEBm
b250LXBhbGV0dGUtdmFsdWVzIEogewotICAgIG92ZXJyaWRlLWNvbG9yczogLTMgcmdiKDE3LCAz
NCwgNTEpOworICAgIG92ZXJyaWRlLWNvbG9yczogMCBncmVlbjsKIH0KIAogLyogMTAgKi8KIEBm
b250LXBhbGV0dGUtdmFsdWVzIEsgewotICAgIG92ZXJyaWRlLWNvbG9yczogMCAjMDAwMEZGOwor
ICAgIG92ZXJyaWRlLWNvbG9yczogMCB0cmFuc3BhcmVudDsKIH0KIAogLyogMTEgKi8KIEBmb250
LXBhbGV0dGUtdmFsdWVzIEwgewotICAgIG92ZXJyaWRlLWNvbG9yczogMCBncmVlbjsKKyAgICBv
dmVycmlkZS1jb2xvcnM6IDAgcmdiYSgxIDIgMyAvIDQpOwogfQogCiAvKiAxMiAqLwogQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgTSB7Ci0gICAgb3ZlcnJpZGUtY29sb3JzOiAwIHRyYW5zcGFyZW50Owor
ICAgIG92ZXJyaWRlLWNvbG9yczogMCBsYWIoMjkuMjM0NSUgMzkuMzgyNSAyMC4wNjY0KTsKIH0K
IAogLyogMTMgKi8KIEBmb250LXBhbGV0dGUtdmFsdWVzIE4gewotICAgIG92ZXJyaWRlLWNvbG9y
czogMCByZ2JhKDEgMiAzIC8gNCk7Ci19Ci0KLS8qIDE0ICovCi1AZm9udC1wYWxldHRlLXZhbHVl
cyBPIHsKLSAgICBvdmVycmlkZS1jb2xvcnM6IDAgbGFiKDI5LjIzNDUlIDM5LjM4MjUgMjAuMDY2
NCk7Ci19Ci0KLS8qIDE1ICovCi1AZm9udC1wYWxldHRlLXZhbHVlcyBQIHsKICAgICBvdmVycmlk
ZS1jb2xvcnM6IDAgY29sb3IoZGlzcGxheS1wMyAxMDAlIDEwMCUgMTAwJSk7CiB9CiA8L3N0eWxl
PgpAQCAtMjQyLDIwICsyMzIsMjMgQEAgdGVzdChmdW5jdGlvbigpIHsKIAogdGVzdChmdW5jdGlv
bigpIHsKICAgICBsZXQgdGV4dCA9IHJ1bGVzWzhdLmNzc1RleHQ7Ci0gICAgYXNzZXJ0X25vdF9l
cXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3JzIiksIC0xKTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyh0ZXh0LmluZGV4T2YoInJnYigwLCAwLCAyNTUpIiksIC0xKTsKIH0pOwogCiB0
ZXN0KGZ1bmN0aW9uKCkgewogICAgIGxldCBydWxlID0gcnVsZXNbOF07CiAgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLm5hbWUsICJJIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHks
ICIiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICItMyIpOwotICAgIGFz
c2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBh
bGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmdldCgwKSwgInJnYigwLCAwLCAyNTUpIik7CiB9KTsKIAogdGVzdChmdW5j
dGlvbigpIHsKICAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7CiAgICAgYXNzZXJ0X25v
dF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcnMiKSwgLTEpOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigicmdiKDAsIDEyOCwgMCkiKSwgLTEpOwogfSk7CiAK
IHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0yNjQsMTQgKzI1NywxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUs
IDEpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhydWxlLmdldCgtMyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmdldCgwKSwgInJnYigwLCAxMjgsIDApIik7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsK
ICAgICBsZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxz
KHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3JzIiksIC0xKTsKLSAgICBhc3NlcnRfbm90X2Vx
dWFscyh0ZXh0LmluZGV4T2YoInJnYigwLCAwLCAyNTUpIiksIC0xKTsKKyAgICBhc3NlcnRfbm90
X2VxdWFscyh0ZXh0LmluZGV4T2YoInJnYmEoMCwgMCwgMCwgMCkiKSwgLTEpOwogfSk7CiAKIHRl
c3QoZnVuY3Rpb24oKSB7CkBAIC0yODAsMTMgKzI3MiwxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewog
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEp
OwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoMCksICJyZ2IoMCwgMCwgMjU1KSIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5nZXQoMCksICJyZ2JhKDAsIDAsIDAsIDApIik7CiB9KTsKIAog
dGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgdGV4dCA9IHJ1bGVzWzExXS5jc3NUZXh0OwogICAg
IGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3JzIiksIC0xKTsK
LSAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoInJnYigwLCAxMjgsIDApIiksIC0x
KTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjIiKSwgLTEpOwogfSk7CiAK
IHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0yOTUsMTMgKzI4NywxMyBAQCB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CiAgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CiAgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUs
IDEpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoMCksICJyZ2IoMCwgMTI4LCAwKSIpOwor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDApLmluZGV4T2YoIjIiKSwgLTEpOwogfSk7
CiAKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgbGV0IHRleHQgPSBydWxlc1sxMl0uY3NzVGV4dDsK
ICAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9ycyIpLCAt
MSk7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJyZ2JhKDAsIDAsIDAsIDAp
IiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjI5IiksIC0xKTsK
IH0pOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAtMzEwLDEzICszMDIsMTMgQEAgdGVzdChmdW5j
dGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAgIGFz
c2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5zaXplLCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDApLCAicmdiYSgwLCAwLCAw
LCAwKSIpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDApLmluZGV4T2YoImxhYiIp
LCAtMSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgdGV4dCA9IHJ1bGVzWzEz
XS5jc3NUZXh0OwogICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3JzIiksIC0xKTsKLSAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjIiKSwg
LTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZGlzcGxheS1wMyIpLCAt
MSk7CiB9KTsKIAogdGVzdChmdW5jdGlvbigpIHsKQEAgLTMyNSwzNiArMzE3LDYgQEAgdGVzdChm
dW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwogICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwogICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5zaXplLCAxKTsKLSAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgwKS5pbmRleE9m
KCIyIiksIC0xKTsKLX0pOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0ID0gcnVs
ZXNbMTRdLmNzc1RleHQ7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVy
cmlkZS1jb2xvcnMiKSwgLTEpOwotICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
MjkiKSwgLTEpOwotfSk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgbGV0IHJ1bGUgPSBydWxl
c1sxNF07Ci0gICAgYXNzZXJ0X2VxdWFscyhydWxlLm5hbWUsICJPIik7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBh
bGV0dGUsICIiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7Ci0gICAgYXNzZXJ0
X25vdF9lcXVhbHMocnVsZS5nZXQoMCkuaW5kZXhPZigibGFiIiksIC0xKTsKLX0pOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICAgIGxldCB0ZXh0ID0gcnVsZXNbMTVdLmNzc1RleHQ7Ci0gICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcnMiKSwgLTEpOwotICAg
IGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZGlzcGxheS1wMyIpLCAtMSk7Ci19KTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBsZXQgcnVsZSA9IHJ1bGVzWzE1XTsKLSAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUubmFtZSwgIlAiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZh
bWlseSwgIiIpOwotICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwotICAg
IGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKICAgICBhc3NlcnRfbm90X2VxdWFscyhydWxl
LmdldCgwKS5pbmRleE9mKCJkaXNwbGF5LXAzIiksIC0xKTsKIH0pOwogPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="463083"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>