<?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>200560</bug_id>
          
          <creation_ts>2019-08-08 21:33:14 -0700</creation_ts>
          <short_desc>getOwnPropertyDescriptor() is incorrect with Proxy of exotic object</short_desc>
          <delta_ts>2020-08-30 02:16:35 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=134420</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=154378</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=154314</see_also>
          <bug_file_loc>https://rawgit.com/tvcutsem/es-lab/master/src/ses/contract.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>barraclough</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>ljharb</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1559795</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-08 21:33:14 -0700</bug_when>
    <thetext>We have a hack in JSObject::getOwnPropertyDescriptor for DebuggerScope and ProxyObject.
But this is wrong since,

1. This hack breaks the assumption that JSObject::getOwnPropertySlot should return own property
2. This hack is only added for JSObject::getOwnPropertyDescriptor. So, the other clients using JSObject::getOwnPropertySlot see the different results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638629</commentid>
    <comment_count>1</comment_count>
      <attachid>395703</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-07 10:34:03 -0700</bug_when>
    <thetext>Created attachment 395703
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638692</commentid>
    <comment_count>2</comment_count>
      <attachid>395703</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-07 11:49:34 -0700</bug_when>
    <thetext>Comment on attachment 395703
WIP Patch

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

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:-3511
&gt; -

Can you explain,

1. Why this hack is originally added?
2. Why is it OK to remove this hack without changing any other part?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639354</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-08 16:32:15 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #2)
&gt; Can you explain,
&gt; 
&gt; 1. Why this hack is originally added?
&gt; 2. Why is it OK to remove this hack without changing any other part?

1. This hack was added so that CustomValue path, which must perform getDirect(), worked with JSProxy and didn&apos;t crash on ProxyObject and DebuggerScope instances.
In fact, there are two hacks: for JSProxy and for ProxyObject.
JSProxy hack was removed in r196676, yet brought back in r196760 since Web Inspector was failing ASSERT(maybeGetterSetter) in CustomValue path.

Steps to reproduce:
  1. Tools/Scripts/run-minibrowser --debug
  2. Open Web Inspector
  3. Navigate to https://rawgit.com/tvcutsem/es-lab/master/src/ses/contract.html
  4. Wait for breakpoint
  5. Expand &quot;Global Variables&quot; on the right, in &quot;Scope Chain&quot; panel
As of r259682 and with this hack removed, these steps still lead to a crash.

ProxyObject hack was introduced in r196775, along with another fix, but I didn&apos;t manage to find a test case nor an explanation.
It also lacks `thisObject` changing bit like JSProxy counterpart has:

  if (auto* proxy = jsDynamicCast&lt;JSProxy*&gt;(vm, this))
      thisObject = proxy-&gt;target();

making it fail that very ASSERT if called on Proxy with host object target (except for Window):

  Object.getOwnPropertyDescriptor(new Proxy(document, {}), &quot;location&quot;);

2. Given that Web Inspector crashes, and for a good reason, we can&apos;t just remove the hack.
To accomodate JSProxy and other objects that override getOwnPropertySlot(), I am using slotBase() as `thisObject` for getDirect() calls.
getDirect() can be safely called on slotBase(): if getOwnPropertySlot() result is returned from JS code of ProxyObject&apos;s trap,
it will never be a PropertyAttribute::CustomValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639355</commentid>
    <comment_count>4</comment_count>
      <attachid>395885</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-08 16:32:31 -0700</bug_when>
    <thetext>Created attachment 395885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639647</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-09 08:13:12 -0700</bug_when>
    <thetext>Committed r259800: &lt;https://trac.webkit.org/changeset/259800&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395885.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639649</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-09 08:14:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/61518448&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683997</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-08-30 02:16:35 -0700</bug_when>
    <thetext>*** Bug 170537 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395703</attachid>
            <date>2020-04-07 10:34:03 -0700</date>
            <delta_ts>2020-04-08 16:32:27 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-200560-20200407203401.patch</filename>
            <type>text/plain</type>
            <size>6931</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTk2NDQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTA3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBbSlNDXSBGaXggRGVidWdnZXJTY29wZSBhbmQvb3IgUHJv
