<?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>208109</bug_id>
          
          <creation_ts>2020-02-23 11:11:44 -0800</creation_ts>
          <short_desc>[LFC][IFC][Floats] Fix float box handling inside unbreakable content</short_desc>
          <delta_ts>2020-02-24 13:15:27 -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>commit-queue</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>1622013</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-23 11:11:44 -0800</bug_when>
    <thetext>text&lt;float box&gt;&lt;/float box&gt;content is one unbreakable content with [float box] and [textcontent]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622014</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-23 11:12:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/59708646&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622015</commentid>
    <comment_count>2</comment_count>
      <attachid>391495</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-23 11:18:44 -0800</bug_when>
    <thetext>Created attachment 391495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622260</commentid>
    <comment_count>3</comment_count>
      <attachid>391563</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-24 11:50:43 -0800</bug_when>
    <thetext>Created attachment 391563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622261</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-24 11:53:33 -0800</bug_when>
    <thetext>Float handling?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622262</commentid>
    <comment_count>5</comment_count>
      <attachid>391564</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-24 11:55:44 -0800</bug_when>
    <thetext>Created attachment 391564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622284</commentid>
    <comment_count>6</comment_count>
      <attachid>391564</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-24 13:15:25 -0800</bug_when>
    <thetext>Comment on attachment 391564
Patch

Clearing flags on attachment: 391564

Committed r257236: &lt;https://trac.webkit.org/changeset/257236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622285</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-24 13:15:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391495</attachid>
            <date>2020-02-23 11:18:44 -0800</date>
            <delta_ts>2020-02-24 11:50:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208109-20200223111843.patch</filename>
            <type>text/plain</type>
            <size>12161</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmVkN2FiYzYzNjgyMDJj
