<?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>238483</bug_id>
          
          <creation_ts>2022-03-28 19:50:06 -0700</creation_ts>
          <short_desc>[Cocoa] Automatically relayout the page when new fonts are installed</short_desc>
          <delta_ts>2022-04-02 22:39:42 -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>
          <dependson>238690</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mkwst</cc>
    
    <cc>Morningstar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1855889</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-28 19:50:06 -0700</bug_when>
    <thetext>[Cocoa] Automatically relayout the page when new fonts are installed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855890</commentid>
    <comment_count>1</comment_count>
      <attachid>455983</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-28 19:54:14 -0700</bug_when>
    <thetext>Created attachment 455983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855891</commentid>
    <comment_count>2</comment_count>
      <attachid>455984</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-28 19:56:34 -0700</bug_when>
    <thetext>Created attachment 455984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855897</commentid>
    <comment_count>3</comment_count>
      <attachid>455985</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-28 20:52:04 -0700</bug_when>
    <thetext>Created attachment 455985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855907</commentid>
    <comment_count>4</comment_count>
      <attachid>455985</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-28 21:43:01 -0700</bug_when>
    <thetext>Comment on attachment 455985
Patch

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

r=me

&gt; Source/WebCore/page/Page.cpp:392
&gt; +    {

nit: Not convinced we need this scope.

&gt; Source/WebCore/page/Page.cpp:396
&gt; +                forEachPage([](Page&amp; page) {

nit: Could use auto&amp;

&gt; LayoutTests/fast/text/install-font-style-recalc.html:4
&gt; +&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;

Can we just include js-test.js..

&gt; LayoutTests/fast/text/install-font-style-recalc.html:20
&gt; +&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;

.. and not include the -post.js version?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856199</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-29 14:49:50 -0700</bug_when>
    <thetext>Committed r292072 (249003@trunk): &lt;https://commits.webkit.org/249003@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856201</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-29 14:50:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/91006654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856209</commentid>
    <comment_count>7</comment_count>
      <attachid>455985</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-29 15:02:02 -0700</bug_when>
    <thetext>Comment on attachment 455985
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        FontCache::invalidateAllFontCaches() can&apos;t do this directly because it&apos;s in platform/ and
&gt; +        therefore isn&apos;t allowed to know what Pages are. Instead, this patch takes a process-global
&gt; +        callback and calls that instead. This callback is set at initialization time.

Why is this so different from how SettingsBase::setStandardFontFamily does things?

&gt; Source/WebCore/page/Page.cpp:393
&gt; +        static bool fontCacheInvalidationCallbackRegistered = false;

Looks like addOnlineStateChangeListener is another case of one-time initialization in the Page constructor. Surprised there are only these two things. I suggest grouping this with that in a separate function that can use a single global boolean to call it once rather than using separate booleans for each bit of one-time initialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856225</commentid>
    <comment_count>8</comment_count>
      <attachid>455985</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-29 15:55:52 -0700</bug_when>
    <thetext>Comment on attachment 455985
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:14
&gt;&gt; +        callback and calls that instead. This callback is set at initialization time.
&gt; 
&gt; Why is this so different from how SettingsBase::setStandardFontFamily does things?

I looked at that when investigating this bug, but I didn&apos;t think that model would work because SettingsBase holds a `Page* m_page;`, but this CFNotification is delivered to a static free function. The static function calls into the FontCache::forCurrentThread() which is a singleton in platform/. So, at this point, we don&apos;t have a handle to any Page like SettingsBase does; indeed, we can&apos;t even speak of Page inside platform/. So, I opted to implement this using this new stored Function mechanism.

&gt;&gt; Source/WebCore/page/Page.cpp:393
&gt;&gt; +        static bool fontCacheInvalidationCallbackRegistered = false;
&gt; 
&gt; Looks like addOnlineStateChangeListener is another case of one-time initialization in the Page constructor. Surprised there are only these two things. I suggest grouping this with that in a separate function that can use a single global boolean to call it once rather than using separate booleans for each bit of one-time initialization.

Right, yes, good idea. I missed that when implementing this. I&apos;ll do it in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857459</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-04-01 17:37:44 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 238690</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857535</commentid>
    <comment_count>10</comment_count>
      <attachid>456444</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-01 21:44:22 -0700</bug_when>
    <thetext>Created attachment 456444
Patch for relanding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857551</commentid>
    <comment_count>11</comment_count>
      <attachid>456453</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-02 00:11:23 -0700</bug_when>
    <thetext>Created attachment 456453
Patch for relanding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857553</commentid>
    <comment_count>12</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-02 00:11:59 -0700</bug_when>
    <thetext>*** Bug 238641 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857585</commentid>
    <comment_count>13</comment_count>
      <attachid>456453</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-02 09:31:16 -0700</bug_when>
    <thetext>Comment on attachment 456453
Patch for relanding

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

&gt; Source/WebCore/page/Page.h:968
&gt; +    void firstTimeInitialization();

I recommend adding &quot;static&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857661</commentid>
    <comment_count>14</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-04-02 22:39:42 -0700</bug_when>
    <thetext>Committed r292274 (249172@trunk): &lt;https://commits.webkit.org/249172@trunk&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455983</attachid>
            <date>2022-03-28 19:54:14 -0700</date>
            <delta_ts>2022-03-28 19:56:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238483-20220328195414.patch</filename>
            <type>text/plain</type>
            <size>3792</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWRjZjgzZmFkYzQ5NWFh
MDY4NjMxNTJjOThmN2U0MTNhNWQ3MzdlNS4uMDIxYWQ4OWMyNDQ2YTAwNTk4YTFiY2FiYTE4N2Ix
ZDc2ZjQ1YjI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTI4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBB
dXRvbWF0aWNhbGx5IHJlbGF5b3V0IHRoZSBwYWdlIHdoZW4gbmV3IGZvbnRzIGFyZSBpbnN0YWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ4
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
c3VyZSB0byBjYWxsIHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcyBvbiBldmVyeSBQYWdl
IHdoZW4gd2UgcmVjZWl2ZSBhCisgICAgICAgIGtDVEZvbnRNYW5hZ2VyUmVnaXN0ZXJlZEZvbnRz
Q2hhbmdlZE5vdGlmaWNhdGlvbi4KKworICAgICAgICBGb250Q2FjaGU6OmludmFsaWRhdGVBbGxG
b250Q2FjaGVzKCkgY2FuJ3QgZG8gdGhpcyBkaXJlY3RseSBiZWNhdXNlIGl0J3MgaW4gcGxhdGZv
cm0vIGFuZAorICAgICAgICB0aGVyZWZvcmUgaXNuJ3QgYWxsb3dlZCB0byBrbm93IHdoYXQgUGFn
ZXMgYXJlLiBJbnN0ZWFkLCB0aGlzIHBhdGNoIHRha2VzIGEgcHJvY2Vzcy1nbG9iYWwKKyAgICAg
ICAgY2FsbGJhY2sgYW5kIGNhbGxzIHRoYXQgaW5zdGVhZC4gVGhpcyBjYWxsYmFjayBpcyBzZXQg
YXQgaW5pdGlhbGl6YXRpb24gdGltZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4K
KworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2F0dGFjaG1l
bnRFbGVtZW50Q2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb248dm9pZCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250Q2FjaGU6OnJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjppbnZhbGlkYXRlQWxsRm9udENhY2hlcyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmg6CisKIDIwMjItMDMtMjggIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVwYXJlIFdlYkNvcmUgZm9y
IG1ha2luZyB0aGUgU3RyaW5nKGNvbnN0IGNoYXIqKSBjb25zdHJ1Y3RvciBleHBsaWNpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKaW5kZXggZDk0ZDNjZDE3YWU1ZmYwNTZiZjZhM2YwYjI5N2JkMGI2YTUxZTdm
MS4uZjczNDNiOWExNmM0NzJiNzc3YjY5NTQwYjExODNiNWVlMDNkZWMzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCkBAIC0zODgsNiArMzg4LDE3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24m
JiBwYWdlQ29uZmlndXJhdGlvbikKIAogICAgIGlmIChtX2xvd1Bvd2VyTW9kZU5vdGlmaWVyLT5p
c0xvd1Bvd2VyTW9kZUVuYWJsZWQoKSkKICAgICAgICAgbV90aHJvdHRsaW5nUmVhc29ucy5hZGQo
VGhyb3R0bGluZ1JlYXNvbjo6TG93UG93ZXJNb2RlKTsKKworICAgIHsKKyAgICAgICAgc3RhdGlj
IHN0ZDo6b25jZV9mbGFnIG9uY2U7CisgICAgICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2UsIFtdIHsK
KyAgICAgICAgICAgIEZvbnRDYWNoZTo6cmVnaXN0ZXJGb250Q2FjaGVJbnZhbGlkYXRpb25DYWxs
YmFjayhbXSB7CisgICAgICAgICAgICAgICAgZm9yRWFjaFBhZ2UoW10oUGFnZSYgcGFnZSkgewor
ICAgICAgICAgICAgICAgICAgICBwYWdlLnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygp
OworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAg
IH0KIH0KIAogUGFnZTo6flBhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXggMTJjZTNlOTZkZDMxMmM2MTNkNjE4MmIwOWQyNzkxNThi
YmY2OWY2Yi4uNDE1NTIxNzViYTQ1OTBmZWI5NmIwODNlM2ZhMTRhMGI2ODA1MzZlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC00ODks
MTIgKzQ4OSwyNiBAQCB2b2lkIEZvbnRDYWNoZTo6aW52YWxpZGF0ZSgpCiAgICAgcHVyZ2VJbmFj
dGl2ZUZvbnREYXRhKCk7CiB9CiAKK3N0YXRpYyBGdW5jdGlvbjx2b2lkKCk+JiBmb250Q2FjaGVJ
bnZhbGlkYXRpb25DYWxsYmFjaygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZ1bmN0
aW9uPHZvaWQoKT4+IGNhbGxiYWNrOworICAgIHJldHVybiBjYWxsYmFjay5nZXQoKTsKK30KKwor
dm9pZCBGb250Q2FjaGU6OnJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soRnVu
Y3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIGZvbnRDYWNoZUludmFsaWRhdGlvbkNh
bGxiYWNrKCkgPSBXVEZNb3ZlKGNhbGxiYWNrKTsKK30KKwogdm9pZCBGb250Q2FjaGU6OmludmFs
aWRhdGVBbGxGb250Q2FjaGVzKCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAg
ICAgLy8gRklYTUU6IEludmFsaWRhdGUgRm9udENhY2hlcyBpbiB3b3JrZXJzIHRvby4KICAgICBG
b250Q2FjaGU6OmZvckN1cnJlbnRUaHJlYWQoKS5pbnZhbGlkYXRlKCk7CisKKyAgICBpZiAoZm9u
dENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soKSkKKyAgICAgICAgZm9udENhY2hlSW52YWxpZGF0
aW9uQ2FsbGJhY2soKSgpOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCA0OWQzMGQ2NDY5YWRmMWY0
YWUwODg2ZWRjZmUyNGYyZWVkNDdkMjQyLi42M2NhNTAxOGQwMDQ4NmIyYjY1YzI3OWMwMjA0ZTFm
MWU1ZjVkZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fj
aGUuaApAQCAtMzI4LDYgKzMyOCw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHNob3J0IGdl
bmVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dlbmVyYXRpb247IH0KICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGludmFsaWRhdGUoKTsKKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlckZvbnRDYWNo
ZUludmFsaWRhdGlvbkNhbGxiYWNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKTsKIAogICAgIFdFQkNP
UkVfRVhQT1JUIHNpemVfdCBmb250Q291bnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455984</attachid>
            <date>2022-03-28 19:56:34 -0700</date>
            <delta_ts>2022-03-28 20:52:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238483-20220328195634.patch</filename>
            <type>text/plain</type>
            <size>3827</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWRjZjgzZmFkYzQ5NWFh
MDY4NjMxNTJjOThmN2U0MTNhNWQ3MzdlNS4uYjA1YmRiMmY5NmQ1YWJiZjA3ZDc1Y2NjZTAxNTU3
ZDQ0NDYxMjRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTAzLTI4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBB
dXRvbWF0aWNhbGx5IHJlbGF5b3V0IHRoZSBwYWdlIHdoZW4gbmV3IGZvbnRzIGFyZSBpbnN0YWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ4
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NDQxMzM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIHRvIGNhbGwgc2V0TmVlZHNS
ZWNhbGNTdHlsZUluQWxsRnJhbWVzIG9uIGV2ZXJ5IFBhZ2Ugd2hlbiB3ZSByZWNlaXZlIGEKKyAg
ICAgICAga0NURm9udE1hbmFnZXJSZWdpc3RlcmVkRm9udHNDaGFuZ2VkTm90aWZpY2F0aW9uLgor
CisgICAgICAgIEZvbnRDYWNoZTo6aW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKSBjYW4ndCBkbyB0
aGlzIGRpcmVjdGx5IGJlY2F1c2UgaXQncyBpbiBwbGF0Zm9ybS8gYW5kCisgICAgICAgIHRoZXJl
Zm9yZSBpc24ndCBhbGxvd2VkIHRvIGtub3cgd2hhdCBQYWdlcyBhcmUuIEluc3RlYWQsIHRoaXMg
cGF0Y2ggdGFrZXMgYSBwcm9jZXNzLWdsb2JhbAorICAgICAgICBjYWxsYmFjayBhbmQgY2FsbHMg
dGhhdCBpbnN0ZWFkLiBUaGlzIGNhbGxiYWNrIGlzIHNldCBhdCBpbml0aWFsaXphdGlvbiB0aW1l
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fYXR0YWNobWVudEVsZW1lbnRDbGllbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGdW5jdGlvbjx2b2lkKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6cmVnaXN0ZXJG
b250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2Fj
aGU6OmludmFsaWRhdGVBbGxGb250Q2FjaGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaDoKKwogMjAyMi0wMy0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFByZXBhcmUgV2ViQ29yZSBmb3IgbWFraW5nIHRoZSBTdHJpbmcoY29u
c3QgY2hhciopIGNvbnN0cnVjdG9yIGV4cGxpY2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBkOTRk
M2NkMTdhZTVmZjA1NmJmNmEzZjBiMjk3YmQwYjZhNTFlN2YxLi5mNzM0M2I5YTE2YzQ3MmI3Nzdi
Njk1NDBiMTE4M2I1ZWUwM2RlYzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTM4OCw2ICszODgs
MTcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQog
CiAgICAgaWYgKG1fbG93UG93ZXJNb2RlTm90aWZpZXItPmlzTG93UG93ZXJNb2RlRW5hYmxlZCgp
KQogICAgICAgICBtX3Rocm90dGxpbmdSZWFzb25zLmFkZChUaHJvdHRsaW5nUmVhc29uOjpMb3dQ
b3dlck1vZGUpOworCisgICAgeworICAgICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZTsK
KyAgICAgICAgc3RkOjpjYWxsX29uY2Uob25jZSwgW10geworICAgICAgICAgICAgRm9udENhY2hl
OjpyZWdpc3RlckZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxiYWNrKFtdIHsKKyAgICAgICAgICAg
ICAgICBmb3JFYWNoUGFnZShbXShQYWdlJiBwYWdlKSB7CisgICAgICAgICAgICAgICAgICAgIHBh
Z2Uuc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiBQYWdlOjp+UGFnZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRl
eCAxMmNlM2U5NmRkMzEyYzYxM2Q2MTgyYjA5ZDI3OTE1OGJiZjY5ZjZiLi40MTU1MjE3NWJhNDU5
MGZlYjk2YjA4M2UzZmExNGEwYjY4MDUzNmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTQ4OSwxMiArNDg5LDI2IEBAIHZvaWQgRm9u
dENhY2hlOjppbnZhbGlkYXRlKCkKICAgICBwdXJnZUluYWN0aXZlRm9udERhdGEoKTsKIH0KIAor
c3RhdGljIEZ1bmN0aW9uPHZvaWQoKT4mIGZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxiYWNrKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RnVuY3Rpb248dm9pZCgpPj4gY2FsbGJhY2s7
CisgICAgcmV0dXJuIGNhbGxiYWNrLmdldCgpOworfQorCit2b2lkIEZvbnRDYWNoZTo6cmVnaXN0
ZXJGb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjayhGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJh
Y2spCit7CisgICAgZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soKSA9IFdURk1vdmUoY2Fs
bGJhY2spOworfQorCiB2b2lkIEZvbnRDYWNoZTo6aW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKQog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKICAgICAvLyBGSVhNRTogSW52YWxpZGF0
ZSBGb250Q2FjaGVzIGluIHdvcmtlcnMgdG9vLgogICAgIEZvbnRDYWNoZTo6Zm9yQ3VycmVudFRo
cmVhZCgpLmludmFsaWRhdGUoKTsKKworICAgIGlmIChmb250Q2FjaGVJbnZhbGlkYXRpb25DYWxs
YmFjaygpKQorICAgICAgICBmb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjaygpKCk7CiB9CiAK
ICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oCmluZGV4IDQ5ZDMwZDY0NjlhZGYxZjRhZTA4ODZlZGNmZTI0ZjJlZWQ0N2Qy
NDIuLjYzY2E1MDE4ZDAwNDg2YjJiNjVjMjc5YzAyMDRlMWYxZTVmNWRkZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC0zMjgsNiArMzI4LDcg
QEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgc2hvcnQgZ2VuZXJhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fZ2VuZXJhdGlvbjsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52YWxpZGF0ZSgp
OworICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2so
RnVuY3Rpb248dm9pZCgpPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBpbnZh
bGlkYXRlQWxsRm9udENhY2hlcygpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgc2l6ZV90IGZvbnRD
b3VudCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455985</attachid>
            <date>2022-03-28 20:52:04 -0700</date>
            <delta_ts>2022-03-28 22:03:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238483-20220328205203.patch</filename>
            <type>text/plain</type>
            <size>6567</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWRjZjgzZmFkYzQ5NWFh
MDY4NjMxNTJjOThmN2U0MTNhNWQ3MzdlNS4uMDEzYmQ2MTAzYmMyZDRkOTNkZTQ4NmM4ZDBhYTQ3
NDBlMmQ3Njk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTAzLTI4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBB
dXRvbWF0aWNhbGx5IHJlbGF5b3V0IHRoZSBwYWdlIHdoZW4gbmV3IGZvbnRzIGFyZSBpbnN0YWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ4
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NDQxMzM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBzaW1wbHkgY2FsbHMgc2V0
TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzIG9uIGV2ZXJ5IFBhZ2Ugd2hlbiB3ZSByZWNlaXZl
IGEKKyAgICAgICAga0NURm9udE1hbmFnZXJSZWdpc3RlcmVkRm9udHNDaGFuZ2VkTm90aWZpY2F0
aW9uLgorCisgICAgICAgIEZvbnRDYWNoZTo6aW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKSBjYW4n
dCBkbyB0aGlzIGRpcmVjdGx5IGJlY2F1c2UgaXQncyBpbiBwbGF0Zm9ybS8gYW5kCisgICAgICAg
IHRoZXJlZm9yZSBpc24ndCBhbGxvd2VkIHRvIGtub3cgd2hhdCBQYWdlcyBhcmUuIEluc3RlYWQs
IHRoaXMgcGF0Y2ggdGFrZXMgYSBwcm9jZXNzLWdsb2JhbAorICAgICAgICBjYWxsYmFjayBhbmQg
Y2FsbHMgdGhhdCBpbnN0ZWFkLiBUaGlzIGNhbGxiYWNrIGlzIHNldCBhdCBpbml0aWFsaXphdGlv
biB0aW1lLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVj
YWxjLmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpt
X2F0dGFjaG1lbnRFbGVtZW50Q2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb248dm9pZCk6CisgICAgICAg
IChXZWJDb3JlOjpGb250Q2FjaGU6OnJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjppbnZhbGlkYXRlQWxsRm9udENhY2hl
cyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmg6CisKIDIwMjItMDMt
MjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVwYXJlIFdl
YkNvcmUgZm9yIG1ha2luZyB0aGUgU3RyaW5nKGNvbnN0IGNoYXIqKSBjb25zdHJ1Y3RvciBleHBs
aWNpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZDk0ZDNjZDE3YWU1ZmYwNTZiZjZhM2YwYjI5N2Jk
MGI2YTUxZTdmMS4uNGFmMjYyNjMzOGQ1NDk1MWJkN2FjYWNmZWMzMTJiYzA3MGYxYTZkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCkBAIC0zODgsNiArMzg4LDE4IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZp
Z3VyYXRpb24mJiBwYWdlQ29uZmlndXJhdGlvbikKIAogICAgIGlmIChtX2xvd1Bvd2VyTW9kZU5v
dGlmaWVyLT5pc0xvd1Bvd2VyTW9kZUVuYWJsZWQoKSkKICAgICAgICAgbV90aHJvdHRsaW5nUmVh
c29ucy5hZGQoVGhyb3R0bGluZ1JlYXNvbjo6TG93UG93ZXJNb2RlKTsKKworICAgIHsKKyAgICAg
ICAgc3RhdGljIGJvb2wgZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2tSZWdpc3RlcmVkID0g
ZmFsc2U7CisgICAgICAgIGlmICghZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2tSZWdpc3Rl
cmVkKSB7CisgICAgICAgICAgICBGb250Q2FjaGU6OnJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0
aW9uQ2FsbGJhY2soW10geworICAgICAgICAgICAgICAgIGZvckVhY2hQYWdlKFtdKFBhZ2UmIHBh
Z2UpIHsKKyAgICAgICAgICAgICAgICAgICAgcGFnZS5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxG
cmFtZXMoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2tSZWdpc3RlcmVkID0gdHJ1ZTsKKyAgICAg
ICAgfQorICAgIH0KIH0KIAogUGFnZTo6flBhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXggMTJjZTNlOTZkZDMxMmM2MTNkNjE4MmIw
OWQyNzkxNThiYmY2OWY2Yi4uNDE1NTIxNzViYTQ1OTBmZWI5NmIwODNlM2ZhMTRhMGI2ODA1MzZl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3Bw
CkBAIC00ODksMTIgKzQ4OSwyNiBAQCB2b2lkIEZvbnRDYWNoZTo6aW52YWxpZGF0ZSgpCiAgICAg
cHVyZ2VJbmFjdGl2ZUZvbnREYXRhKCk7CiB9CiAKK3N0YXRpYyBGdW5jdGlvbjx2b2lkKCk+JiBm
b250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjaygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEZ1bmN0aW9uPHZvaWQoKT4+IGNhbGxiYWNrOworICAgIHJldHVybiBjYWxsYmFjay5nZXQo
KTsKK30KKwordm9pZCBGb250Q2FjaGU6OnJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2Fs
bGJhY2soRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIGZvbnRDYWNoZUludmFs
aWRhdGlvbkNhbGxiYWNrKCkgPSBXVEZNb3ZlKGNhbGxiYWNrKTsKK30KKwogdm9pZCBGb250Q2Fj
aGU6OmludmFsaWRhdGVBbGxGb250Q2FjaGVzKCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogCiAgICAgLy8gRklYTUU6IEludmFsaWRhdGUgRm9udENhY2hlcyBpbiB3b3JrZXJzIHRv
by4KICAgICBGb250Q2FjaGU6OmZvckN1cnJlbnRUaHJlYWQoKS5pbnZhbGlkYXRlKCk7CisKKyAg
ICBpZiAoZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soKSkKKyAgICAgICAgZm9udENhY2hl
SW52YWxpZGF0aW9uQ2FsbGJhY2soKSgpOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCA0OWQzMGQ2
NDY5YWRmMWY0YWUwODg2ZWRjZmUyNGYyZWVkNDdkMjQyLi42M2NhNTAxOGQwMDQ4NmIyYjY1YzI3
OWMwMjA0ZTFmMWU1ZjVkZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaApAQCAtMzI4LDYgKzMyOCw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVk
IHNob3J0IGdlbmVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dlbmVyYXRpb247IH0KICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGludmFsaWRhdGUoKTsKKyAgICBzdGF0aWMgdm9pZCByZWdpc3Rl
ckZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxiYWNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHNpemVfdCBmb250Q291bnQoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NDVkODcyZGYw
ZTFiNDMzZTMyNTgzYmYwNzJjN2Y1OWYyMGM5MjJhLi45Y2NkODBiMzQzNWFhOWQyN2JmYTA5MWY3
NzA1N2ZjYmIwNTM2ZmRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDMtMjggIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEF1
dG9tYXRpY2FsbHkgcmVsYXlvdXQgdGhlIHBhZ2Ugd2hlbiBuZXcgZm9udHMgYXJlIGluc3RhbGxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDgz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDU0NDEzMz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC9pbnN0YWxsLWZvbnQtc3R5
bGUtcmVjYWxjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2luc3Rh
bGwtZm9udC1zdHlsZS1yZWNhbGMuaHRtbDogQWRkZWQuCisKIDIwMjItMDMtMjggIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJp
ZXNdIEFub3RoZXIgV1BUIGltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE1ZjAxZDhhMDM4NTFkZjUyMWYwZTdlYjYwZWE4OWJiMDEzM2YwM2QKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW5zdGFsbC1mb250LXN0eWxlLXJlY2FsYy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpbnN0
YWxsaW5nIGEgZm9udCBjYXVzZXMgYSBzdHlsZSByZWNhbGMuIFRoZSB0ZXN0IG9ubHkgcnVucyBp
biBEdW1wUmVuZGVyVHJlZS9XZWJLaXRUZXN0UnVubmVyLiBJdCBwYXNzZXMgaWYgdGhlIHRleHQg
YWJvdmUgaXMgcmVuZGVyZWQgYXMgYmxhY2sgYm94ZXMgKGFrYSBpbiBBaGVtKS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGFyZ2V0Lm9mZnNldFdpZHRoIGJlY2FtZSAy
MDAKK1BBU1MgVGhlIGZvbnQgd2FzIHVzZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKK3JycnIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVjYWxjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvaW5zdGFsbC1mb250LXN0eWxlLXJlY2FsYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOWVmZDBiMmVl
ZjkxMjY2NGFiZTJjNDE2YmVkMjdhYjg2MTkwOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvaW5zdGFsbC1mb250LXN0eWxlLXJlY2FsYy5odG1sCkBAIC0wLDAgKzEs
MjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c3BhbiBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udDogNTBweCAnSGVsdmV0aWNhMic7Ij5ycnJyPC9z
cGFuPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGlu
c3RhbGxpbmcgYSBmb250IGNhdXNlcyBhIHN0eWxlIHJlY2FsYy4gVGhlIHRlc3Qgb25seSBydW5z
IGluIER1bXBSZW5kZXJUcmVlL1dlYktpdFRlc3RSdW5uZXIuIEl0IHBhc3NlcyBpZiB0aGUgdGV4
dCBhYm92ZSBpcyByZW5kZXJlZCBhcyBibGFjayBib3hlcyAoYWthIGluIEFoZW0pLiIpOword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKTsKK3RhcmdldC5vZmZzZXRXaWR0aDsgLy8gRm9yY2UgYSBmb250IGxv
b2t1cAoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuaW5zdGFsbEZha2VI
ZWx2ZXRpY2EoIkhlbHZldGljYTItNDAwIik7CitzaG91bGRCZWNvbWVFcXVhbCgidGFyZ2V0Lm9m
ZnNldFdpZHRoIiwgIjIwMCIsIGZ1bmN0aW9uKCkgeworICAgIHRlc3RQYXNzZWQoIlRoZSBmb250
IHdhcyB1c2VkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="484137"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="484143"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456444</attachid>
            <date>2022-04-01 21:44:22 -0700</date>
            <delta_ts>2022-04-02 00:11:38 -0700</delta_ts>
            <desc>Patch for relanding</desc>
            <filename>bug-238483-20220401214421.patch</filename>
            <type>text/plain</type>
            <size>12801</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY0NmIyY2VkNDNiYTlm
Nzk3Yjk1NjU4MzdjZDJiZjZlMjM2ZTU4Zi4uNThjMDIxZWUxYjMwOWY2OWYyMDg2ODM5MTc2N2My
OTNjOTVjMmViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTA0LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBB
dXRvbWF0aWNhbGx5IHJlbGF5b3V0IHRoZSBwYWdlIHdoZW4gbmV3IGZvbnRzIGFyZSBpbnN0YWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ4
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NDQxMzM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVGhpcyBwYXRjaCBzaW1wbHkgY2FsbHMgc2V0TmVl
ZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzIG9uIGV2ZXJ5IFBhZ2Ugd2hlbiB3ZSByZWNlaXZlIGEK
KyAgICAgICAga0NURm9udE1hbmFnZXJSZWdpc3RlcmVkRm9udHNDaGFuZ2VkTm90aWZpY2F0aW9u
LgorCisgICAgICAgIEZvbnRDYWNoZTo6aW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKSBjYW4ndCBk
byB0aGlzIGRpcmVjdGx5IGJlY2F1c2UgaXQncyBpbiBwbGF0Zm9ybS8gYW5kCisgICAgICAgIHRo
ZXJlZm9yZSBpc24ndCBhbGxvd2VkIHRvIGtub3cgd2hhdCBQYWdlcyBhcmUuIEluc3RlYWQsIHRo
aXMgcGF0Y2ggdGFrZXMgYSBwcm9jZXNzLWdsb2JhbAorICAgICAgICBjYWxsYmFjayBhbmQgY2Fs
bHMgdGhhdCBpbnN0ZWFkLiBUaGlzIGNhbGxiYWNrIGlzIHNldCBhdCBpbml0aWFsaXphdGlvbiB0
aW1lLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVjYWxj
Lmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2Nv
bnRlbnRTZWN1cml0eVBvbGljeU1vZGVGb3JFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6Zmlyc3RUaW1lSW5pdGlhbGl6YXRpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGdW5jdGlvbjx2b2lkKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6cmVnaXN0
ZXJGb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250
Q2FjaGU6OmludmFsaWRhdGVBbGxGb250Q2FjaGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuaDoKKwogMjAyMi0wNC0wMSAgSmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgV0tCdW5kbGVQYWdlVUlDbGllbnQgY29uc29sZSBtZXNzYWdlIHN1
cHBvcnQgc2hvdWxkIGluY2x1ZGUgc291cmNlIFVSTCwgY29sdW1uIG51bWJlciwgYW5kIGNvbnNv
bGUgbWVzc2FnZXMgd2l0aCBhcmd1bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDFkMDMxMjVk
YzUyMmQ2ZTc2NjhkOGQwODk0OTAwZTM0NjgyOGIwMzEuLjA0ODJjMWMwZTVlOTc3NTI1ODdmMzBm
NjY4MjgzZjVkZmIyM2FmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMzU2LDEwICszNTYsMTAg
QEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maWd1cmF0aW9uKQogICAg
IG1fdXNlckNvbnRlbnRQcm92aWRlci0+YWRkUGFnZSgqdGhpcyk7CiAgICAgbV92aXNpdGVkTGlu
a1N0b3JlLT5hZGRQYWdlKCp0aGlzKTsKIAotICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVuZXI7
Ci0gICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7Ci0gICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygp
LT5sb2FkZXJTdHJhdGVneSgpLT5hZGRPbmxpbmVTdGF0ZUNoYW5nZUxpc3RlbmVyKCZuZXR3b3Jr
U3RhdGVDaGFuZ2VkKTsKLSAgICAgICAgYWRkZWRMaXN0ZW5lciA9IHRydWU7CisgICAgc3RhdGlj
IGJvb2wgZmlyc3RUaW1lSW5pdGlhbGl6YXRpb25SYW4gPSBmYWxzZTsKKyAgICBpZiAoIWZpcnN0
VGltZUluaXRpYWxpemF0aW9uUmFuKSB7CisgICAgICAgIGZpcnN0VGltZUluaXRpYWxpemF0aW9u
KCk7CisgICAgICAgIGZpcnN0VGltZUluaXRpYWxpemF0aW9uUmFuID0gdHJ1ZTsKICAgICB9CiAK
ICAgICBBU1NFUlQoIWFsbFBhZ2VzKCkuY29udGFpbnModGhpcykpOwpAQCAtNDMzLDYgKzQzMywx
NyBAQCBQYWdlOjp+UGFnZSgpCiAgICAgbV92aXNpdGVkTGlua1N0b3JlLT5yZW1vdmVQYWdlKCp0
aGlzKTsKIH0KIAordm9pZCBQYWdlOjpmaXJzdFRpbWVJbml0aWFsaXphdGlvbigpCit7CisgICAg
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmFkZE9ubGluZVN0YXRlQ2hh
bmdlTGlzdGVuZXIoJm5ldHdvcmtTdGF0ZUNoYW5nZWQpOworCisgICAgRm9udENhY2hlOjpyZWdp
c3RlckZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxiYWNrKFtdIHsKKyAgICAgICAgZm9yRWFjaFBh
Z2UoW10oYXV0byYgcGFnZSkgeworICAgICAgICAgICAgcGFnZS5zZXROZWVkc1JlY2FsY1N0eWxl
SW5BbGxGcmFtZXMoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKIHZvaWQgUGFnZTo6Y2xl
YXJQcmV2aW91c0l0ZW1Gcm9tQWxsUGFnZXMoSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7CiAgICAgZm9y
IChhdXRvKiBwYWdlIDogYWxsUGFnZXMoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBmNGY5NTIyMzYz
M2ZlYzdmYzQ2OWVhMmQ1YTZhN2E0MDJlMGJmN2M3Li5mNjdkYWFjMGZlMzhkNDAzYzU5ZDcxMWEx
Njk4NzQ5ZWViOTc1ZWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtOTY1LDYgKzk2NSw4IEBAIHByaXZh
dGU6CiAgICAgfTsKICAgICB2b2lkIGxvZ05hdmlnYXRpb24oY29uc3QgTmF2aWdhdGlvbiYpOwog
CisgICAgdm9pZCBmaXJzdFRpbWVJbml0aWFsaXphdGlvbigpOworCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBpbml0R3JvdXAoKTsKIAogICAgIHZvaWQgc2V0SXNJbldpbmRvd0ludGVybmFsKGJv
b2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAK
aW5kZXggMTJjZTNlOTZkZDMxMmM2MTNkNjE4MmIwOWQyNzkxNThiYmY2OWY2Yi4uNDE1NTIxNzVi
YTQ1OTBmZWI5NmIwODNlM2ZhMTRhMGI2ODA1MzZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC00ODksMTIgKzQ4OSwyNiBAQCB2b2lk
IEZvbnRDYWNoZTo6aW52YWxpZGF0ZSgpCiAgICAgcHVyZ2VJbmFjdGl2ZUZvbnREYXRhKCk7CiB9
CiAKK3N0YXRpYyBGdW5jdGlvbjx2b2lkKCk+JiBmb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFj
aygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZ1bmN0aW9uPHZvaWQoKT4+IGNhbGxi
YWNrOworICAgIHJldHVybiBjYWxsYmFjay5nZXQoKTsKK30KKwordm9pZCBGb250Q2FjaGU6OnJl
Z2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soRnVuY3Rpb248dm9pZCgpPiYmIGNh
bGxiYWNrKQoreworICAgIGZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxiYWNrKCkgPSBXVEZNb3Zl
KGNhbGxiYWNrKTsKK30KKwogdm9pZCBGb250Q2FjaGU6OmludmFsaWRhdGVBbGxGb250Q2FjaGVz
KCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgLy8gRklYTUU6IEludmFs
aWRhdGUgRm9udENhY2hlcyBpbiB3b3JrZXJzIHRvby4KICAgICBGb250Q2FjaGU6OmZvckN1cnJl
bnRUaHJlYWQoKS5pbnZhbGlkYXRlKCk7CisKKyAgICBpZiAoZm9udENhY2hlSW52YWxpZGF0aW9u
Q2FsbGJhY2soKSkKKyAgICAgICAgZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soKSgpOwog
fQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuaAppbmRleCA0OWQzMGQ2NDY5YWRmMWY0YWUwODg2ZWRjZmUyNGYyZWVk
NDdkMjQyLi42M2NhNTAxOGQwMDQ4NmIyYjY1YzI3OWMwMjA0ZTFmMWU1ZjVkZGUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtMzI4LDYgKzMy
OCw3IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIHNob3J0IGdlbmVyYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2dlbmVyYXRpb247IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGludmFsaWRh
dGUoKTsKKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlckZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxi
YWNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQg
aW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHNpemVfdCBm
b250Q291bnQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA1YWVmYzk4ZGExZjg4NDQ5ZGZmZDIxNTgwODFlYzgxNTQzMzYyMDZiLi42MDAwZjlm
ZWVmOWY4NmRhOWZhZTExZThlNjJiMzIxOTdlOTEwYTMwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjItMDQtMDEg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29j
b2FdIEF1dG9tYXRpY2FsbHkgcmVsYXlvdXQgdGhlIHBhZ2Ugd2hlbiBuZXcgZm9udHMgYXJlIGlu
c3RhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM4NDgzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDU0NDEzMz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBNYWtlIFRlc3RSdW5uZXI6OmR1bXBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzKCkgY2xlYXIgYW55IGN1cnJlbnRseS1yZWNvcmRlZCBzdGF0aXN0
aWNzLgorICAgICAgICBUaGlzIGF2b2lkcyB0aGUgcHJvYmxlbSB3aGVyZSBzcHVyaW91cyBsYXlv
dXRzIGR1cmluZyB0aGUgdGltZSB3aGVuIHRoZSBwYWdlIGhhcyBiZWVuIGNyZWF0ZWQgYnV0Cisg
ICAgICAgIGJlZm9yZSB0aGUgdGVzdCBoYXMgYmVndW4gcmVjb3JkIGlycmVsZXZhbnQgc3RhdGlz
dGljcy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5n
KToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmNsZWFyUmVzb3VyY2VMb2FkU3RhdGlz
dGljcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzKToKKwogMjAyMi0wNC0wMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KIAogICAgICAgICBBdm9pZCBpbml0aWFsaXppbmcgZGVmYXVsdCBXS1dlYnNpdGVEYXRhU3Rv
cmUgaW4gLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRoWm9uZV0KZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKaW5kZXggNWQ0MmFjZTU3MjAzMmM5YTJjOTVlZGM4MDc2NjgyYTk5ZWNkYTdkNS4uNDU3Mjc2
MmI0YjlkZGQxYWY2NDQ2OWI3NDQ2NTJjMWU4ZTk2ODI4YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAg
LTU0Myw3ICs1NDMsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0
aW9uYXJ5UmVmIHNldHRpbmdzLCBCZWdpbmdUZXN0aW5nTW9kZSB0ZQogICAgIFdLQnVuZGxlQ2xl
YXJBbGxEYXRhYmFzZXMobV9idW5kbGUuZ2V0KCkpOwogICAgIFdLQnVuZGxlUGFnZUNsZWFyQXBw
bGljYXRpb25DYWNoZShwYWdlKCktPnBhZ2UoKSk7CiAgICAgV0tCdW5kbGVSZXNldE9yaWdpbkFj
Y2Vzc0FsbG93TGlzdHMobV9idW5kbGUuZ2V0KCkpOwotICAgIFdLQnVuZGxlQ2xlYXJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzKG1fYnVuZGxlLmdldCgpKTsKKyAgICBjbGVhclJlc291cmNlTG9hZFN0
YXRpc3RpY3MoKTsKIAogICAgIC8vIFtXSzJdIFJFR1JFU1NJT04ocjEyODYyMyk6IEl0IG1hZGUg
bGF5b3V0IHRlc3RzIGV4dHJlbWVseSBzbG93CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk2ODYyCkBAIC01NzYsNiArNTc2LDExIEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OmRvbmUoKQogICAgIG1fc3RhdGUgPSBJZGxlOwogfQogCit2b2lkIEluamVjdGVk
QnVuZGxlOjpjbGVhclJlc291cmNlTG9hZFN0YXRpc3RpY3MoKQoreworICAgIFdLQnVuZGxlQ2xl
YXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKG1fYnVuZGxlLmdldCgpKTsKK30KKwogdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6ZHVtcEJhY2tGb3J3YXJkTGlzdHNGb3JBbGxQYWdlcyhTdHJpbmdCdWlsZGVy
JiBzdHJpbmdCdWlsZGVyKQogewogICAgIHNpemVfdCBzaXplID0gbV9wYWdlcy5zaXplKCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmgKaW5kZXggNDBmZTZhOWVjNTgyNDNkYjA5OTIyZWYzMzQ0NTMxNjJmNWEzZjI4YS4u
YTdkNzNjNTYwZmY4MjA0ZTQ3YWQ5YzdiYTUxNGZmN2IxOTc4NmZhMiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApA
QCAtMTUwLDYgKzE1MCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGluY3JlYXNlVXNlclNjcmlwdElu
amVjdGVkQ291bnQoKSB7ICsrbV91c2VyU2NyaXB0SW5qZWN0ZWRDb3VudDsgfQogICAgIHNpemVf
dCB1c2VyU2NyaXB0SW5qZWN0ZWRDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlclNjcmlwdElu
amVjdGVkQ291bnQ7IH0KIAorICAgIHZvaWQgY2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7
CisKIHByaXZhdGU6CiAgICAgSW5qZWN0ZWRCdW5kbGUoKSA9IGRlZmF1bHQ7CiAgICAgfkluamVj
dGVkQnVuZGxlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBlZDczYzM5NWQwNjQyOGFkNTUxNDJmN2E5YTJhM2I3
ZTljMjM3YjVlLi5kOTQ1MWQ0NDI4MDEzNmZhYmFiYzA3MDM3MzNkMzMwMjk3MDEzYjA4IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHAKQEAgLTEzNDYsNiArMTM0Niw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c3RhdGlzdGljc0Nh
bGxEaWRTZXRWZXJ5UHJldmFsZW50UmVzb3VyY2VDYWxsYmFjaygpCiAgICAgCiB2b2lkIFRlc3RS
dW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCkKIHsKKyAgICBJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuY2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7CiAgICAgcG9zdFN5
bmNocm9ub3VzUGFnZU1lc3NhZ2UoImR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIik7CiB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0YTUwNmU4ZTUxNGVmNWIxMDU5OGFmODE4ZDU4ODI2NmMyOTZjZmY2Li44NTU2NDNk
MTI5MTMxYjUxMjM1NTVmODNlYjk1NWIyMDFkZmE0Yjc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMjItMDQtMDEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ29jb2FdIEF1dG9tYXRpY2FsbHkgcmVsYXlvdXQgdGhlIHBhZ2Ugd2hlbiBuZXcg
Zm9udHMgYXJlIGluc3RhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM4NDgzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDU0NDEzMz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIFRlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogZmFzdC90ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvaW5zdGFsbC1mb250LXN0eWxl
LXJlY2FsYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMi0w
NC0wMSAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUy1jb250
YWluXSBVcGRhdGUgc2VsZWN0IGVsZW1lbnQgZmFpbHVyZXMgd2l0aCBidWd6aWxsYSBsaW5rLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggN2YyZDMzYTY5YTE2MzhkZDU1NjNjNGU4NjExNDJjMjViOTIx
OTEyNy4uZTdlYjgxYjFjMGZkNWUzNDEyMTk2OWY3MGFhNmNlYjE4NjY1MzcxNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC01MjA3LDMgKzUyMDcsNiBAQCBmYXN0L3RleHQvYWNjZXNzaWJpbGl0eS1i
b2xkLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogCiAjIE9ubHkgY2VydGFpbiBwb3J0
cyBoYXZlIFdlYkdQVSBpbXBsZW1lbnRhdGlvbnMuCiBodHRwL3Rlc3RzL3dlYmdwdSBbIEZhaWx1
cmUgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIFRpbWVvdXQgXQorCisjIE9ubHkgc29tZSBwb3J0cyBh
dXRvbWF0aWNhbGx5IHJlbGF5b3V0IGlmIGEgZm9udCBpcyBpbnN0YWxsZWQgd2hpbGUgdGhlIHBh
Z2UgaXMgb3BlbgorZmFzdC90ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMuaHRtbCBbIEZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2luc3RhbGwtZm9udC1z
dHlsZS1yZWNhbGMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2luc3RhbGwt
Zm9udC1zdHlsZS1yZWNhbGMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZjAxZDhhMDM4NTFk
ZjUyMWYwZTdlYjYwZWE4OWJiMDEzM2YwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvaW5zdGFsbC1mb250LXN0eWxlLXJlY2FsYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpbnN0YWxsaW5nIGEgZm9udCBj
YXVzZXMgYSBzdHlsZSByZWNhbGMuIFRoZSB0ZXN0IG9ubHkgcnVucyBpbiBEdW1wUmVuZGVyVHJl
ZS9XZWJLaXRUZXN0UnVubmVyLiBJdCBwYXNzZXMgaWYgdGhlIHRleHQgYWJvdmUgaXMgcmVuZGVy
ZWQgYXMgYmxhY2sgYm94ZXMgKGFrYSBpbiBBaGVtKS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgdGFyZ2V0Lm9mZnNldFdpZHRoIGJlY2FtZSAyMDAKK1BBU1MgVGhlIGZv
bnQgd2FzIHVzZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK3JycnIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnN0YWxsLWZv
bnQtc3R5bGUtcmVjYWxjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW5zdGFsbC1mb250
LXN0eWxlLXJlY2FsYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2MzJkZTkzYWE3NWQwYTU3NzgzYjQ3NTZm
MzMyZThmNDExYzA2NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
aW5zdGFsbC1mb250LXN0eWxlLXJlY2FsYy5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzcGFuIGlkPSJ0YXJnZXQiIHN0
eWxlPSJmb250OiA1MHB4ICdIZWx2ZXRpY2EyJzsiPnJycnI8L3NwYW4+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaW5zdGFsbGluZyBhIGZvbnQgY2F1
c2VzIGEgc3R5bGUgcmVjYWxjLiBUaGUgdGVzdCBvbmx5IHJ1bnMgaW4gRHVtcFJlbmRlclRyZWUv
V2ViS2l0VGVzdFJ1bm5lci4gSXQgcGFzc2VzIGlmIHRoZSB0ZXh0IGFib3ZlIGlzIHJlbmRlcmVk
IGFzIGJsYWNrIGJveGVzIChha2EgaW4gQWhlbSkuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CitsZXQgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOwor
dGFyZ2V0Lm9mZnNldFdpZHRoOyAvLyBGb3JjZSBhIGZvbnQgbG9va3VwCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhlbHZldGljYSgiSGVsdmV0aWNh
Mi00MDAiKTsKK3Nob3VsZEJlY29tZUVxdWFsKCJ0YXJnZXQub2Zmc2V0V2lkdGgiLCAiMjAwIiwg
ZnVuY3Rpb24oKSB7CisgICAgdGVzdFBhc3NlZCgiVGhlIGZvbnQgd2FzIHVzZWQuIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0NjY5MGY0M2ZmYWU5YWFk
YTU0Zjc3ZTIzZmIwYjVjNTQzYjI0NjY3Li5jMDZhNjlhNmNjOGIwOWU5NWEyNmM5NWNlNDA0YjVi
YWZlOTM1OTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzU2MywzICszNTYzLDUgQEAgZmFzdC90ZXh0L2FjY2Vzc2liaWxpdHktYm9sZC5odG1sIFsg
U2tpcCBdCiAKICMgaU9TIGhhcyBhIFdlYkdQVSBpbXBsZW1lbnRhdGlvbi4KIGh0dHAvdGVzdHMv
d2ViZ3B1IFsgUGFzcyBdCisKK2Zhc3QvdGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVjYWxjLmh0
bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZmU3NGVmYjM0ZDYxMGNlYmQ0ZWVjNjBkZjAyMjQxZWUwNDdmMGM3OC4uMzQ3Y2RkYTQyNGY1
NDg1ODk2NDBhMTA4NzVlMThmOWE0NjZkNzdhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0MTUsMyArMjQxNSw1IEBAIGZhc3QvdGV4dC9hY2Nlc3Np
YmlsaXR5LWJvbGQuaHRtbCBbIFNraXAgXQogCiAjIG1hY09TIGhhcyBhIFdlYkdQVSBpbXBsZW1l
bnRhdGlvbi4KIGh0dHAvdGVzdHMvd2ViZ3B1IFsgUGFzcyBdCisKK2Zhc3QvdGV4dC9pbnN0YWxs
LWZvbnQtc3R5bGUtcmVjYWxjLmh0bWwgWyBQYXNzIF0K
</data>
<flag name="commit-queue"
          id="484739"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456453</attachid>
            <date>2022-04-02 00:11:23 -0700</date>
            <delta_ts>2022-04-02 00:11:23 -0700</delta_ts>
            <desc>Patch for relanding</desc>
            <filename>bug-238483-20220402001123.patch</filename>
            <type>text/plain</type>
            <size>12983</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUyNjg0NWYxM2FhYWE2
NjNlZDYxM2FhNTVjM2Q2YmE2Njk2MzI5YS4uMDZmY2JmMDIyZjhlZGNhMTc2Mjk5M2Y3ZmEwYTQw
YWZmMzQ5YTc5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTA0LTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBB
dXRvbWF0aWNhbGx5IHJlbGF5b3V0IHRoZSBwYWdlIHdoZW4gbmV3IGZvbnRzIGFyZSBpbnN0YWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ4
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA1NDQxMzM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVGhpcyBwYXRjaCBzaW1wbHkgY2FsbHMgc2V0TmVl
ZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzIG9uIGV2ZXJ5IFBhZ2Ugd2hlbiB3ZSByZWNlaXZlIGEK
KyAgICAgICAga0NURm9udE1hbmFnZXJSZWdpc3RlcmVkRm9udHNDaGFuZ2VkTm90aWZpY2F0aW9u
LgorCisgICAgICAgIEZvbnRDYWNoZTo6aW52YWxpZGF0ZUFsbEZvbnRDYWNoZXMoKSBjYW4ndCBk
byB0aGlzIGRpcmVjdGx5IGJlY2F1c2UgaXQncyBpbiBwbGF0Zm9ybS8gYW5kCisgICAgICAgIHRo
ZXJlZm9yZSBpc24ndCBhbGxvd2VkIHRvIGtub3cgd2hhdCBQYWdlcyBhcmUuIEluc3RlYWQsIHRo
aXMgcGF0Y2ggdGFrZXMgYSBwcm9jZXNzLWdsb2JhbAorICAgICAgICBjYWxsYmFjayBhbmQgY2Fs
bHMgdGhhdCBpbnN0ZWFkLiBUaGlzIGNhbGxiYWNrIGlzIHNldCBhdCBpbml0aWFsaXphdGlvbiB0
aW1lLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVjYWxj
Lmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2Nv
bnRlbnRTZWN1cml0eVBvbGljeU1vZGVGb3JFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6Zmlyc3RUaW1lSW5pdGlhbGl6YXRpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGdW5jdGlvbjx2b2lkKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6cmVnaXN0
ZXJGb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250
Q2FjaGU6OmludmFsaWRhdGVBbGxGb250Q2FjaGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuaDoKKwogMjAyMi0wNC0wMSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2Zm
QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIGNvcHlpbmcgU3RhZ2VkRnJhbWV3b3JrcyB0byB0
aGUgc2Vjb25kYXJ5IHBhdGggYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggMWQwMzEy
NWRjNTIyZDZlNzY2OGQ4ZDA4OTQ5MDBlMzQ2ODI4YjAzMS4uMDQ4MmMxYzBlNWU5Nzc1MjU4N2Yz
MGY2NjgyODNmNWRmYjIzYWZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0zNTYsMTAgKzM1Niwx
MCBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAg
ICAgbV91c2VyQ29udGVudFByb3ZpZGVyLT5hZGRQYWdlKCp0aGlzKTsKICAgICBtX3Zpc2l0ZWRM
aW5rU3RvcmUtPmFkZFBhZ2UoKnRoaXMpOwogCi0gICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5l
cjsKLSAgICBpZiAoIWFkZGVkTGlzdGVuZXIpIHsKLSAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVz
KCktPmxvYWRlclN0cmF0ZWd5KCktPmFkZE9ubGluZVN0YXRlQ2hhbmdlTGlzdGVuZXIoJm5ldHdv
cmtTdGF0ZUNoYW5nZWQpOwotICAgICAgICBhZGRlZExpc3RlbmVyID0gdHJ1ZTsKKyAgICBzdGF0
aWMgYm9vbCBmaXJzdFRpbWVJbml0aWFsaXphdGlvblJhbiA9IGZhbHNlOworICAgIGlmICghZmly
c3RUaW1lSW5pdGlhbGl6YXRpb25SYW4pIHsKKyAgICAgICAgZmlyc3RUaW1lSW5pdGlhbGl6YXRp
b24oKTsKKyAgICAgICAgZmlyc3RUaW1lSW5pdGlhbGl6YXRpb25SYW4gPSB0cnVlOwogICAgIH0K
IAogICAgIEFTU0VSVCghYWxsUGFnZXMoKS5jb250YWlucyh0aGlzKSk7CkBAIC00MzMsNiArNDMz
LDE3IEBAIFBhZ2U6On5QYWdlKCkKICAgICBtX3Zpc2l0ZWRMaW5rU3RvcmUtPnJlbW92ZVBhZ2Uo
KnRoaXMpOwogfQogCit2b2lkIFBhZ2U6OmZpcnN0VGltZUluaXRpYWxpemF0aW9uKCkKK3sKKyAg
ICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+YWRkT25saW5lU3RhdGVD
aGFuZ2VMaXN0ZW5lcigmbmV0d29ya1N0YXRlQ2hhbmdlZCk7CisKKyAgICBGb250Q2FjaGU6OnJl
Z2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soW10geworICAgICAgICBmb3JFYWNo
UGFnZShbXShhdXRvJiBwYWdlKSB7CisgICAgICAgICAgICBwYWdlLnNldE5lZWRzUmVjYWxjU3R5
bGVJbkFsbEZyYW1lcygpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogdm9pZCBQYWdlOjpj
bGVhclByZXZpb3VzSXRlbUZyb21BbGxQYWdlcyhIaXN0b3J5SXRlbSogaXRlbSkKIHsKICAgICBm
b3IgKGF1dG8qIHBhZ2UgOiBhbGxQYWdlcygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGY0Zjk1MjIz
NjMzZmVjN2ZjNDY5ZWEyZDVhNmE3YTQwMmUwYmY3YzcuLmY2N2RhYWMwZmUzOGQ0MDNjNTlkNzEx
YTE2OTg3NDllZWI5NzVlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC05NjUsNiArOTY1LDggQEAgcHJp
dmF0ZToKICAgICB9OwogICAgIHZvaWQgbG9nTmF2aWdhdGlvbihjb25zdCBOYXZpZ2F0aW9uJik7
CiAKKyAgICB2b2lkIGZpcnN0VGltZUluaXRpYWxpemF0aW9uKCk7CisKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGluaXRHcm91cCgpOwogCiAgICAgdm9pZCBzZXRJc0luV2luZG93SW50ZXJuYWwo
Ym9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cAppbmRleCAxMmNlM2U5NmRkMzEyYzYxM2Q2MTgyYjA5ZDI3OTE1OGJiZjY5ZjZiLi40MTU1MjE3
NWJhNDU5MGZlYjk2YjA4M2UzZmExNGEwYjY4MDUzNmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTQ4OSwxMiArNDg5LDI2IEBAIHZv
aWQgRm9udENhY2hlOjppbnZhbGlkYXRlKCkKICAgICBwdXJnZUluYWN0aXZlRm9udERhdGEoKTsK
IH0KIAorc3RhdGljIEZ1bmN0aW9uPHZvaWQoKT4mIGZvbnRDYWNoZUludmFsaWRhdGlvbkNhbGxi
YWNrKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RnVuY3Rpb248dm9pZCgpPj4gY2Fs
bGJhY2s7CisgICAgcmV0dXJuIGNhbGxiYWNrLmdldCgpOworfQorCit2b2lkIEZvbnRDYWNoZTo6
cmVnaXN0ZXJGb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjayhGdW5jdGlvbjx2b2lkKCk+JiYg
Y2FsbGJhY2spCit7CisgICAgZm9udENhY2hlSW52YWxpZGF0aW9uQ2FsbGJhY2soKSA9IFdURk1v
dmUoY2FsbGJhY2spOworfQorCiB2b2lkIEZvbnRDYWNoZTo6aW52YWxpZGF0ZUFsbEZvbnRDYWNo
ZXMoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKICAgICAvLyBGSVhNRTogSW52
YWxpZGF0ZSBGb250Q2FjaGVzIGluIHdvcmtlcnMgdG9vLgogICAgIEZvbnRDYWNoZTo6Zm9yQ3Vy
cmVudFRocmVhZCgpLmludmFsaWRhdGUoKTsKKworICAgIGlmIChmb250Q2FjaGVJbnZhbGlkYXRp
b25DYWxsYmFjaygpKQorICAgICAgICBmb250Q2FjaGVJbnZhbGlkYXRpb25DYWxsYmFjaygpKCk7
CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IDQ5ZDMwZDY0NjlhZGYxZjRhZTA4ODZlZGNmZTI0ZjJl
ZWQ0N2QyNDIuLjYzY2E1MDE4ZDAwNDg2YjJiNjVjMjc5YzAyMDRlMWYxZTVmNWRkZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC0zMjgsNiAr
MzI4LDcgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgc2hvcnQgZ2VuZXJhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fZ2VuZXJhdGlvbjsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52YWxp
ZGF0ZSgpOworICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyRm9udENhY2hlSW52YWxpZGF0aW9uQ2Fs
bGJhY2soRnVuY3Rpb248dm9pZCgpPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBpbnZhbGlkYXRlQWxsRm9udENhY2hlcygpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgc2l6ZV90
IGZvbnRDb3VudCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDEwMmMyZTQ0NDQ5YmMzMjgzYjhhNzVmMGVhYWFlOWY1ZWU4MWFhMmUuLjM1NTU3
OTQ2ZTU1ODkxZTAxMmE5NmNiNTEzMjNiMDI2ZWFiM2ZkYmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMi0wNC0w
MiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQXV0b21hdGljYWxseSByZWxheW91dCB0aGUgcGFnZSB3aGVuIG5ldyBmb250cyBhcmUg
aW5zdGFsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzg0ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNTQ0MTMzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIE1ha2UgVGVzdFJ1bm5lcjo6ZHVtcFJl
c291cmNlTG9hZFN0YXRpc3RpY3MoKSBjbGVhciBhbnkgY3VycmVudGx5LXJlY29yZGVkIHN0YXRp
c3RpY3MuCisgICAgICAgIFRoaXMgYXZvaWRzIHRoZSBwcm9ibGVtIHdoZXJlIHNwdXJpb3VzIGxh
eW91dHMgZHVyaW5nIHRoZSB0aW1lIHdoZW4gdGhlIHBhZ2UgaGFzIGJlZW4gY3JlYXRlZCBidXQK
KyAgICAgICAgYmVmb3JlIHRoZSB0ZXN0IGhhcyBiZWd1biByZWNvcmQgaXJyZWxldmFudCBzdGF0
aXN0aWNzLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3Rp
bmcpOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6Y2xlYXJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MpOgorCiAyMDIyLTA0LTAxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IGludGVybmFsIGlPUyBidWlsZApkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcAppbmRleCA1ZDQyYWNlNTcyMDMyYzlhMmM5NWVkYzgwNzY2ODJhOTllY2RhN2Q1Li40
NTcyNzYyYjRiOWRkZDFhZjY0NDY5Yjc0NDY1MmMxZThlOTY4MjhhIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cApAQCAtNTQzLDcgKzU0Myw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyhX
S0RpY3Rpb25hcnlSZWYgc2V0dGluZ3MsIEJlZ2luZ1Rlc3RpbmdNb2RlIHRlCiAgICAgV0tCdW5k
bGVDbGVhckFsbERhdGFiYXNlcyhtX2J1bmRsZS5nZXQoKSk7CiAgICAgV0tCdW5kbGVQYWdlQ2xl
YXJBcHBsaWNhdGlvbkNhY2hlKHBhZ2UoKS0+cGFnZSgpKTsKICAgICBXS0J1bmRsZVJlc2V0T3Jp
Z2luQWNjZXNzQWxsb3dMaXN0cyhtX2J1bmRsZS5nZXQoKSk7Ci0gICAgV0tCdW5kbGVDbGVhclJl
c291cmNlTG9hZFN0YXRpc3RpY3MobV9idW5kbGUuZ2V0KCkpOworICAgIGNsZWFyUmVzb3VyY2VM
b2FkU3RhdGlzdGljcygpOwogCiAgICAgLy8gW1dLMl0gUkVHUkVTU0lPTihyMTI4NjIzKTogSXQg
bWFkZSBsYXlvdXQgdGVzdHMgZXh0cmVtZWx5IHNsb3cKICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjIKQEAgLTU3Niw2ICs1NzYsMTEgQEAgdm9pZCBJ
bmplY3RlZEJ1bmRsZTo6ZG9uZSgpCiAgICAgbV9zdGF0ZSA9IElkbGU7CiB9CiAKK3ZvaWQgSW5q
ZWN0ZWRCdW5kbGU6OmNsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpCit7CisgICAgV0tCdW5k
bGVDbGVhclJlc291cmNlTG9hZFN0YXRpc3RpY3MobV9idW5kbGUuZ2V0KCkpOworfQorCiB2b2lk
IEluamVjdGVkQnVuZGxlOjpkdW1wQmFja0ZvcndhcmRMaXN0c0ZvckFsbFBhZ2VzKFN0cmluZ0J1
aWxkZXImIHN0cmluZ0J1aWxkZXIpCiB7CiAgICAgc2l6ZV90IHNpemUgPSBtX3BhZ2VzLnNpemUo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuaAppbmRleCA0MGZlNmE5ZWM1ODI0M2RiMDk5MjJlZjMzNDQ1MzE2MmY1YTNm
MjhhLi5hN2Q3M2M1NjBmZjgyMDRlNDdhZDljN2JhNTE0ZmY3YjE5Nzg2ZmEyIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5oCkBAIC0xNTAsNiArMTUwLDggQEAgcHVibGljOgogICAgIHZvaWQgaW5jcmVhc2VVc2VyU2Ny
aXB0SW5qZWN0ZWRDb3VudCgpIHsgKyttX3VzZXJTY3JpcHRJbmplY3RlZENvdW50OyB9CiAgICAg
c2l6ZV90IHVzZXJTY3JpcHRJbmplY3RlZENvdW50KCkgY29uc3QgeyByZXR1cm4gbV91c2VyU2Ny
aXB0SW5qZWN0ZWRDb3VudDsgfQogCisgICAgdm9pZCBjbGVhclJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MoKTsKKwogcHJpdmF0ZToKICAgICBJbmplY3RlZEJ1bmRsZSgpID0gZGVmYXVsdDsKICAgICB+
SW5qZWN0ZWRCdW5kbGUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGVkNzNjMzk1ZDA2NDI4YWQ1NTE0MmY3YTlh
MmEzYjdlOWMyMzdiNWUuLmQ5NDUxZDQ0MjgwMTM2ZmFiYWJjMDcwMzczM2QzMzAyOTcwMTNiMDgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcApAQCAtMTM0Niw2ICsxMzQ2LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0
aWNzQ2FsbERpZFNldFZlcnlQcmV2YWxlbnRSZXNvdXJjZUNhbGxiYWNrKCkKICAgICAKIHZvaWQg
VGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKQogeworICAgIEluamVjdGVk
QnVuZGxlOjpzaW5nbGV0b24oKS5jbGVhclJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKICAgICBw
b3N0U3luY2hyb25vdXNQYWdlTWVzc2FnZSgiZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MiKTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDRhNTA2ZThlNTE0ZWY1YjEwNTk4YWY4MThkNTg4MjY2YzI5NmNmZjYuLjBh
MDQ2MDg4NjA2Njk0MzFlNDQzMWUwNzQ3MDA1YWY3NWU5ODFjZTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAyMi0wNC0wMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFtDb2NvYV0gQXV0b21hdGljYWxseSByZWxheW91dCB0aGUgcGFnZSB3aGVu
IG5ldyBmb250cyBhcmUgaW5zdGFsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzg0ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwNTQ0MTMz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L3RleHQvaW5zdGFsbC1mb250LXN0eWxlLXJlY2Fs
Yy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9pbnN0YWxsLWZvbnQt
c3R5bGUtcmVjYWxjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjItMDQtMDEgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDU1MtY29udGFpbl0gVXBkYXRlIHNlbGVjdCBlbGVtZW50IGZhaWx1cmVzIHdpdGggYnVn
emlsbGEgbGluay4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdmMmQzM2E2OWExNjM4ZGQ1NTYzYzRl
ODYxMTQyYzI1YjkyMTkxMjcuLmU3ZWI4MWIxYzBmZDVlMzQxMjE5NjlmNzBhYTZjZWIxODY2NTM3
MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTIwNywzICs1MjA3LDYgQEAgZmFzdC90ZXh0L2Fj
Y2Vzc2liaWxpdHktYm9sZC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogIyBPbmx5
IGNlcnRhaW4gcG9ydHMgaGF2ZSBXZWJHUFUgaW1wbGVtZW50YXRpb25zLgogaHR0cC90ZXN0cy93
ZWJncHUgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgUGFzcyBUaW1lb3V0IF0KKworIyBPbmx5
IHNvbWUgcG9ydHMgYXV0b21hdGljYWxseSByZWxheW91dCBpZiBhIGZvbnQgaXMgaW5zdGFsbGVk
IHdoaWxlIHRoZSBwYWdlIGlzIG9wZW4KK2Zhc3QvdGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVj
YWxjLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9p
bnN0YWxsLWZvbnQtc3R5bGUtcmVjYWxjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9pbnN0YWxsLWZvbnQtc3R5bGUtcmVjYWxjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
NWYwMWQ4YTAzODUxZGY1MjFmMGU3ZWI2MGVhODliYjAxMzNmMDNkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaW5zdGFs
bGluZyBhIGZvbnQgY2F1c2VzIGEgc3R5bGUgcmVjYWxjLiBUaGUgdGVzdCBvbmx5IHJ1bnMgaW4g
RHVtcFJlbmRlclRyZWUvV2ViS2l0VGVzdFJ1bm5lci4gSXQgcGFzc2VzIGlmIHRoZSB0ZXh0IGFi
b3ZlIGlzIHJlbmRlcmVkIGFzIGJsYWNrIGJveGVzIChha2EgaW4gQWhlbSkuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRhcmdldC5vZmZzZXRXaWR0aCBiZWNhbWUgMjAw
CitQQVNTIFRoZSBmb250IHdhcyB1c2VkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCitycnJyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvaW5zdGFsbC1mb250LXN0eWxlLXJlY2FsYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjMyZGU5M2FhNzVk
MGE1Nzc4M2I0NzU2ZjMzMmU4ZjQxMWMwNjZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMuaHRtbApAQCAtMCwwICsxLDIx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c3BhbiBp
ZD0idGFyZ2V0IiBzdHlsZT0iZm9udDogNTBweCAnSGVsdmV0aWNhMic7Ij5ycnJyPC9zcGFuPgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGluc3RhbGxp
bmcgYSBmb250IGNhdXNlcyBhIHN0eWxlIHJlY2FsYy4gVGhlIHRlc3Qgb25seSBydW5zIGluIER1
bXBSZW5kZXJUcmVlL1dlYktpdFRlc3RSdW5uZXIuIEl0IHBhc3NlcyBpZiB0aGUgdGV4dCBhYm92
ZSBpcyByZW5kZXJlZCBhcyBibGFjayBib3hlcyAoYWthIGluIEFoZW0pLiIpOword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQiKTsKK3RhcmdldC5vZmZzZXRXaWR0aDsgLy8gRm9yY2UgYSBmb250IGxvb2t1cAor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuaW5zdGFsbEZha2VIZWx2ZXRp
Y2EoIkhlbHZldGljYTItNDAwIik7CitzaG91bGRCZWNvbWVFcXVhbCgidGFyZ2V0Lm9mZnNldFdp
ZHRoIiwgIjIwMCIsIGZ1bmN0aW9uKCkgeworICAgIHRlc3RQYXNzZWQoIlRoZSBmb250IHdhcyB1
c2VkLiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCAyZTMxYjc1NDYzNGEzNGMxMzQ2MzkwZTUyYzliZWMxMTU0YmNkMDMwLi4zMGVjYjUxMWE2
MThlOTdiOGU4M2RlZjk0N2I3NDJlMmM4OTA2ZjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMjUyLDMgKzIyNTIsNSBAQCB3ZWJraXQu
b3JnL2IvMjMzNjIxIGh0dHAvdGVzdHMvd2ViZ3B1IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMjM3
ODQ5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2ZpbHRlci1lZmZlY3RzL2Zp
bHRlcnMtZHJvcC1zaGFkb3ctMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0
Lm9yZy9iLzIzODYzNCBtZWRpYS92aWRlby1vYmplY3QtZml0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KKworZmFzdC90ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMuaHRtbCBbIFBhc3Mg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDQ3YjlhOTM2ZjhhODk0MmNiZDRjMmUwOTk0NmU5ZTA0ZmJkNWFiMjguLjEzZGVmYjQ3NjExNTA3
YTRlZDgxNDg5MmIzYTJjNjljOTk5ZjAxYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3MDIsNCArMTcwMiw0IEBAIHdlYmtpdC5vcmcv
Yi8yMzcxNjUgWyBCaWdTdXIrIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3dlYmFwCiAKIHdlYmtpdC5vcmcvYi8yMzM2MjEgaHR0cC90ZXN0cy93ZWJncHUgWyBT
a2lwIF0KIAotd2Via2l0Lm9yZy9iLzIzODY0MSBmYXN0L3RleHQvaW5zdGFsbC1mb250LXN0eWxl
LXJlY2FsYy5odG1sIFsgUGFzcyBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZmFzdC90
ZXh0L2luc3RhbGwtZm9udC1zdHlsZS1yZWNhbGMuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>