<?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>198193</bug_id>
          
          <creation_ts>2019-05-23 13:02:43 -0700</creation_ts>
          <short_desc>[WHLSL] Property resolver needs to recurse to handle the base when simplifying rvalues</short_desc>
          <delta_ts>2019-05-23 15:22:22 -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>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rmorisset</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538755</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-05-23 13:02:43 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538769</commentid>
    <comment_count>1</comment_count>
      <attachid>370518</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-05-23 13:28:53 -0700</bug_when>
    <thetext>Created attachment 370518
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538781</commentid>
    <comment_count>2</comment_count>
      <attachid>370518</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-05-23 14:14:21 -0700</bug_when>
    <thetext>Comment on attachment 370518
patch

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

Cool.

&gt; LayoutTests/webgpu/whlsl-nested-dot-expression-rvalue.html:11
&gt; +    float shade : attribute(0);

I think you should remove the &quot; : attribute(0)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538789</commentid>
    <comment_count>3</comment_count>
      <attachid>370520</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-05-23 14:38:52 -0700</bug_when>
    <thetext>Created attachment 370520
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538791</commentid>
    <comment_count>4</comment_count>
      <attachid>370521</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-05-23 14:40:11 -0700</bug_when>
    <thetext>Created attachment 370521
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538809</commentid>
    <comment_count>5</comment_count>
      <attachid>370521</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-23 15:21:10 -0700</bug_when>
    <thetext>Comment on attachment 370521
patch for landing

Clearing flags on attachment: 370521

Committed r245721: &lt;https://trac.webkit.org/changeset/245721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538810</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-23 15:21:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538811</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-23 15:22:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/51084810&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370518</attachid>
            <date>2019-05-23 13:28:53 -0700</date>
            <delta_ts>2019-05-23 14:38:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>9211</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NTcwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA1LTIzICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gUHJvcGVydHkgcmVz