eHlPYmplY3QgdG8gcmVtb3ZlIGEgaGFjayBpbiBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDA1NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisKIDIwMjAtMDQtMDcgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJbmxpbmVkIElDIHNob3VsZCBn
ZXQgcmlnaHQgSlNHbG9iYWxPYmplY3QKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlv
bnMueWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwJ
KHJldmlzaW9uIDI1OTUzNikKKysrIEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAko
d29ya2luZyBjb3B5KQpAQCAtNjcyLDkgKzY3Miw2IEBAIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9zcGxpY2UvUzEKIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2Uv
Y2xhbXBzLWxlbmd0aC10by1pbnRlZ2VyLWxpbWl0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBMZW5ndGggaXMgMioqNTMgLSAxIEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzQyOTQ5NjcyOTXC
uywgwqs5MDA3MTk5MjU0NzQwOTkxwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBMZW5ndGggaXMgMioqNTMgLSAxIEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzQyOTQ5
NjcyOTXCuywgwqs5MDA3MTk5MjU0NzQwOTkxwrspIHRvIGJlIHRydWUnCi10ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL2NyZWF0ZS1wcm94eS5qczoKLSAgZGVmYXVsdDogJ1R5
cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4nCi0gIHN0
cmljdCBtb2RlOiAnVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHBy
b3BlcnR5LicKIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2UvY3JlYXRlLXNw
ZWNpZXMtbGVuZ3RoLWV4Y2VlZGluZy1pbnRlZ2VyLWxpbWl0LmpzOgogICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBsZW5ndGggYW5kIGRlbGV0ZUNvdW50IHdlcmUgY29ycmVjdGx5IGNsYW1wZWQg
dG8gMl41My0xIEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzQyOTQ5NjcyOTXCuywgwqs5MDA3MTk5MjU0
NzQwOTkxwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBsZW5n
dGggYW5kIGRlbGV0ZUNvdW50IHdlcmUgY29ycmVjdGx5IGNsYW1wZWQgdG8gMl41My0xIEV4cGVj
dGVkIFNhbWVWYWx1ZSjCqzQyOTQ5NjcyOTXCuywgwqs5MDA3MTk5MjU0NzQwOTkxwrspIHRvIGJl
IHRydWUnCkBAIC0xMjM0LDE1ICsxMjMxLDYgQEAgdGVzdC9idWlsdC1pbnMvUHJveHkvY3JlYXRl
LXRhcmdldC1pcy1yZQogdGVzdC9idWlsdC1pbnMvUHJveHkvZGVmaW5lUHJvcGVydHkvdHJhcC1p
cy11bmRlZmluZWQtdGFyZ2V0LWlzLXByb3h5LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMg
dGhyb3duIGF0IGFsbCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEg
VHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxs
JwotdGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yL3RyYXAtaXMt
bWlzc2luZy10YXJnZXQtaXMtcHJveHkuanM6Ci0gIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdvcmlnaW5hbERlc2MuZW51bWVyYWJs
ZScpIgotICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ29yaWdpbmFsRGVzYy5lbnVtZXJhYmxlJykiCi10ZXN0L2J1aWx0LWlu
cy9Qcm94eS9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IvdHJhcC1pcy1udWxsLXRhcmdldC1pcy1w
cm94eS5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ29yaWdpbmFsRGVzYy52YWx1ZScpIgotICBzdHJpY3QgbW9kZTogIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ29yaWdpbmFs
RGVzYy52YWx1ZScpIgotdGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yL3RyYXAtaXMtdW5kZWZpbmVkLXRhcmdldC1pcy1wcm94eS5qczoKLSAgZGVmYXVsdDogIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ29yaWdpbmFs
RGVzYy52YWx1ZScpIgotICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ29yaWdpbmFsRGVzYy52YWx1ZScpIgogdGVzdC9idWls
dC1pbnMvUHJveHkvb3duS2V5cy90cmFwLWlzLXVuZGVmaW5lZC10YXJnZXQtaXMtcHJveHkuanM6
CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtsZW5ndGgsIGZvbywgMCwgU3lt
Ym9sKCldIGFuZCBbU3ltYm9sKCksIGxlbmd0aCwgZm9vLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNv
bnRlbnRzLiAnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbbGVuZ3Ro
LCBmb28sIDAsIFN5bWJvbCgpXSBhbmQgW1N5bWJvbCgpLCBsZW5ndGgsIGZvbywgMF0gdG8gaGF2
ZSB0aGUgc2FtZSBjb250ZW50cy4gJwpAQCAtMTI1MiwxNSArMTI0MCw2IEBAIHRlc3QvYnVpbHQt
aW5zL1Byb3h5L3NldC90cmFwLWlzLW1pc3NpbmcKIHRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC90
cmFwLWlzLW1pc3NpbmctcmVjZWl2ZXItbXVsdGlwbGUtY2FsbHMuanM6CiAgIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtmb29dIGFuZCBbZm9vLCBmb28sIGZvb10gdG8gaGF2ZSB0
aGUgc2FtZSBjb250ZW50cy4gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiBrZXkgcHJlc2VudCBv
biBbW1Byb3h5VGFyZ2V0XV0nCiAgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBBdHRlbXB0ZWQg
dG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3BlcnR5LicKLXRlc3QvYnVpbHQtaW5zL1Byb3h5L3Nl
dC90cmFwLWlzLW1pc3NpbmctdGFyZ2V0LWlzLXByb3h5LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqswwrssIMKrMcK7KSB0byBiZSB0cnVlJwotICBz
dHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxl
IGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4nCi10ZXN0L2J1aWx0LWlucy9Q
cm94eS9zZXQvdHJhcC1pcy1udWxsLXRhcmdldC1pcy1wcm94eS5qczoKLSAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgWzEsIDIsIDNdIGFuZCBbXSB0byBoYXZlIHRoZSBzYW1lIGNv
bnRlbnRzLiAnCi0gIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5n
ZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LicKLXRl
c3QvYnVpbHQtaW5zL1Byb3h5L3NldC90cmFwLWlzLXVuZGVmaW5lZC10YXJnZXQtaXMtcHJveHku
anM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxz
ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBm
YWxzZScKIHRlc3QvYnVpbHQtaW5zL1JlZmxlY3Qvb3duS2V5cy9vcmRlci1hZnRlci1kZWZpbmUt
cHJvcGVydHkuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtTeW1ib2wo
YiksIFN5bWJvbChhKV0gYW5kIFtTeW1ib2woYSksIFN5bWJvbChiKV0gdG8gaGF2ZSB0aGUgc2Ft
ZSBjb250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW1N5
bWJvbChiKSwgU3ltYm9sKGEpXSBhbmQgW1N5bWJvbChhKSwgU3ltYm9sKGIpXSB0byBoYXZlIHRo
ZSBzYW1lIGNvbnRlbnRzLiAnCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI1OTUzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNC0wNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWth
bGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgW0pTQ10gRml4IERlYnVnZ2VyU2NvcGUgYW5kL29y
IFByb3h5T2JqZWN0IHRvIHJlbW92ZSBhIGhhY2sgaW4gSlNPYmplY3Q6OmdldE93blByb3BlcnR5
RGVzY3JpcHRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAwNTYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBjaGFuZ2UgcmVtb3ZlcyBhIGhhY2sgZnJvbSBKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yLAorICAgICAgICBhbGxvd2luZyBhIFByb3h5IG9iamVjdCB3L28gYm90aCAi
c2V0IiBhbmQgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIKKyAgICAgICAgdHJhcHMgYW5kIHdp
dGggYW5vdGhlciBQcm94eSBhcyBpdHMgW1tQcm94eVRhcmdldF1dIHdvcmsgY29ycmVjdGx5Lgor
CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorCiAyMDIwLTA0LTA0ICBBbGV4ZXkgU2h2YXlr
YSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICAnXHUnIHNob3VsZCB0aHJvdyBh
biBlYXJseSBTeW50YXhFcnJvciBleGNlcHRpb24sIGJ1dCBpbnN0ZWFkIGV2YWx1YXRlcyB0byAn
dScKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJl
dmlzaW9uIDI1OTUzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQ5MSwyNCArMzQ5MSw2IEBAIGJvb2wgSlNPYmplY3Q6
OmdldE93blByb3BlcnR5RGVzY3JpcHRvcigKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0KLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDU2MAotICAgIC8vIFRoaXMgYnJlYWtzIHRoZSBhc3N1bXB0aW9uIHRo
YXQgZ2V0T3duUHJvcGVydHlTbG90IHNob3VsZCByZXR1cm4gIm93biIgcHJvcGVydHkuCi0gICAg
Ly8gV2Ugc2hvdWxkIGZpeCBEZWJ1Z2dlclNjb3BlLCBQcm94eU9iamVjdCBldGMuIHRvIHJlbW92
ZSB0aGlzLgotICAgIC8vCi0gICAgLy8gRGVidWdnZXJTY29wZTo6Z2V0T3duUHJvcGVydHlTbG90
KCkgKGFuZCBwb3NzaWJseSBvdGhlcnMpIG1heSByZXR1cm4gYXR0cmlidXRlcyBmcm9tIHRoZSBw
cm90b3R5cGUgY2hhaW4KLSAgICAvLyBidXQgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCkgc2hv
dWxkIG9ubHkgd29yayBmb3IgJ293bicgcHJvcGVydGllcyBzbyB3ZSBleGl0IGVhcmx5IGlmIHdl
IGRldGVjdCB0aGF0Ci0gICAgLy8gdGhlIHByb3BlcnR5IGlzIG5vdCBhbiBvd24gcHJvcGVydHku
Ci0gICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSB0aGlzICYmIHNsb3Quc2xvdEJhc2UoKSkgewot
ICAgICAgICBKU1Byb3h5KiBqc1Byb3h5ID0ganNEeW5hbWljQ2FzdDxKU1Byb3h5Kj4odm0sIHRo
aXMpOwotICAgICAgICBpZiAoIWpzUHJveHkgfHwganNQcm94eS0+dGFyZ2V0KCkgIT0gc2xvdC5z
bG90QmFzZSgpKSB7Ci0gICAgICAgICAgICAvLyBUcnkgUHJveHlPYmplY3QuCi0gICAgICAgICAg
ICBQcm94eU9iamVjdCogcHJveHlPYmplY3QgPSBqc0R5bmFtaWNDYXN0PFByb3h5T2JqZWN0Kj4o
dm0sIHRoaXMpOwotICAgICAgICAgICAgaWYgKCFwcm94eU9iamVjdCB8fCBwcm94eU9iamVjdC0+
dGFyZ2V0KCkgIT0gc2xvdC5zbG90QmFzZSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgfQotICAgIH0KLQogICAgIGlmIChzbG90LmlzQWNjZXNzb3IoKSkKICAgICAg
ICAgZGVzY3JpcHRvci5zZXRBY2Nlc3NvckRlc2NyaXB0b3Ioc2xvdC5nZXR0ZXJTZXR0ZXIoKSwg
c2xvdC5hdHRyaWJ1dGVzKCkpOwogICAgIGVsc2UgaWYgKHNsb3QuYXR0cmlidXRlcygpICYgUHJv
cGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395885</attachid>
            <date>2020-04-08 16:32:31 -0700</date>
            <delta_ts>2020-04-09 08:13:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200560-20200409023229.patch</filename>
            <type>text/plain</type>
            <size>13826</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTk3NjMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTA4ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoKSBpcyBpbmNv
