<?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>208084</bug_id>
          
          <creation_ts>2020-02-21 17:29:11 -0800</creation_ts>
          <short_desc>[iPadOS] REGRESSION(r247667): Autosizing style changes don&apos;t invalidate RenderText&apos;s preferred logical widths</short_desc>
          <delta_ts>2020-03-10 12:10:30 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=208245</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=208231</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jacob_uphoff</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1621819</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-21 17:29:11 -0800</bug_when>
    <thetext>[iOS] [iPadOS] REGRESSION(r247667): Autosizing style changes don&apos;t invalidate RenderText&apos;s preferred logical widths</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621820</commentid>
    <comment_count>1</comment_count>
      <attachid>391436</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-21 17:29:34 -0800</bug_when>
    <thetext>Created attachment 391436
Needs test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621838</commentid>
    <comment_count>2</comment_count>
      <attachid>391444</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-21 19:04:43 -0800</bug_when>
    <thetext>Created attachment 391444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621839</commentid>
    <comment_count>3</comment_count>
      <attachid>391445</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-21 19:06:15 -0800</bug_when>
    <thetext>Created attachment 391445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621840</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-21 19:06:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/59463898&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622032</commentid>
    <comment_count>5</comment_count>
      <attachid>391445</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-23 14:49:50 -0800</bug_when>
    <thetext>Comment on attachment 391445
Patch

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

This looks like a good solution

&gt; Source/WebCore/style/StyleAdjuster.h:55
&gt; +        operator bool() const { return newFontSize || newLineHeight; }

Maybe &quot;explicit operator bool&quot; is better here? I think that’s usually what we use when we can check something as a bool, but wouldn’t want to convert it into a bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622235</commentid>
    <comment_count>6</comment_count>
      <attachid>391445</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-24 10:54:37 -0800</bug_when>
    <thetext>Comment on attachment 391445
Patch

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

&gt; Source/WebCore/page/Page.cpp:2990
&gt; +                        renderer.setStyle(WTFMove(newStyle), StyleDifference::Equal);

Isn&apos;t StyleDifference::Equal a lie here? Don&apos;t you need the right diff to trigger layout?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622254</commentid>
    <comment_count>7</comment_count>
      <attachid>391445</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-24 11:26:11 -0800</bug_when>
    <thetext>Comment on attachment 391445
Patch

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

&gt;&gt; Source/WebCore/page/Page.cpp:2990
&gt;&gt; +                        renderer.setStyle(WTFMove(newStyle), StyleDifference::Equal);
&gt; 
&gt; Isn&apos;t StyleDifference::Equal a lie here? Don&apos;t you need the right diff to trigger layout?

It isn&apos;t a lie, because it&apos;s being passed as &quot;minimumStyleDifference&quot; and RenderElement::setStyle computes the style diff itself, and computes &quot;diff = std::max(diff, minimalStyleDifference);&quot;. So StyleDifference::Equal here acts as a noop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622258</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-24 11:38:05 -0800</bug_when>
    <thetext>OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622259</commentid>
    <comment_count>9</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-24 11:40:49 -0800</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #7)
&gt; Comment on attachment 391445 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=391445&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/page/Page.cpp:2990
&gt; &gt;&gt; +                        renderer.setStyle(WTFMove(newStyle), StyleDifference::Equal);
&gt; &gt; 
&gt; &gt; Isn&apos;t StyleDifference::Equal a lie here? Don&apos;t you need the right diff to trigger layout?
&gt; 
&gt; It isn&apos;t a lie, because it&apos;s being passed as &quot;minimumStyleDifference&quot; and
&gt; RenderElement::setStyle computes the style diff itself, and computes &quot;diff =
&gt; std::max(diff, minimalStyleDifference);&quot;. So StyleDifference::Equal here
&gt; acts as a noop.
I&apos;d just rely on the default value then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622721</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-25 13:27:03 -0800</bug_when>
    <thetext>&gt; I&apos;d just rely on the default value then.

Default value!!!! 😮</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622735</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-25 13:51:21 -0800</bug_when>
    <thetext>Committed r257373: &lt;https://trac.webkit.org/changeset/257373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622893</commentid>
    <comment_count>12</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-25 19:38:13 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=208231 fixes the test failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623020</commentid>
    <comment_count>13</comment_count>
      <attachid>391445</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-26 08:48:01 -0800</bug_when>
    <thetext>Comment on attachment 391445
Patch

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

&gt; Source/WebCore/style/StyleAdjuster.cpp:637
&gt; +bool Adjuster::adjustForTextAutosizing(RenderStyle&amp; style, const Element&amp; element, AdjustmentForTextAutosizing adjustment)
&gt; +{
&gt; +    AutosizeStatus::updateStatus(style);
&gt; +    if (auto newFontSize = adjustment.newFontSize) {
&gt; +        auto fontDescription = style.fontDescription();
&gt; +        fontDescription.setComputedSize(*newFontSize);
&gt; +        style.setFontDescription(WTFMove(fontDescription));
&gt; +        style.fontCascade().update(&amp;element.document().fontSelector());
&gt; +    }
&gt; +    if (auto newLineHeight = adjustment.newLineHeight)
&gt; +        style.setLineHeight({ *newLineHeight, Fixed });
&gt; +    return adjustment.newFontSize || adjustment.newLineHeight;
&gt; +}

Should we also check if the size and height just *happen* to match what’s already in the style, and return bool if they aren’t changing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623052</commentid>
    <comment_count>14</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-02-26 10:26:33 -0800</bug_when>
    <thetext>The test added with this change is a flaky failure on iOS. See https://bugs.webkit.org/show_bug.cgi?id=208245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623053</commentid>
    <comment_count>15</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-02-26 10:34:17 -0800</bug_when>
    <thetext>Since this broke an existing test (which EWS caught) and the newly added test is frequently failing, I think we should roll this out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623054</commentid>
    <comment_count>16</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-02-26 10:45:23 -0800</bug_when>
    <thetext>Reverted r257373 for reason:

This commit introduced one test that is a flaky failure on ios bots and broke another test

Committed r257481: &lt;https://trac.webkit.org/changeset/257481&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623088</commentid>
    <comment_count>17</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-26 11:47:44 -0800</bug_when>
    <thetext>I fixed it already in https://bugs.webkit.org/show_bug.cgi?id=208231 but didn&apos;t land in time :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623114</commentid>
    <comment_count>18</comment_count>
      <attachid>391770</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-26 12:54:01 -0800</bug_when>
    <thetext>Created attachment 391770
Patch for rolling back in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623116</commentid>
    <comment_count>19</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-26 12:55:39 -0800</bug_when>
    <thetext>*** Bug 208231 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623140</commentid>
    <comment_count>20</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-02-26 13:23:43 -0800</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #17)
