<?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>205207</bug_id>
          
          <creation_ts>2019-12-13 08:53:56 -0800</creation_ts>
          <short_desc>[LFC][IFC] Fix fast/text/simple-line-with-br.html</short_desc>
          <delta_ts>2019-12-30 11:11:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1598358</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-13 08:53:56 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598359</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-13 08:54:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/57913504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598361</commentid>
    <comment_count>2</comment_count>
      <attachid>385608</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-12-13 09:00:46 -0800</bug_when>
    <thetext>Created attachment 385608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598365</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-13 09:10:44 -0800</bug_when>
    <thetext>Committed r253480: &lt;https://trac.webkit.org/changeset/253480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598591</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-13 19:00:07 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598592</commentid>
    <comment_count>5</comment_count>
      <attachid>385668</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-12-13 19:00:08 -0800</bug_when>
    <thetext>Created attachment 385668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598627</commentid>
    <comment_count>6</comment_count>
      <attachid>385668</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-12-14 02:36:27 -0800</bug_when>
    <thetext>Comment on attachment 385668
Patch

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

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:419
&gt; +        auto invert = false;

Invert what?

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:427
&gt; +        if (!(invert ^ isFirstLine))

invert == isFirstLine is easier to understand than bitwise math. Or something like

auto shouldIndent = invert != isFirstLine;
if (!shouldIndent)
  return {};

&gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:431
&gt; +        return geometry().computedTextIndent(root, usedHorizontalValues.constraints).valueOr(0);
&gt; +    };
&gt; +    lineLogicalLeft += computedTextIndent().valueOr(0);

You should decide which level (lambda or caller) converts Optionals to 0s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598628</commentid>
    <comment_count>7</comment_count>
      <attachid>385685</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-12-14 04:28:05 -0800</bug_when>
    <thetext>Created attachment 385685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598630</commentid>
    <comment_count>8</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-14 04:45:11 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #6)
&gt; Comment on attachment 385668 [details]
&gt; Patch
lol I used the wrong bug.

&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385668&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:419
&gt; &gt; +        auto invert = false;
&gt; 
&gt; Invert what?
&gt; 
&gt; &gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:427
&gt; &gt; +        if (!(invert ^ isFirstLine))
&gt; 
&gt; invert == isFirstLine is easier to understand than bitwise math. Or
&gt; something like
&gt; 
&gt; auto shouldIndent = invert != isFirstLine;
&gt; if (!shouldIndent)
&gt;   return {};
make sense.

