<?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>231209</bug_id>
          
          <creation_ts>2021-10-04 22:08:58 -0700</creation_ts>
          <short_desc>CodeBlock should not add/remove LoopHintExecutionCounters.</short_desc>
          <delta_ts>2021-10-05 12:20:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1800381</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-04 22:08:58 -0700</bug_when>
    <thetext>This is because cached unlinked baseline JIT code would retain a pointer to those counters.  Hence, the UnlinkedCodeBlock should do the add /remove of the counters instead.

rdar://83571235</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800383</commentid>
    <comment_count>1</comment_count>
      <attachid>440157</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-04 22:21:34 -0700</bug_when>
    <thetext>Created attachment 440157
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800384</commentid>
    <comment_count>2</comment_count>
      <attachid>440158</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-04 22:23:55 -0700</bug_when>
    <thetext>Created attachment 440158
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800386</commentid>
    <comment_count>3</comment_count>
      <attachid>440158</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-04 22:45:07 -0700</bug_when>
    <thetext>Comment on attachment 440158
proposed patch.

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

r=me

&gt; Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h:144
&gt; +    void finalize();

Suggestion: “finalize” has some common meaning in cells, typically meaning doing some finalization work at the end of GC. Because of that, I’m not a fan of this name. And right now, it’s only doing one very specific thing. I suggest giving it a specific name to match the specific thing it’s doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800387</commentid>
    <comment_count>4</comment_count>
      <attachid>440158</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-04 22:45:13 -0700</bug_when>
    <thetext>Comment on attachment 440158
proposed patch.

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

r=me

&gt; Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h:144
&gt; +    void finalize();

Suggestion: “finalize” has some common meaning in cells, typically meaning doing some finalization work at the end of GC. Because of that, I’m not a fan of this name. And right now, it’s only doing one very specific thing. I suggest giving it a specific name to match the specific thing it’s doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800393</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-04 22:55:36 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Saam Barati from comment #4)
&gt; &gt; Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h:144
&gt; &gt; +    void finalize();
&gt; 
&gt; Suggestion: “finalize” has some common meaning in cells, typically meaning
&gt; doing some finalization work at the end of GC. Because of that, I’m not a
&gt; fan of this name. And right now, it’s only doing one very specific thing. I
&gt; suggest giving it a specific name to match the specific thing it’s doing.

I&apos;ve renamed it to initializeLoopHintExecutionCounter(), and changed it to be called only when Options::returnEarlyFromInfiniteLoopsForFuzzing() is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800395</commentid>
    <comment_count>6</comment_count>
      <attachid>440160</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-10-04 23:06:27 -0700</bug_when>
    <thetext>Created attachment 440160
patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800701</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-05 12:20:36 -0700</bug_when>
    <thetext>Committed r283567 (242532@main): &lt;https://commits.webkit.org/242532@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440160.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440157</attachid>
            <date>2021-10-04 22:21:34 -0700</date>
            <delta_ts>2021-10-04 22:23:05 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-231209.patch</filename>
            <type>text/plain</type>
            <size>6641</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODM1MzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTEwLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBDb2RlQmxvY2sgc2hvdWxkIG5vdCBhZGQvcmVtb3ZlIExvb3BIaW50RXhl