ZmQwOWFmOWYzYWI2ZmIzMjM1MzQzOTdhOS4uZmI4ODM0MmJmNDllYzY1M2Q4Yzc3ODUyY2U2NjUy
NWNlY2YxYTUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAyLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXVtGbG9hdHNd
IEZpeCBmbG9hdHMgaGFuZGxpbmcgaW5zaWRlIHVuYnJlYWthYmxlIGNvbnRlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODEwOQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTk3MDg2NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2UndmUgYmVlbiBoYW5kbGluZyBmbG9hdCBib3hlcyBhbmQgb3Ro
ZXIgaW5saW5lIGl0ZW1zIGFzIG11dHVhbGx5IGV4Y2x1c2l2ZSBjb250ZW50IChpbiB0aGUgY29u
dGV4dCBvZiB1bmJyZWFrYWJsZSBjYW5kaWRhdGUgcnVucykuCisgICAgICAgIFdoaWxlIHRoaXMg
d29ya3MgaW4gbW9zdCBjYXNlcywgd2hlbiB0aGUgdW5icmVha2FibGUgY29udGVudCBpbmNsdWRl
cyBmbG9hdCBib3hlcywgdGhlIGxheW91dAorICAgICAgICBlbmRzIHVwIGJlaW5nIGluY29ycmVj
dC4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5nIHN1cmUg
d2UgcHJvY2VzcyB0aGUgaW5saW5lIGNvbnRlbnQgYW5kIHRoZSBhc3NvY2lhdGVkIGZsb2F0IGJv
eGVzIGFzIG9uZSBlbnRpdHkuCisgICAgICAgIChlLmcgInRleHRfPGRpdiBzdHlsZT0iZmxvYXQ6
IGxlZnQiPjwvZGl2Pl9jb250ZW50IiBwcm9kdWNlcyBhbiB1bmJyZWFrYWJsZSBpbmxpbmUgY29u
dGVudCBvZiBbdGV4dF9dW19jb250ZW50XSBhbmQgYW4gYXNzb2NpYXRlZCBmbG9hdCBib3gpCisK
KyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmlzQXRTb2Z0V3JhcE9wcG9ydHVuaXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZTo6RmxvYXRDb250ZW50OjphcHBl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpGbG9hdENvbnRl
bnQ6Omxpc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRl
OjpGbG9hdENvbnRlbnQ6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNh
bmRpZGF0ZTo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29u
dGV4dDo6bGF5b3V0TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlvdXRD
b250ZXh0OjpuZXh0Q29udGVudEZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nRmxvYXRDb250ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUxheW91dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbSk6IERlbGV0
ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQu
aDoKKwogMjAyMC0wMi0yMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtMRkNdW0lGQ10gUmVtb3ZlIHJlZHVuZGFudCB0cmFpbGluZyBsaW5lIGJyZWFrIGhhbmRs
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
TGluZUxheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCmluZGV4IGI3YjE2MTAwZmE2NzgxM2QxMTJhOWVl
ZGViZDEyZGQ3OWZiODdjMDMuLjBkOGVlMGU1MDRlY2RiMTc2NTMwYmRhZTNiMGQ3NTJkNTVhODE5
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xp
bmVMYXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKQEAgLTEwMiw5ICsxMDIsOSBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNBdFNvZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5lSXRlbSYgY3Vy
cmVudCwgY29uc3QgSW5saQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgaWYgKGN1
cnJlbnQuaXNGbG9hdCgpIHx8IG5leHQuaXNGbG9hdCgpKSB7Ci0gICAgICAgIC8vIFdoaWxlIGZs
b2F0cyBhcmUgbm90IHBhcnQgb2YgdGhlIGlubGluZSBjb250ZW50LCBsZXQncyBqdXN0IGhhbmRs
ZSB0aGVtIGFzIGlmIHRoZXkgd2VyZSBpbmxpbmUgYm94ZXMgZm9yIG5vdyBhbmQgcHJldGVuZAot
ICAgICAgICAvLyB0aGVyZSdzIGEgc29mdCB3cmFwcGluZyBvcHBvcnR1bml0eSBoZXJlICh0ZXh0
IGJlZm9yZTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0Ij48L2Rpdj5hbmQgYWZ0ZXIpLgotICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8gRmxvYXRzIGFyZSBub3QgcGFydCBvZiB0aGUgaW5s
aW5lIGNvbnRlbnQuIFdlIHNob3VsZCB0cmVhdCB0aGVtIGFzIGlmIHRoZXkgd2VyZSBub3QgaGVy
ZSBhcyBmYXIgYXMgd3JhcCBvcHBvcnR1bml0dWVzLgorICAgICAgICAvLyBbdGV4dF1bZmxvYXQg
Ym94XVt0ZXh0XSBpcyBlc3NlbnRpYWxseSBqdXN0IFt0ZXh0XVt0ZXh0XQorICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiB0
cnVlOwpAQCAtMTk1LDkgKzE5NSwyMSBAQCBzdHJ1Y3QgTGluZUNhbmRpZGF0ZSB7CiAgICAgICAg
IExpbmVCcmVha2VyOjpSdW5MaXN0IG1faW5saW5lUnVuczsKICAgICAgICAgY29uc3QgSW5saW5l
SXRlbSogbV90cmFpbGluZ0xpbmVCcmVhayB7IG51bGxwdHIgfTsKICAgICB9OwotICAgIC8vIENh
bmRpZGF0ZSBjb250ZW50IGlzIGVpdGhlciBhIGNvbGxlY3Rpb24gb2YgaW5saW5lIGl0ZW1zIG9y
IGEgZmxvYXQgYm94LgorCisgICAgc3RydWN0IEZsb2F0Q29udGVudCB7CisgICAgICAgIHZvaWQg
YXBwZW5kKGNvbnN0IElubGluZUl0ZW0mIGZsb2F0SXRlbSkgeyBtX2Zsb2F0TGlzdC5hcHBlbmQo
JmZsb2F0SXRlbSk7IH0KKworICAgICAgICB1c2luZyBGbG9hdExpc3QgPSBWZWN0b3I8Y29uc3Qg
SW5saW5lSXRlbSo+OworICAgICAgICBjb25zdCBGbG9hdExpc3QmIGxpc3QoKSBjb25zdCB7IHJl
dHVybiBtX2Zsb2F0TGlzdDsgfQorCisgICAgICAgIHZvaWQgcmVzZXQoKSB7IG1fZmxvYXRMaXN0
LmNsZWFyKCk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIEZsb2F0TGlzdCBtX2Zsb2F0TGlz
dDsKKyAgICB9OworICAgIC8vIENhbmRpZGF0ZSBjb250ZW50IGlzIGEgY29sbGVjdGlvbiBvZiBp
bmxpbmUgaXRlbXMgYW5kL29yIGZsb2F0IGJveGVzLgogICAgIElubGluZUNvbnRlbnQgaW5saW5l
Q29udGVudDsKLSAgICBjb25zdCBJbmxpbmVJdGVtKiBmbG9hdEl0ZW0geyBudWxscHRyIH07Cisg
ICAgRmxvYXRDb250ZW50IGZsb2F0Q29udGVudDsKIH07CiAKIGlubGluZSB2b2lkIExpbmVDYW5k
aWRhdGU6OklubGluZUNvbnRlbnQ6OmFwcGVuZElubGluZUl0ZW0oY29uc3QgSW5saW5lSXRlbSYg
aW5saW5lSXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCkBAIC0yMDgsNyArMjIw
LDcgQEAgaW5saW5lIHZvaWQgTGluZUNhbmRpZGF0ZTo6SW5saW5lQ29udGVudDo6YXBwZW5kSW5s
aW5lSXRlbShjb25zdCBJbmxpbmVJdGVtJiBpbmwKIAogaW5saW5lIHZvaWQgTGluZUNhbmRpZGF0
ZTo6cmVzZXQoKQogewotICAgIGZsb2F0SXRlbSA9IHsgfTsKKyAgICBmbG9hdENvbnRlbnQucmVz
ZXQoKTsKICAgICBpbmxpbmVDb250ZW50LnJlc2V0KCk7CiB9CiAKQEAgLTI3OCwzMyArMjkwLDMx
IEBAIExpbmVMYXlvdXRDb250ZXh0OjpMaW5lQ29udGVudCBMaW5lTGF5b3V0Q29udGV4dDo6bGF5
b3V0TGluZShMaW5lQnVpbGRlciYgbGluZSwKICAgICAgICAgLy8gMy4gQ2hlY2sgaWYgdGhlIGNv
bnRlbnQgZml0cyB0aGUgbGluZSBhbmQgY29tbWl0IHRoZSBjb250ZW50IGFjY29yZGluZ2x5IChm
dWxsLCBwYXJ0aWFsIG9yIG5vdCBjb21taXQgYXQgYWxsKS4KICAgICAgICAgLy8gNC4gUmV0dXJu
IGlmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGVpdGhlciBieSBub3QgYmVpbmcgYWJs
ZSB0byBmaXQgbW9yZSBjb250ZW50IG9yIGJlY2F1c2Ugb2YgYW4gZXhwbGljaXQgbGluZSBicmVh
ay4KICAgICAgICAgbmV4dENvbnRlbnRGb3JMaW5lKGxpbmVDYW5kaWRhdGUsIGN1cnJlbnRJdGVt
SW5kZXgsIGxheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGxpbmUubGlu
ZUJveCgpLmxvZ2ljYWxXaWR0aCgpKTsKLSAgICAgICAgaWYgKGxpbmVDYW5kaWRhdGUuZmxvYXRJ
dGVtKSB7CisgICAgICAgIGlmIChsaW5lQ2FuZGlkYXRlLmZsb2F0Q29udGVudC5saXN0KCkuaXNF
bXB0eSgpKSB7CiAgICAgICAgICAgICAvLyBGbG9hdHMgc2hyaW5rIHRoZSBhdmFpbGFibGUgaG9y
aXpvbnRhbCBzcGFjZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQsIGJ1dCB0aGV5IGFyZSBu
b3QgYWRkZWQgb24gdGhlIGxpbmUuCi0gICAgICAgICAgICBhdXRvIHJlc3VsdCA9IHRyeUFkZGlu
Z0Zsb2F0SXRlbShsaW5lLCAqbGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pOworICAgICAgICAgICAg
YXV0byByZXN1bHQgPSB0cnlBZGRpbmdGbG9hdENvbnRlbnQobGluZSwgbGluZUNhbmRpZGF0ZSk7
CiAgICAgICAgICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKz0gcmVzdWx0LmNvbW1pdHRl
ZENvdW50LnZhbHVlOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VuZE9mTGluZSA9PSBMaW5l
QnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcykgewogICAgICAgICAgICAgICAgIC8vIFRoaXMgZmxv
YXQgdGFrZXMgdXAgYWxsIHRoZSBob3Jpem9udGFsIHNwYWNlLgogICAgICAgICAgICAgICAgIHJl
dHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCB7
IH0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgQVNTRVJUKGxpbmVDYW5kaWRhdGUuaW5s
aW5lQ29udGVudC5ydW5zKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQ7Ci0g
ICAgICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRlbnQgb24gdGhl
IGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJ5QWRkaW5nSW5saW5l
SXRlbXMobGluZUJyZWFrZXIsIGxpbmUsIGxheW91dFJhbmdlLCBsaW5lQ2FuZGlkYXRlKTsKLSAg
ICAgICAgICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCA9IHJlc3VsdC5jb21taXR0ZWRDb3Vu
dC5pc1JldmVydCA/IHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZSA6IGNvbW1pdHRlZElubGlu
ZUl0ZW1Db3VudCArIHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZTsKLSAgICAgICAgICAgIGF1
dG8gaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxpbmVDb250ZW50LnJ1bnMoKS5z
aXplKCkgPT0gcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVlOwotICAgICAgICAgICAgYXV0byBp
c0VuZE9mTGluZSA9IHJlc3VsdC5pc0VuZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxp
bmU6OlllczsKLQotICAgICAgICAgICAgaWYgKGlubGluZUNvbnRlbnRJc0Z1bGx5Q29tbWl0dGVk
ICYmIGlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWsoKSkgewotICAgICAgICAgICAgICAg
IC8vIEZ1bGx5IGNvbW1pdGVkIChvciBlbXB0eSkgY29udGVudCBmb2xsb3dlZCBieSBhIGxpbmUg
YnJlYWsgbWVhbnMgImVuZCBvZiBsaW5lIi4KLSAgICAgICAgICAgICAgICBsaW5lLmFwcGVuZCgq
aW5saW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpLCB7IH0pOwotICAgICAgICAgICAgICAg
ICsrY29tbWl0dGVkSW5saW5lSXRlbUNvdW50OwotICAgICAgICAgICAgICAgIGlzRW5kT2ZMaW5l
ID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChpc0VuZE9mTGluZSkgewot
ICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IHBsYWNlIGFueSBtb3JlIGl0ZW1zIG9uIHRoZSBj
dXJyZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNsb3NlKGxpbmUsIGxheW91dFJh
bmdlLCBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQsIHJlc3VsdC5wYXJ0aWFsQ29udGVudCk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYXV0byYgaW5saW5lQ29udGVudCA9IGxp
bmVDYW5kaWRhdGUuaW5saW5lQ29udGVudDsKKyAgICAgICAgLy8gTm93IGNoZWNrIGlmIHdlIGNh
biBwdXQgdGhpcyBjb250ZW50IG9uIHRoZSBjdXJyZW50IGxpbmUuCisgICAgICAgIGF1dG8gcmVz
dWx0ID0gdHJ5QWRkaW5nSW5saW5lSXRlbXMobGluZUJyZWFrZXIsIGxpbmUsIGxheW91dFJhbmdl
LCBsaW5lQ2FuZGlkYXRlKTsKKyAgICAgICAgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ID0gcmVz
dWx0LmNvbW1pdHRlZENvdW50LmlzUmV2ZXJ0ID8gcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVl
IDogY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ICsgcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVl
OworICAgICAgICBhdXRvIGlubGluZUNvbnRlbnRJc0Z1bGx5Q29tbWl0dGVkID0gaW5saW5lQ29u
dGVudC5ydW5zKCkuc2l6ZSgpID09IHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZTsKKyAgICAg
ICAgYXV0byBpc0VuZE9mTGluZSA9IHJlc3VsdC5pc0VuZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6
SXNFbmRPZkxpbmU6OlllczsKKworICAgICAgICBpZiAoaW5saW5lQ29udGVudElzRnVsbHlDb21t
aXR0ZWQgJiYgaW5saW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpKSB7CisgICAgICAgICAg
ICAvLyBGdWxseSBjb21taXRlZCAob3IgZW1wdHkpIGNvbnRlbnQgZm9sbG93ZWQgYnkgYSBsaW5l
IGJyZWFrIG1lYW5zICJlbmQgb2YgbGluZSIuCisgICAgICAgICAgICBsaW5lLmFwcGVuZCgqaW5s
aW5lQ29udGVudC50cmFpbGluZ0xpbmVCcmVhaygpLCB7IH0pOworICAgICAgICAgICAgKytjb21t
aXR0ZWRJbmxpbmVJdGVtQ291bnQ7CisgICAgICAgICAgICBpc0VuZE9mTGluZSA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGlzRW5kT2ZMaW5lKSB7CisgICAgICAgICAgICAvLyBXZSBj
YW4ndCBwbGFjZSBhbnkgbW9yZSBpdGVtcyBvbiB0aGUgY3VycmVudCBsaW5lLgorICAgICAgICAg
ICAgcmV0dXJuIGNsb3NlKGxpbmUsIGxheW91dFJhbmdlLCBjb21taXR0ZWRJbmxpbmVJdGVtQ291
bnQsIHJlc3VsdC5wYXJ0aWFsQ29udGVudCk7CiAgICAgICAgIH0KICAgICAgICAgY3VycmVudEl0
ZW1JbmRleCA9IGxheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50Owog
ICAgICAgICBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGggPSB7IH07CkBAIC0zNjksMTMgKzM3
OSwxMCBAQCB2b2lkIExpbmVMYXlvdXRDb250ZXh0OjpuZXh0Q29udGVudEZvckxpbmUoTGluZUNh
bmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgdW5zaWduZQogICAgICAgICBpZiAoaW5saW5lSXRlbS5p
c0Zsb2F0KCkpIHsKICAgICAgICAgICAgIC8vIEZsb2F0cyBhcmUgbm90IHBhcnQgb2YgdGhlIGxp
bmUgY29udGV4dC4KICAgICAgICAgICAgIC8vIEZJWE1FOiBDaGVjayBpZiB0aGVpciB3aWR0aCBz
aG91bGQgYmUgYWRkZWQgdG8gY3VycmVudExvZ2ljYWxSaWdodC4KLSAgICAgICAgICAgIEFTU0VS
VCghbGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pOwotICAgICAgICAgICAgQVNTRVJUKGxpbmVDYW5k
aWRhdGUuaW5saW5lQ29udGVudC5ydW5zKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgICAgIGxpbmVD
YW5kaWRhdGUuZmxvYXRJdGVtID0gJmlubGluZUl0ZW07CisgICAgICAgICAgICBsaW5lQ2FuZGlk
YXRlLmZsb2F0Q29udGVudC5hcHBlbmQoaW5saW5lSXRlbSk7CiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoaW5saW5lSXRlbS5pc1RleHQoKSB8fCBpbmxpbmVJ
dGVtLmlzQ29udGFpbmVyU3RhcnQoKSB8fCBpbmxpbmVJdGVtLmlzQ29udGFpbmVyRW5kKCkgfHwg
aW5saW5lSXRlbS5pc0JveCgpKSB7Ci0gICAgICAgICAgICBBU1NFUlQoIWxpbmVDYW5kaWRhdGUu
ZmxvYXRJdGVtKTsKICAgICAgICAgICAgIGF1dG8gaW5saW5lSXRlbm1XaWR0aCA9IGlubGluZUl0
ZW1XaWR0aChpbmxpbmVJdGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKICAgICAgICAgICAgIGxp
bmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5hcHBlbmRJbmxpbmVJdGVtKGlubGluZUl0ZW0sIGlu
bGluZUl0ZW5tV2lkdGgpOwogICAgICAgICAgICAgY3VycmVudExvZ2ljYWxSaWdodCArPSBpbmxp
bmVJdGVubVdpZHRoOwpAQCAtMzg5LDI0ICszOTYsMzMgQEAgdm9pZCBMaW5lTGF5b3V0Q29udGV4
dDo6bmV4dENvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHVuc2ln
bmUKICAgICB9CiB9CiAKLUxpbmVMYXlvdXRDb250ZXh0OjpSZXN1bHQgTGluZUxheW91dENvbnRl
eHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbShMaW5lQnVpbGRlciYgbGluZSwgY29uc3QgSW5saW5lSXRl
bSYgZmxvYXRJdGVtKQorTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4
dDo6dHJ5QWRkaW5nRmxvYXRDb250ZW50KExpbmVCdWlsZGVyJiBsaW5lLCBjb25zdCBMaW5lQ2Fu
ZGlkYXRlJiBsaW5lQ2FuZGlkYXRlKQogewotICAgIGF1dG8gbG9naWNhbFdpZHRoID0gaW5saW5l
SXRlbVdpZHRoKGZsb2F0SXRlbSwgeyB9KTsKLSAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gbGlu
ZS5hdmFpbGFibGVXaWR0aCgpICsgbGluZS50cmltbWFibGVUcmFpbGluZ1dpZHRoKCk7Ci0gICAg
YXV0byBsaW5lSXNDb25zaWRlcmVkRW1wdHkgPSBsaW5lLmlzVmlzdWFsbHlFbXB0eSgpICYmICFs
aW5lLmhhc0ludHJ1c2l2ZUZsb2F0KCk7Ci0KLSAgICBpZiAobG9naWNhbFdpZHRoID4gYXZhaWxh
YmxlV2lkdGggJiYgIWxpbmVJc0NvbnNpZGVyZWRFbXB0eSkKLSAgICAgICAgcmV0dXJuIHsgTGlu
ZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXMgfTsKLSAgICAvLyBUaGlzIGZsb2F0IGNhbiBzaXQg
b24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICBhdXRvJiBmbG9hdEJveCA9IGZsb2F0SXRlbS5sYXlv
dXRCb3goKTsKLSAgICAvLyBTaHJpbmsgYXZhaWxhYmxlIHNwYWNlIGZvciBjdXJyZW50IGxpbmUg
YW5kIG1vdmUgZXhpc3RpbmcgaW5saW5lIHJ1bnMuCi0gICAgbGluZS5zZXRIYXNJbnRydXNpdmVG
bG9hdCgpOwotICAgIGlmIChmbG9hdEJveC5pc0xlZnRGbG9hdGluZ1Bvc2l0aW9uZWQoKSkKLSAg
ICAgICAgbGluZS5tb3ZlTG9naWNhbExlZnQobG9naWNhbFdpZHRoKTsKLSAgICBlbHNlCi0gICAg
ICAgIGxpbmUubW92ZUxvZ2ljYWxSaWdodChsb2dpY2FsV2lkdGgpOwotICAgIG1fZmxvYXRzLmFw
cGVuZCgmZmxvYXRJdGVtKTsKLSAgICByZXR1cm4geyBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6
Ok5vLCB7IDEsIGZhbHNlIH0gfTsKKyAgICBhdXRvJiBmbG9hdENvbnRlbnQgPSBsaW5lQ2FuZGlk
YXRlLmZsb2F0Q29udGVudDsKKyAgICBhdXRvIGF2YWlsYWJsZUxpbmVXaWR0aCA9IGxpbmUuYXZh
aWxhYmxlV2lkdGgoKSArIGxpbmUudHJpbW1hYmxlVHJhaWxpbmdXaWR0aCgpOworICAgIGF1dG8g
YWNjdW11bGF0ZWRGbG9hdHNXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIHNpemVf
dCBjb21taXR0ZWRDb3VudCA9IDA7CisKKyAgICBmb3IgKGF1dG8qIGZsb2F0Q2FuZGlkYXRlIDog
ZmxvYXRDb250ZW50Lmxpc3QoKSkgeworICAgICAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9IGlubGlu
ZUl0ZW1XaWR0aCgqZmxvYXRDYW5kaWRhdGUsIHsgfSk7CisgICAgICAgIGF1dG8gYXZhaWxhYmxl
V2lkdGhGb3JGbG9hdCA9IGF2YWlsYWJsZUxpbmVXaWR0aCAtIGFjY3VtdWxhdGVkRmxvYXRzV2lk
dGg7CisgICAgICAgIGFjY3VtdWxhdGVkRmxvYXRzV2lkdGggKz0gbG9naWNhbFdpZHRoOworCisg
ICAgICAgIGlmIChhdmFpbGFibGVXaWR0aEZvckZsb2F0IDwgbG9naWNhbFdpZHRoKQorICAgICAg
ICAgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXMsIHsgY29tbWl0dGVk
Q291bnQsIGZhbHNlIH0gfTsKKworICAgICAgICAvLyBUaGlzIGZsb2F0IGNhbiBzaXQgb24gdGhl
IGN1cnJlbnQgbGluZS4KKyAgICAgICAgYXV0byYgZmxvYXRCb3ggPSBmbG9hdENhbmRpZGF0ZS0+
bGF5b3V0Qm94KCk7CisgICAgICAgIC8vIFNocmluayBhdmFpbGFibGUgc3BhY2UgZm9yIGN1cnJl
bnQgbGluZSBhbmQgbW92ZSBleGlzdGluZyBpbmxpbmUgcnVucy4KKyAgICAgICAgbGluZS5zZXRI
YXNJbnRydXNpdmVGbG9hdCgpOworICAgICAgICBpZiAoZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQ
b3NpdGlvbmVkKCkpCisgICAgICAgICAgICBsaW5lLm1vdmVMb2dpY2FsTGVmdChsb2dpY2FsV2lk
dGgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsaW5lLm1vdmVMb2dpY2FsUmlnaHQobG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgbV9mbG9hdHMuYXBwZW5kKGZsb2F0Q2FuZGlkYXRlKTsKKyAg
ICAgICAgKytjb21taXR0ZWRDb3VudDsKKyAgICB9CisgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6
OklzRW5kT2ZMaW5lOjpObywgeyBjb21taXR0ZWRDb3VudCwgZmFsc2UgfSB9OwogfQogCiBMaW5l
TGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdJbmxpbmVJ
dGVtcyhMaW5lQnJlYWtlciYgbGluZUJyZWFrZXIsIExpbmVCdWlsZGVyJiBsaW5lLCBjb25zdCBJ
bmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBMaW5lQ2FuZGlkYXRlJiBsaW5lQ2Fu
ZGlkYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvTGluZUxheW91dENvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmgKaW5kZXggNWRkMDJkYjc4ZmRlOWFkZmZmNDU5OTYy
YTk3NWRhYzAwOTE4OWQxNy4uOWE5MmRjZmFlY2NjMTk0NWUyMzhiMjlmMTgzYTg5NTRjZWNlMjJk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGlu
ZUxheW91dENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIENvbW1pdHRlZENvbnRlbnRDb3VudCBjb21taXR0ZWRDb3VudCB7IH07CiAgICAgICAgIE9w
dGlvbmFsIDxMaW5lQ29udGVudDo6UGFydGlhbENvbnRlbnQ+IHBhcnRpYWxDb250ZW50IHsgfTsK
ICAgICB9OwotICAgIFJlc3VsdCB0cnlBZGRpbmdGbG9hdEl0ZW0oTGluZUJ1aWxkZXImLCBjb25z
dCBJbmxpbmVJdGVtJiBmbG9hdEl0ZW0pOworICAgIFJlc3VsdCB0cnlBZGRpbmdGbG9hdENvbnRl
bnQoTGluZUJ1aWxkZXImLCBjb25zdCBMaW5lQ2FuZGlkYXRlJik7CiAgICAgUmVzdWx0IHRyeUFk
ZGluZ0lubGluZUl0ZW1zKExpbmVCcmVha2VyJiwgTGluZUJ1aWxkZXImLCBjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBMaW5lQ2FuZGlkYXRlJik7CiAgICAgc2l6ZV90
IHJlYnVpbGRMaW5lKExpbmVCdWlsZGVyJiwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRS
YW5nZSk7CiAgICAgdm9pZCBjb21taXRQYXJ0aWFsQ29udGVudChMaW5lQnVpbGRlciYsIGNvbnN0
IExpbmVCcmVha2VyOjpSdW5MaXN0JiwgY29uc3QgTGluZUJyZWFrZXI6OlJlc3VsdDo6UGFydGlh
bFRyYWlsaW5nQ29udGVudCYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391563</attachid>
            <date>2020-02-24 11:50:43 -0800</date>
            <delta_ts>2020-02-24 11:55:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208109-20200224115042.patch</filename>
            <type>text/plain</type>
            <size>12279</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQyN2Q5NzgwMWU4ZTY2
