<?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>184629</bug_id>
          
          <creation_ts>2018-04-14 12:41:04 -0700</creation_ts>
          <short_desc>constructObjectFromPropertyDescriptor() is incorrect with partial descriptors</short_desc>
          <delta_ts>2020-04-21 12:19:19 -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=155404</see_also>
          <bug_file_loc></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>isol2</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</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>1414648</commentid>
    <comment_count>0</comment_count>
    <who name="">isol2</who>
    <bug_when>2018-04-14 12:41:04 -0700</bug_when>
    <thetext>Hi everyone,

I found a case of inconsistent assertions violated in this test case.

Tag: 606.1.9.4
OS: ubuntu 16.04 x86

Reproduce steps:
- Run this code:
    var def = [];
    var p = new Proxy({foo:1, bar:2}, { defineProperty: function(o, v, desc) { def.push(v); Object.defineProperty(o, v, desc); return true; }});
    p.foo = 2; p.bar = 4;
    p.foo = 2; p.bar = 4;
    p.foo = 2; p.bar = 4;
    print(def + &apos;&apos; === &quot;foo,bar&quot;);

Expected results
false

Actual results
true


JSCore should record all calls to setters &quot;foo&quot; and &quot;bar&quot; (six in total), whose expected effect is to store the string &quot;foo,bar,foo,bar,foo,bar&quot; on variable &quot;def&quot;. Therefore, the test should fail under JSCore as it fails in other engines (V8, SpiderMonkey and Chakra) --return value should be true as per test assertion. However, JSCore only stores the first two calls to the setters and the test (incorrectly) passes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448752</commentid>
    <comment_count>1</comment_count>
    <who name="">isol2</who>
    <bug_when>2018-08-08 08:36:25 -0700</bug_when>
    <thetext>cinfuzz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641791</commentid>
    <comment_count>2</comment_count>
      <attachid>396533</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-15 07:55:52 -0700</bug_when>
    <thetext>Created attachment 396533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641907</commentid>
    <comment_count>3</comment_count>
      <attachid>396533</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-15 12:09:29 -0700</bug_when>
    <thetext>Comment on attachment 396533
Patch

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

&gt; Source/JavaScriptCore/runtime/ObjectConstructor.h:98
&gt; +    JSObject* result = constructEmptyObject(globalObject);

Huh, did this used to be able to throw? Most callsites don&apos;t use a ThrowScope but there&apos;s still a good handful of them that do...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641923</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-15 12:52:26 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #3)
&gt; &gt; Source/JavaScriptCore/runtime/ObjectConstructor.h:98
&gt; &gt; +    JSObject* result = constructEmptyObject(globalObject);
&gt; 
&gt; Huh, did this used to be able to throw?

I did some ChangeLog digging, seems like it never threw, even `JSObject* prototype` overload. Just a precaution I suppose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641924</commentid>
    <comment_count>5</comment_count>
      <attachid>396533</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-15 12:55:19 -0700</bug_when>
    <thetext>Comment on attachment 396533
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/ObjectConstructor.h:98
&gt;&gt; +    JSObject* result = constructEmptyObject(globalObject);
&gt; 
&gt; Huh, did this used to be able to throw? Most callsites don&apos;t use a ThrowScope but there&apos;s still a good handful of them that do...

This should not throw. You can add `scope.assertNoException();`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641941</commentid>
    <comment_count>6</comment_count>
      <attachid>396566</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-15 13:27:04 -0700</bug_when>
    <thetext>Created attachment 396566
Patch

Bring back ThrowScope with an assert, set reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643789</commentid>
    <comment_count>7</comment_count>
      <attachid>397059</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-20 23:57:07 -0700</bug_when>
    <thetext>Created attachment 397059
Patch

Rebase patch and fix typo in ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643799</commentid>
    <comment_count>8</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-21 00:50:21 -0700</bug_when>
    <thetext>I wonder if it&apos;s overkill to scope.assertNoException() both inside the function as well as outside?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643800</commentid>
    <comment_count>9</comment_count>
      <attachid>397061</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-21 01:01:27 -0700</bug_when>
    <thetext>Created attachment 397061
Patch

Remove inner scope.assertNoException().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643801</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-21 01:05:17 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #8)
&gt; I wonder if it&apos;s overkill to scope.assertNoException() both inside the
&gt; function as well as outside?

scope.assertNoException() are more useful outside, and I really like the absence of ThrowScope in constructObjectFromPropertyDescriptor().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643957</commentid>
    <comment_count>11</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-21 12:09:07 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #10)
