<?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>230972</bug_id>
          
          <creation_ts>2021-09-29 11:41:53 -0700</creation_ts>
          <short_desc>We need to load the baseline JIT&apos;s constant pool register after OSR exit to checkpoints if we return to baseline code</short_desc>
          <delta_ts>2021-09-29 18:05:00 -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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</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>1798476</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 11:41:53 -0700</bug_when>
    <thetext>Consider this:
- We have a CodeBlock A.
- DFG or FTL compiles an exit to A when A is still LLInt code. This means the OSR exit code will materialize registers as if A is LLInt.
- We tier up A to Baseline JIT code
- Now, we take the exit to A, as if it&apos;s LLInt. But the checkpoint OSR exit code will actually jump to the tiered up baseline code when it&apos;s done, because it determines where to jump at runtime. Because of this, when we return from the checkpoint code, if we are jumping into baseline code, we must always load the constant pool register.
- There&apos;s no need to load the metadata register because that register is shared with LLInt code, and will already contain the right value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798478</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 11:42:27 -0700</bug_when>
    <thetext>&lt;rdar://83659469&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798479</commentid>
    <comment_count>2</comment_count>
      <attachid>439635</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 11:51:10 -0700</bug_when>
    <thetext>Created attachment 439635
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798493</commentid>
    <comment_count>3</comment_count>
      <attachid>439635</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-09-29 12:13:05 -0700</bug_when>
    <thetext>Comment on attachment 439635
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798495</commentid>
    <comment_count>4</comment_count>
      <attachid>439635</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-29 12:17:34 -0700</bug_when>
    <thetext>Comment on attachment 439635
patch

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

r=me too

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:2501
&gt; +macro loadBaselineJITConstantPool()
&gt; +    # Baseline uses LLInt&apos;s PB register for its JIT constant pool.
&gt; +    loadp CodeBlock[cfr], PB
&gt; +    loadp CodeBlock::m_jitData[PB], PB
&gt; +    loadp CodeBlock::JITData::m_jitConstantPool[PB], PB
&gt; +end
&gt; +
&gt; +macro setupReturnToBaselineAfterCheckpointExitIfNeeded()
&gt; +    # DFG or FTL OSR exit could have compiled an OSR exit to LLInt code.
&gt; +    # That means it set up registers as if execution would happen in the
&gt; +    # LLInt. However, during OSR exit for checkpoints, we might return to
&gt; +    # JIT code if it&apos;s already compiled. After the OSR exit gets compiled,
&gt; +    # we can tier up to JIT code. And checkpoint exit will jump to it.
&gt; +    # That means we always need to set up our constant pool GPR, because the OSR
&gt; +    # exit code might not have done it.
&gt; +    bpneq r0, 1, .notBaselineJIT
&gt; +    loadBaselineJITConstantPool()
&gt; +.notBaselineJIT:

We need to have `if JIT` thing before accessing to CodeBlock::m_jitData to ensure that LLInt without JIT configuration works. (Not using CLoop, but not using JIT).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798503</commentid>
    <comment_count>5</comment_count>
      <attachid>439644</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 12:25:10 -0700</bug_when>
    <thetext>Created attachment 439644
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798708</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-29 17:47:49 -0700</bug_when>
    <thetext>Committed r283288 (242315@main): &lt;https://commits.webkit.org/242315@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439644.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439635</attachid>
            <date>2021-09-29 11:51:10 -0700</date>
            <delta_ts>2021-09-29 12:25:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>9411</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODMyNDIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDIxLTA5LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gbG9hZCB0aGUgYmFzZWxpbmUgSklUJ3MgY29uc3Rh
