<?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>198520</bug_id>
          
          <creation_ts>2019-06-04 02:07:02 -0700</creation_ts>
          <short_desc>Argument elimination should check transitive dependents for interference</short_desc>
          <delta_ts>2020-04-14 09:44:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Tadeu Zagallo">tzagallo</reporter>
          <assigned_to name="Tadeu Zagallo">tzagallo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wuninsu</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1541487</commentid>
    <comment_count>0</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-06-04 02:07:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/50863343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541488</commentid>
    <comment_count>1</comment_count>
      <attachid>371256</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-06-04 02:10:30 -0700</bug_when>
    <thetext>Created attachment 371256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541625</commentid>
    <comment_count>2</comment_count>
      <attachid>371256</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-06-04 10:22:04 -0700</bug_when>
    <thetext>Comment on attachment 371256
Patch

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

LGTM too, just one question

&gt; Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp:609
&gt; +                            if (node == candidate &amp;&amp; inlineCallFrame == candidate-&gt;origin.semantic.inlineCallFrame())

Why this? Why not just break unconditionally when finding the candidate like before?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541627</commentid>
    <comment_count>3</comment_count>
      <attachid>371256</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-06-04 10:23:52 -0700</bug_when>
    <thetext>Comment on attachment 371256
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp:609
&gt;&gt; +                            if (node == candidate &amp;&amp; inlineCallFrame == candidate-&gt;origin.semantic.inlineCallFrame())
&gt; 
&gt; Why this? Why not just break unconditionally when finding the candidate like before?

Because the current candidate can interfere with the transitive candidate, which actually happens with the test case included.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541629</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-06-04 10:26:34 -0700</bug_when>
    <thetext>That seems weird. I thought the KillStack was the issue?

Also, it’s weird we’re running clobberize on the pre-transformed node. Presumably they may have different effects?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541635</commentid>
    <comment_count>5</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-06-04 10:44:06 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; That seems weird. I thought the KillStack was the issue?

You&apos;re right, that&apos;s not necessary.

&gt; Also, it’s weird we’re running clobberize on the pre-transformed node.
&gt; Presumably they may have different effects?

Do you mean prior to transformation? Nothing has been transformed yet at this point.
The tricky thing is that transform has to happen top-dowm and interference is computed bottom-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541665</commentid>
    <comment_count>6</comment_count>
      <attachid>371309</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-06-04 11:24:57 -0700</bug_when>
    <thetext>Created attachment 371309
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541681</commentid>
    <comment_count>7</comment_count>
      <attachid>371309</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-04 12:06:39 -0700</bug_when>
    <thetext>Comment on attachment 371309
Patch for landing

Clearing flags on attachment: 371309

Committed r246075: &lt;https://trac.webkit.org/changeset/246075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541682</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-04 12:06:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641419</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-14 09:44:09 -0700</bug_when>
    <thetext>*** Bug 197956 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371256</attachid>
            <date>2019-06-04 02:10:30 -0700</date>
            <delta_ts>2019-06-04 11:24:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198520-20190604111028.patch</filename>
            <type>text/plain</type>
            <size>13884</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1Nzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZjVhZGM0Y2M3MjVmYTQ2MWIyYWM4OTc0Zjc3MjU1OGYxMWE1NDU1Li4wZmZkMGEwYmViN2ZlYmFh