b2x2ZXIgbmVlZHMgdG8gcmVjdXJzZSB0byBoYW5kbGUgdGhlIGJhc2Ugd2hlbiBzaW1wbGlmeWlu
ZyBydmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTgxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZSB3ZXJlIG9ubHkgdHJhbnNmb3JtaW5nIHRoZSB0b3AgbW9zdCBub2RlIGluIHRoZSBBU1Qu
IFNvIHRoaW5ncyBsaWtlCisgICAgICAgICd4ID0gZm9vLmJhcicgd291bGQgd29yaywgYnV0ICd4
ID0gZm9vLmJhci5iYXonIHdvdWxkIG5vdC4KKworICAgICAgICBUZXN0OiB3ZWJncHUvd2hsc2wt
bmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlByb3BlcnR5UmVzb2x2ZXI6OnNpbXBsaWZ5UmlnaHRWYWx1ZSk6CisKIDIwMTktMDUt
MjMgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBB
ZGQgYSBoZWxwZXIgZm9yIGluLXBsYWNlIEFTVCBtdXRhdGlvbgpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5
UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyNDU2OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01OTgsNiArNTk4LDggQEAgYm9vbCBQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFs
dQogewogICAgIExleGVyOjpUb2tlbiBvcmlnaW4gPSBkb3RFeHByZXNzaW9uLm9yaWdpbigpOwog
CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKwogICAgIGlm
IChhdXRvKiBhbmRlckZ1bmN0aW9uID0gZG90RXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkpIHsK
ICAgICAgICAgYXV0byYgYmFzZSA9IGRvdEV4cHJlc3Npb24uYmFzZSgpOwogICAgICAgICBpZiAo
YXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNz
U3BhY2UoKSkgewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ1NjkyKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDUtMjMgIFNhYW0g
YmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBQcm9wZXJ0eSBy
ZXNvbHZlciBuZWVkcyB0byByZWN1cnNlIHRvIGhhbmRsZSB0aGUgYmFzZSB3aGVuIHNpbXBsaWZ5
aW5nIHJ2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODE5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3QtZXhwcmVzc2lvbi1ydmFsdWUtZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3QtZXhwcmVzc2lv
bi1ydmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTktMDUtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ3JlYXRlIHNjcm9sbGluZyB0cmVlIG5vZGVz
IGZvciBkZXNjZW5kYW50cyBvZiBwb3NpdGlvbjphYnNvbHV0ZSBpbnNpZGUgc3RhY2tpbmctY29u
dGV4dCBvdmVyZmxvdwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3Qt
ZXhwcmVzc2lvbi1ydmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wtbmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1uZXN0ZWQtZG90LWV4
cHJlc3Npb24tcnZhbHVlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KKzxz
Y3JpcHQ+Cithc3luYyBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZh
cy5nZXRDb250ZXh0KCIyZCIpOworICAgIGNvbnRleHQuZmlsbFN0eWxlID0gImJsdWUiOworICAg
IGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgNDAwLCA0MDApOworICAgIGNvbnRleHQuZmlsbFN0eWxl
ID0gIndoaXRlIjsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDEwMCwgMTAwLCAyMDAsIDIwMCk7Cit9
Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHN0YXJ0KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3Qt
ZXhwcmVzc2lvbi1ydmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtbmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1uZXN0ZWQtZG90LWV4cHJlc3Npb24tcnZhbHVlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Cis8c2NyaXB0PgorY29uc3Qgc2hhZGVyU291cmNl
ID0gYAorCitzdHJ1Y3QgQmFyIHsKKyAgICBmbG9hdCBzaGFkZSA6IGF0dHJpYnV0ZSgwKTsKK30K
K3N0cnVjdCBGb28geworICAgIEJhciBiYXI7Cit9CisKK3N0cnVjdCBXcmFwcGVyIHsKKyAgICBG
b28gZm9vOworfQorCitzdHJ1Y3QgVmVydGV4T3V0IHsKKyAgICBmbG9hdDQgcG9zaXRpb24gOiBT
Vl9Qb3NpdGlvbjsKKyAgICBmbG9hdCBzaGFkZSA6IGF0dHJpYnV0ZSgwKTsKK30KKwordmVydGV4
IFZlcnRleE91dCB2ZXJ0ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApLCBm
bG9hdCBzaGFkZSA6IGF0dHJpYnV0ZSgxKSkgeworICAgIFdyYXBwZXIgd3JhcHBlcjsKKyAgICB3
cmFwcGVyLmZvby5iYXIuc2hhZGUgPSBzaGFkZTsKKyAgICBWZXJ0ZXhPdXQgcmVzdWx0OworICAg
IHJlc3VsdC5wb3NpdGlvbiA9IHBvc2l0aW9uOworICAgIHJlc3VsdC5zaGFkZSA9IHdyYXBwZXIu
Zm9vLmJhci5zaGFkZTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRTaGFkZXIoZmxvYXQgc2hhZGUgOiBhdHRyaWJ1dGUoMCkpIDogU1ZfVGFyZ2V0IDAg
eworICAgIHJldHVybiBmbG9hdDQoc2hhZGUsIHNoYWRlLCBzaGFkZSwgMS4wKTsKK30KK2A7Cith
c3luYyBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgbmF2aWdh
dG9yLmdwdS5yZXF1ZXN0QWRhcHRlcigpOworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IGFkYXB0
ZXIucmVxdWVzdERldmljZSgpOworCisgICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNy
ZWF0ZVNoYWRlck1vZHVsZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7Cisg
ICAgY29uc3QgdmVydGV4U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6
ICJ2ZXJ0ZXhTaGFkZXIifTsKKyAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hh
ZGVyTW9kdWxlLCBlbnRyeVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKKyAgICBjb25zdCBwcmlt
aXRpdmVUb3BvbG9neSA9ICJ0cmlhbmdsZS1zdHJpcCI7CisgICAgY29uc3QgcmFzdGVyaXphdGlv
blN0YXRlID0ge2Zyb250RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07CisgICAgY29uc3Qg
YWxwaGFCbGVuZCA9IHt9OworICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKKyAgICBjb25zdCBj
b2xvclN0YXRlcyA9IFt7Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxl
bmQsIHdyaXRlTWFzazogMTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCisgICAgY29uc3Qg
ZGVwdGhTdGVuY2lsU3RhdGUgPSBudWxsOworCisgICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFk
ZXJMb2NhdGlvbjogMCwgaW5wdXRTbG90OiAwLCBmb3JtYXQ6ICJmbG9hdDQiLCBvZmZzZXQ6IDB9
OworICAgIGNvbnN0IGF0dHJpYnV0ZTEgPSB7c2hhZGVyTG9jYXRpb246IDEsIGlucHV0U2xvdDog
MCwgZm9ybWF0OiAiZmxvYXQiLCBvZmZzZXQ6IDE2fTsKKyAgICBjb25zdCBhdHRyaWJ1dGVzID0g
W2F0dHJpYnV0ZTAsIGF0dHJpYnV0ZTFdOworICAgIGNvbnN0IGlucHV0MCA9IHtpbnB1dFNsb3Q6
IDAsIHN0cmlkZTogMjAgfTsKKyAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKKyAgICBjb25z
dCBpbnB1dFN0YXRlID0ge2luZGV4Rm9ybWF0OiAidWludDMyIiwgYXR0cmlidXRlcywgaW5wdXRz
fTsKKworICAgIGNvbnN0IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7
YmluZGluZzogMCwgdmlzaWJpbGl0eTogNywgdHlwZTogInVuaWZvcm0tYnVmZmVyIn1dfTsKKyAg
ICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJp
bmRHcm91cExheW91dERlc2NyaXB0b3IpOworICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvciA9IHtiaW5kR3JvdXBMYXlvdXRzOiBbYmluZEdyb3VwTGF5b3V0XX07CisgICAgY29uc3Qg
cGlwZWxpbmVMYXlvdXQgPSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yKTsKKworICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2
ZXJ0ZXhTdGFnZSwgZnJhZ21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRp
b25TdGF0ZSwgY29sb3JTdGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCBpbnB1dFN0YXRlLCBzYW1w
bGVDb3VudDogMSwgbGF5b3V0OiBwaXBlbGluZUxheW91dH07CisgICAgY29uc3QgcmVuZGVyUGlw
ZWxpbmUgPSBkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yKTsKKworICAgIGNvbnN0IHZlcnRleEJ1ZmZlcjBEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0
MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDUgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2Uu
VkVSVEVYIHwgR1BVQnVmZmVyVXNhZ2UuTUFQX1dSSVRFfTsKKyAgICBjb25zdCB2ZXJ0ZXhCdWZm
ZXIwID0gZGV2aWNlLmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXIwRGVzY3JpcHRvcik7CisgICAg
Y29uc3QgdmVydGV4QnVmZmVyMEFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyMC5tYXBX
cml0ZUFzeW5jKCk7CisgICAgY29uc3QgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheSA9IG5ldyBG
bG9hdDMyQXJyYXkodmVydGV4QnVmZmVyMEFycmF5QnVmZmVyKTsKKyAgICB2ZXJ0ZXhCdWZmZXIw
RmxvYXQzMkFycmF5WzBdID0gLTAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzFd
ID0gLTAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzJdID0gMS4wOworICAgIHZl
cnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbM10gPSAxLjA7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0
MzJBcnJheVs0XSA9IDEuMDsKKworICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbNV0gPSAt
MC41OworICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbNl0gPSAwLjU7CisgICAgdmVydGV4
QnVmZmVyMEZsb2F0MzJBcnJheVs3XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFy
cmF5WzhdID0gMS4wOworICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbOV0gPSAxLjA7CisK
KyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzEwXSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZm
ZXIwRmxvYXQzMkFycmF5WzExXSA9IC0wLjU7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJh
eVsxMl0gPSAxLjA7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVsxM10gPSAxLjA7Cisg
ICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVsxNF0gPSAxLjA7CisKKyAgICB2ZXJ0ZXhCdWZm
ZXIwRmxvYXQzMkFycmF5WzE1XSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5
WzE2XSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE3XSA9IDEuMDsKKyAg
ICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE4XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIw
RmxvYXQzMkFycmF5WzE5XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwLnVubWFwKCk7CisKKyAg
ICBjb25zdCByZXNvdXJjZUJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5ULCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVU5JRk9STSB8IEdQVUJ1ZmZl
clVzYWdlLk1BUF9XUklURX07CisgICAgY29uc3QgcmVzb3VyY2VCdWZmZXIgPSBkZXZpY2UuY3Jl
YXRlQnVmZmVyKHJlc291cmNlQnVmZmVyRGVzY3JpcHRvcik7CisgICAgY29uc3QgcmVzb3VyY2VC
dWZmZXJBcnJheUJ1ZmZlciA9IGF3YWl0IHJlc291cmNlQnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsK
KyAgICBjb25zdCByZXNvdXJjZUJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXko
cmVzb3VyY2VCdWZmZXJBcnJheUJ1ZmZlcik7CisgICAgcmVzb3VyY2VCdWZmZXJGbG9hdDMyQXJy
YXlbMF0gPSAxOworICAgIHJlc291cmNlQnVmZmVyLnVubWFwKCk7CisKKyAgICBjb25zdCBidWZm
ZXJCaW5kaW5nID0ge2J1ZmZlcjogcmVzb3VyY2VCdWZmZXIsIHNpemU6IDR9OworICAgIGNvbnN0
IGJpbmRHcm91cEJpbmRpbmcgPSB7YmluZGluZzogMCwgcmVzb3VyY2U6IGJ1ZmZlckJpbmRpbmd9
OworICAgIGNvbnN0IGJpbmRHcm91cERlc2NyaXB0b3IgPSB7bGF5b3V0OiBiaW5kR3JvdXBMYXlv
dXQsIGJpbmRpbmdzOiBbYmluZEdyb3VwQmluZGluZ119OworICAgIGNvbnN0IGJpbmRHcm91cCA9
IGRldmljZS5jcmVhdGVCaW5kR3JvdXAoYmluZEdyb3VwRGVzY3JpcHRvcik7CisKKyAgICBjb25z
dCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY29uc3Qg
Y29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKKyAgICBjb25zdCBzd2FwQ2hhaW5E
ZXNjcmlwdG9yID0ge2RldmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OworICAgIGNvbnN0IHN3
YXBDaGFpbiA9IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3Ip
OworICAgIGNvbnN0IG91dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUo
KTsKKyAgICBjb25zdCBvdXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVm
YXVsdFZpZXcoKTsKKworICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNv
bW1hbmRFbmNvZGVyKCk7IC8vIHt9CisgICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEs
IGE6IDF9OworICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1
dFRleHR1cmVWaWV3LCByZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3Jl
T3A6ICJzdG9yZSIsIGNsZWFyQ29sb3I6IHJlZH1dOworICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBudWxsOworICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9y
QXR0YWNobWVudHMsIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnR9OworICAgIGNvbnN0IHJlbmRlclBh
c3NFbmNvZGVyID0gY29tbWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKKyAgICByZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGlu
ZSk7CisgICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0QmluZEdyb3VwKDAsIGJpbmRHcm91cCk7Cisg
ICAgcmVuZGVyUGFzc0VuY29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyMF0s
IFswXSk7CisgICAgcmVuZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKKyAgICByZW5k
ZXJQYXNzRW5jb2Rlci5lbmRQYXNzKCk7CisgICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRFbmNvZGVyLmZpbmlzaCgpOworICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFu
ZEJ1ZmZlcl0pOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKK30KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc3Rh
cnQpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="386473"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370520</attachid>
            <date>2019-05-23 14:38:52 -0700</date>
            <delta_ts>2019-05-23 14:40:11 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>9877</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NTcwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA1LTIzICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gUHJvcGVydHkgcmVz