bnQgcG9vbCByZWdpc3RlciBhZnRlciBPU1IgZXhpdCB0byBjaGVja3BvaW50cyBpZiB3ZSByZXR1
cm4gdG8gYmFzZWxpbmUgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMwOTcyCisgICAgICAgIDxyZGFyOi8vODM2NTk0Njk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvY2hlY2twb2lu
dC1vc3ItZXhpdC1uZWVkcy10by1yZWxvYWQtYmFzZWxpbmUtaml0LWNvbnN0YW50LXBvb2wtZ3By
LmpzOiBBZGRlZC4KKyAgICAgICAgKGVtcHR5KToKKyAgICAgICAgKGVtcHR5Mik6CisgICAgICAg
ICh0ZXN0KToKKwogMjAyMS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBDb2RlIGluc2lkZSBzdHJlbmd0aCByZWR1Y3Rpb24gY2FuIGluY29ycmVjdGx5
IHByb3ZlIHRoYXQgd2Uga25vdyB3aGF0IGxhc3RJbmRleCBpcwpJbmRleDogSlNUZXN0cy9zdHJl
c3MvY2hlY2twb2ludC1vc3ItZXhpdC1uZWVkcy10by1yZWxvYWQtYmFzZWxpbmUtaml0LWNvbnN0
YW50LXBvb2wtZ3ByLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NoZWNrcG9pbnQt
b3NyLWV4aXQtbmVlZHMtdG8tcmVsb2FkLWJhc2VsaW5lLWppdC1jb25zdGFudC1wb29sLWdwci5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9jaGVja3BvaW50LW9zci1leGl0LW5l
ZWRzLXRvLXJlbG9hZC1iYXNlbGluZS1qaXQtY29uc3RhbnQtcG9vbC1ncHIuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZW1wdHkoKSB7fQorZnVuY3Rpb24gZW1w
dHkyKCkge30KKworZnVuY3Rpb24gdGVzdChhcnIpIHsKKyAgICBlbXB0eS5hcHBseSh1bmRlZmlu
ZWQsIGFycik7CisgICAgZW1wdHkyKCk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7
IGkrKykgeworICAgIGxldCBhcnIgPSBbXTsKKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGkrMTAw
MDA7IGorKykgeworICAgICAgICBhcnIucHVzaCh1bmRlZmluZWQpOworICAgIH0KKyAgICB0ZXN0
KGFycik7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4MzI0MikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNCBAQAorMjAyMS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
KworICAgICAgICBXZSBuZWVkIHRvIGxvYWQgdGhlIGJhc2VsaW5lIEpJVCdzIGNvbnN0YW50IHBv
b2wgcmVnaXN0ZXIgYWZ0ZXIgT1NSIGV4aXQgdG8gY2hlY2twb2ludHMgaWYgd2UgcmV0dXJuIHRv
IGJhc2VsaW5lIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMDk3MgorICAgICAgICA8cmRhcjovLzgzNjU5NDY5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnNpZGVyIHRoZSBmb2xsb3dpbmc6
CisgICAgICAgIC0gV2UgaGF2ZSBhIENvZGVCbG9jayBBLgorICAgICAgICAtIERGRyBvciBGVEwg
Y29tcGlsZXMgYW4gZXhpdCB0byBBIHdoZW4gQSBpcyBzdGlsbCBMTEludCBjb2RlLiBUaGlzIG1l
YW5zCisgICAgICAgICAgdGhlIE9TUiBleGl0IGNvZGUgd2lsbCBtYXRlcmlhbGl6ZSByZWdpc3Rl
cnMgYXMgaWYgQSBpcyBMTEludC4KKyAgICAgICAgLSBXZSB0aWVyIHVwIEEgdG8gQmFzZWxpbmUg
SklUIGNvZGUuCisgICAgICAgIC0gTm93LCB3ZSB0YWtlIHRoZSBleGl0IHRvIEEgYXMgaWYgaXQn
cyBMTEludC4gQnV0IHRoZSBjaGVja3BvaW50IE9TUiBleGl0CisgICAgICAgICAgY29kZSB3aWxs
IGFjdHVhbGx5IGp1bXAgdG8gdGhlIHRpZXJlZCB1cCBiYXNlbGluZSBjb2RlIHdoZW4gaXQncyBk
b25lLAorICAgICAgICAgIGJlY2F1c2UgaXQgZGV0ZXJtaW5lcyB3aGVyZSB0byBqdW1wIGF0IHJ1
bnRpbWUuIEJlY2F1c2Ugb2YgdGhpcywgd2hlbgorICAgICAgICAgIHdlIHJldHVybiBmcm9tIHRo
ZSBjaGVja3BvaW50IGNvZGUsIGFuZCBpZiB3ZSBhcmUganVtcGluZyBpbnRvIGJhc2VsaW5lCisg
ICAgICAgICAgY29kZSwgd2UgbXVzdCBhbHdheXMgbG9hZCB0aGUgY29uc3RhbnQgcG9vbCByZWdp
c3Rlci4KKyAgICAgICAgLSBUaGVyZSdzIG5vIG5lZWQgdG8gbG9hZCB0aGUgbWV0YWRhdGEgcmVn
aXN0ZXIgYmVjYXVzZSB0aGF0IHJlZ2lzdGVyIGlzCisgICAgICAgICAgc2hhcmVkIHdpdGggTExJ
bnQgY29kZSwgYW5kIHdpbGwgYWxyZWFkeSBjb250YWluIHRoZSByaWdodCB2YWx1ZS4KKworICAg
ICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFp
blBhc3MpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpT
Qzo6TExJbnQ6OmRpc3BhdGNoVG9OZXh0SW5zdHJ1Y3Rpb25EdXJpbmdFeGl0KToKKyAgICAgICAg
KEpTQzo6TExJbnQ6OmxsaW50X3Nsb3dfcGF0aF9jaGVja3BvaW50X29zcl9leGl0X2Zyb21faW5s
aW5lZF9jYWxsKToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmxsaW50X3Nsb3dfcGF0aF9jaGVja3Bv
aW50X29zcl9leGl0KToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmRpc3BhdGNoVG9OZXh0SW5zdHJ1
Y3Rpb24pOiBEZWxldGVkLgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisKIDIwMjEtMDkt
MjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBS
ZW1vdmUgQ29kZUJsb2NrOjptX2xsaW50RXhlY3V0ZUNvdW50ZXIKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAJKHJldmlzaW9uIDI4MzIzMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcwLDYgKzI3MCwxOCBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgICAgICBzaXplTWFya2VyID0gbV92
bS0+aml0U2l6ZVN0YXRpc3RpY3MtPm1hcmtTdGFydChpZCwgKnRoaXMpOwogICAgICAgICB9CiAK
KyNpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICBpZiAob3Bjb2RlSUQgIT0gb3BfY2F0Y2gpIHsK
KyAgICAgICAgICAgIHByb2JlRGVidWcoWz1dIChQcm9iZTo6Q29udGV4dCYgY3R4KSB7CisgICAg
ICAgICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBjdHguZnA8Q2FsbEZyYW1lKj4oKS0+
Y29kZUJsb2NrKCk7CisgICAgICAgICAgICAgICAgYXV0byogY29uc3RhbnRQb29sID0gY3R4Lmdw
cjx2b2lkKj4oc19jb25zdGFudHNHUFIpOworICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGNvZGVCbG9jay0+YmFzZWxpbmVKSVRDb25zdGFudFBvb2woKSA9PSBjb25zdGFudFBvb2wpOwor
ICAgICAgICAgICAgICAgIGF1dG8qIG1ldGFkYXRhID0gY3R4Lmdwcjx2b2lkKj4oc19tZXRhZGF0
YUdQUik7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY29kZUJsb2NrLT5tZXRhZGF0
YVRhYmxlKCkgPT0gbWV0YWRhdGEpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyNlbmRp
ZgorCiAgICAgICAgIGlmIChVTkxJS0VMWShtX2NvbXBpbGF0aW9uKSkgewogICAgICAgICAgICAg
YWRkNjQoCiAgICAgICAgICAgICAgICAgVHJ1c3RlZEltbTMyKDEpLApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyODMy
MzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDA5LDcgKzI0MDksNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVJdGVy
YXRvck5leHRDaGVja3BvaW50CiAgICAgICAgIHZhbHVlUmVnaXN0ZXIgPSBpdGVyYXRvclJlc3Vs
dE9iamVjdC5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZSk7CiB9CiAK
LWlubGluZSBTbG93UGF0aFJldHVyblR5cGUgZGlzcGF0Y2hUb05leHRJbnN0cnVjdGlvbihUaHJv
d1Njb3BlJiBzY29wZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWN0aW9uU3RyZWFtOjpS
ZWYgcGMpCitpbmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBlIGRpc3BhdGNoVG9OZXh0SW5zdHJ1Y3Rp
b25EdXJpbmdFeGl0KFRocm93U2NvcGUmIHNjb3BlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5z
dHJ1Y3Rpb25TdHJlYW06OlJlZiBwYykKIHsKICAgICBpZiAoc2NvcGUuZXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQocmV0dXJuVG9UaHJvdyhzY29wZS52bSgpKSwgbnVs
bHB0cik7CkBAIC0yNDI3LDcgKzI0MjcsNyBAQCBpbmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBlIGRp
c3BhdGNoVG9OZXh0CiAgICAgQVNTRVJUKGNvZGVCbG9jay0+aml0VHlwZSgpID09IEpJVFR5cGU6
OkJhc2VsaW5lSklUKTsKICAgICBCeXRlY29kZUluZGV4IG5leHRCeXRlY29kZUluZGV4ID0gcGMu
bmV4dCgpLmluZGV4KCk7CiAgICAgYXV0byBuZXh0Qnl0ZWNvZGUgPSBjb2RlQmxvY2stPmppdENv
ZGVNYXAoKS5maW5kKG5leHRCeXRlY29kZUluZGV4KTsKLSAgICByZXR1cm4gZW5jb2RlUmVzdWx0
KG51bGxwdHIsIG5leHRCeXRlY29kZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKKyAgICByZXR1cm4g
ZW5jb2RlUmVzdWx0KGJpdHdpc2VfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8dWludHB0cl90Pigx
KSksIG5leHRCeXRlY29kZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICNlbmRpZgogICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC0yNDc5LDcgKzI0NzksNyBAQCBleHRlcm4g
IkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF9zbG93CiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAotICAgIHJldHVybiBkaXNwYXRjaFRvTmV4dEluc3RydWN0aW9uKHNjb3BlLCBjb2RlQmxvY2ss
IHBjKTsKKyAgICByZXR1cm4gZGlzcGF0Y2hUb05leHRJbnN0cnVjdGlvbkR1cmluZ0V4aXQoc2Nv
cGUsIGNvZGVCbG9jaywgcGMpOwogfQogCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBs
bGludF9zbG93X3BhdGhfY2hlY2twb2ludF9vc3JfZXhpdChDYWxsRnJhbWUqIGNhbGxGcmFtZSwg
RW5jb2RlZEpTVmFsdWUgLyogbmVlZGVkIGZvciBjQ2FsbDIgaW4gQ0xvb3AgKi8pCkBAIC0yNTI0
LDcgKzI1MjQsNyBAQCBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF9zbG93CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVybiBkaXNwYXRjaFRvTmV4dEluc3RydWN0
aW9uKHNjb3BlLCBjb2RlQmxvY2ssIHBjKTsKKyAgICByZXR1cm4gZGlzcGF0Y2hUb05leHRJbnN0
cnVjdGlvbkR1cmluZ0V4aXQoc2NvcGUsIGNvZGVCbG9jaywgcGMpOwogfQogCiBleHRlcm4gIkMi
IFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVyZmxvd19lcnJvcihWTSog
dm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0ZyYW1lKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJldmlzaW9u
IDI4MzIzMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsMTAgKzQ0NCw3IEBAIGlmIEpJVAogICAg
ICAgICAgICAgICAgIGJ0cHogcjAsIC5yZWNvdmVyCiAgICAgICAgICAgICAgICAgbW92ZSByMSwg
c3AKIAotICAgICAgICAgICAgICAgICMgQmFzZWxpbmUgdXNlcyBMTEludCdzIFBCIHJlZ2lzdGVy
IGZvciBpdHMgSklUIGNvbnN0YW50IHBvb2wuCi0gICAgICAgICAgICAgICAgbG9hZHAgQ29kZUJs
b2NrW2Nmcl0sIFBCCi0gICAgICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2ppdERhdGFb
UEJdLCBQQgotICAgICAgICAgICAgICAgIGxvYWRwIENvZGVCbG9jazo6SklURGF0YTo6bV9qaXRD
b25zdGFudFBvb2xbUEJdLCBQQgorICAgICAgICAgICAgICAgIGxvYWRCYXNlbGluZUpJVENvbnN0
YW50UG9vbCgpCiAKICAgICAgICAgICAgICAgICBpZiBBUk02NEUKICAgICAgICAgICAgICAgICAg
ICAgbGVhcCBKU0NDb25maWcgKyBjb25zdGV4cHIgSlNDOjpvZmZzZXRPZkpTQ0NvbmZpZ0dhdGVN
YXAgKyAoY29uc3RleHByIEdhdGU6Omxvb3BPU1JFbnRyeSkgKiBQdHJTaXplLCBhMgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbQkocmV2aXNpb24gMjgzMjMyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDgxLDYgKzI0ODEsMjYg
QEAgb3AobGxpbnRfaW50ZXJuYWxfZnVuY3Rpb25fY29uc3RydWN0X3RyYQogICAgIGludGVybmFs
RnVuY3Rpb25DYWxsVHJhbXBvbGluZShJbnRlcm5hbEZ1bmN0aW9uOjptX2Z1bmN0aW9uRm9yQ29u
c3RydWN0KQogZW5kKQogCittYWNybyBsb2FkQmFzZWxpbmVKSVRDb25zdGFudFBvb2woKQorICAg
ICMgQmFzZWxpbmUgdXNlcyBMTEludCdzIFBCIHJlZ2lzdGVyIGZvciBpdHMgSklUIGNvbnN0YW50
IHBvb2wuCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIFBCCisgICAgbG9hZHAgQ29kZUJsb2Nr
OjptX2ppdERhdGFbUEJdLCBQQgorICAgIGxvYWRwIENvZGVCbG9jazo6SklURGF0YTo6bV9qaXRD
b25zdGFudFBvb2xbUEJdLCBQQgorZW5kCisKK21hY3JvIHNldHVwUmV0dXJuVG9CYXNlbGluZUFm
dGVyQ2hlY2twb2ludEV4aXRJZk5lZWRlZCgpCisgICAgIyBERkcgb3IgRlRMIE9TUiBleGl0IGNv
dWxkIGhhdmUgY29tcGlsZWQgYW4gT1NSIGV4aXQgdG8gTExJbnQgY29kZS4KKyAgICAjIFRoYXQg
bWVhbnMgaXQgc2V0IHVwIHJlZ2lzdGVycyBhcyBpZiBleGVjdXRpb24gd291bGQgaGFwcGVuIGlu
IHRoZQorICAgICMgTExJbnQuIEhvd2V2ZXIsIGR1cmluZyBPU1IgZXhpdCBmb3IgY2hlY2twb2lu
dHMsIHdlIG1pZ2h0IHJldHVybiB0bworICAgICMgSklUIGNvZGUgaWYgaXQncyBhbHJlYWR5IGNv
bXBpbGVkLiBBZnRlciB0aGUgT1NSIGV4aXQgZ2V0cyBjb21waWxlZCwKKyAgICAjIHdlIGNhbiB0
aWVyIHVwIHRvIEpJVCBjb2RlLiBBbmQgY2hlY2twb2ludCBleGl0IHdpbGwganVtcCB0byBpdC4K
KyAgICAjIFRoYXQgbWVhbnMgd2UgYWx3YXlzIG5lZWQgdG8gc2V0IHVwIG91ciBjb25zdGFudCBw
b29sIEdQUiwgYmVjYXVzZSB0aGUgT1NSCisgICAgIyBleGl0IGNvZGUgbWlnaHQgbm90IGhhdmUg
ZG9uZSBpdC4KKyAgICBicG5lcSByMCwgMSwgLm5vdEJhc2VsaW5lSklUCisgICAgbG9hZEJhc2Vs
aW5lSklUQ29uc3RhbnRQb29sKCkKKy5ub3RCYXNlbGluZUpJVDoKKworZW5kCiAKIG9wKGNoZWNr
cG9pbnRfb3NyX2V4aXRfZnJvbV9pbmxpbmVkX2NhbGxfdHJhbXBvbGluZSwgbWFjcm8gKCkKICAg
ICBpZiAoSlNWQUxVRTY0IGFuZCBub3QgKENfTE9PUCBvciBDX0xPT1BfV0lOKSkgb3IgQVJNdjcg
b3IgTUlQUwpAQCAtMjUwNSw4ICsyNTI1LDEwIEBAIG9wKGNoZWNrcG9pbnRfb3NyX2V4aXRfZnJv
bV9pbmxpbmVkX2NhbGwKICAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfc2xvd19wYXRoX2NoZWNr
cG9pbnRfb3NyX2V4aXRfZnJvbV9pbmxpbmVkX2NhbGwpCiAgICAgICAgIGVuZAogCisgICAgICAg
IHNldHVwUmV0dXJuVG9CYXNlbGluZUFmdGVyQ2hlY2twb2ludEV4aXRJZk5lZWRlZCgpCiAgICAg
ICAgIHJlc3RvcmVTdGF0ZUFmdGVyQ0NhbGwoKQogICAgICAgICBicmFuY2hJZkV4Y2VwdGlvbihf
bGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZSkKKwogICAgICAgICBpZiBBUk02
NEUKICAgICAgICAgICAgIG1vdmUgcjEsIGEwCiAgICAgICAgICAgICBsZWFwIEpTQ0NvbmZpZyAr
IGNvbnN0ZXhwciBKU0M6Om9mZnNldE9mSlNDQ29uZmlnR2F0ZU1hcCArIChjb25zdGV4cHIgR2F0
ZTo6bG9vcE9TUkVudHJ5KSAqIFB0clNpemUsIGEyCkBAIC0yNTI4LDYgKzI1NTAsNyBAQCBvcChj
aGVja3BvaW50X29zcl9leGl0X3RyYW1wb2xpbmUsIG1hY3JvCiAgICAgICAgIG1vdmUgY2ZyLCBh
MAogICAgICAgICAjIFdlIGRvbid0IGNhbGwgc2F2ZVN0YXRlRm9yQ0NhbGwoKSBiZWNhdXNlIHdl
IGFyZSBnb2luZyB0byB1c2UgdGhlIGJ5dGVjb2RlSW5kZXggZnJvbSBvdXIgc2lkZSBzdGF0ZS4K
ICAgICAgICAgY0NhbGwyKF9sbGludF9zbG93X3BhdGhfY2hlY2twb2ludF9vc3JfZXhpdCkKKyAg
ICAgICAgc2V0dXBSZXR1cm5Ub0Jhc2VsaW5lQWZ0ZXJDaGVja3BvaW50RXhpdElmTmVlZGVkKCkK
ICAgICAgICAgcmVzdG9yZVN0YXRlQWZ0ZXJDQ2FsbCgpCiAgICAgICAgIGJyYW5jaElmRXhjZXB0
aW9uKF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lKQogICAgICAgICBpZiBB
Uk02NEUK
</data>
<flag name="review"
          id="463326"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439644</attachid>
            <date>2021-09-29 12:25:10 -0700</date>
            <delta_ts>2021-09-29 18:05:00 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>9561</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODMyNDIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDIxLTA5LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gbG9hZCB0aGUgYmFzZWxpbmUgSklUJ3MgY29uc3Rh