Y3V0aW9uQ291bnRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzEyMDkKKyAgICAgICAgcmRhcjovLzgzNTcxMjM1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29kZUJsb2NrLXNob3Vs
ZC1ub3QtYWRkLXJlbW92ZS1sb29wLWhpbnQtZXhlY3V0aW9uLWNvdW50ZXJzLWR1ZS10by1jYWNo
ZWQtdW5saW5rZWQtYmFzZWxpbmUtY29kZS5qczogQWRkZWQuCisKIDIwMjEtMTAtMDQgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZSBpbXBsZW1lbnRhdGlvbiBvZiBfX3Byb3RvX18gbmVlZHMgdG8gaGFuZGxlIGdldF9i
eV9pZF93aXRoX3RoaXMKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvZGVCbG9jay1zaG91bGQtbm90
LWFkZC1yZW1vdmUtbG9vcC1oaW50LWV4ZWN1dGlvbi1jb3VudGVycy1kdWUtdG8tY2FjaGVkLXVu
bGlua2VkLWJhc2VsaW5lLWNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29k
ZUJsb2NrLXNob3VsZC1ub3QtYWRkLXJlbW92ZS1sb29wLWhpbnQtZXhlY3V0aW9uLWNvdW50ZXJz
LWR1ZS10by1jYWNoZWQtdW5saW5rZWQtYmFzZWxpbmUtY29kZS5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9jb2RlQmxvY2stc2hvdWxkLW5vdC1hZGQtcmVtb3ZlLWxvb3AtaGlu
dC1leGVjdXRpb24tY291bnRlcnMtZHVlLXRvLWNhY2hlZC11bmxpbmtlZC1iYXNlbGluZS1jb2Rl
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8vQCBydW5EZWZhdWx0KCItLXJl
dHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nPXRydWUiLCAiLS1mb3JjZUNvZGVC
bG9ja1RvSmV0dGlzb25EdWVUb09sZEFnZT10cnVlIiwgIi0tY29sbGVjdENvbnRpbnVvdXNseT10
cnVlIikKKworYXN5bmMgZnVuY3Rpb24gZm9vKCkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
MTAwMDsgaSsrKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgIGZv
bygpOworICAgZWRlbkdDKCk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI4MzUzNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMC0wNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CisKKyAgICAgICAgQ29kZUJsb2NrIHNob3VsZCBub3QgYWRkL3JlbW92ZSBMb29w
SGludEV4ZWN1dGlvbkNvdW50ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMjA5CisgICAgICAgIHJkYXI6Ly84MzU3MTIzNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSBj
YWNoZWQgdW5saW5rZWQgYmFzZWxpbmUgSklUIGNvZGUgd291bGQgcmV0YWluIGEgcG9pbnRlciB0
byB0aG9zZQorICAgICAgICBjb3VudGVycy4gIEhlbmNlLCB0aGUgVW5saW5rZWRDb2RlQmxvY2sg
c2hvdWxkIGRvIHRoZSBhZGQgL3JlbW92ZSBvZiB0aGUgY291bnRlcnMKKyAgICAgICAgaW5zdGVh
ZC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNv
ZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6On5Db2Rl
QmxvY2spOgorICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcDoKKyAgICAg
ICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OmZpbmFsaXplKToKKyAgICAgICAgKEpTQzo6VW5s
aW5rZWRDb2RlQmxvY2s6On5VbmxpbmtlZENvZGVCbG9jayk6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRDb2RlQmxvY2suaDoKKyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZENvZGVCbG9j
a0dlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrR2VuZXJhdG9y
OjpmaW5hbGl6ZSk6CisKIDIwMjEtMTAtMDQgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgRGlzcGxheSByZXR1cm4gdmFsdWVzIGluIG5pY2VyIHdheSBpbiB0aGUg
anNjIFJFUEwgYW5kIGFkZCBhIHByZXR0eVByaW50IGZ1bmN0aW9uCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjgzNTAzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcyMiwxMiArNzIyLDYgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgUwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAotICAgICAgICBjYXNl
IG9wX2xvb3BfaGludDogewotICAgICAgICAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnJldHVy
bkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkpKQotICAgICAgICAgICAgICAgIHZt
LmFkZExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihpbnN0cnVjdGlvbi5wdHIoKSk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC04NTAsMTMgKzg0NCw2IEBAIENvZGVCbG9jazo6
fkNvZGVCbG9jaygpCiAgICAgLy8gU28sIHdlIGNhbiBhY2Nlc3MgbWVtYmVyIFVubGlua2VkQ29k
ZUJsb2NrIHNhZmVseSBoZXJlLiBXZSBieXBhc3MgdGhlIGFzc2VydGlvbiBieSB1c2luZyB1bnZh
bGlkYXRlZEdldC4KICAgICBVbmxpbmtlZENvZGVCbG9jayogdW5saW5rZWRDb2RlQmxvY2sgPSBt
X3VubGlua2VkQ29kZS51bnZhbGlkYXRlZEdldCgpOwogCi0gICAgaWYgKFVOTElLRUxZKE9wdGlv
bnM6OnJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkgJiYgSklUQ29kZTo6
aXNCYXNlbGluZUNvZGUoaml0VHlwZSgpKSkpIHsKLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBp
bnN0cnVjdGlvbiA6IHVubGlua2VkQ29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKSkgewotICAgICAg
ICAgICAgaWYgKGluc3RydWN0aW9uLT5pczxPcExvb3BIaW50PigpKQotICAgICAgICAgICAgICAg
IHZtLnJlbW92ZUxvb3BIaW50RXhlY3V0aW9uQ291bnRlcihpbnN0cnVjdGlvbi5wdHIoKSk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KICAgICBpZiAoSklUQ29kZTo6aXNCYXNlbGluZUNvZGUoaml0VHlw
ZSgpKSkgewogICAgICAgICBpZiAobV9tZXRhZGF0YSkgewogICAgICAgICAgICAgbV9tZXRhZGF0
YS0+Zm9yRWFjaDxPcENhdGNoPihbJl0oYXV0byYgbWV0YWRhdGEpIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAko
cmV2aXNpb24gMjgzNTAzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsMTcgQEAgVW5saW5r
ZWRDb2RlQmxvY2s6OlVubGlua2VkQ29kZUJsb2NrKFZNJgogICAgIG1fbGxpbnRFeGVjdXRlQ291
bnRlci5zZXROZXdUaHJlc2hvbGQodGhyZXNob2xkRm9ySklUKE9wdGlvbnM6OnRocmVzaG9sZEZv
ckpJVEFmdGVyV2FybVVwKCkpKTsKIH0KIAordm9pZCBVbmxpbmtlZENvZGVCbG9jazo6ZmluYWxp
emUoKQoreworICAgIFZNJiB2bSA9IHRoaXMtPnZtKCk7CisgICAgaWYgKFVOTElLRUxZKE9wdGlv
bnM6OnJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkpKSB7CisgICAgICAg
IGZvciAoY29uc3QgYXV0byYgaW5zdHJ1Y3Rpb24gOiBpbnN0cnVjdGlvbnMoKSkgeworICAgICAg
ICAgICAgaWYgKGluc3RydWN0aW9uLT5pczxPcExvb3BIaW50PigpKQorICAgICAgICAgICAgICAg
IHZtLmFkZExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihpbnN0cnVjdGlvbi5wdHIoKSk7CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIFZpc2l0b3I+CiB2b2lkIFVubGlu
a2VkQ29kZUJsb2NrOjp2aXNpdENoaWxkcmVuSW1wbChKU0NlbGwqIGNlbGwsIFZpc2l0b3ImIHZp
c2l0b3IpCiB7CkBAIC0yNzMsNiArMjg0LDEzIEBAIGJvb2wgVW5saW5rZWRDb2RlQmxvY2s6OnR5
cGVQcm9maWxlckV4cHIKIAogVW5saW5rZWRDb2RlQmxvY2s6On5VbmxpbmtlZENvZGVCbG9jaygp
CiB7CisgICAgVk0mIHZtID0gdGhpcy0+dm0oKTsKKyAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6
cmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1enppbmcoKSkpIHsKKyAgICAgICAgZm9y
IChjb25zdCBhdXRvJiBpbnN0cnVjdGlvbiA6IGluc3RydWN0aW9ucygpKSB7CisgICAgICAgICAg
ICBpZiAoaW5zdHJ1Y3Rpb24tPmlzPE9wTG9vcEhpbnQ+KCkpCisgICAgICAgICAgICAgICAgdm0u
cmVtb3ZlTG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGluc3RydWN0aW9uLnB0cigpKTsKKyAgICAg
ICAgfQorICAgIH0KIH0KIAogY29uc3QgSW5zdHJ1Y3Rpb25TdHJlYW0mIFVubGlua2VkQ29kZUJs
b2NrOjppbnN0cnVjdGlvbnMoKSBjb25zdApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgJKHJldmlzaW9uIDI4MzUwMykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDEsNiArMTQxLDggQEAgcHVibGljOgogCiAgICAgZW51bSB7IENhbGxG
dW5jdGlvbiwgQXBwbHlGdW5jdGlvbiB9OwogCisgICAgdm9pZCBmaW5hbGl6ZSgpOworCiAgICAg
Ym9vbCBpc0NvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnN0cnVjdG9yOyB9CiAg
ICAgYm9vbCB1c2VzQ2FsbEV2YWwoKSBjb25zdCB7IHJldHVybiBtX3VzZXNDYWxsRXZhbDsgfQog
ICAgIHZvaWQgc2V0VXNlc0NhbGxFdmFsKCkgeyBtX3VzZXNDYWxsRXZhbCA9IHRydWU7IH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9ja0dlbmVy
YXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkQ29kZUJsb2NrR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjgzNTAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrR2VuZXJhdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw4IEBAIHZvaWQgVW5saW5rZWRDb2RlQmxvY2tH
ZW5lcmF0b3I6OmZpbmFsaXoKICAgICAgICAgICAgIG1fY29kZUJsb2NrLT5tX3JhcmVEYXRhLT5t
X2JpdFZlY3RvcnMgPSBXVEZNb3ZlKG1fYml0VmVjdG9ycyk7CiAgICAgICAgICAgICBtX2NvZGVC
bG9jay0+bV9yYXJlRGF0YS0+bV9jb25zdGFudElkZW50aWZpZXJTZXRzID0gV1RGTW92ZShtX2Nv
bnN0YW50SWRlbnRpZmllclNldHMpOwogICAgICAgICB9CisgICAgCisgICAgICAgIG1fY29kZUJs
b2NrLT5maW5hbGl6ZSgpOwogICAgIH0KICAgICBtX3ZtLmhlYXAud3JpdGVCYXJyaWVyKG1fY29k
ZUJsb2NrLmdldCgpKTsKICAgICBtX3ZtLmhlYXAucmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQo
bV9jb2RlQmxvY2stPm1faW5zdHJ1Y3Rpb25zLT5zaXplSW5CeXRlcygpICsgbV9jb2RlQmxvY2st
Pm1fbWV0YWRhdGEtPnNpemVJbkJ5dGVzKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440158</attachid>
            <date>2021-10-04 22:23:55 -0700</date>
            <delta_ts>2021-10-04 23:06:27 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-231209.patch</filename>
            <type>text/plain</type>
            <size>6649</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODM1MzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTEwLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBDb2RlQmxvY2sgc2hvdWxkIG5vdCBhZGQvcmVtb3ZlIExvb3BIaW50RXhl
