<?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>212538</bug_id>
          
          <creation_ts>2020-05-29 12:01:58 -0700</creation_ts>
          <short_desc>We need to properly model heap ranges of Delete in DFG/B3</short_desc>
          <delta_ts>2020-05-29 21:39:41 -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>Other</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>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ticaiolima</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>1657371</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-05-29 12:01:58 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657373</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-05-29 12:02:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/63670964&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657387</commentid>
    <comment_count>2</comment_count>
      <attachid>400607</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-05-29 12:59:15 -0700</bug_when>
    <thetext>Created attachment 400607
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657430</commentid>
    <comment_count>3</comment_count>
      <attachid>400607</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2020-05-29 14:29:29 -0700</bug_when>
    <thetext>Comment on attachment 400607
patch

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

R=me with comment.

&gt; Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:159
&gt; +    macro(JSCell_header_and_named_properties, 0) \

This should be an abstract heap, not an abstract field, since the offset is not meaningful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657436</commentid>
    <comment_count>4</comment_count>
      <attachid>400607</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-05-29 14:36:02 -0700</bug_when>
    <thetext>Comment on attachment 400607
patch

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

&gt;&gt; Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:159
&gt;&gt; +    macro(JSCell_header_and_named_properties, 0) \
&gt; 
&gt; This should be an abstract heap, not an abstract field, since the offset is not meaningful.

Thanks. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657460</commentid>
    <comment_count>5</comment_count>
      <attachid>400624</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-05-29 15:01:20 -0700</bug_when>
    <thetext>Created attachment 400624
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657569</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-29 21:39:40 -0700</bug_when>
    <thetext>Committed r262338: &lt;https://trac.webkit.org/changeset/262338&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400624.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400607</attachid>
            <date>2020-05-29 12:59:15 -0700</date>
            <delta_ts>2020-05-29 15:01:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>13334</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjIzMTApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDIwLTA1LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gcHJvcGVybHkgbW9kZWwgaGVhcCByYW5nZXMgb2Yg
