<?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>232966</bug_id>
          
          <creation_ts>2021-11-10 13:56:56 -0800</creation_ts>
          <short_desc>GetMyArgumentByValOutOfBounds needs to check for negative indices</short_desc>
          <delta_ts>2021-11-30 12:00:55 -0800</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 Local Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Lukas Bernhard">lukas.bernhard</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>lukas.bernhard</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1813787</commentid>
    <comment_count>0</comment_count>
    <who name="Lukas Bernhard">lukas.bernhard</who>
    <bug_when>2021-11-10 13:56:56 -0800</bug_when>
    <thetext>During differential testing of webkit I found a sample triggering a miscomputation in FTL.

JSC on git commit: 93d2e7bf275b
Build options: ./Tools/Scripts/build-jsc --jsc-only --release --cmakeargs=&quot;-ENABLE_STATIC_JSC=ON -DCMAKE_C_COMPILER=&apos;/usr/bin/clang-12&apos; -DCMAKE_CXX_COMPILER=&apos;/usr/bin/clang++-12&apos; -DCMAKE_CXX_FLAGS=&apos;-fsanitize-coverage=trace-pc-guard -O3 -lrt -fuse-ld=lld&apos;&quot;

WebKitBuild/Debug/bin/jsc --validateOptions=true --useConcurrentJIT=false --useConcurrentGC=false --thresholdForJITSoon=10 --thresholdForJITAfterWarmUp=10 --thresholdForOptimizeAfterWarmUp=100 --thresholdForOptimizeAfterLongWarmUp=100 --thresholdForOptimizeSoon=100 --thresholdForFTLOptimizeAfterWarmUp=1000 --thresholdForFTLOptimizeSoon=1000 --validateBCE=true --useFTLJIT=true sample.js

```
function main() {
    let v26;

    const v13 = [0, 0]; 
    v16 = [0];
    const v18 = v16.__proto__;

    const v23 = (v24,...v25) =&gt; {
        v26 = v25[-80887344];
    };  
    v18[-80887344] = v13;
    for (let v30 = -256; v30 &lt; 100; v30++) {
        const v31 = v23(0);
    }   
    print(v26);  // 0,0 without FTL, undefined without FTL
}
noDFG(main);
main();
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813933</commentid>
    <comment_count>1</comment_count>
    <who name="Lukas Bernhard">lukas.bernhard</who>
    <bug_when>2021-11-10 23:53:42 -0800</bug_when>
    <thetext>The comment in the sample is incorrect, instead of
```
// 0,0 without FTL, undefined without FTL
```

it should be:
```
// 0,0 without FTL, undefined with FTL. (also 0,0 in spidermonkey)
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816098</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-17 13:57:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/85519898&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818554</commentid>
    <comment_count>3</comment_count>
      <attachid>445366</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-11-29 17:36:51 -0800</bug_when>
    <thetext>Created attachment 445366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818557</commentid>
    <comment_count>4</comment_count>
      <attachid>445367</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-11-29 17:42:27 -0800</bug_when>
    <thetext>Created attachment 445367
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818565</commentid>
    <comment_count>5</comment_count>
      <attachid>445367</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-11-29 17:48:38 -0800</bug_when>
    <thetext>Comment on attachment 445367
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818566</commentid>
    <comment_count>6</comment_count>
      <attachid>445367</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-11-29 17:50:12 -0800</bug_when>
    <thetext>Comment on attachment 445367
patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:5668
&gt; +        LValue isOutOfBounds = m_out.aboveOrEqual(indexToCheck, numberOfArgs);

I&apos;ll clean up the scope of the numberOfArgumentsToSkip since we no longer use it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818569</commentid>
    <comment_count>7</comment_count>
      <attachid>445370</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-11-29 17:51:30 -0800</bug_when>
    <thetext>Created attachment 445370
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818863</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-30 12:00:53 -0800</bug_when>
    <thetext>Committed r286312 (244671@main): &lt;https://commits.webkit.org/244671@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445370.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445366</attachid>
            <date>2021-11-29 17:36:51 -0800</date>
            <delta_ts>2021-11-29 17:42:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>6617</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODYyNzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDIxLTExLTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEdldE15QXJndW1lbnRCeVZhbE91dE9mQm91bmRzIG5lZWRzIHRvIGNo