Y3V0aW9uQ291bnRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzEyMDkKKyAgICAgICAgcmRhcjovLzgzNTcxMjM1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY29kZUJsb2NrLXNob3Vs
ZC1ub3QtYWRkLXJlbW92ZS1sb29wLWhpbnQtZXhlY3V0aW9uLWNvdW50ZXJzLWR1ZS10by1jYWNo
ZWQtdW5saW5rZWQtYmFzZWxpbmUtY29kZS5qczogQWRkZWQuCisKIDIwMjEtMTAtMDQgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZSBpbXBsZW1lbnRhdGlvbiBvZiBfX3Byb3RvX18gbmVlZHMgdG8gaGFuZGxlIGdldF9i
eV9pZF93aXRoX3RoaXMKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvZGVCbG9jay1zaG91bGQtbm90
LWFkZC1yZW1vdmUtbG9vcC1oaW50LWV4ZWN1dGlvbi1jb3VudGVycy1kdWUtdG8tY2FjaGVkLXVu
bGlua2VkLWJhc2VsaW5lLWNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29k
ZUJsb2NrLXNob3VsZC1ub3QtYWRkLXJlbW92ZS1sb29wLWhpbnQtZXhlY3V0aW9uLWNvdW50ZXJz
LWR1ZS10by1jYWNoZWQtdW5saW5rZWQtYmFzZWxpbmUtY29kZS5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9jb2RlQmxvY2stc2hvdWxkLW5vdC1hZGQtcmVtb3ZlLWxvb3AtaGlu
dC1leGVjdXRpb24tY291bnRlcnMtZHVlLXRvLWNhY2hlZC11bmxpbmtlZC1iYXNlbGluZS1jb2Rl
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8vQCBydW5EZWZhdWx0KCItLXJl
dHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nPXRydWUiLCAiLS1mb3JjZUNvZGVC
bG9ja1RvSmV0dGlzb25EdWVUb09sZEFnZT10cnVlIiwgIi0tY29sbGVjdENvbnRpbnVvdXNseT10
cnVlIikKKworYXN5bmMgZnVuY3Rpb24gZm9vKCkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
MTAwMDsgaSsrKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgIGZv
bygpOworICAgZWRlbkdDKCk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI4MzUzNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMC0wNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CisKKyAgICAgICAgQ29kZUJsb2NrIHNob3VsZCBub3QgYWRkL3JlbW92ZSBMb29w
SGludEV4ZWN1dGlvbkNvdW50ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMjA5CisgICAgICAgIHJkYXI6Ly84MzU3MTIzNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSBj
YWNoZWQgdW5saW5rZWQgYmFzZWxpbmUgSklUIGNvZGUgd291bGQgcmV0YWluIGEgcG9pbnRlciB0
byB0aG9zZQorICAgICAgICBjb3VudGVycy4gIEhlbmNlLCB0aGUgVW5saW5rZWRDb2RlQmxvY2sg
c2hvdWxkIGRvIHRoZSBhZGQgL3JlbW92ZSBvZiB0aGUgY291bnRlcnMKKyAgICAgICAgaW5zdGVh
ZC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNv
ZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6On5Db2Rl
QmxvY2spOgorICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcDoKKyAgICAg
ICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OmZpbmFsaXplKToKKyAgICAgICAgKEpTQzo6VW5s
aW5rZWRDb2RlQmxvY2s6On5VbmxpbmtlZENvZGVCbG9jayk6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRDb2RlQmxvY2suaDoKKyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZENvZGVCbG9j
a0dlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrR2VuZXJhdG9y
OjpmaW5hbGl6ZSk6CisKIDIwMjEtMTAtMDQgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgRGlzcGxheSByZXR1cm4gdmFsdWVzIGluIG5pY2VyIHdheSBpbiB0aGUg
anNjIFJFUEwgYW5kIGFkZCBhIHByZXR0eVByaW50IGZ1bmN0aW9uCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjgzNTAzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcyMiwxMiArNzIyLDYgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgUwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAotICAgICAgICBjYXNl
IG9wX2xvb3BfaGludDogewotICAgICAgICAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnJldHVy
bkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkpKQotICAgICAgICAgICAgICAgIHZt
LmFkZExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihpbnN0cnVjdGlvbi5wdHIoKSk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC04NTAsMTMgKzg0NCw2IEBAIENvZGVCbG9jazo6
fkNvZGVCbG9jaygpCiAgICAgLy8gU28sIHdlIGNhbiBhY2Nlc3MgbWVtYmVyIFVubGlua2VkQ29k
ZUJsb2NrIHNhZmVseSBoZXJlLiBXZSBieXBhc3MgdGhlIGFzc2VydGlvbiBieSB1c2luZyB1bnZh
bGlkYXRlZEdldC4KICAgICBVbmxpbmtlZENvZGVCbG9jayogdW5saW5rZWRDb2RlQmxvY2sgPSBt
X3VubGlua2VkQ29kZS51bnZhbGlkYXRlZEdldCgpOwogCi0gICAgaWYgKFVOTElLRUxZKE9wdGlv
bnM6OnJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkgJiYgSklUQ29kZTo6
aXNCYXNlbGluZUNvZGUoaml0VHlwZSgpKSkpIHsKLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBp
bnN0cnVjdGlvbiA6IHVubGlua2VkQ29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKSkgewotICAgICAg
ICAgICAgaWYgKGluc3RydWN0aW9uLT5pczxPcExvb3BIaW50PigpKQotICAgICAgICAgICAgICAg
IHZtLnJlbW92ZUxvb3BIaW50RXhlY3V0aW9uQ291bnRlcihpbnN0cnVjdGlvbi5wdHIoKSk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KICAgICBpZiAoSklUQ29kZTo6aXNCYXNlbGluZUNvZGUoaml0VHlw
ZSgpKSkgewogICAgICAgICBpZiAobV9tZXRhZGF0YSkgewogICAgICAgICAgICAgbV9tZXRhZGF0
YS0+Zm9yRWFjaDxPcENhdGNoPihbJl0oYXV0byYgbWV0YWRhdGEpIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAko
cmV2aXNpb24gMjgzNTAzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsMTcgQEAgVW5saW5r
ZWRDb2RlQmxvY2s6OlVubGlua2VkQ29kZUJsb2NrKFZNJgogICAgIG1fbGxpbnRFeGVjdXRlQ291
bnRlci5zZXROZXdUaHJlc2hvbGQodGhyZXNob2xkRm9ySklUKE9wdGlvbnM6OnRocmVzaG9sZEZv
ckpJVEFmdGVyV2FybVVwKCkpKTsKIH0KIAordm9pZCBVbmxpbmtlZENvZGVCbG9jazo6ZmluYWxp
emUoKQoreworICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjpyZXR1cm5FYXJseUZyb21JbmZpbml0
ZUxvb3BzRm9yRnV6emluZygpKSkgeworICAgICAgICBWTSYgdm0gPSB0aGlzLT52bSgpOworICAg
ICAgICBmb3IgKGNvbnN0IGF1dG8mIGluc3RydWN0aW9uIDogaW5zdHJ1Y3Rpb25zKCkpIHsKKyAg
ICAgICAgICAgIGlmIChpbnN0cnVjdGlvbi0+aXM8T3BMb29wSGludD4oKSkKKyAgICAgICAgICAg
ICAgICB2bS5hZGRMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoaW5zdHJ1Y3Rpb24ucHRyKCkpOwor
ICAgICAgICB9CisgICAgfQorfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaXNpdG9yPgogdm9pZCBV
bmxpbmtlZENvZGVCbG9jazo6dmlzaXRDaGlsZHJlbkltcGwoSlNDZWxsKiBjZWxsLCBWaXNpdG9y
JiB2aXNpdG9yKQogewpAQCAtMjczLDYgKzI4NCwxMyBAQCBib29sIFVubGlua2VkQ29kZUJsb2Nr
Ojp0eXBlUHJvZmlsZXJFeHByCiAKIFVubGlua2VkQ29kZUJsb2NrOjp+VW5saW5rZWRDb2RlQmxv
Y2soKQogeworICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjpyZXR1cm5FYXJseUZyb21JbmZpbml0
ZUxvb3BzRm9yRnV6emluZygpKSkgeworICAgICAgICBWTSYgdm0gPSB0aGlzLT52bSgpOworICAg
ICAgICBmb3IgKGNvbnN0IGF1dG8mIGluc3RydWN0aW9uIDogaW5zdHJ1Y3Rpb25zKCkpIHsKKyAg
ICAgICAgICAgIGlmIChpbnN0cnVjdGlvbi0+aXM8T3BMb29wSGludD4oKSkKKyAgICAgICAgICAg
ICAgICB2bS5yZW1vdmVMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoaW5zdHJ1Y3Rpb24ucHRyKCkp
OworICAgICAgICB9CisgICAgfQogfQogCiBjb25zdCBJbnN0cnVjdGlvblN0cmVhbSYgVW5saW5r
ZWRDb2RlQmxvY2s6Omluc3RydWN0aW9ucygpIGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suaAkocmV2aXNpb24gMjgz
NTAzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2Nr
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEsOCBAQCBwdWJsaWM6CiAKICAgICBlbnVt
IHsgQ2FsbEZ1bmN0aW9uLCBBcHBseUZ1bmN0aW9uIH07CiAKKyAgICB2b2lkIGZpbmFsaXplKCk7
CisKICAgICBib29sIGlzQ29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2lzQ29uc3RydWN0
b3I7IH0KICAgICBib29sIHVzZXNDYWxsRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc0NhbGxF
dmFsOyB9CiAgICAgdm9pZCBzZXRVc2VzQ2FsbEV2YWwoKSB7IG1fdXNlc0NhbGxFdmFsID0gdHJ1
ZTsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJs
b2NrR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2tHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAyODM1MDMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2tHZW5lcmF0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNiArMTUyLDggQEAgdm9pZCBVbmxpbmtlZENv
ZGVCbG9ja0dlbmVyYXRvcjo6ZmluYWxpegogICAgICAgICAgICAgbV9jb2RlQmxvY2stPm1fcmFy
ZURhdGEtPm1fYml0VmVjdG9ycyA9IFdURk1vdmUobV9iaXRWZWN0b3JzKTsKICAgICAgICAgICAg
IG1fY29kZUJsb2NrLT5tX3JhcmVEYXRhLT5tX2NvbnN0YW50SWRlbnRpZmllclNldHMgPSBXVEZN
b3ZlKG1fY29uc3RhbnRJZGVudGlmaWVyU2V0cyk7CiAgICAgICAgIH0KKyAgICAKKyAgICAgICAg
bV9jb2RlQmxvY2stPmZpbmFsaXplKCk7CiAgICAgfQogICAgIG1fdm0uaGVhcC53cml0ZUJhcnJp
ZXIobV9jb2RlQmxvY2suZ2V0KCkpOwogICAgIG1fdm0uaGVhcC5yZXBvcnRFeHRyYU1lbW9yeUFs
bG9jYXRlZChtX2NvZGVCbG9jay0+bV9pbnN0cnVjdGlvbnMtPnNpemVJbkJ5dGVzKCkgKyBtX2Nv
ZGVCbG9jay0+bV9tZXRhZGF0YS0+c2l6ZUluQnl0ZXMoKSk7Cg==
</data>
<flag name="review"
          id="463997"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440160</attachid>
            <date>2021-10-04 23:06:27 -0700</date>
            <delta_ts>2021-10-05 12:20:37 -0700</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-231209.patch</filename>
            <type>text/plain</type>
            <size>6786</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODM1MzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTEwLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBDb2RlQmxvY2sgc2hvdWxkIG5vdCBhZGQvcmVtb3ZlIExvb3BIaW50RXhl