MmQwZDA0NGYzZTk4M2E0ZTg0NjI5NWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxOS0wNi0wNCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBBcmd1bWVudCBlbGltaW5hdGlvbiBzaG91bGQgY2hlY2sgdHJhbnNpdGl2
ZSBkZXBlbmRlbnRzIGZvciBpbnRlcmZlcmVuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODUyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTA4
NjMzNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOgorCisgICAgICAgICAgICBhOiBDcmVhdGVS
ZXN0CisgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgICAgICBiOiBDcmVhdGVSZXN0CisgICAg
ICAgICAgICA8LS0KKyAgICAgICAgICAgIGM6IFNwcmVhZChAYSkKKyAgICAgICAgICAgIGQ6IFNw
cmVhZChAYikKKyAgICAgICAgICAgIGU6IE5ld0FycmF5V2l0aFNwcmVhZChAYSwgQGIpCisgICAg
ICAgICAgICBmOiBLaWxsU3RhY2sobG9jWCkKKyAgICAgICAgICAgIGc6IExvYWRWYXJhcmdzKEBl
KQorCisgICAgICAgIFN1cHBvc2UgQGIgcmVhZHMgbG9jWCwgdGhlbiB3ZSBjYW5ub3QgdHJhbnNm
b3JtIEBlIHRvIFBoYW50b21OZXdBcnJheVNwcmVhZCwgc2luY2UgdGhhdCB3b3VsZAorICAgICAg
ICBtb3ZlIHRoZSBzdGFjayBhY2Nlc3MgZnJvbSBAYiBpbnRvIEBnLCBhbmQgdGhhdCBzdGFjayBs
b2NhdGlvbiBpcyBubyBsb25nZXIgdmFsaWQgYXQgdGhhdCBwb2ludC4KKworICAgICAgICBXZSBm
aXggdGhhdCBieSBjb21wdXRpbmcgYSBzZXQgb2YgYWxsIGlubGluZSBjYWxsIGZyYW1lcyB0aGF0
IGFueSBhcmd1bWVudCBlbGltaW5hdGlvbiBjYW5kaWRhdGUKKyAgICAgICAgZGVwZW5kcyBvbiBh
bmQgY2hlY2tpbmcgZWFjaCBvZiB0aGVtIGZvciBpbnRlcmZlcmVuY2UgaW4gYGVsaW1pbmF0ZUNh
bmRpZGF0ZXNUaGF0SW50ZXJmZXJlYC4KKworICAgICAgICAqIGRmZy9ERkdBcmd1bWVudHNFbGlt
aW5hdGlvblBoYXNlLmNwcDoKKwogMjAxOS0wNS0yNSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxv
QGFwcGxlLmNvbT4KIAogICAgICAgICBKSVRPcGVyYXRpb25zIGdldEJ5VmFsIHNob3VsZCBtYXJr
IG5lZ2F0aXZlIGFycmF5IGluZGljZXMgYXMgb3V0LW9mLWJvdW5kcwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5j
cHAKaW5kZXggMmI3YTdjNjUxYjQ4ZmVkYjE0MDQ0OWY5ZDQ2ZGI3NjM0YjdmMDlmNC4uMGFkOTJh
YWUwYTZlZDNkZDA5YzA2YzdjNzUyMDVlYTkzYjcxYjFkZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3Bw
CkBAIC01MDIsNiArNTAyLDMzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgCisgICAgICAgIHVzaW5nIElubGluZUNhbGxGcmFtZXMgPSBIYXNoU2V0PElubGlu
ZUNhbGxGcmFtZSosIFdURjo6RGVmYXVsdEhhc2g8SW5saW5lQ2FsbEZyYW1lKj46Okhhc2gsIFdU
Rjo6TnVsbGFibGVIYXNoVHJhaXRzPElubGluZUNhbGxGcmFtZSo+PjsKKyAgICAgICAgdXNpbmcg
SW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpdGF0ZXMgPSBIYXNoTWFwPE5vZGUqLCBJbmxpbmVDYWxs
RnJhbWVzPjsKKyAgICAgICAgSW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpdGF0ZXMgaW5saW5lQ2Fs
bEZyYW1lc0ZvckNhbmRpZGF0ZTsKKyAgICAgICAgYXV0byBmb3JFYWNoRGVwZW5kZW50Tm9kZSA9
IHJlY3Vyc2FibGVMYW1iZGEoWyZdKGF1dG8gc2VsZiwgTm9kZSogbm9kZSwgY29uc3QgYXV0byYg
ZnVuY3RvcikgLT4gdm9pZCB7CisgICAgICAgICAgICBmdW5jdG9yKG5vZGUpOworCisgICAgICAg
ICAgICBpZiAobm9kZS0+b3AoKSA9PSBTcHJlYWQpIHsKKyAgICAgICAgICAgICAgICBzZWxmKG5v
ZGUtPmNoaWxkMSgpLm5vZGUoKSwgZnVuY3Rvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBOZXdBcnJheVdp
dGhTcHJlYWQpIHsKKyAgICAgICAgICAgICAgICBCaXRWZWN0b3IqIGJpdFZlY3RvciA9IG5vZGUt
PmJpdFZlY3RvcigpOworICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG5vZGUtPm51
bUNoaWxkcmVuKCk7IGktLTsgKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChiaXRWZWN0b3It
PmdldChpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYobV9ncmFwaC52YXJBcmdDaGls
ZChub2RlLCBpKS5ub2RlKCksIGZ1bmN0b3IpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICBmb3Ig
KE5vZGUqIGNhbmRpZGF0ZSA6IG1fY2FuZGlkYXRlcykgeworICAgICAgICAgICAgYXV0byYgc2V0
ID0gaW5saW5lQ2FsbEZyYW1lc0ZvckNhbmRpZGF0ZS5hZGQoY2FuZGlkYXRlLCBJbmxpbmVDYWxs
RnJhbWVzKCkpLml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgIGZvckVhY2hEZXBlbmRlbnRO
b2RlKGNhbmRpZGF0ZSwgWyZdKE5vZGUqIGRlcGVuZGVudCkgeworICAgICAgICAgICAgICAgIHNl
dC5hZGQoZGVwZW5kZW50LT5vcmlnaW4uc2VtYW50aWMuaW5saW5lQ2FsbEZyYW1lKCkpOworICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2Nr
IDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CiAgICAgICAgICAgICAvLyBTdG9w
IGlmIHdlJ3ZlIGFscmVhZHkgcmVtb3ZlZCBhbGwgY2FuZGlkYXRlcy4KICAgICAgICAgICAgIGlm
IChtX2NhbmRpZGF0ZXMuaXNFbXB0eSgpKQpAQCAtNTI0LDgzICs1NTEsODggQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2NhbmRpZGF0ZXMuY29udGFpbnMoY2FuZGlkYXRl
KSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgYmxvY2sgaGFzIGFueSBjbG9i
YmVycyB0aGF0IGFmZmVjdCB0aGlzIGNhbmRpZGF0ZS4gVGhpcyBpcyBhIGZhaXJseQotICAgICAg
ICAgICAgICAgICAgICAvLyBmYXN0IGNoZWNrLgotICAgICAgICAgICAgICAgICAgICBib29sIGlz
Q2xvYmJlcmVkQnlCbG9jayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBPcGVyYW5kczxi
b29sPiYgY2xvYmJlcmVkQnlUaGlzQmxvY2sgPSBjbG9iYmVyZWRCeUJsb2NrW2Jsb2NrXTsKLSAg
ICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGlmIChJbmxpbmVDYWxsRnJh
bWUqIGlubGluZUNhbGxGcmFtZSA9IGNhbmRpZGF0ZS0+b3JpZ2luLnNlbWFudGljLmlubGluZUNh
bGxGcmFtZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5saW5lQ2FsbEZyYW1l
LT5pc1ZhcmFyZ3MoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2xvYmJlcmVk
QnlCbG9jayB8PSBjbG9iYmVyZWRCeVRoaXNCbG9jay5vcGVyYW5kKAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zmc2V0ICsgQ2FsbEZyYW1l
U2xvdDo6YXJndW1lbnRDb3VudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNDbG9iYmVy
ZWRCeUJsb2NrIHx8IGlubGluZUNhbGxGcmFtZS0+aXNDbG9zdXJlQ2FsbCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlzQ2xvYmJlcmVkQnlCbG9jayB8PSBjbG9iYmVyZWRCeVRoaXNC
bG9jay5vcGVyYW5kKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVDYWxs
RnJhbWUtPnN0YWNrT2Zmc2V0ICsgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZm9yIChJbmxpbmVDYWxsRnJhbWUq
IGlubGluZUNhbGxGcmFtZSA6IGlubGluZUNhbGxGcmFtZXNGb3JDYW5kaWRhdGUuZ2V0KGNhbmRp
ZGF0ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgYmxvY2sg
aGFzIGFueSBjbG9iYmVycyB0aGF0IGFmZmVjdCB0aGlzIGNhbmRpZGF0ZS4gVGhpcyBpcyBhIGZh
aXJseQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmFzdCBjaGVjay4KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgaXNDbG9iYmVyZWRCeUJsb2NrID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgICAgICAgICBPcGVyYW5kczxib29sPiYgY2xvYmJlcmVkQnlUaGlzQmxvY2sgPSBjbG9i
YmVyZWRCeUJsb2NrW2Jsb2NrXTsKICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCFpc0Nsb2JiZXJlZEJ5QmxvY2spIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaW5saW5lQ2FsbEZyYW1lLT5h
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyAtIDE7ICsraSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVnID0KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlcihpbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zm
c2V0KSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsRnJhbWU6OmFy
Z3VtZW50T2Zmc2V0KGkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xv
YmJlcmVkQnlUaGlzQmxvY2sub3BlcmFuZChyZWcpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoaW5saW5lQ2FsbEZyYW1lKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGlubGluZUNhbGxGcmFtZS0+aXNWYXJhcmdzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaXNDbG9iYmVyZWRCeUJsb2NrIHw9IGNsb2JiZXJlZEJ5VGhpc0Jsb2NrLm9wZXJh
bmQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUt
PnN0YWNrT2Zmc2V0ICsgQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFp
c0Nsb2JiZXJlZEJ5QmxvY2sgfHwgaW5saW5lQ2FsbEZyYW1lLT5pc0Nsb3N1cmVDYWxsKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2xvYmJlcmVkQnlCbG9jayB8PSBjbG9i
YmVyZWRCeVRoaXNCbG9jay5vcGVyYW5kKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCArIENhbGxGcmFtZVNsb3Q6OmNhbGxl
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFpc0Nsb2JiZXJlZEJ5QmxvY2spIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGlubGluZUNhbGxGcmFtZS0+YXJn
dW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgLSAxOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciByZWcgPQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlcihpbmxpbmVDYWxsRnJhbWUtPnN0
YWNrT2Zmc2V0KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2Fs
bEZyYW1lOjphcmd1bWVudE9mZnNldChpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChjbG9iYmVyZWRCeVRoaXNCbG9jay5vcGVyYW5kKHJlZykpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Nsb2JiZXJlZEJ5QmxvY2sgPSB0cnVl
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBkb24n
dCBpbmNsdWRlIHRoZSBBcmd1bWVudENvdW50IG9yIENhbGxlZSBpbiB0aGlzIGNhc2UgYmVjYXVz
ZSB3ZSBjYW4gYmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkYW1uIHN1cmUgdGhh
dCB0aGlzIHdvbid0IGJlIGNsb2JiZXJlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvZGVCbG9jaygp
LT5udW1QYXJhbWV0ZXJzKCkpOyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGNsb2JiZXJlZEJ5VGhpc0Jsb2NrLmFyZ3VtZW50KGkpKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpc0Nsb2JiZXJlZEJ5QmxvY2sgPSB0cnVlOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBBcmd1bWVudENvdW50IG9yIENh
bGxlZSBpbiB0aGlzIGNhc2UgYmVjYXVzZSB3ZSBjYW4gYmUKLSAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIGRhbW4gc3VyZSB0aGF0IHRoaXMgd29uJ3QgYmUgY2xvYmJlcmVkLgotICAgICAgICAg
ICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihjb2RlQmxvY2soKS0+bnVtUGFyYW1ldGVycygpKTsgKytpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGNsb2JiZXJlZEJ5VGhpc0Jsb2NrLmFyZ3VtZW50KGkpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2xvYmJlcmVkQnlCbG9jayA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFp
c0Nsb2JiZXJlZEJ5QmxvY2spCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSBjYW4g
aW1tZWRpYXRlbHkgZWxpbWluYXRlIHRoaXMgY2FuZGlkYXRlLiBJZiB0aGUgYmxvY2sgaGFzIGEg
Y2xvYmJlcgotICAgICAgICAgICAgICAgICAgICAvLyBmb3IgdGhpcyBhcmd1bWVudHMgYWxsb2Nh
dGlvbiwgYW5kIHdlJ2QgaGF2ZSB0byBleGFtaW5lIGV2ZXJ5IG5vZGUgaW4gdGhlIGJsb2NrLAot
ICAgICAgICAgICAgICAgICAgICAvLyB0aGVuIHdlIGNhbiBqdXN0IGVsaW1pbmF0ZSB0aGUgY2Fu
ZGlkYXRlLgotICAgICAgICAgICAgICAgICAgICBpZiAobm9kZUluZGV4ID09IGJsb2NrLT5zaXpl
KCkgJiYgY2FuZGlkYXRlLT5vd25lciAhPSBibG9jaykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2VJbnRlcm5hbDo6dmVyYm9zZSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJlbGltaW5hdGluZyBjYW5kaWRhdGU6
ICIsIGNhbmRpZGF0ZSwgIiBiZWNhdXNlIGl0IGlzIGNsb2JiZXJlZCBieTogIiwgYmxvY2stPmF0
KG5vZGVJbmRleCksICJcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGl2ZWx5
UmVtb3ZlQ2FuZGlkYXRlKGNhbmRpZGF0ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgICAgIC8vIFRoaXMgbG9vcCBjb25zaWRlcnMgYWxsIG5vZGVzIHVwIHRvIHRoZSBu
b2RlSW5kZXgsIGV4Y2x1ZGluZyB0aGUgbm9kZUluZGV4LgotICAgICAgICAgICAgICAgICAgICB3
aGlsZSAobm9kZUluZGV4LS0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUg
PSBibG9jay0+YXQobm9kZUluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2Rl
ID09IGNhbmRpZGF0ZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb3VuZCA9
IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgY2xvYmJlcml6ZSgKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLCBOb09wQ2xvYmJlcml6ZSgpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFsmXSAoQWJzdHJhY3RIZWFwIGhlYXApIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYXAua2luZCgpID09IFN0YWNrICYmICFoZWFw
LnBheWxvYWQoKS5pc1RvcCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoYXJndW1lbnRzSW52b2x2ZVN0YWNrU2xvdChjYW5kaWRhdGUsIFZpcnR1YWxSZWdpc3Rl
cihoZWFwLnBheWxvYWQoKS52YWx1ZTMyKCkpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYXAub3ZlcmxhcHMoU3RhY2spKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9PcENs
b2JiZXJpemUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzQ2xvYmJlcmVkQnlC
bG9jaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSBjYW4gaW1tZWRpYXRlbHkgZWxpbWlu
YXRlIHRoaXMgY2FuZGlkYXRlLiBJZiB0aGUgYmxvY2sgaGFzIGEgY2xvYmJlcgorICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gZm9yIHRoaXMgYXJndW1lbnRzIGFsbG9jYXRpb24sIGFuZCB3ZSdk
IGhhdmUgdG8gZXhhbWluZSBldmVyeSBub2RlIGluIHRoZSBibG9jaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIHRoZW4gd2UgY2FuIGp1c3QgZWxpbWluYXRlIHRoZSBjYW5kaWRhdGUuCisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZUluZGV4ID09IGJsb2NrLT5zaXplKCkgJiYg
Y2FuZGlkYXRlLT5vd25lciAhPSBibG9jaykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlSW50ZXJuYWw6OnZlcmJvc2UpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coImVsaW1pbmF0aW5nIGNhbmRpZGF0
ZTogIiwgY2FuZGlkYXRlLCAiIGJlY2F1c2UgaXQgaXMgY2xvYmJlcmVkIGJ5ICIsIGJsb2NrLT5h
dChub2RlSW5kZXgpLCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0
YUxvZygiZWxpbWluYXRpbmcgY2FuZGlkYXRlOiAiLCBjYW5kaWRhdGUsICIgYmVjYXVzZSBpdCBp
cyBjbG9iYmVyZWQgYnk6ICIsIGJsb2NrLT5hdChub2RlSW5kZXgpLCAiXG4iKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aXZlbHlSZW1vdmVDYW5kaWRhdGUoY2FuZGlkYXRl
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgbG9vcCBjb25zaWRl
cnMgYWxsIG5vZGVzIHVwIHRvIHRoZSBub2RlSW5kZXgsIGV4Y2x1ZGluZyB0aGUgbm9kZUluZGV4
LgorICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG5vZGVJbmRleC0tKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlID09IGNhbmRpZGF0ZSAmJiBpbmxp
bmVDYWxsRnJhbWUgPT0gY2FuZGlkYXRlLT5vcmlnaW4uc2VtYW50aWMuaW5saW5lQ2FsbEZyYW1l
KCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNsb2JiZXJpemUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JhcGgsIG5vZGUsIE5vT3BDbG9iYmVyaXplKCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsmXSAoQWJzdHJhY3RIZWFwIGhlYXApIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChoZWFwLmtpbmQoKSA9PSBTdGFjayAmJiAhaGVhcC5wYXlsb2FkKCku
aXNUb3AoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChh
cmd1bWVudHNJbnZvbHZlU3RhY2tTbG90KGlubGluZUNhbGxGcmFtZSwgVmlydHVhbFJlZ2lzdGVy
KGhlYXAucGF5bG9hZCgpLnZhbHVlMzIoKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYXAub3Zlcmxh
cHMoU3RhY2spKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5k
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTm9PcENsb2JiZXJpemUoKSk7CisKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoZm91bmQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2VJbnRlcm5hbDo6dmVyYm9zZSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coImVsaW1pbmF0aW5nIGNh
bmRpZGF0ZTogIiwgY2FuZGlkYXRlLCAiIGJlY2F1c2UgaXQgaXMgY2xvYmJlcmVkIGJ5ICIsIGJs
b2NrLT5hdChub2RlSW5kZXgpLCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdHJhbnNpdGl2ZWx5UmVtb3ZlQ2FuZGlkYXRlKGNhbmRpZGF0ZSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSA9PSBjYW5kaWRhdGUpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSk7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOTZkMDgzYzkzYTg1ZGZjODFjNTg5NTI2YzNhNDM5ZGJkOGJkODgxYS4uOTRkZTE5Yjky
ZjhlMDcyMWQ4OWU2YTE1Y2FkY2RlMTk5YWRjOGMxZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wNi0w
NCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KKworICAgICAgICBBcmd1bWVu
dCBlbGltaW5hdGlvbiBzaG91bGQgY2hlY2sgdHJhbnNpdGl2ZSBkZXBlbmRlbnRzIGZvciBpbnRl
cmZlcmVuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODUyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTA4NjMzNDM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYXJndW1lbnQtZWxp
bWluYXRpb24taW5saW5lLXJlc3QtcGFzdC1raWxsLmpzOiBBZGRlZC4KKyAgICAgICAgKGYyKToK
KyAgICAgICAgKGYzKToKKwogMjAxOS0wNS0yNSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBKSVRPcGVyYXRpb25zIGdldEJ5VmFsIHNob3VsZCBtYXJrIG5l
Z2F0aXZlIGFycmF5IGluZGljZXMgYXMgb3V0LW9mLWJvdW5kcwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3MvYXJndW1lbnQtZWxpbWluYXRpb24taW5saW5lLXJlc3QtcGFzdC1raWxsLmpzIGIv
SlNUZXN0cy9zdHJlc3MvYXJndW1lbnQtZWxpbWluYXRpb24taW5saW5lLXJlc3QtcGFzdC1raWxs
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5YTUyMWZiM2U2NmYxNmI2ODcyNTQxZTE3N2ZlMzY0ODRlOWYwNDcK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9hcmd1bWVudC1lbGltaW5hdGlvbi1p
bmxpbmUtcmVzdC1wYXN0LWtpbGwuanMKQEAgLTAsMCArMSwxNiBAQAorLy9AIHJlcXVpcmVPcHRp
b25zKCItLWZvcmNlRWFnZXJDb21waWxhdGlvbj0xIikKK2Z1bmN0aW9uIGYyKC4uLmExKSB7Cisg
ICAgcmV0dXJuIGExOworfQorCitmdW5jdGlvbiBmMyguLi5hMikgeworICAgIGxldCB2MSA9IGYy
KFtdKTsKKyAgICByZXR1cm4gZjIoLi4uYTIsIC4uLnYxKTsKK30KK25vSW5saW5lKGYzKTsKKwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxZTU7IGkrKykgeworICAgIHZhciB2MyA9IGYzKCk7CisgICAg
aWYgKCFBcnJheS5pc0FycmF5KHYzW3YzLmxlbmd0aCAtIDFdKSkKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCdTaG91bGQgYmUgYW4gYXJyYXknKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371309</attachid>
            <date>2019-06-04 11:24:57 -0700</date>
            <delta_ts>2019-06-04 12:06:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-198520-20190604202455.patch</filename>
            <type>text/plain</type>
            <size>13701</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MGE1NDg3Yzc3MjQ2ZTdhNDE0NDA5ZGIwOTg2Y2Q1Yzc1N2QxN2I2Li4xNTlhNjkzNWJkODFiNTIz