cnJlY3Qgd2l0aCBQcm94eSBvZiBleG90aWMgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA1NjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6IE1h
cmsgMTQgdGVzdCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDIwLTA0LTA4ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gTXVsdGlEZWxldGVCeU9mZnNl
dCBzaG91bGQgdGVsbCBjb3JyZWN0IHJlc3VsdCBBYnN0cmFjdFZhbHVlIGluIEFJCkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCShyZXZpc2lvbiAyNTk2ODIpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvZXhwZWN0YXRpb25zLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTY3Miw5ICs2NzIsNiBA
QCB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxCiB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL2NsYW1wcy1sZW5ndGgtdG8taW50ZWdlci1saW1pdC5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogTGVuZ3RoIGlzIDIqKjUzIC0gMSBFeHBlY3Rl
ZCBTYW1lVmFsdWUowqs0Mjk0OTY3Mjk1wrssIMKrOTAwNzE5OTI1NDc0MDk5McK7KSB0byBiZSB0
cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogTGVuZ3RoIGlzIDIqKjUzIC0gMSBF
eHBlY3RlZCBTYW1lVmFsdWUowqs0Mjk0OTY3Mjk1wrssIMKrOTAwNzE5OTI1NDc0MDk5McK7KSB0
byBiZSB0cnVlJwotdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NwbGljZS9jcmVhdGUt
cHJveHkuanM6Ci0gIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8g
cmVhZG9ubHkgcHJvcGVydHkuJwotICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogQXR0ZW1wdGVk
IHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4nCiB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvc3BsaWNlL2NyZWF0ZS1zcGVjaWVzLWxlbmd0aC1leGNlZWRpbmctaW50ZWdlci1s
aW1pdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogbGVuZ3RoIGFuZCBkZWxldGVDb3Vu
dCB3ZXJlIGNvcnJlY3RseSBjbGFtcGVkIHRvIDJeNTMtMSBFeHBlY3RlZCBTYW1lVmFsdWUowqs0
Mjk0OTY3Mjk1wrssIMKrOTAwNzE5OTI1NDc0MDk5McK7KSB0byBiZSB0cnVlJwogICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogbGVuZ3RoIGFuZCBkZWxldGVDb3VudCB3ZXJlIGNvcnJlY3Rs
eSBjbGFtcGVkIHRvIDJeNTMtMSBFeHBlY3RlZCBTYW1lVmFsdWUowqs0Mjk0OTY3Mjk1wrssIMKr
OTAwNzE5OTI1NDc0MDk5McK7KSB0byBiZSB0cnVlJwpAQCAtMTI1NSwxNSArMTI1Miw2IEBAIHRl
c3QvYnVpbHQtaW5zL1Byb3h5L2NyZWF0ZS10YXJnZXQtaXMtcmUKIHRlc3QvYnVpbHQtaW5zL1By
b3h5L2RlZmluZVByb3BlcnR5L3RyYXAtaXMtdW5kZWZpbmVkLXRhcmdldC1pcy1wcm94eS5qczoK
ICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhy
b3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiAgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4
Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKLXRlc3QvYnVpbHQtaW5zL1Byb3h5L2dldE93blBy
b3BlcnR5RGVzY3JpcHRvci90cmFwLWlzLW1pc3NpbmctdGFyZ2V0LWlzLXByb3h5LmpzOgotICBk
ZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnb3JpZ2luYWxEZXNjLmVudW1lcmFibGUnKSIKLSAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdvcmlnaW5hbERlc2MuZW51
bWVyYWJsZScpIgotdGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
L3RyYXAtaXMtbnVsbC10YXJnZXQtaXMtcHJveHkuanM6Ci0gIGRlZmF1bHQ6ICJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdvcmlnaW5hbERlc2MudmFs
dWUnKSIKLSAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdvcmlnaW5hbERlc2MudmFsdWUnKSIKLXRlc3QvYnVpbHQtaW5zL1By
b3h5L2dldE93blByb3BlcnR5RGVzY3JpcHRvci90cmFwLWlzLXVuZGVmaW5lZC10YXJnZXQtaXMt
cHJveHkuanM6Ci0gIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdvcmlnaW5hbERlc2MudmFsdWUnKSIKLSAgc3RyaWN0IG1vZGU6ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdvcmlnaW5h
bERlc2MudmFsdWUnKSIKIHRlc3QvYnVpbHQtaW5zL1Byb3h5L293bktleXMvdHJhcC1pcy11bmRl
ZmluZWQtdGFyZ2V0LWlzLXByb3h5LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBbbGVuZ3RoLCBmb28sIDAsIFN5bWJvbCgpXSBhbmQgW1N5bWJvbCgpLCBsZW5ndGgsIGZv
bywgMF0gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgW2xlbmd0aCwgZm9vLCAwLCBTeW1ib2woKV0gYW5kIFtTeW1ib2wo
KSwgbGVuZ3RoLCBmb28sIDBdIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcKQEAgLTEyNzMs
MTUgKzEyNjEsNiBAQCB0ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy1taXNzaW5nCiB0
ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy1taXNzaW5nLXJlY2VpdmVyLW11bHRpcGxl
LWNhbGxzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbZm9vXSBhbmQg
W2ZvbywgZm9vLCBmb29dIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuIGdldE93blByb3BlcnR5
RGVzY3JpcHRvcjoga2V5IHByZXNlbnQgb24gW1tQcm94eVRhcmdldF1dJwogICBzdHJpY3QgbW9k
ZTogJ1R5cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4n
Ci10ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy1taXNzaW5nLXRhcmdldC1pcy1wcm94
eS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrMMK7
LCDCqzHCuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IEF0dGVtcHRp
bmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJv
cGVydHkuJwotdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3RyYXAtaXMtbnVsbC10YXJnZXQtaXMt
cHJveHkuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFsxLCAyLCAzXSBh
bmQgW10gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwotICBzdHJpY3QgbW9kZTogJ1R5cGVF
cnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNv
bmZpZ3VyYWJsZSBwcm9wZXJ0eS4nCi10ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy11
bmRlZmluZWQtdGFyZ2V0LWlzLXByb3h5LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCiB0ZXN0L2J1aWx0LWlucy9SZWZsZWN0L293
bktleXMvb3JkZXItYWZ0ZXItZGVmaW5lLXByb3BlcnR5LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBbU3ltYm9sKGIpLCBTeW1ib2woYSldIGFuZCBbU3ltYm9sKGEpLCBT
eW1ib2woYildIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcKICAgc3RyaWN0IG1vZGU6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtTeW1ib2woYiksIFN5bWJvbChhKV0gYW5kIFtTeW1ib2wo
YSksIFN5bWJvbChiKV0gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTk2ODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjAtMDQtMDgg
IEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIGdldE93
blByb3BlcnR5RGVzY3JpcHRvcigpIGlzIGluY29ycmVjdCB3aXRoIFByb3h5IG9mIGV4b3RpYyBv
YmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MDU2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBy
b3BlcnR5QXR0cmlidXRlOjpDdXN0b21WYWx1ZSBwYXRoIGluIEpTT2JqZWN0OjpnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoKSBuZWVkcyB0byBwZXJmb3JtCisgICAgICAgIGdldERpcmVjdCgpIG9u
IGNvcnJlY3QgdGFyZ2V0LiBBIGNvcnJlY3QgdGFyZ2V0IG1heSBiZSBkaWZmZXJlbnQgc2luY2Ug
Z2V0T3duUHJvcGVydHlTbG90KCkKKyAgICAgICAgbWF5IHJldHVybiBub3QgKm93biogcHJvcGVy
dHkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVtb3ZlcyBhIGhhY2sgdGhhdCB3YXMgY292ZXJp
bmcgb25seSBKU1Byb3h5IGNhc2UgYW5kIGludm9rZXMgZ2V0RGlyZWN0KCkgb24KKyAgICAgICAg
c2xvdEJhc2UoKSwgZW5zdXJpbmcgUHJveHlPYmplY3QgaW5zdGFuY2VzIHdpdGggZXhvdGljIHRh
cmdldHMgcmV0dXJuIGNvcnJlY3QgZGVzY3JpcHRvcnMKKyAgICAgICAgYW5kIGFsaWduaW5nIEpT
QyB3aXRoIFY4IGFuZCBTcGlkZXJNb25rZXkuCisKKyAgICAgICAgZ2V0RGlyZWN0KCkgY2FuIGJl
IHNhZmVseSBjYWxsZWQgb24gc2xvdEJhc2UoKTogaWYgZ2V0T3duUHJvcGVydHlTbG90KCkgcmVz
dWx0IGlzIHJldHVybmVkCisgICAgICAgIGZyb20gSlMgY29kZSBvZiBQcm94eU9iamVjdCdzIHRy
YXAsIGl0IHdpbGwgbmV2ZXIgYmUgYSBQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tVmFsdWUuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIG1vdmVzIHNldEN1c3RvbURlc2NyaXB0b3IoKSBkb3du
IGJlbG93IHRvIGF2b2lkIG11dGF0aW5nIGEgZGVzY3JpcHRvciB3aGVuCisgICAgICAgIHJldHVy
bmluZyBgZmFsc2VgLgorCisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorCiAyMDIwLTA0LTA3
ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERlbGV0ZSBJQ3Mg
Y2FuJ3QgY2FjaGUgZGljdGlvbmFyaWVzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyNTk2ODIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0NzksNDQgKzM0
NzksMjMgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKAogewogICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgSlNDOjpQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzLCBQcm9wZXJ0
eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6R2V0T3duUHJvcGVydHkpOworICAgIFByb3BlcnR5
U2xvdCBzbG90KHRoaXMsIFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpHZXRPd25Q
cm9wZXJ0eSk7CiAKICAgICBib29sIHJlc3VsdCA9IG1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJv
cGVydHlTbG90KHRoaXMsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCBzbG90KTsKICAgICBF
WENFUFRJT05fQVNTRVJUKCFzY29wZS5leGNlcHRpb24oKSB8fCAhcmVzdWx0KTsKICAgICBpZiAo
IXJlc3VsdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0KLSAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU2MAotICAgIC8vIFRoaXMgYnJl
YWtzIHRoZSBhc3N1bXB0aW9uIHRoYXQgZ2V0T3duUHJvcGVydHlTbG90IHNob3VsZCByZXR1cm4g
Im93biIgcHJvcGVydHkuCi0gICAgLy8gV2Ugc2hvdWxkIGZpeCBEZWJ1Z2dlclNjb3BlLCBQcm94
eU9iamVjdCBldGMuIHRvIHJlbW92ZSB0aGlzLgotICAgIC8vCi0gICAgLy8gRGVidWdnZXJTY29w
ZTo6Z2V0T3duUHJvcGVydHlTbG90KCkgKGFuZCBwb3NzaWJseSBvdGhlcnMpIG1heSByZXR1cm4g
YXR0cmlidXRlcyBmcm9tIHRoZSBwcm90b3R5cGUgY2hhaW4KLSAgICAvLyBidXQgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKCkgc2hvdWxkIG9ubHkgd29yayBmb3IgJ293bicgcHJvcGVydGllcyBz
byB3ZSBleGl0IGVhcmx5IGlmIHdlIGRldGVjdCB0aGF0Ci0gICAgLy8gdGhlIHByb3BlcnR5IGlz
IG5vdCBhbiBvd24gcHJvcGVydHkuCi0gICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSB0aGlzICYm
IHNsb3Quc2xvdEJhc2UoKSkgewotICAgICAgICBKU1Byb3h5KiBqc1Byb3h5ID0ganNEeW5hbWlj
Q2FzdDxKU1Byb3h5Kj4odm0sIHRoaXMpOwotICAgICAgICBpZiAoIWpzUHJveHkgfHwganNQcm94
eS0+dGFyZ2V0KCkgIT0gc2xvdC5zbG90QmFzZSgpKSB7Ci0gICAgICAgICAgICAvLyBUcnkgUHJv
eHlPYmplY3QuCi0gICAgICAgICAgICBQcm94eU9iamVjdCogcHJveHlPYmplY3QgPSBqc0R5bmFt
aWNDYXN0PFByb3h5T2JqZWN0Kj4odm0sIHRoaXMpOwotICAgICAgICAgICAgaWYgKCFwcm94eU9i
amVjdCB8fCBwcm94eU9iamVjdC0+dGFyZ2V0KCkgIT0gc2xvdC5zbG90QmFzZSgpKQotICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLQogICAgIGlmIChzbG90
LmlzQWNjZXNzb3IoKSkKICAgICAgICAgZGVzY3JpcHRvci5zZXRBY2Nlc3NvckRlc2NyaXB0b3Io
c2xvdC5nZXR0ZXJTZXR0ZXIoKSwgc2xvdC5hdHRyaWJ1dGVzKCkpOwogICAgIGVsc2UgaWYgKHNs
b3QuYXR0cmlidXRlcygpICYgUHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKSB7Ci0g
ICAgICAgIGRlc2NyaXB0b3Iuc2V0Q3VzdG9tRGVzY3JpcHRvcihzbG90LmF0dHJpYnV0ZXMoKSk7
Ci0KLSAgICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlzOwotICAgICAgICBpZiAoYXV0
byogcHJveHkgPSBqc0R5bmFtaWNDYXN0PEpTUHJveHkqPih2bSwgdGhpcykpCi0gICAgICAgICAg
ICB0aGlzT2JqZWN0ID0gcHJveHktPnRhcmdldCgpOwotCiAgICAgICAgIEN1c3RvbUdldHRlclNl
dHRlciogZ2V0dGVyU2V0dGVyOwogICAgICAgICBpZiAoc2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkp
CiAgICAgICAgICAgICBnZXR0ZXJTZXR0ZXIgPSBzbG90LmN1c3RvbUdldHRlclNldHRlcigpOwog
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVChzbG90LnNsb3RCYXNlKCkpOworICAg
ICAgICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBzbG90LnNsb3RCYXNlKCk7CisKICAgICAg
ICAgICAgIEpTVmFsdWUgbWF5YmVHZXR0ZXJTZXR0ZXIgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3Qo
dm0sIHByb3BlcnR5TmFtZSk7CiAgICAgICAgICAgICBpZiAoIW1heWJlR2V0dGVyU2V0dGVyKSB7
CiAgICAgICAgICAgICAgICAgdGhpc09iamVjdC0+cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKGds
b2JhbE9iamVjdCk7CkBAIC0zNTMwLDYgKzM1MDksNyBAQCBib29sIEpTT2JqZWN0OjpnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoCiAgICAgICAgIGlmICghZ2V0dGVyU2V0dGVyKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGRlc2NyaXB0b3Iuc2V0Q3VzdG9tRGVzY3JpcHRv
cihzbG90LmF0dHJpYnV0ZXMoKSk7CiAgICAgICAgIGlmIChnZXR0ZXJTZXR0ZXItPmdldHRlcigp
KQogICAgICAgICAgICAgZGVzY3JpcHRvci5zZXRHZXR0ZXIoZ2V0Q3VzdG9tR2V0dGVyU2V0dGVy
RnVuY3Rpb25Gb3JHZXR0ZXJTZXR0ZXIoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGdldHRl
clNldHRlciwgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbjo6VHlwZTo6R2V0dGVyKSk7CiAg
ICAgICAgIGlmIChnZXR0ZXJTZXR0ZXItPnNldHRlcigpKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU5
NjgyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMjAtMDQtMDggIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29t
PgorCisgICAgICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvcigpIGlzIGluY29ycmVjdCB3aXRo
IFByb3h5IG9mIGV4b3RpYyBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMDU2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICoganMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLWhvc3Qtb2JqZWN0
LXByb3h5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yLWhvc3Qtb2JqZWN0LXByb3h5Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA0LTA3ICBK
YWNvYiBVcGhvZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFsgaU9TIHdr
MiBdIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMuYW55Lmh0bWwg
aXMgZmxha3kgZmFpbGluZy4KSW5kZXg6IExheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVz
Y3JpcHRvci1ob3N0LW9iamVjdC1wcm94eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvanMvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLWhvc3Qtb2JqZWN0LXByb3h5LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9qcy9nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3ItaG9zdC1vYmplY3QtcHJveHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIFdpbmRvdyB0YXJnZXQsIG5vIHRyYXAsICJuYW1lIiBh
dHRyaWJ1dGUgCitQQVNTIFdpbmRvdyB0YXJnZXQsIGZvcndhcmRpbmcgdHJhcCwgW1VuZm9yZ2Vh
YmxlXSAiZG9jdW1lbnQiIGF0dHJpYnV0ZSAKK1BBU1MgV2luZG93IHByb3h5IHRhcmdldCwgY3Vz
dG9tIHRyYXAsICJvbmNsaWNrIiBldmVudCBoYW5kbGVyIGF0dHJpYnV0ZSAKK1BBU1MgRG9jdW1l
bnQgdGFyZ2V0LCBmb3J3YXJkaW5nIHRyYXAsIFtVbmZvcmdlYWJsZV0gImxvY2F0aW9uIiBhdHRy
aWJ1dGUgCitQQVNTIERvY3VtZW50IHByb3h5IHRhcmdldCwgY3VzdG9tIHRyYXAsIG5vbi1leGlz
dGVudCB2YWx1ZSBhdHRyaWJ1dGUgCitQQVNTIExvY2F0aW9uIHRhcmdldCwgbm8gdHJhcCwgW1Vu
Zm9yZ2VhYmxlXSAiaGFzaCIgYXR0cmlidXRlIAorUEFTUyBMb2NhdGlvbiBwcm94eSB0YXJnZXQs
IGZvcndhcmRpbmcgdHJhcCwgW1VuZm9yZ2VhYmxlXSAicmVsb2FkIiBtZXRob2QgCisKSW5kZXg6
IExheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci1ob3N0LW9iamVjdC1wcm94
eS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL2dldE93blByb3BlcnR5RGVzY3Jp
cHRvci1ob3N0LW9iamVjdC1wcm94eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2pzL2dldE93blByb3BlcnR5RGVzY3JpcHRvci1ob3N0LW9iamVjdC1wcm94eS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsOTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgPHRpdGxlPmdldE93blByb3BlcnR5RGVzY3JpcHRvcigpIGlzIGNvcnJlY3QgZm9yIFBy
b3h5IHdpdGggaG9zdCBvYmplY3QgdGFyZ2V0PC90aXRsZT4KKyAgPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHdpbmRvd1Byb3h5
ID0gbmV3IFByb3h5KHdpbmRvdywge30pOworICBuYW1lID0gJ29sZF9uYW1lJzsKKyAgbGV0IGRl
c2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvd1Byb3h5LCAn
bmFtZScpOworCisgIGFzc2VydF9lcXVhbHMoZGVzY3JpcHRvci5nZXQuY2FsbCh3aW5kb3cpLCAn
b2xkX25hbWUnKTsKKyAgZGVzY3JpcHRvci5zZXQuY2FsbCh3aW5kb3csICduZXdfbmFtZScpOwor
ICBhc3NlcnRfZXF1YWxzKG5hbWUsICduZXdfbmFtZScpOworICBhc3NlcnRfdHJ1ZShkZXNjcmlw
dG9yLmVudW1lcmFibGUpOworICBhc3NlcnRfdHJ1ZShkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSk7
Cit9LCAnV2luZG93IHRhcmdldCwgbm8gdHJhcCwgIm5hbWUiIGF0dHJpYnV0ZScpOworCit0ZXN0
KCgpID0+IHsKKyAgbGV0IHdpbmRvd1Byb3h5ID0gbmV3IFByb3h5KHdpbmRvdywge30pOworCisg
IGFzc2VydF9vYmplY3RfZXF1YWxzKAorICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93UHJveHksICdkb2N1bWVudCcpLAorICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnZG9jdW1lbnQnKQorICApOworfSwgJ1dpbmRvdyB0YXJnZXQsIGZv
cndhcmRpbmcgdHJhcCwgW1VuZm9yZ2VhYmxlXSAiZG9jdW1lbnQiIGF0dHJpYnV0ZScpOworCit0
ZXN0KCgpID0+IHsKKyAgbGV0IHRyYXBSZXN1bHQgPSB7Z2V0KCkge30sIHNldChfdmFsKSB7fSwg
ZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZX07CisgIGxldCB3aW5kb3dQcm94
eSA9IG5ldyBQcm94eShuZXcgUHJveHkod2luZG93LCB7fSksIHsKKyAgICBnZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3I6ICgpID0+IHRyYXBSZXN1bHQsCisgIH0pOworCisgIGFzc2VydF9vYmplY3Rf
ZXF1YWxzKAorICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93UHJveHks
ICdvbmNsaWNrJyksCisgICAgdHJhcFJlc3VsdAorICApOworfSwgJ1dpbmRvdyBwcm94eSB0YXJn
ZXQsIGN1c3RvbSB0cmFwLCAib25jbGljayIgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGUnKTsKKwor
dGVzdCgoKSA9PiB7CisgIGxldCBkb2N1bWVudFByb3h5ID0gbmV3IFByb3h5KGRvY3VtZW50LCB7
CisgICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiBSZWZsZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvciwKKyAgfSk7CisKKyAgYXNzZXJ0X29iamVjdF9lcXVhbHMoCisgICAgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihkb2N1bWVudFByb3h5LCAnbG9jYXRpb24nKSwKKyAgICBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGRvY3VtZW50LCAnbG9jYXRpb24nKQorICAp
OworfSwgJ0RvY3VtZW50IHRhcmdldCwgZm9yd2FyZGluZyB0cmFwLCBbVW5mb3JnZWFibGVdICJs
b2NhdGlvbiIgYXR0cmlidXRlJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdHJhcFJlc3VsdCA9
IHt2YWx1ZTogNCwgd3JpdGFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFi
bGU6IHRydWV9OworICBsZXQgZG9jdW1lbnRQcm94eSA9IG5ldyBQcm94eShuZXcgUHJveHkoZG9j
dW1lbnQsIHt9KSwgeworICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvcjogKCkgPT4gdHJhcFJl
c3VsdCwKKyAgfSk7CisKKyAgYXNzZXJ0X29iamVjdF9lcXVhbHMoCisgICAgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihkb2N1bWVudFByb3h5LCAnZm9vJyksCisgICAgdHJhcFJlc3Vs
dAorICApOworfSwgJ0RvY3VtZW50IHByb3h5IHRhcmdldCwgY3VzdG9tIHRyYXAsIG5vbi1leGlz
dGVudCB2YWx1ZSBhdHRyaWJ1dGUnKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCBsb2NhdGlvblBy
b3h5ID0gbmV3IFByb3h5KGxvY2F0aW9uLCB7fSk7CisgIGxvY2F0aW9uLmhhc2ggPSAnI29sZCc7
CisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihsb2Nh
dGlvblByb3h5LCAnaGFzaCcpOworCisgIGFzc2VydF9lcXVhbHMoZGVzY3JpcHRvci5nZXQuY2Fs
bChsb2NhdGlvbiksICcjb2xkJyk7CisgIGRlc2NyaXB0b3Iuc2V0LmNhbGwobG9jYXRpb24sICcj
bmV3Jyk7CisgIGFzc2VydF9lcXVhbHMobG9jYXRpb24uaGFzaCwgJyNuZXcnKTsKKyAgYXNzZXJ0
X3RydWUoZGVzY3JpcHRvci5lbnVtZXJhYmxlKTsKKyAgYXNzZXJ0X2ZhbHNlKGRlc2NyaXB0b3Iu
Y29uZmlndXJhYmxlKTsKK30sICdMb2NhdGlvbiB0YXJnZXQsIG5vIHRyYXAsIFtVbmZvcmdlYWJs
ZV0gImhhc2giIGF0dHJpYnV0ZScpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IGxvY2F0aW9uUHJv
eHkgPSBuZXcgUHJveHkobmV3IFByb3h5KGxvY2F0aW9uLCB7fSksIHsKKyAgICBnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3I6IFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLAorICB9KTsK
KworICBhc3NlcnRfb2JqZWN0X2VxdWFscygKKyAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGxvY2F0aW9uUHJveHksICdyZWxvYWQnKSwKKyAgICBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGxvY2F0aW9uLCAncmVsb2FkJykKKyAgKTsKK30sICdMb2NhdGlvbiBwcm94
eSB0YXJnZXQsIGZvcndhcmRpbmcgdHJhcCwgW1VuZm9yZ2VhYmxlXSAicmVsb2FkIiBtZXRob2Qn
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>