Y3V0aW9uQ291bnRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzEyMDkKKyAgICAgICAgcmRhcjovLzgzNTcxMjM1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgKiBzdHJlc3MvY29kZUJsb2NrLXNob3VsZC1u
b3QtYWRkLXJlbW92ZS1sb29wLWhpbnQtZXhlY3V0aW9uLWNvdW50ZXJzLWR1ZS10by1jYWNoZWQt
dW5saW5rZWQtYmFzZWxpbmUtY29kZS5qczogQWRkZWQuCisKIDIwMjEtMTAtMDQgIFNhYW0gQmFy
YXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZSBpbXBsZW1lbnRhdGlvbiBvZiBfX3Byb3RvX18gbmVlZHMgdG8gaGFuZGxlIGdldF9ieV9p
ZF93aXRoX3RoaXMKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvZGVCbG9jay1zaG91bGQtbm90LWFk
ZC1yZW1vdmUtbG9vcC1oaW50LWV4ZWN1dGlvbi1jb3VudGVycy1kdWUtdG8tY2FjaGVkLXVubGlu
a2VkLWJhc2VsaW5lLWNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29kZUJs
b2NrLXNob3VsZC1ub3QtYWRkLXJlbW92ZS1sb29wLWhpbnQtZXhlY3V0aW9uLWNvdW50ZXJzLWR1
ZS10by1jYWNoZWQtdW5saW5rZWQtYmFzZWxpbmUtY29kZS5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3N0cmVzcy9jb2RlQmxvY2stc2hvdWxkLW5vdC1hZGQtcmVtb3ZlLWxvb3AtaGludC1l
eGVjdXRpb24tY291bnRlcnMtZHVlLXRvLWNhY2hlZC11bmxpbmtlZC1iYXNlbGluZS1jb2RlLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8vQCBydW5EZWZhdWx0KCItLXJldHVy
bkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nPXRydWUiLCAiLS1mb3JjZUNvZGVCbG9j
a1RvSmV0dGlzb25EdWVUb09sZEFnZT10cnVlIiwgIi0tY29sbGVjdENvbnRpbnVvdXNseT10cnVl
IikKKworYXN5bmMgZnVuY3Rpb24gZm9vKCkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgaSsrKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgIGZvbygp
OworICAgZWRlbkdDKCk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI4MzUzNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMC0wNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQ29kZUJsb2NrIHNob3VsZCBub3QgYWRkL3JlbW92ZSBMb29wSGlu
dEV4ZWN1dGlvbkNvdW50ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxMjA5CisgICAgICAgIHJkYXI6Ly84MzU3MTIzNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSBjYWNoZWQg
dW5saW5rZWQgYmFzZWxpbmUgSklUIGNvZGUgd291bGQgcmV0YWluIGEgcG9pbnRlciB0byB0aG9z
ZQorICAgICAgICBjb3VudGVycy4gIEhlbmNlLCB0aGUgVW5saW5rZWRDb2RlQmxvY2sgc2hvdWxk
IGRvIHRoZSBhZGQgL3JlbW92ZSBvZiB0aGUgY291bnRlcnMKKyAgICAgICAgaW5zdGVhZC4KKwor
ICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9j
azo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6On5Db2RlQmxvY2sp
OgorICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpT
Qzo6VW5saW5rZWRDb2RlQmxvY2s6OmluaXRpYWxpemVMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIp
OgorICAgICAgICAoSlNDOjpVbmxpbmtlZENvZGVCbG9jazo6flVubGlua2VkQ29kZUJsb2NrKToK
KyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oOgorICAgICAgICAqIGJ5dGVj
b2RlL1VubGlua2VkQ29kZUJsb2NrR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6VW5saW5r
ZWRDb2RlQmxvY2tHZW5lcmF0b3I6OmZpbmFsaXplKToKKwogMjAyMS0xMC0wNCAgU2FhbSBCYXJh
dGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNwbGF5IHJldHVybiB2YWx1ZXMg
aW4gbmljZXIgd2F5IGluIHRoZSBqc2MgUkVQTCBhbmQgYWRkIGEgcHJldHR5UHJpbnQgZnVuY3Rp
b24KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CShyZXZpc2lvbiAyODM1MDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIyLDEyICs3MjIsNiBAQCBib29sIENvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogCi0gICAgICAgIGNhc2Ugb3BfbG9vcF9oaW50OiB7Ci0gICAgICAgICAgICBpZiAoVU5M
SUtFTFkoT3B0aW9uczo6cmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1enppbmcoKSkp
Ci0gICAgICAgICAgICAgICAgdm0uYWRkTG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGluc3RydWN0
aW9uLnB0cigpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIAogICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTg1MCwxMyAr
ODQ0LDYgQEAgQ29kZUJsb2NrOjp+Q29kZUJsb2NrKCkKICAgICAvLyBTbywgd2UgY2FuIGFjY2Vz
cyBtZW1iZXIgVW5saW5rZWRDb2RlQmxvY2sgc2FmZWx5IGhlcmUuIFdlIGJ5cGFzcyB0aGUgYXNz
ZXJ0aW9uIGJ5IHVzaW5nIHVudmFsaWRhdGVkR2V0LgogICAgIFVubGlua2VkQ29kZUJsb2NrKiB1
bmxpbmtlZENvZGVCbG9jayA9IG1fdW5saW5rZWRDb2RlLnVudmFsaWRhdGVkR2V0KCk7CiAKLSAg
ICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6cmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1
enppbmcoKSAmJiBKSVRDb2RlOjppc0Jhc2VsaW5lQ29kZShqaXRUeXBlKCkpKSkgewotICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGluc3RydWN0aW9uIDogdW5saW5rZWRDb2RlQmxvY2stPmluc3Ry
dWN0aW9ucygpKSB7Ci0gICAgICAgICAgICBpZiAoaW5zdHJ1Y3Rpb24tPmlzPE9wTG9vcEhpbnQ+
KCkpCi0gICAgICAgICAgICAgICAgdm0ucmVtb3ZlTG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGlu
c3RydWN0aW9uLnB0cigpKTsKLSAgICAgICAgfQotICAgIH0KLQogICAgIGlmIChKSVRDb2RlOjpp
c0Jhc2VsaW5lQ29kZShqaXRUeXBlKCkpKSB7CiAgICAgICAgIGlmIChtX21ldGFkYXRhKSB7CiAg
ICAgICAgICAgICBtX21ldGFkYXRhLT5mb3JFYWNoPE9wQ2F0Y2g+KFsmXShhdXRvJiBtZXRhZGF0
YSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJs
b2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5s
aW5rZWRDb2RlQmxvY2suY3BwCShyZXZpc2lvbiAyODM1MDMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
Myw2ICs4MywxNiBAQCBVbmxpbmtlZENvZGVCbG9jazo6VW5saW5rZWRDb2RlQmxvY2soVk0mCiAg
ICAgbV9sbGludEV4ZWN1dGVDb3VudGVyLnNldE5ld1RocmVzaG9sZCh0aHJlc2hvbGRGb3JKSVQo
T3B0aW9uczo6dGhyZXNob2xkRm9ySklUQWZ0ZXJXYXJtVXAoKSkpOwogfQogCit2b2lkIFVubGlu
a2VkQ29kZUJsb2NrOjppbml0aWFsaXplTG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKCkKK3sKKyAg
ICBBU1NFUlQoT3B0aW9uczo6cmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1enppbmco
KSk7CisgICAgVk0mIHZtID0gdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGluc3Ry
dWN0aW9uIDogaW5zdHJ1Y3Rpb25zKCkpIHsKKyAgICAgICAgaWYgKGluc3RydWN0aW9uLT5pczxP
cExvb3BIaW50PigpKQorICAgICAgICAgICAgdm0uYWRkTG9vcEhpbnRFeGVjdXRpb25Db3VudGVy
KGluc3RydWN0aW9uLnB0cigpKTsKKyAgICB9Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIFZpc2l0
b3I+CiB2b2lkIFVubGlua2VkQ29kZUJsb2NrOjp2aXNpdENoaWxkcmVuSW1wbChKU0NlbGwqIGNl
bGwsIFZpc2l0b3ImIHZpc2l0b3IpCiB7CkBAIC0yNzMsNiArMjgzLDEzIEBAIGJvb2wgVW5saW5r
ZWRDb2RlQmxvY2s6OnR5cGVQcm9maWxlckV4cHIKIAogVW5saW5rZWRDb2RlQmxvY2s6On5Vbmxp
bmtlZENvZGVCbG9jaygpCiB7CisgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnJldHVybkVhcmx5
RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkpKSB7CisgICAgICAgIFZNJiB2bSA9IHRoaXMt
PnZtKCk7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgaW5zdHJ1Y3Rpb24gOiBpbnN0cnVjdGlv
bnMoKSkgeworICAgICAgICAgICAgaWYgKGluc3RydWN0aW9uLT5pczxPcExvb3BIaW50PigpKQor
ICAgICAgICAgICAgICAgIHZtLnJlbW92ZUxvb3BIaW50RXhlY3V0aW9uQ291bnRlcihpbnN0cnVj
dGlvbi5wdHIoKSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIGNvbnN0IEluc3RydWN0aW9uU3Ry
ZWFtJiBVbmxpbmtlZENvZGVCbG9jazo6aW5zdHJ1Y3Rpb25zKCkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCShy
ZXZpc2lvbiAyODM1MDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRDb2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw4IEBAIHB1YmxpYzoK
IAogICAgIGVudW0geyBDYWxsRnVuY3Rpb24sIEFwcGx5RnVuY3Rpb24gfTsKIAorICAgIHZvaWQg
aW5pdGlhbGl6ZUxvb3BIaW50RXhlY3V0aW9uQ291bnRlcigpOworCiAgICAgYm9vbCBpc0NvbnN0
cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnN0cnVjdG9yOyB9CiAgICAgYm9vbCB1c2Vz
Q2FsbEV2YWwoKSBjb25zdCB7IHJldHVybiBtX3VzZXNDYWxsRXZhbDsgfQogICAgIHZvaWQgc2V0
VXNlc0NhbGxFdmFsKCkgeyBtX3VzZXNDYWxsRXZhbCA9IHRydWU7IH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9ja0dlbmVyYXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJs
b2NrR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjgzNTAzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHZvaWQgVW5saW5rZWRDb2RlQmxvY2tHZW5lcmF0b3I6OmZp
bmFsaXoKICAgICAgICAgICAgIG1fY29kZUJsb2NrLT5tX3JhcmVEYXRhLT5tX2JpdFZlY3RvcnMg
PSBXVEZNb3ZlKG1fYml0VmVjdG9ycyk7CiAgICAgICAgICAgICBtX2NvZGVCbG9jay0+bV9yYXJl
RGF0YS0+bV9jb25zdGFudElkZW50aWZpZXJTZXRzID0gV1RGTW92ZShtX2NvbnN0YW50SWRlbnRp
ZmllclNldHMpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnJl
dHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nKCkpKQorICAgICAgICAgICAgbV9j
b2RlQmxvY2stPmluaXRpYWxpemVMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoKTsKICAgICB9CiAg
ICAgbV92bS5oZWFwLndyaXRlQmFycmllcihtX2NvZGVCbG9jay5nZXQoKSk7CiAgICAgbV92bS5o
ZWFwLnJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKG1fY29kZUJsb2NrLT5tX2luc3RydWN0aW9u
cy0+c2l6ZUluQnl0ZXMoKSArIG1fY29kZUJsb2NrLT5tX21ldGFkYXRhLT5zaXplSW5CeXRlcygp
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>