&gt; (In reply to Ross Kirsling from comment #8)
&gt; &gt; I wonder if it&apos;s overkill to scope.assertNoException() both inside the
&gt; &gt; function as well as outside?
&gt; 
&gt; scope.assertNoException() are more useful outside, and I really like the
&gt; absence of ThrowScope in constructObjectFromPropertyDescriptor().

Agreed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643962</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-21 12:18:41 -0700</bug_when>
    <thetext>Committed r260447: &lt;https://trac.webkit.org/changeset/260447&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397061.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643963</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-21 12:19:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/62124337&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396533</attachid>
            <date>2020-04-15 07:55:52 -0700</date>
            <delta_ts>2020-04-15 13:26:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184629-20200415175550.patch</filename>
            <type>text/plain</type>
            <size>8064</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjAxMjQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlw
dG9yKCkgaXMgaW5jb3JyZWN0IHdpdGggcGFydGlhbCBkZXNjcmlwdG9ycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NjI5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0MjYyL2V4cGVjdGF0aW9u
cy55YW1sOiBNYXJrIDQgdGVzdCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDIwLTA0LTE1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbRVNOZXh0XSBJbXBsZW1l
bnQgbG9naWNhbCBhc3NpZ25tZW50IG9wZXJhdG9ycwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL2V4
cGVjdGF0aW9ucy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlv
bnMueWFtbAkocmV2aXNpb24gMjYwMTEyKQorKysgSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9u
cy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUyLDEyICsxMjUyLDYgQEAgdGVzdC9idWlsdC1p
bnMvUHJveHkvY3JlYXRlLXRhcmdldC1pcy1yZQogdGVzdC9idWlsdC1pbnMvUHJveHkvb3duS2V5
cy90cmFwLWlzLXVuZGVmaW5lZC10YXJnZXQtaXMtcHJveHkuanM6CiAgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFtsZW5ndGgsIGZvbywgMCwgU3ltYm9sKCldIGFuZCBbU3ltYm9s
KCksIGxlbmd0aCwgZm9vLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCiAgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbbGVuZ3RoLCBmb28sIDAsIFN5bWJvbCgp
XSBhbmQgW1N5bWJvbCgpLCBsZW5ndGgsIGZvbywgMF0gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50
cy4gJwotdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3RyYXAtaXMtbWlzc2luZy1yZWNlaXZlci1t
dWx0aXBsZS1jYWxscy1pbmRleC5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgWzBdIGFuZCBbMCwgMCwgMF0gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yOiBrZXkgcHJlc2VudCBvbiBbW1Byb3h5VGFyZ2V0XV0nCi0gIHN0cmlj
dCBtb2RlOiAnVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3Bl
cnR5LicKLXRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC90cmFwLWlzLW1pc3NpbmctcmVjZWl2ZXIt
bXVsdGlwbGUtY2FsbHMuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtm
b29dIGFuZCBbZm9vLCBmb28sIGZvb10gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yOiBrZXkgcHJlc2VudCBvbiBbW1Byb3h5VGFyZ2V0XV0nCi0gIHN0
cmljdCBtb2RlOiAnVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHBy
b3BlcnR5LicKIHRlc3QvYnVpbHQtaW5zL1JlZmxlY3Qvb3duS2V5cy9vcmRlci1hZnRlci1kZWZp
bmUtcHJvcGVydHkuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtTeW1i
b2woYiksIFN5bWJvbChhKV0gYW5kIFtTeW1ib2woYSksIFN5bWJvbChiKV0gdG8gaGF2ZSB0aGUg
c2FtZSBjb250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
W1N5bWJvbChiKSwgU3ltYm9sKGEpXSBhbmQgW1N5bWJvbChhKSwgU3ltYm9sKGIpXSB0byBoYXZl
IHRoZSBzYW1lIGNvbnRlbnRzLiAnCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI2MDExMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAyMC0wNC0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZh
aWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgY29uc3RydWN0T2JqZWN0RnJvbVByb3BlcnR5
RGVzY3JpcHRvcigpIGlzIGluY29ycmVjdCB3aXRoIHBhcnRpYWwgZGVzY3JpcHRvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDYyOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlZm9yZSB0aGlzIGNo
YW5nZSwgY29uc3RydWN0T2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcigpIHNlcmlhbGl6ZWQg
YSB2YWx1ZS1vbmx5IGRlc2NyaXB0b3IKKyAgICAgICAgd2l0aCBudWxsaXNoIG1fc2VlbkF0dHJp
YnV0ZXMgdG8ge3ZhbHVlLCB3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlLCBjb25m
aWd1cmFibGU6IGZhbHNlfQorICAgICAgICBpbnN0ZWFkIG9mIGp1c3Qge3ZhbHVlfS4gVGhpcyB3
YXMgb2JzZXJ2YWJsZSB3aGVuIG9yZGluYXJ5U2V0U2xvdygpIHdhcyBjYWxsZWQgb24gYSBQcm94
eQorICAgICAgICBgcmVjZWl2ZXJgIHdpdGggImRlZmluZVByb3BlcnR5IiB0cmFwLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggbWFrZXMgY29uc3RydWN0T2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRv
cigpIDE6MSB3aXRoIHRoZSBzcGVjIFsyXSwgYWxpZ25pbmcgSlNDCisgICAgICAgIHdpdGggVjgg
YW5kIFNwaWRlck1vbmtleSwgYW5kIGFsc28gcmVtb3ZlcyBUaHJvd1Njb3BlIGZyb20gaXQuCisK
KyAgICAgICAgWzFdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLW9yZGluYXJ5c2V0d2l0
aG93bmRlc2NyaXB0b3IgKHN0ZXAgMy5kLml2KQorICAgICAgICBbMl06IGh0dHBzOi8vdGMzOS5l
cy9lY21hMjYyLyNzZWMtZnJvbXByb3BlcnR5ZGVzY3JpcHRvcgorCisgICAgICAgICogcnVudGlt
ZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVjdG9y
R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6b2JqZWN0Q29uc3RydWN0
b3JHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKToKKyAgICAgICAgKiBydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURl
c2NyaXB0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvUHJveHlPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpQcm94eU9iamVjdDo6cGVyZm9ybURlZmluZU93blByb3BlcnR5KToKKwogMjAyMC0wNC0x
MyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgUkVH
UkVTU0lPTiAocjI1OTU4Nyk6IGJ0ZXJsc29uL2VzaG9zdCB0aHJvd3MgZHVyaW5nIGluaXQgaW4g
c3RyaWN0IG1vZGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI2MDExMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTkyLDkgKzE5Miw4IEBAIEpTVmFsdWUgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0
eUQKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCiAgICAgSlNPYmplY3Qq
IHJlc3VsdCA9IGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2Jq
ZWN0LCBkZXNjcmlwdG9yKTsKLSAgICBFWENFUFRJT05fQVNTRVJUKCEhc2NvcGUuZXhjZXB0aW9u
KCkgPT0gIXJlc3VsdCk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7CisgICAgQVNTRVJUKHJlc3Vs
dCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMjE4LDkgKzIxNyw4IEBAIEpTVmFsdWUg
b2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eUQKICAgICAgICAgICAgIGNvbnRpbnVlOwog
CiAgICAgICAgIEpTT2JqZWN0KiBmcm9tRGVzY3JpcHRvciA9IGNvbnN0cnVjdE9iamVjdEZyb21Q
cm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LCBkZXNjcmlwdG9yKTsKLSAgICAgICAgRVhD
RVBUSU9OX0FTU0VSVCghIXNjb3BlLmV4Y2VwdGlvbigpID09ICFmcm9tRGVzY3JpcHRvcik7Ci0g
ICAgICAgIGlmICghZnJvbURlc2NyaXB0b3IpCi0gICAgICAgICAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKKyAgICAgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKKyAgICAgICAgQVNTRVJU
KGZyb21EZXNjcmlwdG9yKTsKIAogICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChkZXNjcmlw
dG9ycyk7CiAgICAgICAgIGRlc2NyaXB0b3JzLT5wdXRPd25EYXRhUHJvcGVydHlNYXlCZUluZGV4
KGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCBmcm9tRGVzY3JpcHRvciwgc2xvdCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmgJKHJldmlzaW9uIDI2MDExMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09i
amVjdENvbnN0cnVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTkxLDMwICs5MSwyNiBAQCBpbmxp
bmUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdChKU0dsb2JhCiAgICAgcmV0dXJuIGFyZy50b09i
amVjdChnbG9iYWxPYmplY3QpOwogfQogCi0vLyBTZWN0aW9uIDYuMi40LjQgb2YgdGhlIEVTNiBz
cGVjaWZpY2F0aW9uLgotLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZnJv
bXByb3BlcnR5ZGVzY3JpcHRvcgorLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1mcm9t
cHJvcGVydHlkZXNjcmlwdG9yCiBpbmxpbmUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdEZyb21Q
cm9wZXJ0eURlc2NyaXB0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUHJv
cGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewogICAgIFZNJiB2bSA9IGdldFZNKGdsb2Jh
bE9iamVjdCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAg
IEpTT2JqZWN0KiBkZXNjcmlwdGlvbiA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVj
dCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0KLSAgICBpZiAo
IWRlc2NyaXB0b3IuaXNBY2Nlc3NvckRlc2NyaXB0b3IoKSkgewotICAgICAgICBkZXNjcmlwdGlv
bi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZSwgZGVzY3JpcHRvci52YWx1
ZSgpID8gZGVzY3JpcHRvci52YWx1ZSgpIDoganNVbmRlZmluZWQoKSwgMCk7Ci0gICAgICAgIGRl
c2NyaXB0aW9uLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPndyaXRhYmxlLCBqc0Jv
b2xlYW4oZGVzY3JpcHRvci53cml0YWJsZSgpKSwgMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
QVNTRVJUKGRlc2NyaXB0b3IuZ2V0dGVyKCkgfHwgZGVzY3JpcHRvci5zZXR0ZXIoKSk7Ci0gICAg
ICAgIGlmIChkZXNjcmlwdG9yLmdldHRlcigpKQotICAgICAgICAgICAgZGVzY3JpcHRpb24tPnB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Z2V0LCBkZXNjcmlwdG9yLmdldHRlcigpLCAw
KTsKLSAgICAgICAgaWYgKGRlc2NyaXB0b3Iuc2V0dGVyKCkpCi0gICAgICAgICAgICBkZXNjcmlw
dGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZXQsIGRlc2NyaXB0b3Iuc2V0
dGVyKCksIDApOwotICAgIH0KLSAgICAKLSAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5lbnVtZXJhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRvci5lbnVtZXJh
YmxlKCkpLCAwKTsKLSAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5jb25maWd1cmFibGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSgpKSwg
MCk7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9i
amVjdCk7CiAKLSAgICByZXR1cm4gZGVzY3JpcHRpb247CisgICAgaWYgKGRlc2NyaXB0b3IudmFs
dWUoKSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnZh
bHVlLCBkZXNjcmlwdG9yLnZhbHVlKCkpOworICAgIGlmIChkZXNjcmlwdG9yLndyaXRhYmxlUHJl
c2VudCgpKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
d3JpdGFibGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLndyaXRhYmxlKCkpKTsKKyAgICBpZiAoZGVz
Y3JpcHRvci5nZXR0ZXJQcmVzZW50KCkpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5nZXQsIGRlc2NyaXB0b3IuZ2V0dGVyKCkpOworICAgIGlmIChkZXNj
cmlwdG9yLnNldHRlclByZXNlbnQoKSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnNldCwgZGVzY3JpcHRvci5zZXR0ZXIoKSk7CisgICAgaWYgKGRlc2Ny
aXB0b3IuZW51bWVyYWJsZVByZXNlbnQoKSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPmVudW1lcmFibGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLmVudW1l
cmFibGUoKSkpOworICAgIGlmIChkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZVByZXNlbnQoKSkKKyAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbmZpZ3VyYWJs
ZSwganNCb29sZWFuKGRlc2NyaXB0b3IuY29uZmlndXJhYmxlKCkpKTsKKworICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3h5T2JqZWN0LmNwcAkocmV2aXNpb24gMjYwMTEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NTIsNyArODUyLDgg
QEAgYm9vbCBQcm94eU9iamVjdDo6cGVyZm9ybURlZmluZU93blByb3BlcgogICAgICAgICByZXR1
cm4gcGVyZm9ybURlZmF1bHREZWZpbmVPd25Qcm9wZXJ0eSgpOwogCiAgICAgSlNPYmplY3QqIGRl
c2NyaXB0b3JPYmplY3QgPSBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKGds
b2JhbE9iamVjdCwgZGVzY3JpcHRvcik7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
ZmFsc2UpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7CisgICAgQVNTRVJUKGRlc2Ny
aXB0b3JPYmplY3QpOwogCiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJndW1lbnRzOwogICAg
IGFyZ3VtZW50cy5hcHBlbmQodGFyZ2V0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396566</attachid>
            <date>2020-04-15 13:27:04 -0700</date>
            <delta_ts>2020-04-20 23:57:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184629-20200415232702.patch</filename>
            <type>text/plain</type>
            <size>8144</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjAxMjkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlw
dG9yKCkgaXMgaW5jb3JyZWN0IHdpdGggcGFydGlhbCBkZXNjcmlwdG9ycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NjI5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgUm9zcyBLaXJzbGluZy4KKworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25z
LnlhbWw6IE1hcmsgNCB0ZXN0IGNhc2VzIGFzIHBhc3NpbmcuCisKIDIwMjAtMDQtMTUgIERldmlu
IFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtFU05leHRdIEltcGxlbWVu
dCBsb2dpY2FsIGFzc2lnbm1lbnQgb3BlcmF0b3JzCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvZXhw
ZWN0YXRpb25zLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9u
cy55YW1sCShyZXZpc2lvbiAyNjAxMjkpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25z
LnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTEyNTIsMTIgKzEyNTIsNiBAQCB0ZXN0L2J1aWx0LWlu
cy9Qcm94eS9jcmVhdGUtdGFyZ2V0LWlzLXJlCiB0ZXN0L2J1aWx0LWlucy9Qcm94eS9vd25LZXlz
L3RyYXAtaXMtdW5kZWZpbmVkLXRhcmdldC1pcy1wcm94eS5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgW2xlbmd0aCwgZm9vLCAwLCBTeW1ib2woKV0gYW5kIFtTeW1ib2wo
KSwgbGVuZ3RoLCBmb28sIDBdIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcKICAgc3RyaWN0
IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtsZW5ndGgsIGZvbywgMCwgU3ltYm9sKCld
IGFuZCBbU3ltYm9sKCksIGxlbmd0aCwgZm9vLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRz
LiAnCi10ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy1taXNzaW5nLXJlY2VpdmVyLW11
bHRpcGxlLWNhbGxzLWluZGV4LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBbMF0gYW5kIFswLCAwLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiBnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3I6IGtleSBwcmVzZW50IG9uIFtbUHJveHlUYXJnZXRdXScKLSAgc3RyaWN0
IG1vZGU6ICdUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVy
dHkuJwotdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3RyYXAtaXMtbWlzc2luZy1yZWNlaXZlci1t
dWx0aXBsZS1jYWxscy5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW2Zv
b10gYW5kIFtmb28sIGZvbywgZm9vXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiBnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3I6IGtleSBwcmVzZW50IG9uIFtbUHJveHlUYXJnZXRdXScKLSAgc3Ry
aWN0IG1vZGU6ICdUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJv
cGVydHkuJwogdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9vd25LZXlzL29yZGVyLWFmdGVyLWRlZmlu
ZS1wcm9wZXJ0eS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW1N5bWJv
bChiKSwgU3ltYm9sKGEpXSBhbmQgW1N5bWJvbChhKSwgU3ltYm9sKGIpXSB0byBoYXZlIHRoZSBz
YW1lIGNvbnRlbnRzLiAnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBb
U3ltYm9sKGIpLCBTeW1ib2woYSldIGFuZCBbU3ltYm9sKGEpLCBTeW1ib2woYildIHRvIGhhdmUg
dGhlIHNhbWUgY29udGVudHMuICcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjYwMTI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA0LTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlE
ZXNjcmlwdG9yKCkgaXMgaW5jb3JyZWN0IHdpdGggcGFydGlhbCBkZXNjcmlwdG9ycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NjI5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUm9zcyBLaXJzbGluZy4KKworICAgICAgICBCZWZvcmUgdGhpcyBjaGFu
Z2UsIGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3IoKSBzZXJpYWxpemVkIGEg
dmFsdWUtb25seSBkZXNjcmlwdG9yCisgICAgICAgIHdpdGggbnVsbGlzaCBtX3NlZW5BdHRyaWJ1
dGVzIHRvIHt2YWx1ZSwgd3JpdGFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmln
dXJhYmxlOiBmYWxzZX0KKyAgICAgICAgaW5zdGVhZCBvZiBqdXN0IHt2YWx1ZX0uIFRoaXMgd2Fz
IG9ic2VydmFibGUgd2hlbiBvcmRpbmFyeVNldFNsb3coKSB3YXMgY2FsbGVkIG9uIGEgUHJveHkK
KyAgICAgICAgYHJlY2VpdmVyYCB3aXRoICJkZWZpbmVQcm9wZXJ0eSIgdHJhcC4KKworICAgICAg
ICBUaGlzIHBhdGNoIG1ha2VzIGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3Io
KSAxOjEgd2l0aCB0aGUgc3BlYyBbMl0sIGFsaWduaW5nIEpTQworICAgICAgICB3aXRoIFY4IGFu
ZCBTcGlkZXJNb25rZXksIGFuZCBhbHNvIGNsZWFucyB1cCBpdHMgY2FsbCBzaXRlcyBmcm9tIGhh
bmRsaW5nIGV4Y2VwdGlvbnMgYW5zCisgICAgICAgIGB1bmRlZmluZWRgIHZhbHVlIHJldHVybnMu
CisKKyAgICAgICAgWzFdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLW9yZGluYXJ5c2V0
d2l0aG93bmRlc2NyaXB0b3IgKHN0ZXAgMy5kLml2KQorICAgICAgICBbMl06IGh0dHBzOi8vdGMz
OS5lcy9lY21hMjYyLyNzZWMtZnJvbXByb3BlcnR5ZGVzY3JpcHRvcgorCisgICAgICAgICogcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVj
dG9yR2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6b2JqZWN0Q29uc3Ry
dWN0b3JHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKToKKyAgICAgICAgKiBydW50aW1lL09iamVj
dENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0
eURlc2NyaXB0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvUHJveHlPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpQcm94eU9iamVjdDo6cGVyZm9ybURlZmluZU93blByb3BlcnR5KToKKwogMjAyMC0w
NC0xNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW0VTTmV4
dF0gSW1wbGVtZW50IGxvZ2ljYWwgYXNzaWdubWVudCBvcGVyYXRvcnMKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAJKHJl
dmlzaW9uIDI2MDEyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDkgKzE5Miw4IEBAIEpTVmFsdWUg
b2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eUQKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOwogCiAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdE9iamVjdEZy
b21Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LCBkZXNjcmlwdG9yKTsKLSAgICBFWENF
UFRJT05fQVNTRVJUKCEhc2NvcGUuZXhjZXB0aW9uKCkgPT0gIXJlc3VsdCk7Ci0gICAgaWYgKCFy
ZXN1bHQpCi0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHNjb3BlLmFzc2VydE5v
RXhjZXB0aW9uKCk7CisgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IApAQCAtMjE4LDkgKzIxNyw4IEBAIEpTVmFsdWUgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9w
ZXJ0eUQKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIEpTT2JqZWN0KiBmcm9tRGVz
Y3JpcHRvciA9IGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2Jq
ZWN0LCBkZXNjcmlwdG9yKTsKLSAgICAgICAgRVhDRVBUSU9OX0FTU0VSVCghIXNjb3BlLmV4Y2Vw
dGlvbigpID09ICFmcm9tRGVzY3JpcHRvcik7Ci0gICAgICAgIGlmICghZnJvbURlc2NyaXB0b3Ip
Ci0gICAgICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICAgICAgc2NvcGUuYXNzZXJ0
Tm9FeGNlcHRpb24oKTsKKyAgICAgICAgQVNTRVJUKGZyb21EZXNjcmlwdG9yKTsKIAogICAgICAg
ICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChkZXNjcmlwdG9ycyk7CiAgICAgICAgIGRlc2NyaXB0b3Jz
LT5wdXRPd25EYXRhUHJvcGVydHlNYXlCZUluZGV4KGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1l
LCBmcm9tRGVzY3JpcHRvciwgc2xvdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgJKHJldmlzaW9uIDI2MDEyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkxLDMwICs5MSwyOCBAQCBpbmxpbmUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVj
dChKU0dsb2JhCiAgICAgcmV0dXJuIGFyZy50b09iamVjdChnbG9iYWxPYmplY3QpOwogfQogCi0v
LyBTZWN0aW9uIDYuMi40LjQgb2YgdGhlIEVTNiBzcGVjaWZpY2F0aW9uLgotLy8gaHR0cHM6Ly90
YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZnJvbXByb3BlcnR5ZGVzY3JpcHRvcgorLy8gaHR0
cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1mcm9tcHJvcGVydHlkZXNjcmlwdG9yCiBpbmxpbmUg
SlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
KQogewogICAgIFZNJiB2bSA9IGdldFZNKGdsb2JhbE9iamVjdCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTT2JqZWN0KiBkZXNjcmlwdGlvbiA9IGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgbnVsbHB0cik7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5
T2JqZWN0KGdsb2JhbE9iamVjdCk7CisgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKIAot
ICAgIGlmICghZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpKSB7Ci0gICAgICAgIGRl
c2NyaXB0aW9uLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnZhbHVlLCBkZXNjcmlw
dG9yLnZhbHVlKCkgPyBkZXNjcmlwdG9yLnZhbHVlKCkgOiBqc1VuZGVmaW5lZCgpLCAwKTsKLSAg
ICAgICAgZGVzY3JpcHRpb24tPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+d3JpdGFi
bGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLndyaXRhYmxlKCkpLCAwKTsKLSAgICB9IGVsc2Ugewot
ICAgICAgICBBU1NFUlQoZGVzY3JpcHRvci5nZXR0ZXIoKSB8fCBkZXNjcmlwdG9yLnNldHRlcigp
KTsKLSAgICAgICAgaWYgKGRlc2NyaXB0b3IuZ2V0dGVyKCkpCi0gICAgICAgICAgICBkZXNjcmlw
dGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5nZXQsIGRlc2NyaXB0b3IuZ2V0
dGVyKCksIDApOwotICAgICAgICBpZiAoZGVzY3JpcHRvci5zZXR0ZXIoKSkKLSAgICAgICAgICAg
IGRlc2NyaXB0aW9uLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNldCwgZGVzY3Jp
cHRvci5zZXR0ZXIoKSwgMCk7Ci0gICAgfQotICAgIAotICAgIGRlc2NyaXB0aW9uLT5wdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmVudW1lcmFibGUsIGpzQm9vbGVhbihkZXNjcmlwdG9y
LmVudW1lcmFibGUoKSksIDApOwotICAgIGRlc2NyaXB0aW9uLT5wdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPmNvbmZpZ3VyYWJsZSwganNCb29sZWFuKGRlc2NyaXB0b3IuY29uZmlndXJh
YmxlKCkpLCAwKTsKKyAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICByZXN1bHQt
PnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dmFsdWUsIGRlc2NyaXB0b3IudmFsdWUo
KSk7CisgICAgaWYgKGRlc2NyaXB0b3Iud3JpdGFibGVQcmVzZW50KCkpCisgICAgICAgIHJlc3Vs
dC0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT53cml0YWJsZSwganNCb29sZWFuKGRl
c2NyaXB0b3Iud3JpdGFibGUoKSkpOworICAgIGlmIChkZXNjcmlwdG9yLmdldHRlclByZXNlbnQo
KSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmdldCwg
ZGVzY3JpcHRvci5nZXR0ZXIoKSk7CisgICAgaWYgKGRlc2NyaXB0b3Iuc2V0dGVyUHJlc2VudCgp
KQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+c2V0LCBk
ZXNjcmlwdG9yLnNldHRlcigpKTsKKyAgICBpZiAoZGVzY3JpcHRvci5lbnVtZXJhYmxlUHJlc2Vu
dCgpKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+ZW51
bWVyYWJsZSwganNCb29sZWFuKGRlc2NyaXB0b3IuZW51bWVyYWJsZSgpKSk7CisgICAgaWYgKGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlUHJlc2VudCgpKQorICAgICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uZmlndXJhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRv
ci5jb25maWd1cmFibGUoKSkpOwogCi0gICAgcmV0dXJuIGRlc2NyaXB0aW9uOworICAgIFJFTEVB
U0VfQU5EX1JFVFVSTihzY29wZSwgcmVzdWx0KTsKIH0KIAogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCShyZXZpc2lvbiAyNjAxMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTg1Miw3ICs4NTIsOCBAQCBib29sIFByb3h5T2JqZWN0OjpwZXJmb3JtRGVmaW5l
T3duUHJvcGVyCiAgICAgICAgIHJldHVybiBwZXJmb3JtRGVmYXVsdERlZmluZU93blByb3BlcnR5
KCk7CiAKICAgICBKU09iamVjdCogZGVzY3JpcHRvck9iamVjdCA9IGNvbnN0cnVjdE9iamVjdEZy
b21Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LCBkZXNjcmlwdG9yKTsKLSAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRp
b24oKTsKKyAgICBBU1NFUlQoZGVzY3JpcHRvck9iamVjdCk7CiAKICAgICBNYXJrZWRBcmd1bWVu
dEJ1ZmZlciBhcmd1bWVudHM7CiAgICAgYXJndW1lbnRzLmFwcGVuZCh0YXJnZXQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397059</attachid>
            <date>2020-04-20 23:57:07 -0700</date>
            <delta_ts>2020-04-21 01:01:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184629-20200421095706.patch</filename>
            <type>text/plain</type>
            <size>8652</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
Yjk0OTRlZjUwNDkwYmU3OGU1ZGE2NThkMzUxOTE3ZGMwNTcyMTRlLi43ZWExODJmMTkwYWEzMDQx
ZTk5OTcwODU1ZWI2NjAwODMzMGJjMjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0wNC0yMCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgY29uc3RydWN0T2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcigp
IGlzIGluY29ycmVjdCB3aXRoIHBhcnRpYWwgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDYyOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgQmVmb3JlIHRoaXMgY2hhbmdlLCBjb25zdHJ1
Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgc2VyaWFsaXplZCBhIHZhbHVlLW9ubHkg
ZGVzY3JpcHRvcgorICAgICAgICB3aXRoIG51bGxpc2ggbV9zZWVuQXR0cmlidXRlcyB0byB7dmFs
dWUsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFs
c2V9CisgICAgICAgIGluc3RlYWQgb2YganVzdCB7dmFsdWV9LiBUaGlzIHdhcyBvYnNlcnZhYmxl
IHdoZW4gb3JkaW5hcnlTZXRTbG93KCkgd2FzIGNhbGxlZCBvbiBhIFByb3h5CisgICAgICAgIGBy
ZWNlaXZlcmAgd2l0aCAiZGVmaW5lUHJvcGVydHkiIHRyYXAuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtYWtlcyBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgMToxIHdpdGgg
dGhlIHNwZWMgWzJdLCBhbGlnbmluZyBKU0MKKyAgICAgICAgd2l0aCBWOCBhbmQgU3BpZGVyTW9u
a2V5LCBhbmQgYWxzbyBjbGVhbnMgdXAgaXRzIGNhbGwgc2l0ZXMgZnJvbSBoYW5kbGluZyBleGNl
cHRpb25zIGFuZAorICAgICAgICBgdW5kZWZpbmVkYCB2YWx1ZSByZXR1cm5zLgorCisgICAgICAg
IFsxXTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1vcmRpbmFyeXNldHdpdGhvd25kZXNj
cmlwdG9yIChzdGVwIDMuZC5pdikKKyAgICAgICAgWzJdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2
Mi8jc2VjLWZyb21wcm9wZXJ0eWRlc2NyaXB0b3IKKworICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvckdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVjdG9yR2V0T3du
UHJvcGVydHlEZXNjcmlwdG9ycyk6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9y
KToKKyAgICAgICAgKiBydW50aW1lL1Byb3h5T2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6UHJv
eHlPYmplY3Q6OnBlcmZvcm1EZWZpbmVPd25Qcm9wZXJ0eSk6CisKIDIwMjAtMDQtMjAgIFJvc3Mg
S2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIENsYXNzZXMgbWFy
a2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHByb3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggY2ZlYTEzYWQxZmUxMGNjYTI5YmQ5MDIxOGQ0ZTk4MTM1Yzk1MjVlMy4uMjE4ZGI2OTBh
ZjY0M2YxMDg5YWZhM2VjNGFhOTEyOTQ5Zjg2YjkyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtMTkxLDkgKzE5MSw4
IEBAIEpTVmFsdWUgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB7IH0pOwogCiAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdE9iamVjdEZyb21Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LCBkZXNjcmlwdG9yKTsKLSAgICBFWENFUFRJT05f
QVNTRVJUKCEhc2NvcGUuZXhjZXB0aW9uKCkgPT0gIXJlc3VsdCk7Ci0gICAgaWYgKCFyZXN1bHQp
Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0
aW9uKCk7CisgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAt
MjE3LDkgKzIxNiw4IEBAIEpTVmFsdWUgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3JzKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICBKU09iamVjdCogZnJvbURlc2NyaXB0b3IgPSBjb25zdHJ1Y3RPYmpl
Y3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbE9iamVjdCwgZGVzY3JpcHRvcik7Ci0gICAg
ICAgIEVYQ0VQVElPTl9BU1NFUlQoISFzY29wZS5leGNlcHRpb24oKSA9PSAhZnJvbURlc2NyaXB0
b3IpOwotICAgICAgICBpZiAoIWZyb21EZXNjcmlwdG9yKQotICAgICAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7CisgICAgICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7CisgICAgICAg
IEFTU0VSVChmcm9tRGVzY3JpcHRvcik7CiAKICAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qo
ZGVzY3JpcHRvcnMpOwogICAgICAgICBkZXNjcmlwdG9ycy0+cHV0T3duRGF0YVByb3BlcnR5TWF5
QmVJbmRleChnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgZnJvbURlc2NyaXB0b3IsIHNsb3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmgKaW5kZXggZGU0MzZjODllMDQzYjc1Y2RlMThmMmFiMWRmY2M3M2M5ZTFkZjZjMS4uYmQ0OWQ2
ODg3YjViNjJiMWZiOGQwNWY1NDBjM2QxYjY0NjZiZjhiMyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCkBAIC04OSwzMCArODksMjgg
QEAgaW5saW5lIEpTT2JqZWN0KiBjb25zdHJ1Y3RPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBhcmcpCiAgICAgcmV0dXJuIGFyZy50b09iamVjdChnbG9iYWxPYmpl
Y3QpOwogfQogCi0vLyBTZWN0aW9uIDYuMi40LjQgb2YgdGhlIEVTNiBzcGVjaWZpY2F0aW9uLgot
Ly8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZnJvbXByb3BlcnR5ZGVzY3Jp
cHRvcgorLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1mcm9tcHJvcGVydHlkZXNjcmlw
dG9yCiBpbmxpbmUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKQogewogICAgIFZNJiB2bSA9IGdldFZNKGdsb2JhbE9iamVjdCk7CiAgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTT2JqZWN0KiBkZXNj
cmlwdGlvbiA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0KLSAgICBpZiAoIWRlc2NyaXB0b3IuaXNB
Y2Nlc3NvckRlc2NyaXB0b3IoKSkgewotICAgICAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZSwgZGVzY3JpcHRvci52YWx1ZSgpID8gZGVzY3JpcHRv
ci52YWx1ZSgpIDoganNVbmRlZmluZWQoKSwgMCk7Ci0gICAgICAgIGRlc2NyaXB0aW9uLT5wdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPndyaXRhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRv
ci53cml0YWJsZSgpKSwgMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGRlc2NyaXB0
b3IuZ2V0dGVyKCkgfHwgZGVzY3JpcHRvci5zZXR0ZXIoKSk7Ci0gICAgICAgIGlmIChkZXNjcmlw
dG9yLmdldHRlcigpKQotICAgICAgICAgICAgZGVzY3JpcHRpb24tPnB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+Z2V0LCBkZXNjcmlwdG9yLmdldHRlcigpLCAwKTsKLSAgICAgICAgaWYg
KGRlc2NyaXB0b3Iuc2V0dGVyKCkpCi0gICAgICAgICAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZXQsIGRlc2NyaXB0b3Iuc2V0dGVyKCksIDApOwotICAg
IH0KLSAgICAKLSAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5lbnVtZXJhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRvci5lbnVtZXJhYmxlKCkpLCAwKTsKLSAg
ICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25maWd1cmFi
bGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSgpKSwgMCk7Ci0KLSAgICByZXR1
cm4gZGVzY3JpcHRpb247CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2Jq
ZWN0KGdsb2JhbE9iamVjdCk7CisgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRpb24oKTsKKworICAg
IGlmIChkZXNjcmlwdG9yLnZhbHVlKCkpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZSwgZGVzY3JpcHRvci52YWx1ZSgpKTsKKyAgICBpZiAoZGVz
Y3JpcHRvci53cml0YWJsZVByZXNlbnQoKSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPndyaXRhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRvci53cml0YWJs
ZSgpKSk7CisgICAgaWYgKGRlc2NyaXB0b3IuZ2V0dGVyUHJlc2VudCgpKQorICAgICAgICByZXN1
bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Z2V0LCBkZXNjcmlwdG9yLmdldHRl
cigpKTsKKyAgICBpZiAoZGVzY3JpcHRvci5zZXR0ZXJQcmVzZW50KCkpCisgICAgICAgIHJlc3Vs
dC0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZXQsIGRlc2NyaXB0b3Iuc2V0dGVy
KCkpOworICAgIGlmIChkZXNjcmlwdG9yLmVudW1lcmFibGVQcmVzZW50KCkpCisgICAgICAgIHJl
c3VsdC0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5lbnVtZXJhYmxlLCBqc0Jvb2xl
YW4oZGVzY3JpcHRvci5lbnVtZXJhYmxlKCkpKTsKKyAgICBpZiAoZGVzY3JpcHRvci5jb25maWd1
cmFibGVQcmVzZW50KCkpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5jb25maWd1cmFibGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSgp
KSk7CisKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIHJlc3VsdCk7CiB9CiAKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCmluZGV4IDU5Y2Qz
Y2ZjNjU0MTA0MThkNzdmMTZkZTMxNjM5Zjc1ZjhhNDUxY2EuLjQyZTgzZGE3MDBlMTUxNmZlNThj
ZTAzNDU4Yzk2MTVlOWVkZjQzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3h5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm94eU9iamVjdC5jcHAKQEAgLTg1Miw3ICs4NTIsOCBAQCBib29sIFByb3h5T2JqZWN0Ojpw
ZXJmb3JtRGVmaW5lT3duUHJvcGVydHkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUHJv
cGVydAogICAgICAgICByZXR1cm4gcGVyZm9ybURlZmF1bHREZWZpbmVPd25Qcm9wZXJ0eSgpOwog
CiAgICAgSlNPYmplY3QqIGRlc2NyaXB0b3JPYmplY3QgPSBjb25zdHJ1Y3RPYmplY3RGcm9tUHJv
cGVydHlEZXNjcmlwdG9yKGdsb2JhbE9iamVjdCwgZGVzY3JpcHRvcik7Ci0gICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7
CisgICAgQVNTRVJUKGRlc2NyaXB0b3JPYmplY3QpOwogCiAgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXIgYXJndW1lbnRzOwogICAgIGFyZ3VtZW50cy5hcHBlbmQodGFyZ2V0KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTI1NGFmYjM0MmFh
N2NkYjQwNjFhYTU3NDkzYjY2MjkzM2M3ZTE2Mi4uMDI2Mzc4YjEwODliMWJjMzM2N2VjNmQ4ZmYx
MjY1NjNmZjAwMDQ0ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wNC0yMCAgQWxleGV5IFNodmF5a2Eg
IDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgY29uc3RydWN0T2JqZWN0RnJvbVBy
b3BlcnR5RGVzY3JpcHRvcigpIGlzIGluY29ycmVjdCB3aXRoIHBhcnRpYWwgZGVzY3JpcHRvcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDYyOQor
CisgICAgICAgIFJldmlld2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgKiB0ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sOiBNYXJrIDQgdGVzdCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDIw
LTA0LTIwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pT
Q10gSW1wb3J0IFY4IEJpZ0ludCB0ZXN0cyBnZW5lcmF0ZWQgYnkgYmlnaW50LXRlc3Rlci5weQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IDg5ODhlMzdmZDQwZDI5ODQxNmY5NTk1NTgz
MWU2YmMxMWYxZTJmMGYuLmJjMzg0ZTU4MDZiOTJiMzdmZDNkYTE5MDZhNmYxNjQ4ZDEwNzAxNzUg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTEyNDYsMTIgKzEyNDYsNiBAQCB0ZXN0
L2J1aWx0LWlucy9Qcm94eS9jcmVhdGUtdGFyZ2V0LWlzLXJldm9rZWQtcHJveHkuanM6CiB0ZXN0
L2J1aWx0LWlucy9Qcm94eS9vd25LZXlzL3RyYXAtaXMtdW5kZWZpbmVkLXRhcmdldC1pcy1wcm94
eS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW2xlbmd0aCwgZm9vLCAw
LCBTeW1ib2woKV0gYW5kIFtTeW1ib2woKSwgbGVuZ3RoLCBmb28sIDBdIHRvIGhhdmUgdGhlIHNh
bWUgY29udGVudHMuICcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFts
ZW5ndGgsIGZvbywgMCwgU3ltYm9sKCldIGFuZCBbU3ltYm9sKCksIGxlbmd0aCwgZm9vLCAwXSB0
byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCi10ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJh
cC1pcy1taXNzaW5nLXJlY2VpdmVyLW11bHRpcGxlLWNhbGxzLWluZGV4LmpzOgotICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbMF0gYW5kIFswLCAwLCAwXSB0byBoYXZlIHRoZSBz
YW1lIGNvbnRlbnRzLiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6IGtleSBwcmVzZW50IG9uIFtb
UHJveHlUYXJnZXRdXScKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBh
c3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuJwotdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3Ry
YXAtaXMtbWlzc2luZy1yZWNlaXZlci1tdWx0aXBsZS1jYWxscy5qczoKLSAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgW2Zvb10gYW5kIFtmb28sIGZvbywgZm9vXSB0byBoYXZlIHRo
ZSBzYW1lIGNvbnRlbnRzLiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6IGtleSBwcmVzZW50IG9u
IFtbUHJveHlUYXJnZXRdXScKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IEF0dGVtcHRlZCB0
byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuJwogdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9v
d25LZXlzL29yZGVyLWFmdGVyLWRlZmluZS1wcm9wZXJ0eS5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgW1N5bWJvbChiKSwgU3ltYm9sKGEpXSBhbmQgW1N5bWJvbChhKSwg
U3ltYm9sKGIpXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCiAgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbU3ltYm9sKGIpLCBTeW1ib2woYSldIGFuZCBbU3ltYm9s
KGEpLCBTeW1ib2woYildIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397061</attachid>
            <date>2020-04-21 01:01:27 -0700</date>
            <delta_ts>2020-04-21 12:18:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184629-20200421110126.patch</filename>
            <type>text/plain</type>
            <size>8600</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
Yjk0OTRlZjUwNDkwYmU3OGU1ZGE2NThkMzUxOTE3ZGMwNTcyMTRlLi5mNGUzMTI5YzNjZWIxOGU5
MTkxZTY1YTliYjdjYzRhMWIwZDcwZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0wNC0yMSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgY29uc3RydWN0T2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcigp
IGlzIGluY29ycmVjdCB3aXRoIHBhcnRpYWwgZGVzY3JpcHRvcnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDYyOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgQmVmb3JlIHRoaXMgY2hhbmdlLCBjb25zdHJ1
Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgc2VyaWFsaXplZCBhIHZhbHVlLW9ubHkg
ZGVzY3JpcHRvcgorICAgICAgICB3aXRoIG51bGxpc2ggbV9zZWVuQXR0cmlidXRlcyB0byB7dmFs
dWUsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFs
c2V9CisgICAgICAgIGluc3RlYWQgb2YganVzdCB7dmFsdWV9LiBUaGlzIHdhcyBvYnNlcnZhYmxl
IHdoZW4gb3JkaW5hcnlTZXRTbG93KCkgd2FzIGNhbGxlZCBvbiBhIFByb3h5CisgICAgICAgIGBy
ZWNlaXZlcmAgd2l0aCAiZGVmaW5lUHJvcGVydHkiIHRyYXAuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtYWtlcyBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgMToxIHdpdGgg
dGhlIHNwZWMgWzJdLCBhbGlnbmluZyBKU0MKKyAgICAgICAgd2l0aCBWOCBhbmQgU3BpZGVyTW9u
a2V5LCBhbmQgYWxzbyBjbGVhbnMgdXAgaXRzIGNhbGwgc2l0ZXMgZnJvbSBoYW5kbGluZyBleGNl
cHRpb25zIGFuZAorICAgICAgICBgdW5kZWZpbmVkYCB2YWx1ZSByZXR1cm5zLgorCisgICAgICAg
IFsxXTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1vcmRpbmFyeXNldHdpdGhvd25kZXNj
cmlwdG9yIChzdGVwIDMuZC5pdikKKyAgICAgICAgWzJdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2
Mi8jc2VjLWZyb21wcm9wZXJ0eWRlc2NyaXB0b3IKKworICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvckdldE93blBy
b3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVjdG9yR2V0T3du
UHJvcGVydHlEZXNjcmlwdG9ycyk6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9y
KToKKyAgICAgICAgKiBydW50aW1lL1Byb3h5T2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6UHJv
eHlPYmplY3Q6OnBlcmZvcm1EZWZpbmVPd25Qcm9wZXJ0eSk6CisKIDIwMjAtMDQtMjAgIFJvc3Mg
S2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIENsYXNzZXMgbWFy
a2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHByb3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggY2ZlYTEzYWQxZmUxMGNjYTI5YmQ5MDIxOGQ0ZTk4MTM1Yzk1MjVlMy4uMjE4ZGI2OTBh
ZjY0M2YxMDg5YWZhM2VjNGFhOTEyOTQ5Zjg2YjkyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcApAQCAtMTkxLDkgKzE5MSw4
IEBAIEpTVmFsdWUgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB7IH0pOwogCiAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdE9iamVjdEZyb21Qcm9w
ZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LCBkZXNjcmlwdG9yKTsKLSAgICBFWENFUFRJT05f
QVNTRVJUKCEhc2NvcGUuZXhjZXB0aW9uKCkgPT0gIXJlc3VsdCk7Ci0gICAgaWYgKCFyZXN1bHQp
Ci0gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0
aW9uKCk7CisgICAgQVNTRVJUKHJlc3VsdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAt
MjE3LDkgKzIxNiw4IEBAIEpTVmFsdWUgb2JqZWN0Q29uc3RydWN0b3JHZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3JzKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICBKU09iamVjdCogZnJvbURlc2NyaXB0b3IgPSBjb25zdHJ1Y3RPYmpl
Y3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbE9iamVjdCwgZGVzY3JpcHRvcik7Ci0gICAg
ICAgIEVYQ0VQVElPTl9BU1NFUlQoISFzY29wZS5leGNlcHRpb24oKSA9PSAhZnJvbURlc2NyaXB0
b3IpOwotICAgICAgICBpZiAoIWZyb21EZXNjcmlwdG9yKQotICAgICAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7CisgICAgICAgIHNjb3BlLmFzc2VydE5vRXhjZXB0aW9uKCk7CisgICAgICAg
IEFTU0VSVChmcm9tRGVzY3JpcHRvcik7CiAKICAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qo
ZGVzY3JpcHRvcnMpOwogICAgICAgICBkZXNjcmlwdG9ycy0+cHV0T3duRGF0YVByb3BlcnR5TWF5
QmVJbmRleChnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgZnJvbURlc2NyaXB0b3IsIHNsb3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmgKaW5kZXggZGU0MzZjODllMDQzYjc1Y2RlMThmMmFiMWRmY2M3M2M5ZTFkZjZjMS4uNjFjZmM5
OTM2NjFkYzJiZDJhYWU2MjNlYWQzNmM3M2U5YzgxYTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCkBAIC04OSwzMCArODksMjYg
QEAgaW5saW5lIEpTT2JqZWN0KiBjb25zdHJ1Y3RPYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBhcmcpCiAgICAgcmV0dXJuIGFyZy50b09iamVjdChnbG9iYWxPYmpl
Y3QpOwogfQogCi0vLyBTZWN0aW9uIDYuMi40LjQgb2YgdGhlIEVTNiBzcGVjaWZpY2F0aW9uLgot
Ly8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZnJvbXByb3BlcnR5ZGVzY3Jp
cHRvcgorLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1mcm9tcHJvcGVydHlkZXNjcmlw
dG9yCiBpbmxpbmUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0
b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKQogewogICAgIFZNJiB2bSA9IGdldFZNKGdsb2JhbE9iamVjdCk7Ci0gICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTT2JqZWN0KiBkZXNj
cmlwdGlvbiA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0KLSAgICBpZiAoIWRlc2NyaXB0b3IuaXNB
Y2Nlc3NvckRlc2NyaXB0b3IoKSkgewotICAgICAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZSwgZGVzY3JpcHRvci52YWx1ZSgpID8gZGVzY3JpcHRv
ci52YWx1ZSgpIDoganNVbmRlZmluZWQoKSwgMCk7Ci0gICAgICAgIGRlc2NyaXB0aW9uLT5wdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPndyaXRhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRv
ci53cml0YWJsZSgpKSwgMCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGRlc2NyaXB0
b3IuZ2V0dGVyKCkgfHwgZGVzY3JpcHRvci5zZXR0ZXIoKSk7Ci0gICAgICAgIGlmIChkZXNjcmlw
dG9yLmdldHRlcigpKQotICAgICAgICAgICAgZGVzY3JpcHRpb24tPnB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+Z2V0LCBkZXNjcmlwdG9yLmdldHRlcigpLCAwKTsKLSAgICAgICAgaWYg
KGRlc2NyaXB0b3Iuc2V0dGVyKCkpCi0gICAgICAgICAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZXQsIGRlc2NyaXB0b3Iuc2V0dGVyKCksIDApOwotICAg
IH0KLSAgICAKLSAgICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5lbnVtZXJhYmxlLCBqc0Jvb2xlYW4oZGVzY3JpcHRvci5lbnVtZXJhYmxlKCkpLCAwKTsKLSAg
ICBkZXNjcmlwdGlvbi0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25maWd1cmFi
bGUsIGpzQm9vbGVhbihkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSgpKSwgMCk7Ci0KLSAgICByZXR1
cm4gZGVzY3JpcHRpb247CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2Jq
ZWN0KGdsb2JhbE9iamVjdCk7CisKKyAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAg
ICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dmFsdWUsIGRlc2NyaXB0
b3IudmFsdWUoKSk7CisgICAgaWYgKGRlc2NyaXB0b3Iud3JpdGFibGVQcmVzZW50KCkpCisgICAg
ICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT53cml0YWJsZSwganNC
b29sZWFuKGRlc2NyaXB0b3Iud3JpdGFibGUoKSkpOworICAgIGlmIChkZXNjcmlwdG9yLmdldHRl
clByZXNlbnQoKSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmdldCwgZGVzY3JpcHRvci5nZXR0ZXIoKSk7CisgICAgaWYgKGRlc2NyaXB0b3Iuc2V0dGVy
UHJlc2VudCgpKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+c2V0LCBkZXNjcmlwdG9yLnNldHRlcigpKTsKKyAgICBpZiAoZGVzY3JpcHRvci5lbnVtZXJh
YmxlUHJlc2VudCgpKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+ZW51bWVyYWJsZSwganNCb29sZWFuKGRlc2NyaXB0b3IuZW51bWVyYWJsZSgpKSk7Cisg
ICAgaWYgKGRlc2NyaXB0b3IuY29uZmlndXJhYmxlUHJlc2VudCgpKQorICAgICAgICByZXN1bHQt
PnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uZmlndXJhYmxlLCBqc0Jvb2xlYW4o
ZGVzY3JpcHRvci5jb25maWd1cmFibGUoKSkpOworCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAKaW5kZXgg
NTljZDNjZmM2NTQxMDQxOGQ3N2YxNmRlMzE2MzlmNzVmOGE0NTFjYS4uNDJlODNkYTcwMGUxNTE2
ZmU1OGNlMDM0NThjOTYxNWU5ZWRmNDNlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3h5T2JqZWN0LmNwcApAQCAtODUyLDcgKzg1Miw4IEBAIGJvb2wgUHJveHlPYmpl
Y3Q6OnBlcmZvcm1EZWZpbmVPd25Qcm9wZXJ0eShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBQcm9wZXJ0CiAgICAgICAgIHJldHVybiBwZXJmb3JtRGVmYXVsdERlZmluZU93blByb3BlcnR5
KCk7CiAKICAgICBKU09iamVjdCogZGVzY3JpcHRvck9iamVjdCA9IGNvbnN0cnVjdE9iamVjdEZy
b21Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsT2JqZWN0LCBkZXNjcmlwdG9yKTsKLSAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAgc2NvcGUuYXNzZXJ0Tm9FeGNlcHRp
b24oKTsKKyAgICBBU1NFUlQoZGVzY3JpcHRvck9iamVjdCk7CiAKICAgICBNYXJrZWRBcmd1bWVu
dEJ1ZmZlciBhcmd1bWVudHM7CiAgICAgYXJndW1lbnRzLmFwcGVuZCh0YXJnZXQpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAxMjU0YWZi
MzQyYWE3Y2RiNDA2MWFhNTc0OTNiNjYyOTMzYzdlMTYyLi5mZmI0Y2JlNWM2MTBmM2ZjODQyZDk1
MzQ3ZjEzZjZiYjhlZmI5YTE5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9K
U1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTIxICBBbGV4ZXkgU2h2
YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBjb25zdHJ1Y3RPYmplY3RG
cm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgaXMgaW5jb3JyZWN0IHdpdGggcGFydGlhbCBkZXNjcmlw
dG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0
NjI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9zcyBLaXJzbGluZy4KKworICAgICAgICAqIHRl
c3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6IE1hcmsgNCB0ZXN0IGNhc2VzIGFzIHBhc3NpbmcuCisK
IDIwMjAtMDQtMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbSlNDXSBJbXBvcnQgVjggQmlnSW50IHRlc3RzIGdlbmVyYXRlZCBieSBiaWdpbnQtdGVzdGVy
LnB5CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rl
c3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKaW5kZXggODk4OGUzN2ZkNDBkMjk4NDE2Zjk1
OTU1ODMxZTZiYzExZjFlMmYwZi4uYmMzODRlNTgwNmI5MmIzN2ZkM2RhMTkwNmE2ZjE2NDhkMTA3
MDE3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbApAQCAtMTI0NiwxMiArMTI0Niw2IEBA
IHRlc3QvYnVpbHQtaW5zL1Byb3h5L2NyZWF0ZS10YXJnZXQtaXMtcmV2b2tlZC1wcm94eS5qczoK
IHRlc3QvYnVpbHQtaW5zL1Byb3h5L293bktleXMvdHJhcC1pcy11bmRlZmluZWQtdGFyZ2V0LWlz
LXByb3h5LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbbGVuZ3RoLCBm
b28sIDAsIFN5bWJvbCgpXSBhbmQgW1N5bWJvbCgpLCBsZW5ndGgsIGZvbywgMF0gdG8gaGF2ZSB0
aGUgc2FtZSBjb250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgW2xlbmd0aCwgZm9vLCAwLCBTeW1ib2woKV0gYW5kIFtTeW1ib2woKSwgbGVuZ3RoLCBmb28s
IDBdIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcKLXRlc3QvYnVpbHQtaW5zL1Byb3h5L3Nl
dC90cmFwLWlzLW1pc3NpbmctcmVjZWl2ZXItbXVsdGlwbGUtY2FsbHMtaW5kZXguanM6Ci0gIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFswXSBhbmQgWzAsIDAsIDBdIHRvIGhhdmUg
dGhlIHNhbWUgY29udGVudHMuIGdldE93blByb3BlcnR5RGVzY3JpcHRvcjoga2V5IHByZXNlbnQg
b24gW1tQcm94eVRhcmdldF1dJwotICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogQXR0ZW1wdGVk
IHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4nCi10ZXN0L2J1aWx0LWlucy9Qcm94eS9z
ZXQvdHJhcC1pcy1taXNzaW5nLXJlY2VpdmVyLW11bHRpcGxlLWNhbGxzLmpzOgotICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbZm9vXSBhbmQgW2ZvbywgZm9vLCBmb29dIHRvIGhh
dmUgdGhlIHNhbWUgY29udGVudHMuIGdldE93blByb3BlcnR5RGVzY3JpcHRvcjoga2V5IHByZXNl
bnQgb24gW1tQcm94eVRhcmdldF1dJwotICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogQXR0ZW1w
dGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4nCiB0ZXN0L2J1aWx0LWlucy9SZWZs
ZWN0L293bktleXMvb3JkZXItYWZ0ZXItZGVmaW5lLXByb3BlcnR5LmpzOgogICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBbU3ltYm9sKGIpLCBTeW1ib2woYSldIGFuZCBbU3ltYm9s
KGEpLCBTeW1ib2woYildIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtTeW1ib2woYiksIFN5bWJvbChhKV0gYW5kIFtT
eW1ib2woYSksIFN5bWJvbChiKV0gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>