b2x2ZXIgbmVlZHMgdG8gcmVjdXJzZSB0byBoYW5kbGUgdGhlIGJhc2Ugd2hlbiBzaW1wbGlmeWlu
ZyBydmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTgxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBNeWxlcyBNYXhmaWVsZC4KKworICAgICAg
ICBXZSB3ZXJlIG9ubHkgdHJhbnNmb3JtaW5nIHRoZSB0b3AgbW9zdCBub2RlIGluIHRoZSBBU1Qu
IFNvIHRoaW5ncyBsaWtlCisgICAgICAgICd4ID0gZm9vLmJhcicgd291bGQgd29yaywgYnV0ICd4
ID0gZm9vLmJhci5iYXonIHdvdWxkIG5vdC4KKworICAgICAgICBUZXN0OiB3ZWJncHUvd2hsc2wt
bmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlByb3BlcnR5UmVzb2x2ZXI6OnNpbXBsaWZ5UmlnaHRWYWx1ZSk6CisKIDIwMTktMDUt
MjMgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBB
ZGQgYSBoZWxwZXIgZm9yIGluLXBsYWNlIEFTVCBtdXRhdGlvbgpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5
UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyNDU3MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01ODksNiArNTg5LDggQEAgYm9vbCBQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFs
dQogewogICAgIExleGVyOjpUb2tlbiBvcmlnaW4gPSBkb3RFeHByZXNzaW9uLm9yaWdpbigpOwog
CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKwogICAgIGlm
IChhdXRvKiBhbmRlckZ1bmN0aW9uID0gZG90RXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkpIHsK
ICAgICAgICAgYXV0byYgYmFzZSA9IGRvdEV4cHJlc3Npb24uYmFzZSgpOwogICAgICAgICBpZiAo
YXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNz
U3BhY2UoKSkgewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ1NjkyKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDUtMjMgIFNhYW0g
YmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBQcm9wZXJ0eSBy
ZXNvbHZlciBuZWVkcyB0byByZWN1cnNlIHRvIGhhbmRsZSB0aGUgYmFzZSB3aGVuIHNpbXBsaWZ5
aW5nIHJ2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODE5MworCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgorCisgICAg
ICAgICogd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3QtZXhwcmVzc2lvbi1ydmFsdWUtZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3QtZXhwcmVzc2lv
bi1ydmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTktMDUtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ3JlYXRlIHNjcm9sbGluZyB0cmVlIG5vZGVz
IGZvciBkZXNjZW5kYW50cyBvZiBwb3NpdGlvbjphYnNvbHV0ZSBpbnNpZGUgc3RhY2tpbmctY29u
dGV4dCBvdmVyZmxvdwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3Qt
ZXhwcmVzc2lvbi1ydmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wtbmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1uZXN0ZWQtZG90LWV4
cHJlc3Npb24tcnZhbHVlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KKzxz
Y3JpcHQ+Cithc3luYyBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZh
cy5nZXRDb250ZXh0KCIyZCIpOworICAgIGNvbnRleHQuZmlsbFN0eWxlID0gImJsdWUiOworICAg
IGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgNDAwLCA0MDApOworICAgIGNvbnRleHQuZmlsbFN0eWxl
ID0gIndoaXRlIjsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDEwMCwgMTAwLCAyMDAsIDIwMCk7Cit9
Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHN0YXJ0KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3Qt
ZXhwcmVzc2lvbi1ydmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtbmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1uZXN0ZWQtZG90LWV4cHJlc3Npb24tcnZhbHVlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Cis8c2NyaXB0PgorY29uc3Qgc2hhZGVyU291cmNl
ID0gYAorCitzdHJ1Y3QgQmFyIHsKKyAgICBmbG9hdCBzaGFkZTsKK30KK3N0cnVjdCBGb28gewor
ICAgIEJhciBiYXI7Cit9CisKK3N0cnVjdCBXcmFwcGVyIHsKKyAgICBGb28gZm9vOworfQorCitz
dHJ1Y3QgVmVydGV4T3V0IHsKKyAgICBmbG9hdDQgcG9zaXRpb24gOiBTVl9Qb3NpdGlvbjsKKyAg
ICBmbG9hdCBzaGFkZSA6IGF0dHJpYnV0ZSgwKTsKK30KKwordmVydGV4IFZlcnRleE91dCB2ZXJ0
ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApLCBmbG9hdCBzaGFkZSA6IGF0
dHJpYnV0ZSgxKSkgeworICAgIFdyYXBwZXIgd3JhcHBlcjsKKyAgICB3cmFwcGVyLmZvby5iYXIu
c2hhZGUgPSBzaGFkZTsKKyAgICBWZXJ0ZXhPdXQgcmVzdWx0OworICAgIHJlc3VsdC5wb3NpdGlv
biA9IHBvc2l0aW9uOworICAgIHJlc3VsdC5zaGFkZSA9IHdyYXBwZXIuZm9vLmJhci5zaGFkZTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitmcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIo
ZmxvYXQgc2hhZGUgOiBhdHRyaWJ1dGUoMCkpIDogU1ZfVGFyZ2V0IDAgeworICAgIHJldHVybiBm
bG9hdDQoc2hhZGUsIHNoYWRlLCBzaGFkZSwgMS4wKTsKK30KK2A7Cithc3luYyBmdW5jdGlvbiBz
dGFydCgpIHsKKyAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0
QWRhcHRlcigpOworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IGFkYXB0ZXIucmVxdWVzdERldmlj
ZSgpOworCisgICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVs
ZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7CisgICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKKyAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKKyAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7CisgICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07CisgICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OworICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKKyAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCisgICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOworCisgICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwg
aW5wdXRTbG90OiAwLCBmb3JtYXQ6ICJmbG9hdDQiLCBvZmZzZXQ6IDB9OworICAgIGNvbnN0IGF0
dHJpYnV0ZTEgPSB7c2hhZGVyTG9jYXRpb246IDEsIGlucHV0U2xvdDogMCwgZm9ybWF0OiAiZmxv
YXQiLCBvZmZzZXQ6IDE2fTsKKyAgICBjb25zdCBhdHRyaWJ1dGVzID0gW2F0dHJpYnV0ZTAsIGF0
dHJpYnV0ZTFdOworICAgIGNvbnN0IGlucHV0MCA9IHtpbnB1dFNsb3Q6IDAsIHN0cmlkZTogMjAg
fTsKKyAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKKyAgICBjb25zdCBpbnB1dFN0YXRlID0g
e2luZGV4Rm9ybWF0OiAidWludDMyIiwgYXR0cmlidXRlcywgaW5wdXRzfTsKKworICAgIGNvbnN0
IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlz
aWJpbGl0eTogNywgdHlwZTogInVuaWZvcm0tYnVmZmVyIn1dfTsKKyAgICBjb25zdCBiaW5kR3Jv
dXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERl
c2NyaXB0b3IpOworICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3Jv
dXBMYXlvdXRzOiBbYmluZEdyb3VwTGF5b3V0XX07CisgICAgY29uc3QgcGlwZWxpbmVMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsK
KworICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJh
Z21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JT
dGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCBpbnB1dFN0YXRlLCBzYW1wbGVDb3VudDogMSwgbGF5
b3V0OiBwaXBlbGluZUxheW91dH07CisgICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2Uu
Y3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKKworICAgIGNv
bnN0IHZlcnRleEJ1ZmZlcjBEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDUgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVm
ZmVyVXNhZ2UuTUFQX1dSSVRFfTsKKyAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIwID0gZGV2aWNlLmNy
ZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXIwRGVzY3JpcHRvcik7CisgICAgY29uc3QgdmVydGV4QnVm
ZmVyMEFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyMC5tYXBXcml0ZUFzeW5jKCk7Cisg
ICAgY29uc3QgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVy
dGV4QnVmZmVyMEFycmF5QnVmZmVyKTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzBd
ID0gLTAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKKyAgICB2
ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzJdID0gMS4wOworICAgIHZlcnRleEJ1ZmZlcjBGbG9h
dDMyQXJyYXlbM10gPSAxLjA7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVs0XSA9IDEu
MDsKKworICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbNV0gPSAtMC41OworICAgIHZlcnRl
eEJ1ZmZlcjBGbG9hdDMyQXJyYXlbNl0gPSAwLjU7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJB
cnJheVs3XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzhdID0gMS4wOwor
ICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbOV0gPSAxLjA7CisKKyAgICB2ZXJ0ZXhCdWZm
ZXIwRmxvYXQzMkFycmF5WzEwXSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5
WzExXSA9IC0wLjU7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVsxMl0gPSAxLjA7Cisg
ICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVsxM10gPSAxLjA7CisgICAgdmVydGV4QnVmZmVy
MEZsb2F0MzJBcnJheVsxNF0gPSAxLjA7CisKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5
WzE1XSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE2XSA9IDAuNTsKKyAg
ICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE3XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIw
RmxvYXQzMkFycmF5WzE4XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE5
XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwLnVubWFwKCk7CisKKyAgICBjb25zdCByZXNvdXJj
ZUJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVU5JRk9STSB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklU
RX07CisgICAgY29uc3QgcmVzb3VyY2VCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHJlc291
cmNlQnVmZmVyRGVzY3JpcHRvcik7CisgICAgY29uc3QgcmVzb3VyY2VCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHJlc291cmNlQnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKKyAgICBjb25zdCByZXNv
dXJjZUJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzb3VyY2VCdWZmZXJB
cnJheUJ1ZmZlcik7CisgICAgcmVzb3VyY2VCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAxOworICAg
IHJlc291cmNlQnVmZmVyLnVubWFwKCk7CisKKyAgICBjb25zdCBidWZmZXJCaW5kaW5nID0ge2J1
ZmZlcjogcmVzb3VyY2VCdWZmZXIsIHNpemU6IDR9OworICAgIGNvbnN0IGJpbmRHcm91cEJpbmRp
bmcgPSB7YmluZGluZzogMCwgcmVzb3VyY2U6IGJ1ZmZlckJpbmRpbmd9OworICAgIGNvbnN0IGJp
bmRHcm91cERlc2NyaXB0b3IgPSB7bGF5b3V0OiBiaW5kR3JvdXBMYXlvdXQsIGJpbmRpbmdzOiBb
YmluZEdyb3VwQmluZGluZ119OworICAgIGNvbnN0IGJpbmRHcm91cCA9IGRldmljZS5jcmVhdGVC
aW5kR3JvdXAoYmluZEdyb3VwRGVzY3JpcHRvcik7CisKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZh
cy5nZXRDb250ZXh0KCJncHUiKTsKKyAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2Rl
dmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OworICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRl
eHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOworICAgIGNvbnN0IG91
dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKKyAgICBjb25zdCBv
dXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKKwor
ICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7
IC8vIHt9CisgICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OworICAgIGNv
bnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCBy
ZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNs
ZWFyQ29sb3I6IHJlZH1dOworICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxs
OworICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnR9OworICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29t
bWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKKyAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7CisgICAgcmVuZGVy
UGFzc0VuY29kZXIuc2V0QmluZEdyb3VwKDAsIGJpbmRHcm91cCk7CisgICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyMF0sIFswXSk7CisgICAgcmVu
ZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKKyAgICByZW5kZXJQYXNzRW5jb2Rlci5l
bmRQYXNzKCk7CisgICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlz
aCgpOworICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKK30KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc3RhcnQpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wuaHRtbAkocmV2aXNpb24gMjQ1
NjkyKQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTYsMTIgKzYsMTUgQEAKIDxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0
MDAiPjwvY2FudmFzPgogPHNjcmlwdD4KIGNvbnN0IHNoYWRlclNvdXJjZSA9IGAKLXZlcnRleCBm
bG9hdDQgdmVydGV4U2hhZGVyKGZsb2F0NCBwb3NpdGlvbiA6IGF0dHJpYnV0ZSgwKSwgZmxvYXQg
aSA6IGF0dHJpYnV0ZSgxKSkgOiBTVl9Qb3NpdGlvbiB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwor
c3RydWN0IEJhciB7CisgICAgaW50IHg7CiB9Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudFNo
YWRlcihmbG9hdDQgcG9zaXRpb24gOiBTVl9Qb3NpdGlvbikgOiBTVl9UYXJnZXQgMCB7Ci0gICAg
cmV0dXJuIHBvc2l0aW9uOworc3RydWN0IEZvbyB7CisgICAgQmFyIGJhcjsKK30KK3ZvaWQgZm9v
KCkgeworICAgIEZvbyBmb287CisgICAgZm9vLmJhci54ID0gNDI7CiB9CiBgOwogYXN5bmMgZnVu
Y3Rpb24gc3RhcnQoKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370521</attachid>
            <date>2019-05-23 14:40:11 -0700</date>
            <delta_ts>2019-05-23 15:21:10 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>9196</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NTcwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA1LTIzICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gUHJvcGVydHkgcmVz