YmMyYTlmNTI1OWY2ODNlOTc3MmJhOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxOS0wNi0wNCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBBcmd1bWVudCBlbGltaW5hdGlvbiBzaG91bGQgY2hlY2sgdHJhbnNpdGl2
ZSBkZXBlbmRlbnRzIGZvciBpbnRlcmZlcmVuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODUyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTA4
NjMzNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRmlsaXAgUGl6bG8uCisKKyAgICAgICAgQ29u
c2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOgorCisgICAgICAgICAgICBhOiBDcmVhdGVSZXN0
CisgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgICAgICBiOiBDcmVhdGVSZXN0CisgICAgICAg
ICAgICA8LS0KKyAgICAgICAgICAgIGM6IFNwcmVhZChAYSkKKyAgICAgICAgICAgIGQ6IFNwcmVh
ZChAYikKKyAgICAgICAgICAgIGU6IE5ld0FycmF5V2l0aFNwcmVhZChAYSwgQGIpCisgICAgICAg
ICAgICBmOiBLaWxsU3RhY2sobG9jWCkKKyAgICAgICAgICAgIGc6IExvYWRWYXJhcmdzKEBlKQor
CisgICAgICAgIFN1cHBvc2UgQGIgcmVhZHMgbG9jWCwgdGhlbiB3ZSBjYW5ub3QgdHJhbnNmb3Jt
IEBlIHRvIFBoYW50b21OZXdBcnJheVNwcmVhZCwgc2luY2UgdGhhdCB3b3VsZAorICAgICAgICBt
b3ZlIHRoZSBzdGFjayBhY2Nlc3MgZnJvbSBAYiBpbnRvIEBnLCBhbmQgdGhhdCBzdGFjayBsb2Nh
dGlvbiBpcyBubyBsb25nZXIgdmFsaWQgYXQgdGhhdCBwb2ludC4KKworICAgICAgICBXZSBmaXgg
dGhhdCBieSBjb21wdXRpbmcgYSBzZXQgb2YgYWxsIGlubGluZSBjYWxsIGZyYW1lcyB0aGF0IGFu
eSBhcmd1bWVudCBlbGltaW5hdGlvbiBjYW5kaWRhdGUKKyAgICAgICAgZGVwZW5kcyBvbiBhbmQg
Y2hlY2tpbmcgZWFjaCBvZiB0aGVtIGZvciBpbnRlcmZlcmVuY2UgaW4gYGVsaW1pbmF0ZUNhbmRp
ZGF0ZXNUaGF0SW50ZXJmZXJlYC4KKworICAgICAgICAqIGRmZy9ERkdBcmd1bWVudHNFbGltaW5h
dGlvblBoYXNlLmNwcDoKKwogMjAxOS0wNi0wNCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBBcmd1bWVudCBlbGltaW5hdGlvbiBzaG91bGQgY2hlY2sgZm9y
IG5lZ2F0aXZlIGluZGljZXMgaW4gR2V0QnlWYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCmluZGV4IGI3
ZTRhNGZlMmMxZjZkNGNjMDZhOGRkMDFlNTI4YTMxY2U4YTc4OTEuLjIxYjgyOTE3ZmZiMzliMzY3
ZmYwYWFlZGE4YTIxNjE1YzZmYzkyYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcApAQCAtNTAyLDYg
KzUwMiwzMyBAQCBwcml2YXRlOgogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAor
ICAgICAgICB1c2luZyBJbmxpbmVDYWxsRnJhbWVzID0gSGFzaFNldDxJbmxpbmVDYWxsRnJhbWUq
LCBXVEY6OkRlZmF1bHRIYXNoPElubGluZUNhbGxGcmFtZSo+OjpIYXNoLCBXVEY6Ok51bGxhYmxl
SGFzaFRyYWl0czxJbmxpbmVDYWxsRnJhbWUqPj47CisgICAgICAgIHVzaW5nIElubGluZUNhbGxG
cmFtZXNGb3JDYW5kaXRhdGVzID0gSGFzaE1hcDxOb2RlKiwgSW5saW5lQ2FsbEZyYW1lcz47Cisg
ICAgICAgIElubGluZUNhbGxGcmFtZXNGb3JDYW5kaXRhdGVzIGlubGluZUNhbGxGcmFtZXNGb3JD
YW5kaWRhdGU7CisgICAgICAgIGF1dG8gZm9yRWFjaERlcGVuZGVudE5vZGUgPSByZWN1cnNhYmxl
TGFtYmRhKFsmXShhdXRvIHNlbGYsIE5vZGUqIG5vZGUsIGNvbnN0IGF1dG8mIGZ1bmN0b3IpIC0+
IHZvaWQgeworICAgICAgICAgICAgZnVuY3Rvcihub2RlKTsKKworICAgICAgICAgICAgaWYgKG5v
ZGUtPm9wKCkgPT0gU3ByZWFkKSB7CisgICAgICAgICAgICAgICAgc2VsZihub2RlLT5jaGlsZDEo
KS5ub2RlKCksIGZ1bmN0b3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gTmV3QXJyYXlXaXRoU3ByZWFkKSB7
CisgICAgICAgICAgICAgICAgQml0VmVjdG9yKiBiaXRWZWN0b3IgPSBub2RlLT5iaXRWZWN0b3Io
KTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBub2RlLT5udW1DaGlsZHJlbigp
OyBpLS07ICkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYml0VmVjdG9yLT5nZXQoaSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgaSku
bm9kZSgpLCBmdW5jdG9yKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgICAgZm9yIChOb2RlKiBjYW5k
aWRhdGUgOiBtX2NhbmRpZGF0ZXMpIHsKKyAgICAgICAgICAgIGF1dG8mIHNldCA9IGlubGluZUNh
bGxGcmFtZXNGb3JDYW5kaWRhdGUuYWRkKGNhbmRpZGF0ZSwgSW5saW5lQ2FsbEZyYW1lcygpKS5p
dGVyYXRvci0+dmFsdWU7CisgICAgICAgICAgICBmb3JFYWNoRGVwZW5kZW50Tm9kZShjYW5kaWRh
dGUsIFsmXShOb2RlKiBkZXBlbmRlbnQpIHsKKyAgICAgICAgICAgICAgICBzZXQuYWRkKGRlcGVu
ZGVudC0+b3JpZ2luLnNlbWFudGljLmlubGluZUNhbGxGcmFtZSgpKTsKKyAgICAgICAgICAgIH0p
OworICAgICAgICB9CisKICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGgu
YmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgewogICAgICAgICAgICAgLy8gU3RvcCBpZiB3ZSd2ZSBh
bHJlYWR5IHJlbW92ZWQgYWxsIGNhbmRpZGF0ZXMuCiAgICAgICAgICAgICBpZiAobV9jYW5kaWRh
dGVzLmlzRW1wdHkoKSkKQEAgLTUyNCw4MyArNTUxLDg1IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgICAgIGlmICghbV9jYW5kaWRhdGVzLmNvbnRhaW5zKGNhbmRpZGF0ZSkpCiAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGJsb2NrIGhhcyBhbnkgY2xvYmJlcnMgdGhhdCBh
ZmZlY3QgdGhpcyBjYW5kaWRhdGUuIFRoaXMgaXMgYSBmYWlybHkKLSAgICAgICAgICAgICAgICAg
ICAgLy8gZmFzdCBjaGVjay4KLSAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0Nsb2JiZXJlZEJ5
QmxvY2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgT3BlcmFuZHM8Ym9vbD4mIGNsb2Ji
ZXJlZEJ5VGhpc0Jsb2NrID0gY2xvYmJlcmVkQnlCbG9ja1tibG9ja107Ci0gICAgICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVD
YWxsRnJhbWUgPSBjYW5kaWRhdGUtPm9yaWdpbi5zZW1hbnRpYy5pbmxpbmVDYWxsRnJhbWUoKSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlubGluZUNhbGxGcmFtZS0+aXNWYXJhcmdz
KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Nsb2JiZXJlZEJ5QmxvY2sgfD0g
Y2xvYmJlcmVkQnlUaGlzQmxvY2sub3BlcmFuZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCArIENhbGxGcmFtZVNsb3Q6OmFyZ3Vt
ZW50Q291bnQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzQ2xvYmJlcmVkQnlCbG9jayB8
fCBpbmxpbmVDYWxsRnJhbWUtPmlzQ2xvc3VyZUNhbGwpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpc0Nsb2JiZXJlZEJ5QmxvY2sgfD0gY2xvYmJlcmVkQnlUaGlzQmxvY2sub3BlcmFu
ZCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lQ2FsbEZyYW1lLT5zdGFj
a09mZnNldCArIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgIGZvciAoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxs
RnJhbWUgOiBpbmxpbmVDYWxsRnJhbWVzRm9yQ2FuZGlkYXRlLmdldChjYW5kaWRhdGUpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGJsb2NrIGhhcyBhbnkgY2xv
YmJlcnMgdGhhdCBhZmZlY3QgdGhpcyBjYW5kaWRhdGUuIFRoaXMgaXMgYSBmYWlybHkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGZhc3QgY2hlY2suCisgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIGlzQ2xvYmJlcmVkQnlCbG9jayA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAg
ICAgT3BlcmFuZHM8Ym9vbD4mIGNsb2JiZXJlZEJ5VGhpc0Jsb2NrID0gY2xvYmJlcmVkQnlCbG9j
a1tibG9ja107CiAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghaXNDbG9iYmVyZWRCeUJsb2NrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGlubGluZUNhbGxGcmFtZS0+YXJndW1lbnRDb3Vu
dEluY2x1ZGluZ1RoaXMgLSAxOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVmlydHVhbFJlZ2lzdGVyIHJlZyA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWaXJ0dWFsUmVnaXN0ZXIoaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCkgKwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbEZyYW1lOjphcmd1bWVudE9mZnNl
dChpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsb2JiZXJlZEJ5VGhp
c0Jsb2NrLm9wZXJhbmQocmVnKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlubGlu
ZUNhbGxGcmFtZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmxpbmVDYWxs
RnJhbWUtPmlzVmFyYXJncygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlz
Q2xvYmJlcmVkQnlCbG9jayB8PSBjbG9iYmVyZWRCeVRoaXNCbG9jay5vcGVyYW5kKAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNl
dCArIENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNDbG9iYmVyZWRC
eUJsb2NrIHx8IGlubGluZUNhbGxGcmFtZS0+aXNDbG9zdXJlQ2FsbCkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpc0Nsb2JiZXJlZEJ5QmxvY2sgfD0gY2xvYmJlcmVkQnlUaGlz
QmxvY2sub3BlcmFuZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZUNhbGxGcmFtZS0+c3RhY2tPZmZzZXQgKyBDYWxsRnJhbWVTbG90OjpjYWxsZWUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghaXNDbG9iYmVyZWRCeUJsb2NrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzIC0gMTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVnID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIoaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCkg
KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbGxGcmFtZTo6YXJn
dW1lbnRPZmZzZXQoaSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
Y2xvYmJlcmVkQnlUaGlzQmxvY2sub3BlcmFuZChyZWcpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaXNDbG9iYmVyZWRCeUJsb2NrID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgZG9uJ3QgaW5jbHVkZSB0
aGUgQXJndW1lbnRDb3VudCBvciBDYWxsZWUgaW4gdGhpcyBjYXNlIGJlY2F1c2Ugd2UgY2FuIGJl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGFtbiBzdXJlIHRoYXQgdGhpcyB3b24n
dCBiZSBjbG9iYmVyZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMTsgaSA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb2RlQmxvY2soKS0+bnVtUGFyYW1l
dGVycygpKTsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjbG9i
YmVyZWRCeVRoaXNCbG9jay5hcmd1bWVudChpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaXNDbG9iYmVyZWRCeUJsb2NrID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gV2UgZG9uJ3QgaW5jbHVkZSB0aGUgQXJndW1lbnRDb3VudCBvciBDYWxsZWUgaW4gdGhp
cyBjYXNlIGJlY2F1c2Ugd2UgY2FuIGJlCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyBkYW1u
IHN1cmUgdGhhdCB0aGlzIHdvbid0IGJlIGNsb2JiZXJlZC4KLSAgICAgICAgICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29kZUJs
b2NrKCktPm51bVBhcmFtZXRlcnMoKSk7ICsraSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChjbG9iYmVyZWRCeVRoaXNCbG9jay5hcmd1bWVudChpKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpc0Nsb2JiZXJlZEJ5QmxvY2sgPSB0cnVlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGlmICghaXNDbG9iYmVyZWRC
eUJsb2NrKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UgY2FuIGltbWVkaWF0ZWx5
IGVsaW1pbmF0ZSB0aGlzIGNhbmRpZGF0ZS4gSWYgdGhlIGJsb2NrIGhhcyBhIGNsb2JiZXIKLSAg
ICAgICAgICAgICAgICAgICAgLy8gZm9yIHRoaXMgYXJndW1lbnRzIGFsbG9jYXRpb24sIGFuZCB3
ZSdkIGhhdmUgdG8gZXhhbWluZSBldmVyeSBub2RlIGluIHRoZSBibG9jaywKLSAgICAgICAgICAg
ICAgICAgICAgLy8gdGhlbiB3ZSBjYW4ganVzdCBlbGltaW5hdGUgdGhlIGNhbmRpZGF0ZS4KLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG5vZGVJbmRleCA9PSBibG9jay0+c2l6ZSgpICYmIGNhbmRp
ZGF0ZS0+b3duZXIgIT0gYmxvY2spIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChERkdB
cmd1bWVudHNFbGltaW5hdGlvblBoYXNlSW50ZXJuYWw6OnZlcmJvc2UpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiZWxpbWluYXRpbmcgY2FuZGlkYXRlOiAiLCBjYW5kaWRh
dGUsICIgYmVjYXVzZSBpdCBpcyBjbG9iYmVyZWQgYnk6ICIsIGJsb2NrLT5hdChub2RlSW5kZXgp
LCAiXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpdmVseVJlbW92ZUNhbmRp
ZGF0ZShjYW5kaWRhdGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAg
ICAvLyBUaGlzIGxvb3AgY29uc2lkZXJzIGFsbCBub2RlcyB1cCB0byB0aGUgbm9kZUluZGV4LCBl
eGNsdWRpbmcgdGhlIG5vZGVJbmRleC4KLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG5vZGVJ
bmRleC0tKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0
KG5vZGVJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSA9PSBjYW5kaWRh
dGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNsb2JiZXJpemUoCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaCwgbm9kZSwgTm9PcENsb2JiZXJpemUoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbJl0gKEFic3RyYWN0SGVhcCBoZWFwKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChoZWFwLmtpbmQoKSA9PSBTdGFjayAmJiAhaGVhcC5wYXlsb2FkKCku
aXNUb3AoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFyZ3Vt
ZW50c0ludm9sdmVTdGFja1Nsb3QoY2FuZGlkYXRlLCBWaXJ0dWFsUmVnaXN0ZXIoaGVhcC5wYXls
b2FkKCkudmFsdWUzMigpKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm91bmQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChoZWFwLm92ZXJsYXBzKFN0YWNrKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vT3BDbG9iYmVyaXplKCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0Nsb2JiZXJlZEJ5QmxvY2spCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb3VuZCkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gQ2hlY2sgaWYgd2UgY2FuIGltbWVkaWF0ZWx5IGVsaW1pbmF0ZSB0aGlzIGNh
bmRpZGF0ZS4gSWYgdGhlIGJsb2NrIGhhcyBhIGNsb2JiZXIKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIGZvciB0aGlzIGFyZ3VtZW50cyBhbGxvY2F0aW9uLCBhbmQgd2UnZCBoYXZlIHRvIGV4
YW1pbmUgZXZlcnkgbm9kZSBpbiB0aGUgYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAv
LyB0aGVuIHdlIGNhbiBqdXN0IGVsaW1pbmF0ZSB0aGUgY2FuZGlkYXRlLgorICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKG5vZGVJbmRleCA9PSBibG9jay0+c2l6ZSgpICYmIGNhbmRpZGF0ZS0+
b3duZXIgIT0gYmxvY2spIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoREZHQXJn
dW1lbnRzRWxpbWluYXRpb25QaGFzZUludGVybmFsOjp2ZXJib3NlKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkYXRhTG9nKCJlbGltaW5hdGluZyBjYW5kaWRhdGU6ICIsIGNhbmRp
ZGF0ZSwgIiBiZWNhdXNlIGl0IGlzIGNsb2JiZXJlZCBieSAiLCBibG9jay0+YXQobm9kZUluZGV4
KSwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coImVsaW1p
bmF0aW5nIGNhbmRpZGF0ZTogIiwgY2FuZGlkYXRlLCAiIGJlY2F1c2UgaXQgaXMgY2xvYmJlcmVk
IGJ5OiAiLCBibG9jay0+YXQobm9kZUluZGV4KSwgIlxuIik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhbnNpdGl2ZWx5UmVtb3ZlQ2FuZGlkYXRlKGNhbmRpZGF0ZSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGxvb3AgY29uc2lkZXJzIGFsbCBub2Rl
cyB1cCB0byB0aGUgbm9kZUluZGV4LCBleGNsdWRpbmcgdGhlIG5vZGVJbmRleC4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHdoaWxlIChub2RlSW5kZXgtLSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAobm9kZSA9PSBjYW5kaWRhdGUpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBmb3VuZCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2JiZXJpemUo
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUsIE5vT3BDbG9i
YmVyaXplKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsmXSAoQWJzdHJhY3RI
ZWFwIGhlYXApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFw
LmtpbmQoKSA9PSBTdGFjayAmJiAhaGVhcC5wYXlsb2FkKCkuaXNUb3AoKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHNJbnZvbHZlU3RhY2tT
bG90KGlubGluZUNhbGxGcmFtZSwgVmlydHVhbFJlZ2lzdGVyKGhlYXAucGF5bG9hZCgpLnZhbHVl
MzIoKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Vu
ZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYXAub3ZlcmxhcHMoU3RhY2spKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Tm9PcENsb2JiZXJpemUoKSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm91
bmQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKERGR0FyZ3VtZW50c0Vs
aW1pbmF0aW9uUGhhc2VJbnRlcm5hbDo6dmVyYm9zZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRhdGFMb2coImVsaW1pbmF0aW5nIGNhbmRpZGF0ZTogIiwgY2FuZGlkYXRl
LCAiIGJlY2F1c2UgaXQgaXMgY2xvYmJlcmVkIGJ5ICIsIGJsb2NrLT5hdChub2RlSW5kZXgpLCAi
XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGl2ZWx5UmVtb3Zl
Q2FuZGlkYXRlKGNhbmRpZGF0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwpp
bmRleCBjNDI4MjViMjcxNWFlNzg5NmFiNTU2MWFiMGUxYTlmNGNhZjY0NGVjLi44N2IzYjE5MjRi
MzgzYWFiNjcwMjBkNGZjODk5OGMyYjAwNzg2ODEwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5n
ZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA2LTA0
ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgorCisgICAgICAgIEFyZ3VtZW50
IGVsaW1pbmF0aW9uIHNob3VsZCBjaGVjayB0cmFuc2l0aXZlIGRlcGVuZGVudHMgZm9yIGludGVy
ZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4NTIwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDg2MzM0Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICAqIHN0cmVzcy9hcmd1bWVudC1lbGltaW5h
dGlvbi1pbmxpbmUtcmVzdC1wYXN0LWtpbGwuanM6IEFkZGVkLgorICAgICAgICAoZjIpOgorICAg
ICAgICAoZjMpOgorCiAyMDE5LTA2LTA0ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFyZ3VtZW50IGVsaW1pbmF0aW9uIHNob3VsZCBjaGVjayBmb3IgbmVn
YXRpdmUgaW5kaWNlcyBpbiBHZXRCeVZhbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXJn
dW1lbnQtZWxpbWluYXRpb24taW5saW5lLXJlc3QtcGFzdC1raWxsLmpzIGIvSlNUZXN0cy9zdHJl
c3MvYXJndW1lbnQtZWxpbWluYXRpb24taW5saW5lLXJlc3QtcGFzdC1raWxsLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5YTUyMWZiM2U2NmYxNmI2ODcyNTQxZTE3N2ZlMzY0ODRlOWYwNDcKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3N0cmVzcy9hcmd1bWVudC1lbGltaW5hdGlvbi1pbmxpbmUtcmVzdC1w
YXN0LWtpbGwuanMKQEAgLTAsMCArMSwxNiBAQAorLy9AIHJlcXVpcmVPcHRpb25zKCItLWZvcmNl
RWFnZXJDb21waWxhdGlvbj0xIikKK2Z1bmN0aW9uIGYyKC4uLmExKSB7CisgICAgcmV0dXJuIGEx
OworfQorCitmdW5jdGlvbiBmMyguLi5hMikgeworICAgIGxldCB2MSA9IGYyKFtdKTsKKyAgICBy
ZXR1cm4gZjIoLi4uYTIsIC4uLnYxKTsKK30KK25vSW5saW5lKGYzKTsKKworZm9yIChsZXQgaSA9
IDA7IGkgPCAxZTU7IGkrKykgeworICAgIHZhciB2MyA9IGYzKCk7CisgICAgaWYgKCFBcnJheS5p
c0FycmF5KHYzW3YzLmxlbmd0aCAtIDFdKSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91
bGQgYmUgYW4gYXJyYXknKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>