RGVsZXRlIGluIERGRy9CMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEyNTM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzY3MDk2ND4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9kZWxl
dGUtaW5saW5pbmctc2hvdWxkLW1vZGVsLWFsaWFzaW5nLW9mLWZ1dHVyZS1zdG9yZXMuanM6IEFk
ZGVkLgorICAgICAgICAoZm9vKToKKwogMjAyMC0wNS0yNyAgS2VpdGggTWlsbGVyICA8a2VpdGhf
bWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBmb3Itb2Ygc2hvdWxkIGNoZWNrIHRoZSBpdGVy
YWJsZSBpcyBhIEpTQXJyYXkgZm9yIEZhc3RBcnJheSBpbiBERkcgaXRlcmF0b3Jfb3BlbgpJbmRl
eDogSlNUZXN0cy9zdHJlc3MvZGVsZXRlLWlubGluaW5nLXNob3VsZC1tb2RlbC1hbGlhc2luZy1v
Zi1mdXR1cmUtc3RvcmVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2RlbGV0ZS1p
bmxpbmluZy1zaG91bGQtbW9kZWwtYWxpYXNpbmctb2YtZnV0dXJlLXN0b3Jlcy5qcwkobm9uZXhp
c3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kZWxldGUtaW5saW5pbmctc2hvdWxkLW1vZGVsLWFs
aWFzaW5nLW9mLWZ1dHVyZS1zdG9yZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBA
QAorLy8gVGhpcyBzaG91bGQgbm90IGNyYXNoLgorZnVuY3Rpb24gZm9vKCkgeworICAgIGNvbnN0
IG8gPSB7IHk6IDAgfTsKKyAgICBkZWxldGUgby55OworICAgIG8ueiA9IDA7CisgICAgT2JqZWN0
LmFzc2lnbih7fSwgbyk7Cit9Citub0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDAwMDsgaSsrKSB7CisgICAgZm9vKCk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2MjI2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw4MSBAQAorMjAyMC0wNS0yOSAgU2FhbSBCYXJhdGkg
IDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBXZSBuZWVkIHRvIHByb3Blcmx5IG1vZGVs
IGhlYXAgcmFuZ2VzIG9mIERlbGV0ZSBpbiBERkcvQjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjUzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjM2NzA5NjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgbmVlZCB0byBwcm9wZXJseSBtb2RlbCB0aGUgYWxpYXNpbmcgZGVwZW5kZW5jaWVzIG9m
IGFuIGlubGluZWQgZGVsZXRlIAorICAgICAgICBvcGVyYXRpb24uIAorICAgICAgICAKKyAgICAg
ICAgV2UgaGFkIGEgYnVnIGluIHRoZSBCMyBJUiB3ZSBnZW5lcmF0ZWQgZnJvbSBjb2RlIGxpa2Ug
dGhpcyBmb3IgYSBkZWxldGUKKyAgICAgICAgZm9sbG93ZWQgYnkgYSBwcm9wZXJ0eSBhZGRpdGlv
bjoKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IG8gPSB7IHk6IDAgfTsKKyAgICAgICAgZGVs
ZXRlIG8ueTsKKyAgICAgICAgby56ID0gMDsKKyAgICAgICAgYGBgCisgICAgICAgIAorICAgICAg
ICBnZW5lcmF0ZWQ6CisgICAgICAgIAorICAgICAgICBgYGAKKyAgICAgICAgbm90ZTogYmIjNSBk
b21pbmF0ZXMgYmIjMTAsIGJiIzEwIGRvbWluYXRlcyBiYiMxNQorICAgICAgICAKKyAgICAgICAg
YmIjNQorICAgICAgICBWb2lkIGJAMTI1ID0gU3RvcmUoJC01NjI5NDk5NTM0MjEzMTIoYkAyODIp
LCBiQDExMiwgb2Zmc2V0ID0gMTYsIENvbnRyb2xEZXBlbmRlbnR8V3JpdGVzOjEyOSwgREAzMCkK
KyAgICAgICAgYmIjMTAKKyAgICAgICAgVm9pZCBiQDE3MSA9IFN0b3JlKCQwKGJAMiksIGJAMTEy
LCBvZmZzZXQgPSAxNiwgQ29udHJvbERlcGVuZGVudHxXcml0ZXM6MTI5LCBEQDM3KQorICAgICAg
ICBiYiMxNQorICAgICAgICBWb2lkIGJAMjE3ID0gU3RvcmUoJC01NjI5NDk5NTM0MjEzMTIoYkAy
ODIpLCBiQDExMiwgb2Zmc2V0ID0gMTYsIENvbnRyb2xEZXBlbmRlbnR8V3JpdGVzOjEzMCwgREA0
NCkKKyAgICAgICAgYGBgCisgICAgICAgIAorICAgICAgICBOb3RpY2UgdGhhdCAieSIgYW5kICJ6
IiBlbmRlZCB1cCBhdCB0aGUgc2FtZSBwcm9wZXJ0eSBvZmZzZXQuCisgICAgICAgIAorICAgICAg
ICBJbiB0aGUgYWJvdmUgcHJvZ3JhbSwgQjMgcHJvdmVzIHRoZSBwb2ludGVyIHdlJ3JlIHN0b3Jp
bmcgdG8gaXMgdGhlIHNhbWUgdmFsdWUKKyAgICAgICAgaW4gYWxsIHRocmVlIHN0b3JlcyAoYkAx
MTIpLiBIb3dldmVyLCBiZWNhdXNlIG9mIGhvdyBpdCBkb2VzIHN0b3JlIGZvcndhcmRpbmcsCisg
ICAgICAgIGl0IGRldGVybWluZWQgaXQgY291bGQgZWxpbWluYXRlIGJAMjE3IGJlY2F1c2UgYkAx
MjUgYWxyZWFkeSBzdG9yZWQgdGhlIHNhbWUKKyAgICAgICAgdmFsdWUgdG8gdGhlIHNhbWUgcG9p
bnRlci4gSXQgZGlkbid0IGtub3cgdGhhdCBiQDE3MSB3YXMgYSB3cml0ZSBiZWNhdXNlIGl0cwor
ICAgICAgICBoZWFwIHJhbmdlIGlzIGRpZmZlcmVudCB0aGFuIEAyMTcuIEdlbmVyYWxseSwgd2hl
biB1c2luZyB0d28gaGVhcCByYW5nZXMsIGl0J3MKKyAgICAgICAgdGVsbGluZyBCMyB0aGF0IHR3
byBwb2ludGVycyBkb24ndCBhbGlhcy4KKyAgICAgICAgYGBgCisgICAgICAgIEBBLCBIZWFwX0gK
KyAgICAgICAgQEIsIEhlYXBfSAorICAgICAgICBgYGAKKyAgICAgICAgSW4gdGhlIGFib3ZlIHBy
b2dyYW0sIAorICAgICAgICAtIElmIEBCIHJlYWRzIEggYW5kIEBBIHdyaXRlcyBILCB0aGVuIEBC
IGlzIGRlcGVuZGVudCBvbiBAQS4KKyAgICAgICAgLSBJZiBAQiB3cml0ZXMgSCwgdGhlbiBAQiBp
cyBkZXBlbmRlbnQgb24gQEEgaWYgQEEgcmVhZHMgb3Igd3JpdGVzIEguCisgICAgICAgIAorICAg
ICAgICBTbyBmb3IgZGVsZXRlLCB3ZSBuZWVkIHRvIG1vZGVsIHRoZSBkZWxldGlvbiBvZiBhIHBy
b3BlcnR5IGFzIGFjdHVhbGx5CisgICAgICAgIHdyaXRpbmcgdG8gYWxsIG5hbWVkIHByb3BlcnRp
ZXMgdGhhdCBtYXkgZXhpc3QgYXQgdGhhdCBzbG90IGdpdmVuIGEKKyAgICAgICAgc2VyaWVzIG9m
IHN0cnVjdHVyZSB0cmFuc2l0aW9ucy4gV2UgbW9kZWwgdGhpcyBieSBzYXlpbmcgdGhlIFB1dFN0
cnVjdHVyZQorICAgICAgICBmb3IgYW4gaW5saW5lZCBkZWxldGUsIG9yIE11bHRpRGVsZXRlQnlP
ZmZzZXQsIHdyaXRlcyB0byBhbGwgbmFtZWQgcHJvcGVydGllcworICAgICAgICAod2hpY2ggaXMg
YSBzdXBlcnNldCBvZiBhbGwgbmFtZWQgcHJvcGVydGllcyB0aGF0IG1heSBleGlzdCBhdCB0aGF0
IHNsb3QKKyAgICAgICAgdGhyb3VnaCBhIHNlcmllcyBvZiB0cmFuc2l0aW9ucykuCisKKyAgICAg
ICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUp
OgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXAuY3BwOgorICAgICAgICAoSlNDOjpGVEw6
OkluZGV4ZWRBYnN0cmFjdEhlYXA6OmR1bXApOgorICAgICAgICAoSlNDOjpGVEw6Ok51bWJlcmVk
QWJzdHJhY3RIZWFwOjpkdW1wKToKKyAgICAgICAgKEpTQzo6RlRMOjpBYnNvbHV0ZUFic3RyYWN0
SGVhcDo6ZHVtcCk6CisgICAgICAgIChKU0M6OkZUTDo6SW5kZXhlZEFic3RyYWN0SGVhcDo6ZHVt
cCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkZUTDo6TnVtYmVyZWRBYnN0cmFjdEhl
YXA6OmR1bXAgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpGVEw6OkFic29sdXRlQWJz
dHJhY3RIZWFwOjpkdW1wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBmdGwvRlRMQWJzdHJh
Y3RIZWFwLmg6CisgICAgICAgIChKU0M6OkZUTDo6SW5kZXhlZEFic3RyYWN0SGVhcDo6YXRBbnlJ
bmRleCk6CisgICAgICAgIChKU0M6OkZUTDo6TnVtYmVyZWRBYnN0cmFjdEhlYXA6OmF0QW55TnVt
YmVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpBYnNvbHV0ZUFic3RyYWN0SGVhcDo6YXRBbnlBZGRy
ZXNzKToKKyAgICAgICAgKEpTQzo6RlRMOjpJbmRleGVkQWJzdHJhY3RIZWFwOjphdEFueUluZGV4
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RlRMOjpOdW1iZXJlZEFic3RyYWN0SGVh
cDo6YXRBbnlOdW1iZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpGVEw6OkFic29s
dXRlQWJzdHJhY3RIZWFwOjphdEFueUFkZHJlc3MgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpB
YnN0cmFjdEhlYXBSZXBvc2l0b3J5OjpBYnN0cmFjdEhlYXBSZXBvc2l0b3J5KToKKyAgICAgICAg
KiBmdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dl
ckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21w
aWxlUHV0U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZU11bHRpRGVsZXRlQnlPZmZzZXQpOgorCiAyMDIwLTA1LTI3ICBLZWl0aCBNaWxsZXIg
IDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIGZvci1vZiBzaG91bGQgY2hlY2sg
dGhlIGl0ZXJhYmxlIGlzIGEgSlNBcnJheSBmb3IgRmFzdEFycmF5IGluIERGRyBpdGVyYXRvcl9v
cGVuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkocmV2
aXNpb24gMjYyMjYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXpl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNjIsNiArMTE2MiwyMCBAQCB2b2lkIGNsb2JiZXJpemUo
R3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlCiAgICAgICAgIHdyaXRlKEpTQ2VsbF9zdHJ1Y3R1cmVJ
RCk7CiAgICAgICAgIHdyaXRlKEpTQ2VsbF90eXBlSW5mb0ZsYWdzKTsKICAgICAgICAgd3JpdGUo
SlNDZWxsX2luZGV4aW5nVHlwZSk7CisKKyAgICAgICAgaWYgKG5vZGUtPnRyYW5zaXRpb24oKS0+
bmV4dC0+aXNQcm9wZXJ0eURlbGV0aW9uVHJhbnNpdGlvbigpKSB7CisgICAgICAgICAgICAvLyBX
ZSB1c2UgdGhpcyAiZGVsZXRlIGZlbmNlIiB0byBtb2RlbCB0aGUgcHJvcGVyIGFsaWFzaW5nIG9m
IGZ1dHVyZSBzdG9yZXMuCisgICAgICAgICAgICAvLyBCb3RoIGluIERGRyBhbmQgd2hlbiB3ZSBs
b3dlciB0byBCMywgd2UgbW9kZWwgYWxpYXNpbmcgb2YgcHJvcGVydGllcyBieQorICAgICAgICAg
ICAgLy8gcHJvcGVydHkgIG5hbWUuIEluIGEgd29ybGQgd2l0aG91dCBkZWxldGUsIHRoYXQgYWxz
byBtb2RlbHMge2Jhc2UsIHByb3BlcnR5T2Zmc2V0fS4KKyAgICAgICAgICAgIC8vIEhvd2V2ZXIs
IHdpdGggZGVsZXRlLCB3ZSBtYXkgcmV1c2UgcHJvcGVydHkgb2Zmc2V0cyBmb3IgZGlmZmVyZW50
IG5hbWVzLgorICAgICAgICAgICAgLy8gVGhvc2UgcG90ZW50aWFsIHN0b3JlcyB0aGF0IGNvbWUg
YWZ0ZXIgdGhpcyBkZWxldGUgd29uJ3QgcHJvcGVybHkgbW9kZWwKKyAgICAgICAgICAgIC8vIHRo
YXQgdGhleSBhcmUgZGVwZW5kZW50IG9uIHRoZSBwcmlvciBuYW1lIHN0b3Jlcy4gRm9yIGV4YW1w
bGUsIGlmIHdlIGRpZG4ndCBtb2RlbCB0aGlzLAorICAgICAgICAgICAgLy8gaXQgY291bGQgZ2l2
ZSB3aGVuIGRvaW5nIHRoaW5ncyBsaWtlIHN0b3JlIGVsaW1pbmF0aW9uLCBzaW5jZSB3ZSBkb24n
dCBzZWUKKyAgICAgICAgICAgIC8vIHdyaXRlcyB0byB0aGUgbmV3IGZpZWxkIG5hbWUgYXMgaGF2
aW5nIGRlcGVuZGVuY2llcyBvbiB0aGUgb2xkIGZpZWxkIG5hbWUuCisgICAgICAgICAgICAvLyBU
aGlzIG5vZGUgbWFrZXMgaXQgc28gd2UgcHJvcGVybHkgbW9kZWwgdGhvc2UgZGVwZW5kZW5jaWVz
LgorICAgICAgICAgICAgd3JpdGUoTmFtZWRQcm9wZXJ0aWVzKTsKKyAgICAgICAgfQorICAgICAg
ICAgICAgCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgY2FzZSBBbGxvY2F0ZVByb3Bl
cnR5U3RvcmFnZToKQEAgLTEzMTgsOCArMTMzMiwxMiBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgm
IGdyYXBoLCBOb2RlKiBub2RlCiAgICAgICAgIHJlYWQoSlNPYmplY3RfYnV0dGVyZmx5KTsKICAg
ICAgICAgQWJzdHJhY3RIZWFwIGhlYXAoTmFtZWRQcm9wZXJ0aWVzLCBub2RlLT5tdWx0aURlbGV0
ZUJ5T2Zmc2V0RGF0YSgpLmlkZW50aWZpZXJOdW1iZXIpOwogICAgICAgICB3cml0ZShoZWFwKTsK
LSAgICAgICAgaWYgKG5vZGUtPm11bHRpRGVsZXRlQnlPZmZzZXREYXRhKCkud3JpdGVzU3RydWN0
dXJlcygpKQorICAgICAgICBpZiAobm9kZS0+bXVsdGlEZWxldGVCeU9mZnNldERhdGEoKS53cml0
ZXNTdHJ1Y3R1cmVzKCkpIHsKICAgICAgICAgICAgIHdyaXRlKEpTQ2VsbF9zdHJ1Y3R1cmVJRCk7
CisgICAgICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBQdXRTdHJ1Y3R1cmUgYWJvdXQgd2h5IHRo
aXMgaXMgbmVlZGVkIGZvciBwcm9wZXIKKyAgICAgICAgICAgIC8vIGFsaWFzIGFuYWx5c2lzLgor
ICAgICAgICAgICAgd3JpdGUoTmFtZWRQcm9wZXJ0aWVzKTsKKyAgICAgICAgfQogICAgICAgICBk
ZWYoSGVhcExvY2F0aW9uKE5hbWVkUHJvcGVydHlMb2MsIGhlYXAsIG5vZGUtPmNoaWxkMSgpKSwg
TGF6eU5vZGUoZ3JhcGguZnJlZXplU3Ryb25nKEpTVmFsdWUoKSkpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFw
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0
SGVhcC5jcHAJKHJldmlzaW9uIDI2MjI2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZv
aWQgSW5kZXhlZEFic3RyYWN0SGVhcDo6aW5pdGlhbGl6ZShBYnMKICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIEluZGV4ZWRBYnN0cmFjdEhlYXA6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKK3ZvaWQgSW5kZXhlZEFic3RyYWN0SGVhcDo6ZHVtcChQcmlu
dFN0cmVhbSYgb3V0KQogewogICAgIG91dC5wcmludCgiSW5kZXhlZDoiLCBhdEFueUluZGV4KCkp
OwogfQpAQCAtMjQ1LDcgKzI0NSw3IEBAIE51bWJlcmVkQWJzdHJhY3RIZWFwOjp+TnVtYmVyZWRB
YnN0cmFjdEgKIHsKIH0KIAotdm9pZCBOdW1iZXJlZEFic3RyYWN0SGVhcDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAordm9pZCBOdW1iZXJlZEFic3RyYWN0SGVhcDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KQogewogICAgIG91dC5wcmludCgiTnVtYmVyZWQ6ICIsIGF0QW55TnVtYmVyKCkp
OwogfQpAQCAtMjU5LDcgKzI1OSw3IEBAIEFic29sdXRlQWJzdHJhY3RIZWFwOjp+QWJzb2x1dGVB
YnN0cmFjdEgKIHsKIH0KIAotdm9pZCBBYnNvbHV0ZUFic3RyYWN0SGVhcDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAordm9pZCBBYnNvbHV0ZUFic3RyYWN0SGVhcDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KQogewogICAgIG91dC5wcmludCgiQWJzb2x1dGU6IiwgYXRBbnlBZGRyZXNzKCkp
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXAuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcC5o
CShyZXZpc2lvbiAyNjIyNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3Ry
YWN0SGVhcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljOgogICAg
IEluZGV4ZWRBYnN0cmFjdEhlYXAoQWJzdHJhY3RIZWFwKiBwYXJlbnQsIGNvbnN0IGNoYXIqIGhl
YXBOYW1lLCBwdHJkaWZmX3Qgb2Zmc2V0LCBzaXplX3QgZWxlbWVudFNpemUpOwogICAgIH5JbmRl
eGVkQWJzdHJhY3RIZWFwKCk7CiAgICAgCi0gICAgY29uc3QgQWJzdHJhY3RIZWFwJiBhdEFueUlu
ZGV4KCkgY29uc3QgeyByZXR1cm4gbV9oZWFwRm9yQW55SW5kZXg7IH0KKyAgICBBYnN0cmFjdEhl
YXAmIGF0QW55SW5kZXgoKSB7IHJldHVybiBtX2hlYXBGb3JBbnlJbmRleDsgfQogICAgIAogICAg
IGNvbnN0IEFic3RyYWN0SGVhcCYgYXQocHRyZGlmZl90IGluZGV4KQogICAgIHsKQEAgLTEzNSw3
ICsxMzUsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgVHlwZWRQb2ludGVyIGJhc2VJbmRleChPdXRw
dXQmIG91dCwgTFZhbHVlIGJhc2UsIExWYWx1ZSBpbmRleCwgSlNWYWx1ZSBpbmRleEFzQ29uc3Rh
bnQgPSBKU1ZhbHVlKCksIHB0cmRpZmZfdCBvZmZzZXQgPSAwLCBMVmFsdWUgbWFzayA9IG51bGxw
dHIpOwogICAgIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OworICAgIHZvaWQg
ZHVtcChQcmludFN0cmVhbSYpOwogCiBwcml2YXRlOgogICAgIGNvbnN0IEFic3RyYWN0SGVhcCYg
cmV0dXJuSW5pdGlhbGl6ZWQoQWJzdHJhY3RIZWFwJiBmaWVsZCwgcHRyZGlmZl90IGluZGV4KQpA
QCAtMTc0LDEyICsxNzQsMTIgQEAgcHVibGljOgogICAgIE51bWJlcmVkQWJzdHJhY3RIZWFwKEFi
c3RyYWN0SGVhcCogcGFyZW50LCBjb25zdCBjaGFyKiBoZWFwTmFtZSk7CiAgICAgfk51bWJlcmVk
QWJzdHJhY3RIZWFwKCk7CiAgICAgCi0gICAgY29uc3QgQWJzdHJhY3RIZWFwJiBhdEFueU51bWJl
cigpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXhlZEhlYXAuYXRBbnlJbmRleCgpOyB9CisgICAgQWJz
dHJhY3RIZWFwJiBhdEFueU51bWJlcigpIHsgcmV0dXJuIG1faW5kZXhlZEhlYXAuYXRBbnlJbmRl
eCgpOyB9CiAgICAgCiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiBhdCh1bnNpZ25lZCBudW1iZXIp
IHsgcmV0dXJuIG1faW5kZXhlZEhlYXAuYXQobnVtYmVyKTsgfQogICAgIGNvbnN0IEFic3RyYWN0
SGVhcCYgb3BlcmF0b3JbXSh1bnNpZ25lZCBudW1iZXIpIHsgcmV0dXJuIGF0KG51bWJlcik7IH0K
IAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OworICAgIHZvaWQgZHVtcChQcmlu
dFN0cmVhbSYpOwogCiBwcml2YXRlOgogICAgIApAQCAtMTkzLDcgKzE5Myw3IEBAIHB1YmxpYzoK
ICAgICBBYnNvbHV0ZUFic3RyYWN0SGVhcChBYnN0cmFjdEhlYXAqIHBhcmVudCwgY29uc3QgY2hh
ciogaGVhcE5hbWUpOwogICAgIH5BYnNvbHV0ZUFic3RyYWN0SGVhcCgpOwogICAgIAotICAgIGNv
bnN0IEFic3RyYWN0SGVhcCYgYXRBbnlBZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGVk
SGVhcC5hdEFueUluZGV4KCk7IH0KKyAgICBjb25zdCBBYnN0cmFjdEhlYXAmIGF0QW55QWRkcmVz
cygpIHsgcmV0dXJuIG1faW5kZXhlZEhlYXAuYXRBbnlJbmRleCgpOyB9CiAgICAgCiAgICAgY29u
c3QgQWJzdHJhY3RIZWFwJiBhdChjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKQEAgLTIwMiw3
ICsyMDIsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiBvcGVyYXRv
cltdKGNvbnN0IHZvaWQqIGFkZHJlc3MpIHsgcmV0dXJuIGF0KGFkZHJlc3MpOyB9CiAKLSAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0m
KTsKIAogcHJpdmF0ZToKICAgICAvLyBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHRoZSBpbmRleGVk
IGhlYXAgaXMgImluZGV4ZWQiIGJ5IGEgcG9pbnRlci13aWR0aApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3Bw
CShyZXZpc2lvbiAyNjIyNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Myw2ICs3Myw5IEBAIEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnk6OkFic3RyYWN0SGVhcFJlcG8KIAogICAgICwgYWJzb2x1dGUo
JnJvb3QsICJhYnNvbHV0ZSIpCiB7CisgICAgSlNDZWxsX2hlYWRlci5jaGFuZ2VQYXJlbnQoJkpT
Q2VsbF9oZWFkZXJfYW5kX25hbWVkX3Byb3BlcnRpZXMpOworICAgIHByb3BlcnRpZXMuYXRBbnlO
dW1iZXIoKS5jaGFuZ2VQYXJlbnQoJkpTQ2VsbF9oZWFkZXJfYW5kX25hbWVkX3Byb3BlcnRpZXMp
OworCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgb3VyIGV4cGxpY2l0IGFzc3VtcHRpb25zIGFib3V0
IHRoZSBTdHJ1Y3R1cmVJREJsb2IgbWF0Y2ggcmVhbGl0eS4KICAgICBSRUxFQVNFX0FTU0VSVCgh
KEpTQ2VsbF9pbmRleGluZ1R5cGVBbmRNaXNjLm9mZnNldCgpICYgKHNpemVvZihpbnQzMl90KSAt
IDEpKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoSlNDZWxsX2luZGV4aW5nVHlwZUFuZE1pc2Mub2Zm
c2V0KCkgKyAxID09IEpTQ2VsbF90eXBlSW5mb1R5cGUub2Zmc2V0KCkpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmgJKHJldmlzaW9uIDI2MjI2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsNiArMTU2LDcgQEAg
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFdlYWtNYXBCdWNrZXRf
dmFsdWUsIFdlYWtNYXBCdWNrZXQ8V2Vha01hcEJ1Y2tldERhdGFLZXlWYWx1ZT46Om9mZnNldE9m
VmFsdWUoKSkgXAogICAgIG1hY3JvKFdlYWtNYXBCdWNrZXRfa2V5LCBXZWFrTWFwQnVja2V0PFdl
YWtNYXBCdWNrZXREYXRhS2V5VmFsdWU+OjpvZmZzZXRPZktleSgpKSBcCiAgICAgbWFjcm8oU3lt
Ym9sX3N5bWJvbEltcGwsIFN5bWJvbDo6b2Zmc2V0T2ZTeW1ib2xJbXBsKCkpIFwKKyAgICBtYWNy
byhKU0NlbGxfaGVhZGVyX2FuZF9uYW1lZF9wcm9wZXJ0aWVzLCAwKSBcCiAKICNkZWZpbmUgRk9S
X0VBQ0hfSU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCiAgICAgbWFjcm8oQXJyYXlTdG9y
YWdlX3ZlY3RvciwgQXJyYXlTdG9yYWdlOjp2ZWN0b3JPZmZzZXQoKSwgc2l6ZW9mKFdyaXRlQmFy
cmllcjxVbmtub3duPikpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDI2MjI2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc5MSw5ICsz
NzkxLDEyIEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChvbGRTdHJ1Y3R1cmUtPnR5cGVJbmZv
KCkudHlwZSgpID09IG5ld1N0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkpOwogCiAgICAgICAg
IExWYWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsgCisKKyAgICAgICAgYXV0
byYgaGVhcCA9IG1fbm9kZS0+dHJhbnNpdGlvbigpLT5uZXh0LT5pc1Byb3BlcnR5RGVsZXRpb25U
cmFuc2l0aW9uKCkgPyBtX2hlYXBzLkpTQ2VsbF9oZWFkZXJfYW5kX25hbWVkX3Byb3BlcnRpZXMg
OiBtX2hlYXBzLkpTQ2VsbF9zdHJ1Y3R1cmVJRDsKKyAgICAgICAgVHlwZWRQb2ludGVyIHBvaW50
ZXIgeyBoZWFwLCBtX291dC5hZGRQdHIoY2VsbCwgbV9oZWFwcy5KU0NlbGxfc3RydWN0dXJlSUQu
b2Zmc2V0KCkpIH07CisKICAgICAgICAgbV9vdXQuc3RvcmUzMigKLSAgICAgICAgICAgIHdlYWtT
dHJ1Y3R1cmVJRChuZXdTdHJ1Y3R1cmUpLAotICAgICAgICAgICAgY2VsbCwgbV9oZWFwcy5KU0Nl
bGxfc3RydWN0dXJlSUQpOworICAgICAgICAgICAgd2Vha1N0cnVjdHVyZUlEKG5ld1N0cnVjdHVy
ZSksIHBvaW50ZXIpOwogICAgIH0KICAgICAKICAgICB2b2lkIGNvbXBpbGVHZXRCeUlkKEFjY2Vz
c1R5cGUgdHlwZSkKQEAgLTg1MDksNiArODUxMiwxMiBAQCBwcml2YXRlOgogCiAgICAgICAgIG1f
b3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOwogICAgICAgICBzZXRCb29sZWFu
KG1fb3V0LnBoaShJbnQzMiwgcmVzdWx0cykpOworCisgICAgICAgIGlmIChkYXRhLndyaXRlc1N0
cnVjdHVyZXMoKSkgeworICAgICAgICAgICAgUGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50ID0g
bV9vdXQucGF0Y2hwb2ludChWb2lkKTsKKyAgICAgICAgICAgIHBhdGNocG9pbnQtPnNldEdlbmVy
YXRvcihbXSAoQ0NhbGxIZWxwZXJzJiwgY29uc3QgU3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1zJikg
eyB9KTsKKyAgICAgICAgICAgIG1faGVhcHMuZGVjb3JhdGVQYXRjaHBvaW50V3JpdGUoJm1faGVh
cHMuSlNDZWxsX2hlYWRlcl9hbmRfbmFtZWRfcHJvcGVydGllcywgcGF0Y2hwb2ludCk7CisgICAg
ICAgIH0KICAgICB9CiAgICAgCiAgICAgdm9pZCBjb21waWxlTWF0Y2hTdHJ1Y3R1cmUoKQo=
</data>
<flag name="review"
          id="416007"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400624</attachid>
            <date>2020-05-29 15:01:20 -0700</date>
            <delta_ts>2020-05-29 21:39:41 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>13113</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjIzMTApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTA1LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gcHJvcGVybHkgbW9kZWwgaGVhcCByYW5nZXMgb2Yg