&gt; I fixed it already in https://bugs.webkit.org/show_bug.cgi?id=208231 but
&gt; didn&apos;t land in time :(

The fix you have in https://bugs.webkit.org/show_bug.cgi?id=208231 was for the test that broke with the commit that rolled out but there was no mention of fixing the test that was introduced that was flaky failing. Are you saying that was resolved in in 208231?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623334</commentid>
    <comment_count>21</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-02-26 18:35:03 -0800</bug_when>
    <thetext>The latest patch should deal with the flakes, and EWS is all green. I&apos;m going to cq+ and watch the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623344</commentid>
    <comment_count>22</comment_count>
      <attachid>391770</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-26 19:18:43 -0800</bug_when>
    <thetext>Comment on attachment 391770
Patch for rolling back in

Clearing flags on attachment: 391770

Committed r257550: &lt;https://trac.webkit.org/changeset/257550&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623595</commentid>
    <comment_count>23</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-02-27 12:04:54 -0800</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #21)
&gt; The latest patch should deal with the flakes, and EWS is all green. I&apos;m
&gt; going to cq+ and watch the bots.
fast/text-autosizing/ios/idempotentmode/viewport-change-relayout.html is failing on iOS bots again after re-landing the change:
https://build.webkit.org/results/Apple%20iOS%2013%20Simulator%20Release%20WK2%20(Tests)/r257568%20(2790)/fast/text-autosizing/ios/idempotentmode/viewport-change-relayout-diffs.html

I re-opened https://bugs.webkit.org/show_bug.cgi?id=208245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628354</commentid>
    <comment_count>24</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-10 12:10:30 -0700</bug_when>
    <thetext>Fixed in r257651.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391436</attachid>
            <date>2020-02-21 17:29:34 -0800</date>
            <delta_ts>2020-02-21 19:04:42 -0800</delta_ts>
            <desc>Needs test</desc>
            <filename>bug-208084-20200221172933.patch</filename>
            <type>text/plain</type>
            <size>7108</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWZlM2UxNTQwNDI0NWQz
ZDFjOTQwNGZiZTRkNzFiMTNlZWYxYTE3Ni4uNzFkZDNkMjU2MzZhODA4YzAyZDdlMDRkYjU2NmY2
NjFmODMxOWJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAyLTIxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gW2lQ
YWRPU10gUkVHUkVTU0lPTihyMjQ3NjY3KTogQXV0b3NpemluZyBzdHlsZSBjaGFuZ2VzIGRvbid0
IGludmFsaWRhdGUgUmVuZGVyVGV4dCdzIHByZWZlcnJlZCBsb2dpY2FsIHdpZHRocworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MDg0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6cmVjb21wdXRlVGV4dEF1dG9TaXppbmdJbkFsbEZyYW1lcyk6CisgICAgICAgICogc3R5bGUv
U3R5bGVBZGp1c3Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OmFk
anVzdG1lbnRGb3JUZXh0QXV0b3NpemluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QWRq
dXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUFk
anVzdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OkFkanVzdG1lbnRG
b3JUZXh0QXV0b3NpemluZzo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisKIDIwMjAtMDItMTkgIFBl
bmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggY2hlY2std2Via2l0
LXN0eWxlIGVycm9ycyByZWxhdGVkIHRvIEFWRm91bmRhdGlvblNQSS5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCBjNjFiZjJhYmQwZjQzYmMzNzk5YzkwMjc4OTkxYzg1ZDFlMmJhZWI3Li41MGJhMzU0
YTA2MmJmZjU2ODY3MWNiMjUzNmE5YTE4ZWQ0MGU4OGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTI5ODQsOCArMjk4NCwxMSBAQCB2b2lkIFBhZ2U6OnJlY29tcHV0ZVRleHRBdXRvU2l6aW5nSW5B
bGxGcmFtZXMoKQogICAgICAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGRvY3VtZW50LnJlbmRl
clZpZXcoKSkgewogICAgICAgICAgICAgZm9yIChhdXRvJiByZW5kZXJlciA6IGRlc2NlbmRhbnRz
T2ZUeXBlPFJlbmRlckVsZW1lbnQ+KCpyZW5kZXJWaWV3KSkgewogICAgICAgICAgICAgICAgIGlm
IChhdXRvKiBlbGVtZW50ID0gcmVuZGVyZXIuZWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKHJlbmRlcmVy
Lm11dGFibGVTdHlsZSgpLCAqZWxlbWVudCkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZW5k
ZXJlci5zZXROZWVkc0xheW91dCgpOworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byBhZGp1
c3RtZW50ID0gU3R5bGU6OkFkanVzdGVyOjphZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcocmVu
ZGVyZXIuc3R5bGUoKSwgKmVsZW1lbnQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRv
IG5ld1N0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKHJlbmRlcmVyLnN0eWxlKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgU3R5bGU6OkFkanVzdGVyOjphZGp1c3RGb3JUZXh0QXV0b3Npemlu
ZyhuZXdTdHlsZSwgKmVsZW1lbnQsIGFkanVzdG1lbnQpOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmVuZGVyZXIuc2V0U3R5bGUoV1RGTW92ZShuZXdTdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6
RXF1YWwpOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmlu
ZGV4IGVlZTQ4ZmU4MTIyOTkzMTNhMGU3MWNhZmY4Njg0NzU4ZTRiYTU4N2EuLmQyOWVkZGVjMGM4
ZjZmNTBmYzVmY2E0YzVlYTAwODdjMjlmNmFhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
QWRqdXN0ZXIuY3BwCkBAIC01NjgsMTUgKzU2OCwxNiBAQCBzdGF0aWMgYm9vbCBoYXNUZXh0Q2hp
bGQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wg
QWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiBzdHlsZSwgY29u
c3QgRWxlbWVudCYgZWxlbWVudCkKK2F1dG8gQWRqdXN0ZXI6OmFkanVzdG1lbnRGb3JUZXh0QXV0
b3NpemluZyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQp
IC0+IEFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZwogeworICAgIEFkanVzdG1lbnRGb3JUZXh0
QXV0b3NpemluZyBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CisKICAgICBhdXRvJiBkb2N1
bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCku
dGV4dEF1dG9zaXppbmdFbmFibGVkKCkgfHwgIWRvY3VtZW50LnNldHRpbmdzKCkudGV4dEF1dG9z
aXppbmdVc2VzSWRlbXBvdGVudE1vZGUoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4gYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOwogCi0gICAgQXV0b3NpemVTdGF0
dXM6OnVwZGF0ZVN0YXR1cyhzdHlsZSk7CiAgICAgaWYgKHN0eWxlLnRleHRTaXplQWRqdXN0KCku
aXNOb25lKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGFkanVzdG1l
bnRGb3JUZXh0QXV0b3NpemluZzsKIAogICAgIGZsb2F0IGluaXRpYWxTY2FsZSA9IGRvY3VtZW50
LnBhZ2UoKSA/IGRvY3VtZW50LnBhZ2UoKS0+aW5pdGlhbFNjYWxlKCkgOiAxOwogICAgIGF1dG8g
YWRqdXN0TGluZUhlaWdodElmTmVlZGVkID0gWyZdKGF1dG8gY29tcHV0ZWRGb250U2l6ZSkgewpA
QCAtNTkzLDcgKzU5NCw3IEBAIGJvb2wgQWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5n
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZWxlbWVuCiAgICAgICAgIGlmIChB
dXRvc2l6ZVN0YXR1czo6cHJvYmFibHlDb250YWluc0FTbWFsbEZpeGVkTnVtYmVyT2ZMaW5lcyhz
dHlsZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgc3R5bGUuc2V0TGluZUhlaWdo
dCh7IG1pbmltdW1MaW5lSGVpZ2h0LCBGaXhlZCB9KTsKKyAgICAgICAgYWRqdXN0bWVudEZvclRl
eHRBdXRvc2l6aW5nLm5ld0xpbmVIZWlnaHQgPSBtaW5pbXVtTGluZUhlaWdodDsKICAgICB9Owog
CiAgICAgYXV0byBmb250RGVzY3JpcHRpb24gPSBzdHlsZS5mb250RGVzY3JpcHRpb24oKTsKQEAg
LTYwMSwxOCArNjAyLDE2IEBAIGJvb2wgQWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5n
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZWxlbWVuCiAgICAgYXV0byBzcGVj
aWZpZWRGb250U2l6ZSA9IGZvbnREZXNjcmlwdGlvbi5zcGVjaWZpZWRTaXplKCk7CiAgICAgYm9v
bCBpc0NhbmRpZGF0ZSA9IHN0eWxlLmlzSWRlbXBvdGVudFRleHRBdXRvc2l6aW5nQ2FuZGlkYXRl
KCk7CiAgICAgaWYgKCFpc0NhbmRpZGF0ZSAmJiBXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWwoaW5p
dGlhbENvbXB1dGVkRm9udFNpemUsIHNwZWNpZmllZEZvbnRTaXplKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICByZXR1cm4gYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOwogCiAg
ICAgYXV0byBhZGp1c3RlZEZvbnRTaXplID0gQXV0b3NpemVTdGF0dXM6OmlkZW1wb3RlbnRUZXh0
U2l6ZShmb250RGVzY3JpcHRpb24uc3BlY2lmaWVkU2l6ZSgpLCBpbml0aWFsU2NhbGUpOwogICAg
IGlmIChpc0NhbmRpZGF0ZSAmJiBXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWwoaW5pdGlhbENvbXB1
dGVkRm9udFNpemUsIGFkanVzdGVkRm9udFNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CiAKICAgICBpZiAoIWhh
c1RleHRDaGlsZChlbGVtZW50KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1
cm4gYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOwogCi0gICAgZm9udERlc2NyaXB0aW9uLnNl
dENvbXB1dGVkU2l6ZShpc0NhbmRpZGF0ZSA/IGFkanVzdGVkRm9udFNpemUgOiBzcGVjaWZpZWRG
b250U2l6ZSk7Ci0gICAgc3R5bGUuc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9udERlc2Ny
aXB0aW9uKSk7Ci0gICAgc3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUoJmRvY3VtZW50LmZvbnRT
ZWxlY3RvcigpKTsKKyAgICBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcubmV3Rm9udFNpemUg
PSBpc0NhbmRpZGF0ZSA/IGFkanVzdGVkRm9udFNpemUgOiBzcGVjaWZpZWRGb250U2l6ZTsKIAog
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVzdG9yZSBjb21wdXRlZCBsaW5lIGhlaWdodCB0byBp
dHMgb3JpZ2luYWwgdmFsdWUgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIGVsZW1lbnQgaXMgbm90CiAg
ICAgLy8gYW4gaWRlbXBvdGVudCB0ZXh0IGF1dG9zaXppbmcgY2FuZGlkYXRlOyBvdGhlcndpc2Us
IGlmIGFuIGVsZW1lbnQgdGhhdCBpcyBhIHRleHQgYXV0b3NpemluZyBjYW5kaWRhdGUgY29udGFp
bnMKQEAgLTYyMCw3ICs2MTksMjYgQEAgYm9vbCBBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9z
aXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVtZW4KICAgICBpZiAo
aXNDYW5kaWRhdGUpCiAgICAgICAgIGFkanVzdExpbmVIZWlnaHRJZk5lZWRlZChhZGp1c3RlZEZv
bnRTaXplKTsKIAotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4
dEF1dG9zaXppbmc7Cit9CisKK2Jvb2wgQWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5n
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZWxlbWVudCwgQWRqdXN0bWVudEZv
clRleHRBdXRvc2l6aW5nIGFkanVzdG1lbnQpCit7CisgICAgQXV0b3NpemVTdGF0dXM6OnVwZGF0
ZVN0YXR1cyhzdHlsZSk7CisgICAgaWYgKGF1dG8gbmV3Rm9udFNpemUgPSBhZGp1c3RtZW50Lm5l
d0ZvbnRTaXplKSB7CisgICAgICAgIGF1dG8gZm9udERlc2NyaXB0aW9uID0gc3R5bGUuZm9udERl
c2NyaXB0aW9uKCk7CisgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRDb21wdXRlZFNpemUoKm5l
d0ZvbnRTaXplKTsKKyAgICAgICAgc3R5bGUuc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9u
dERlc2NyaXB0aW9uKSk7CisgICAgICAgIHN0eWxlLmZvbnRDYXNjYWRlKCkudXBkYXRlKCZlbGVt
ZW50LmRvY3VtZW50KCkuZm9udFNlbGVjdG9yKCkpOworICAgIH0KKyAgICBpZiAoYXV0byBuZXdM
aW5lSGVpZ2h0ID0gYWRqdXN0bWVudC5uZXdMaW5lSGVpZ2h0KQorICAgICAgICBzdHlsZS5zZXRM
aW5lSGVpZ2h0KHsgKm5ld0xpbmVIZWlnaHQsIEZpeGVkIH0pOworICAgIHJldHVybiBhZGp1c3Rt
ZW50Lm5ld0ZvbnRTaXplIHx8IGFkanVzdG1lbnQubmV3TGluZUhlaWdodDsKK30KKworYm9vbCBB
ZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25z
dCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBhZGp1c3RGb3JUZXh0QXV0b3Npemlu
ZyhzdHlsZSwgZWxlbWVudCwgYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nKHN0eWxlLCBlbGVt
ZW50KSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVBZGp1c3Rlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5oCmluZGV4
IDRhOWUyMThiODg0MDNiN2QxZjViMjFjNzI0YzVlMmIzOTYwOWQ5YTcuLjgzNDdkNjljNWI0NWQ5
YTZmZTlkYTk3YTc4MGI4ZmYxMmM2MTMyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQWRqdXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVz
dGVyLmgKQEAgLTQ5LDYgKzQ5LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGp1c3RB
bmltYXRlZFN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudEJveFN0
eWxlLCBPcHRpb25TZXQ8QW5pbWF0aW9uSW1wYWN0Pik7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRP
U0laSU5HKQorICAgIHN0cnVjdCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcgeworICAgICAg
ICBPcHRpb25hbDxmbG9hdD4gbmV3Rm9udFNpemU7CisgICAgICAgIE9wdGlvbmFsPGZsb2F0PiBu
ZXdMaW5lSGVpZ2h0OworICAgICAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbmV3
Rm9udFNpemUgfHwgbmV3TGluZUhlaWdodDsgfQorICAgIH07CisgICAgc3RhdGljIEFkanVzdG1l
bnRGb3JUZXh0QXV0b3NpemluZyBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcoY29uc3QgUmVu
ZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50Jik7CisgICAgc3RhdGljIGJvb2wgYWRqdXN0Rm9yVGV4
dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50JiwgQWRqdXN0bWVudEZvclRl
eHRBdXRvc2l6aW5nKTsKICAgICBzdGF0aWMgYm9vbCBhZGp1c3RGb3JUZXh0QXV0b3NpemluZyhS
ZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQmKTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391444</attachid>
            <date>2020-02-21 19:04:43 -0800</date>
            <delta_ts>2020-02-21 19:06:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208084-20200221190442.patch</filename>
            <type>text/plain</type>
            <size>10912</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWZlM2UxNTQwNDI0NWQz
ZDFjOTQwNGZiZTRkNzFiMTNlZWYxYTE3Ni4uN2ZiOTBhMjNkZDVkYjdmZDVmY2RmYjc2ZjYwZDUy
NzYwZjMzYTIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAyLTIxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gW2lQ
YWRPU10gUkVHUkVTU0lPTihyMjQ3NjY3KTogQXV0b3NpemluZyBzdHlsZSBjaGFuZ2VzIGRvbid0
IGludmFsaWRhdGUgUmVuZGVyVGV4dCdzIHByZWZlcnJlZCBsb2dpY2FsIHdpZHRocworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MDg0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSnVzdCB1c2UgUmVuZGVy
RWxlbWVudDo6c2V0U3R5bGUoKSwgd2hpY2ggaGFuZGxlcyBhbGwgdGhlIGludmFsaWRhdGlvbnMs
IGluc3RlYWQgb2YgUmVuZGVyRWxlbWVudDo6c2V0TmVlZHNMYXlvdXQoKS4KKworICAgICAgICBE
byBhIGxpdHRsZSByZWZhY3RvcmluZyBzbyB3ZSBkb24ndCBjbG9uZSBSZW5kZXJTdHlsZXMgdW5s
ZXNzIHdlIG5lZWQgdG8uCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9z
L2lkZW1wb3RlbnRtb2RlL3ZpZXdwb3J0LWNoYW5nZS1yZWxheW91dC5odG1sCisKKyAgICAgICAg
KiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cmVjb21wdXRlVGV4dEF1
dG9TaXppbmdJbkFsbEZyYW1lcyk6CisgICAgICAgICogc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdG1lbnRGb3JUZXh0QXV0
b3NpemluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdEZvclRl
eHRBdXRvc2l6aW5nKToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUFkanVzdGVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OkFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZzo6
b3BlcmF0b3IgYm9vbCBjb25zdCk6CisKIDIwMjAtMDItMTkgIFBlbmcgTGl1ICA8cGVuZy5saXU2
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggY2hlY2std2Via2l0LXN0eWxlIGVycm9ycyByZWxh
dGVkIHRvIEFWRm91bmRhdGlvblNQSS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjNjFiZjJhYmQw
ZjQzYmMzNzk5YzkwMjc4OTkxYzg1ZDFlMmJhZWI3Li41MGJhMzU0YTA2MmJmZjU2ODY3MWNiMjUz
NmE5YTE4ZWQ0MGU4OGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI5ODQsOCArMjk4NCwxMSBA
QCB2b2lkIFBhZ2U6OnJlY29tcHV0ZVRleHRBdXRvU2l6aW5nSW5BbGxGcmFtZXMoKQogICAgICAg
ICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGRvY3VtZW50LnJlbmRlclZpZXcoKSkgewogICAgICAg
ICAgICAgZm9yIChhdXRvJiByZW5kZXJlciA6IGRlc2NlbmRhbnRzT2ZUeXBlPFJlbmRlckVsZW1l
bnQ+KCpyZW5kZXJWaWV3KSkgewogICAgICAgICAgICAgICAgIGlmIChhdXRvKiBlbGVtZW50ID0g
cmVuZGVyZXIuZWxlbWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChTdHlsZTo6QWRq
dXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKHJlbmRlcmVyLm11dGFibGVTdHlsZSgpLCAq
ZWxlbWVudCkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXROZWVkc0xheW91
dCgpOworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byBhZGp1c3RtZW50ID0gU3R5bGU6OkFk
anVzdGVyOjphZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcocmVuZGVyZXIuc3R5bGUoKSwgKmVs
ZW1lbnQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIG5ld1N0eWxlID0gUmVuZGVy
U3R5bGU6OmNsb25lKHJlbmRlcmVyLnN0eWxlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAg
U3R5bGU6OkFkanVzdGVyOjphZGp1c3RGb3JUZXh0QXV0b3NpemluZyhuZXdTdHlsZSwgKmVsZW1l
bnQsIGFkanVzdG1lbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5
bGUoV1RGTW92ZShuZXdTdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwpOworICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmluZGV4IGVlZTQ4ZmU4MTIyOTkz
MTNhMGU3MWNhZmY4Njg0NzU4ZTRiYTU4N2EuLmQyOWVkZGVjMGM4ZjZmNTBmYzVmY2E0YzVlYTAw
ODdjMjlmNmFhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC01
NjgsMTUgKzU2OCwxNiBAQCBzdGF0aWMgYm9vbCBoYXNUZXh0Q2hpbGQoY29uc3QgRWxlbWVudCYg
ZWxlbWVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWRqdXN0ZXI6OmFkanVzdEZv
clRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKK2F1dG8gQWRqdXN0ZXI6OmFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZyhjb25zdCBSZW5k
ZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIC0+IEFkanVzdG1lbnRGb3JU
ZXh0QXV0b3NpemluZwogeworICAgIEFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZyBhZGp1c3Rt
ZW50Rm9yVGV4dEF1dG9zaXppbmc7CisKICAgICBhdXRvJiBkb2N1bWVudCA9IGVsZW1lbnQuZG9j
dW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCkudGV4dEF1dG9zaXppbmdFbmFi
bGVkKCkgfHwgIWRvY3VtZW50LnNldHRpbmdzKCkudGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVu
dE1vZGUoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gYWRqdXN0bWVu
dEZvclRleHRBdXRvc2l6aW5nOwogCi0gICAgQXV0b3NpemVTdGF0dXM6OnVwZGF0ZVN0YXR1cyhz
dHlsZSk7CiAgICAgaWYgKHN0eWxlLnRleHRTaXplQWRqdXN0KCkuaXNOb25lKCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGFkanVzdG1lbnRGb3JUZXh0QXV0b3Npemlu
ZzsKIAogICAgIGZsb2F0IGluaXRpYWxTY2FsZSA9IGRvY3VtZW50LnBhZ2UoKSA/IGRvY3VtZW50
LnBhZ2UoKS0+aW5pdGlhbFNjYWxlKCkgOiAxOwogICAgIGF1dG8gYWRqdXN0TGluZUhlaWdodElm
TmVlZGVkID0gWyZdKGF1dG8gY29tcHV0ZWRGb250U2l6ZSkgewpAQCAtNTkzLDcgKzU5NCw3IEBA
IGJvb2wgQWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiBzdHls
ZSwgY29uc3QgRWxlbWVudCYgZWxlbWVuCiAgICAgICAgIGlmIChBdXRvc2l6ZVN0YXR1czo6cHJv
YmFibHlDb250YWluc0FTbWFsbEZpeGVkTnVtYmVyT2ZMaW5lcyhzdHlsZSkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgc3R5bGUuc2V0TGluZUhlaWdodCh7IG1pbmltdW1MaW5lSGVp
Z2h0LCBGaXhlZCB9KTsKKyAgICAgICAgYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nLm5ld0xp
bmVIZWlnaHQgPSBtaW5pbXVtTGluZUhlaWdodDsKICAgICB9OwogCiAgICAgYXV0byBmb250RGVz
Y3JpcHRpb24gPSBzdHlsZS5mb250RGVzY3JpcHRpb24oKTsKQEAgLTYwMSwxOCArNjAyLDE2IEBA
IGJvb2wgQWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiBzdHls
ZSwgY29uc3QgRWxlbWVudCYgZWxlbWVuCiAgICAgYXV0byBzcGVjaWZpZWRGb250U2l6ZSA9IGZv
bnREZXNjcmlwdGlvbi5zcGVjaWZpZWRTaXplKCk7CiAgICAgYm9vbCBpc0NhbmRpZGF0ZSA9IHN0
eWxlLmlzSWRlbXBvdGVudFRleHRBdXRvc2l6aW5nQ2FuZGlkYXRlKCk7CiAgICAgaWYgKCFpc0Nh
bmRpZGF0ZSAmJiBXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWwoaW5pdGlhbENvbXB1dGVkRm9udFNp
emUsIHNwZWNpZmllZEZvbnRTaXplKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBy
ZXR1cm4gYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOwogCiAgICAgYXV0byBhZGp1c3RlZEZv
bnRTaXplID0gQXV0b3NpemVTdGF0dXM6OmlkZW1wb3RlbnRUZXh0U2l6ZShmb250RGVzY3JpcHRp
b24uc3BlY2lmaWVkU2l6ZSgpLCBpbml0aWFsU2NhbGUpOwogICAgIGlmIChpc0NhbmRpZGF0ZSAm
JiBXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWwoaW5pdGlhbENvbXB1dGVkRm9udFNpemUsIGFkanVz
dGVkRm9udFNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBhZGp1
c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CiAKICAgICBpZiAoIWhhc1RleHRDaGlsZChlbGVtZW50
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gYWRqdXN0bWVudEZvclRl
eHRBdXRvc2l6aW5nOwogCi0gICAgZm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZShpc0Nh
bmRpZGF0ZSA/IGFkanVzdGVkRm9udFNpemUgOiBzcGVjaWZpZWRGb250U2l6ZSk7Ci0gICAgc3R5
bGUuc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9udERlc2NyaXB0aW9uKSk7Ci0gICAgc3R5
bGUuZm9udENhc2NhZGUoKS51cGRhdGUoJmRvY3VtZW50LmZvbnRTZWxlY3RvcigpKTsKKyAgICBh
ZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcubmV3Rm9udFNpemUgPSBpc0NhbmRpZGF0ZSA/IGFk
anVzdGVkRm9udFNpemUgOiBzcGVjaWZpZWRGb250U2l6ZTsKIAogICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgcmVzdG9yZSBjb21wdXRlZCBsaW5lIGhlaWdodCB0byBpdHMgb3JpZ2luYWwgdmFsdWUg
aW4gdGhlIGNhc2Ugd2hlcmUgdGhlIGVsZW1lbnQgaXMgbm90CiAgICAgLy8gYW4gaWRlbXBvdGVu
dCB0ZXh0IGF1dG9zaXppbmcgY2FuZGlkYXRlOyBvdGhlcndpc2UsIGlmIGFuIGVsZW1lbnQgdGhh
dCBpcyBhIHRleHQgYXV0b3NpemluZyBjYW5kaWRhdGUgY29udGFpbnMKQEAgLTYyMCw3ICs2MTks
MjYgQEAgYm9vbCBBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVtZW4KICAgICBpZiAoaXNDYW5kaWRhdGUpCiAgICAg
ICAgIGFkanVzdExpbmVIZWlnaHRJZk5lZWRlZChhZGp1c3RlZEZvbnRTaXplKTsKIAotICAgIHJl
dHVybiB0cnVlOworICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7Cit9CisK
K2Jvb2wgQWRqdXN0ZXI6OmFkanVzdEZvclRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiBzdHls
ZSwgY29uc3QgRWxlbWVudCYgZWxlbWVudCwgQWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nIGFk
anVzdG1lbnQpCit7CisgICAgQXV0b3NpemVTdGF0dXM6OnVwZGF0ZVN0YXR1cyhzdHlsZSk7Cisg
ICAgaWYgKGF1dG8gbmV3Rm9udFNpemUgPSBhZGp1c3RtZW50Lm5ld0ZvbnRTaXplKSB7CisgICAg
ICAgIGF1dG8gZm9udERlc2NyaXB0aW9uID0gc3R5bGUuZm9udERlc2NyaXB0aW9uKCk7CisgICAg
ICAgIGZvbnREZXNjcmlwdGlvbi5zZXRDb21wdXRlZFNpemUoKm5ld0ZvbnRTaXplKTsKKyAgICAg
ICAgc3R5bGUuc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9udERlc2NyaXB0aW9uKSk7Cisg
ICAgICAgIHN0eWxlLmZvbnRDYXNjYWRlKCkudXBkYXRlKCZlbGVtZW50LmRvY3VtZW50KCkuZm9u
dFNlbGVjdG9yKCkpOworICAgIH0KKyAgICBpZiAoYXV0byBuZXdMaW5lSGVpZ2h0ID0gYWRqdXN0
bWVudC5uZXdMaW5lSGVpZ2h0KQorICAgICAgICBzdHlsZS5zZXRMaW5lSGVpZ2h0KHsgKm5ld0xp
bmVIZWlnaHQsIEZpeGVkIH0pOworICAgIHJldHVybiBhZGp1c3RtZW50Lm5ld0ZvbnRTaXplIHx8
IGFkanVzdG1lbnQubmV3TGluZUhlaWdodDsKK30KKworYm9vbCBBZGp1c3Rlcjo6YWRqdXN0Rm9y
VGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVtZW50
KQoreworICAgIHJldHVybiBhZGp1c3RGb3JUZXh0QXV0b3NpemluZyhzdHlsZSwgZWxlbWVudCwg
YWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nKHN0eWxlLCBlbGVtZW50KSk7CiB9CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5oIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5oCmluZGV4IDRhOWUyMThiODg0MDNiN2Qx
ZjViMjFjNzI0YzVlMmIzOTYwOWQ5YTcuLjgzNDdkNjljNWI0NWQ5YTZmZTlkYTk3YTc4MGI4ZmYx
MmM2MTMyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmgKQEAgLTQ5LDYgKzQ5
LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGp1c3RBbmltYXRlZFN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudEJveFN0eWxlLCBPcHRpb25TZXQ8QW5p
bWF0aW9uSW1wYWN0Pik7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQorICAgIHN0cnVj
dCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcgeworICAgICAgICBPcHRpb25hbDxmbG9hdD4g
bmV3Rm9udFNpemU7CisgICAgICAgIE9wdGlvbmFsPGZsb2F0PiBuZXdMaW5lSGVpZ2h0OworICAg
ICAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbmV3Rm9udFNpemUgfHwgbmV3TGlu
ZUhlaWdodDsgfQorICAgIH07CisgICAgc3RhdGljIEFkanVzdG1lbnRGb3JUZXh0QXV0b3Npemlu
ZyBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcoY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBF
bGVtZW50Jik7CisgICAgc3RhdGljIGJvb2wgYWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVy
U3R5bGUmLCBjb25zdCBFbGVtZW50JiwgQWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nKTsKICAg
ICBzdGF0aWMgYm9vbCBhZGp1c3RGb3JUZXh0QXV0b3NpemluZyhSZW5kZXJTdHlsZSYsIGNvbnN0
IEVsZW1lbnQmKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2NiMTkxZGU5NWI3MTRiY2Q1NTlhYjUyZDJk
YWFiMzg1MmM0NDllMS4uYjZjMTIzOTkwMmQzMDUzNGU0ZDAwZTFmMmFjZmU2YWE1MDY0ZGI3NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gW2lQYWRPU10gUkVHUkVTU0lPTihy
MjQ3NjY3KTogQXV0b3NpemluZyBzdHlsZSBjaGFuZ2VzIGRvbid0IGludmFsaWRhdGUgUmVuZGVy
VGV4dCdzIHByZWZlcnJlZCBsb2dpY2FsIHdpZHRocworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MDg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9pb3MvaWRlbXBv
dGVudG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pZGVtcG90ZW50bW9kZS92aWV3cG9y
dC1jaGFuZ2UtcmVsYXlvdXQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDItMTkgIEphc29uIExhd3Jl
bmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAgWyBNYWMgXSBjc3MzL3NlbGVj
dG9yczMveG1sL2NzczMtbW9kc2VsLWQxLnhtbCBpcyBmbGFreSBmYWlsaW5nLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lkZW1wb3RlbnRtb2RlL3Zp
ZXdwb3J0LWNoYW5nZS1yZWxheW91dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvaW9zL2lkZW1wb3RlbnRtb2RlL3ZpZXdwb3J0LWNoYW5nZS1yZWxheW91
dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiODEyNDA5N2FiM2IyYjhlMWUwZTc0Njg3YTIw
YzA4NTE3NmVjYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0LWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBpZD0idmlld3BvcnQiIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD00MDAs
IGluaXRpYWwtc2NhbGU9MC43MCI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9k
ZSh0cnVlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9ImZvbnQ6IDE3cHgg
J0FyaWFsJzsgd2lkdGg6IDYzMXB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7Ij4K
KzxkaXY+PGVtIGlkPSJlbSI+SmFwYW48L2VtPiB3aXRoIEV2ZXJ5dGhpbmcgYWJvdXQgbW9kZXJu
IGFuZCB0cmFkaXRpb25hbCBlbXBoYXNpczwvZGl2PgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MDAw
cHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9pb3MvaWRlbXBvdGVudG1vZGUv
dmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTgxMTUzNDEwZDYzZGFhZWJkM2Y0NjM4Nzk5Y2I1ZjhlNmU0N2VjNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pZGVt
cG90ZW50bW9kZS92aWV3cG9ydC1jaGFuZ2UtcmVsYXlvdXQuaHRtbApAQCAtMCwwICsxLDQwIEBA
Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGlkPSJ2aWV3cG9ydCIgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTQwMCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRU
ZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFRl
eHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKHRydWUpOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBzdHlsZT0iZm9udDogMTRweCAnQXJpYWwnOyB3aWR0aDogNjMxcHg7Ij4KKzxk
aXY+PGVtIGlkPSJlbSI+SmFwYW48L2VtPiB3aXRoIEV2ZXJ5dGhpbmcgYWJvdXQgbW9kZXJuIGFu
ZCB0cmFkaXRpb25hbCBlbXBoYXNpczwvZGl2PgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MDAwcHg7
IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gX3dhaXRGb3JD
b25kaXRpb24oY29uZGl0aW9uLCBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgaWYgKGNvbmRpdGlv
bigpKQorICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgIGVsc2UKKyAgICBzZXRUaW1lb3V0KF93
YWl0Rm9yQ29uZGl0aW9uLCA1LCBjb25kaXRpb24sIGNvbXBsZXRpb25IYW5kbGVyKTsKK30KKwor
Y29uc3QgZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW0iKTsKK2VtLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOword2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInZpZXdwb3J0IikuY29udGVudCA9ICJ3aWR0aD00MDAsIGluaXRp
YWwtc2NhbGU9MC43MCI7CisgICAgZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cit9LCAwKTsK
K193YWl0Rm9yQ29uZGl0aW9uKGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW0iKSkuZ2V0UHJvcGVydHlWYWx1
ZSgiZm9udC1zaXplIikgIT0gIjE0cHgiOworfSwgZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30pOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391445</attachid>
            <date>2020-02-21 19:06:15 -0800</date>
            <delta_ts>2020-02-23 14:49:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208084-20200221190614.patch</filename>
            <type>text/plain</type>
            <size>10982</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWZlM2UxNTQwNDI0NWQz
ZDFjOTQwNGZiZTRkNzFiMTNlZWYxYTE3Ni4uMzRkMmI3OGY0MGMxMTVlODBhNWQwNWY0OWI0ZDJj
NDk5OGZiN2Y5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTAyLTIxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gW2lQ
YWRPU10gUkVHUkVTU0lPTihyMjQ3NjY3KTogQXV0b3NpemluZyBzdHlsZSBjaGFuZ2VzIGRvbid0
IGludmFsaWRhdGUgUmVuZGVyVGV4dCdzIHByZWZlcnJlZCBsb2dpY2FsIHdpZHRocworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MDg0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81OTQ2Mzg5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBKdXN0IHVzZSBSZW5kZXJFbGVtZW50OjpzZXRTdHlsZSgpLCB3
aGljaCBoYW5kbGVzIGFsbCB0aGUgaW52YWxpZGF0aW9ucywgaW5zdGVhZCBvZiBSZW5kZXJFbGVt
ZW50OjpzZXROZWVkc0xheW91dCgpLgorCisgICAgICAgIERvIGEgbGl0dGxlIHJlZmFjdG9yaW5n
IHNvIHdlIGRvbid0IGNsb25lIFJlbmRlclN0eWxlcyB1bmxlc3Mgd2UgbmVlZCB0by4KKworICAg
ICAgICBUZXN0OiBmYXN0L3RleHQtYXV0b3NpemluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3Bv
cnQtY2hhbmdlLXJlbGF5b3V0Lmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpyZWNvbXB1dGVUZXh0QXV0b1NpemluZ0luQWxsRnJhbWVzKToK
KyAgICAgICAgKiBzdHlsZS9TdHlsZUFkanVzdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpBZGp1c3Rlcjo6YWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcpOgorICAgICAg
ICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpBZGp1
c3Rlcjo6QWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOjpvcGVyYXRvciBib29sIGNvbnN0KToK
KwogMjAyMC0wMi0xOSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeCBjaGVjay13ZWJraXQtc3R5bGUgZXJyb3JzIHJlbGF0ZWQgdG8gQVZGb3VuZGF0aW9uU1BJ
LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGM2MWJmMmFiZDBmNDNiYzM3OTljOTAyNzg5OTFjODVk
MWUyYmFlYjcuLjUwYmEzNTRhMDYyYmZmNTY4NjcxY2IyNTM2YTlhMThlZDQwZTg4YWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtMjk4NCw4ICsyOTg0LDExIEBAIHZvaWQgUGFnZTo6cmVjb21wdXRl
VGV4dEF1dG9TaXppbmdJbkFsbEZyYW1lcygpCiAgICAgICAgIGlmIChhdXRvKiByZW5kZXJWaWV3
ID0gZG9jdW1lbnQucmVuZGVyVmlldygpKSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHJlbmRl
cmVyIDogZGVzY2VuZGFudHNPZlR5cGU8UmVuZGVyRWxlbWVudD4oKnJlbmRlclZpZXcpKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKGF1dG8qIGVsZW1lbnQgPSByZW5kZXJlci5lbGVtZW50KCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKFN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1
dG9zaXppbmcocmVuZGVyZXIubXV0YWJsZVN0eWxlKCksICplbGVtZW50KSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHJlbmRlcmVyLnNldE5lZWRzTGF5b3V0KCk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChhdXRvIGFkanVzdG1lbnQgPSBTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdG1lbnRGb3JU
ZXh0QXV0b3NpemluZyhyZW5kZXJlci5zdHlsZSgpLCAqZWxlbWVudCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGF1dG8gbmV3U3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUocmVuZGVyZXIu
c3R5bGUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBTdHlsZTo6QWRqdXN0ZXI6OmFkanVz
dEZvclRleHRBdXRvc2l6aW5nKG5ld1N0eWxlLCAqZWxlbWVudCwgYWRqdXN0bWVudCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShXVEZNb3ZlKG5ld1N0eWxlKSwg
U3R5bGVEaWZmZXJlbmNlOjpFcXVhbCk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVBZGp1c3Rlci5jcHAKaW5kZXggZWVlNDhmZTgxMjI5OTMxM2EwZTcxY2FmZjg2ODQ3NThlNGJh
NTg3YS4uZDI5ZWRkZWMwYzhmNmY1MGZjNWZjYTRjNWVhMDA4N2MyOWY2YWExNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKQEAgLTU2OCwxNSArNTY4LDE2IEBAIHN0YXRp
YyBib29sIGhhc1RleHRDaGlsZChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotYm9vbCBBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVy
U3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVtZW50KQorYXV0byBBZGp1c3Rlcjo6YWRq
dXN0bWVudEZvclRleHRBdXRvc2l6aW5nKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3Qg
RWxlbWVudCYgZWxlbWVudCkgLT4gQWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nCiB7CisgICAg
QWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nIGFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZzsK
KwogICAgIGF1dG8mIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwogICAgIGlmICghZG9j
dW1lbnQuc2V0dGluZ3MoKS50ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSB8fCAhZG9jdW1lbnQuc2V0
dGluZ3MoKS50ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZSgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CiAK
LSAgICBBdXRvc2l6ZVN0YXR1czo6dXBkYXRlU3RhdHVzKHN0eWxlKTsKICAgICBpZiAoc3R5bGUu
dGV4dFNpemVBZGp1c3QoKS5pc05vbmUoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4gYWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOwogCiAgICAgZmxvYXQgaW5pdGlh
bFNjYWxlID0gZG9jdW1lbnQucGFnZSgpID8gZG9jdW1lbnQucGFnZSgpLT5pbml0aWFsU2NhbGUo
KSA6IDE7CiAgICAgYXV0byBhZGp1c3RMaW5lSGVpZ2h0SWZOZWVkZWQgPSBbJl0oYXV0byBjb21w
dXRlZEZvbnRTaXplKSB7CkBAIC01OTMsNyArNTk0LDcgQEAgYm9vbCBBZGp1c3Rlcjo6YWRqdXN0
Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVt
ZW4KICAgICAgICAgaWYgKEF1dG9zaXplU3RhdHVzOjpwcm9iYWJseUNvbnRhaW5zQVNtYWxsRml4
ZWROdW1iZXJPZkxpbmVzKHN0eWxlKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBz
dHlsZS5zZXRMaW5lSGVpZ2h0KHsgbWluaW11bUxpbmVIZWlnaHQsIEZpeGVkIH0pOworICAgICAg
ICBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcubmV3TGluZUhlaWdodCA9IG1pbmltdW1MaW5l
SGVpZ2h0OwogICAgIH07CiAKICAgICBhdXRvIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlLmZvbnRE
ZXNjcmlwdGlvbigpOwpAQCAtNjAxLDE4ICs2MDIsMTYgQEAgYm9vbCBBZGp1c3Rlcjo6YWRqdXN0
Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVt
ZW4KICAgICBhdXRvIHNwZWNpZmllZEZvbnRTaXplID0gZm9udERlc2NyaXB0aW9uLnNwZWNpZmll
ZFNpemUoKTsKICAgICBib29sIGlzQ2FuZGlkYXRlID0gc3R5bGUuaXNJZGVtcG90ZW50VGV4dEF1
dG9zaXppbmdDYW5kaWRhdGUoKTsKICAgICBpZiAoIWlzQ2FuZGlkYXRlICYmIFdURjo6YXJlRXNz
ZW50aWFsbHlFcXVhbChpbml0aWFsQ29tcHV0ZWRGb250U2l6ZSwgc3BlY2lmaWVkRm9udFNpemUp
KQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4
dEF1dG9zaXppbmc7CiAKICAgICBhdXRvIGFkanVzdGVkRm9udFNpemUgPSBBdXRvc2l6ZVN0YXR1
czo6aWRlbXBvdGVudFRleHRTaXplKGZvbnREZXNjcmlwdGlvbi5zcGVjaWZpZWRTaXplKCksIGlu
aXRpYWxTY2FsZSk7CiAgICAgaWYgKGlzQ2FuZGlkYXRlICYmIFdURjo6YXJlRXNzZW50aWFsbHlF
cXVhbChpbml0aWFsQ29tcHV0ZWRGb250U2l6ZSwgYWRqdXN0ZWRGb250U2l6ZSkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGFkanVzdG1lbnRGb3JUZXh0QXV0b3Npemlu
ZzsKIAogICAgIGlmICghaGFzVGV4dENoaWxkKGVsZW1lbnQpKQotICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CiAKLSAgICBm
b250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKGlzQ2FuZGlkYXRlID8gYWRqdXN0ZWRGb250
U2l6ZSA6IHNwZWNpZmllZEZvbnRTaXplKTsKLSAgICBzdHlsZS5zZXRGb250RGVzY3JpcHRpb24o
V1RGTW92ZShmb250RGVzY3JpcHRpb24pKTsKLSAgICBzdHlsZS5mb250Q2FzY2FkZSgpLnVwZGF0
ZSgmZG9jdW1lbnQuZm9udFNlbGVjdG9yKCkpOworICAgIGFkanVzdG1lbnRGb3JUZXh0QXV0b3Np
emluZy5uZXdGb250U2l6ZSA9IGlzQ2FuZGlkYXRlID8gYWRqdXN0ZWRGb250U2l6ZSA6IHNwZWNp
ZmllZEZvbnRTaXplOwogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZXN0b3JlIGNvbXB1dGVk
IGxpbmUgaGVpZ2h0IHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUg
ZWxlbWVudCBpcyBub3QKICAgICAvLyBhbiBpZGVtcG90ZW50IHRleHQgYXV0b3NpemluZyBjYW5k
aWRhdGU7IG90aGVyd2lzZSwgaWYgYW4gZWxlbWVudCB0aGF0IGlzIGEgdGV4dCBhdXRvc2l6aW5n
IGNhbmRpZGF0ZSBjb250YWlucwpAQCAtNjIwLDcgKzYxOSwyNiBAQCBib29sIEFkanVzdGVyOjph
ZGp1c3RGb3JUZXh0QXV0b3NpemluZyhSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQm
IGVsZW1lbgogICAgIGlmIChpc0NhbmRpZGF0ZSkKICAgICAgICAgYWRqdXN0TGluZUhlaWdodElm
TmVlZGVkKGFkanVzdGVkRm9udFNpemUpOwogCi0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJu
IGFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZzsKK30KKworYm9vbCBBZGp1c3Rlcjo6YWRqdXN0
Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVt
ZW50LCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcgYWRqdXN0bWVudCkKK3sKKyAgICBBdXRv
c2l6ZVN0YXR1czo6dXBkYXRlU3RhdHVzKHN0eWxlKTsKKyAgICBpZiAoYXV0byBuZXdGb250U2l6
ZSA9IGFkanVzdG1lbnQubmV3Rm9udFNpemUpIHsKKyAgICAgICAgYXV0byBmb250RGVzY3JpcHRp
b24gPSBzdHlsZS5mb250RGVzY3JpcHRpb24oKTsKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNl
dENvbXB1dGVkU2l6ZSgqbmV3Rm9udFNpemUpOworICAgICAgICBzdHlsZS5zZXRGb250RGVzY3Jp
cHRpb24oV1RGTW92ZShmb250RGVzY3JpcHRpb24pKTsKKyAgICAgICAgc3R5bGUuZm9udENhc2Nh
ZGUoKS51cGRhdGUoJmVsZW1lbnQuZG9jdW1lbnQoKS5mb250U2VsZWN0b3IoKSk7CisgICAgfQor
ICAgIGlmIChhdXRvIG5ld0xpbmVIZWlnaHQgPSBhZGp1c3RtZW50Lm5ld0xpbmVIZWlnaHQpCisg
ICAgICAgIHN0eWxlLnNldExpbmVIZWlnaHQoeyAqbmV3TGluZUhlaWdodCwgRml4ZWQgfSk7Cisg
ICAgcmV0dXJuIGFkanVzdG1lbnQubmV3Rm9udFNpemUgfHwgYWRqdXN0bWVudC5uZXdMaW5lSGVp
Z2h0OworfQorCitib29sIEFkanVzdGVyOjphZGp1c3RGb3JUZXh0QXV0b3NpemluZyhSZW5kZXJT
dHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGFkanVz
dEZvclRleHRBdXRvc2l6aW5nKHN0eWxlLCBlbGVtZW50LCBhZGp1c3RtZW50Rm9yVGV4dEF1dG9z
aXppbmcoc3R5bGUsIGVsZW1lbnQpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUFkanVzdGVyLmgKaW5kZXggNGE5ZTIxOGI4ODQwM2I3ZDFmNWIyMWM3MjRjNWUyYjM5NjA5ZDlh
Ny4uODM0N2Q2OWM1YjQ1ZDlhNmZlOWRhOTdhNzgwYjhmZjEyYzYxMzIyMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlQWRqdXN0ZXIuaApAQCAtNDksNiArNDksMTMgQEAgcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGFkanVzdEFuaW1hdGVkU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBSZW5kZXJT
dHlsZSogcGFyZW50Qm94U3R5bGUsIE9wdGlvblNldDxBbmltYXRpb25JbXBhY3Q+KTsKIAogI2lm
IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCisgICAgc3RydWN0IEFkanVzdG1lbnRGb3JUZXh0QXV0
b3NpemluZyB7CisgICAgICAgIE9wdGlvbmFsPGZsb2F0PiBuZXdGb250U2l6ZTsKKyAgICAgICAg
T3B0aW9uYWw8ZmxvYXQ+IG5ld0xpbmVIZWlnaHQ7CisgICAgICAgIG9wZXJhdG9yIGJvb2woKSBj
b25zdCB7IHJldHVybiBuZXdGb250U2l6ZSB8fCBuZXdMaW5lSGVpZ2h0OyB9CisgICAgfTsKKyAg
ICBzdGF0aWMgQWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nIGFkanVzdG1lbnRGb3JUZXh0QXV0
b3NpemluZyhjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQmKTsKKyAgICBzdGF0aWMg
Ym9vbCBhZGp1c3RGb3JUZXh0QXV0b3NpemluZyhSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQm
LCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcpOwogICAgIHN0YXRpYyBib29sIGFkanVzdEZv
clRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCYpOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzY2IxOTFkZTk1YjcxNGJjZDU1OWFiNTJkMmRhYWIzODUyYzQ0OWUxLi5iYTg0YjJm
YWQzZjk2NGUwOWEzYmU2ODY1ZGU2MDU0NjJiOGFhZmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjAtMDItMjEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbaU9TXSBbaVBhZE9TXSBSRUdSRVNTSU9OKHIyNDc2NjcpOiBBdXRvc2l6aW5nIHN0
eWxlIGNoYW5nZXMgZG9uJ3QgaW52YWxpZGF0ZSBSZW5kZXJUZXh0J3MgcHJlZmVycmVkIGxvZ2lj
YWwgd2lkdGhzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDgwODQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDYzODk4PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXpp
bmcvaW9zL2lkZW1wb3RlbnRtb2RlL3ZpZXdwb3J0LWNoYW5nZS1yZWxheW91dC1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9pb3MvaWRlbXBvdGVu
dG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTAyLTE5
ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBwbGUuY29tPgogCiAgICAgICAgIFsgTWFj
IF0gY3NzMy9zZWxlY3RvcnMzL3htbC9jc3MzLW1vZHNlbC1kMS54bWwgaXMgZmxha3kgZmFpbGlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pZGVt
cG90ZW50bW9kZS92aWV3cG9ydC1jaGFuZ2UtcmVsYXlvdXQtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pZGVtcG90ZW50bW9kZS92aWV3cG9ydC1j
aGFuZ2UtcmVsYXlvdXQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjgxMjQwOTdhYjNiMmI4
ZTFlMGU3NDY4N2EyMGMwODUxNzZlY2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lkZW1wb3RlbnRtb2RlL3ZpZXdwb3J0LWNoYW5nZS1y
ZWxheW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgaWQ9InZpZXdwb3J0IiBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9NDAwLCBpbml0aWFsLXNjYWxlPTAuNzAiPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5h
YmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdVc2Vz
SWRlbXBvdGVudE1vZGUodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxl
PSJmb250OiAxN3B4ICdBcmlhbCc7IHdpZHRoOiA2MzFweDsgLXdlYmtpdC10ZXh0LXNpemUtYWRq
dXN0OiBub25lOyI+Cis8ZGl2PjxlbSBpZD0iZW0iPkphcGFuPC9lbT4gd2l0aCBFdmVyeXRoaW5n
IGFib3V0IG1vZGVybiBhbmQgdHJhZGl0aW9uYWwgZW1waGFzaXM8L2Rpdj4KKzxkaXYgc3R5bGU9
ImhlaWdodDogNDAwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lk
ZW1wb3RlbnRtb2RlL3ZpZXdwb3J0LWNoYW5nZS1yZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lkZW1wb3RlbnRtb2RlL3ZpZXdwb3J0LWNoYW5nZS1y
ZWxheW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4MTE1MzQxMGQ2M2RhYWViZDNmNDYzODc5OWNiNWY4
ZTZlNDdlYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0Lmh0bWwKQEAg
LTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBpZD0i
dmlld3BvcnQiIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD00MDAsIGluaXRpYWwtc2Nh
bGU9MSI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZSh0cnVlKTsKK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9ImZvbnQ6IDE0cHggJ0FyaWFsJzsgd2lkdGg6
IDYzMXB4OyI+Cis8ZGl2PjxlbSBpZD0iZW0iPkphcGFuPC9lbT4gd2l0aCBFdmVyeXRoaW5nIGFi
b3V0IG1vZGVybiBhbmQgdHJhZGl0aW9uYWwgZW1waGFzaXM8L2Rpdj4KKzxkaXYgc3R5bGU9Imhl
aWdodDogNDAwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIF93YWl0Rm9yQ29uZGl0aW9uKGNvbmRpdGlvbiwgY29tcGxldGlvbkhhbmRsZXIpCit7Cisg
IGlmIChjb25kaXRpb24oKSkKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICBlbHNlCisgICAg
c2V0VGltZW91dChfd2FpdEZvckNvbmRpdGlvbiwgNSwgY29uZGl0aW9uLCBjb21wbGV0aW9uSGFu
ZGxlcik7Cit9CisKK2NvbnN0IGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVtIik7Citl
bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWV3cG9ydCIpLmNvbnRlbnQgPSAid2lk
dGg9NDAwLCBpbml0aWFsLXNjYWxlPTAuNzAiOworICAgIGVtLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpOworfSwgMCk7Citfd2FpdEZvckNvbmRpdGlvbihmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVtIikpLmdl
dFByb3BlcnR5VmFsdWUoImZvbnQtc2l6ZSIpICE9ICIxNHB4IjsKK30sIGZ1bmN0aW9uKCkgewor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="406987"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391770</attachid>
            <date>2020-02-26 12:54:01 -0800</date>
            <delta_ts>2020-02-26 19:18:43 -0800</delta_ts>
            <desc>Patch for rolling back in</desc>
            <filename>bug-208084-20200226125400.patch</filename>
            <type>text/plain</type>
            <size>15861</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2E4MzgxYmQ5YzE5MTZi
ZWVmOGMzZGZmMzA0NDg3ZDQ0NjFjNDY3Mi4uNDAzMmEzYzczYmIwYzJjOWJlZmI2N2RlZjc3ZWYz
YTBhN2IyNDQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTI2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lQYWRPU10g
UkVHUkVTU0lPTihyMjQ3NjY3KTogQXV0b3NpemluZyBzdHlsZSBjaGFuZ2VzIGRvbid0IGludmFs
aWRhdGUgUmVuZGVyVGV4dCdzIHByZWZlcnJlZCBsb2dpY2FsIHdpZHRocworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MDg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81OTQ2Mzg5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBKdXN0IHVzZSBSZW5kZXJFbGVtZW50OjpzZXRTdHlsZSgpLCB3aGljaCBoYW5k
bGVzIGFsbCB0aGUgaW52YWxpZGF0aW9ucywgaW5zdGVhZCBvZiBSZW5kZXJFbGVtZW50OjpzZXRO
ZWVkc0xheW91dCgpLgorCisgICAgICAgIERvIGEgbGl0dGxlIHJlZmFjdG9yaW5nIHNvIHdlIGRv
bid0IGNsb25lIFJlbmRlclN0eWxlcyB1bmxlc3Mgd2UgbmVlZCB0by4KKworICAgICAgICBUZXN0
OiBmYXN0L3RleHQtYXV0b3NpemluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hhbmdl
LXJlbGF5b3V0Lmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpyZWNvbXB1dGVUZXh0QXV0b1NpemluZ0luQWxsRnJhbWVzKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OmlzSWRlbXBvdGVudFRleHRBdXRvc2l6aW5nQ2FuZGlkYXRlIGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvVGV4dFNpemVBZGp1c3RtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9z
aXplU3RhdHVzOjpjb21wdXRlU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9zaXplU3Rh
dHVzOjp1cGRhdGVTdGF0dXMpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9UZXh0U2l6ZUFk
anVzdG1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9zaXplU3RhdHVzOjpvcGVyYXRvcj09
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9zaXplU3RhdHVzOjpvcGVyYXRvciE9IGNv
bnN0KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUFkanVzdGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcpOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlQWRqdXN0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
OjpBZGp1c3Rlcjo6QWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5nOjpvcGVyYXRvciBib29sIGNv
bnN0KToKKwogMjAyMC0wMi0yNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQ2xlYW4gdXAgSGl0VGVzdExvY2F0aW9uLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IDdjMjBmZWMzMDRhNGM5MGU1N2EzODM1ZGQzMjkxMzRiNmVjMjU2ZGMuLmE5MWU4NmU4NmEwMjA5
MTRmNDhlZjk1MTJkODY3MWNiY2Y1YzJkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjk4NSw5
ICsyOTg1LDE0IEBAIHZvaWQgUGFnZTo6cmVjb21wdXRlVGV4dEF1dG9TaXppbmdJbkFsbEZyYW1l
cygpCiAgICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAg
ICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBkb2N1bWVudC5yZW5kZXJWaWV3KCkpIHsKICAgICAg
ICAgICAgIGZvciAoYXV0byYgcmVuZGVyZXIgOiBkZXNjZW5kYW50c09mVHlwZTxSZW5kZXJFbGVt
ZW50PigqcmVuZGVyVmlldykpIHsKKyAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIGZhY3QgdGhh
dCBkZXNjZW5kYW50c09mVHlwZSgpIHJldHVybnMgcGFyZW50IG5vZGVzIGJlZm9yZSBjaGlsZCBu
b2Rlcy4KKyAgICAgICAgICAgICAgICAvLyBUaGUgYWRqdXN0bWVudCBpcyBvbmx5IHZhbGlkIGlm
IHRoZSBwYXJlbnQgbm9kZXMgaGF2ZSBhbHJlYWR5IGJlZW4gdXBkYXRlZC4KICAgICAgICAgICAg
ICAgICBpZiAoYXV0byogZWxlbWVudCA9IHJlbmRlcmVyLmVsZW1lbnQoKSkgewotICAgICAgICAg
ICAgICAgICAgICBpZiAoU3R5bGU6OkFkanVzdGVyOjphZGp1c3RGb3JUZXh0QXV0b3NpemluZyhy
ZW5kZXJlci5tdXRhYmxlU3R5bGUoKSwgKmVsZW1lbnQpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgcmVuZGVyZXIuc2V0TmVlZHNMYXlvdXQoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1
dG8gYWRqdXN0bWVudCA9IFN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0bWVudEZvclRleHRBdXRvc2l6
aW5nKHJlbmRlcmVyLnN0eWxlKCksICplbGVtZW50KSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgYXV0byBuZXdTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZShyZW5kZXJlci5zdHlsZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIFN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1
dG9zaXppbmcobmV3U3R5bGUsICplbGVtZW50LCBhZGp1c3RtZW50KTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKFdURk1vdmUobmV3U3R5bGUpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5k
ZXggOTA1NDIwMDY1ZDFmZWIyNDA0M2YyZWUwYTFjYWNjZjg1MTI2ZmQyMi4uOTVlYzg5ZTRlZTY0
MzY5YWY5NzQyMTNhYmQ2ZjczMTdkMmEwN2JkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC01MDIsMTAgKzUwMiwxMyBAQCBib29sIFJl
bmRlclN0eWxlOjplcXVhbEZvclRleHRBdXRvc2l6aW5nKGNvbnN0IFJlbmRlclN0eWxlJiBvdGhl
cikgY29uc3QKICAgICAgICAgJiYgbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+dGV4dE92ZXJmbG93
ID09IG90aGVyLm1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHRPdmVyZmxvdzsKIH0KIAotYm9v
bCBSZW5kZXJTdHlsZTo6aXNJZGVtcG90ZW50VGV4dEF1dG9zaXppbmdDYW5kaWRhdGUoKSBjb25z
dAorYm9vbCBSZW5kZXJTdHlsZTo6aXNJZGVtcG90ZW50VGV4dEF1dG9zaXppbmdDYW5kaWRhdGUo
T3B0aW9uYWw8QXV0b3NpemVTdGF0dXM+IG92ZXJyaWRlU3RhdHVzKSBjb25zdAogewogICAgIC8v
IFJlZmVyIHRvIDxyZGFyOi8vcHJvYmxlbS81MTgyNjI2Nj4gZm9yIG1vcmUgaW5mb3JtYXRpb24g
cmVnYXJkaW5nIGhvdyB0aGlzIGZ1bmN0aW9uIHdhcyBnZW5lcmF0ZWQuCiAgICAgYXV0byBmaWVs
ZHMgPSBPcHRpb25TZXQ8QXV0b3NpemVTdGF0dXM6OkZpZWxkcz46OmZyb21SYXcobV9pbmhlcml0
ZWRGbGFncy5hdXRvc2l6ZVN0YXR1cyk7CisgICAgaWYgKG92ZXJyaWRlU3RhdHVzKQorICAgICAg
ICBmaWVsZHMgPSBvdmVycmlkZVN0YXR1cy0+ZmllbGRzKCk7CisKICAgICBpZiAoZmllbGRzLmNv
bnRhaW5zKEF1dG9zaXplU3RhdHVzOjpGaWVsZHM6OkF2b2lkU3VidHJlZSkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAppbmRleCBkNDZjZGY2NmU2NDU3Y2ZkMTdkODYzOWVlNDc3NjI4YWVjOGQ3OGNkLi5mNzZm
NjM2ZWI2YTMyYTVhM2Y3MmY3ZDVlMDQzZjUzMDFhMTY5ZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNzQxLDcgKzc0MSw3IEBAIHB1Ymxp
YzoKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgIFRleHRTaXplQWRqdXN0bWVudCB0
ZXh0U2l6ZUFkanVzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPnRleHRT
aXplQWRqdXN0OyB9CiAgICAgQXV0b3NpemVTdGF0dXMgYXV0b3NpemVTdGF0dXMoKSBjb25zdDsK
LSAgICBib29sIGlzSWRlbXBvdGVudFRleHRBdXRvc2l6aW5nQ2FuZGlkYXRlKCkgY29uc3Q7Cisg
ICAgYm9vbCBpc0lkZW1wb3RlbnRUZXh0QXV0b3NpemluZ0NhbmRpZGF0ZShPcHRpb25hbDxBdXRv
c2l6ZVN0YXR1cz4gb3ZlcnJpZGVTdGF0dXMgPSBXVEY6Om51bGxvcHQpIGNvbnN0OwogI2VuZGlm
CiAKICAgICBUZXh0U2VjdXJpdHkgdGV4dFNlY3VyaXR5KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8VGV4dFNlY3VyaXR5PihtX3JhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2VjdXJpdHkpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvVGV4dFNpemVBZGp1
c3RtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9UZXh0U2l6ZUFkanVz
dG1lbnQuY3BwCmluZGV4IGEzZTUyYmE1OTc2N2U2N2JhODIxNDFhM2Y4YzVmNTZlODcxODY0MzQu
LjJkZjNiZTA3MjA0MGZkMjAwZDVjNmY2NzAxNDJlMTEyNWJlZjczZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9UZXh0U2l6ZUFkanVzdG1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9UZXh0U2l6ZUFkanVzdG1lbnQuY3BwCkBA
IC03OSw3ICs3OSw3IEBAIGJvb2wgQXV0b3NpemVTdGF0dXM6OnByb2JhYmx5Q29udGFpbnNBU21h
bGxGaXhlZE51bWJlck9mTGluZXMoY29uc3QgUmVuZGVyU3R5bGUmCiAgICAgICAgICYmIGFwcHJv
eGltYXRlTnVtYmVyT2ZMaW5lcyAtIHN0ZDo6Zmxvb3IoYXBwcm94aW1hdGVOdW1iZXJPZkxpbmVz
KSA8PSB0aHJlc2hvbGRGb3JDb25zaWRlcmluZ0FuQXBwcm94aW1hdGVOdW1iZXJPZkxpbmVzVG9C
ZUNsb3NlVG9BbkludGVnZXI7CiB9CiAKLXZvaWQgQXV0b3NpemVTdGF0dXM6OnVwZGF0ZVN0YXR1
cyhSZW5kZXJTdHlsZSYgc3R5bGUpCithdXRvIEF1dG9zaXplU3RhdHVzOjpjb21wdXRlU3RhdHVz
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkgLT4gQXV0b3NpemVTdGF0dXMKIHsKICAgICBhdXRv
IHJlc3VsdCA9IHN0eWxlLmF1dG9zaXplU3RhdHVzKCkuZmllbGRzKCk7CiAKQEAgLTExMyw3ICsx
MTMsMTIgQEAgdm9pZCBBdXRvc2l6ZVN0YXR1czo6dXBkYXRlU3RhdHVzKFJlbmRlclN0eWxlJiBz
dHlsZSkKICAgICBpZiAoc3R5bGUuaXNGbG9hdGluZygpKQogICAgICAgICByZXN1bHQuYWRkKEZp
ZWxkczo6RmxvYXRpbmcpOwogCi0gICAgc3R5bGUuc2V0QXV0b3NpemVTdGF0dXMocmVzdWx0KTsK
KyAgICByZXR1cm4gQXV0b3NpemVTdGF0dXMocmVzdWx0KTsKK30KKwordm9pZCBBdXRvc2l6ZVN0
YXR1czo6dXBkYXRlU3RhdHVzKFJlbmRlclN0eWxlJiBzdHlsZSkKK3sKKyAgICBzdHlsZS5zZXRB
dXRvc2l6ZVN0YXR1cyhBdXRvc2l6ZVN0YXR1cyhjb21wdXRlU3RhdHVzKHN0eWxlKSkpOwogfQog
CiBmbG9hdCBBdXRvc2l6ZVN0YXR1czo6aWRlbXBvdGVudFRleHRTaXplKGZsb2F0IHNwZWNpZmll
ZFNpemUsIGZsb2F0IHBhZ2VTY2FsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9UZXh0U2l6ZUFkanVzdG1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9UZXh0U2l6ZUFkanVzdG1lbnQuaAppbmRleCAyNDdkNjgyYzY5ODE4NmFmZjI3ZjY0
MTgwMWMwZmEyYWEzYWJmM2E1Li5kYzZmYmE4MzU4OThkNmMxZWY2MWQyZTVhZmY4ODM5NTA3YjYz
MTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvVGV4dFNpemVB
ZGp1c3RtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1RleHRTaXpl
QWRqdXN0bWVudC5oCkBAIC02NSw3ICs2NSwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbnRh
aW5zKEZpZWxkcykgY29uc3Q7CiAKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQXV0b3NpemVT
dGF0dXMmIG90aGVyKSBjb25zdCB7IHJldHVybiBmaWVsZHMoKSA9PSBvdGhlci5maWVsZHMoKTsg
fQorICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBBdXRvc2l6ZVN0YXR1cyYgb3RoZXIpIGNvbnN0
IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CisKICAgICBzdGF0aWMgZmxvYXQgaWRlbXBv
dGVudFRleHRTaXplKGZsb2F0IHNwZWNpZmllZFNpemUsIGZsb2F0IHBhZ2VTY2FsZSk7CisgICAg
c3RhdGljIEF1dG9zaXplU3RhdHVzIGNvbXB1dGVTdGF0dXMoY29uc3QgUmVuZGVyU3R5bGUmKTsK
ICAgICBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0dXMoUmVuZGVyU3R5bGUmKTsKIAogICAgIHN0YXRp
YyBib29sIHByb2JhYmx5Q29udGFpbnNBU21hbGxGaXhlZE51bWJlck9mTGluZXMoY29uc3QgUmVu
ZGVyU3R5bGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKaW5kZXggZWVl
NDhmZTgxMjI5OTMxM2EwZTcxY2FmZjg2ODQ3NThlNGJhNTg3YS4uY2I1OWE4NzdmYzU1MTIxOWU3
YzFhMmY5NzdiNGZiZGNmNDJjNWFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rl
ci5jcHAKQEAgLTU2OCwxNSArNTY4LDIwIEBAIHN0YXRpYyBib29sIGhhc1RleHRDaGlsZChjb25z
dCBFbGVtZW50JiBlbGVtZW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBBZGp1c3Rl
cjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVt
ZW50JiBlbGVtZW50KQorYXV0byBBZGp1c3Rlcjo6YWRqdXN0bWVudEZvclRleHRBdXRvc2l6aW5n
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZWxlbWVudCkgLT4gQWRq
dXN0bWVudEZvclRleHRBdXRvc2l6aW5nCiB7CisgICAgQWRqdXN0bWVudEZvclRleHRBdXRvc2l6
aW5nIGFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZzsKKwogICAgIGF1dG8mIGRvY3VtZW50ID0g
ZWxlbWVudC5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS50ZXh0QXV0
b3NpemluZ0VuYWJsZWQoKSB8fCAhZG9jdW1lbnQuc2V0dGluZ3MoKS50ZXh0QXV0b3NpemluZ1Vz
ZXNJZGVtcG90ZW50TW9kZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVy
biBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CisKKyAgICBhdXRvIG5ld1N0YXR1cyA9IEF1
dG9zaXplU3RhdHVzOjpjb21wdXRlU3RhdHVzKHN0eWxlKTsKKyAgICBpZiAobmV3U3RhdHVzICE9
IHN0eWxlLmF1dG9zaXplU3RhdHVzKCkpCisgICAgICAgIGFkanVzdG1lbnRGb3JUZXh0QXV0b3Np
emluZy5uZXdTdGF0dXMgPSBuZXdTdGF0dXM7CiAKLSAgICBBdXRvc2l6ZVN0YXR1czo6dXBkYXRl
U3RhdHVzKHN0eWxlKTsKICAgICBpZiAoc3R5bGUudGV4dFNpemVBZGp1c3QoKS5pc05vbmUoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gYWRqdXN0bWVudEZvclRleHRB
dXRvc2l6aW5nOwogCiAgICAgZmxvYXQgaW5pdGlhbFNjYWxlID0gZG9jdW1lbnQucGFnZSgpID8g
ZG9jdW1lbnQucGFnZSgpLT5pbml0aWFsU2NhbGUoKSA6IDE7CiAgICAgYXV0byBhZGp1c3RMaW5l
SGVpZ2h0SWZOZWVkZWQgPSBbJl0oYXV0byBjb21wdXRlZEZvbnRTaXplKSB7CkBAIC01OTMsMjYg
KzU5OCwyNCBAQCBib29sIEFkanVzdGVyOjphZGp1c3RGb3JUZXh0QXV0b3NpemluZyhSZW5kZXJT
dHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbgogICAgICAgICBpZiAoQXV0b3NpemVT
dGF0dXM6OnByb2JhYmx5Q29udGFpbnNBU21hbGxGaXhlZE51bWJlck9mTGluZXMoc3R5bGUpKQog
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHN0eWxlLnNldExpbmVIZWlnaHQoeyBtaW5p
bXVtTGluZUhlaWdodCwgRml4ZWQgfSk7CisgICAgICAgIGFkanVzdG1lbnRGb3JUZXh0QXV0b3Np
emluZy5uZXdMaW5lSGVpZ2h0ID0gbWluaW11bUxpbmVIZWlnaHQ7CiAgICAgfTsKIAogICAgIGF1
dG8gZm9udERlc2NyaXB0aW9uID0gc3R5bGUuZm9udERlc2NyaXB0aW9uKCk7CiAgICAgYXV0byBp
bml0aWFsQ29tcHV0ZWRGb250U2l6ZSA9IGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKTsK
ICAgICBhdXRvIHNwZWNpZmllZEZvbnRTaXplID0gZm9udERlc2NyaXB0aW9uLnNwZWNpZmllZFNp
emUoKTsKLSAgICBib29sIGlzQ2FuZGlkYXRlID0gc3R5bGUuaXNJZGVtcG90ZW50VGV4dEF1dG9z
aXppbmdDYW5kaWRhdGUoKTsKKyAgICBib29sIGlzQ2FuZGlkYXRlID0gc3R5bGUuaXNJZGVtcG90
ZW50VGV4dEF1dG9zaXppbmdDYW5kaWRhdGUobmV3U3RhdHVzKTsKICAgICBpZiAoIWlzQ2FuZGlk
YXRlICYmIFdURjo6YXJlRXNzZW50aWFsbHlFcXVhbChpbml0aWFsQ29tcHV0ZWRGb250U2l6ZSwg
c3BlY2lmaWVkRm9udFNpemUpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVy
biBhZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmc7CiAKICAgICBhdXRvIGFkanVzdGVkRm9udFNp
emUgPSBBdXRvc2l6ZVN0YXR1czo6aWRlbXBvdGVudFRleHRTaXplKGZvbnREZXNjcmlwdGlvbi5z
cGVjaWZpZWRTaXplKCksIGluaXRpYWxTY2FsZSk7CiAgICAgaWYgKGlzQ2FuZGlkYXRlICYmIFdU
Rjo6YXJlRXNzZW50aWFsbHlFcXVhbChpbml0aWFsQ29tcHV0ZWRGb250U2l6ZSwgYWRqdXN0ZWRG
b250U2l6ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGFkanVzdG1l
bnRGb3JUZXh0QXV0b3NpemluZzsKIAogICAgIGlmICghaGFzVGV4dENoaWxkKGVsZW1lbnQpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBhZGp1c3RtZW50Rm9yVGV4dEF1
dG9zaXppbmc7CiAKLSAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKGlzQ2FuZGlk
YXRlID8gYWRqdXN0ZWRGb250U2l6ZSA6IHNwZWNpZmllZEZvbnRTaXplKTsKLSAgICBzdHlsZS5z
ZXRGb250RGVzY3JpcHRpb24oV1RGTW92ZShmb250RGVzY3JpcHRpb24pKTsKLSAgICBzdHlsZS5m
b250Q2FzY2FkZSgpLnVwZGF0ZSgmZG9jdW1lbnQuZm9udFNlbGVjdG9yKCkpOworICAgIGFkanVz
dG1lbnRGb3JUZXh0QXV0b3NpemluZy5uZXdGb250U2l6ZSA9IGlzQ2FuZGlkYXRlID8gYWRqdXN0
ZWRGb250U2l6ZSA6IHNwZWNpZmllZEZvbnRTaXplOwogCiAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCByZXN0b3JlIGNvbXB1dGVkIGxpbmUgaGVpZ2h0IHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSBpbiB0
aGUgY2FzZSB3aGVyZSB0aGUgZWxlbWVudCBpcyBub3QKICAgICAvLyBhbiBpZGVtcG90ZW50IHRl
eHQgYXV0b3NpemluZyBjYW5kaWRhdGU7IG90aGVyd2lzZSwgaWYgYW4gZWxlbWVudCB0aGF0IGlz
IGEgdGV4dCBhdXRvc2l6aW5nIGNhbmRpZGF0ZSBjb250YWlucwpAQCAtNjIwLDcgKzYyMywyOCBA
QCBib29sIEFkanVzdGVyOjphZGp1c3RGb3JUZXh0QXV0b3NpemluZyhSZW5kZXJTdHlsZSYgc3R5
bGUsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbgogICAgIGlmIChpc0NhbmRpZGF0ZSkKICAgICAgICAg
YWRqdXN0TGluZUhlaWdodElmTmVlZGVkKGFkanVzdGVkRm9udFNpemUpOwogCi0gICAgcmV0dXJu
IHRydWU7CisgICAgcmV0dXJuIGFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZzsKK30KKworYm9v
bCBBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmIHN0eWxlLCBj
b25zdCBFbGVtZW50JiBlbGVtZW50LCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcgYWRqdXN0
bWVudCkKK3sKKyAgICBBdXRvc2l6ZVN0YXR1czo6dXBkYXRlU3RhdHVzKHN0eWxlKTsKKyAgICBp
ZiAoYXV0byBuZXdGb250U2l6ZSA9IGFkanVzdG1lbnQubmV3Rm9udFNpemUpIHsKKyAgICAgICAg
YXV0byBmb250RGVzY3JpcHRpb24gPSBzdHlsZS5mb250RGVzY3JpcHRpb24oKTsKKyAgICAgICAg
Zm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZSgqbmV3Rm9udFNpemUpOworICAgICAgICBz
dHlsZS5zZXRGb250RGVzY3JpcHRpb24oV1RGTW92ZShmb250RGVzY3JpcHRpb24pKTsKKyAgICAg
ICAgc3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUoJmVsZW1lbnQuZG9jdW1lbnQoKS5mb250U2Vs
ZWN0b3IoKSk7CisgICAgfQorICAgIGlmIChhdXRvIG5ld0xpbmVIZWlnaHQgPSBhZGp1c3RtZW50
Lm5ld0xpbmVIZWlnaHQpCisgICAgICAgIHN0eWxlLnNldExpbmVIZWlnaHQoeyAqbmV3TGluZUhl
aWdodCwgRml4ZWQgfSk7CisgICAgaWYgKGF1dG8gbmV3U3RhdHVzID0gYWRqdXN0bWVudC5uZXdT
dGF0dXMpCisgICAgICAgIHN0eWxlLnNldEF1dG9zaXplU3RhdHVzKCpuZXdTdGF0dXMpOworICAg
IHJldHVybiBhZGp1c3RtZW50Lm5ld0ZvbnRTaXplIHx8IGFkanVzdG1lbnQubmV3TGluZUhlaWdo
dDsKK30KKworYm9vbCBBZGp1c3Rlcjo6YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBhZGp1c3RG
b3JUZXh0QXV0b3NpemluZyhzdHlsZSwgZWxlbWVudCwgYWRqdXN0bWVudEZvclRleHRBdXRvc2l6
aW5nKHN0eWxlLCBlbGVtZW50KSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVB
ZGp1c3Rlci5oCmluZGV4IDRhOWUyMThiODg0MDNiN2QxZjViMjFjNzI0YzVlMmIzOTYwOWQ5YTcu
LjFhMzE5NDY3N2I0N2FiNmFmOWIzOThjZmI5NmVkZmUzZTBmZDhiOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUFkanVzdGVyLmgKQEAgLTQ5LDYgKzQ5LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBhZGp1c3RBbmltYXRlZFN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5
bGUqIHBhcmVudEJveFN0eWxlLCBPcHRpb25TZXQ8QW5pbWF0aW9uSW1wYWN0Pik7CiAKICNpZiBF
TkFCTEUoVEVYVF9BVVRPU0laSU5HKQorICAgIHN0cnVjdCBBZGp1c3RtZW50Rm9yVGV4dEF1dG9z
aXppbmcgeworICAgICAgICBPcHRpb25hbDxmbG9hdD4gbmV3Rm9udFNpemU7CisgICAgICAgIE9w
dGlvbmFsPGZsb2F0PiBuZXdMaW5lSGVpZ2h0OworICAgICAgICBPcHRpb25hbDxBdXRvc2l6ZVN0
YXR1cz4gbmV3U3RhdHVzOworICAgICAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3Qg
eyByZXR1cm4gbmV3Rm9udFNpemUgfHwgbmV3TGluZUhlaWdodCB8fCBuZXdTdGF0dXM7IH0KKyAg
ICB9OworICAgIHN0YXRpYyBBZGp1c3RtZW50Rm9yVGV4dEF1dG9zaXppbmcgYWRqdXN0bWVudEZv
clRleHRBdXRvc2l6aW5nKGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCYpOworICAg
IHN0YXRpYyBib29sIGFkanVzdEZvclRleHRBdXRvc2l6aW5nKFJlbmRlclN0eWxlJiwgY29uc3Qg
RWxlbWVudCYsIEFkanVzdG1lbnRGb3JUZXh0QXV0b3NpemluZyk7CiAgICAgc3RhdGljIGJvb2wg
YWRqdXN0Rm9yVGV4dEF1dG9zaXppbmcoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50Jik7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDFjYzBhNjQ1YWEwZTQ5MTBkNWUxOTY0OWM3Y2Y4YTU3ODM4Y2M4Yjgu
LjBlYTlmNmVjMmM4ODllOTU0MDY1NGZlNDdkMDNlZmE4YzhkZTY1NzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMC0wMi0yNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgorCisgICAgICAgIFtpUGFkT1NdIFJFR1JFU1NJT04ocjI0NzY2Nyk6IEF1dG9zaXppbmcg
c3R5bGUgY2hhbmdlcyBkb24ndCBpbnZhbGlkYXRlIFJlbmRlclRleHQncyBwcmVmZXJyZWQgbG9n
aWNhbCB3aWR0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwODA4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk0NjM4OTg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3Npemlu
Zy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0LWV4cGVjdGVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pZGVtcG90ZW50
bW9kZS92aWV3cG9ydC1jaGFuZ2UtcmVsYXlvdXQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDItMjYg
IEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRl
IFdQVCB0ZXN0cyBmb3IgSW50ZXJzZWN0aW9uIE9ic2VydmVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hh
bmdlLXJlbGF5b3V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9pb3MvaWRlbXBvdGVudG1vZGUvdmlld3BvcnQtY2hhbmdlLXJlbGF5b3V0LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2I4MTI0MDk3YWIzYjJiOGUxZTBlNzQ2ODdhMjBjMDg1MTc2ZWNh
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lv
cy9pZGVtcG90ZW50bW9kZS92aWV3cG9ydC1jaGFuZ2UtcmVsYXlvdXQtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGlk
PSJ2aWV3cG9ydCIgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTQwMCwgaW5pdGlhbC1z
Y2FsZT0wLjcwIj4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKHRydWUpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iZm9udDogMTdweCAnQXJpYWwnOyB3
aWR0aDogNjMxcHg7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsiPgorPGRpdj48ZW0g
aWQ9ImVtIj5KYXBhbjwvZW0+IHdpdGggRXZlcnl0aGluZyBhYm91dCBtb2Rlcm4gYW5kIHRyYWRp
dGlvbmFsIGVtcGhhc2lzPC9kaXY+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQwMDBweDsgYmFja2dy
b3VuZDogZ3JlZW47Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pZGVtcG90ZW50bW9kZS92aWV3cG9ydC1j
aGFuZ2UtcmVsYXlvdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lv
cy9pZGVtcG90ZW50bW9kZS92aWV3cG9ydC1jaGFuZ2UtcmVsYXlvdXQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xODExNTM0MTBkNjNkYWFlYmQzZjQ2Mzg3OTljYjVmOGU2ZTQ3ZWM1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lkZW1wb3RlbnRtb2Rl
L3ZpZXdwb3J0LWNoYW5nZS1yZWxheW91dC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVl
IF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaWQ9InZpZXdwb3J0IiBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9NDAwLCBpbml0aWFsLXNjYWxlPTEiPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXpp
bmdVc2VzSWRlbXBvdGVudE1vZGUodHJ1ZSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IHN0eWxlPSJmb250OiAxNHB4ICdBcmlhbCc7IHdpZHRoOiA2MzFweDsiPgorPGRpdj48ZW0gaWQ9
ImVtIj5KYXBhbjwvZW0+IHdpdGggRXZlcnl0aGluZyBhYm91dCBtb2Rlcm4gYW5kIHRyYWRpdGlv
bmFsIGVtcGhhc2lzPC9kaXY+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDQwMDBweDsgYmFja2dyb3Vu
ZDogZ3JlZW47Ij48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlvbiBfd2FpdEZvckNvbmRpdGlvbihj
b25kaXRpb24sIGNvbXBsZXRpb25IYW5kbGVyKQoreworICBpZiAoY29uZGl0aW9uKCkpCisgICAg
Y29tcGxldGlvbkhhbmRsZXIoKTsKKyAgZWxzZQorICAgIHNldFRpbWVvdXQoX3dhaXRGb3JDb25k
aXRpb24sIDUsIGNvbmRpdGlvbiwgY29tcGxldGlvbkhhbmRsZXIpOworfQorCitjb25zdCBlbSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbSIpOworZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCk7Cit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidmlld3BvcnQiKS5jb250ZW50ID0gIndpZHRoPTQwMCwgaW5pdGlhbC1zY2FsZT0w
LjcwIjsKKyAgICBlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKK30sIDApOworX3dhaXRGb3JD
b25kaXRpb24oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbSIpKS5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LXNp
emUiKSAhPSAiMTRweCI7Cit9LCBmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>