<?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>208414</bug_id>
          
          <creation_ts>2020-02-29 08:48:06 -0800</creation_ts>
          <short_desc>[LFC][BFC] Consolidate precomputeVerticalPositionForAncestors and precomputeVerticalPosition</short_desc>
          <delta_ts>2020-02-29 10:13:02 -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>1624284</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-29 08:48:06 -0800</bug_when>
    <thetext>to precomputeVerticalPositionForBoxAndAncestors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624285</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-29 08:48:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/59919467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624287</commentid>
    <comment_count>2</comment_count>
      <attachid>392061</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-29 08:53:28 -0800</bug_when>
    <thetext>Created attachment 392061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624294</commentid>
    <comment_count>3</comment_count>
      <attachid>392064</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-29 09:24:33 -0800</bug_when>
    <thetext>Created attachment 392064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624303</commentid>
    <comment_count>4</comment_count>
      <attachid>392064</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-29 10:13:00 -0800</bug_when>
    <thetext>Comment on attachment 392064
Patch

Clearing flags on attachment: 392064

Committed r257685: &lt;https://trac.webkit.org/changeset/257685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624304</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-29 10:13:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392061</attachid>
            <date>2020-02-29 08:53:28 -0800</date>
            <delta_ts>2020-02-29 09:24:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208414-20200229085326.patch</filename>
            <type>text/plain</type>
            <size>12635</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzMwNTQ0NWRiZmZhYzE1