ZWNrIGZvciBuZWdhdGl2ZSBpbmRpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzI5NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NTE5ODk4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ2V0
LW15LWFyZ3VtZW50LWJ5LXZhbC1uZWdhdGl2ZS0xLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2Vy
dCk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBnZXQtbXktYXJndW1lbnQtYnktdmFsLW5l
Z2F0aXZlLTIuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKG1haW4uY29u
c3QuZnVuYyk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBnZXQtbXktYXJndW1lbnQtYnkt
dmFsLW5lZ2F0aXZlLTMuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKG1h
aW4uY29uc3QuZnVuYyk6CisgICAgICAgIChtYWluKToKKwogMjAyMS0xMS0yOSAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIHNsaWNlIHNob3VsZCBi
ZSBhd2FyZSBvZiBUZXJtaW5hdGlvbkV4Y2VwdGlvbgpJbmRleDogSlNUZXN0cy9nZXQtbXktYXJn
dW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9nZXQtbXkt
YXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9n
ZXQtbXktYXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rpb24gbWFpbigpIHsKKyAgICBsZXQgcmVzdWx0Owor
CisgICAgY29uc3QgdjEzID0gWzAsIDBdOyAKKyAgICBBcnJheS5wcm90b3R5cGVbLTgwODg3MzQ0
XSA9IHYxMzsKKworICAgIGNvbnN0IGZ1bmMgPSAoaSwgLi4ucmVzdCkgPT4geworICAgICAgICBy
ZXN1bHQgPSByZXN0W2ldOworICAgIH07ICAKKyAgICBub0lubGluZShmdW5jKTsKKworICAgIGZv
ciAobGV0IHYzMCA9IDA7IHYzMCA8IDEwMDAwOyB2MzArKykgeworICAgICAgICBmdW5jKDApOwor
ICAgIH0KKworICAgIGZ1bmMoLTgwODg3MzQ0KTsKKyAgICBhc3NlcnQocmVzdWx0ID09PSB2MTMp
OworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBKU1Rlc3RzL2dldC1teS1hcmd1bWVu
dC1ieS12YWwtbmVnYXRpdmUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL2dldC1teS1hcmd1
bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL2dldC1t
eS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yOworfQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCByZXN1bHQ7CisKKyAg
ICBjb25zdCB2MTMgPSBbMCwgMF07IAorICAgIE9iamVjdC5wcm90b3R5cGVbLTgwODg3MzQ0XSA9
IHYxMzsKKworICAgIGNvbnN0IGZ1bmMgPSBmdW5jdGlvbiBmdW5jKGkpIHsKKyAgICAgICAgcmVz
dWx0ID0gYXJndW1lbnRzW2ldOworICAgIH07ICAKKyAgICBub0lubGluZShmdW5jKTsKKworICAg
IGZvciAobGV0IHYzMCA9IDA7IHYzMCA8IDEwMDAwOyB2MzArKykgeworICAgICAgICBmdW5jKDMp
OworICAgIH0gICAKKworICAgIGZ1bmMoLTgwODg3MzQ0KTsKKyAgICBhc3NlcnQocmVzdWx0ID09
PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBKU1Rlc3RzL2dldC1teS1h
cmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL2dldC1t
eS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L2dldC1teS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yOworfQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCByZXN1bHQ7
CisKKyAgICBjb25zdCB2MTMgPSBbMCwgMF07IAorICAgIEFycmF5LnByb3RvdHlwZVstMV0gPSB2
MTM7CisKKyAgICBjb25zdCBmdW5jID0gZnVuY3Rpb24gZnVuYyhpLCAuLi5hcmdzKSB7CisgICAg
ICAgIHJlc3VsdCA9IGFyZ3NbaV07CisgICAgfTsgIAorICAgIG5vSW5saW5lKGZ1bmMpOworCisg
ICAgZm9yIChsZXQgdjMwID0gMDsgdjMwIDwgMTAwMDA7IHYzMCsrKSB7CisgICAgICAgIGZ1bmMo
MTAwMCwgMTApOworICAgIH0gICAKKworICAgIGZ1bmMoLTEsIDEwKTsKKyAgICBhc3NlcnQocmVz
dWx0ID09PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4NjIyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0xMS0yOSAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRNeUFyZ3VtZW50QnlW
YWxPdXRPZkJvdW5kcyBuZWVkcyB0byBjaGVjayBmb3IgbmVnYXRpdmUgaW5kaWNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyOTY2CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84NTUxOTg5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZWdhdGl2ZSBpbmRpY2VzIGluc2lkZSBvZiBHZXRNeUFyZ3Vt
ZW50QnlWYWxPdXRPZkJvdW5kcyB3b3VsZCBjYXVzZQorICAgICAgICB1cyB0byBoYXZlIHRoZSBy
ZXN1bHRpbmcgdmFsdWUgYmUgdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIGEgZnVsbCBibG93bgorICAg
ICAgICBsb29rdXAgdGhhdCBwcm9wZXJseSBjb25zdWx0cyB0aGUgcHJvdG90eXBlIGNoYWluIGFu
ZCBzdWNoLiBUaGUgcmVhc29uIGZvcgorICAgICAgICB0aGlzIGlzIG5lZ2F0aXZlIGluZGljZXMg
d291bGQgc2hvdyB1cCBhcyAib3V0IG9mIGJvdW5kcyIsIHdoaWNoIHdvdWxkCisgICAgICAgIGxl
YWQgdGhpcyBub2RlIHRvIHJlc3VsdCBpbiB1bmRlZmluZWQuIEJ1dCBuZWdhdGl2ZSBpbmRpY2Vz
IHJlYWxseSBzaG91bGQKKyAgICAgICAgYmUgdHJlYXRlZCBhcyBzdHJpbmcgcHJvcGVydHkgbmFt
ZXMsIGFuZCBjYW4ndCBiZSB0cmVhdGVkIGxpa2Ugbm9ybWFsIG91dAorICAgICAgICBvZiBib3Vu
ZHMgcG9zaXRpdmUgaW50ZWdlcnMuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIG1ha2Vz
IGl0IHNvIHdlIHNwZWN1bGF0ZSB0aGF0IHdlIGRvbid0IHNlZSBuZWdhdGl2ZSBpbmRpY2VzLiBJ
ZgorICAgICAgICB3ZSBkbyBzZWUgbmVnYXRpdmUgaW5kaWNlcywgd2Ugc3RvcCBwZXJmb3JtaW5n
IHRoZSB0cmFuc2Zvcm1hdGlvbiBpbnNpZGUKKyAgICAgICAgb2YgYXJndW1lbnRzIGVsaW1pbmF0
aW9uIHNvIHdlIGRvbid0IGVuZCB1cCBpbiBhbiBPU1IgZXhpdCBsb29wLgorCisgICAgICAgICog
ZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGZ0bC9GVExM
b3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpj
b21waWxlR2V0TXlBcmd1bWVudEJ5VmFsKToKKwogMjAyMS0xMS0yOSAgWmFuIERvYmVyc2VrICA8
emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1JJU0NWNjRdIFBvcHVsYXRlIFJJU0NW
NjRBc3NlbWJsZXIgd2l0aCBpbnN0cnVjdGlvbi1nZW5lcmF0aW9uIG1ldGhvZHMKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGlt
aW5hdGlvblBoYXNlLmNwcAkocmV2aXNpb24gMjg2MjI2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzEyLDcgKzMxMiwxMCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgY2FzZSBHZXRCeVZhbDoKLSAg
ICAgICAgICAgICAgICAgICAgZXNjYXBlQmFzZWRPbkFycmF5TW9kZShub2RlLT5hcnJheU1vZGUo
KSwgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKSwgbm9kZSk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChtX2dyYXBoLmhhc0V4aXRTaXRlKG5vZGUsIE5lZ2F0aXZlSW5kZXgpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgZXNjYXBlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCksIG5v
ZGUpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBl
c2NhcGVCYXNlZE9uQXJyYXlNb2RlKG5vZGUtPmFycmF5TW9kZSgpLCBtX2dyYXBoLnZhckFyZ0No
aWxkKG5vZGUsIDApLCBub2RlKTsKICAgICAgICAgICAgICAgICAgICAgZXNjYXBlKG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobm9kZSwgMSksIG5vZGUpOwogICAgICAgICAgICAgICAgICAgICBlc2NhcGUo
bV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAyKSwgbm9kZSk7CiAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcAkocmV2aXNpb24gMjg2MjI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjUxLDYgKzU2NTEsOCBAQCBJ
R05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAgICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgYXJn
dW1lbnRDb3VudFJlZ2lzdGVyID0gQXNzZW1ibHlIZWxwZXJzOjphcmd1bWVudENvdW50KGlubGlu
ZUNhbGxGcmFtZSk7CiAgICAgICAgICAgICBudW1iZXJPZkFyZ3NJbmNsdWRpbmdUaGlzID0gbV9v
dXQubG9hZDMyKHBheWxvYWRGb3IoYXJndW1lbnRDb3VudFJlZ2lzdGVyKSk7CiAgICAgICAgIH0K
KworICAgICAgICBzcGVjdWxhdGUoTmVnYXRpdmVJbmRleCwgbm9WYWx1ZSgpLCBudWxscHRyLCBt
X291dC5sZXNzVGhhbihvcmlnaW5hbEluZGV4LCBtX291dC5pbnQzMlplcm8pKTsKICAgICAgICAg
CiAgICAgICAgIExWYWx1ZSBudW1iZXJPZkFyZ3MgPSBtX291dC5zdWIobnVtYmVyT2ZBcmdzSW5j
bHVkaW5nVGhpcywgbV9vdXQuaW50MzJPbmUpOwogICAgICAgICBMVmFsdWUgaW5kZXhUb0NoZWNr
ID0gb3JpZ2luYWxJbmRleDsKQEAgLTU2NjIsNyArNTY2NCw3IEBAIElHTk9SRV9DTEFOR19XQVJO
SU5HU19FTkQKICAgICAgICAgICAgIGluZGV4VG9DaGVjayA9IGNoZWNrOwogICAgICAgICB9CiAK
LSAgICAgICAgTFZhbHVlIGlzT3V0T2ZCb3VuZHMgPSBtX291dC5iaXRPcihtX291dC5hYm92ZU9y
RXF1YWwoaW5kZXhUb0NoZWNrLCBudW1iZXJPZkFyZ3MpLCBtX291dC5iZWxvdyhpbmRleFRvQ2hl
Y2ssIG51bWJlck9mQXJndW1lbnRzVG9Ta2lwKSk7CisgICAgICAgIExWYWx1ZSBpc091dE9mQm91
bmRzID0gbV9vdXQuYWJvdmVPckVxdWFsKGluZGV4VG9DaGVjaywgbnVtYmVyT2ZBcmdzKTsKICAg
ICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbnVsbHB0cjsKICAgICAgICAgTEJhc2lj
QmxvY2sgbGFzdE5leHQgPSBudWxscHRyOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVz
dWx0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445367</attachid>
            <date>2021-11-29 17:42:27 -0800</date>
            <delta_ts>2021-11-29 17:51:30 -0800</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>6595</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODYyNzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDIxLTExLTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEdldE15QXJndW1lbnRCeVZhbE91dE9mQm91bmRzIG5lZWRzIHRvIGNo