bnQgcG9vbCByZWdpc3RlciBhZnRlciBPU1IgZXhpdCB0byBjaGVja3BvaW50cyBpZiB3ZSByZXR1
cm4gdG8gYmFzZWxpbmUgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMwOTcyCisgICAgICAgIDxyZGFyOi8vODM2NTk0Njk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyayBMYW0gYW5kIFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBzdHJl
c3MvY2hlY2twb2ludC1vc3ItZXhpdC1uZWVkcy10by1yZWxvYWQtYmFzZWxpbmUtaml0LWNvbnN0
YW50LXBvb2wtZ3ByLmpzOiBBZGRlZC4KKyAgICAgICAgKGVtcHR5KToKKyAgICAgICAgKGVtcHR5
Mik6CisgICAgICAgICh0ZXN0KToKKwogMjAyMS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBDb2RlIGluc2lkZSBzdHJlbmd0aCByZWR1Y3Rpb24gY2Fu
IGluY29ycmVjdGx5IHByb3ZlIHRoYXQgd2Uga25vdyB3aGF0IGxhc3RJbmRleCBpcwpJbmRleDog
SlNUZXN0cy9zdHJlc3MvY2hlY2twb2ludC1vc3ItZXhpdC1uZWVkcy10by1yZWxvYWQtYmFzZWxp
bmUtaml0LWNvbnN0YW50LXBvb2wtZ3ByLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L2NoZWNrcG9pbnQtb3NyLWV4aXQtbmVlZHMtdG8tcmVsb2FkLWJhc2VsaW5lLWppdC1jb25zdGFu
dC1wb29sLWdwci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9jaGVja3BvaW50
LW9zci1leGl0LW5lZWRzLXRvLXJlbG9hZC1iYXNlbGluZS1qaXQtY29uc3RhbnQtcG9vbC1ncHIu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZW1wdHkoKSB7fQor
ZnVuY3Rpb24gZW1wdHkyKCkge30KKworZnVuY3Rpb24gdGVzdChhcnIpIHsKKyAgICBlbXB0eS5h
cHBseSh1bmRlZmluZWQsIGFycik7CisgICAgZW1wdHkyKCk7Cit9CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7IGkrKykgeworICAgIGxldCBhcnIgPSBbXTsKKyAgICBmb3IgKGxldCBqID0g
MDsgaiA8IGkrMTAwMDA7IGorKykgeworICAgICAgICBhcnIucHVzaCh1bmRlZmluZWQpOworICAg
IH0KKyAgICB0ZXN0KGFycik7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI4MzI0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzNCBAQAorMjAyMS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KKworICAgICAgICBXZSBuZWVkIHRvIGxvYWQgdGhlIGJhc2VsaW5lIEpJVCdz
IGNvbnN0YW50IHBvb2wgcmVnaXN0ZXIgYWZ0ZXIgT1NSIGV4aXQgdG8gY2hlY2twb2ludHMgaWYg
d2UgcmV0dXJuIHRvIGJhc2VsaW5lIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDk3MgorICAgICAgICA8cmRhcjovLzgzNjU5NDY5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtIGFuZCBZdXN1a2UgU3V6dWtpLgorCisgICAgICAg
IENvbnNpZGVyIHRoZSBmb2xsb3dpbmc6CisgICAgICAgIC0gV2UgaGF2ZSBhIENvZGVCbG9jayBB
LgorICAgICAgICAtIERGRyBvciBGVEwgY29tcGlsZXMgYW4gZXhpdCB0byBBIHdoZW4gQSBpcyBz
dGlsbCBMTEludCBjb2RlLiBUaGlzIG1lYW5zCisgICAgICAgICAgdGhlIE9TUiBleGl0IGNvZGUg
d2lsbCBtYXRlcmlhbGl6ZSByZWdpc3RlcnMgYXMgaWYgQSBpcyBMTEludC4KKyAgICAgICAgLSBX
ZSB0aWVyIHVwIEEgdG8gQmFzZWxpbmUgSklUIGNvZGUuCisgICAgICAgIC0gTm93LCB3ZSB0YWtl
IHRoZSBleGl0IHRvIEEgYXMgaWYgaXQncyBMTEludC4gQnV0IHRoZSBjaGVja3BvaW50IE9TUiBl
eGl0CisgICAgICAgICAgY29kZSB3aWxsIGFjdHVhbGx5IGp1bXAgdG8gdGhlIHRpZXJlZCB1cCBi
YXNlbGluZSBjb2RlIHdoZW4gaXQncyBkb25lLAorICAgICAgICAgIGJlY2F1c2UgaXQgZGV0ZXJt
aW5lcyB3aGVyZSB0byBqdW1wIGF0IHJ1bnRpbWUuIEJlY2F1c2Ugb2YgdGhpcywgd2hlbgorICAg
ICAgICAgIHdlIHJldHVybiBmcm9tIHRoZSBjaGVja3BvaW50IGNvZGUsIGFuZCBpZiB3ZSBhcmUg
anVtcGluZyBpbnRvIGJhc2VsaW5lCisgICAgICAgICAgY29kZSwgd2UgbXVzdCBhbHdheXMgbG9h
ZCB0aGUgY29uc3RhbnQgcG9vbCByZWdpc3Rlci4KKyAgICAgICAgLSBUaGVyZSdzIG5vIG5lZWQg
dG8gbG9hZCB0aGUgbWV0YWRhdGEgcmVnaXN0ZXIgYmVjYXVzZSB0aGF0IHJlZ2lzdGVyIGlzCisg
ICAgICAgICAgc2hhcmVkIHdpdGggTExJbnQgY29kZSwgYW5kIHdpbGwgYWxyZWFkeSBjb250YWlu
IHRoZSByaWdodCB2YWx1ZS4KKworICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xv
d1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OmRpc3BhdGNoVG9OZXh0SW5zdHJ1Y3Rp
b25EdXJpbmdFeGl0KToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmxsaW50X3Nsb3dfcGF0aF9jaGVj
a3BvaW50X29zcl9leGl0X2Zyb21faW5saW5lZF9jYWxsKToKKyAgICAgICAgKEpTQzo6TExJbnQ6
OmxsaW50X3Nsb3dfcGF0aF9jaGVja3BvaW50X29zcl9leGl0KToKKyAgICAgICAgKEpTQzo6TExJ
bnQ6OmRpc3BhdGNoVG9OZXh0SW5zdHJ1Y3Rpb24pOiBEZWxldGVkLgorICAgICAgICAqIGxsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206CisKIDIwMjEtMDktMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlNDXSBSZW1vdmUgQ29kZUJsb2NrOjptX2xsaW50RXhlY3V0ZUNv
dW50ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHJldmlzaW9uIDI4MzIzMikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcwLDYgKzI3MCwxOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAg
ICAgICAgICBzaXplTWFya2VyID0gbV92bS0+aml0U2l6ZVN0YXRpc3RpY3MtPm1hcmtTdGFydChp
ZCwgKnRoaXMpOwogICAgICAgICB9CiAKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICBpZiAo
b3Bjb2RlSUQgIT0gb3BfY2F0Y2gpIHsKKyAgICAgICAgICAgIHByb2JlRGVidWcoWz1dIChQcm9i
ZTo6Q29udGV4dCYgY3R4KSB7CisgICAgICAgICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sg
PSBjdHguZnA8Q2FsbEZyYW1lKj4oKS0+Y29kZUJsb2NrKCk7CisgICAgICAgICAgICAgICAgYXV0
byogY29uc3RhbnRQb29sID0gY3R4Lmdwcjx2b2lkKj4oc19jb25zdGFudHNHUFIpOworICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGNvZGVCbG9jay0+YmFzZWxpbmVKSVRDb25zdGFudFBv
b2woKSA9PSBjb25zdGFudFBvb2wpOworICAgICAgICAgICAgICAgIGF1dG8qIG1ldGFkYXRhID0g
Y3R4Lmdwcjx2b2lkKj4oc19tZXRhZGF0YUdQUik7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoY29kZUJsb2NrLT5tZXRhZGF0YVRhYmxlKCkgPT0gbWV0YWRhdGEpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgIGlmIChVTkxJS0VMWShtX2NvbXBp
bGF0aW9uKSkgewogICAgICAgICAgICAgYWRkNjQoCiAgICAgICAgICAgICAgICAgVHJ1c3RlZElt
bTMyKDEpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCShyZXZpc2lvbiAyODMyMzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDA5LDcgKzI0MDksNyBA
QCBzdGF0aWMgdm9pZCBoYW5kbGVJdGVyYXRvck5leHRDaGVja3BvaW50CiAgICAgICAgIHZhbHVl
UmVnaXN0ZXIgPSBpdGVyYXRvclJlc3VsdE9iamVjdC5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9w
ZXJ0eU5hbWVzLT52YWx1ZSk7CiB9CiAKLWlubGluZSBTbG93UGF0aFJldHVyblR5cGUgZGlzcGF0
Y2hUb05leHRJbnN0cnVjdGlvbihUaHJvd1Njb3BlJiBzY29wZSwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIEluc3RydWN0aW9uU3RyZWFtOjpSZWYgcGMpCitpbmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBl
IGRpc3BhdGNoVG9OZXh0SW5zdHJ1Y3Rpb25EdXJpbmdFeGl0KFRocm93U2NvcGUmIHNjb3BlLCBD
b2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1Y3Rpb25TdHJlYW06OlJlZiBwYykKIHsKICAgICBp
ZiAoc2NvcGUuZXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQocmV0dXJu
VG9UaHJvdyhzY29wZS52bSgpKSwgbnVsbHB0cik7CkBAIC0yNDI3LDcgKzI0MjcsNyBAQCBpbmxp
bmUgU2xvd1BhdGhSZXR1cm5UeXBlIGRpc3BhdGNoVG9OZXh0CiAgICAgQVNTRVJUKGNvZGVCbG9j
ay0+aml0VHlwZSgpID09IEpJVFR5cGU6OkJhc2VsaW5lSklUKTsKICAgICBCeXRlY29kZUluZGV4
IG5leHRCeXRlY29kZUluZGV4ID0gcGMubmV4dCgpLmluZGV4KCk7CiAgICAgYXV0byBuZXh0Qnl0
ZWNvZGUgPSBjb2RlQmxvY2stPmppdENvZGVNYXAoKS5maW5kKG5leHRCeXRlY29kZUluZGV4KTsK
LSAgICByZXR1cm4gZW5jb2RlUmVzdWx0KG51bGxwdHIsIG5leHRCeXRlY29kZS5leGVjdXRhYmxl
QWRkcmVzcygpKTsKKyAgICByZXR1cm4gZW5jb2RlUmVzdWx0KGJpdHdpc2VfY2FzdDx2b2lkKj4o
c3RhdGljX2Nhc3Q8dWludHB0cl90PigxKSksIG5leHRCeXRlY29kZS5leGVjdXRhYmxlQWRkcmVz
cygpKTsKICNlbmRpZgogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC0y
NDc5LDcgKzI0NzksNyBAQCBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF9zbG93
CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVybiBkaXNwYXRjaFRvTmV4dEluc3Ry
dWN0aW9uKHNjb3BlLCBjb2RlQmxvY2ssIHBjKTsKKyAgICByZXR1cm4gZGlzcGF0Y2hUb05leHRJ
bnN0cnVjdGlvbkR1cmluZ0V4aXQoc2NvcGUsIGNvZGVCbG9jaywgcGMpOwogfQogCiBleHRlcm4g
IkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF9zbG93X3BhdGhfY2hlY2twb2ludF9vc3JfZXhp
dChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUgLyogbmVlZGVkIGZvciBjQ2Fs
bDIgaW4gQ0xvb3AgKi8pCkBAIC0yNTI0LDcgKzI1MjQsNyBAQCBleHRlcm4gIkMiIFNsb3dQYXRo
UmV0dXJuVHlwZSBsbGludF9zbG93CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVy
biBkaXNwYXRjaFRvTmV4dEluc3RydWN0aW9uKHNjb3BlLCBjb2RlQmxvY2ssIHBjKTsKKyAgICBy
ZXR1cm4gZGlzcGF0Y2hUb05leHRJbnN0cnVjdGlvbkR1cmluZ0V4aXQoc2NvcGUsIGNvZGVCbG9j
aywgcGMpOwogfQogCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19z
dGFja19vdmVyZmxvd19lcnJvcihWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0ZyYW1lKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc20JKHJldmlzaW9uIDI4MzIzMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC00NDQs
MTAgKzQ0NCw3IEBAIGlmIEpJVAogICAgICAgICAgICAgICAgIGJ0cHogcjAsIC5yZWNvdmVyCiAg
ICAgICAgICAgICAgICAgbW92ZSByMSwgc3AKIAotICAgICAgICAgICAgICAgICMgQmFzZWxpbmUg
dXNlcyBMTEludCdzIFBCIHJlZ2lzdGVyIGZvciBpdHMgSklUIGNvbnN0YW50IHBvb2wuCi0gICAg
ICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIFBCCi0gICAgICAgICAgICAgICAgbG9h
ZHAgQ29kZUJsb2NrOjptX2ppdERhdGFbUEJdLCBQQgotICAgICAgICAgICAgICAgIGxvYWRwIENv
ZGVCbG9jazo6SklURGF0YTo6bV9qaXRDb25zdGFudFBvb2xbUEJdLCBQQgorICAgICAgICAgICAg
ICAgIGxvYWRCYXNlbGluZUpJVENvbnN0YW50UG9vbCgpCiAKICAgICAgICAgICAgICAgICBpZiBB
Uk02NEUKICAgICAgICAgICAgICAgICAgICAgbGVhcCBKU0NDb25maWcgKyBjb25zdGV4cHIgSlND
OjpvZmZzZXRPZkpTQ0NvbmZpZ0dhdGVNYXAgKyAoY29uc3RleHByIEdhdGU6Omxvb3BPU1JFbnRy
eSkgKiBQdHJTaXplLCBhMgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQkocmV2aXNpb24gMjgzMjMyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDgyLDYgKzI0ODIsMzIgQEAgb3AobGxpbnRfaW50ZXJuYWxfZnVuY3Rpb25fY29u
c3RydWN0X3RyYQogZW5kKQogCiAKK2lmIEpJVAorICAgIG1hY3JvIGxvYWRCYXNlbGluZUpJVENv
bnN0YW50UG9vbCgpCisgICAgICAgICMgQmFzZWxpbmUgdXNlcyBMTEludCdzIFBCIHJlZ2lzdGVy
IGZvciBpdHMgSklUIGNvbnN0YW50IHBvb2wuCisgICAgICAgIGxvYWRwIENvZGVCbG9ja1tjZnJd
LCBQQgorICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faml0RGF0YVtQQl0sIFBCCisgICAgICAg
IGxvYWRwIENvZGVCbG9jazo6SklURGF0YTo6bV9qaXRDb25zdGFudFBvb2xbUEJdLCBQQgorICAg
IGVuZAorCisgICAgbWFjcm8gc2V0dXBSZXR1cm5Ub0Jhc2VsaW5lQWZ0ZXJDaGVja3BvaW50RXhp
dElmTmVlZGVkKCkKKyAgICAgICAgIyBERkcgb3IgRlRMIE9TUiBleGl0IGNvdWxkIGhhdmUgY29t
cGlsZWQgYW4gT1NSIGV4aXQgdG8gTExJbnQgY29kZS4KKyAgICAgICAgIyBUaGF0IG1lYW5zIGl0
IHNldCB1cCByZWdpc3RlcnMgYXMgaWYgZXhlY3V0aW9uIHdvdWxkIGhhcHBlbiBpbiB0aGUKKyAg
ICAgICAgIyBMTEludC4gSG93ZXZlciwgZHVyaW5nIE9TUiBleGl0IGZvciBjaGVja3BvaW50cywg
d2UgbWlnaHQgcmV0dXJuIHRvCisgICAgICAgICMgSklUIGNvZGUgaWYgaXQncyBhbHJlYWR5IGNv
bXBpbGVkLiBBZnRlciB0aGUgT1NSIGV4aXQgZ2V0cyBjb21waWxlZCwKKyAgICAgICAgIyB3ZSBj
YW4gdGllciB1cCB0byBKSVQgY29kZS4gQW5kIGNoZWNrcG9pbnQgZXhpdCB3aWxsIGp1bXAgdG8g
aXQuCisgICAgICAgICMgVGhhdCBtZWFucyB3ZSBhbHdheXMgbmVlZCB0byBzZXQgdXAgb3VyIGNv
bnN0YW50IHBvb2wgR1BSLCBiZWNhdXNlIHRoZSBPU1IKKyAgICAgICAgIyBleGl0IGNvZGUgbWln
aHQgbm90IGhhdmUgZG9uZSBpdC4KKyAgICAgICAgYnBuZXEgcjAsIDEsIC5ub3RCYXNlbGluZUpJ
VAorICAgICAgICBsb2FkQmFzZWxpbmVKSVRDb25zdGFudFBvb2woKQorICAgIC5ub3RCYXNlbGlu
ZUpJVDoKKworICAgIGVuZAorZWxzZQorICAgIG1hY3JvIHNldHVwUmV0dXJuVG9CYXNlbGluZUFm
dGVyQ2hlY2twb2ludEV4aXRJZk5lZWRlZCgpCisgICAgZW5kCitlbmQKKwogb3AoY2hlY2twb2lu
dF9vc3JfZXhpdF9mcm9tX2lubGluZWRfY2FsbF90cmFtcG9saW5lLCBtYWNybyAoKQogICAgIGlm
IChKU1ZBTFVFNjQgYW5kIG5vdCAoQ19MT09QIG9yIENfTE9PUF9XSU4pKSBvciBBUk12NyBvciBN
SVBTCiAgICAgICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQpAQCAtMjUwNSw4ICsy
NTMxLDEwIEBAIG9wKGNoZWNrcG9pbnRfb3NyX2V4aXRfZnJvbV9pbmxpbmVkX2NhbGwKICAgICAg
ICAgICAgIGNDYWxsMihfbGxpbnRfc2xvd19wYXRoX2NoZWNrcG9pbnRfb3NyX2V4aXRfZnJvbV9p
bmxpbmVkX2NhbGwpCiAgICAgICAgIGVuZAogCisgICAgICAgIHNldHVwUmV0dXJuVG9CYXNlbGlu
ZUFmdGVyQ2hlY2twb2ludEV4aXRJZk5lZWRlZCgpCiAgICAgICAgIHJlc3RvcmVTdGF0ZUFmdGVy
Q0NhbGwoKQogICAgICAgICBicmFuY2hJZkV4Y2VwdGlvbihfbGxpbnRfdGhyb3dfZnJvbV9zbG93
X3BhdGhfdHJhbXBvbGluZSkKKwogICAgICAgICBpZiBBUk02NEUKICAgICAgICAgICAgIG1vdmUg
cjEsIGEwCiAgICAgICAgICAgICBsZWFwIEpTQ0NvbmZpZyArIGNvbnN0ZXhwciBKU0M6Om9mZnNl
dE9mSlNDQ29uZmlnR2F0ZU1hcCArIChjb25zdGV4cHIgR2F0ZTo6bG9vcE9TUkVudHJ5KSAqIFB0
clNpemUsIGEyCkBAIC0yNTI4LDYgKzI1NTYsNyBAQCBvcChjaGVja3BvaW50X29zcl9leGl0X3Ry
YW1wb2xpbmUsIG1hY3JvCiAgICAgICAgIG1vdmUgY2ZyLCBhMAogICAgICAgICAjIFdlIGRvbid0
IGNhbGwgc2F2ZVN0YXRlRm9yQ0NhbGwoKSBiZWNhdXNlIHdlIGFyZSBnb2luZyB0byB1c2UgdGhl
IGJ5dGVjb2RlSW5kZXggZnJvbSBvdXIgc2lkZSBzdGF0ZS4KICAgICAgICAgY0NhbGwyKF9sbGlu
dF9zbG93X3BhdGhfY2hlY2twb2ludF9vc3JfZXhpdCkKKyAgICAgICAgc2V0dXBSZXR1cm5Ub0Jh
c2VsaW5lQWZ0ZXJDaGVja3BvaW50RXhpdElmTmVlZGVkKCkKICAgICAgICAgcmVzdG9yZVN0YXRl
QWZ0ZXJDQ2FsbCgpCiAgICAgICAgIGJyYW5jaElmRXhjZXB0aW9uKF9sbGludF90aHJvd19mcm9t
X3Nsb3dfcGF0aF90cmFtcG9saW5lKQogICAgICAgICBpZiBBUk02NEUK
</data>
<flag name="commit-queue"
          id="463392"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>