YmFjMWU0YTEwNDgzMjVmNDdkYzVjZGFmMS4uZjcxMWU2ZmE1M2Y0MTkwNGM1ZTFhNTI0Y2E2Mjgw
ZjNiZDMyYTRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXSBDb25zb2xp
ZGF0ZSBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyBhbmQgcHJlY29tcHV0
ZVZlcnRpY2FsUG9zaXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwODQxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk5MTk0Njc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNlc3RvcnMg
dGFrZXMgY2FyZSBvZiBib3RoIHRoZSBib3ggYW5kIGl0cyBhbmNlc3RvcnMgbm93LgorICAgICAg
ICBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1ha2luZyBwcmVjb21wdXRlIGxvZ2lj
IGEgYml0IHNpbXBsZXIuIAorCisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9j
a0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFibGVXaWR0aEZvckZs
b2F0QXZvaWRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRp
Y2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNlc3RvcnMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbik6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRm9ybWF0dGluZ1Jvb3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5o
OgorCiAyMDIwLTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xGQ11bRmxvYXRzXSBGbG9hdGluZ1N0YXRlOjp0b3Agc2hvdWxkIHJldHVybiB0b3Btb3N0
IGxvZ2ljYWwgdmVydGljYWwgcG9zaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CmluZGV4IDI5MmZiMmQ5YWE3Y2QzZTk3ZTcxY2UyODZjZTAwZGY1ZWNjZDQ1Y2EuLjUxOWM5NTg5
NTUwOGQ0YzEwNWJlNGI5MzJhNzFkMzNhMTQ3YzNkZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmNwcApAQCAtMTMxLDEyICsxMzEsMjAgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiBpbnZhbGlkYXRpb24K
ICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgp
KSB7CiAgICAgICAgICAgICAgICAgaWYgKGlzPENvbnRhaW5lckJveD4obGF5b3V0Qm94KSAmJiBk
b3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkuaGFzSW5GbG93T3JGbG9hdGluZ0NoaWxk
KCkpIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8
Q29udGFpbmVyQm94PihsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgICAgICAvLyBMYXlvdXQg
dGhlIGluZmxvdyBkZXNjZW5kYW50cyBvZiB0aGlzIGZvcm1hdHRpbmcgY29udGV4dCByb290Lgot
ICAgICAgICAgICAgICAgICAgICBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZvcm1hdHRp
bmdSb290KGZsb2F0aW5nQ29udGV4dCwgY29udGFpbmVyQm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHNQYWlyLCB2ZXJ0aWNhbENvbnN0cmFpbnRzUGFpcik7Ci0KKyAgICAgICAgICAgICAgICAgICAg
aWYgKGNvbnRhaW5lckJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElGQ3MgaW5oZXJpdCBmbG9hdHMgZnJvbSBwYXJl
bnQgRkNzLiBXZSBuZWVkIGZpbmFsIHZlcnRpY2FsIHBvc2l0aW9uIHRvIGZpbmQgaW50cnVkaW5n
IGZsb2F0cy4KKyAgICAgICAgICAgICAgICAgICAgICAgIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0
aW9uRm9yQm94QW5kQW5jZXN0b3JzKGNvbnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRz
UGFpciwgdmVydGljYWxDb25zdHJhaW50c1BhaXIpOworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGNvbnRhaW5lckJveC5oYXNGbG9hdENsZWFyKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBSb290cyB3aXRoIGNsZWFyIHNldCBhcmUgc3BlY2lhbCBiZWNhdXNlIHRoZXkg
Ym90aCBpbmhlcml0IGZsb2F0cyBidXQgYXZvaWQgdGhlbSB0aGUgc2FtZSB0aW1lLiAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBqdXN0IGxldCB0aGUgcm9vdCBzaXQgYXQg
dGhlIHByZS1jb21wdXRlZCBzdGF0aWMgdmVydGljYWwgcG9zaXRpb24sIHdlIG1pZ2h0IGZpbmQg
dW5yZWxhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxvYXQgYm94ZXMgdGhl
cmUgKGJveGVzIHRoYXQgd2UgbmVlZCB0byBjbGVhcikuCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFyKGZsb2F0aW5nQ29udGV4
dCwgY29udGFpbmVyQm94KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBhdXRvJiByb290RGlzcGxheUJveCA9IGdl
b21ldHJ5Rm9yQm94KGNvbnRhaW5lckJveCk7CiAgICAgICAgICAgICAgICAgICAgIGF1dG8gaG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojpob3Jpem9udGFs
Q29uc3RyYWludHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOwogICAgICAgICAgICAgICAgICAg
ICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50ID0gR2VvbWV0cnk6OnZl
cnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOworICAgICAgICAgICAg
ICAgICAgICAvLyBMYXlvdXQgdGhlIGluZmxvdyBkZXNjZW5kYW50cyBvZiB0aGlzIGZvcm1hdHRp
bmcgY29udGV4dCByb290LgogICAgICAgICAgICAgICAgICAgICBMYXlvdXRDb250ZXh0OjpjcmVh
dGVGb3JtYXR0aW5nQ29udGV4dChjb250YWluZXJCb3gsIGxheW91dFN0YXRlKCkpLT5sYXlvdXRJ
bkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JJ
bkZsb3dDb250ZW50LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCk7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTk5LDggKzIwNyw3IEBA
IE9wdGlvbmFsPExheW91dFVuaXQ+IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFi
bGVXaWR0aEZvckZsb2F0QXZvaWRlcihjCiAKICAgICBBU1NFUlQobGF5b3V0Qm94LmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSk7CiAgICAgLy8gVmVydGljYWwgc3RhdGljIHBvc2l0aW9u
IGlzIG5vdCBjb21wdXRlZCB5ZXQgZm9yIHRoaXMgZm9ybWF0dGluZyBjb250ZXh0IHJvb3QsIHNv
IGxldCdzIGp1c3QgcHJlLWNvbXB1dGUgaXQgZm9yIG5vdy4KLSAgICBwcmVjb21wdXRlVmVydGlj
YWxQb3NpdGlvbihsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5jb250YWluaW5nQmxv
Y2ssIHZlcnRpY2FsQ29uc3RyYWludHMuY29udGFpbmluZ0Jsb2NrKTsKLSAgICBwcmVjb21wdXRl
VmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJh
aW50cywgdmVydGljYWxDb25zdHJhaW50cyk7CisgICAgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRp
b25Gb3JCb3hBbmRBbmNlc3RvcnMobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZl
cnRpY2FsQ29uc3RyYWludHMpOwogCiAgICAgYXV0byBtYXBMb2dpY2FsVG9wVG9Gb3JtYXR0aW5n
Q29udGV4dFJvb3QgPSBbJl0gewogICAgICAgICBhdXRvJiBmb3JtYXR0aW5nQ29udGV4dFJvb3Qg
PSByb290KCk7CkBAIC0yNDksMjkgKzI1NiwxNCBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVTdGF0aWNIb3Jpem9udGFsUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCbwog
ICAgIGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3gobGF5b3V0Qm94KS5zZXRMZWZ0KGdlb21l
dHJ5KCkuc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0
cmFpbnRzKSk7CiB9CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZl
cnRpY2FsUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25z
dHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRz
JiB2ZXJ0aWNhbENvbnN0cmFpbnRzKQordm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpwcmVj
b21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhjb25zdCBCb3gmIGxheW91dEJveCwg
Y29uc3QgQ29uc3RyYWludHNQYWlyPEhvcml6b250YWxDb25zdHJhaW50cz4mIGhvcml6b250YWxD
b25zdHJhaW50cywgY29uc3QgQ29uc3RyYWludHNQYWlyPFZlcnRpY2FsQ29uc3RyYWludHM+JiB2
ZXJ0aWNhbENvbnN0cmFpbnRzKQogewotICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiA9
IGdlb21ldHJ5KCkuY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250YWxD
b25zdHJhaW50cyk7Ci0gICAgYXV0byB1c2VkTm9uQ29sbGFwc2VkTWFyZ2luID0gVXNlZFZlcnRp
Y2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgeyBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmJl
Zm9yZS52YWx1ZU9yKDApLCBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkg
fTsKLSAgICBhdXRvIHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlID0gbWFyZ2luQ29sbGFwc2UoKS5w
cmVjb21wdXRlZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gsIHVzZWROb25Db2xsYXBzZWRNYXJnaW4p
OwotICAgIHNldFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKGxheW91dEJveCwgcHJlY29tcHV0ZWRN
YXJnaW5CZWZvcmUpOwotCi0gICAgYXV0byYgZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgp
LmRpc3BsYXlCb3gobGF5b3V0Qm94KTsKLSAgICBhdXRvIG5vbkNvbGxhcHNlZFZhbHVlcyA9IFVz
ZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIHsgcHJlY29tcHV0ZWRNYXJnaW5C
ZWZvcmUubm9uQ29sbGFwc2VkVmFsdWUsIHsgfSB9OwotICAgIGF1dG8gY29sbGFwc2VkVmFsdWVz
ID0gVXNlZFZlcnRpY2FsTWFyZ2luOjpDb2xsYXBzZWRWYWx1ZXMgeyBwcmVjb21wdXRlZE1hcmdp
bkJlZm9yZS5jb2xsYXBzZWRWYWx1ZSwgeyB9LCBwcmVjb21wdXRlZE1hcmdpbkJlZm9yZS5pc0Nv
bGxhcHNlZFRocm91Z2ggfTsKLSAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gVXNlZFZlcnRpY2Fs
TWFyZ2luIHsgbm9uQ29sbGFwc2VkVmFsdWVzLCBjb2xsYXBzZWRWYWx1ZXMgfTsKLSAgICBkaXNw
bGF5Qm94LnNldFZlcnRpY2FsTWFyZ2luKHZlcnRpY2FsTWFyZ2luKTsKLSAgICBkaXNwbGF5Qm94
LnNldFRvcCh2ZXJ0aWNhbFBvc2l0aW9uV2l0aE1hcmdpbihsYXlvdXRCb3gsIHZlcnRpY2FsTWFy
Z2luLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKSk7Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICBkaXNw
bGF5Qm94LnNldEhhc1ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKCk7Ci0jZW5kaWYKKyAgICBBU1NF
UlQobGF5b3V0Qm94LmlzRmxvYXRBdm9pZGVyKCkpOworICAgIHByZWNvbXB1dGVWZXJ0aWNhbFBv
c2l0aW9uRm9yQm94QW5kQW5jZXN0b3JzKCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCksIGhv
cml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7CiB9CiAKLXZvaWQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JBbmNlc3Rv
cnMoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9udGFs
Q29uc3RyYWludHM+JiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IENvbnN0cmFpbnRzUGFp
cjxWZXJ0aWNhbENvbnN0cmFpbnRzPiYgdmVydGljYWxDb25zdHJhaW50cykKK3ZvaWQgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNl
c3RvcnMoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9u
dGFsQ29uc3RyYWludHM+JiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IENvbnN0cmFpbnRz
UGFpcjxWZXJ0aWNhbENvbnN0cmFpbnRzPiYgdmVydGljYWxDb25zdHJhaW50cykKIHsKLSAgICAv
LyBXZSBvbmx5IG5lZWQgdG8gcHJlLWNvbXB1dGUgdGhlIG1hcmdpbiB0b3AgZm9yIGZsb2F0IHJl
bGF0ZWQgbGF5b3V0IChmb3JtYXR0aW5nIGNvbnRleHQgcm9vdHMgYXZvaWQgZmxvYXRzKS4KLSAg
ICBBU1NFUlQobGF5b3V0Qm94LmlzRmxvYXRBdm9pZGVyKCkgfHwgbGF5b3V0Qm94LmVzdGFibGlz
aGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSk7Ci0KICAgICAvLyBJbiBvcmRlciB0byBmaWd1
cmUgb3V0IHdoZXRoZXIgYSBib3ggc2hvdWxkIGF2b2lkIGEgZmxvYXQsIHdlIG5lZWQgdG8ga25v
dyB0aGUgZmluYWwgcG9zaXRpb25zIG9mIGJvdGggKGlnbm9yZSByZWxhdGl2ZSBwb3NpdGlvbmlu
ZyBmb3Igbm93KS4KICAgICAvLyBJbiBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgdGhlIGZpbmFs
IHBvc2l0aW9uIGZvciBhIG5vcm1hbCBmbG93IGJveCBpbmNsdWRlcwogICAgIC8vIDEuIHRoZSBz
dGF0aWMgcG9zaXRpb24gYW5kCkBAIC0yODIsNyArMjc0LDcgQEAgdm9pZCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhjb25zdCBC
b3gmIGwKICAgICAvLwogICAgIC8vIFRoZSBpZGVhIGhlcmUgaXMgdGhhdCBhcyBsb25nIGFzIHdl
IGRvbid0IGNyb3NzIHRoZSBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgYm91bmRhcnksIHdlIHNo
b3VsZCBiZSBhYmxlIHRvIHByZS1jb21wdXRlIHRoZSBmaW5hbCB0b3AgcG9zaXRpb24uCiAgICAg
Ly8gRklYTUU6IHdlIGN1cnJlbnRseSBkb24ndCBhY2NvdW50IGZvciB0aGUgImNsZWFyIiBwcm9w
ZXJ0eSB3aGVuIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb24gZm9yIGFuIGFuY2VzdG9yLgot
ICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGFu
Y2VzdG9yICYmICFhbmNlc3Rvci0+ZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCk7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpKSB7CisgICAgZm9yIChhdXRv
KiBhbmNlc3RvciA9ICZsYXlvdXRCb3g7IGFuY2VzdG9yICYmICFhbmNlc3Rvci0+ZXN0YWJsaXNo
ZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCk7IGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5p
bmdCbG9jaygpKSB7CiAgICAgICAgIC8vIEZJWE1FOiB3aXRoIGluY3JlbWVudGFsIGxheW91dCwg
d2UgbWlnaHQgYWN0dWFsbHkgaGF2ZSBhIHZhbGlkIChub24tcHJlY29tcHV0ZWQpIG1hcmdpbiB0
b3AgYXMgd2VsbC4KICAgICAgICAgaWYgKGhhc1ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKCphbmNl
c3RvcikpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yOTQsMjEgKzI4NiwyMSBAQCB2b2lkIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0
b3JzKGNvbnN0IEJveCYgbAogICAgICAgICAgICAgYXV0byogY29udGFpbmluZ0Jsb2NrID0gYW5j
ZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdC
bG9jayA9PSAmcm9vdCgpID8gdmVydGljYWxDb25zdHJhaW50cy5yb290IDogR2VvbWV0cnk6OnZl
cnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3coZ2VvbWV0cnlGb3JCb3goKmNvbnRhaW5pbmdCbG9j
aykpOwogICAgICAgICB9OwotICAgICAgICBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbigqYW5j
ZXN0b3IsIGhvcml6b250YWxDb25zdHJhaW50c0ZvckFuY2VzdG9yKCksIHZlcnRpY2FsQ29uc3Ry
YWludHNGb3JBbmNlc3RvcigpKTsKLSAgICB9Ci19CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdChjb25zdCBG
bG9hdGluZ0NvbnRleHQmIGZsb2F0aW5nQ29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIGNv
bnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9udGFsQ29uc3RyYWludHM+JiBob3Jpem9udGFsQ29u
c3RyYWludHMsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxWZXJ0aWNhbENvbnN0cmFpbnRzPiYgdmVy
dGljYWxDb25zdHJhaW50cykKLXsKLSAgICBBU1NFUlQobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9y
bWF0dGluZ0NvbnRleHQoKSk7Ci0gICAgaWYgKGxheW91dEJveC5pc0Zsb2F0QXZvaWRlcigpICYm
ICFsYXlvdXRCb3guaGFzRmxvYXRDbGVhcigpKQotICAgICAgICByZXR1cm47Ci0gICAgLy8gV2Ug
bmVlZCB0aGUgZmluYWwgdmVydGljYWwgcG9zaXRpb24gd2hlbiB0aGUgZm9ybWF0dGluZyBjb250
ZXh0IGluaGVyaXRzIGZsb2F0cyBmcm9tIHRoZSBwYXJlbnQgRkMuCi0gICAgcHJlY29tcHV0ZVZl
cnRpY2FsUG9zaXRpb25Gb3JBbmNlc3RvcnMobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwotICAgIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9u
KGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmNvbnRhaW5pbmdCbG9jaywgdmVydGlj
YWxDb25zdHJhaW50cy5jb250YWluaW5nQmxvY2spOwotICAgIGlmIChsYXlvdXRCb3guaGFzRmxv
YXRDbGVhcigpKSB7Ci0gICAgICAgIC8vIGlmIHdlIGp1c3QgbGV0IHRoZSBib3ggc2l0IGF0IHRo
ZSBzdGF0aWMgdmVydGljYWwgcG9zaXRpb24sIHdlIG1pZ2h0IGZpbmQgdW5yZWxhdGVkIGZsb2F0
IGJveGVzIHRoZXJlIChib3hlcyB0aGF0IHdlIG5lZWQgdG8gY2xlYXIpLgotICAgICAgICBjb21w
dXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIoZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRC
b3gpOworICAgICAgICBhdXRvIGNvbXB1dGVkVmVydGljYWxNYXJnaW4gPSBnZW9tZXRyeSgpLmNv
bXB1dGVkVmVydGljYWxNYXJnaW4oKmFuY2VzdG9yLCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JB
bmNlc3RvcigpKTsKKyAgICAgICAgYXV0byB1c2VkTm9uQ29sbGFwc2VkTWFyZ2luID0gVXNlZFZl
cnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgeyBjb21wdXRlZFZlcnRpY2FsTWFyZ2lu
LmJlZm9yZS52YWx1ZU9yKDApLCBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3Io
MCkgfTsKKyAgICAgICAgYXV0byBwcmVjb21wdXRlZE1hcmdpbkJlZm9yZSA9IG1hcmdpbkNvbGxh
cHNlKCkucHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoKmFuY2VzdG9yLCB1c2VkTm9uQ29sbGFwc2Vk
TWFyZ2luKTsKKyAgICAgICAgc2V0UHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoKmFuY2VzdG9yLCBw
cmVjb21wdXRlZE1hcmdpbkJlZm9yZSk7CisKKyAgICAgICAgYXV0byYgZGlzcGxheUJveCA9IGZv
cm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3goKmFuY2VzdG9yKTsKKyAgICAgICAgYXV0byBub25D
b2xsYXBzZWRWYWx1ZXMgPSBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB7
IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLm5vbkNvbGxhcHNlZFZhbHVlLCB7IH0gfTsKKyAgICAg
ICAgYXV0byBjb2xsYXBzZWRWYWx1ZXMgPSBVc2VkVmVydGljYWxNYXJnaW46OkNvbGxhcHNlZFZh
bHVlcyB7IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLmNvbGxhcHNlZFZhbHVlLCB7IH0sIHByZWNv
bXB1dGVkTWFyZ2luQmVmb3JlLmlzQ29sbGFwc2VkVGhyb3VnaCB9OworICAgICAgICBhdXRvIHZl
cnRpY2FsTWFyZ2luID0gVXNlZFZlcnRpY2FsTWFyZ2luIHsgbm9uQ29sbGFwc2VkVmFsdWVzLCBj
b2xsYXBzZWRWYWx1ZXMgfTsKKyAgICAgICAgZGlzcGxheUJveC5zZXRWZXJ0aWNhbE1hcmdpbih2
ZXJ0aWNhbE1hcmdpbik7CisgICAgICAgIGRpc3BsYXlCb3guc2V0VG9wKHZlcnRpY2FsUG9zaXRp
b25XaXRoTWFyZ2luKCphbmNlc3RvciwgdmVydGljYWxNYXJnaW4sIHZlcnRpY2FsQ29uc3RyYWlu
dHNGb3JBbmNlc3RvcigpKSk7CisgICAgI2lmIEFTU0VSVF9FTkFCTEVECisgICAgICAgIGRpc3Bs
YXlCb3guc2V0SGFzUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoKTsKKyAgICAjZW5kaWYKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggMTBmYTVjMTE4OTgwMTI0ZDA5
ZGEzOTM3MDY5ZTgzNDViYzkwYTczNi4uMjVmYTVlNjg1MzgxNDhjODgzMzkyYTQ4NjA1YjliYmE1
ZmUwOTAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Js
b2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTY3LDkgKzY3LDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVQb3NpdGlvblRvQXZvaWRGbG9hdHMoY29uc3QgRmxv
YXRpbmdDb250ZXh0JiwgY29uc3QgQm94JiwgY29uc3QgQ29uc3RyYWludHNQYWlyPEhvcml6b250
YWxDb25zdHJhaW50cz4mLCBjb25zdCBDb25zdHJhaW50c1BhaXI8VmVydGljYWxDb25zdHJhaW50
cz4mKTsKICAgICB2b2lkIGNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRmxvYXRDbGVhcihjb25z
dCBGbG9hdGluZ0NvbnRleHQmLCBjb25zdCBCb3gmKTsKIAotICAgIHZvaWQgcHJlY29tcHV0ZVZl
cnRpY2FsUG9zaXRpb24oY29uc3QgQm94JiwgY29uc3QgSG9yaXpvbnRhbENvbnN0cmFpbnRzJiwg
Y29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpOwogICAgIHZvaWQgcHJlY29tcHV0ZVZlcnRpY2Fs
UG9zaXRpb25Gb3JBbmNlc3RvcnMoY29uc3QgQm94JiwgY29uc3QgQ29uc3RyYWludHNQYWlyPEhv
cml6b250YWxDb25zdHJhaW50cz4mLCBjb25zdCBDb25zdHJhaW50c1BhaXI8VmVydGljYWxDb25z
dHJhaW50cz4mKTsKLSAgICB2b2lkIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRm9ybWF0
dGluZ1Jvb3QoY29uc3QgRmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94JiwgY29uc3QgQ29uc3Ry
YWludHNQYWlyPEhvcml6b250YWxDb25zdHJhaW50cz4mLCBjb25zdCBDb25zdHJhaW50c1BhaXI8
VmVydGljYWxDb25zdHJhaW50cz4mKTsKKyAgICB2b2lkIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0
aW9uRm9yQm94QW5kQW5jZXN0b3JzKGNvbnN0IEJveCYsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxI
b3Jpem9udGFsQ29uc3RyYWludHM+JiwgY29uc3QgQ29uc3RyYWludHNQYWlyPFZlcnRpY2FsQ29u
c3RyYWludHM+Jik7CiAKICAgICBJbnRyaW5zaWNXaWR0aENvbnN0cmFpbnRzIGNvbXB1dGVkSW50
cmluc2ljV2lkdGhDb25zdHJhaW50cygpIG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgdmVydGlj
YWxQb3NpdGlvbldpdGhNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2lu
JiwgY29uc3QgVmVydGljYWxDb25zdHJhaW50cyYpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392064</attachid>
            <date>2020-02-29 09:24:33 -0800</date>
            <delta_ts>2020-02-29 10:13:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208414-20200229092432.patch</filename>
            <type>text/plain</type>
            <size>12627</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzMwNTQ0NWRiZmZhYzE1