ZWNrIGZvciBuZWdhdGl2ZSBpbmRpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzI5NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NTE5ODk4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ2V0
LW15LWFyZ3VtZW50LWJ5LXZhbC1uZWdhdGl2ZS0xLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2Vy
dCk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBnZXQtbXktYXJndW1lbnQtYnktdmFsLW5l
Z2F0aXZlLTIuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKG1haW4uY29u
c3QuZnVuYyk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBnZXQtbXktYXJndW1lbnQtYnkt
dmFsLW5lZ2F0aXZlLTMuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKG1h
aW4uY29uc3QuZnVuYyk6CisgICAgICAgIChtYWluKToKKwogMjAyMS0xMS0yOSAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIHNsaWNlIHNob3VsZCBi
ZSBhd2FyZSBvZiBUZXJtaW5hdGlvbkV4Y2VwdGlvbgpJbmRleDogSlNUZXN0cy9nZXQtbXktYXJn
dW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9nZXQtbXkt
YXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9n
ZXQtbXktYXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rpb24gbWFpbigpIHsKKyAgICBsZXQgcmVzdWx0Owor
CisgICAgY29uc3QgdjEzID0gWzAsIDBdOyAKKyAgICBBcnJheS5wcm90b3R5cGVbLTgwODg3MzQ0
XSA9IHYxMzsKKworICAgIGNvbnN0IGZ1bmMgPSAoaSwgLi4ucmVzdCkgPT4geworICAgICAgICBy
ZXN1bHQgPSByZXN0W2ldOworICAgIH07ICAKKyAgICBub0lubGluZShmdW5jKTsKKworICAgIGZv
ciAobGV0IHYzMCA9IDA7IHYzMCA8IDEwMDAwOyB2MzArKykgeworICAgICAgICBmdW5jKDApOwor
ICAgIH0KKworICAgIGZ1bmMoLTgwODg3MzQ0KTsKKyAgICBhc3NlcnQocmVzdWx0ID09PSB2MTMp
OworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBKU1Rlc3RzL2dldC1teS1hcmd1bWVu
dC1ieS12YWwtbmVnYXRpdmUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL2dldC1teS1hcmd1
bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL2dldC1t
eS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yOworfQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCByZXN1bHQ7CisKKyAg
ICBjb25zdCB2MTMgPSBbMCwgMF07IAorICAgIE9iamVjdC5wcm90b3R5cGVbLTgwODg3MzQ0XSA9
IHYxMzsKKworICAgIGNvbnN0IGZ1bmMgPSBmdW5jdGlvbiBmdW5jKGkpIHsKKyAgICAgICAgcmVz
dWx0ID0gYXJndW1lbnRzW2ldOworICAgIH07ICAKKyAgICBub0lubGluZShmdW5jKTsKKworICAg
IGZvciAobGV0IHYzMCA9IDA7IHYzMCA8IDEwMDAwOyB2MzArKykgeworICAgICAgICBmdW5jKDMp
OworICAgIH0gICAKKworICAgIGZ1bmMoLTgwODg3MzQ0KTsKKyAgICBhc3NlcnQocmVzdWx0ID09
PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBKU1Rlc3RzL2dldC1teS1h
cmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL2dldC1t
eS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L2dldC1teS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yOworfQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCByZXN1bHQ7
CisKKyAgICBjb25zdCB2MTMgPSBbMCwgMF07IAorICAgIEFycmF5LnByb3RvdHlwZVstMV0gPSB2
MTM7CisKKyAgICBjb25zdCBmdW5jID0gZnVuY3Rpb24gZnVuYyhpLCAuLi5hcmdzKSB7CisgICAg
ICAgIHJlc3VsdCA9IGFyZ3NbaV07CisgICAgfTsgIAorICAgIG5vSW5saW5lKGZ1bmMpOworCisg
ICAgZm9yIChsZXQgdjMwID0gMDsgdjMwIDwgMTAwMDA7IHYzMCsrKSB7CisgICAgICAgIGZ1bmMo
MTAwMCwgMTApOworICAgIH0gICAKKworICAgIGZ1bmMoLTEsIDEwKTsKKyAgICBhc3NlcnQocmVz
dWx0ID09PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4NjI3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0xMS0yOSAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRNeUFyZ3VtZW50QnlW
YWxPdXRPZkJvdW5kcyBuZWVkcyB0byBjaGVjayBmb3IgbmVnYXRpdmUgaW5kaWNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyOTY2CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84NTUxOTg5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZWdhdGl2ZSBpbmRpY2VzIGluc2lkZSBvZiBHZXRNeUFyZ3Vt
ZW50QnlWYWxPdXRPZkJvdW5kcyB3b3VsZCBjYXVzZQorICAgICAgICB1cyB0byBoYXZlIHRoZSBy
ZXN1bHRpbmcgdmFsdWUgYmUgdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIGEgZnVsbCBibG93bgorICAg
ICAgICBsb29rdXAgdGhhdCBwcm9wZXJseSBjb25zdWx0cyB0aGUgcHJvdG90eXBlIGNoYWluIGFu
ZCBzdWNoLiBUaGUgcmVhc29uIGZvcgorICAgICAgICB0aGlzIGlzIG5lZ2F0aXZlIGluZGljZXMg
d291bGQgc2hvdyB1cCBhcyAib3V0IG9mIGJvdW5kcyIsIHdoaWNoIHdvdWxkCisgICAgICAgIGxl
YWQgdGhpcyBub2RlIHRvIHJlc3VsdCBpbiB1bmRlZmluZWQuIEJ1dCBuZWdhdGl2ZSBpbmRpY2Vz
IHJlYWxseSBzaG91bGQKKyAgICAgICAgYmUgdHJlYXRlZCBhcyBzdHJpbmcgcHJvcGVydHkgbmFt
ZXMsIGFuZCBjYW4ndCBiZSB0cmVhdGVkIGxpa2Ugbm9ybWFsIG91dAorICAgICAgICBvZiBib3Vu
ZHMgcG9zaXRpdmUgaW50ZWdlcnMuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIG1ha2Vz
IGl0IHNvIHdlIHNwZWN1bGF0ZSB0aGF0IHdlIGRvbid0IHNlZSBuZWdhdGl2ZSBpbmRpY2VzLiBJ
ZgorICAgICAgICB3ZSBkbyBzZWUgbmVnYXRpdmUgaW5kaWNlcywgd2Ugc3RvcCBwZXJmb3JtaW5n
IHRoZSB0cmFuc2Zvcm1hdGlvbiBpbnNpZGUKKyAgICAgICAgb2YgYXJndW1lbnRzIGVsaW1pbmF0
aW9uIHNvIHdlIGRvbid0IGVuZCB1cCBpbiBhbiBPU1IgZXhpdCBsb29wLgorCisgICAgICAgICog
ZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGZ0bC9GVExM
b3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpj
b21waWxlR2V0TXlBcmd1bWVudEJ5VmFsKToKKwogMjAyMS0xMS0yOSAgWXVzdWtlIFN1enVraSAg
PHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIHNsaWNlIHNob3VsZCBiZSBhd2Fy
ZSBvZiBUZXJtaW5hdGlvbkV4Y2VwdGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCShyZXZp
c2lvbiAyODYyNzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0Vs
aW1pbmF0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTIsNyArMzEyLDEwIEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBjYXNlIEdldEJ5VmFsOgotICAgICAgICAgICAgICAgICAgICBlc2Nh
cGVCYXNlZE9uQXJyYXlNb2RlKG5vZGUtPmFycmF5TW9kZSgpLCBtX2dyYXBoLnZhckFyZ0NoaWxk
KG5vZGUsIDApLCBub2RlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGguaGFzRXhp
dFNpdGUobm9kZSwgTmVnYXRpdmVJbmRleCkpCisgICAgICAgICAgICAgICAgICAgICAgICBlc2Nh
cGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKSwgbm9kZSk7CisgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZUJhc2VkT25BcnJheU1vZGUo
bm9kZS0+YXJyYXlNb2RlKCksIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCksIG5vZGUpOwog
ICAgICAgICAgICAgICAgICAgICBlc2NhcGUobV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAxKSwg
bm9kZSk7CiAgICAgICAgICAgICAgICAgICAgIGVzY2FwZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5v
ZGUsIDIpLCBub2RlKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyODYy
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU2NTIsNiArNTY1Miw4IEBAIElHTk9SRV9DTEFOR19XQVJOSU5HU19F
TkQKICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciBhcmd1bWVudENvdW50UmVnaXN0ZXIgPSBB
c3NlbWJseUhlbHBlcnM6OmFyZ3VtZW50Q291bnQoaW5saW5lQ2FsbEZyYW1lKTsKICAgICAgICAg
ICAgIG51bWJlck9mQXJnc0luY2x1ZGluZ1RoaXMgPSBtX291dC5sb2FkMzIocGF5bG9hZEZvcihh
cmd1bWVudENvdW50UmVnaXN0ZXIpKTsKICAgICAgICAgfQorCisgICAgICAgIHNwZWN1bGF0ZShO
ZWdhdGl2ZUluZGV4LCBub1ZhbHVlKCksIG51bGxwdHIsIG1fb3V0Lmxlc3NUaGFuKG9yaWdpbmFs
SW5kZXgsIG1fb3V0LmludDMyWmVybykpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIG51bWJl
ck9mQXJncyA9IG1fb3V0LnN1YihudW1iZXJPZkFyZ3NJbmNsdWRpbmdUaGlzLCBtX291dC5pbnQz
Mk9uZSk7CiAgICAgICAgIExWYWx1ZSBpbmRleFRvQ2hlY2sgPSBvcmlnaW5hbEluZGV4OwpAQCAt
NTY2Myw3ICs1NjY1LDcgQEAgSUdOT1JFX0NMQU5HX1dBUk5JTkdTX0VORAogICAgICAgICAgICAg
aW5kZXhUb0NoZWNrID0gY2hlY2s7CiAgICAgICAgIH0KIAotICAgICAgICBMVmFsdWUgaXNPdXRP
ZkJvdW5kcyA9IG1fb3V0LmJpdE9yKG1fb3V0LmFib3ZlT3JFcXVhbChpbmRleFRvQ2hlY2ssIG51
bWJlck9mQXJncyksIG1fb3V0LmJlbG93KGluZGV4VG9DaGVjaywgbnVtYmVyT2ZBcmd1bWVudHNU
b1NraXApKTsKKyAgICAgICAgTFZhbHVlIGlzT3V0T2ZCb3VuZHMgPSBtX291dC5hYm92ZU9yRXF1
YWwoaW5kZXhUb0NoZWNrLCBudW1iZXJPZkFyZ3MpOwogICAgICAgICBMQmFzaWNCbG9jayBjb250
aW51YXRpb24gPSBudWxscHRyOwogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG51bGxw
dHI7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQ7Cg==
</data>
<flag name="review"
          id="470521"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445370</attachid>
            <date>2021-11-29 17:51:30 -0800</date>
            <delta_ts>2021-11-30 12:00:54 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>6874</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODYyNzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDIxLTExLTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEdldE15QXJndW1lbnRCeVZhbE91dE9mQm91bmRzIG5lZWRzIHRvIGNo