NzM0OGM3Y2E1MjQ5NTEzYjk0ODgwMWRhMy4uMjUyY2M0ZjdiOWY4NzhhMDIzZjcxZDQ0NTRiODQ0
MDE1MzRmMDc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAyLTI0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXVtGbG9hdHNd
IEZpeCBmbG9hdHMgaGFuZGxpbmcgaW5zaWRlIHVuYnJlYWthYmxlIGNvbnRlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODEwOQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTk3MDg2NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29p
dmlzdG8uCisKKyAgICAgICAgV2UndmUgYmVlbiBoYW5kbGluZyBmbG9hdCBib3hlcyBhbmQgb3Ro
ZXIgaW5saW5lIGl0ZW1zIGFzIG11dHVhbGx5IGV4Y2x1c2l2ZSBjb250ZW50IChpbiB0aGUgY29u
dGV4dCBvZiB1bmJyZWFrYWJsZSBjYW5kaWRhdGUgcnVucykuCisgICAgICAgIFdoaWxlIHRoaXMg
d29ya3MgaW4gbW9zdCBjYXNlcywgd2hlbiB0aGUgdW5icmVha2FibGUgY29udGVudCBpbmNsdWRl
cyBmbG9hdCBib3hlcywgdGhlIGxheW91dAorICAgICAgICBlbmRzIHVwIGJlaW5nIGluY29ycmVj
dC4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5nIHN1cmUg
d2UgcHJvY2VzcyB0aGUgaW5saW5lIGNvbnRlbnQgYW5kIHRoZSBhc3NvY2lhdGVkIGZsb2F0IGJv
eGVzIGFzIG9uZSBlbnRpdHkuCisgICAgICAgIChlLmcgInRleHRfPGRpdiBzdHlsZT0iZmxvYXQ6
IGxlZnQiPjwvZGl2Pl9jb250ZW50IiBwcm9kdWNlcyBhbiB1bmJyZWFrYWJsZSBpbmxpbmUgY29u
dGVudCBvZiBbdGV4dF9dW19jb250ZW50XSBhbmQgYW4gYXNzb2NpYXRlZCBmbG9hdCBib3gpCisK
KyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmlzQXRTb2Z0V3JhcE9wcG9ydHVuaXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZTo6RmxvYXRDb250ZW50OjphcHBl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpGbG9hdENvbnRl
bnQ6Omxpc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRl
OjpGbG9hdENvbnRlbnQ6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNh
bmRpZGF0ZTo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29u
dGV4dDo6bGF5b3V0TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlvdXRD
b250ZXh0OjpuZXh0Q29udGVudEZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nRmxvYXRDb250ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUxheW91dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbSk6IERlbGV0
ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQu
aDoKKwogMjAyMC0wMi0yNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24uX2NvcnNEaXNhYmxpbmdQYXR0
ZXJucyBzaG91bGQgYWxzbyBkaXNhYmxlIENPUlMgZm9yIG5vbi1Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIgbG9hZGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCmluZGV4IDY4MmJmODJmZTA4ZTgx
Y2VmYmMxYjdkZTc1YjRhMmNiMDc2MDMxNjAuLmZkY2IxY2RjMmRkMzZhMDFkMjliMjFkMTE4NDkw
NjdmMGZhNjgwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKQEAgLTEwMiw5ICsxMDIsOSBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNBdFNvZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5l
SXRlbSYgY3VycmVudCwgY29uc3QgSW5saQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAg
ICAgaWYgKGN1cnJlbnQuaXNGbG9hdCgpIHx8IG5leHQuaXNGbG9hdCgpKSB7Ci0gICAgICAgIC8v
IFdoaWxlIGZsb2F0cyBhcmUgbm90IHBhcnQgb2YgdGhlIGlubGluZSBjb250ZW50LCBsZXQncyBq
dXN0IGhhbmRsZSB0aGVtIGFzIGlmIHRoZXkgd2VyZSBpbmxpbmUgYm94ZXMgZm9yIG5vdyBhbmQg
cHJldGVuZAotICAgICAgICAvLyB0aGVyZSdzIGEgc29mdCB3cmFwcGluZyBvcHBvcnR1bml0eSBo
ZXJlICh0ZXh0IGJlZm9yZTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0Ij48L2Rpdj5hbmQgYWZ0ZXIp
LgotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8gRmxvYXRzIGFyZSBub3QgcGFydCBv
ZiB0aGUgaW5saW5lIGNvbnRlbnQuIFdlIHNob3VsZCB0cmVhdCB0aGVtIGFzIGlmIHRoZXkgd2Vy
ZSBub3QgaGVyZSBhcyBmYXIgYXMgd3JhcCBvcHBvcnR1bml0dWVzLgorICAgICAgICAvLyBbdGV4
dF1bZmxvYXQgYm94XVt0ZXh0XSBpcyBlc3NlbnRpYWxseSBqdXN0IFt0ZXh0XVt0ZXh0XQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IHJldHVybiB0cnVlOwpAQCAtMTk1LDkgKzE5NSwyMSBAQCBzdHJ1Y3QgTGluZUNhbmRpZGF0ZSB7
CiAgICAgICAgIExpbmVCcmVha2VyOjpSdW5MaXN0IG1faW5saW5lUnVuczsKICAgICAgICAgY29u
c3QgSW5saW5lSXRlbSogbV90cmFpbGluZ0xpbmVCcmVhayB7IG51bGxwdHIgfTsKICAgICB9Owot
ICAgIC8vIENhbmRpZGF0ZSBjb250ZW50IGlzIGVpdGhlciBhIGNvbGxlY3Rpb24gb2YgaW5saW5l
IGl0ZW1zIG9yIGEgZmxvYXQgYm94LgorCisgICAgc3RydWN0IEZsb2F0Q29udGVudCB7CisgICAg
ICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0ZW0mIGZsb2F0SXRlbSkgeyBtX2Zsb2F0TGlz
dC5hcHBlbmQoJmZsb2F0SXRlbSk7IH0KKworICAgICAgICB1c2luZyBGbG9hdExpc3QgPSBWZWN0
b3I8Y29uc3QgSW5saW5lSXRlbSo+OworICAgICAgICBjb25zdCBGbG9hdExpc3QmIGxpc3QoKSBj
b25zdCB7IHJldHVybiBtX2Zsb2F0TGlzdDsgfQorCisgICAgICAgIHZvaWQgcmVzZXQoKSB7IG1f
ZmxvYXRMaXN0LmNsZWFyKCk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIEZsb2F0TGlzdCBt
X2Zsb2F0TGlzdDsKKyAgICB9OworICAgIC8vIENhbmRpZGF0ZSBjb250ZW50IGlzIGEgY29sbGVj
dGlvbiBvZiBpbmxpbmUgaXRlbXMgYW5kL29yIGZsb2F0IGJveGVzLgogICAgIElubGluZUNvbnRl
bnQgaW5saW5lQ29udGVudDsKLSAgICBjb25zdCBJbmxpbmVJdGVtKiBmbG9hdEl0ZW0geyBudWxs
cHRyIH07CisgICAgRmxvYXRDb250ZW50IGZsb2F0Q29udGVudDsKIH07CiAKIGlubGluZSB2b2lk
IExpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6OmFwcGVuZElubGluZUl0ZW0oY29uc3QgSW5s
aW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCkBAIC0y
MDgsNyArMjIwLDcgQEAgaW5saW5lIHZvaWQgTGluZUNhbmRpZGF0ZTo6SW5saW5lQ29udGVudDo6
YXBwZW5kSW5saW5lSXRlbShjb25zdCBJbmxpbmVJdGVtJiBpbmwKIAogaW5saW5lIHZvaWQgTGlu
ZUNhbmRpZGF0ZTo6cmVzZXQoKQogewotICAgIGZsb2F0SXRlbSA9IHsgfTsKKyAgICBmbG9hdENv
bnRlbnQucmVzZXQoKTsKICAgICBpbmxpbmVDb250ZW50LnJlc2V0KCk7CiB9CiAKQEAgLTI3OCwz
MyArMjkwLDMxIEBAIExpbmVMYXlvdXRDb250ZXh0OjpMaW5lQ29udGVudCBMaW5lTGF5b3V0Q29u
dGV4dDo6bGF5b3V0TGluZShMaW5lQnVpbGRlciYgbGluZSwKICAgICAgICAgLy8gMy4gQ2hlY2sg
aWYgdGhlIGNvbnRlbnQgZml0cyB0aGUgbGluZSBhbmQgY29tbWl0IHRoZSBjb250ZW50IGFjY29y
ZGluZ2x5IChmdWxsLCBwYXJ0aWFsIG9yIG5vdCBjb21taXQgYXQgYWxsKS4KICAgICAgICAgLy8g
NC4gUmV0dXJuIGlmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGVpdGhlciBieSBub3Qg
YmVpbmcgYWJsZSB0byBmaXQgbW9yZSBjb250ZW50IG9yIGJlY2F1c2Ugb2YgYW4gZXhwbGljaXQg
bGluZSBicmVhay4KICAgICAgICAgbmV4dENvbnRlbnRGb3JMaW5lKGxpbmVDYW5kaWRhdGUsIGN1
cnJlbnRJdGVtSW5kZXgsIGxheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgs
IGxpbmUubGluZUJveCgpLmxvZ2ljYWxXaWR0aCgpKTsKLSAgICAgICAgaWYgKGxpbmVDYW5kaWRh
dGUuZmxvYXRJdGVtKSB7CisgICAgICAgIGlmIChsaW5lQ2FuZGlkYXRlLmZsb2F0Q29udGVudC5s
aXN0KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAvLyBGbG9hdHMgc2hyaW5rIHRoZSBhdmFp
bGFibGUgaG9yaXpvbnRhbCBzcGFjZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQsIGJ1dCB0
aGV5IGFyZSBub3QgYWRkZWQgb24gdGhlIGxpbmUuCi0gICAgICAgICAgICBhdXRvIHJlc3VsdCA9
IHRyeUFkZGluZ0Zsb2F0SXRlbShsaW5lLCAqbGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pOworICAg
ICAgICAgICAgYXV0byByZXN1bHQgPSB0cnlBZGRpbmdGbG9hdENvbnRlbnQobGluZSwgbGluZUNh
bmRpZGF0ZSk7CiAgICAgICAgICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKz0gcmVzdWx0
LmNvbW1pdHRlZENvdW50LnZhbHVlOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VuZE9mTGlu
ZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcykgewogICAgICAgICAgICAgICAgIC8v
IFRoaXMgZmxvYXQgdGFrZXMgdXAgYWxsIHRoZSBob3Jpem9udGFsIHNwYWNlLgogICAgICAgICAg
ICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRl
bUNvdW50LCB7IH0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgQVNTRVJUKGxpbmVDYW5k
aWRhdGUuaW5saW5lQ29udGVudC5ydW5zKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNv
bnRlbnQ7Ci0gICAgICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRl
bnQgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJ5QWRk
aW5nSW5saW5lSXRlbXMobGluZUJyZWFrZXIsIGxpbmUsIGxheW91dFJhbmdlLCBsaW5lQ2FuZGlk
YXRlKTsKLSAgICAgICAgICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCA9IHJlc3VsdC5jb21t
aXR0ZWRDb3VudC5pc1JldmVydCA/IHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZSA6IGNvbW1p
dHRlZElubGluZUl0ZW1Db3VudCArIHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZTsKLSAgICAg
ICAgICAgIGF1dG8gaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxpbmVDb250ZW50
LnJ1bnMoKS5zaXplKCkgPT0gcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVlICYmICFyZXN1bHQu
cGFydGlhbENvbnRlbnQ7Ci0gICAgICAgICAgICBhdXRvIGlzRW5kT2ZMaW5lID0gcmVzdWx0Lmlz
RW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzOwotCi0gICAgICAgICAg
ICBpZiAoaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgJiYgaW5saW5lQ29udGVudC50cmFp
bGluZ0xpbmVCcmVhaygpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRnVsbHkgY29tbWl0ZWQgKG9y
IGVtcHR5KSBjb250ZW50IGZvbGxvd2VkIGJ5IGEgbGluZSBicmVhayBtZWFucyAiZW5kIG9mIGxp
bmUiLgotICAgICAgICAgICAgICAgIGxpbmUuYXBwZW5kKCppbmxpbmVDb250ZW50LnRyYWlsaW5n
TGluZUJyZWFrKCksIHsgfSk7Ci0gICAgICAgICAgICAgICAgKytjb21taXR0ZWRJbmxpbmVJdGVt
Q291bnQ7Ci0gICAgICAgICAgICAgICAgaXNFbmRPZkxpbmUgPSB0cnVlOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKGlzRW5kT2ZMaW5lKSB7Ci0gICAgICAgICAgICAgICAgLy8gV2Ug
Y2FuJ3QgcGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAg
ICAgICAgICByZXR1cm4gY2xvc2UobGluZSwgbGF5b3V0UmFuZ2UsIGNvbW1pdHRlZElubGluZUl0
ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxDb250ZW50KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250
ZW50OworICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRlbnQgb24g
dGhlIGN1cnJlbnQgbGluZS4KKyAgICAgICAgYXV0byByZXN1bHQgPSB0cnlBZGRpbmdJbmxpbmVJ
dGVtcyhsaW5lQnJlYWtlciwgbGluZSwgbGF5b3V0UmFuZ2UsIGxpbmVDYW5kaWRhdGUpOworICAg
ICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgPSByZXN1bHQuY29tbWl0dGVkQ291bnQuaXNS
ZXZlcnQgPyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFsdWUgOiBjb21taXR0ZWRJbmxpbmVJdGVt
Q291bnQgKyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFsdWU7CisgICAgICAgIGF1dG8gaW5saW5l
Q29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxpbmVDb250ZW50LnJ1bnMoKS5zaXplKCkgPT0g
cmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVlICYmICFyZXN1bHQucGFydGlhbENvbnRlbnQ7Cisg
ICAgICAgIGF1dG8gaXNFbmRPZkxpbmUgPSByZXN1bHQuaXNFbmRPZkxpbmUgPT0gTGluZUJyZWFr
ZXI6OklzRW5kT2ZMaW5lOjpZZXM7CisKKyAgICAgICAgaWYgKGlubGluZUNvbnRlbnRJc0Z1bGx5
Q29tbWl0dGVkICYmIGlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWsoKSkgeworICAgICAg
ICAgICAgLy8gRnVsbHkgY29tbWl0ZWQgKG9yIGVtcHR5KSBjb250ZW50IGZvbGxvd2VkIGJ5IGEg
bGluZSBicmVhayBtZWFucyAiZW5kIG9mIGxpbmUiLgorICAgICAgICAgICAgbGluZS5hcHBlbmQo
KmlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWsoKSwgeyB9KTsKKyAgICAgICAgICAgICsr
Y29tbWl0dGVkSW5saW5lSXRlbUNvdW50OworICAgICAgICAgICAgaXNFbmRPZkxpbmUgPSB0cnVl
OworICAgICAgICB9CisgICAgICAgIGlmIChpc0VuZE9mTGluZSkgeworICAgICAgICAgICAgLy8g
V2UgY2FuJ3QgcGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQgbGluZS4KKyAgICAg
ICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRl
bUNvdW50LCByZXN1bHQucGFydGlhbENvbnRlbnQpOwogICAgICAgICB9CiAgICAgICAgIGN1cnJl
bnRJdGVtSW5kZXggPSBsYXlvdXRSYW5nZS5zdGFydCArIGNvbW1pdHRlZElubGluZUl0ZW1Db3Vu
dDsKICAgICAgICAgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoID0geyB9OwpAQCAtMzY5LDEz
ICszNzksMTAgQEAgdm9pZCBMaW5lTGF5b3V0Q29udGV4dDo6bmV4dENvbnRlbnRGb3JMaW5lKExp
bmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHVuc2lnbmUKICAgICAgICAgaWYgKGlubGluZUl0
ZW0uaXNGbG9hdCgpKSB7CiAgICAgICAgICAgICAvLyBGbG9hdHMgYXJlIG5vdCBwYXJ0IG9mIHRo
ZSBsaW5lIGNvbnRleHQuCiAgICAgICAgICAgICAvLyBGSVhNRTogQ2hlY2sgaWYgdGhlaXIgd2lk
dGggc2hvdWxkIGJlIGFkZGVkIHRvIGN1cnJlbnRMb2dpY2FsUmlnaHQuCi0gICAgICAgICAgICBB
U1NFUlQoIWxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKTsKLSAgICAgICAgICAgIEFTU0VSVChsaW5l
Q2FuZGlkYXRlLmlubGluZUNvbnRlbnQucnVucygpLmlzRW1wdHkoKSk7Ci0gICAgICAgICAgICBs
aW5lQ2FuZGlkYXRlLmZsb2F0SXRlbSA9ICZpbmxpbmVJdGVtOworICAgICAgICAgICAgbGluZUNh
bmRpZGF0ZS5mbG9hdENvbnRlbnQuYXBwZW5kKGlubGluZUl0ZW0pOwogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwgaW5s
aW5lSXRlbS5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lckVuZCgp
IHx8IGlubGluZUl0ZW0uaXNCb3goKSkgewotICAgICAgICAgICAgQVNTRVJUKCFsaW5lQ2FuZGlk
YXRlLmZsb2F0SXRlbSk7CiAgICAgICAgICAgICBhdXRvIGlubGluZUl0ZW5tV2lkdGggPSBpbmxp
bmVJdGVtV2lkdGgoaW5saW5lSXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7CiAgICAgICAgICAg
ICBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQuYXBwZW5kSW5saW5lSXRlbShpbmxpbmVJdGVt
LCBpbmxpbmVJdGVubVdpZHRoKTsKICAgICAgICAgICAgIGN1cnJlbnRMb2dpY2FsUmlnaHQgKz0g
aW5saW5lSXRlbm1XaWR0aDsKQEAgLTM4OSwyNCArMzk2LDMzIEBAIHZvaWQgTGluZUxheW91dENv
bnRleHQ6Om5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCB1
bnNpZ25lCiAgICAgfQogfQogCi1MaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRD
b250ZXh0Ojp0cnlBZGRpbmdGbG9hdEl0ZW0oTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IElubGlu
ZUl0ZW0mIGZsb2F0SXRlbSkKK0xpbmVMYXlvdXRDb250ZXh0OjpSZXN1bHQgTGluZUxheW91dENv
bnRleHQ6OnRyeUFkZGluZ0Zsb2F0Q29udGVudChMaW5lQnVpbGRlciYgbGluZSwgY29uc3QgTGlu
ZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSkKIHsKLSAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9IGlu
bGluZUl0ZW1XaWR0aChmbG9hdEl0ZW0sIHsgfSk7Ci0gICAgYXV0byBhdmFpbGFibGVXaWR0aCA9
IGxpbmUuYXZhaWxhYmxlV2lkdGgoKSArIGxpbmUudHJpbW1hYmxlVHJhaWxpbmdXaWR0aCgpOwot
ICAgIGF1dG8gbGluZUlzQ29uc2lkZXJlZEVtcHR5ID0gbGluZS5pc1Zpc3VhbGx5RW1wdHkoKSAm
JiAhbGluZS5oYXNJbnRydXNpdmVGbG9hdCgpOwotCi0gICAgaWYgKGxvZ2ljYWxXaWR0aCA+IGF2
YWlsYWJsZVdpZHRoICYmICFsaW5lSXNDb25zaWRlcmVkRW1wdHkpCi0gICAgICAgIHJldHVybiB7
IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzIH07Ci0gICAgLy8gVGhpcyBmbG9hdCBjYW4g
c2l0IG9uIHRoZSBjdXJyZW50IGxpbmUuCi0gICAgYXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0ZW0u
bGF5b3V0Qm94KCk7Ci0gICAgLy8gU2hyaW5rIGF2YWlsYWJsZSBzcGFjZSBmb3IgY3VycmVudCBs
aW5lIGFuZCBtb3ZlIGV4aXN0aW5nIGlubGluZSBydW5zLgotICAgIGxpbmUuc2V0SGFzSW50cnVz
aXZlRmxvYXQoKTsKLSAgICBpZiAoZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVkKCkp
Ci0gICAgICAgIGxpbmUubW92ZUxvZ2ljYWxMZWZ0KGxvZ2ljYWxXaWR0aCk7Ci0gICAgZWxzZQot
ICAgICAgICBsaW5lLm1vdmVMb2dpY2FsUmlnaHQobG9naWNhbFdpZHRoKTsKLSAgICBtX2Zsb2F0
cy5hcHBlbmQoJmZsb2F0SXRlbSk7Ci0gICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5kT2ZM
aW5lOjpObywgeyAxLCBmYWxzZSB9IH07CisgICAgYXV0byYgZmxvYXRDb250ZW50ID0gbGluZUNh
bmRpZGF0ZS5mbG9hdENvbnRlbnQ7CisgICAgYXV0byBhdmFpbGFibGVMaW5lV2lkdGggPSBsaW5l
LmF2YWlsYWJsZVdpZHRoKCkgKyBsaW5lLnRyaW1tYWJsZVRyYWlsaW5nV2lkdGgoKTsKKyAgICBh
dXRvIGFjY3VtdWxhdGVkRmxvYXRzV2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKKyAgICBz
aXplX3QgY29tbWl0dGVkQ291bnQgPSAwOworCisgICAgZm9yIChhdXRvKiBmbG9hdENhbmRpZGF0
ZSA6IGZsb2F0Q29udGVudC5saXN0KCkpIHsKKyAgICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBp
bmxpbmVJdGVtV2lkdGgoKmZsb2F0Q2FuZGlkYXRlLCB7IH0pOworICAgICAgICBhdXRvIGF2YWls
YWJsZVdpZHRoRm9yRmxvYXQgPSBhdmFpbGFibGVMaW5lV2lkdGggLSBhY2N1bXVsYXRlZEZsb2F0
c1dpZHRoOworICAgICAgICBhY2N1bXVsYXRlZEZsb2F0c1dpZHRoICs9IGxvZ2ljYWxXaWR0aDsK
KworICAgICAgICBpZiAoYXZhaWxhYmxlV2lkdGhGb3JGbG9hdCA8IGxvZ2ljYWxXaWR0aCkKKyAg
ICAgICAgICAgIHJldHVybiB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNvbW1p
dHRlZENvdW50LCBmYWxzZSB9IH07CisKKyAgICAgICAgLy8gVGhpcyBmbG9hdCBjYW4gc2l0IG9u
IHRoZSBjdXJyZW50IGxpbmUuCisgICAgICAgIGF1dG8mIGZsb2F0Qm94ID0gZmxvYXRDYW5kaWRh
dGUtPmxheW91dEJveCgpOworICAgICAgICAvLyBTaHJpbmsgYXZhaWxhYmxlIHNwYWNlIGZvciBj
dXJyZW50IGxpbmUgYW5kIG1vdmUgZXhpc3RpbmcgaW5saW5lIHJ1bnMuCisgICAgICAgIGxpbmUu
c2V0SGFzSW50cnVzaXZlRmxvYXQoKTsKKyAgICAgICAgaWYgKGZsb2F0Qm94LmlzTGVmdEZsb2F0
aW5nUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgbGluZS5tb3ZlTG9naWNhbExlZnQobG9naWNh
bFdpZHRoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGluZS5tb3ZlTG9naWNhbFJpZ2h0
KGxvZ2ljYWxXaWR0aCk7CisgICAgICAgIG1fZmxvYXRzLmFwcGVuZChmbG9hdENhbmRpZGF0ZSk7
CisgICAgICAgICsrY29tbWl0dGVkQ291bnQ7CisgICAgfQorICAgIHJldHVybiB7IExpbmVCcmVh
a2VyOjpJc0VuZE9mTGluZTo6Tm8sIHsgY29tbWl0dGVkQ291bnQsIGZhbHNlIH0gfTsKIH0KIAog
TGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nSW5s
aW5lSXRlbXMoTGluZUJyZWFrZXImIGxpbmVCcmVha2VyLCBMaW5lQnVpbGRlciYgbGluZSwgY29u
c3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYgbGlu
ZUNhbmRpZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oCmluZGV4IDVkZDAyZGI3OGZkZTlhZGZmZjQ1
OTk2MmE5NzVkYWMwMDkxODlkMTcuLjlhOTJkY2ZhZWNjYzE5NDVlMjM4YjI5ZjE4M2E4OTU0Y2Vj
ZTIyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0xpbmVMYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuaApAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgog
ICAgICAgICBDb21taXR0ZWRDb250ZW50Q291bnQgY29tbWl0dGVkQ291bnQgeyB9OwogICAgICAg
ICBPcHRpb25hbCA8TGluZUNvbnRlbnQ6OlBhcnRpYWxDb250ZW50PiBwYXJ0aWFsQ29udGVudCB7
IH07CiAgICAgfTsKLSAgICBSZXN1bHQgdHJ5QWRkaW5nRmxvYXRJdGVtKExpbmVCdWlsZGVyJiwg
Y29uc3QgSW5saW5lSXRlbSYgZmxvYXRJdGVtKTsKKyAgICBSZXN1bHQgdHJ5QWRkaW5nRmxvYXRD
b250ZW50KExpbmVCdWlsZGVyJiwgY29uc3QgTGluZUNhbmRpZGF0ZSYpOwogICAgIFJlc3VsdCB0
cnlBZGRpbmdJbmxpbmVJdGVtcyhMaW5lQnJlYWtlciYsIExpbmVCdWlsZGVyJiwgY29uc3QgSW5s
aW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYpOwogICAgIHNp
emVfdCByZWJ1aWxkTGluZShMaW5lQnVpbGRlciYsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5
b3V0UmFuZ2UpOwogICAgIHZvaWQgY29tbWl0UGFydGlhbENvbnRlbnQoTGluZUJ1aWxkZXImLCBj
b25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYsIGNvbnN0IExpbmVCcmVha2VyOjpSZXN1bHQ6OlBh
cnRpYWxUcmFpbGluZ0NvbnRlbnQmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391564</attachid>
            <date>2020-02-24 11:55:44 -0800</date>
            <delta_ts>2020-02-24 13:15:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208109-20200224115543.patch</filename>
            <type>text/plain</type>
            <size>12282</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQyN2Q5NzgwMWU4ZTY2