YmFjMWU0YTEwNDgzMjVmNDdkYzVjZGFmMS4uZGRkYzRmZTA5M2QyMWY4MmZhMjUzZDVhZjEwNDVj
N2VkZDRjNDQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXSBDb25zb2xp
ZGF0ZSBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyBhbmQgcHJlY29tcHV0
ZVZlcnRpY2FsUG9zaXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwODQxNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk5MTk0Njc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNlc3RvcnMg
dGFrZXMgY2FyZSBvZiBib3RoIHRoZSBib3ggYW5kIGl0cyBhbmNlc3RvcnMgbm93LgorICAgICAg
ICBUaGlzIGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIG1ha2luZyBwcmVjb21wdXRlIGxvZ2lj
IGEgYml0IHNpbXBsZXIuIAorCisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9j
a0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFibGVXaWR0aEZvckZs
b2F0QXZvaWRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0b3JzKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRp
Y2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNlc3RvcnMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbik6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRm9ybWF0dGluZ1Jvb3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5o
OgorCiAyMDIwLTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xGQ11bRmxvYXRzXSBGbG9hdGluZ1N0YXRlOjp0b3Agc2hvdWxkIHJldHVybiB0b3Btb3N0
IGxvZ2ljYWwgdmVydGljYWwgcG9zaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CmluZGV4IDI5MmZiMmQ5YWE3Y2QzZTk3ZTcxY2UyODZjZTAwZGY1ZWNjZDQ1Y2EuLjA4NWJkYmQ3
NDg0MzE4MzJlZmNlOWRhNWM0OWYwNmY0Njg2NGQ2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmNwcApAQCAtMTMxLDEyICsxMzEsMjAgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50KEludmFsaWRhdGlvblN0YXRlJiBpbnZhbGlkYXRpb24K
ICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgp
KSB7CiAgICAgICAgICAgICAgICAgaWYgKGlzPENvbnRhaW5lckJveD4obGF5b3V0Qm94KSAmJiBk
b3duY2FzdDxDb250YWluZXJCb3g+KGxheW91dEJveCkuaGFzSW5GbG93T3JGbG9hdGluZ0NoaWxk
KCkpIHsKICAgICAgICAgICAgICAgICAgICAgYXV0byYgY29udGFpbmVyQm94ID0gZG93bmNhc3Q8
Q29udGFpbmVyQm94PihsYXlvdXRCb3gpOwotICAgICAgICAgICAgICAgICAgICAvLyBMYXlvdXQg
dGhlIGluZmxvdyBkZXNjZW5kYW50cyBvZiB0aGlzIGZvcm1hdHRpbmcgY29udGV4dCByb290Lgot
ICAgICAgICAgICAgICAgICAgICBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZvcm1hdHRp
bmdSb290KGZsb2F0aW5nQ29udGV4dCwgY29udGFpbmVyQm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHNQYWlyLCB2ZXJ0aWNhbENvbnN0cmFpbnRzUGFpcik7Ci0KKyAgICAgICAgICAgICAgICAgICAg
aWYgKGNvbnRhaW5lckJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElGQ3MgaW5oZXJpdCBmbG9hdHMgZnJvbSBwYXJl
bnQgRkNzLiBXZSBuZWVkIGZpbmFsIHZlcnRpY2FsIHBvc2l0aW9uIHRvIGZpbmQgaW50cnVkaW5n
IGZsb2F0cy4KKyAgICAgICAgICAgICAgICAgICAgICAgIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0
aW9uRm9yQm94QW5kQW5jZXN0b3JzKGNvbnRhaW5lckJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRz
UGFpciwgdmVydGljYWxDb25zdHJhaW50c1BhaXIpOworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGNvbnRhaW5lckJveC5oYXNGbG9hdENsZWFyKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBSb290cyB3aXRoIGNsZWFyIHNldCBhcmUgc3BlY2lhbCBiZWNhdXNlIHRoZXkg
Ym90aCBpbmhlcml0IGZsb2F0cyBidXQgYXZvaWQgdGhlbSB0aGUgc2FtZSB0aW1lLiAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBqdXN0IGxldCB0aGUgcm9vdCBzaXQgYXQg
dGhlIHByZS1jb21wdXRlZCBzdGF0aWMgdmVydGljYWwgcG9zaXRpb24sIHdlIG1pZ2h0IGZpbmQg
dW5yZWxhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmxvYXQgYm94ZXMgdGhl
cmUgKGJveGVzIHRoYXQgd2UgbmVlZCB0byBjbGVhcikuCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGbG9hdENsZWFyKGZsb2F0aW5nQ29udGV4
dCwgY29udGFpbmVyQm94KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBhdXRvJiByb290RGlzcGxheUJveCA9IGdl
b21ldHJ5Rm9yQm94KGNvbnRhaW5lckJveCk7CiAgICAgICAgICAgICAgICAgICAgIGF1dG8gaG9y
aXpvbnRhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCA9IEdlb21ldHJ5Ojpob3Jpem9udGFs
Q29uc3RyYWludHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOwogICAgICAgICAgICAgICAgICAg
ICBhdXRvIHZlcnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50ID0gR2VvbWV0cnk6OnZl
cnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3cocm9vdERpc3BsYXlCb3gpOworICAgICAgICAgICAg
ICAgICAgICAvLyBMYXlvdXQgdGhlIGluZmxvdyBkZXNjZW5kYW50cyBvZiB0aGlzIGZvcm1hdHRp
bmcgY29udGV4dCByb290LgogICAgICAgICAgICAgICAgICAgICBMYXlvdXRDb250ZXh0OjpjcmVh
dGVGb3JtYXR0aW5nQ29udGV4dChjb250YWluZXJCb3gsIGxheW91dFN0YXRlKCkpLT5sYXlvdXRJ
bkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JJ
bkZsb3dDb250ZW50LCB2ZXJ0aWNhbENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCk7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTk5LDggKzIwNyw3IEBA
IE9wdGlvbmFsPExheW91dFVuaXQ+IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFi
bGVXaWR0aEZvckZsb2F0QXZvaWRlcihjCiAKICAgICBBU1NFUlQobGF5b3V0Qm94LmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSk7CiAgICAgLy8gVmVydGljYWwgc3RhdGljIHBvc2l0aW9u
IGlzIG5vdCBjb21wdXRlZCB5ZXQgZm9yIHRoaXMgZm9ybWF0dGluZyBjb250ZXh0IHJvb3QsIHNv
IGxldCdzIGp1c3QgcHJlLWNvbXB1dGUgaXQgZm9yIG5vdy4KLSAgICBwcmVjb21wdXRlVmVydGlj
YWxQb3NpdGlvbihsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cy5jb250YWluaW5nQmxv
Y2ssIHZlcnRpY2FsQ29uc3RyYWludHMuY29udGFpbmluZ0Jsb2NrKTsKLSAgICBwcmVjb21wdXRl
VmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJh
aW50cywgdmVydGljYWxDb25zdHJhaW50cyk7CisgICAgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRp
b25Gb3JCb3hBbmRBbmNlc3RvcnMobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHZl
cnRpY2FsQ29uc3RyYWludHMpOwogCiAgICAgYXV0byBtYXBMb2dpY2FsVG9wVG9Gb3JtYXR0aW5n
Q29udGV4dFJvb3QgPSBbJl0gewogICAgICAgICBhdXRvJiBmb3JtYXR0aW5nQ29udGV4dFJvb3Qg
PSByb290KCk7CkBAIC0yNDksMjkgKzI1NiwxNCBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6OmNvbXB1dGVTdGF0aWNIb3Jpem9udGFsUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCbwog
ICAgIGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3gobGF5b3V0Qm94KS5zZXRMZWZ0KGdlb21l
dHJ5KCkuc3RhdGljSG9yaXpvbnRhbFBvc2l0aW9uKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0
cmFpbnRzKSk7CiB9CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZl
cnRpY2FsUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IEhvcml6b250YWxDb25z
dHJhaW50cyYgaG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBWZXJ0aWNhbENvbnN0cmFpbnRz
JiB2ZXJ0aWNhbENvbnN0cmFpbnRzKQordm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpwcmVj
b21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhjb25zdCBCb3gmIGxheW91dEJveCwg
Y29uc3QgQ29uc3RyYWludHNQYWlyPEhvcml6b250YWxDb25zdHJhaW50cz4mIGhvcml6b250YWxD
b25zdHJhaW50cywgY29uc3QgQ29uc3RyYWludHNQYWlyPFZlcnRpY2FsQ29uc3RyYWludHM+JiB2
ZXJ0aWNhbENvbnN0cmFpbnRzKQogewotICAgIGF1dG8gY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbiA9
IGdlb21ldHJ5KCkuY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250YWxD
b25zdHJhaW50cyk7Ci0gICAgYXV0byB1c2VkTm9uQ29sbGFwc2VkTWFyZ2luID0gVXNlZFZlcnRp
Y2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgeyBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmJl
Zm9yZS52YWx1ZU9yKDApLCBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3IoMCkg
fTsKLSAgICBhdXRvIHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlID0gbWFyZ2luQ29sbGFwc2UoKS5w
cmVjb21wdXRlZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gsIHVzZWROb25Db2xsYXBzZWRNYXJnaW4p
OwotICAgIHNldFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKGxheW91dEJveCwgcHJlY29tcHV0ZWRN
YXJnaW5CZWZvcmUpOwotCi0gICAgYXV0byYgZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0ZSgp
LmRpc3BsYXlCb3gobGF5b3V0Qm94KTsKLSAgICBhdXRvIG5vbkNvbGxhcHNlZFZhbHVlcyA9IFVz
ZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIHsgcHJlY29tcHV0ZWRNYXJnaW5C
ZWZvcmUubm9uQ29sbGFwc2VkVmFsdWUsIHsgfSB9OwotICAgIGF1dG8gY29sbGFwc2VkVmFsdWVz
ID0gVXNlZFZlcnRpY2FsTWFyZ2luOjpDb2xsYXBzZWRWYWx1ZXMgeyBwcmVjb21wdXRlZE1hcmdp
bkJlZm9yZS5jb2xsYXBzZWRWYWx1ZSwgeyB9LCBwcmVjb21wdXRlZE1hcmdpbkJlZm9yZS5pc0Nv
bGxhcHNlZFRocm91Z2ggfTsKLSAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gVXNlZFZlcnRpY2Fs
TWFyZ2luIHsgbm9uQ29sbGFwc2VkVmFsdWVzLCBjb2xsYXBzZWRWYWx1ZXMgfTsKLSAgICBkaXNw
bGF5Qm94LnNldFZlcnRpY2FsTWFyZ2luKHZlcnRpY2FsTWFyZ2luKTsKLSAgICBkaXNwbGF5Qm94
LnNldFRvcCh2ZXJ0aWNhbFBvc2l0aW9uV2l0aE1hcmdpbihsYXlvdXRCb3gsIHZlcnRpY2FsTWFy
Z2luLCB2ZXJ0aWNhbENvbnN0cmFpbnRzKSk7Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICBkaXNw
bGF5Qm94LnNldEhhc1ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKCk7Ci0jZW5kaWYKKyAgICBBU1NF
UlQobGF5b3V0Qm94LmlzRmxvYXRBdm9pZGVyKCkpOworICAgIHByZWNvbXB1dGVWZXJ0aWNhbFBv
c2l0aW9uRm9yQm94QW5kQW5jZXN0b3JzKCpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCksIGhv
cml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7CiB9CiAKLXZvaWQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JBbmNlc3Rv
cnMoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9udGFs
Q29uc3RyYWludHM+JiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IENvbnN0cmFpbnRzUGFp
cjxWZXJ0aWNhbENvbnN0cmFpbnRzPiYgdmVydGljYWxDb25zdHJhaW50cykKK3ZvaWQgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JCb3hBbmRBbmNl
c3RvcnMoY29uc3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9u
dGFsQ29uc3RyYWludHM+JiBob3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IENvbnN0cmFpbnRz
UGFpcjxWZXJ0aWNhbENvbnN0cmFpbnRzPiYgdmVydGljYWxDb25zdHJhaW50cykKIHsKLSAgICAv
LyBXZSBvbmx5IG5lZWQgdG8gcHJlLWNvbXB1dGUgdGhlIG1hcmdpbiB0b3AgZm9yIGZsb2F0IHJl
bGF0ZWQgbGF5b3V0IChmb3JtYXR0aW5nIGNvbnRleHQgcm9vdHMgYXZvaWQgZmxvYXRzKS4KLSAg
ICBBU1NFUlQobGF5b3V0Qm94LmlzRmxvYXRBdm9pZGVyKCkgfHwgbGF5b3V0Qm94LmVzdGFibGlz
aGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSk7Ci0KICAgICAvLyBJbiBvcmRlciB0byBmaWd1
cmUgb3V0IHdoZXRoZXIgYSBib3ggc2hvdWxkIGF2b2lkIGEgZmxvYXQsIHdlIG5lZWQgdG8ga25v
dyB0aGUgZmluYWwgcG9zaXRpb25zIG9mIGJvdGggKGlnbm9yZSByZWxhdGl2ZSBwb3NpdGlvbmlu
ZyBmb3Igbm93KS4KICAgICAvLyBJbiBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgdGhlIGZpbmFs
IHBvc2l0aW9uIGZvciBhIG5vcm1hbCBmbG93IGJveCBpbmNsdWRlcwogICAgIC8vIDEuIHRoZSBz
dGF0aWMgcG9zaXRpb24gYW5kCkBAIC0yODIsNyArMjc0LDcgQEAgdm9pZCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhjb25zdCBC
b3gmIGwKICAgICAvLwogICAgIC8vIFRoZSBpZGVhIGhlcmUgaXMgdGhhdCBhcyBsb25nIGFzIHdl
IGRvbid0IGNyb3NzIHRoZSBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgYm91bmRhcnksIHdlIHNo
b3VsZCBiZSBhYmxlIHRvIHByZS1jb21wdXRlIHRoZSBmaW5hbCB0b3AgcG9zaXRpb24uCiAgICAg
Ly8gRklYTUU6IHdlIGN1cnJlbnRseSBkb24ndCBhY2NvdW50IGZvciB0aGUgImNsZWFyIiBwcm9w
ZXJ0eSB3aGVuIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb24gZm9yIGFuIGFuY2VzdG9yLgot
ICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGFu
Y2VzdG9yICYmICFhbmNlc3Rvci0+ZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCk7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpKSB7CisgICAgZm9yIChhdXRv
KiBhbmNlc3RvciA9ICZsYXlvdXRCb3g7IGFuY2VzdG9yICYmICFhbmNlc3Rvci0+ZXN0YWJsaXNo
ZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCk7IGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5p
bmdCbG9jaygpKSB7CiAgICAgICAgIC8vIEZJWE1FOiB3aXRoIGluY3JlbWVudGFsIGxheW91dCwg
d2UgbWlnaHQgYWN0dWFsbHkgaGF2ZSBhIHZhbGlkIChub24tcHJlY29tcHV0ZWQpIG1hcmdpbiB0
b3AgYXMgd2VsbC4KICAgICAgICAgaWYgKGhhc1ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKCphbmNl
c3RvcikpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yOTQsMjEgKzI4NiwyMSBAQCB2b2lkIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OnByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yQW5jZXN0
b3JzKGNvbnN0IEJveCYgbAogICAgICAgICAgICAgYXV0byogY29udGFpbmluZ0Jsb2NrID0gYW5j
ZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdC
bG9jayA9PSAmcm9vdCgpID8gdmVydGljYWxDb25zdHJhaW50cy5yb290IDogR2VvbWV0cnk6OnZl
cnRpY2FsQ29uc3RyYWludHNGb3JJbkZsb3coZ2VvbWV0cnlGb3JCb3goKmNvbnRhaW5pbmdCbG9j
aykpOwogICAgICAgICB9OwotICAgICAgICBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbigqYW5j
ZXN0b3IsIGhvcml6b250YWxDb25zdHJhaW50c0ZvckFuY2VzdG9yKCksIHZlcnRpY2FsQ29uc3Ry
YWludHNGb3JBbmNlc3RvcigpKTsKLSAgICB9Ci19CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6cHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb25Gb3JGb3JtYXR0aW5nUm9vdChjb25zdCBG
bG9hdGluZ0NvbnRleHQmIGZsb2F0aW5nQ29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIGNv
bnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9udGFsQ29uc3RyYWludHM+JiBob3Jpem9udGFsQ29u
c3RyYWludHMsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxWZXJ0aWNhbENvbnN0cmFpbnRzPiYgdmVy
dGljYWxDb25zdHJhaW50cykKLXsKLSAgICBBU1NFUlQobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9y
bWF0dGluZ0NvbnRleHQoKSk7Ci0gICAgaWYgKGxheW91dEJveC5pc0Zsb2F0QXZvaWRlcigpICYm
ICFsYXlvdXRCb3guaGFzRmxvYXRDbGVhcigpKQotICAgICAgICByZXR1cm47Ci0gICAgLy8gV2Ug
bmVlZCB0aGUgZmluYWwgdmVydGljYWwgcG9zaXRpb24gd2hlbiB0aGUgZm9ybWF0dGluZyBjb250
ZXh0IGluaGVyaXRzIGZsb2F0cyBmcm9tIHRoZSBwYXJlbnQgRkMuCi0gICAgcHJlY29tcHV0ZVZl
cnRpY2FsUG9zaXRpb25Gb3JBbmNlc3RvcnMobGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWlu
dHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwotICAgIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9u
KGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmNvbnRhaW5pbmdCbG9jaywgdmVydGlj
YWxDb25zdHJhaW50cy5jb250YWluaW5nQmxvY2spOwotICAgIGlmIChsYXlvdXRCb3guaGFzRmxv
YXRDbGVhcigpKSB7Ci0gICAgICAgIC8vIGlmIHdlIGp1c3QgbGV0IHRoZSBib3ggc2l0IGF0IHRo
ZSBzdGF0aWMgdmVydGljYWwgcG9zaXRpb24sIHdlIG1pZ2h0IGZpbmQgdW5yZWxhdGVkIGZsb2F0
IGJveGVzIHRoZXJlIChib3hlcyB0aGF0IHdlIG5lZWQgdG8gY2xlYXIpLgotICAgICAgICBjb21w
dXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIoZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRC
b3gpOworICAgICAgICBhdXRvIGNvbXB1dGVkVmVydGljYWxNYXJnaW4gPSBnZW9tZXRyeSgpLmNv
bXB1dGVkVmVydGljYWxNYXJnaW4oKmFuY2VzdG9yLCBob3Jpem9udGFsQ29uc3RyYWludHNGb3JB
bmNlc3RvcigpKTsKKyAgICAgICAgYXV0byB1c2VkTm9uQ29sbGFwc2VkTWFyZ2luID0gVXNlZFZl
cnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgeyBjb21wdXRlZFZlcnRpY2FsTWFyZ2lu
LmJlZm9yZS52YWx1ZU9yKDApLCBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3Io
MCkgfTsKKyAgICAgICAgYXV0byBwcmVjb21wdXRlZE1hcmdpbkJlZm9yZSA9IG1hcmdpbkNvbGxh
cHNlKCkucHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoKmFuY2VzdG9yLCB1c2VkTm9uQ29sbGFwc2Vk
TWFyZ2luKTsKKyAgICAgICAgc2V0UHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUoKmFuY2VzdG9yLCBw
cmVjb21wdXRlZE1hcmdpbkJlZm9yZSk7CisKKyAgICAgICAgYXV0byYgZGlzcGxheUJveCA9IGZv
cm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3goKmFuY2VzdG9yKTsKKyAgICAgICAgYXV0byBub25D
b2xsYXBzZWRWYWx1ZXMgPSBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB7
IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLm5vbkNvbGxhcHNlZFZhbHVlLCB7IH0gfTsKKyAgICAg
ICAgYXV0byBjb2xsYXBzZWRWYWx1ZXMgPSBVc2VkVmVydGljYWxNYXJnaW46OkNvbGxhcHNlZFZh
bHVlcyB7IHByZWNvbXB1dGVkTWFyZ2luQmVmb3JlLmNvbGxhcHNlZFZhbHVlLCB7IH0sIHByZWNv
bXB1dGVkTWFyZ2luQmVmb3JlLmlzQ29sbGFwc2VkVGhyb3VnaCB9OworICAgICAgICBhdXRvIHZl
cnRpY2FsTWFyZ2luID0gVXNlZFZlcnRpY2FsTWFyZ2luIHsgbm9uQ29sbGFwc2VkVmFsdWVzLCBj
b2xsYXBzZWRWYWx1ZXMgfTsKKyAgICAgICAgZGlzcGxheUJveC5zZXRWZXJ0aWNhbE1hcmdpbih2
ZXJ0aWNhbE1hcmdpbik7CisgICAgICAgIGRpc3BsYXlCb3guc2V0VG9wKHZlcnRpY2FsUG9zaXRp
b25XaXRoTWFyZ2luKCphbmNlc3RvciwgdmVydGljYWxNYXJnaW4sIHZlcnRpY2FsQ29uc3RyYWlu
dHNGb3JBbmNlc3RvcigpKSk7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICAgICAgZGlzcGxheUJv
eC5zZXRIYXNQcmVjb21wdXRlZE1hcmdpbkJlZm9yZSgpOworI2VuZGlmCiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDEwZmE1YzExODk4MDEyNGQwOWRhMzkzNzA2
OWU4MzQ1YmM5MGE3MzYuLjI1ZmE1ZTY4NTM4MTQ4Yzg4MzM5MmE0ODYwNWI5YmJhNWZlMDkwMGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC02Nyw5ICs2Nyw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjb21wdXRlUG9zaXRpb25Ub0F2b2lkRmxvYXRzKGNvbnN0IEZsb2F0aW5nQ29u
dGV4dCYsIGNvbnN0IEJveCYsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9udGFsQ29uc3Ry
YWludHM+JiwgY29uc3QgQ29uc3RyYWludHNQYWlyPFZlcnRpY2FsQ29uc3RyYWludHM+Jik7CiAg
ICAgdm9pZCBjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZsb2F0Q2xlYXIoY29uc3QgRmxvYXRp
bmdDb250ZXh0JiwgY29uc3QgQm94Jik7CiAKLSAgICB2b2lkIHByZWNvbXB1dGVWZXJ0aWNhbFBv
c2l0aW9uKGNvbnN0IEJveCYsIGNvbnN0IEhvcml6b250YWxDb25zdHJhaW50cyYsIGNvbnN0IFZl
cnRpY2FsQ29uc3RyYWludHMmKTsKICAgICB2b2lkIHByZWNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9u
Rm9yQW5jZXN0b3JzKGNvbnN0IEJveCYsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxIb3Jpem9udGFs
Q29uc3RyYWludHM+JiwgY29uc3QgQ29uc3RyYWludHNQYWlyPFZlcnRpY2FsQ29uc3RyYWludHM+
Jik7Ci0gICAgdm9pZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckZvcm1hdHRpbmdSb290
KGNvbnN0IEZsb2F0aW5nQ29udGV4dCYsIGNvbnN0IEJveCYsIGNvbnN0IENvbnN0cmFpbnRzUGFp
cjxIb3Jpem9udGFsQ29uc3RyYWludHM+JiwgY29uc3QgQ29uc3RyYWludHNQYWlyPFZlcnRpY2Fs
Q29uc3RyYWludHM+Jik7CisgICAgdm9pZCBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckJv
eEFuZEFuY2VzdG9ycyhjb25zdCBCb3gmLCBjb25zdCBDb25zdHJhaW50c1BhaXI8SG9yaXpvbnRh
bENvbnN0cmFpbnRzPiYsIGNvbnN0IENvbnN0cmFpbnRzUGFpcjxWZXJ0aWNhbENvbnN0cmFpbnRz
PiYpOwogCiAgICAgSW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb21wdXRlZEludHJpbnNpY1dp
ZHRoQ29uc3RyYWludHMoKSBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IHZlcnRpY2FsUG9zaXRp
b25XaXRoTWFyZ2luKGNvbnN0IEJveCYsIGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbiYsIGNvbnN0
IFZlcnRpY2FsQ29uc3RyYWludHMmKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>