&gt; 
&gt; &gt; Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:431
&gt; &gt; +        return geometry().computedTextIndent(root, usedHorizontalValues.constraints).valueOr(0);
&gt; &gt; +    };
&gt; &gt; +    lineLogicalLeft += computedTextIndent().valueOr(0);
&gt; 
&gt; You should decide which level (lambda or caller) converts Optionals to 0s.
copy pasta :(</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385608</attachid>
            <date>2019-12-13 09:00:46 -0800</date>
            <delta_ts>2019-12-13 19:00:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205207-20191213090046.patch</filename>
            <type>text/plain</type>
            <size>8531</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmJhZWVmMDdmZDg2NGY5
MjhjNmVkODZiNzViN2I2YTFiNzhjZWYwMC4uODBkMmI3NzgzYjczMTU5ODM2OGQyNjY3YTdjM2M5
ZGUwZmZmYWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTEyLTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBGaXggZmFz
dC90ZXh0L3NpbXBsZS1saW5lLXdpdGgtYnIuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjA3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
NzkxMzUwND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBcHBseSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXRleHQtMy8jd2hpdGUtc3BhY2UtcHJv
cGVydHkncyBtYXRyaXggdG8gZW5kLW9mLXRoZS1saW5lIHdoaXRlc3BhY2UuCisgICAgICAgIChL
ZWVwIHdoaXRlLXNwYWNlOiBtb3JtYWwgbm8td3JhcCBwcmUtd3JhcCBhbmQgcHJlLWxpbmUgY29u
dGVudCkKKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVh
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6c2hvdWxkS2VlcEVuZE9mTGluZVdo
aXRlc3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6YnJlYWtp
bmdDb250ZXh0Rm9ySW5saW5lQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCcmVha2VyOjpDb250ZW50Ojppc1Zpc3VhbGx5RW1wdHlXaGl0ZXNwYWNlQ29udGVudE9ubHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0Ojppc1RyYWlsaW5nV2hpdGVzcGFjZVdp
dGhQcmVXcmFwKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnJlYWtlci5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxk
ZXI6OklubGluZUl0ZW1SdW46OmlzVHJpbW1hYmxlV2hpdGVzcGFjZSBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29udGV4dDo6cGxhY2VJbmxpbmVJdGVtKToK
KwogMjAxOS0xMi0xMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0lGQ10gRml4IGZhc3QvdGV4dC9zaW1wbGUtbGluZS13aXRoLW11bHRpcGxlLXJlbmRl
cmVycy5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lQnJlYWtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5jcHAKaW5kZXggZWQ3NDQyNDM3YjVlYWVlNThl
ZDg5MWZkNzc4YTliODkwZDEzZjU5My4uNjBlZDM3MjRjNGFjYjgyYjk5NjFhMmFjMzFiMDBiYmI0
ZTFmNjBmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZUJyZWFrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmNwcApAQCAtNjgsMTEgKzY4LDE0IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc1RleHRTcGxpdEF0QXJiaXRyYXJ5UG9zaXRpb25BbGxvd2VkKGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5s
aW5lIGJvb2wgaXNUcmFpbGluZ1doaXRlc3BhY2VXaXRoUHJlV3JhcChjb25zdCBJbmxpbmVJdGVt
JiB0cmFpbGluZ0lubGluZUl0ZW0pCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkS2VlcEVuZE9m
TGluZVdoaXRlc3BhY2UoY29uc3QgTGluZUJyZWFrZXI6OkNvbnRlbnQmIGNhbmRpZGF0ZVJ1bnMp
CiB7Ci0gICAgaWYgKCF0cmFpbGluZ0lubGluZUl0ZW0uaXNUZXh0KCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICByZXR1cm4gdHJhaWxpbmdJbmxpbmVJdGVtLnN0eWxlKCkud2hpdGVTcGFj
ZSgpID09IFdoaXRlU3BhY2U6OlByZVdyYXAgJiYgZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KHRy
YWlsaW5nSW5saW5lSXRlbSkuaXNXaGl0ZXNwYWNlKCk7CisgICAgLy8gR3JhYiB0aGUgc3R5bGUg
YW5kIGNoZWNrIGZvciB3aGl0ZS1zcGFjZSBwcm9wZXJ0eSB0byBkZWNpZGVkIHdoZXRoZXIgd2Ug
c2hvdWxkIGxldCB0aGlzIHdoaXRlc3BhY2UgY29udGVudCBvdmVyZmxvdyB0aGUgY3VycmVudCBs
aW5lLgorICAgIC8vIE5vdGUgdGhhdCB0aGUgImtlZXAiIGluIHRoZSBjb250ZXh0IG1lYW5zIHdl
IGxldCB0aGUgd2hpdGVzcGFjZSBjb250ZW50IHNpdCBvbiB0aGUgY3VycmVudCBsaW5lLgorICAg
IC8vIEl0IG1pZ2h0IHZlcnkgd2VsbCBnZXQgdHJpbW1lZCB3aGVuIHdlIGNsb3NlIHRoZSBsaW5l
IChub3JtYWwvbm93cmFwL3ByZS1saW5lKS4KKyAgICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3Jn
L1RSL2Nzcy10ZXh0LTMvI3doaXRlLXNwYWNlLXByb3BlcnR5CisgICAgYXV0byB3aGl0ZXNwYWNl
ID0gY2FuZGlkYXRlUnVucy5ydW5zKClbKmNhbmRpZGF0ZVJ1bnMuZmlyc3RUZXh0UnVuSW5kZXgo
KV0uaW5saW5lSXRlbS5zdHlsZSgpLndoaXRlU3BhY2UoKTsKKyAgICByZXR1cm4gd2hpdGVzcGFj
ZSA9PSBXaGl0ZVNwYWNlOjpOb3JtYWwgfHwgd2hpdGVzcGFjZSA9PSBXaGl0ZVNwYWNlOjpOb1dy
YXAgfHwgd2hpdGVzcGFjZSA9PSBXaGl0ZVNwYWNlOjpQcmVXcmFwIHx8IHdoaXRlc3BhY2UgPT0g
V2hpdGVTcGFjZTo6UHJlTGluZTsKIH0KIAogTGluZUJyZWFrZXI6OkJyZWFraW5nQ29udGV4dCBM
aW5lQnJlYWtlcjo6YnJlYWtpbmdDb250ZXh0Rm9ySW5saW5lQ29udGVudChjb25zdCBDb250ZW50
JiBjYW5kaWRhdGVSdW5zLCBjb25zdCBMaW5lU3RhdHVzJiBsaW5lU3RhdHVzKQpAQCAtOTUsNiAr
OTgsMTEgQEAgTGluZUJyZWFrZXI6OkJyZWFraW5nQ29udGV4dCBMaW5lQnJlYWtlcjo6YnJlYWtp
bmdDb250ZXh0Rm9ySW5saW5lQ29udGVudChjb25zdAogICAgICAgICBpZiAoY2FuZGlkYXRlUnVu
cy53aWR0aCgpIDw9IGxpbmVTdGF0dXMuYXZhaWxhYmxlV2lkdGggKyBsaW5lU3RhdHVzLnRyaW1t
YWJsZVdpZHRoKQogICAgICAgICAgICAgcmV0dXJuIHsgQnJlYWtpbmdDb250ZXh0OjpDb250ZW50
V3JhcHBpbmdSdWxlOjpLZWVwLCB7IH0gfTsKICAgICB9CisgICAgaWYgKGNhbmRpZGF0ZVJ1bnMu
aXNWaXN1YWxseUVtcHR5V2hpdGVzcGFjZUNvbnRlbnRPbmx5KCkgJiYgc2hvdWxkS2VlcEVuZE9m
TGluZVdoaXRlc3BhY2UoY2FuZGlkYXRlUnVucykpIHsKKyAgICAgICAgLy8gVGhpcyBvdmVyZmxv
d2luZyBjb250ZW50IGFwcGFyZW50bHkgZmFsbHMgaW50byB0aGUgcmVtb3ZlL2hhbmcgZW5kLW9m
LWxpbmUtc3BhY2VzIGNhdGVyZ29yeS4KKyAgICAgICAgLy8gc2VlIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtdGV4dC0zLyN3aGl0ZS1zcGFjZS1wcm9wZXJ0eSBtYXRyaXgKKyAgICAgICAgcmV0
dXJuIHsgQnJlYWtpbmdDb250ZXh0OjpDb250ZW50V3JhcHBpbmdSdWxlOjpLZWVwLCB7IH0gfTsK
KyAgICB9CiAKICAgICBpZiAoY2FuZGlkYXRlUnVucy5oYXNUZXh0Q29udGVudE9ubHkoKSkgewog
ICAgICAgICBhdXRvJiBydW5zID0gY2FuZGlkYXRlUnVucy5ydW5zKCk7CkBAIC0xMTcsMTAgKzEy
NSw2IEBAIExpbmVCcmVha2VyOjpCcmVha2luZ0NvbnRleHQgTGluZUJyZWFrZXI6OmJyZWFraW5n
Q29udGV4dEZvcklubGluZUNvbnRlbnQoY29uc3QKICAgICAgICAgfQogICAgICAgICAvLyBJZiB3
ZSBhcmUgbm90IGFsbG93ZWQgdG8gYnJlYWsgdGhpcyBjb250ZW50LCB3ZSBzdGlsbCBuZWVkIHRv
IGRlY2lkZSB3aGV0aGVyIGtlZXAgaXQgb3IgcHVzaCBpdCB0byB0aGUgbmV4dCBsaW5lLgogICAg
ICAgICBhdXRvIGNvbnRlbnRTaG91bGRPdmVyZmxvdyA9IGxpbmVTdGF0dXMubGluZUlzRW1wdHkg
fHwgIWlzVGV4dENvbnRlbnRXcmFwcGluZ0FsbG93ZWQocnVuc1swXS5pbmxpbmVJdGVtLnN0eWxl
KCkpOwotICAgICAgICAvLyBGSVhNRTogd2hpdGUtc3BhY2U6IHByZS13cmFwIG5lZWRzIGNsYXJp
ZmljYXRpb24uIEFjY29yZGluZyB0byBDU1MgVGV4dCBNb2R1bGUgTGV2ZWwgMywgY29udGVudCB3
cmFwcGluZyBpcyBhcyAnbm9ybWFsJyBidXQgYXBwYXJlbnRseQotICAgICAgICAvLyB3ZSBuZWVk
IHRvIGtlZXAgdGhlIG92ZXJsYXBwaW5nIHdoaXRlc3BhY2Ugb24gdGhlIGxpbmUgKGFuZCBoYW5n
IGl0IEknZCBhc3N1bWUpLgotICAgICAgICBpZiAoaXNUcmFpbGluZ1doaXRlc3BhY2VXaXRoUHJl
V3JhcChydW5zLmxhc3QoKS5pbmxpbmVJdGVtKSkKLSAgICAgICAgICAgIGNvbnRlbnRTaG91bGRP
dmVyZmxvdyA9IHRydWU7CiAgICAgICAgIHJldHVybiB7IGNvbnRlbnRTaG91bGRPdmVyZmxvdyA/
IEJyZWFraW5nQ29udGV4dDo6Q29udGVudFdyYXBwaW5nUnVsZTo6S2VlcCA6IEJyZWFraW5nQ29u
dGV4dDo6Q29udGVudFdyYXBwaW5nUnVsZTo6UHVzaCwgeyB9IH07CiAgICAgfQogICAgIC8vIEZp
cnN0IG5vbi10ZXh0IGlubGluZSBjb250ZW50IGFsd2F5cyBzdGF5cyBvbiBsaW5lLgpAQCAtMzg1
LDYgKzM4OSwyMSBAQCBib29sIExpbmVCcmVha2VyOjpDb250ZW50OjpoYXNUZXh0Q29udGVudE9u
bHkoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBMaW5lQnJlYWtlcjo6Q29u
dGVudDo6aXNWaXN1YWxseUVtcHR5V2hpdGVzcGFjZUNvbnRlbnRPbmx5KCkgY29uc3QKK3sKKyAg
ICAvLyBbPHNwYW4+PC9zcGFuPiBdIFs8c3Bhbj4gPC9zcGFuPl0gWyA8c3BhbiBzdHlsZT0icGFk
ZGluZzogMHB4OyI+PC9zcGFuPl0gYXJlIGFsbCBjb25zaWRlcmVkIHZpc3VhbGx5IGVtcHR5IHdo
aXRlc3BhY2UgY29udGVudC4KKyAgICAvLyBbPHNwYW4gc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlk
IHJlZCI+PC9zcGFuPiBdIHdoaWxlIHRoaXMgaXMgd2hpdGVzcGFjZSBjb250ZW50IG9ubHksIGl0
IGlzIG5vdCBjb25zaWRlcmVkIHZpc3VhbGx5IGVtcHR5LgorICAgIC8vIER1ZSB0byBjb21taXQg
Ym91bmRhcnkgcnVsZXMsIHdlIGp1c3QgbmVlZCB0byBjaGVjayB0aGUgZmlyc3Qgbm9uLXR5cGVs
ZXNzIGlubGluZSBpdGVtIChjYW4ndCBoYXZlIGJvdGggW2ltZ10gYW5kIFt0ZXh0XSkKKyAgICBm
b3IgKGF1dG8mIHJ1biA6IG1fY29udGlub3VzUnVucykgeworICAgICAgICBhdXRvJiBpbmxpbmVJ
dGVtID0gcnVuLmlubGluZUl0ZW07CisgICAgICAgIC8vIEZJWE1FOiBjaGVjayBmb3IgcGFkZGlu
ZyBib3JkZXIgZXRjLgorICAgICAgICBpZiAoaW5saW5lSXRlbS5pc0NvbnRhaW5lclN0YXJ0KCkg
fHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lckVuZCgpKQorICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgIHJldHVybiBpbmxpbmVJdGVtLmlzVGV4dCgpICYmIGRvd25jYXN0PElubGluZVRleHRJ
dGVtPihpbmxpbmVJdGVtKS5pc1doaXRlc3BhY2UoKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiBPcHRpb25hbDx1bnNpZ25lZD4gTGluZUJyZWFrZXI6OkNvbnRlbnQ6OmZpcnN0VGV4
dFJ1bkluZGV4KCkgY29uc3QKIHsKICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwg
bV9jb250aW5vdXNSdW5zLnNpemUoKTsgKytpbmRleCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJyZWFrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmgKaW5k
ZXggZGZkMTE4NTlhNjc0MDJmZWI5MzIzOTIzZTkyMDNiZTM4MGExMjMzNy4uMWRjODlhZDIyNmE1
ZGIzODMxNmYxY2E3YmJkM2U4YzhiNzc0ODliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJyZWFrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5oCkBAIC03
OSw2ICs3OSw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgUnVuTGlzdCYgcnVucygpIGNvbnN0
IHsgcmV0dXJuIG1fY29udGlub3VzUnVuczsgfQogICAgICAgICBib29sIGlzRW1wdHkoKSBjb25z
dCB7IHJldHVybiBtX2NvbnRpbm91c1J1bnMuaXNFbXB0eSgpOyB9CiAgICAgICAgIGJvb2wgaGFz
VGV4dENvbnRlbnRPbmx5KCkgY29uc3Q7CisgICAgICAgIGJvb2wgaXNWaXN1YWxseUVtcHR5V2hp
dGVzcGFjZUNvbnRlbnRPbmx5KCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaGFzTm9uQ29udGVudFJ1
bnNPbmx5KCkgY29uc3Q7CiAgICAgICAgIHVuc2lnbmVkIHNpemUoKSBjb25zdCB7IHJldHVybiBt
X2NvbnRpbm91c1J1bnMuc2l6ZSgpOyB9CiAgICAgICAgIElubGluZUxheW91dFVuaXQgd2lkdGgo
KSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXgg
YWU5ZDQwZjUzMGE2MzljZjA2YjViZjQwNTBjMzUxMmEyNTVlYjdlZi4uZTJiMzYwZGEzYmFmYTUy
N2M1MzAzNzRjZDE1ZWE5Y2NlMmVjYTkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAt
ODA0LDYgKzgwNCw4IEBAIExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUnVuOjpJbmxpbmVJdGVtUnVu
KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIElubGluZUxhCiAKIGJvb2wgTGluZUJ1aWxk
ZXI6OklubGluZUl0ZW1SdW46OmlzVHJpbW1hYmxlV2hpdGVzcGFjZSgpIGNvbnN0CiB7CisgICAg
Ly8gUmV0dXJuIHRydWUgaWYgdGhlICJlbmQtb2YtbGluZSBzcGFjZXMiIGNhbiBiZSByZW1vdmVk
LgorICAgIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXRleHQtMy8jd2hpdGUtc3Bh
Y2UtcHJvcGVydHkgbWF0cml4LgogICAgIGlmICghaXNXaGl0ZXNwYWNlKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICByZXR1cm4gIVRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVRyYWlsaW5n
V2hpdGVzcGFjZShzdHlsZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcAppbmRleCBmZDI1MWMx
MTU0MGQzNDRhMGYwYTc1MzljNjhiZTAzMzM5ZjVmZThiLi42NWE1ZTZmZGRmOWU2NjYwMDQ4NTM3
Y2NjMGY2ZDRjNzIwZTE3NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCkBAIC0xNzQsNyAr
MTc0LDkgQEAgTGluZUxheW91dENvbnRleHQ6OklzRW5kT2ZMaW5lIExpbmVMYXlvdXRDb250ZXh0
OjpwbGFjZUlubGluZUl0ZW0oTGluZUJ1aWxkZXImIGwKICAgICB9CiAgICAgLy8gTGluZSBicmVh
a3MgYXJlIGFsc28gc3BlY2lhbC4KICAgICBpZiAoaW5saW5lSXRlbS5pc0xpbmVCcmVhaygpKSB7
Ci0gICAgICAgIGF1dG8gaXNFbmRPZkxpbmUgPSAhbV91bmNvbW1pdHRlZENvbnRlbnQuaXNFbXB0
eSgpID8gcHJvY2Vzc1VuY29tbWl0dGVkQ29udGVudChsaW5lKSA6IElzRW5kT2ZMaW5lOjpObzsK
KyAgICAgICAgYXV0byBpc0VuZE9mTGluZSA9IElzRW5kT2ZMaW5lOjpObzsKKyAgICAgICAgaWYg
KCFtX3VuY29tbWl0dGVkQ29udGVudC5pc0VtcHR5KCkpCisgICAgICAgICAgICBpc0VuZE9mTGlu
ZSA9IHByb2Nlc3NVbmNvbW1pdHRlZENvbnRlbnQobGluZSk7CiAgICAgICAgIC8vIFdoZW4gdGhl
IHVuY29tbWl0dGVkIGNvbnRlbnQgZml0cyhvciB0aGUgbGluZSBpcyBlbXB0eSksIGFkZCB0aGUg
bGluZSBicmVhayB0byB0aGlzIGxpbmUgYXMgd2VsbC4KICAgICAgICAgaWYgKGlzRW5kT2ZMaW5l
ID09IElzRW5kT2ZMaW5lOjpObykgewogICAgICAgICAgICAgbV91bmNvbW1pdHRlZENvbnRlbnQu
YXBwZW5kKGlubGluZUl0ZW0sIGl0ZW1Mb2dpY2FsV2lkdGgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385668</attachid>
            <date>2019-12-13 19:00:08 -0800</date>
            <delta_ts>2019-12-14 04:28:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205207-20191213190007.patch</filename>
            <type>text/plain</type>
            <size>10069</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ5YjI1OTQ5YjkxNzNh
ZjAwODZjNDc1NjFlNjU1NTAyODI5M2FjMy4uZWFkM2ZkMTBiYjNhODNiNDdhNjg5MzJhNjQ5Y2Ex
ZjUzM2Q5YzgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTEyLTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBGaXggZmFz
dC90ZXh0L3NpbXBsZS1saW5lLXdpdGgtYnIuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjA3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
NzkxMzUwND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIHByb3BlcnR5IHNwZWNpZmllcyB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBsaW5l
cyBvZiBpbmxpbmUgY29udGVudCBpbiBhIGJsb2NrLgorICAgICAgICBUaGUgaW5kZW50IGlzIHRy
ZWF0ZWQgYXMgYSBtYXJnaW4gYXBwbGllZCB0byB0aGUgc3RhcnQgZWRnZSBvZiB0aGUgbGluZSBi
b3guCisKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpsaW5lTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbnN0cmFpbnRzRm9yTGluZSk6CisgICAgICAgICogbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5Ojpjb21wdXRlZFRleHRJbmRlbnQgY29uc3QpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6bGluZUhlaWdo
dENvbnN0cmFpbnRzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9M
aW5lTGF5b3V0Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlv
dXRDb250ZXh0OjpwbGFjZUlubGluZUl0ZW0pOgorCiAyMDE5LTEyLTEzICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWNDYXRhbHlzdCBidWlsZCBvZiBsaWJBTkdM
RSBpcyBpbnN0YWxsZWQgaW4gdGhlIGluY29ycmVjdCBsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDVhYTg4ZDMyNTcwMDgzM2UxZjBmYmM3M2Y4NWRiMmUy
ZjVkOTZlZjcuLmRiYzA1MGI2ZmY1NThkMDliOTIwMThkODM3NTUyMGEwZjg4YmM4ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTExNCwxOCArMTE0LDE4IEBAIHZv
aWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoY29uc3QgVXNlZEhvcml6b250
YWxWYWx1ZXMmIHVzZWRIb3Jpem9uCiAgICAgICAgICAgICAgICAgcGFydGlhbExlYWRpbmdDb250
ZW50TGVuZ3RoID0gbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQtPm92ZXJmbG93Q29udGVudExl
bmd0aDsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxlYWRpbmdJbmxpbmVJ
dGVtSW5kZXggPSAqbGluZUNvbnRlbnQudHJhaWxpbmdJbmxpbmVJdGVtSW5kZXggKyAxOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gRmxvYXRzIHByZXZlbnRlZCB1cyBwbGFjaW5n
IGFueSBjb250ZW50IG9uIHRoZSBsaW5lLgotICAgICAgICAgICAgQVNTRVJUKGxpbmVCdWlsZGVy
Lmhhc0ludHJ1c2l2ZUZsb2F0KCkpOwotICAgICAgICAgICAgLy8gTW92ZSB0aGUgbmV4dCBsaW5l
IGJlbG93IHRoZSBpbnRydXNpdmUgZmxvYXQuCi0gICAgICAgICAgICBhdXRvIGZsb2F0aW5nQ29u
dGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IHJvb3QoKSwgKnRoaXMsIGZvcm1hdHRpbmdTdGF0ZSgp
LmZsb2F0aW5nU3RhdGUoKSB9OwotICAgICAgICAgICAgYXV0byBmbG9hdENvbnN0cmFpbnRzID0g
ZmxvYXRpbmdDb250ZXh0LmNvbnN0cmFpbnRzKHsgbGluZUxvZ2ljYWxUb3AgfSk7Ci0gICAgICAg
ICAgICBBU1NFUlQoZmxvYXRDb25zdHJhaW50cy5sZWZ0IHx8IGZsb2F0Q29uc3RyYWludHMucmln
aHQpOwotICAgICAgICAgICAgc3RhdGljIGF1dG8gaW5pZml0ZVBvaW50ID0gUG9pbnRJbkNvbnRl
eHRSb290OjptYXgoKTsKLSAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgbGVmdCBhbmQgcmlnaHQg
Y29uc3RyYWludHMsIHdlIG5lZWQgdG8gcGljayB0aGUgb25lIHRoYXQncyBjbG9zZXIgdG8gdGhl
IGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIGxpbmVMb2dpY2FsVG9wID0gc3RkOjptaW4oZmxv
YXRDb25zdHJhaW50cy5sZWZ0LnZhbHVlT3IoaW5pZml0ZVBvaW50KS55LCBmbG9hdENvbnN0cmFp
bnRzLnJpZ2h0LnZhbHVlT3IoaW5pZml0ZVBvaW50KS55KTsKLSAgICAgICAgICAgIEFTU0VSVChs
aW5lTG9naWNhbFRvcCA8IGluaWZpdGVQb2ludC55KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9CisgICAgICAgIC8vIEZsb2F0cyBwcmV2ZW50ZWQgdXMgcGxhY2luZyBhbnkgY29u
dGVudCBvbiB0aGUgbGluZS4KKyAgICAgICAgQVNTRVJUKGxpbmVCdWlsZGVyLmhhc0ludHJ1c2l2
ZUZsb2F0KCkpOworICAgICAgICAvLyBNb3ZlIHRoZSBuZXh0IGxpbmUgYmVsb3cgdGhlIGludHJ1
c2l2ZSBmbG9hdC4KKyAgICAgICAgYXV0byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRl
eHQgeyByb290KCksICp0aGlzLCBmb3JtYXR0aW5nU3RhdGUoKS5mbG9hdGluZ1N0YXRlKCkgfTsK
KyAgICAgICAgYXV0byBmbG9hdENvbnN0cmFpbnRzID0gZmxvYXRpbmdDb250ZXh0LmNvbnN0cmFp
bnRzKHsgbGluZUxvZ2ljYWxUb3AgfSk7CisgICAgICAgIEFTU0VSVChmbG9hdENvbnN0cmFpbnRz
LmxlZnQgfHwgZmxvYXRDb25zdHJhaW50cy5yaWdodCk7CisgICAgICAgIHN0YXRpYyBhdXRvIGlu
aWZpdGVQb2ludCA9IFBvaW50SW5Db250ZXh0Um9vdDo6bWF4KCk7CisgICAgICAgIC8vIEluIGNh
c2Ugb2YgbGVmdCBhbmQgcmlnaHQgY29uc3RyYWludHMsIHdlIG5lZWQgdG8gcGljayB0aGUgb25l
IHRoYXQncyBjbG9zZXIgdG8gdGhlIGN1cnJlbnQgbGluZS4KKyAgICAgICAgbGluZUxvZ2ljYWxU
b3AgPSBzdGQ6Om1pbihmbG9hdENvbnN0cmFpbnRzLmxlZnQudmFsdWVPcihpbmlmaXRlUG9pbnQp
LnksIGZsb2F0Q29uc3RyYWludHMucmlnaHQudmFsdWVPcihpbmlmaXRlUG9pbnQpLnkpOworICAg
ICAgICBBU1NFUlQobGluZUxvZ2ljYWxUb3AgPCBpbmlmaXRlUG9pbnQueSk7CiAgICAgfQogfQog
CkBAIC00MDQsNiArNDA0LDMxIEBAIExpbmVCdWlsZGVyOjpDb25zdHJhaW50cyBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29uc3RyYWludHNGb3JMaW5lKGNvbnN0IFVzZWRICiAgICAgICAgICAg
ICBhdmFpbGFibGVXaWR0aCA9IGZsb2F0Q29uc3RyYWludHMucmlnaHQtPnggLSBsaW5lTG9naWNh
bExlZnQ7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBhdXRvIGNvbXB1dGVkVGV4dEluZGVudCA9
IFsmXSAoKSAtPiBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB7CisgICAgICAgIC8vIHRleHQt
aW5kZW50IHByb3BlcnR5IHNwZWNpZmllcyB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBsaW5l
cyBvZiBpbmxpbmUgY29udGVudCBpbiBhIGJsb2NrLgorICAgICAgICAvLyBUaGUgaW5kZW50IGlz
IHRyZWF0ZWQgYXMgYSBtYXJnaW4gYXBwbGllZCB0byB0aGUgc3RhcnQgZWRnZSBvZiB0aGUgbGlu
ZSBib3guCisgICAgICAgIC8vIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCBvbmx5IGxpbmVz
IHRoYXQgYXJlIHRoZSBmaXJzdCBmb3JtYXR0ZWQgbGluZSBvZiBhbiBlbGVtZW50IGFyZSBhZmZl
Y3RlZC4KKyAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBmaXJzdCBsaW5lIG9mIGFuIGFub255
bW91cyBibG9jayBib3ggaXMgb25seSBhZmZlY3RlZCBpZiBpdCBpcyB0aGUgZmlyc3QgY2hpbGQg
b2YgaXRzIHBhcmVudCBlbGVtZW50LgorICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9y
IGVhY2gtbGluZS4KKyAgICAgICAgLy8gW0ludGVncmF0aW9uXSByb290KCktPnBhcmVudCgpIHdv
dWxkIG5vcm1hbGx5IHByb2R1Y2UgYSB2YWxpZCBsYXlvdXQgYm94LgorICAgICAgICBhdXRvJiBy
b290ID0gdGhpcy0+cm9vdCgpOworICAgICAgICBhdXRvIGlzRm9ybWF0dGluZ0NvbnRleHRSb290
Q2FuZGlkYXRlVG9UZXh0SW5kZW50ID0gIXJvb3QuaXNBbm9ueW1vdXMoKSB8fCAhcm9vdC5wYXJl
bnQoKSB8fCByb290LnBhcmVudCgpLT5maXJzdEluRmxvd0NoaWxkKCkgPT0gJnJvb3Q7CisgICAg
ICAgIGlmICghaXNGb3JtYXR0aW5nQ29udGV4dFJvb3RDYW5kaWRhdGVUb1RleHRJbmRlbnQpCisg
ICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBhdXRvIGludmVydCA9IGZhbHNlOworI2lm
IEVOQUJMRShDU1MzX1RFWFQpCisgICAgICAgIGludmVydCA9IHJvb3Quc3R5bGUoKS50ZXh0SW5k
ZW50VHlwZSgpID09IFRleHRJbmRlbnRUeXBlOjpIYW5naW5nOworI2VuZGlmCisgICAgICAgIGF1
dG8gaXNGaXJzdExpbmUgPSBmb3JtYXR0aW5nU3RhdGUoKS5lbnN1cmVEaXNwbGF5SW5saW5lQ29u
dGVudCgpLmxpbmVCb3hlcy5pc0VtcHR5KCk7CisgICAgICAgIC8vIHRleHQtaWRlbnQ6IGhhbmdp
bmcgaW52ZXJ0cyB3aGljaCBsaW5lcyBhcmUgYWZmZWN0ZWQuCisgICAgICAgIC8vICFpbnZlcnRl
ZCAtPiBmaXJzdCBsaW5lIGdldHMgdGhlIGluZGVudAorICAgICAgICAvLyBpbnZlcnRlZCAtPiBh
bGwgdGhlIGxpbmVzIGV4Y2VwdCB0aGUgZmlyc3Qgb25lLgorICAgICAgICBpZiAoIShpbnZlcnQg
XiBpc0ZpcnN0TGluZSkpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4g
Z2VvbWV0cnkoKS5jb21wdXRlZFRleHRJbmRlbnQocm9vdCwgdXNlZEhvcml6b250YWxWYWx1ZXMu
Y29uc3RyYWludHMpLnZhbHVlT3IoMCk7CisgICAgfTsKKyAgICBsaW5lTG9naWNhbExlZnQgKz0g
Y29tcHV0ZWRUZXh0SW5kZW50KCkudmFsdWVPcigwKTsKICAgICByZXR1cm4gTGluZUJ1aWxkZXI6
OkNvbnN0cmFpbnRzIHsgeyBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsVG9wIH0sIGF2YWls
YWJsZVdpZHRoLCBsaW5lSXNDb25zdHJhaW5lZEJ5RmxvYXQsIHF1aXJrcygpLmxpbmVIZWlnaHRD
b25zdHJhaW50cyhyb290KCkpIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5o
CmluZGV4IGFiODc3MTViZmQ3NWQyYzg1NDMyNWNkYjFjNTRmOWNiMjg2NGIzZWEuLmQ4ZTg5NDRi
MWM3Njg0Y2FkNTlhNDdjNWFhZWU5NDYzNGM1ZGUxOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuaApAQCAtNTEsNyArNTEsNyBAQCBwcml2YXRlOgogICAgIGNsYXNzIFF1aXJrcyA6
IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzIHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGJvb2wgbGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3QgTGluZUJ1aWxkZXI6OlJ1bkxp
c3QmKSBjb25zdDsKLSAgICAgICAgTGluZUJ1aWxkZXI6OkNvbnN0cmFpbnRzOjpIZWlnaHRBbmRC
YXNlbGluZSBsaW5lSGVpZ2h0Q29uc3RyYWludHMoY29uc3QgQm94JiBmb3JtYXR0aW5nUm9vdCkg
Y29uc3Q7CisgICAgICAgIExpbmVCdWlsZGVyOjpDb25zdHJhaW50czo6SGVpZ2h0QW5kQmFzZWxp
bmUgbGluZUhlaWdodENvbnN0cmFpbnRzKGNvbnN0IENvbnRhaW5lciYgZm9ybWF0dGluZ1Jvb3Qp
IGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIElubGluZUZvcm1h
dHRpbmdDb250ZXh0OwpAQCAtNjYsNiArNjYsNyBAQCBwcml2YXRlOgogICAgIHB1YmxpYzoKICAg
ICAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBpbmxpbmVCbG9ja0hlaWdodEFuZE1hcmdpbihj
b25zdCBCb3gmLCBjb25zdCBVc2VkSG9yaXpvbnRhbFZhbHVlcyYsIGNvbnN0IFVzZWRWZXJ0aWNh
bFZhbHVlcyYpIGNvbnN0OwogICAgICAgICBDb250ZW50V2lkdGhBbmRNYXJnaW4gaW5saW5lQmxv
Y2tXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmLCBjb25zdCBVc2VkSG9yaXpvbnRhbFZhbHVlcyYp
OworICAgICAgICBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBjb21wdXRlZFRleHRJbmRlbnQo
Y29uc3QgQ29udGFpbmVyJiBmb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNvbnN0IFVzZWRIb3Jpem9u
dGFsVmFsdWVzOjpDb25zdHJhaW50cyYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
ZnJpZW5kIGNsYXNzIElubGluZUZvcm1hdHRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBiOWY3NGJhZjRlYTI4MDZmYjUx
NTNkZjM1MWI4OTEyOTE4ZGUwODA1Li4yOTdkMDcwNzBmYTkzNzhjNDNlMmEyNThmMDY0NzE4NTZj
MzdmNDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5
LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZvcm1hdHRpbmdDb250ZXh0LmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyLmgiCisjaW5j
bHVkZSAiTGVuZ3RoRnVuY3Rpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFj
ZSBMYXlvdXQgewpAQCAtNzMsNiArNzQsMTQgQEAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZUJsb2NrSGVpZ2h0QW5kTWEKICAg
ICByZXR1cm4gY29tcGxpY2F0ZWRDYXNlcyhsYXlvdXRCb3gsIHVzZWRIb3Jpem9udGFsVmFsdWVz
LCB1c2VkVmVydGljYWxWYWx1ZXMpOwogfQogCitPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkVGV4dEluZGVudChjb25z
dCBDb250YWluZXImIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgY29uc3QgVXNlZEhvcml6b250YWxW
YWx1ZXM6OkNvbnN0cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMpIGNvbnN0Cit7CisgICAg
YXV0byB0ZXh0SW5kZW50ID0gZm9ybWF0dGluZ0NvbnRleHRSb290LnN0eWxlKCkudGV4dEluZGVu
dCgpOworICAgIGlmICh0ZXh0SW5kZW50ID09IFJlbmRlclN0eWxlOjppbml0aWFsVGV4dEluZGVu
dCgpKQorICAgICAgICByZXR1cm4geyB9OworICAgIHJldHVybiBJbmxpbmVMYXlvdXRVbml0IHsg
bWluaW11bVZhbHVlRm9yTGVuZ3RoKHRleHRJbmRlbnQsIGhvcml6b250YWxDb25zdHJhaW50cy53
aWR0aCkgfTsKK30KKwogfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dFF1aXJrcy5jcHAKaW5kZXggMmVlZDg1OGZhZmFiNGMyZDZiNjI4YjM5YWYzODljYmRiZThhZmM2
Ny4uMDg5Njk3MjU5ODhlODhiOTc0NmQ2OGI2NmYzZjkwZGRiYTg5ZTQyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtNzQsNyArNzQsNyBAQCBi
b29sIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xs
YXBzaW5nKGNvbnN0IExpbmVCdWlsZAogICAgIHJldHVybiB0cnVlOwogfQogCi1MaW5lQnVpbGRl
cjo6Q29uc3RyYWludHM6OkhlaWdodEFuZEJhc2VsaW5lIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OmxpbmVIZWlnaHRDb25zdHJhaW50cyhjb25zdCBCb3gmIGZvcm1hdHRpbmdSb290
KSBjb25zdAorTGluZUJ1aWxkZXI6OkNvbnN0cmFpbnRzOjpIZWlnaHRBbmRCYXNlbGluZSBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpsaW5lSGVpZ2h0Q29uc3RyYWludHMoY29uc3Qg
Q29udGFpbmVyJiBmb3JtYXR0aW5nUm9vdCkgY29uc3QKIHsKICAgICAvLyBjb21wdXRlZExpbmVI
ZWlnaHQgdGFrZXMgZm9udC1zaXplIGludG8gYWNjb3VudCB3aGVuIGxpbmUtaGVpZ2h0IGlzIG5v
dCBzZXQuCiAgICAgLy8gU3RydXQgaXMgdGhlIGltYWdpbmFyeSBib3ggdGhhdCB3ZSBwdXQgb24g
ZXZlcnkgbGluZS4gSXQgc2V0cyB0aGUgaW5pdGlhbCB2ZXJ0aWNhbCBjb25zdHJhaW50cyBmb3Ig
ZWFjaCBuZXcgbGluZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcAppbmRleCA2NWE1ZTZmZGRmOWU2
NjYwMDQ4NTM3Y2NjMGY2ZDRjNzIwZTE3NmU2Li5mYzQ2ZWY2NDY1MjRiMTNhNjFlMDhlMTQ0MzM4
ZmMwYjYzOTZjNmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCkBAIC0xODQsNyArMTg0LDYg
QEAgTGluZUxheW91dENvbnRleHQ6OklzRW5kT2ZMaW5lIExpbmVMYXlvdXRDb250ZXh0OjpwbGFj
ZUlubGluZUl0ZW0oTGluZUJ1aWxkZXImIGwKICAgICAgICAgfQogICAgICAgICByZXR1cm4gSXNF
bmRPZkxpbmU6OlllczsKICAgICB9Ci0gICAgLy8KICAgICBhdXRvIGlzRW5kT2ZMaW5lID0gSXNF
bmRPZkxpbmU6Ok5vOwogICAgIC8vIENhbiB3ZSBjb21taXQgdGhlIHBlbmRpbmcgY29udGVudCBh
bHJlYWR5PwogICAgIGlmIChMaW5lQnJlYWtlcjo6Q29udGVudDo6aXNBdENvbnRlbnRCb3VuZGFy
eShpbmxpbmVJdGVtLCBtX3VuY29tbWl0dGVkQ29udGVudCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385685</attachid>
            <date>2019-12-14 04:28:05 -0800</date>
            <delta_ts>2019-12-14 04:41:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205207-20191214042804.patch</filename>
            <type>text/plain</type>
            <size>10171</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ5YjI1OTQ5YjkxNzNh
ZjAwODZjNDc1NjFlNjU1NTAyODI5M2FjMy4uODBlODkzZjVjNGYyNGNkZjcwMWNjNDFiN2QxMjBk
OWNiMjQ0MTg4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTEyLTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBGaXggZmFz
dC90ZXh0L3NpbXBsZS1saW5lLXdpdGgtYnIuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjA3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
NzkxMzUwND4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAg
ICBUaGlzIHByb3BlcnR5IHNwZWNpZmllcyB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBsaW5l
cyBvZiBpbmxpbmUgY29udGVudCBpbiBhIGJsb2NrLgorICAgICAgICBUaGUgaW5kZW50IGlzIHRy
ZWF0ZWQgYXMgYSBtYXJnaW4gYXBwbGllZCB0byB0aGUgc3RhcnQgZWRnZSBvZiB0aGUgbGluZSBi
b3guCisKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpsaW5lTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbnN0cmFpbnRzRm9yTGluZSk6CisgICAgICAgICogbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5Ojpjb21wdXRlZFRleHRJbmRlbnQgY29uc3QpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6bGluZUhlaWdo
dENvbnN0cmFpbnRzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9M
aW5lTGF5b3V0Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlv
dXRDb250ZXh0OjpwbGFjZUlubGluZUl0ZW0pOgorCiAyMDE5LTEyLTEzICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWNDYXRhbHlzdCBidWlsZCBvZiBsaWJBTkdM
RSBpcyBpbnN0YWxsZWQgaW4gdGhlIGluY29ycmVjdCBsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDVhYTg4ZDMyNTcwMDgzM2UxZjBmYmM3M2Y4NWRiMmUy
ZjVkOTZlZjcuLjU1ODE5MWJkOWQ3MGNhZWEwZjk0NGMwYTU1ZWMyYzAzZWI2MTcwY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTExNCwxOCArMTE0LDE4IEBAIHZv
aWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoY29uc3QgVXNlZEhvcml6b250
YWxWYWx1ZXMmIHVzZWRIb3Jpem9uCiAgICAgICAgICAgICAgICAgcGFydGlhbExlYWRpbmdDb250
ZW50TGVuZ3RoID0gbGluZUNvbnRlbnQucGFydGlhbENvbnRlbnQtPm92ZXJmbG93Q29udGVudExl
bmd0aDsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxlYWRpbmdJbmxpbmVJ
dGVtSW5kZXggPSAqbGluZUNvbnRlbnQudHJhaWxpbmdJbmxpbmVJdGVtSW5kZXggKyAxOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gRmxvYXRzIHByZXZlbnRlZCB1cyBwbGFjaW5n
IGFueSBjb250ZW50IG9uIHRoZSBsaW5lLgotICAgICAgICAgICAgQVNTRVJUKGxpbmVCdWlsZGVy
Lmhhc0ludHJ1c2l2ZUZsb2F0KCkpOwotICAgICAgICAgICAgLy8gTW92ZSB0aGUgbmV4dCBsaW5l
IGJlbG93IHRoZSBpbnRydXNpdmUgZmxvYXQuCi0gICAgICAgICAgICBhdXRvIGZsb2F0aW5nQ29u
dGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7IHJvb3QoKSwgKnRoaXMsIGZvcm1hdHRpbmdTdGF0ZSgp
LmZsb2F0aW5nU3RhdGUoKSB9OwotICAgICAgICAgICAgYXV0byBmbG9hdENvbnN0cmFpbnRzID0g
ZmxvYXRpbmdDb250ZXh0LmNvbnN0cmFpbnRzKHsgbGluZUxvZ2ljYWxUb3AgfSk7Ci0gICAgICAg
ICAgICBBU1NFUlQoZmxvYXRDb25zdHJhaW50cy5sZWZ0IHx8IGZsb2F0Q29uc3RyYWludHMucmln
aHQpOwotICAgICAgICAgICAgc3RhdGljIGF1dG8gaW5pZml0ZVBvaW50ID0gUG9pbnRJbkNvbnRl
eHRSb290OjptYXgoKTsKLSAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgbGVmdCBhbmQgcmlnaHQg
Y29uc3RyYWludHMsIHdlIG5lZWQgdG8gcGljayB0aGUgb25lIHRoYXQncyBjbG9zZXIgdG8gdGhl
IGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIGxpbmVMb2dpY2FsVG9wID0gc3RkOjptaW4oZmxv
YXRDb25zdHJhaW50cy5sZWZ0LnZhbHVlT3IoaW5pZml0ZVBvaW50KS55LCBmbG9hdENvbnN0cmFp
bnRzLnJpZ2h0LnZhbHVlT3IoaW5pZml0ZVBvaW50KS55KTsKLSAgICAgICAgICAgIEFTU0VSVChs
aW5lTG9naWNhbFRvcCA8IGluaWZpdGVQb2ludC55KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9CisgICAgICAgIC8vIEZsb2F0cyBwcmV2ZW50ZWQgdXMgcGxhY2luZyBhbnkgY29u
dGVudCBvbiB0aGUgbGluZS4KKyAgICAgICAgQVNTRVJUKGxpbmVCdWlsZGVyLmhhc0ludHJ1c2l2
ZUZsb2F0KCkpOworICAgICAgICAvLyBNb3ZlIHRoZSBuZXh0IGxpbmUgYmVsb3cgdGhlIGludHJ1
c2l2ZSBmbG9hdC4KKyAgICAgICAgYXV0byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRl
eHQgeyByb290KCksICp0aGlzLCBmb3JtYXR0aW5nU3RhdGUoKS5mbG9hdGluZ1N0YXRlKCkgfTsK
KyAgICAgICAgYXV0byBmbG9hdENvbnN0cmFpbnRzID0gZmxvYXRpbmdDb250ZXh0LmNvbnN0cmFp
bnRzKHsgbGluZUxvZ2ljYWxUb3AgfSk7CisgICAgICAgIEFTU0VSVChmbG9hdENvbnN0cmFpbnRz
LmxlZnQgfHwgZmxvYXRDb25zdHJhaW50cy5yaWdodCk7CisgICAgICAgIHN0YXRpYyBhdXRvIGlu
aWZpdGVQb2ludCA9IFBvaW50SW5Db250ZXh0Um9vdDo6bWF4KCk7CisgICAgICAgIC8vIEluIGNh
c2Ugb2YgbGVmdCBhbmQgcmlnaHQgY29uc3RyYWludHMsIHdlIG5lZWQgdG8gcGljayB0aGUgb25l
IHRoYXQncyBjbG9zZXIgdG8gdGhlIGN1cnJlbnQgbGluZS4KKyAgICAgICAgbGluZUxvZ2ljYWxU
b3AgPSBzdGQ6Om1pbihmbG9hdENvbnN0cmFpbnRzLmxlZnQudmFsdWVPcihpbmlmaXRlUG9pbnQp
LnksIGZsb2F0Q29uc3RyYWludHMucmlnaHQudmFsdWVPcihpbmlmaXRlUG9pbnQpLnkpOworICAg
ICAgICBBU1NFUlQobGluZUxvZ2ljYWxUb3AgPCBpbmlmaXRlUG9pbnQueSk7CiAgICAgfQogfQog
CkBAIC00MDQsNiArNDA0LDMyIEBAIExpbmVCdWlsZGVyOjpDb25zdHJhaW50cyBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6Y29uc3RyYWludHNGb3JMaW5lKGNvbnN0IFVzZWRICiAgICAgICAgICAg
ICBhdmFpbGFibGVXaWR0aCA9IGZsb2F0Q29uc3RyYWludHMucmlnaHQtPnggLSBsaW5lTG9naWNh
bExlZnQ7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBhdXRvIGNvbXB1dGVkVGV4dEluZGVudCA9
IFsmXSB7CisgICAgICAgIC8vIHRleHQtaW5kZW50IHByb3BlcnR5IHNwZWNpZmllcyB0aGUgaW5k
ZW50YXRpb24gYXBwbGllZCB0byBsaW5lcyBvZiBpbmxpbmUgY29udGVudCBpbiBhIGJsb2NrLgor
ICAgICAgICAvLyBUaGUgaW5kZW50IGlzIHRyZWF0ZWQgYXMgYSBtYXJnaW4gYXBwbGllZCB0byB0
aGUgc3RhcnQgZWRnZSBvZiB0aGUgbGluZSBib3guCisgICAgICAgIC8vIFVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkLCBvbmx5IGxpbmVzIHRoYXQgYXJlIHRoZSBmaXJzdCBmb3JtYXR0ZWQgbGlu
ZSBvZiBhbiBlbGVtZW50IGFyZSBhZmZlY3RlZC4KKyAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHRo
ZSBmaXJzdCBsaW5lIG9mIGFuIGFub255bW91cyBibG9jayBib3ggaXMgb25seSBhZmZlY3RlZCBp
ZiBpdCBpcyB0aGUgZmlyc3QgY2hpbGQgb2YgaXRzIHBhcmVudCBlbGVtZW50LgorICAgICAgICAv
LyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGVhY2gtbGluZS4KKyAgICAgICAgLy8gW0ludGVncmF0
aW9uXSByb290KCktPnBhcmVudCgpIHdvdWxkIG5vcm1hbGx5IHByb2R1Y2UgYSB2YWxpZCBsYXlv
dXQgYm94LgorICAgICAgICBhdXRvJiByb290ID0gdGhpcy0+cm9vdCgpOworICAgICAgICBhdXRv
IGlzRm9ybWF0dGluZ0NvbnRleHRSb290Q2FuZGlkYXRlVG9UZXh0SW5kZW50ID0gIXJvb3QuaXNB
bm9ueW1vdXMoKSB8fCAhcm9vdC5wYXJlbnQoKSB8fCByb290LnBhcmVudCgpLT5maXJzdEluRmxv
d0NoaWxkKCkgPT0gJnJvb3Q7CisgICAgICAgIGlmICghaXNGb3JtYXR0aW5nQ29udGV4dFJvb3RD
YW5kaWRhdGVUb1RleHRJbmRlbnQpCisgICAgICAgICAgICByZXR1cm4gSW5saW5lTGF5b3V0VW5p
dCB7IH07CisgICAgICAgIGF1dG8gaW52ZXJ0TGluZVJhbmdlID0gZmFsc2U7CisjaWYgRU5BQkxF
KENTUzNfVEVYVCkKKyAgICAgICAgaW52ZXJ0TGluZVJhbmdlID0gcm9vdC5zdHlsZSgpLnRleHRJ
bmRlbnRUeXBlKCkgPT0gVGV4dEluZGVudFR5cGU6Okhhbmdpbmc7CisjZW5kaWYKKyAgICAgICAg
YXV0byBpc0ZpcnN0TGluZSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmVuc3VyZURpc3BsYXlJbmxpbmVD
b250ZW50KCkubGluZUJveGVzLmlzRW1wdHkoKTsKKyAgICAgICAgLy8gdGV4dC1pbmRlbnQ6IGhh
bmdpbmcgaW52ZXJ0cyB3aGljaCBsaW5lcyBhcmUgYWZmZWN0ZWQuCisgICAgICAgIC8vIGludmVy
dGVkIGxpbmUgcmFuZ2UgLT4gYWxsIHRoZSBsaW5lcyBleGNlcHQgdGhlIGZpcnN0IG9uZS4KKyAg
ICAgICAgLy8gIWludmVydGVkIGxpbmUgcmFuZ2UgLT4gZmlyc3QgbGluZSBnZXRzIHRoZSBpbmRl
bnQuCisgICAgICAgIGF1dG8gc2hvdWxkSW5kZW50ID0gaW52ZXJ0TGluZVJhbmdlICE9IGlzRmly
c3RMaW5lOworICAgICAgICBpZiAoIXNob3VsZEluZGVudCkKKyAgICAgICAgICAgIHJldHVybiBJ
bmxpbmVMYXlvdXRVbml0IHsgfTsKKyAgICAgICAgcmV0dXJuIGdlb21ldHJ5KCkuY29tcHV0ZWRU
ZXh0SW5kZW50KHJvb3QsIHVzZWRIb3Jpem9udGFsVmFsdWVzLmNvbnN0cmFpbnRzKS52YWx1ZU9y
KElubGluZUxheW91dFVuaXQgeyB9KTsKKyAgICB9OworICAgIGxpbmVMb2dpY2FsTGVmdCArPSBj
b21wdXRlZFRleHRJbmRlbnQoKTsKICAgICByZXR1cm4gTGluZUJ1aWxkZXI6OkNvbnN0cmFpbnRz
IHsgeyBsaW5lTG9naWNhbExlZnQsIGxpbmVMb2dpY2FsVG9wIH0sIGF2YWlsYWJsZVdpZHRoLCBs
aW5lSXNDb25zdHJhaW5lZEJ5RmxvYXQsIHF1aXJrcygpLmxpbmVIZWlnaHRDb25zdHJhaW50cyhy
b290KCkpIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGFiODc3
MTViZmQ3NWQyYzg1NDMyNWNkYjFjNTRmOWNiMjg2NGIzZWEuLmQ4ZTg5NDRiMWM3Njg0Y2FkNTlh
NDdjNWFhZWU5NDYzNGM1ZGUxOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApA
QCAtNTEsNyArNTEsNyBAQCBwcml2YXRlOgogICAgIGNsYXNzIFF1aXJrcyA6IHB1YmxpYyBGb3Jt
YXR0aW5nQ29udGV4dDo6UXVpcmtzIHsKICAgICBwdWJsaWM6CiAgICAgICAgIGJvb2wgbGluZURl
c2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3QgTGluZUJ1aWxkZXI6OlJ1bkxpc3QmKSBjb25zdDsK
LSAgICAgICAgTGluZUJ1aWxkZXI6OkNvbnN0cmFpbnRzOjpIZWlnaHRBbmRCYXNlbGluZSBsaW5l
SGVpZ2h0Q29uc3RyYWludHMoY29uc3QgQm94JiBmb3JtYXR0aW5nUm9vdCkgY29uc3Q7CisgICAg
ICAgIExpbmVCdWlsZGVyOjpDb25zdHJhaW50czo6SGVpZ2h0QW5kQmFzZWxpbmUgbGluZUhlaWdo
dENvbnN0cmFpbnRzKGNvbnN0IENvbnRhaW5lciYgZm9ybWF0dGluZ1Jvb3QpIGNvbnN0OwogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIElubGluZUZvcm1hdHRpbmdDb250ZXh0
OwpAQCAtNjYsNiArNjYsNyBAQCBwcml2YXRlOgogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGVu
dEhlaWdodEFuZE1hcmdpbiBpbmxpbmVCbG9ja0hlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmLCBj
b25zdCBVc2VkSG9yaXpvbnRhbFZhbHVlcyYsIGNvbnN0IFVzZWRWZXJ0aWNhbFZhbHVlcyYpIGNv
bnN0OwogICAgICAgICBDb250ZW50V2lkdGhBbmRNYXJnaW4gaW5saW5lQmxvY2tXaWR0aEFuZE1h
cmdpbihjb25zdCBCb3gmLCBjb25zdCBVc2VkSG9yaXpvbnRhbFZhbHVlcyYpOworICAgICAgICBP
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBjb21wdXRlZFRleHRJbmRlbnQoY29uc3QgQ29udGFp
bmVyJiBmb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNvbnN0IFVzZWRIb3Jpem9udGFsVmFsdWVzOjpD
b25zdHJhaW50cyYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNz
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcAppbmRleCBiOWY3NGJhZjRlYTI4MDZmYjUxNTNkZjM1MWI4OTEy
OTE4ZGUwODA1Li4yOTdkMDcwNzBmYTkzNzhjNDNlMmEyNThmMDY0NzE4NTZjMzdmNDNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgIkZvcm1hdHRpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiTGF5
b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyLmgiCisjaW5jbHVkZSAiTGVuZ3Ro
RnVuY3Rpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewpA
QCAtNzMsNiArNzQsMTQgQEAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6OmlubGluZUJsb2NrSGVpZ2h0QW5kTWEKICAgICByZXR1cm4gY29t
cGxpY2F0ZWRDYXNlcyhsYXlvdXRCb3gsIHVzZWRIb3Jpem9udGFsVmFsdWVzLCB1c2VkVmVydGlj
YWxWYWx1ZXMpOwogfQogCitPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkVGV4dEluZGVudChjb25zdCBDb250YWluZXIm
IGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgY29uc3QgVXNlZEhvcml6b250YWxWYWx1ZXM6OkNvbnN0
cmFpbnRzJiBob3Jpem9udGFsQ29uc3RyYWludHMpIGNvbnN0Cit7CisgICAgYXV0byB0ZXh0SW5k
ZW50ID0gZm9ybWF0dGluZ0NvbnRleHRSb290LnN0eWxlKCkudGV4dEluZGVudCgpOworICAgIGlm
ICh0ZXh0SW5kZW50ID09IFJlbmRlclN0eWxlOjppbml0aWFsVGV4dEluZGVudCgpKQorICAgICAg
ICByZXR1cm4geyB9OworICAgIHJldHVybiBJbmxpbmVMYXlvdXRVbml0IHsgbWluaW11bVZhbHVl
Rm9yTGVuZ3RoKHRleHRJbmRlbnQsIGhvcml6b250YWxDb25zdHJhaW50cy53aWR0aCkgfTsKK30K
KwogfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAK
aW5kZXggMmVlZDg1OGZhZmFiNGMyZDZiNjI4YjM5YWYzODljYmRiZThhZmM2Ny4uMDg5Njk3MjU5
ODhlODhiOTc0NmQ2OGI2NmYzZjkwZGRiYTg5ZTQyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtNzQsNyArNzQsNyBAQCBib29sIElubGluZUZv
cm1hdHRpbmdDb250ZXh0OjpRdWlya3M6OmxpbmVEZXNjZW50TmVlZHNDb2xsYXBzaW5nKGNvbnN0
IExpbmVCdWlsZAogICAgIHJldHVybiB0cnVlOwogfQogCi1MaW5lQnVpbGRlcjo6Q29uc3RyYWlu
dHM6OkhlaWdodEFuZEJhc2VsaW5lIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6Omxp
bmVIZWlnaHRDb25zdHJhaW50cyhjb25zdCBCb3gmIGZvcm1hdHRpbmdSb290KSBjb25zdAorTGlu
ZUJ1aWxkZXI6OkNvbnN0cmFpbnRzOjpIZWlnaHRBbmRCYXNlbGluZSBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6UXVpcmtzOjpsaW5lSGVpZ2h0Q29uc3RyYWludHMoY29uc3QgQ29udGFpbmVyJiBm
b3JtYXR0aW5nUm9vdCkgY29uc3QKIHsKICAgICAvLyBjb21wdXRlZExpbmVIZWlnaHQgdGFrZXMg
Zm9udC1zaXplIGludG8gYWNjb3VudCB3aGVuIGxpbmUtaGVpZ2h0IGlzIG5vdCBzZXQuCiAgICAg
Ly8gU3RydXQgaXMgdGhlIGltYWdpbmFyeSBib3ggdGhhdCB3ZSBwdXQgb24gZXZlcnkgbGluZS4g
SXQgc2V0cyB0aGUgaW5pdGlhbCB2ZXJ0aWNhbCBjb25zdHJhaW50cyBmb3IgZWFjaCBuZXcgbGlu
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xp
bmVMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcAppbmRleCA2NWE1ZTZmZGRmOWU2NjYwMDQ4NTM3Y2Nj
MGY2ZDRjNzIwZTE3NmU2Li5mYzQ2ZWY2NDY1MjRiMTNhNjFlMDhlMTQ0MzM4ZmMwYjYzOTZjNmZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5l
TGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCkBAIC0xODQsNyArMTg0LDYgQEAgTGluZUxheW91
dENvbnRleHQ6OklzRW5kT2ZMaW5lIExpbmVMYXlvdXRDb250ZXh0OjpwbGFjZUlubGluZUl0ZW0o
TGluZUJ1aWxkZXImIGwKICAgICAgICAgfQogICAgICAgICByZXR1cm4gSXNFbmRPZkxpbmU6Olll
czsKICAgICB9Ci0gICAgLy8KICAgICBhdXRvIGlzRW5kT2ZMaW5lID0gSXNFbmRPZkxpbmU6Ok5v
OwogICAgIC8vIENhbiB3ZSBjb21taXQgdGhlIHBlbmRpbmcgY29udGVudCBhbHJlYWR5PwogICAg
IGlmIChMaW5lQnJlYWtlcjo6Q29udGVudDo6aXNBdENvbnRlbnRCb3VuZGFyeShpbmxpbmVJdGVt
LCBtX3VuY29tbWl0dGVkQ29udGVudCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>