RGVsZXRlIGluIERGRy9CMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEyNTM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzY3MDk2ND4KKworICAg
ICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICAqIHN0cmVzcy9kZWxldGUt
aW5saW5pbmctc2hvdWxkLW1vZGVsLWFsaWFzaW5nLW9mLWZ1dHVyZS1zdG9yZXMuanM6IEFkZGVk
LgorCiAyMDIwLTA1LTI3ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIGZvci1vZiBzaG91bGQgY2hlY2sgdGhlIGl0ZXJhYmxlIGlzIGEgSlNBcnJheSBm
b3IgRmFzdEFycmF5IGluIERGRyBpdGVyYXRvcl9vcGVuCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9k
ZWxldGUtaW5saW5pbmctc2hvdWxkLW1vZGVsLWFsaWFzaW5nLW9mLWZ1dHVyZS1zdG9yZXMuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvZGVsZXRlLWlubGluaW5nLXNob3VsZC1tb2Rl
bC1hbGlhc2luZy1vZi1mdXR1cmUtc3RvcmVzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL2RlbGV0ZS1pbmxpbmluZy1zaG91bGQtbW9kZWwtYWxpYXNpbmctb2YtZnV0dXJlLXN0
b3Jlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACisvLyBUaGlzIHNob3VsZCBu
b3QgY3Jhc2guCitmdW5jdGlvbiBmb28oKSB7CisgICAgY29uc3QgbyA9IHsgeTogMCB9OworICAg
IGRlbGV0ZSBvLnk7CisgICAgby56ID0gMDsKKyAgICBPYmplY3QuYXNzaWduKHt9LCBvKTsKK30K
K25vSW5saW5lKGZvbyk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyBpKyspIHsKKyAg
ICBmb28oKTsKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyMjYw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDgxIEBACisyMDIwLTA1LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgorCisgICAgICAgIFdlIG5lZWQgdG8gcHJvcGVybHkgbW9kZWwgaGVhcCByYW5nZXMgb2YgRGVs
ZXRlIGluIERGRy9CMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEyNTM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzY3MDk2ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICBXZSBuZWVkIHRvIHByb3Blcmx5
IG1vZGVsIHRoZSBhbGlhc2luZyBkZXBlbmRlbmNpZXMgb2YgYW4gaW5saW5lZCBkZWxldGUgCisg
ICAgICAgIG9wZXJhdGlvbi4gCisgICAgICAgIAorICAgICAgICBXZSBoYWQgYSBidWcgaW4gdGhl
IEIzIElSIHdlIGdlbmVyYXRlZCBmcm9tIGNvZGUgbGlrZSB0aGlzIGZvciBhIGRlbGV0ZQorICAg
ICAgICBmb2xsb3dlZCBieSBhIHByb3BlcnR5IGFkZGl0aW9uOgorICAgICAgICBgYGAKKyAgICAg
ICAgY29uc3QgbyA9IHsgeTogMCB9OworICAgICAgICBkZWxldGUgby55OworICAgICAgICBvLnog
PSAwOworICAgICAgICBgYGAKKyAgICAgICAgCisgICAgICAgIGdlbmVyYXRlZDoKKyAgICAgICAg
CisgICAgICAgIGBgYAorICAgICAgICBub3RlOiBiYiM1IGRvbWluYXRlcyBiYiMxMCwgYmIjMTAg
ZG9taW5hdGVzIGJiIzE1CisgICAgICAgIAorICAgICAgICBiYiM1CisgICAgICAgIFZvaWQgYkAx
MjUgPSBTdG9yZSgkLTU2Mjk0OTk1MzQyMTMxMihiQDI4MiksIGJAMTEyLCBvZmZzZXQgPSAxNiwg
Q29udHJvbERlcGVuZGVudHxXcml0ZXM6MTI5LCBEQDMwKQorICAgICAgICBiYiMxMAorICAgICAg
ICBWb2lkIGJAMTcxID0gU3RvcmUoJDAoYkAyKSwgYkAxMTIsIG9mZnNldCA9IDE2LCBDb250cm9s
RGVwZW5kZW50fFdyaXRlczoxMjksIERAMzcpCisgICAgICAgIGJiIzE1CisgICAgICAgIFZvaWQg
YkAyMTcgPSBTdG9yZSgkLTU2Mjk0OTk1MzQyMTMxMihiQDI4MiksIGJAMTEyLCBvZmZzZXQgPSAx
NiwgQ29udHJvbERlcGVuZGVudHxXcml0ZXM6MTMwLCBEQDQ0KQorICAgICAgICBgYGAKKyAgICAg
ICAgCisgICAgICAgIE5vdGljZSB0aGF0ICJ5IiBhbmQgInoiIGVuZGVkIHVwIGF0IHRoZSBzYW1l
IHByb3BlcnR5IG9mZnNldC4KKyAgICAgICAgCisgICAgICAgIEluIHRoZSBhYm92ZSBwcm9ncmFt
LCBCMyBwcm92ZXMgdGhlIHBvaW50ZXIgd2UncmUgc3RvcmluZyB0byBpcyB0aGUgc2FtZSB2YWx1
ZQorICAgICAgICBpbiBhbGwgdGhyZWUgc3RvcmVzIChiQDExMikuIEhvd2V2ZXIsIGJlY2F1c2Ug
b2YgaG93IGl0IGRvZXMgc3RvcmUgZm9yd2FyZGluZywKKyAgICAgICAgaXQgZGV0ZXJtaW5lZCBp
dCBjb3VsZCBlbGltaW5hdGUgYkAyMTcgYmVjYXVzZSBiQDEyNSBhbHJlYWR5IHN0b3JlZCB0aGUg
c2FtZQorICAgICAgICB2YWx1ZSB0byB0aGUgc2FtZSBwb2ludGVyLiBJdCBkaWRuJ3Qga25vdyB0
aGF0IGJAMTcxIHdhcyBhIHdyaXRlIGJlY2F1c2UgaXRzCisgICAgICAgIGhlYXAgcmFuZ2UgaXMg
ZGlmZmVyZW50IHRoYW4gQDIxNy4gR2VuZXJhbGx5LCB3aGVuIHVzaW5nIHR3byBoZWFwIHJhbmdl
cywgaXQncworICAgICAgICB0ZWxsaW5nIEIzIHRoYXQgdHdvIHBvaW50ZXJzIGRvbid0IGFsaWFz
LgorICAgICAgICBgYGAKKyAgICAgICAgQEEsIEhlYXBfSAorICAgICAgICBAQiwgSGVhcF9ICisg
ICAgICAgIGBgYAorICAgICAgICBJbiB0aGUgYWJvdmUgcHJvZ3JhbSwgCisgICAgICAgIC0gSWYg
QEIgcmVhZHMgSCBhbmQgQEEgd3JpdGVzIEgsIHRoZW4gQEIgaXMgZGVwZW5kZW50IG9uIEBBLgor
ICAgICAgICAtIElmIEBCIHdyaXRlcyBILCB0aGVuIEBCIGlzIGRlcGVuZGVudCBvbiBAQSBpZiBA
QSByZWFkcyBvciB3cml0ZXMgSC4KKyAgICAgICAgCisgICAgICAgIFNvIGZvciBkZWxldGUsIHdl
IG5lZWQgdG8gbW9kZWwgdGhlIGRlbGV0aW9uIG9mIGEgcHJvcGVydHkgYXMgYWN0dWFsbHkKKyAg
ICAgICAgd3JpdGluZyB0byBhbGwgbmFtZWQgcHJvcGVydGllcyB0aGF0IG1heSBleGlzdCBhdCB0
aGF0IHNsb3QgZ2l2ZW4gYQorICAgICAgICBzZXJpZXMgb2Ygc3RydWN0dXJlIHRyYW5zaXRpb25z
LiBXZSBtb2RlbCB0aGlzIGJ5IHNheWluZyB0aGUgUHV0U3RydWN0dXJlCisgICAgICAgIGZvciBh
biBpbmxpbmVkIGRlbGV0ZSwgb3IgTXVsdGlEZWxldGVCeU9mZnNldCwgd3JpdGVzIHRvIGFsbCBu
YW1lZCBwcm9wZXJ0aWVzCisgICAgICAgICh3aGljaCBpcyBhIHN1cGVyc2V0IG9mIGFsbCBuYW1l
ZCBwcm9wZXJ0aWVzIHRoYXQgbWF5IGV4aXN0IGF0IHRoYXQgc2xvdAorICAgICAgICB0aHJvdWdo
IGEgc2VyaWVzIG9mIHRyYW5zaXRpb25zKS4KKworICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXpl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZnRsL0ZUTEFi
c3RyYWN0SGVhcC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6SW5kZXhlZEFic3RyYWN0SGVhcDo6
ZHVtcCk6CisgICAgICAgIChKU0M6OkZUTDo6TnVtYmVyZWRBYnN0cmFjdEhlYXA6OmR1bXApOgor
ICAgICAgICAoSlNDOjpGVEw6OkFic29sdXRlQWJzdHJhY3RIZWFwOjpkdW1wKToKKyAgICAgICAg
KEpTQzo6RlRMOjpJbmRleGVkQWJzdHJhY3RIZWFwOjpkdW1wIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKEpTQzo6RlRMOjpOdW1iZXJlZEFic3RyYWN0SGVhcDo6ZHVtcCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChKU0M6OkZUTDo6QWJzb2x1dGVBYnN0cmFjdEhlYXA6OmR1bXAgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXAuaDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpJbmRleGVkQWJzdHJhY3RIZWFwOjphdEFueUluZGV4KToKKyAgICAgICAgKEpTQzo6
RlRMOjpOdW1iZXJlZEFic3RyYWN0SGVhcDo6YXRBbnlOdW1iZXIpOgorICAgICAgICAoSlNDOjpG
VEw6OkFic29sdXRlQWJzdHJhY3RIZWFwOjphdEFueUFkZHJlc3MpOgorICAgICAgICAoSlNDOjpG
VEw6OkluZGV4ZWRBYnN0cmFjdEhlYXA6OmF0QW55SW5kZXggY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoSlNDOjpGVEw6Ok51bWJlcmVkQWJzdHJhY3RIZWFwOjphdEFueU51bWJlciBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkZUTDo6QWJzb2x1dGVBYnN0cmFjdEhlYXA6OmF0QW55
QWRkcmVzcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZnRsL0ZUTEFic3RyYWN0SGVhcFJl
cG9zaXRvcnkuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkFic3RyYWN0SGVhcFJlcG9zaXRvcnk6
OkFic3RyYWN0SGVhcFJlcG9zaXRvcnkpOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXBS
ZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVQdXRTdHJ1Y3R1cmUpOgorICAg
ICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTXVsdGlEZWxldGVCeU9m
ZnNldCk6CisKIDIwMjAtMDUtMjcgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CiAKICAgICAgICAgZm9yLW9mIHNob3VsZCBjaGVjayB0aGUgaXRlcmFibGUgaXMgYSBKU0Fy
cmF5IGZvciBGYXN0QXJyYXkgaW4gREZHIGl0ZXJhdG9yX29wZW4KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCShyZXZpc2lvbiAyNjIyNjApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTE2Miw2ICsxMTYyLDIwIEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5v
ZGUKICAgICAgICAgd3JpdGUoSlNDZWxsX3N0cnVjdHVyZUlEKTsKICAgICAgICAgd3JpdGUoSlND
ZWxsX3R5cGVJbmZvRmxhZ3MpOwogICAgICAgICB3cml0ZShKU0NlbGxfaW5kZXhpbmdUeXBlKTsK
KworICAgICAgICBpZiAobm9kZS0+dHJhbnNpdGlvbigpLT5uZXh0LT5pc1Byb3BlcnR5RGVsZXRp
b25UcmFuc2l0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFdlIHVzZSB0aGlzICJkZWxldGUgZmVu
Y2UiIHRvIG1vZGVsIHRoZSBwcm9wZXIgYWxpYXNpbmcgb2YgZnV0dXJlIHN0b3Jlcy4KKyAgICAg
ICAgICAgIC8vIEJvdGggaW4gREZHIGFuZCB3aGVuIHdlIGxvd2VyIHRvIEIzLCB3ZSBtb2RlbCBh
bGlhc2luZyBvZiBwcm9wZXJ0aWVzIGJ5CisgICAgICAgICAgICAvLyBwcm9wZXJ0eSAgbmFtZS4g
SW4gYSB3b3JsZCB3aXRob3V0IGRlbGV0ZSwgdGhhdCBhbHNvIG1vZGVscyB7YmFzZSwgcHJvcGVy
dHlPZmZzZXR9LgorICAgICAgICAgICAgLy8gSG93ZXZlciwgd2l0aCBkZWxldGUsIHdlIG1heSBy
ZXVzZSBwcm9wZXJ0eSBvZmZzZXRzIGZvciBkaWZmZXJlbnQgbmFtZXMuCisgICAgICAgICAgICAv
LyBUaG9zZSBwb3RlbnRpYWwgc3RvcmVzIHRoYXQgY29tZSBhZnRlciB0aGlzIGRlbGV0ZSB3b24n
dCBwcm9wZXJseSBtb2RlbAorICAgICAgICAgICAgLy8gdGhhdCB0aGV5IGFyZSBkZXBlbmRlbnQg
b24gdGhlIHByaW9yIG5hbWUgc3RvcmVzLiBGb3IgZXhhbXBsZSwgaWYgd2UgZGlkbid0IG1vZGVs
IHRoaXMsCisgICAgICAgICAgICAvLyBpdCBjb3VsZCBnaXZlIHdoZW4gZG9pbmcgdGhpbmdzIGxp
a2Ugc3RvcmUgZWxpbWluYXRpb24sIHNpbmNlIHdlIGRvbid0IHNlZQorICAgICAgICAgICAgLy8g
d3JpdGVzIHRvIHRoZSBuZXcgZmllbGQgbmFtZSBhcyBoYXZpbmcgZGVwZW5kZW5jaWVzIG9uIHRo
ZSBvbGQgZmllbGQgbmFtZS4KKyAgICAgICAgICAgIC8vIFRoaXMgbm9kZSBtYWtlcyBpdCBzbyB3
ZSBwcm9wZXJseSBtb2RlbCB0aG9zZSBkZXBlbmRlbmNpZXMuCisgICAgICAgICAgICB3cml0ZShO
YW1lZFByb3BlcnRpZXMpOworICAgICAgICB9CisgICAgICAgICAgICAKICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKICAgICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgpAQCAtMTMxOCw4
ICsxMzMyLDEyIEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUKICAg
ICAgICAgcmVhZChKU09iamVjdF9idXR0ZXJmbHkpOwogICAgICAgICBBYnN0cmFjdEhlYXAgaGVh
cChOYW1lZFByb3BlcnRpZXMsIG5vZGUtPm11bHRpRGVsZXRlQnlPZmZzZXREYXRhKCkuaWRlbnRp
Zmllck51bWJlcik7CiAgICAgICAgIHdyaXRlKGhlYXApOwotICAgICAgICBpZiAobm9kZS0+bXVs
dGlEZWxldGVCeU9mZnNldERhdGEoKS53cml0ZXNTdHJ1Y3R1cmVzKCkpCisgICAgICAgIGlmIChu
b2RlLT5tdWx0aURlbGV0ZUJ5T2Zmc2V0RGF0YSgpLndyaXRlc1N0cnVjdHVyZXMoKSkgewogICAg
ICAgICAgICAgd3JpdGUoSlNDZWxsX3N0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgIC8vIFNlZSBj
b21tZW50IGluIFB1dFN0cnVjdHVyZSBhYm91dCB3aHkgdGhpcyBpcyBuZWVkZWQgZm9yIHByb3Bl
cgorICAgICAgICAgICAgLy8gYWxpYXMgYW5hbHlzaXMuCisgICAgICAgICAgICB3cml0ZShOYW1l
ZFByb3BlcnRpZXMpOworICAgICAgICB9CiAgICAgICAgIGRlZihIZWFwTG9jYXRpb24oTmFtZWRQ
cm9wZXJ0eUxvYywgaGVhcCwgbm9kZS0+Y2hpbGQxKCkpLCBMYXp5Tm9kZShncmFwaC5mcmVlemVT
dHJvbmcoSlNWYWx1ZSgpKSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmNwcAkocmV2aXNpb24gMjYy
MjYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMzEsNyArMjMxLDcgQEAgdm9pZCBJbmRleGVkQWJzdHJhY3RIZWFw
Ojppbml0aWFsaXplKEFicwogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAK
LXZvaWQgSW5kZXhlZEFic3RyYWN0SGVhcDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAor
dm9pZCBJbmRleGVkQWJzdHJhY3RIZWFwOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpCiB7CiAgICAg
b3V0LnByaW50KCJJbmRleGVkOiIsIGF0QW55SW5kZXgoKSk7CiB9CkBAIC0yNDUsNyArMjQ1LDcg
QEAgTnVtYmVyZWRBYnN0cmFjdEhlYXA6On5OdW1iZXJlZEFic3RyYWN0SAogewogfQogCi12b2lk
IE51bWJlcmVkQWJzdHJhY3RIZWFwOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit2b2lk
IE51bWJlcmVkQWJzdHJhY3RIZWFwOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpCiB7CiAgICAgb3V0
LnByaW50KCJOdW1iZXJlZDogIiwgYXRBbnlOdW1iZXIoKSk7CiB9CkBAIC0yNTksNyArMjU5LDcg
QEAgQWJzb2x1dGVBYnN0cmFjdEhlYXA6On5BYnNvbHV0ZUFic3RyYWN0SAogewogfQogCi12b2lk
IEFic29sdXRlQWJzdHJhY3RIZWFwOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit2b2lk
IEFic29sdXRlQWJzdHJhY3RIZWFwOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpCiB7CiAgICAgb3V0
LnByaW50KCJBYnNvbHV0ZToiLCBhdEFueUFkZHJlc3MoKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmgJKHJldmlzaW9uIDI2MjI2MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgSW5kZXhlZEFic3RyYWN0SGVhcChB
YnN0cmFjdEhlYXAqIHBhcmVudCwgY29uc3QgY2hhciogaGVhcE5hbWUsIHB0cmRpZmZfdCBvZmZz
ZXQsIHNpemVfdCBlbGVtZW50U2l6ZSk7CiAgICAgfkluZGV4ZWRBYnN0cmFjdEhlYXAoKTsKICAg
ICAKLSAgICBjb25zdCBBYnN0cmFjdEhlYXAmIGF0QW55SW5kZXgoKSBjb25zdCB7IHJldHVybiBt
X2hlYXBGb3JBbnlJbmRleDsgfQorICAgIEFic3RyYWN0SGVhcCYgYXRBbnlJbmRleCgpIHsgcmV0
dXJuIG1faGVhcEZvckFueUluZGV4OyB9CiAgICAgCiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiBh
dChwdHJkaWZmX3QgaW5kZXgpCiAgICAgewpAQCAtMTM1LDcgKzEzNSw3IEBAIHB1YmxpYzoKICAg
ICAKICAgICBUeXBlZFBvaW50ZXIgYmFzZUluZGV4KE91dHB1dCYgb3V0LCBMVmFsdWUgYmFzZSwg
TFZhbHVlIGluZGV4LCBKU1ZhbHVlIGluZGV4QXNDb25zdGFudCA9IEpTVmFsdWUoKSwgcHRyZGlm
Zl90IG9mZnNldCA9IDAsIExWYWx1ZSBtYXNrID0gbnVsbHB0cik7CiAgICAgCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJikgY29uc3Q7CisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJik7CiAK
IHByaXZhdGU6CiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiByZXR1cm5Jbml0aWFsaXplZChBYnN0
cmFjdEhlYXAmIGZpZWxkLCBwdHJkaWZmX3QgaW5kZXgpCkBAIC0xNzQsMTIgKzE3NCwxMiBAQCBw
dWJsaWM6CiAgICAgTnVtYmVyZWRBYnN0cmFjdEhlYXAoQWJzdHJhY3RIZWFwKiBwYXJlbnQsIGNv
bnN0IGNoYXIqIGhlYXBOYW1lKTsKICAgICB+TnVtYmVyZWRBYnN0cmFjdEhlYXAoKTsKICAgICAK
LSAgICBjb25zdCBBYnN0cmFjdEhlYXAmIGF0QW55TnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9p
bmRleGVkSGVhcC5hdEFueUluZGV4KCk7IH0KKyAgICBBYnN0cmFjdEhlYXAmIGF0QW55TnVtYmVy
KCkgeyByZXR1cm4gbV9pbmRleGVkSGVhcC5hdEFueUluZGV4KCk7IH0KICAgICAKICAgICBjb25z
dCBBYnN0cmFjdEhlYXAmIGF0KHVuc2lnbmVkIG51bWJlcikgeyByZXR1cm4gbV9pbmRleGVkSGVh
cC5hdChudW1iZXIpOyB9CiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiBvcGVyYXRvcltdKHVuc2ln
bmVkIG51bWJlcikgeyByZXR1cm4gYXQobnVtYmVyKTsgfQogCi0gICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJikgY29uc3Q7CisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJik7CiAKIHByaXZhdGU6
CiAgICAgCkBAIC0xOTMsNyArMTkzLDcgQEAgcHVibGljOgogICAgIEFic29sdXRlQWJzdHJhY3RI
ZWFwKEFic3RyYWN0SGVhcCogcGFyZW50LCBjb25zdCBjaGFyKiBoZWFwTmFtZSk7CiAgICAgfkFi
c29sdXRlQWJzdHJhY3RIZWFwKCk7CiAgICAgCi0gICAgY29uc3QgQWJzdHJhY3RIZWFwJiBhdEFu
eUFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX2luZGV4ZWRIZWFwLmF0QW55SW5kZXgoKTsgfQor
ICAgIGNvbnN0IEFic3RyYWN0SGVhcCYgYXRBbnlBZGRyZXNzKCkgeyByZXR1cm4gbV9pbmRleGVk
SGVhcC5hdEFueUluZGV4KCk7IH0KICAgICAKICAgICBjb25zdCBBYnN0cmFjdEhlYXAmIGF0KGNv
bnN0IHZvaWQqIGFkZHJlc3MpCiAgICAgewpAQCAtMjAyLDcgKzIwMiw3IEBAIHB1YmxpYzoKICAg
ICAKICAgICBjb25zdCBBYnN0cmFjdEhlYXAmIG9wZXJhdG9yW10oY29uc3Qgdm9pZCogYWRkcmVz
cykgeyByZXR1cm4gYXQoYWRkcmVzcyk7IH0KIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYp
IGNvbnN0OworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpOwogCiBwcml2YXRlOgogICAgIC8v
IFRoZSB0cmljayBoZXJlIGlzIHRoYXQgdGhlIGluZGV4ZWQgaGVhcCBpcyAiaW5kZXhlZCIgYnkg
YSBwb2ludGVyLXdpZHRoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAJKHJldmlzaW9uIDI2MjI2MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTczLDYgKzczLDkgQEAgQWJzdHJhY3RIZWFwUmVwb3NpdG9yeTo6
QWJzdHJhY3RIZWFwUmVwbwogCiAgICAgLCBhYnNvbHV0ZSgmcm9vdCwgImFic29sdXRlIikKIHsK
KyAgICBKU0NlbGxfaGVhZGVyLmNoYW5nZVBhcmVudCgmSlNDZWxsSGVhZGVyQW5kTmFtZWRQcm9w
ZXJ0aWVzKTsKKyAgICBwcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCkuY2hhbmdlUGFyZW50KCZKU0Nl
bGxIZWFkZXJBbmROYW1lZFByb3BlcnRpZXMpOworCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgb3Vy
IGV4cGxpY2l0IGFzc3VtcHRpb25zIGFib3V0IHRoZSBTdHJ1Y3R1cmVJREJsb2IgbWF0Y2ggcmVh
bGl0eS4KICAgICBSRUxFQVNFX0FTU0VSVCghKEpTQ2VsbF9pbmRleGluZ1R5cGVBbmRNaXNjLm9m
ZnNldCgpICYgKHNpemVvZihpbnQzMl90KSAtIDEpKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoSlND
ZWxsX2luZGV4aW5nVHlwZUFuZE1pc2Mub2Zmc2V0KCkgKyAxID09IEpTQ2VsbF90eXBlSW5mb1R5
cGUub2Zmc2V0KCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgJKHJldmlzaW9uIDI2MjI2MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw4IEBACiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAKICNkZWZpbmUgRk9SX0VBQ0hfQUJTVFJBQ1RfSEVBUChtYWNybykgXAotICAgIG1hY3JvKHR5
cGVkQXJyYXlQcm9wZXJ0aWVzKQorICAgIG1hY3JvKHR5cGVkQXJyYXlQcm9wZXJ0aWVzKSBcCisg
ICAgbWFjcm8oSlNDZWxsSGVhZGVyQW5kTmFtZWRQcm9wZXJ0aWVzKSBcCiAKICNkZWZpbmUgRk9S
X0VBQ0hfQUJTVFJBQ1RfRklFTEQobWFjcm8pIFwKICAgICBtYWNybyhBcnJheUJ1ZmZlcl9kYXRh
LCBBcnJheUJ1ZmZlcjo6b2Zmc2V0T2ZEYXRhKCkpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDI2MjI2MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc5MSw5ICszNzkxLDEyIEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChvbGRTdHJ1
Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IG5ld1N0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBl
KCkpOwogCiAgICAgICAgIExWYWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsg
CisKKyAgICAgICAgYXV0byYgaGVhcCA9IG1fbm9kZS0+dHJhbnNpdGlvbigpLT5uZXh0LT5pc1By
b3BlcnR5RGVsZXRpb25UcmFuc2l0aW9uKCkgPyBtX2hlYXBzLkpTQ2VsbEhlYWRlckFuZE5hbWVk
UHJvcGVydGllcyA6IG1faGVhcHMuSlNDZWxsX3N0cnVjdHVyZUlEOworICAgICAgICBUeXBlZFBv
aW50ZXIgcG9pbnRlciB7IGhlYXAsIG1fb3V0LmFkZFB0cihjZWxsLCBtX2hlYXBzLkpTQ2VsbF9z
dHJ1Y3R1cmVJRC5vZmZzZXQoKSkgfTsKKwogICAgICAgICBtX291dC5zdG9yZTMyKAotICAgICAg
ICAgICAgd2Vha1N0cnVjdHVyZUlEKG5ld1N0cnVjdHVyZSksCi0gICAgICAgICAgICBjZWxsLCBt
X2hlYXBzLkpTQ2VsbF9zdHJ1Y3R1cmVJRCk7CisgICAgICAgICAgICB3ZWFrU3RydWN0dXJlSUQo
bmV3U3RydWN0dXJlKSwgcG9pbnRlcik7CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUdl
dEJ5SWQoQWNjZXNzVHlwZSB0eXBlKQpAQCAtODUwOSw2ICs4NTEyLDEyIEBAIHByaXZhdGU6CiAK
ICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CiAgICAgICAg
IHNldEJvb2xlYW4obV9vdXQucGhpKEludDMyLCByZXN1bHRzKSk7CisKKyAgICAgICAgaWYgKGRh
dGEud3JpdGVzU3RydWN0dXJlcygpKSB7CisgICAgICAgICAgICBQYXRjaHBvaW50VmFsdWUqIHBh
dGNocG9pbnQgPSBtX291dC5wYXRjaHBvaW50KFZvaWQpOworICAgICAgICAgICAgcGF0Y2hwb2lu
dC0+c2V0R2VuZXJhdG9yKFtdIChDQ2FsbEhlbHBlcnMmLCBjb25zdCBTdGFja21hcEdlbmVyYXRp
b25QYXJhbXMmKSB7IH0pOworICAgICAgICAgICAgbV9oZWFwcy5kZWNvcmF0ZVBhdGNocG9pbnRX
cml0ZSgmbV9oZWFwcy5KU0NlbGxIZWFkZXJBbmROYW1lZFByb3BlcnRpZXMsIHBhdGNocG9pbnQp
OworICAgICAgICB9CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZU1hdGNoU3RydWN0dXJl
KCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>