ZWNrIGZvciBuZWdhdGl2ZSBpbmRpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzI5NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NTE5ODk4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBnZXQt
bXktYXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanM6IEFkZGVkLgorICAgICAgICAqIGdldC1t
eS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qczogQWRkZWQuCisgICAgICAgICogZ2V0LW15
LWFyZ3VtZW50LWJ5LXZhbC1uZWdhdGl2ZS0zLmpzOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIHNsaWNlIHNo
b3VsZCBiZSBhd2FyZSBvZiBUZXJtaW5hdGlvbkV4Y2VwdGlvbgpJbmRleDogSlNUZXN0cy9nZXQt
bXktYXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9n
ZXQtbXktYXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy9nZXQtbXktYXJndW1lbnQtYnktdmFsLW5lZ2F0aXZlLTEuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rpb24gbWFpbigpIHsKKyAgICBsZXQgcmVz
dWx0OworCisgICAgY29uc3QgdjEzID0gWzAsIDBdOyAKKyAgICBBcnJheS5wcm90b3R5cGVbLTgw
ODg3MzQ0XSA9IHYxMzsKKworICAgIGNvbnN0IGZ1bmMgPSAoaSwgLi4ucmVzdCkgPT4geworICAg
ICAgICByZXN1bHQgPSByZXN0W2ldOworICAgIH07ICAKKyAgICBub0lubGluZShmdW5jKTsKKwor
ICAgIGZvciAobGV0IHYzMCA9IDA7IHYzMCA8IDEwMDAwOyB2MzArKykgeworICAgICAgICBmdW5j
KDApOworICAgIH0KKworICAgIGZ1bmMoLTgwODg3MzQ0KTsKKyAgICBhc3NlcnQocmVzdWx0ID09
PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBKU1Rlc3RzL2dldC1teS1h
cmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL2dldC1t
eS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L2dldC1teS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMi5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDI1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yOworfQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCByZXN1bHQ7
CisKKyAgICBjb25zdCB2MTMgPSBbMCwgMF07IAorICAgIE9iamVjdC5wcm90b3R5cGVbLTgwODg3
MzQ0XSA9IHYxMzsKKworICAgIGNvbnN0IGZ1bmMgPSBmdW5jdGlvbiBmdW5jKGkpIHsKKyAgICAg
ICAgcmVzdWx0ID0gYXJndW1lbnRzW2ldOworICAgIH07ICAKKyAgICBub0lubGluZShmdW5jKTsK
KworICAgIGZvciAobGV0IHYzMCA9IDA7IHYzMCA8IDEwMDAwOyB2MzArKykgeworICAgICAgICBm
dW5jKDMpOworICAgIH0gICAKKworICAgIGZ1bmMoLTgwODg3MzQ0KTsKKyAgICBhc3NlcnQocmVz
dWx0ID09PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBKU1Rlc3RzL2dl
dC1teS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L2dldC1teS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL2dldC1teS1hcmd1bWVudC1ieS12YWwtbmVnYXRpdmUtMy5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yOworfQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCBy
ZXN1bHQ7CisKKyAgICBjb25zdCB2MTMgPSBbMCwgMF07IAorICAgIEFycmF5LnByb3RvdHlwZVst
MV0gPSB2MTM7CisKKyAgICBjb25zdCBmdW5jID0gZnVuY3Rpb24gZnVuYyhpLCAuLi5hcmdzKSB7
CisgICAgICAgIHJlc3VsdCA9IGFyZ3NbaV07CisgICAgfTsgIAorICAgIG5vSW5saW5lKGZ1bmMp
OworCisgICAgZm9yIChsZXQgdjMwID0gMDsgdjMwIDwgMTAwMDA7IHYzMCsrKSB7CisgICAgICAg
IGZ1bmMoMTAwMCwgMTApOworICAgIH0gICAKKworICAgIGZ1bmMoLTEsIDEwKTsKKyAgICBhc3Nl
cnQocmVzdWx0ID09PSB2MTMpOworfQorbm9ERkcobWFpbik7CittYWluKCk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4NjI3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0xMS0y
OSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBHZXRNeUFyZ3Vt
ZW50QnlWYWxPdXRPZkJvdW5kcyBuZWVkcyB0byBjaGVjayBmb3IgbmVnYXRpdmUgaW5kaWNlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyOTY2Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTUxOTg5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBZ
dXN1a2UgU3V6dWtpLgorCisgICAgICAgIE5lZ2F0aXZlIGluZGljZXMgaW5zaWRlIG9mIEdldE15
QXJndW1lbnRCeVZhbE91dE9mQm91bmRzIHdvdWxkIGNhdXNlCisgICAgICAgIHVzIHRvIGhhdmUg
dGhlIHJlc3VsdGluZyB2YWx1ZSBiZSB1bmRlZmluZWQsIGluc3RlYWQgb2YgYSBmdWxsIGJsb3du
CisgICAgICAgIGxvb2t1cCB0aGF0IHByb3Blcmx5IGNvbnN1bHRzIHRoZSBwcm90b3R5cGUgY2hh
aW4gYW5kIHN1Y2guIFRoZSByZWFzb24gZm9yCisgICAgICAgIHRoaXMgaXMgbmVnYXRpdmUgaW5k
aWNlcyB3b3VsZCBzaG93IHVwIGFzICJvdXQgb2YgYm91bmRzIiwgd2hpY2ggd291bGQKKyAgICAg
ICAgbGVhZCB0aGlzIG5vZGUgdG8gcmVzdWx0IGluIHVuZGVmaW5lZC4gQnV0IG5lZ2F0aXZlIGlu
ZGljZXMgcmVhbGx5IHNob3VsZAorICAgICAgICBiZSB0cmVhdGVkIGFzIHN0cmluZyBwcm9wZXJ0
eSBuYW1lcywgYW5kIGNhbid0IGJlIHRyZWF0ZWQgbGlrZSBub3JtYWwgb3V0CisgICAgICAgIG9m
IGJvdW5kcyBwb3NpdGl2ZSBpbnRlZ2Vycy4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2gg
bWFrZXMgaXQgc28gd2Ugc3BlY3VsYXRlIHRoYXQgd2UgZG9uJ3Qgc2VlIG5lZ2F0aXZlIGluZGlj
ZXMuIElmCisgICAgICAgIHdlIGRvIHNlZSBuZWdhdGl2ZSBpbmRpY2VzLCB3ZSBzdG9wIHBlcmZv
cm1pbmcgdGhlIHRyYW5zZm9ybWF0aW9uIGluc2lkZQorICAgICAgICBvZiBhcmd1bWVudHMgZWxp
bWluYXRpb24gc28gd2UgZG9uJ3QgZW5kIHVwIGluIGFuIE9TUiBleGl0IGxvb3AuCisKKyAgICAg
ICAgKiBkZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHA6CisgICAgICAgICogZnRs
L0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1Rv
QjM6OmNvbXBpbGVHZXRNeUFyZ3VtZW50QnlWYWwpOgorCiAyMDIxLTExLTI5ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gc2xpY2Ugc2hvdWxkIGJl
IGF3YXJlIG9mIFRlcm1pbmF0aW9uRXhjZXB0aW9uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAJ
KHJldmlzaW9uIDI4NjI3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1l
bnRzRWxpbWluYXRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxMiw3ICszMTIsMTAg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIGNhc2UgR2V0QnlWYWw6Ci0gICAgICAgICAgICAgICAgICAg
IGVzY2FwZUJhc2VkT25BcnJheU1vZGUobm9kZS0+YXJyYXlNb2RlKCksIG1fZ3JhcGgudmFyQXJn
Q2hpbGQobm9kZSwgMCksIG5vZGUpOworICAgICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC5o
YXNFeGl0U2l0ZShub2RlLCBOZWdhdGl2ZUluZGV4KSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGVzY2FwZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLCBub2RlKTsKKyAgICAgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgZXNjYXBlQmFzZWRPbkFycmF5
TW9kZShub2RlLT5hcnJheU1vZGUoKSwgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKSwgbm9k
ZSk7CiAgICAgICAgICAgICAgICAgICAgIGVzY2FwZShtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUs
IDEpLCBub2RlKTsKICAgICAgICAgICAgICAgICAgICAgZXNjYXBlKG1fZ3JhcGgudmFyQXJnQ2hp
bGQobm9kZSwgMiksIG5vZGUpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9u
IDI4NjI3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTY1MiwxOCArNTY1MiwxOCBAQCBJR05PUkVfQ0xBTkdfV0FS
TklOR1NfRU5ECiAgICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgYXJndW1lbnRDb3VudFJlZ2lz
dGVyID0gQXNzZW1ibHlIZWxwZXJzOjphcmd1bWVudENvdW50KGlubGluZUNhbGxGcmFtZSk7CiAg
ICAgICAgICAgICBudW1iZXJPZkFyZ3NJbmNsdWRpbmdUaGlzID0gbV9vdXQubG9hZDMyKHBheWxv
YWRGb3IoYXJndW1lbnRDb3VudFJlZ2lzdGVyKSk7CiAgICAgICAgIH0KKworICAgICAgICBzcGVj
dWxhdGUoTmVnYXRpdmVJbmRleCwgbm9WYWx1ZSgpLCBudWxscHRyLCBtX291dC5sZXNzVGhhbihv
cmlnaW5hbEluZGV4LCBtX291dC5pbnQzMlplcm8pKTsKICAgICAgICAgCiAgICAgICAgIExWYWx1
ZSBudW1iZXJPZkFyZ3MgPSBtX291dC5zdWIobnVtYmVyT2ZBcmdzSW5jbHVkaW5nVGhpcywgbV9v
dXQuaW50MzJPbmUpOwogICAgICAgICBMVmFsdWUgaW5kZXhUb0NoZWNrID0gb3JpZ2luYWxJbmRl
eDsKLSAgICAgICAgTFZhbHVlIG51bWJlck9mQXJndW1lbnRzVG9Ta2lwID0gbV9vdXQuaW50MzJa
ZXJvOwogICAgICAgICBpZiAobV9ub2RlLT5udW1iZXJPZkFyZ3VtZW50c1RvU2tpcCgpKSB7Ci0g
ICAgICAgICAgICBudW1iZXJPZkFyZ3VtZW50c1RvU2tpcCA9IG1fb3V0LmNvbnN0SW50MzIobV9u
b2RlLT5udW1iZXJPZkFyZ3VtZW50c1RvU2tpcCgpKTsKLSAgICAgICAgICAgIENoZWNrVmFsdWUq
IGNoZWNrID0gbV9vdXQuc3BlY3VsYXRlQWRkKGluZGV4VG9DaGVjaywgbnVtYmVyT2ZBcmd1bWVu
dHNUb1NraXApOworICAgICAgICAgICAgQ2hlY2tWYWx1ZSogY2hlY2sgPSBtX291dC5zcGVjdWxh
dGVBZGQoaW5kZXhUb0NoZWNrLCBtX291dC5jb25zdEludDMyKG1fbm9kZS0+bnVtYmVyT2ZBcmd1
bWVudHNUb1NraXAoKSkpOwogICAgICAgICAgICAgYmxlc3NTcGVjdWxhdGlvbihjaGVjaywgT3Zl
cmZsb3csIG5vVmFsdWUoKSwgbnVsbHB0ciwgbV9vcmlnaW4pOwogICAgICAgICAgICAgaW5kZXhU
b0NoZWNrID0gY2hlY2s7CiAgICAgICAgIH0KIAotICAgICAgICBMVmFsdWUgaXNPdXRPZkJvdW5k
cyA9IG1fb3V0LmJpdE9yKG1fb3V0LmFib3ZlT3JFcXVhbChpbmRleFRvQ2hlY2ssIG51bWJlck9m
QXJncyksIG1fb3V0LmJlbG93KGluZGV4VG9DaGVjaywgbnVtYmVyT2ZBcmd1bWVudHNUb1NraXAp
KTsKKyAgICAgICAgTFZhbHVlIGlzT3V0T2ZCb3VuZHMgPSBtX291dC5hYm92ZU9yRXF1YWwoaW5k
ZXhUb0NoZWNrLCBudW1iZXJPZkFyZ3MpOwogICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRp
b24gPSBudWxscHRyOwogICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG51bGxwdHI7CiAg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>