b2x2ZXIgbmVlZHMgdG8gcmVjdXJzZSB0byBoYW5kbGUgdGhlIGJhc2Ugd2hlbiBzaW1wbGlmeWlu
ZyBydmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTgxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBNeWxlcyBNYXhmaWVsZC4KKworICAgICAg
ICBXZSB3ZXJlIG9ubHkgdHJhbnNmb3JtaW5nIHRoZSB0b3AgbW9zdCBub2RlIGluIHRoZSBBU1Qu
IFNvIHRoaW5ncyBsaWtlCisgICAgICAgICd4ID0gZm9vLmJhcicgd291bGQgd29yaywgYnV0ICd4
ID0gZm9vLmJhci5iYXonIHdvdWxkIG5vdC4KKworICAgICAgICBUZXN0OiB3ZWJncHUvd2hsc2wt
bmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0hMU0w6OlByb3BlcnR5UmVzb2x2ZXI6OnNpbXBsaWZ5UmlnaHRWYWx1ZSk6CisKIDIwMTktMDUt
MjMgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBB
ZGQgYSBoZWxwZXIgZm9yIGluLXBsYWNlIEFTVCBtdXRhdGlvbgpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcm9wZXJ0eVJlc29sdmVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5
UmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyNDU3MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFByb3BlcnR5UmVzb2x2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01ODksNiArNTg5LDggQEAgYm9vbCBQcm9wZXJ0eVJlc29sdmVyOjpzaW1wbGlmeVJpZ2h0VmFs
dQogewogICAgIExleGVyOjpUb2tlbiBvcmlnaW4gPSBkb3RFeHByZXNzaW9uLm9yaWdpbigpOwog
CisgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvdEV4cHJlc3Npb24uYmFzZSgpKTsKKwogICAgIGlm
IChhdXRvKiBhbmRlckZ1bmN0aW9uID0gZG90RXhwcmVzc2lvbi5hbmRlckZ1bmN0aW9uKCkpIHsK
ICAgICAgICAgYXV0byYgYmFzZSA9IGRvdEV4cHJlc3Npb24uYmFzZSgpOwogICAgICAgICBpZiAo
YXV0byBsZWZ0QWRkcmVzc1NwYWNlID0gYmFzZS50eXBlQW5ub3RhdGlvbigpLmxlZnRBZGRyZXNz
U3BhY2UoKSkgewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ1NjkyKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDUtMjMgIFNhYW0g
YmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBQcm9wZXJ0eSBy
ZXNvbHZlciBuZWVkcyB0byByZWN1cnNlIHRvIGhhbmRsZSB0aGUgYmFzZSB3aGVuIHNpbXBsaWZ5
aW5nIHJ2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODE5MworCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgorCisgICAg
ICAgICogd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3QtZXhwcmVzc2lvbi1ydmFsdWUtZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3QtZXhwcmVzc2lv
bi1ydmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTktMDUtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ3JlYXRlIHNjcm9sbGluZyB0cmVlIG5vZGVz
IGZvciBkZXNjZW5kYW50cyBvZiBwb3NpdGlvbjphYnNvbHV0ZSBpbnNpZGUgc3RhY2tpbmctY29u
dGV4dCBvdmVyZmxvdwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3Qt
ZXhwcmVzc2lvbi1ydmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy93ZWJncHUvd2hsc2wtbmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS1leHBlY3RlZC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1uZXN0ZWQtZG90LWV4
cHJlc3Npb24tcnZhbHVlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48L2NhbnZhcz4KKzxz
Y3JpcHQ+Cithc3luYyBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZh
cy5nZXRDb250ZXh0KCIyZCIpOworICAgIGNvbnRleHQuZmlsbFN0eWxlID0gImJsdWUiOworICAg
IGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgNDAwLCA0MDApOworICAgIGNvbnRleHQuZmlsbFN0eWxl
ID0gIndoaXRlIjsKKyAgICBjb250ZXh0LmZpbGxSZWN0KDEwMCwgMTAwLCAyMDAsIDIwMCk7Cit9
Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHN0YXJ0KTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW5lc3RlZC1kb3Qt
ZXhwcmVzc2lvbi1ydmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtbmVzdGVkLWRvdC1leHByZXNzaW9uLXJ2YWx1ZS5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1uZXN0ZWQtZG90LWV4cHJlc3Npb24tcnZhbHVlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0i
NDAwIiBoZWlnaHQ9IjQwMCI+PC9jYW52YXM+Cis8c2NyaXB0PgorY29uc3Qgc2hhZGVyU291cmNl
ID0gYAorCitzdHJ1Y3QgQmFyIHsKKyAgICBmbG9hdCBzaGFkZTsKK30KK3N0cnVjdCBGb28gewor
ICAgIEJhciBiYXI7Cit9CisKK3N0cnVjdCBXcmFwcGVyIHsKKyAgICBGb28gZm9vOworfQorCitz
dHJ1Y3QgVmVydGV4T3V0IHsKKyAgICBmbG9hdDQgcG9zaXRpb24gOiBTVl9Qb3NpdGlvbjsKKyAg
ICBmbG9hdCBzaGFkZSA6IGF0dHJpYnV0ZSgwKTsKK30KKwordmVydGV4IFZlcnRleE91dCB2ZXJ0
ZXhTaGFkZXIoZmxvYXQ0IHBvc2l0aW9uIDogYXR0cmlidXRlKDApLCBmbG9hdCBzaGFkZSA6IGF0
dHJpYnV0ZSgxKSkgeworICAgIFdyYXBwZXIgd3JhcHBlcjsKKyAgICB3cmFwcGVyLmZvby5iYXIu
c2hhZGUgPSBzaGFkZTsKKyAgICBWZXJ0ZXhPdXQgcmVzdWx0OworICAgIHJlc3VsdC5wb3NpdGlv
biA9IHBvc2l0aW9uOworICAgIHJlc3VsdC5zaGFkZSA9IHdyYXBwZXIuZm9vLmJhci5zaGFkZTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitmcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRTaGFkZXIo
ZmxvYXQgc2hhZGUgOiBhdHRyaWJ1dGUoMCkpIDogU1ZfVGFyZ2V0IDAgeworICAgIHJldHVybiBm
bG9hdDQoc2hhZGUsIHNoYWRlLCBzaGFkZSwgMS4wKTsKK30KK2A7Cithc3luYyBmdW5jdGlvbiBz
dGFydCgpIHsKKyAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0
QWRhcHRlcigpOworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IGFkYXB0ZXIucmVxdWVzdERldmlj
ZSgpOworCisgICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVs
ZSh7Y29kZTogc2hhZGVyU291cmNlLCBpc1dITFNMOiB0cnVlfSk7CisgICAgY29uc3QgdmVydGV4
U3RhZ2UgPSB7bW9kdWxlOiBzaGFkZXJNb2R1bGUsIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhTaGFkZXIi
fTsKKyAgICBjb25zdCBmcmFnbWVudFN0YWdlID0ge21vZHVsZTogc2hhZGVyTW9kdWxlLCBlbnRy
eVBvaW50OiAiZnJhZ21lbnRTaGFkZXIifTsKKyAgICBjb25zdCBwcmltaXRpdmVUb3BvbG9neSA9
ICJ0cmlhbmdsZS1zdHJpcCI7CisgICAgY29uc3QgcmFzdGVyaXphdGlvblN0YXRlID0ge2Zyb250
RmFjZTogImN3IiwgY3VsbE1vZGU6ICJub25lIn07CisgICAgY29uc3QgYWxwaGFCbGVuZCA9IHt9
OworICAgIGNvbnN0IGNvbG9yQmxlbmQgPSB7fTsKKyAgICBjb25zdCBjb2xvclN0YXRlcyA9IFt7
Zm9ybWF0OiAicmdiYTh1bm9ybSIsIGFscGhhQmxlbmQsIGNvbG9yQmxlbmQsIHdyaXRlTWFzazog
MTV9XTsgLy8gR1BVQ29sb3JXcml0ZUJpdHMuQUxMCisgICAgY29uc3QgZGVwdGhTdGVuY2lsU3Rh
dGUgPSBudWxsOworCisgICAgY29uc3QgYXR0cmlidXRlMCA9IHtzaGFkZXJMb2NhdGlvbjogMCwg
aW5wdXRTbG90OiAwLCBmb3JtYXQ6ICJmbG9hdDQiLCBvZmZzZXQ6IDB9OworICAgIGNvbnN0IGF0
dHJpYnV0ZTEgPSB7c2hhZGVyTG9jYXRpb246IDEsIGlucHV0U2xvdDogMCwgZm9ybWF0OiAiZmxv
YXQiLCBvZmZzZXQ6IDE2fTsKKyAgICBjb25zdCBhdHRyaWJ1dGVzID0gW2F0dHJpYnV0ZTAsIGF0
dHJpYnV0ZTFdOworICAgIGNvbnN0IGlucHV0MCA9IHtpbnB1dFNsb3Q6IDAsIHN0cmlkZTogMjAg
fTsKKyAgICBjb25zdCBpbnB1dHMgPSBbaW5wdXQwXTsKKyAgICBjb25zdCBpbnB1dFN0YXRlID0g
e2luZGV4Rm9ybWF0OiAidWludDMyIiwgYXR0cmlidXRlcywgaW5wdXRzfTsKKworICAgIGNvbnN0
IGJpbmRHcm91cExheW91dERlc2NyaXB0b3IgPSB7YmluZGluZ3M6IFt7YmluZGluZzogMCwgdmlz
aWJpbGl0eTogNywgdHlwZTogInVuaWZvcm0tYnVmZmVyIn1dfTsKKyAgICBjb25zdCBiaW5kR3Jv
dXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRlQmluZEdyb3VwTGF5b3V0KGJpbmRHcm91cExheW91dERl
c2NyaXB0b3IpOworICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciA9IHtiaW5kR3Jv
dXBMYXlvdXRzOiBbYmluZEdyb3VwTGF5b3V0XX07CisgICAgY29uc3QgcGlwZWxpbmVMYXlvdXQg
PSBkZXZpY2UuY3JlYXRlUGlwZWxpbmVMYXlvdXQocGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKTsK
KworICAgIGNvbnN0IHJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciA9IHt2ZXJ0ZXhTdGFnZSwgZnJh
Z21lbnRTdGFnZSwgcHJpbWl0aXZlVG9wb2xvZ3ksIHJhc3Rlcml6YXRpb25TdGF0ZSwgY29sb3JT
dGF0ZXMsIGRlcHRoU3RlbmNpbFN0YXRlLCBpbnB1dFN0YXRlLCBzYW1wbGVDb3VudDogMSwgbGF5
b3V0OiBwaXBlbGluZUxheW91dH07CisgICAgY29uc3QgcmVuZGVyUGlwZWxpbmUgPSBkZXZpY2Uu
Y3JlYXRlUmVuZGVyUGlwZWxpbmUocmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKKworICAgIGNv
bnN0IHZlcnRleEJ1ZmZlcjBEZXNjcmlwdG9yID0ge3NpemU6IEZsb2F0MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDUgKiA0LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVkVSVEVYIHwgR1BVQnVm
ZmVyVXNhZ2UuTUFQX1dSSVRFfTsKKyAgICBjb25zdCB2ZXJ0ZXhCdWZmZXIwID0gZGV2aWNlLmNy
ZWF0ZUJ1ZmZlcih2ZXJ0ZXhCdWZmZXIwRGVzY3JpcHRvcik7CisgICAgY29uc3QgdmVydGV4QnVm
ZmVyMEFycmF5QnVmZmVyID0gYXdhaXQgdmVydGV4QnVmZmVyMC5tYXBXcml0ZUFzeW5jKCk7Cisg
ICAgY29uc3QgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkodmVy
dGV4QnVmZmVyMEFycmF5QnVmZmVyKTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzBd
ID0gLTAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzFdID0gLTAuNTsKKyAgICB2
ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzJdID0gMS4wOworICAgIHZlcnRleEJ1ZmZlcjBGbG9h
dDMyQXJyYXlbM10gPSAxLjA7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVs0XSA9IDEu
MDsKKworICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbNV0gPSAtMC41OworICAgIHZlcnRl
eEJ1ZmZlcjBGbG9hdDMyQXJyYXlbNl0gPSAwLjU7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJB
cnJheVs3XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzhdID0gMS4wOwor
ICAgIHZlcnRleEJ1ZmZlcjBGbG9hdDMyQXJyYXlbOV0gPSAxLjA7CisKKyAgICB2ZXJ0ZXhCdWZm
ZXIwRmxvYXQzMkFycmF5WzEwXSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5
WzExXSA9IC0wLjU7CisgICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVsxMl0gPSAxLjA7Cisg
ICAgdmVydGV4QnVmZmVyMEZsb2F0MzJBcnJheVsxM10gPSAxLjA7CisgICAgdmVydGV4QnVmZmVy
MEZsb2F0MzJBcnJheVsxNF0gPSAxLjA7CisKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5
WzE1XSA9IDAuNTsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE2XSA9IDAuNTsKKyAg
ICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE3XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIw
RmxvYXQzMkFycmF5WzE4XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwRmxvYXQzMkFycmF5WzE5
XSA9IDEuMDsKKyAgICB2ZXJ0ZXhCdWZmZXIwLnVubWFwKCk7CisKKyAgICBjb25zdCByZXNvdXJj
ZUJ1ZmZlckRlc2NyaXB0b3IgPSB7c2l6ZTogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
LCB1c2FnZTogR1BVQnVmZmVyVXNhZ2UuVU5JRk9STSB8IEdQVUJ1ZmZlclVzYWdlLk1BUF9XUklU
RX07CisgICAgY29uc3QgcmVzb3VyY2VCdWZmZXIgPSBkZXZpY2UuY3JlYXRlQnVmZmVyKHJlc291
cmNlQnVmZmVyRGVzY3JpcHRvcik7CisgICAgY29uc3QgcmVzb3VyY2VCdWZmZXJBcnJheUJ1ZmZl
ciA9IGF3YWl0IHJlc291cmNlQnVmZmVyLm1hcFdyaXRlQXN5bmMoKTsKKyAgICBjb25zdCByZXNv
dXJjZUJ1ZmZlckZsb2F0MzJBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkocmVzb3VyY2VCdWZmZXJB
cnJheUJ1ZmZlcik7CisgICAgcmVzb3VyY2VCdWZmZXJGbG9hdDMyQXJyYXlbMF0gPSAxOworICAg
IHJlc291cmNlQnVmZmVyLnVubWFwKCk7CisKKyAgICBjb25zdCBidWZmZXJCaW5kaW5nID0ge2J1
ZmZlcjogcmVzb3VyY2VCdWZmZXIsIHNpemU6IDR9OworICAgIGNvbnN0IGJpbmRHcm91cEJpbmRp
bmcgPSB7YmluZGluZzogMCwgcmVzb3VyY2U6IGJ1ZmZlckJpbmRpbmd9OworICAgIGNvbnN0IGJp
bmRHcm91cERlc2NyaXB0b3IgPSB7bGF5b3V0OiBiaW5kR3JvdXBMYXlvdXQsIGJpbmRpbmdzOiBb
YmluZEdyb3VwQmluZGluZ119OworICAgIGNvbnN0IGJpbmRHcm91cCA9IGRldmljZS5jcmVhdGVC
aW5kR3JvdXAoYmluZEdyb3VwRGVzY3JpcHRvcik7CisKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZh
cy5nZXRDb250ZXh0KCJncHUiKTsKKyAgICBjb25zdCBzd2FwQ2hhaW5EZXNjcmlwdG9yID0ge2Rl
dmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSJ9OworICAgIGNvbnN0IHN3YXBDaGFpbiA9IGNvbnRl
eHQuY29uZmlndXJlU3dhcENoYWluKHN3YXBDaGFpbkRlc2NyaXB0b3IpOworICAgIGNvbnN0IG91
dHB1dFRleHR1cmUgPSBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKTsKKyAgICBjb25zdCBv
dXRwdXRUZXh0dXJlVmlldyA9IG91dHB1dFRleHR1cmUuY3JlYXRlRGVmYXVsdFZpZXcoKTsKKwor
ICAgIGNvbnN0IGNvbW1hbmRFbmNvZGVyID0gZGV2aWNlLmNyZWF0ZUNvbW1hbmRFbmNvZGVyKCk7
IC8vIHt9CisgICAgY29uc3QgcmVkID0ge3I6IDAsIGc6IDAsIGI6IDEsIGE6IDF9OworICAgIGNv
bnN0IGNvbG9yQXR0YWNobWVudHMgPSBbe2F0dGFjaG1lbnQ6IG91dHB1dFRleHR1cmVWaWV3LCBy
ZXNvbHZlVGFyZ2V0OiBudWxsLCBsb2FkT3A6ICJjbGVhciIsIHN0b3JlT3A6ICJzdG9yZSIsIGNs
ZWFyQ29sb3I6IHJlZH1dOworICAgIGNvbnN0IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBudWxs
OworICAgIGNvbnN0IHJlbmRlclBhc3NEZXNjcmlwdG9yID0ge2NvbG9yQXR0YWNobWVudHMsIGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnR9OworICAgIGNvbnN0IHJlbmRlclBhc3NFbmNvZGVyID0gY29t
bWFuZEVuY29kZXIuYmVnaW5SZW5kZXJQYXNzKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKKyAgICBy
ZW5kZXJQYXNzRW5jb2Rlci5zZXRQaXBlbGluZShyZW5kZXJQaXBlbGluZSk7CisgICAgcmVuZGVy
UGFzc0VuY29kZXIuc2V0QmluZEdyb3VwKDAsIGJpbmRHcm91cCk7CisgICAgcmVuZGVyUGFzc0Vu
Y29kZXIuc2V0VmVydGV4QnVmZmVycygwLCBbdmVydGV4QnVmZmVyMF0sIFswXSk7CisgICAgcmVu
ZGVyUGFzc0VuY29kZXIuZHJhdyg0LCAxLCAwLCAwKTsKKyAgICByZW5kZXJQYXNzRW5jb2Rlci5l
bmRQYXNzKCk7CisgICAgY29uc3QgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRFbmNvZGVyLmZpbmlz
aCgpOworICAgIGRldmljZS5nZXRRdWV1ZSgpLnN1Ym1pdChbY29tbWFuZEJ1ZmZlcl0pOworCisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKK30KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgc3RhcnQpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>