NzM0OGM3Y2E1MjQ5NTEzYjk0ODgwMWRhMy4uYjQwYTlmYTQxYjZhNTQwMTdmNGU5OTYyYWFjN2E5
NDFmMjc1NjcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAyLTI0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXVtGbG9hdHNd
IEZpeCBmbG9hdCBib3ggaGFuZGxpbmcgaW5zaWRlIHVuYnJlYWthYmxlIGNvbnRlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODEwOQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTk3MDg2NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkg
S29pdmlzdG8uCisKKyAgICAgICAgV2UndmUgYmVlbiBoYW5kbGluZyBmbG9hdCBib3hlcyBhbmQg
b3RoZXIgaW5saW5lIGl0ZW1zIGFzIG11dHVhbGx5IGV4Y2x1c2l2ZSBjb250ZW50IChpbiB0aGUg
Y29udGV4dCBvZiB1bmJyZWFrYWJsZSBjYW5kaWRhdGUgcnVucykuCisgICAgICAgIFdoaWxlIHRo
aXMgd29ya3MgaW4gbW9zdCBjYXNlcywgd2hlbiB0aGUgdW5icmVha2FibGUgY29udGVudCBpbmNs
dWRlcyBmbG9hdCBib3hlcywgdGhlIGxheW91dAorICAgICAgICBlbmRzIHVwIGJlaW5nIGluY29y
cmVjdC4KKyAgICAgICAgVGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgbWFraW5nIHN1
cmUgd2UgcHJvY2VzcyB0aGUgaW5saW5lIGNvbnRlbnQgYW5kIHRoZSBhc3NvY2lhdGVkIGZsb2F0
IGJveGVzIGFzIG9uZSBlbnRpdHkuCisgICAgICAgIChlLmcgInRleHRfPGRpdiBzdHlsZT0iZmxv
YXQ6IGxlZnQiPjwvZGl2Pl9jb250ZW50IiBwcm9kdWNlcyBhbiB1bmJyZWFrYWJsZSBpbmxpbmUg
Y29udGVudCBvZiBbdGV4dF9dW19jb250ZW50XSBhbmQgYW4gYXNzb2NpYXRlZCBmbG9hdCBib3gp
CisKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmlzQXRTb2Z0V3JhcE9wcG9ydHVuaXR5KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUNhbmRpZGF0ZTo6RmxvYXRDb250ZW50Ojph
cHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlkYXRlOjpGbG9hdENv
bnRlbnQ6Omxpc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQ2FuZGlk
YXRlOjpGbG9hdENvbnRlbnQ6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUNhbmRpZGF0ZTo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0
Q29udGV4dDo6bGF5b3V0TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlv
dXRDb250ZXh0OjpuZXh0Q29udGVudEZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5nRmxvYXRDb250ZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUxheW91dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0SXRlbSk6IERl
bGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRl
eHQuaDoKKwogMjAyMC0wMi0yNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24uX2NvcnNEaXNhYmxpbmdQ
YXR0ZXJucyBzaG91bGQgYWxzbyBkaXNhYmxlIENPUlMgZm9yIG5vbi1Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIgbG9hZGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3BwCmluZGV4IDY4MmJmODJmZTA4
ZTgxY2VmYmMxYjdkZTc1YjRhMmNiMDc2MDMxNjAuLmZkY2IxY2RjMmRkMzZhMDFkMjliMjFkMTE4
NDkwNjdmMGZhNjgwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKQEAgLTEwMiw5ICsxMDIs
OSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNBdFNvZnRXcmFwT3Bwb3J0dW5pdHkoY29uc3QgSW5s
aW5lSXRlbSYgY3VycmVudCwgY29uc3QgSW5saQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAgICAgaWYgKGN1cnJlbnQuaXNGbG9hdCgpIHx8IG5leHQuaXNGbG9hdCgpKSB7Ci0gICAgICAg
IC8vIFdoaWxlIGZsb2F0cyBhcmUgbm90IHBhcnQgb2YgdGhlIGlubGluZSBjb250ZW50LCBsZXQn
cyBqdXN0IGhhbmRsZSB0aGVtIGFzIGlmIHRoZXkgd2VyZSBpbmxpbmUgYm94ZXMgZm9yIG5vdyBh
bmQgcHJldGVuZAotICAgICAgICAvLyB0aGVyZSdzIGEgc29mdCB3cmFwcGluZyBvcHBvcnR1bml0
eSBoZXJlICh0ZXh0IGJlZm9yZTxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0Ij48L2Rpdj5hbmQgYWZ0
ZXIpLgotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8gRmxvYXRzIGFyZSBub3QgcGFy
dCBvZiB0aGUgaW5saW5lIGNvbnRlbnQuIFdlIHNob3VsZCB0cmVhdCB0aGVtIGFzIGlmIHRoZXkg
d2VyZSBub3QgaGVyZSBhcyBmYXIgYXMgd3JhcCBvcHBvcnR1bml0dWVzLgorICAgICAgICAvLyBb
dGV4dF1bZmxvYXQgYm94XVt0ZXh0XSBpcyBlc3NlbnRpYWxseSBqdXN0IFt0ZXh0XVt0ZXh0XQor
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIHJldHVybiB0cnVlOwpAQCAtMTk1LDkgKzE5NSwyMSBAQCBzdHJ1Y3QgTGluZUNhbmRpZGF0
ZSB7CiAgICAgICAgIExpbmVCcmVha2VyOjpSdW5MaXN0IG1faW5saW5lUnVuczsKICAgICAgICAg
Y29uc3QgSW5saW5lSXRlbSogbV90cmFpbGluZ0xpbmVCcmVhayB7IG51bGxwdHIgfTsKICAgICB9
OwotICAgIC8vIENhbmRpZGF0ZSBjb250ZW50IGlzIGVpdGhlciBhIGNvbGxlY3Rpb24gb2YgaW5s
aW5lIGl0ZW1zIG9yIGEgZmxvYXQgYm94LgorCisgICAgc3RydWN0IEZsb2F0Q29udGVudCB7Cisg
ICAgICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0ZW0mIGZsb2F0SXRlbSkgeyBtX2Zsb2F0
TGlzdC5hcHBlbmQoJmZsb2F0SXRlbSk7IH0KKworICAgICAgICB1c2luZyBGbG9hdExpc3QgPSBW
ZWN0b3I8Y29uc3QgSW5saW5lSXRlbSo+OworICAgICAgICBjb25zdCBGbG9hdExpc3QmIGxpc3Qo
KSBjb25zdCB7IHJldHVybiBtX2Zsb2F0TGlzdDsgfQorCisgICAgICAgIHZvaWQgcmVzZXQoKSB7
IG1fZmxvYXRMaXN0LmNsZWFyKCk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIEZsb2F0TGlz
dCBtX2Zsb2F0TGlzdDsKKyAgICB9OworICAgIC8vIENhbmRpZGF0ZSBjb250ZW50IGlzIGEgY29s
bGVjdGlvbiBvZiBpbmxpbmUgaXRlbXMgYW5kL29yIGZsb2F0IGJveGVzLgogICAgIElubGluZUNv
bnRlbnQgaW5saW5lQ29udGVudDsKLSAgICBjb25zdCBJbmxpbmVJdGVtKiBmbG9hdEl0ZW0geyBu
dWxscHRyIH07CisgICAgRmxvYXRDb250ZW50IGZsb2F0Q29udGVudDsKIH07CiAKIGlubGluZSB2
b2lkIExpbmVDYW5kaWRhdGU6OklubGluZUNvbnRlbnQ6OmFwcGVuZElubGluZUl0ZW0oY29uc3Qg
SW5saW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCkBA
IC0yMDgsNyArMjIwLDcgQEAgaW5saW5lIHZvaWQgTGluZUNhbmRpZGF0ZTo6SW5saW5lQ29udGVu
dDo6YXBwZW5kSW5saW5lSXRlbShjb25zdCBJbmxpbmVJdGVtJiBpbmwKIAogaW5saW5lIHZvaWQg
TGluZUNhbmRpZGF0ZTo6cmVzZXQoKQogewotICAgIGZsb2F0SXRlbSA9IHsgfTsKKyAgICBmbG9h
dENvbnRlbnQucmVzZXQoKTsKICAgICBpbmxpbmVDb250ZW50LnJlc2V0KCk7CiB9CiAKQEAgLTI3
OCwzMyArMjkwLDMxIEBAIExpbmVMYXlvdXRDb250ZXh0OjpMaW5lQ29udGVudCBMaW5lTGF5b3V0
Q29udGV4dDo6bGF5b3V0TGluZShMaW5lQnVpbGRlciYgbGluZSwKICAgICAgICAgLy8gMy4gQ2hl
Y2sgaWYgdGhlIGNvbnRlbnQgZml0cyB0aGUgbGluZSBhbmQgY29tbWl0IHRoZSBjb250ZW50IGFj
Y29yZGluZ2x5IChmdWxsLCBwYXJ0aWFsIG9yIG5vdCBjb21taXQgYXQgYWxsKS4KICAgICAgICAg
Ly8gNC4gUmV0dXJuIGlmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGVpdGhlciBieSBu
b3QgYmVpbmcgYWJsZSB0byBmaXQgbW9yZSBjb250ZW50IG9yIGJlY2F1c2Ugb2YgYW4gZXhwbGlj
aXQgbGluZSBicmVhay4KICAgICAgICAgbmV4dENvbnRlbnRGb3JMaW5lKGxpbmVDYW5kaWRhdGUs
IGN1cnJlbnRJdGVtSW5kZXgsIGxheW91dFJhbmdlLCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5n
dGgsIGxpbmUubGluZUJveCgpLmxvZ2ljYWxXaWR0aCgpKTsKLSAgICAgICAgaWYgKGxpbmVDYW5k
aWRhdGUuZmxvYXRJdGVtKSB7CisgICAgICAgIGlmIChsaW5lQ2FuZGlkYXRlLmZsb2F0Q29udGVu
dC5saXN0KCkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAvLyBGbG9hdHMgc2hyaW5rIHRoZSBh
dmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQsIGJ1
dCB0aGV5IGFyZSBub3QgYWRkZWQgb24gdGhlIGxpbmUuCi0gICAgICAgICAgICBhdXRvIHJlc3Vs
dCA9IHRyeUFkZGluZ0Zsb2F0SXRlbShsaW5lLCAqbGluZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pOwor
ICAgICAgICAgICAgYXV0byByZXN1bHQgPSB0cnlBZGRpbmdGbG9hdENvbnRlbnQobGluZSwgbGlu
ZUNhbmRpZGF0ZSk7CiAgICAgICAgICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKz0gcmVz
dWx0LmNvbW1pdHRlZENvdW50LnZhbHVlOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0VuZE9m
TGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcykgewogICAgICAgICAgICAgICAg
IC8vIFRoaXMgZmxvYXQgdGFrZXMgdXAgYWxsIHRoZSBob3Jpem9udGFsIHNwYWNlLgogICAgICAg
ICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5l
SXRlbUNvdW50LCB7IH0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgQVNTRVJUKGxpbmVD
YW5kaWRhdGUuaW5saW5lQ29udGVudC5ydW5zKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2FuZGlkYXRlLmlubGlu
ZUNvbnRlbnQ7Ci0gICAgICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNv
bnRlbnQgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJ5
QWRkaW5nSW5saW5lSXRlbXMobGluZUJyZWFrZXIsIGxpbmUsIGxheW91dFJhbmdlLCBsaW5lQ2Fu
ZGlkYXRlKTsKLSAgICAgICAgICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCA9IHJlc3VsdC5j
b21taXR0ZWRDb3VudC5pc1JldmVydCA/IHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZSA6IGNv
bW1pdHRlZElubGluZUl0ZW1Db3VudCArIHJlc3VsdC5jb21taXR0ZWRDb3VudC52YWx1ZTsKLSAg
ICAgICAgICAgIGF1dG8gaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxpbmVDb250
ZW50LnJ1bnMoKS5zaXplKCkgPT0gcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVlICYmICFyZXN1
bHQucGFydGlhbENvbnRlbnQ7Ci0gICAgICAgICAgICBhdXRvIGlzRW5kT2ZMaW5lID0gcmVzdWx0
LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzOwotCi0gICAgICAg
ICAgICBpZiAoaW5saW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgJiYgaW5saW5lQ29udGVudC50
cmFpbGluZ0xpbmVCcmVhaygpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRnVsbHkgY29tbWl0ZWQg
KG9yIGVtcHR5KSBjb250ZW50IGZvbGxvd2VkIGJ5IGEgbGluZSBicmVhayBtZWFucyAiZW5kIG9m
IGxpbmUiLgotICAgICAgICAgICAgICAgIGxpbmUuYXBwZW5kKCppbmxpbmVDb250ZW50LnRyYWls
aW5nTGluZUJyZWFrKCksIHsgfSk7Ci0gICAgICAgICAgICAgICAgKytjb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQ7Ci0gICAgICAgICAgICAgICAgaXNFbmRPZkxpbmUgPSB0cnVlOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgaWYgKGlzRW5kT2ZMaW5lKSB7Ci0gICAgICAgICAgICAgICAgLy8g
V2UgY2FuJ3QgcGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAg
ICAgICAgICAgICByZXR1cm4gY2xvc2UobGluZSwgbGF5b3V0UmFuZ2UsIGNvbW1pdHRlZElubGlu
ZUl0ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxDb250ZW50KTsKLSAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbGluZUNhbmRpZGF0ZS5pbmxpbmVD
b250ZW50OworICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRlbnQg
b24gdGhlIGN1cnJlbnQgbGluZS4KKyAgICAgICAgYXV0byByZXN1bHQgPSB0cnlBZGRpbmdJbmxp
bmVJdGVtcyhsaW5lQnJlYWtlciwgbGluZSwgbGF5b3V0UmFuZ2UsIGxpbmVDYW5kaWRhdGUpOwor
ICAgICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgPSByZXN1bHQuY29tbWl0dGVkQ291bnQu
aXNSZXZlcnQgPyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFsdWUgOiBjb21taXR0ZWRJbmxpbmVJ
dGVtQ291bnQgKyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFsdWU7CisgICAgICAgIGF1dG8gaW5s
aW5lQ29udGVudElzRnVsbHlDb21taXR0ZWQgPSBpbmxpbmVDb250ZW50LnJ1bnMoKS5zaXplKCkg
PT0gcmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVlICYmICFyZXN1bHQucGFydGlhbENvbnRlbnQ7
CisgICAgICAgIGF1dG8gaXNFbmRPZkxpbmUgPSByZXN1bHQuaXNFbmRPZkxpbmUgPT0gTGluZUJy
ZWFrZXI6OklzRW5kT2ZMaW5lOjpZZXM7CisKKyAgICAgICAgaWYgKGlubGluZUNvbnRlbnRJc0Z1
bGx5Q29tbWl0dGVkICYmIGlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWsoKSkgeworICAg
ICAgICAgICAgLy8gRnVsbHkgY29tbWl0ZWQgKG9yIGVtcHR5KSBjb250ZW50IGZvbGxvd2VkIGJ5
IGEgbGluZSBicmVhayBtZWFucyAiZW5kIG9mIGxpbmUiLgorICAgICAgICAgICAgbGluZS5hcHBl
bmQoKmlubGluZUNvbnRlbnQudHJhaWxpbmdMaW5lQnJlYWsoKSwgeyB9KTsKKyAgICAgICAgICAg
ICsrY29tbWl0dGVkSW5saW5lSXRlbUNvdW50OworICAgICAgICAgICAgaXNFbmRPZkxpbmUgPSB0
cnVlOworICAgICAgICB9CisgICAgICAgIGlmIChpc0VuZE9mTGluZSkgeworICAgICAgICAgICAg
Ly8gV2UgY2FuJ3QgcGxhY2UgYW55IG1vcmUgaXRlbXMgb24gdGhlIGN1cnJlbnQgbGluZS4KKyAg
ICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5saW5l
SXRlbUNvdW50LCByZXN1bHQucGFydGlhbENvbnRlbnQpOwogICAgICAgICB9CiAgICAgICAgIGN1
cnJlbnRJdGVtSW5kZXggPSBsYXlvdXRSYW5nZS5zdGFydCArIGNvbW1pdHRlZElubGluZUl0ZW1D
b3VudDsKICAgICAgICAgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoID0geyB9OwpAQCAtMzY5
LDEzICszNzksMTAgQEAgdm9pZCBMaW5lTGF5b3V0Q29udGV4dDo6bmV4dENvbnRlbnRGb3JMaW5l
KExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHVuc2lnbmUKICAgICAgICAgaWYgKGlubGlu
ZUl0ZW0uaXNGbG9hdCgpKSB7CiAgICAgICAgICAgICAvLyBGbG9hdHMgYXJlIG5vdCBwYXJ0IG9m
IHRoZSBsaW5lIGNvbnRleHQuCiAgICAgICAgICAgICAvLyBGSVhNRTogQ2hlY2sgaWYgdGhlaXIg
d2lkdGggc2hvdWxkIGJlIGFkZGVkIHRvIGN1cnJlbnRMb2dpY2FsUmlnaHQuCi0gICAgICAgICAg
ICBBU1NFUlQoIWxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKTsKLSAgICAgICAgICAgIEFTU0VSVChs
aW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQucnVucygpLmlzRW1wdHkoKSk7Ci0gICAgICAgICAg
ICBsaW5lQ2FuZGlkYXRlLmZsb2F0SXRlbSA9ICZpbmxpbmVJdGVtOworICAgICAgICAgICAgbGlu
ZUNhbmRpZGF0ZS5mbG9hdENvbnRlbnQuYXBwZW5kKGlubGluZUl0ZW0pOwogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwg
aW5saW5lSXRlbS5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lckVu
ZCgpIHx8IGlubGluZUl0ZW0uaXNCb3goKSkgewotICAgICAgICAgICAgQVNTRVJUKCFsaW5lQ2Fu
ZGlkYXRlLmZsb2F0SXRlbSk7CiAgICAgICAgICAgICBhdXRvIGlubGluZUl0ZW5tV2lkdGggPSBp
bmxpbmVJdGVtV2lkdGgoaW5saW5lSXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7CiAgICAgICAg
ICAgICBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQuYXBwZW5kSW5saW5lSXRlbShpbmxpbmVJ
dGVtLCBpbmxpbmVJdGVubVdpZHRoKTsKICAgICAgICAgICAgIGN1cnJlbnRMb2dpY2FsUmlnaHQg
Kz0gaW5saW5lSXRlbm1XaWR0aDsKQEAgLTM4OSwyNCArMzk2LDMzIEBAIHZvaWQgTGluZUxheW91
dENvbnRleHQ6Om5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRl
LCB1bnNpZ25lCiAgICAgfQogfQogCi1MaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlv
dXRDb250ZXh0Ojp0cnlBZGRpbmdGbG9hdEl0ZW0oTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IElu
bGluZUl0ZW0mIGZsb2F0SXRlbSkKK0xpbmVMYXlvdXRDb250ZXh0OjpSZXN1bHQgTGluZUxheW91
dENvbnRleHQ6OnRyeUFkZGluZ0Zsb2F0Q29udGVudChMaW5lQnVpbGRlciYgbGluZSwgY29uc3Qg
TGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSkKIHsKLSAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9
IGlubGluZUl0ZW1XaWR0aChmbG9hdEl0ZW0sIHsgfSk7Ci0gICAgYXV0byBhdmFpbGFibGVXaWR0
aCA9IGxpbmUuYXZhaWxhYmxlV2lkdGgoKSArIGxpbmUudHJpbW1hYmxlVHJhaWxpbmdXaWR0aCgp
OwotICAgIGF1dG8gbGluZUlzQ29uc2lkZXJlZEVtcHR5ID0gbGluZS5pc1Zpc3VhbGx5RW1wdHko
KSAmJiAhbGluZS5oYXNJbnRydXNpdmVGbG9hdCgpOwotCi0gICAgaWYgKGxvZ2ljYWxXaWR0aCA+
IGF2YWlsYWJsZVdpZHRoICYmICFsaW5lSXNDb25zaWRlcmVkRW1wdHkpCi0gICAgICAgIHJldHVy
biB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzIH07Ci0gICAgLy8gVGhpcyBmbG9hdCBj
YW4gc2l0IG9uIHRoZSBjdXJyZW50IGxpbmUuCi0gICAgYXV0byYgZmxvYXRCb3ggPSBmbG9hdEl0
ZW0ubGF5b3V0Qm94KCk7Ci0gICAgLy8gU2hyaW5rIGF2YWlsYWJsZSBzcGFjZSBmb3IgY3VycmVu
dCBsaW5lIGFuZCBtb3ZlIGV4aXN0aW5nIGlubGluZSBydW5zLgotICAgIGxpbmUuc2V0SGFzSW50
cnVzaXZlRmxvYXQoKTsKLSAgICBpZiAoZmxvYXRCb3guaXNMZWZ0RmxvYXRpbmdQb3NpdGlvbmVk
KCkpCi0gICAgICAgIGxpbmUubW92ZUxvZ2ljYWxMZWZ0KGxvZ2ljYWxXaWR0aCk7Ci0gICAgZWxz
ZQotICAgICAgICBsaW5lLm1vdmVMb2dpY2FsUmlnaHQobG9naWNhbFdpZHRoKTsKLSAgICBtX2Zs
b2F0cy5hcHBlbmQoJmZsb2F0SXRlbSk7Ci0gICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5k
T2ZMaW5lOjpObywgeyAxLCBmYWxzZSB9IH07CisgICAgYXV0byYgZmxvYXRDb250ZW50ID0gbGlu
ZUNhbmRpZGF0ZS5mbG9hdENvbnRlbnQ7CisgICAgYXV0byBhdmFpbGFibGVMaW5lV2lkdGggPSBs
aW5lLmF2YWlsYWJsZVdpZHRoKCkgKyBsaW5lLnRyaW1tYWJsZVRyYWlsaW5nV2lkdGgoKTsKKyAg
ICBhdXRvIGFjY3VtdWxhdGVkRmxvYXRzV2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKKyAg
ICBzaXplX3QgY29tbWl0dGVkQ291bnQgPSAwOworCisgICAgZm9yIChhdXRvKiBmbG9hdENhbmRp
ZGF0ZSA6IGZsb2F0Q29udGVudC5saXN0KCkpIHsKKyAgICAgICAgYXV0byBsb2dpY2FsV2lkdGgg
PSBpbmxpbmVJdGVtV2lkdGgoKmZsb2F0Q2FuZGlkYXRlLCB7IH0pOworICAgICAgICBhdXRvIGF2
YWlsYWJsZVdpZHRoRm9yRmxvYXQgPSBhdmFpbGFibGVMaW5lV2lkdGggLSBhY2N1bXVsYXRlZEZs
b2F0c1dpZHRoOworICAgICAgICBhY2N1bXVsYXRlZEZsb2F0c1dpZHRoICs9IGxvZ2ljYWxXaWR0
aDsKKworICAgICAgICBpZiAoYXZhaWxhYmxlV2lkdGhGb3JGbG9hdCA8IGxvZ2ljYWxXaWR0aCkK
KyAgICAgICAgICAgIHJldHVybiB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNv
bW1pdHRlZENvdW50LCBmYWxzZSB9IH07CisKKyAgICAgICAgLy8gVGhpcyBmbG9hdCBjYW4gc2l0
IG9uIHRoZSBjdXJyZW50IGxpbmUuCisgICAgICAgIGF1dG8mIGZsb2F0Qm94ID0gZmxvYXRDYW5k
aWRhdGUtPmxheW91dEJveCgpOworICAgICAgICAvLyBTaHJpbmsgYXZhaWxhYmxlIHNwYWNlIGZv
ciBjdXJyZW50IGxpbmUgYW5kIG1vdmUgZXhpc3RpbmcgaW5saW5lIHJ1bnMuCisgICAgICAgIGxp
bmUuc2V0SGFzSW50cnVzaXZlRmxvYXQoKTsKKyAgICAgICAgaWYgKGZsb2F0Qm94LmlzTGVmdEZs
b2F0aW5nUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgbGluZS5tb3ZlTG9naWNhbExlZnQobG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGluZS5tb3ZlTG9naWNhbFJp
Z2h0KGxvZ2ljYWxXaWR0aCk7CisgICAgICAgIG1fZmxvYXRzLmFwcGVuZChmbG9hdENhbmRpZGF0
ZSk7CisgICAgICAgICsrY29tbWl0dGVkQ291bnQ7CisgICAgfQorICAgIHJldHVybiB7IExpbmVC
cmVha2VyOjpJc0VuZE9mTGluZTo6Tm8sIHsgY29tbWl0dGVkQ291bnQsIGZhbHNlIH0gfTsKIH0K
IAogTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRkaW5n
SW5saW5lSXRlbXMoTGluZUJyZWFrZXImIGxpbmVCcmVha2VyLCBMaW5lQnVpbGRlciYgbGluZSwg
Y29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYg
bGluZUNhbmRpZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oCmluZGV4IDVkZDAyZGI3OGZkZTlhZGZm
ZjQ1OTk2MmE5NzVkYWMwMDkxODlkMTcuLjlhOTJkY2ZhZWNjYzE5NDVlMjM4YjI5ZjE4M2E4OTU0
Y2VjZTIyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0xpbmVMYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuaApAQCAtNjksNyArNjksNyBAQCBwcml2YXRl
OgogICAgICAgICBDb21taXR0ZWRDb250ZW50Q291bnQgY29tbWl0dGVkQ291bnQgeyB9OwogICAg
ICAgICBPcHRpb25hbCA8TGluZUNvbnRlbnQ6OlBhcnRpYWxDb250ZW50PiBwYXJ0aWFsQ29udGVu
dCB7IH07CiAgICAgfTsKLSAgICBSZXN1bHQgdHJ5QWRkaW5nRmxvYXRJdGVtKExpbmVCdWlsZGVy
JiwgY29uc3QgSW5saW5lSXRlbSYgZmxvYXRJdGVtKTsKKyAgICBSZXN1bHQgdHJ5QWRkaW5nRmxv
YXRDb250ZW50KExpbmVCdWlsZGVyJiwgY29uc3QgTGluZUNhbmRpZGF0ZSYpOwogICAgIFJlc3Vs
dCB0cnlBZGRpbmdJbmxpbmVJdGVtcyhMaW5lQnJlYWtlciYsIExpbmVCdWlsZGVyJiwgY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSwgY29uc3QgTGluZUNhbmRpZGF0ZSYpOwogICAg
IHNpemVfdCByZWJ1aWxkTGluZShMaW5lQnVpbGRlciYsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYg
bGF5b3V0UmFuZ2UpOwogICAgIHZvaWQgY29tbWl0UGFydGlhbENvbnRlbnQoTGluZUJ1aWxkZXIm
LCBjb25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYsIGNvbnN0IExpbmVCcmVha2VyOjpSZXN1bHQ6
OlBhcnRpYWxUcmFpbGluZ0NvbnRlbnQmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>