<?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>41608</bug_id>
          
          <creation_ts>2010-07-05 05:15:35 -0700</creation_ts>
          <short_desc>DeviceOrientation should be renamed to DeviceOrientationController</short_desc>
          <delta_ts>2010-07-07 02:52:52 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>41607</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hans</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>246586</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-05 05:15:35 -0700</bug_when>
    <thetext>This is consistent with other controllers, eg Geolocation, and will allow the name DeviceOrientation to be used to represent a set of device orientation data. This will be cleaner than passing around the 3 bools and 3 doubles required to represent the optional properties of the DeviceOrientationEvent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>246643</commentid>
    <comment_count>1</comment_count>
      <attachid>60532</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-05 07:39:11 -0700</bug_when>
    <thetext>Created attachment 60532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>246656</commentid>
    <comment_count>2</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-05 08:14:13 -0700</bug_when>
    <thetext>This sounds good to me. Only found one issue:

In WebCore/page/Page.h:
&gt; -        DeviceOrientation* deviceOrientation() const { return m_deviceOrientation.get(); }
&gt; +        DeviceOrientationController* deviceOrientationController() const { return m_deviceOrientation.get(); }
I guess this should return m_deviceOrientationController.get()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>246658</commentid>
    <comment_count>3</comment_count>
      <attachid>60539</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-05 08:18:13 -0700</bug_when>
    <thetext>Created attachment 60539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247421</commentid>
    <comment_count>4</comment_count>
      <attachid>60539</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-07 02:46:35 -0700</bug_when>
    <thetext>Comment on attachment 60539
Patch

WebCore/dom/DeviceOrientationController.h:38
 +      // FIXME: Add methods to start and stop the service.
This patch will make more sense once we do this FIXME.

It&apos;s not really controlling the DeviceOrientation, is it?  That would be kind of awesome.  Instead, it&apos;s controlling the DeviceOrientation service, right?  I guess the GeolocationController isn&apos;t controlling the geolocation either.  I guess brevity is a virtue here and DeviceOrientationServiceController is too long...

Anyway, not 100% cheesed about the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247425</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-07 02:52:52 -0700</bug_when>
    <thetext>Committed r62646: &lt;http://trac.webkit.org/changeset/62646&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60532</attachid>
            <date>2010-07-05 07:39:11 -0700</date>
            <delta_ts>2010-07-05 08:18:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41608-20100705153909.patch</filename>
            <type>text/plain</type>
            <size>24255</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjQ4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDctMDUgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uIHNob3VsZCBiZSByZW5hbWVkIHRvIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDE2MDgKKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlbmFtaW5nIG9ubHkuCisKKyAgICAg
ICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRp
b24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uY3BwLgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyOjpvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlKToKKyAgICAgICAgKiBkb20vRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmg6IENvcGllZCBmcm9tIFdlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uLmguCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKToKKwogMjAxMC0wNy0wNSAgTmlrb2xh
cyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEaXJrIFNjaHVsemUgLyBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5tawo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQubWsJKHJldmlzaW9uIDYyNDc3KQorKysgV2Vi
Q29yZS9BbmRyb2lkLm1rCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4LDcgQEAgTE9DQUxf
U1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL05vdGF0aW9uLmNwcCBcCiAJ
ZG9tL09wdGlvbkVsZW1lbnQuY3BwIFwKIAlkb20vT3B0aW9uR3JvdXBFbGVtZW50LmNwcCBcCi0J
ZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCBcCisJZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlci5jcHAgXAogCWRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBcCiAJZG9tL092ZXJm
bG93RXZlbnQuY3BwIFwKIAlkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAgXApJbmRleDogV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0
CShyZXZpc2lvbiA2MjQ3NykKKysrIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTc3NCw3ICs3NzQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcAogICAgIGRvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNv
ZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcAotICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAK
KyAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmNwcAogICAgIGRvbS9Eb2N1bWVudC5jcHAKICAgICBkb20vRG9jdW1l
bnRGcmFnbWVudC5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC03OTMsOSArNzkzLDkgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmggXAogCVdlYkNv
cmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKIAlXZWJDb3JlL2RvbS9EZWNv
ZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAotCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
LmNwcCBcCi0JV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCiAJV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyLmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlXZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQko
d29ya2luZyBjb3B5KQpAQCAtMTExMyw5ICsxMTEzLDkgQEAKICAgICAgICAgICAgICdkb20vRGF0
YXNldERPTVN0cmluZ01hcC5oJywKICAgICAgICAgICAgICdkb20vRGVjb2RlZERhdGFEb2N1bWVu
dFBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2Vy
LmgnLAotICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAnLAotICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQuaCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwJywKICAg
ICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oJywKICAgICAgICAgICAgICdk
b20vRG9jdW1lbnQuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL1dlYkNv
cmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC00NzUsNyArNDc1LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCiAgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcCBcCiAgICAgZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKLSAg
ICBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKICAg
ICBkb20vRG9jdW1lbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5jcHAgXApAQCAt
MTIyOCw4ICsxMjI4LDggQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0
ZURlY2xhcmF0aW9uLmggXAogICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVs
dC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKLSAgICBkb20vRGV2aWNlT3JpZW50YXRp
b24uaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmggXAorICAgIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaCBcCiAgICAgZG9tL0RvY3VtZW50Lmgg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA2MjQ3
NykKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTMyMzY5LDE1ICszMjM2OSwxNSBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb24uY3BwIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIg0KIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmlj
ZU9yaWVudGF0aW9uLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCINCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE4MCw4ICsxMTgwLDgg
QEAKIAkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg1RUEz
MTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi87IH07CiAJCTU5
QTg2MDA2MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBODYwMDUxMTlE
QUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi87IH07CiAJCTU5
QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg2MDA3MTE5REFG
QTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCAqLzsgfTsKLQkJNTlBOEYx
RDQxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QThGMUQzMTFBNjk1MDgwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi87IH07Ci0JCTU5QThGMUQ2MTFBNjk1MTMwMDFB
QzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVu
dGF0aW9uLmggKi87IH07CisJCTU5QThGMUQ0MTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTlBOEYxRDMxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAgKi87IH07CisJCTU5QThGMUQ2MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJNTlBOEYxRDgxMUE2OTUyMDAwMUFDMzRBIC8qIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1OUE4RjFENzExQTY5NTIwMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRp
b25DbGllbnQuaCAqLzsgfTsKIAkJNTlBOUU3QjAxMTA0NzU4ODAwREZCNEMxIC8qIEphdmFJbnN0
YW5jZUpTQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1OUE5RTdBRjExMDQ3NTg4MDBERkI0QzEgLyogSmF2YUluc3RhbmNlSlNDLmNwcCAqLzsgfTsK
IAkJNTlBOUU3QjIxMTA0NzU5NDAwREZCNEMxIC8qIEphdmFJbnN0YW5jZUpTQy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOUU3QjExMTA0NzU5NDAw
REZCNEMxIC8qIEphdmFJbnN0YW5jZUpTQy5oICovOyB9OwpAQCAtNjg5Miw4ICs2ODkyLDggQEAK
IAkJNTlBODVFQUExMTlEN0I2RTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE4NjAwNTExOURBRjdGMDBERUYxRUYgLyogSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU5QThGMUQzMTFBNjk1
MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OUE4RjFEMzExQTY5NTA4MDAxQUMzNEEg
LyogRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE5RTdBRjExMDQ3NTg4MDBERkI0
QzEgLyogSmF2YUluc3RhbmNlSlNDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEphdmFJbnN0YW5jZUpTQy5jcHA7IHBhdGggPSBqc2MvSmF2YUluc3RhbmNlSlNDLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlBOUU3QjExMTA0NzU5NDAwREZCNEMx
IC8qIEphdmFJbnN0YW5jZUpTQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBK
YXZhSW5zdGFuY2VKU0MuaDsgcGF0aCA9IGpzYy9KYXZhSW5zdGFuY2VKU0MuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2ODA3LDggKzE2ODA3LDggQEAKIAkJCQlCQzY0NjQxQTEx
RDdGNDE2MDA2NDU1QjAgLyogRGF0YXNldERPTVN0cmluZ01hcC5oICovLAogCQkJCUE4QzIyOEEw
MTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCAqLywKIAkJ
CQlBOEMyMjg5RjExRDU3MjJFMDBENUE3RDMgLyogRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5o
ICovLAotCQkJCTU5QThGMUQzMTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5j
cHAgKi8sCi0JCQkJNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9u
LmggKi8sCisJCQkJNTlBOEYxRDMxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAgKi8sCisJCQkJNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlci5oICovLAogCQkJCTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oICovLAogCQkJCTU5QTg1RUExMTE5RDY4RDkw
MERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCAqLywKIAkJCQk1OUE4NUVBMzEx
OUQ2OEVDMDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5oICovLApAQCAtMTczMTQs
NyArMTczMTQsNyBAQAogCQkJCTkzMzA5REUxMDk5RTY0OTIwMDU2RTU4MSAvKiBEZWxldGVTZWxl
Y3Rpb25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk4MjA4MjQ1RTU5MDAxRTlB
QkMgLyogRGVwcmVjYXRlZFB0ckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTZEMDgy
NDVFNTkwMDFFOUFCQyAvKiBEZXByZWNhdGVkUHRyTGlzdEltcGwuaCBpbiBIZWFkZXJzICovLAot
CQkJCTU5QThGMUQ2MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTlBOEYxRDYxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlBOEYxRDgxMUE2OTUyMDAwMUFD
MzRBIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4
NUVBNDExOUQ2OEVDMDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGMzRGRTYwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yMDE1Niw3ICsyMDE1Niw3IEBACiAJCQkJOTMzMDlEREUwOTlFNjQ5MjAwNTZFNTgx
IC8qIERlbGV0ZUZyb21UZXh0Tm9kZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
MDlERTAwOTlFNjQ5MjAwNTZFNTgxIC8qIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTNGMTlBM0MwODI0NUU1OTAwMUU5QUJDIC8qIERlcHJlY2F0ZWRQdHJM
aXN0SW1wbC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1OUE4RjFENDExQTY5NTA4MDAxQUMzNEEg
LyogRGV2aWNlT3JpZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTlBOEYxRDQxMUE2
OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1OUE4NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyog
RE5TQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjkwOTc5QzNCRDAwNDY3NzQx
IC8qIERvY0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbi5jcHAJKHJldmlzaW9uIDYyNDc3KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
MjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgotCi0jaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKLQotI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50Lmgi
Ci0jaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgotI2luY2x1ZGUgPHd0Zi9VbnVz
ZWRQYXJhbS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLURldmljZU9yaWVudGF0aW9uOjpE
ZXZpY2VPcmllbnRhdGlvbihQYWdlKiBwYWdlLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogY2xp
ZW50KQotICAgIDogbV9wYWdlKHBhZ2UpCi0gICAgLCBtX2NsaWVudChjbGllbnQpCi17Ci19Ci0K
LXZvaWQgRGV2aWNlT3JpZW50YXRpb246Om9uRGV2aWNlT3JpZW50YXRpb25DaGFuZ2UoZG91Ymxl
IGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQotewotICAgIC8vIEZJWE1FOiBGaXJl
IERldmljZU9yaWVudGF0aW9uRXZlbnRzIG9uIHRoZSB3aW5kb3cgb2JqZWN0IG9mIGFsbCBmcmFt
ZXMKLSAgICAvLyB0aGF0IGFyZSBsaXN0ZW5pbmcgdG8gb3JpZW50YXRpb24uCi0gICAgVU5VU0VE
X1BBUkFNKGFscGhhKTsKLSAgICBVTlVTRURfUEFSQU0oYmV0YSk7Ci0gICAgVU5VU0VEX1BBUkFN
KGdhbW1hKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNp
b24gNjI0NzcpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQg
T3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25faAot
I2RlZmluZSBEZXZpY2VPcmllbnRhdGlvbl9oCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnQ7Ci1jbGFzcyBQYWdlOwotCi1jbGFzcyBEZXZpY2VP
cmllbnRhdGlvbiB7Ci1wdWJsaWM6Ci0gICAgRGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50Kik7Ci0KLSAgICAvLyBGSVhNRTogQWRkIG1ldGhvZHMgdG8gc3Rh
cnQgYW5kIHN0b3AgdGhlIHNlcnZpY2UuCi0KLSAgICB2b2lkIG9uRGV2aWNlT3JpZW50YXRpb25D
aGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKTsKLQotcHJpdmF0
ZToKLSAgICBQYWdlKiBtX3BhZ2U7Ci0gICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIG1fY2xp
ZW50OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRGV2aWNlT3Jp
ZW50YXRpb25faApJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuY3BwCShyZXZpc2lvbiA2MjQ3NykJKGZyb20gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b24uY3BwOjYyNDc3KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IDIw
MTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKKworI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIgor
I2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvVW51c2Vk
UGFyYW0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEZXZpY2VPcmllbnRhdGlvbjo6RGV2
aWNlT3JpZW50YXRpb24oUGFnZSogcGFnZSwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGNsaWVu
dCkKKyAgICA6IG1fcGFnZShwYWdlKQorICAgICwgbV9jbGllbnQoY2xpZW50KQoreworfQorCit2
b2lkIERldmljZU9yaWVudGF0aW9uOjpvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlKGRvdWJsZSBh
bHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK3sKKyAgICAvLyBGSVhNRTogRmlyZSBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50cyBvbiB0aGUgd2luZG93IG9iamVjdCBvZiBhbGwgZnJhbWVz
CisgICAgLy8gdGhhdCBhcmUgbGlzdGVuaW5nIHRvIG9yaWVudGF0aW9uLgorICAgIFVOVVNFRF9Q
QVJBTShhbHBoYSk7CisgICAgVU5VU0VEX1BBUkFNKGJldGEpOworICAgIFVOVVNFRF9QQVJBTShn
YW1tYSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDYyNDc3KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5o
IgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIgogCiAjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKIApAQCAtMzQsMTMgKzM0LDEzIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotRGV2aWNlT3JpZW50YXRpb246OkRldmljZU9yaWVudGF0aW9uKFBhZ2UqIHBh
Z2UsIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQpCitEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQYWdlKiBwYWdlLCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudCogY2xpZW50KQogICAgIDogbV9wYWdlKHBhZ2UpCiAgICAgLCBtX2Ns
aWVudChjbGllbnQpCiB7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50YXRpb246Om9uRGV2aWNlT3Jp
ZW50YXRpb25DaGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQor
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6Om9uRGV2aWNlT3JpZW50YXRpb25DaGFu
Z2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQogewogICAgIC8vIEZJ
WE1FOiBGaXJlIERldmljZU9yaWVudGF0aW9uRXZlbnRzIG9uIHRoZSB3aW5kb3cgb2JqZWN0IG9m
IGFsbCBmcmFtZXMKICAgICAvLyB0aGF0IGFyZSBsaXN0ZW5pbmcgdG8gb3JpZW50YXRpb24uCklu
ZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAkocmV2aXNpb24g
NjI0NzcpCShmcm9tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmg6NjI0NzcpCisrKyBX
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4g
U291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZU9yaWVudGF0aW9uX2gKKyNkZWZp
bmUgRGV2aWNlT3JpZW50YXRpb25faAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50OworY2xhc3MgUGFnZTsKKworY2xhc3MgRGV2aWNlT3JpZW50
YXRpb24geworcHVibGljOgorICAgIERldmljZU9yaWVudGF0aW9uKFBhZ2UqLCBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudCopOworCisgICAgLy8gRklYTUU6IEFkZCBtZXRob2RzIHRvIHN0YXJ0IGFu
ZCBzdG9wIHRoZSBzZXJ2aWNlLgorCisgICAgdm9pZCBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdl
KGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSk7CisKK3ByaXZhdGU6Cisg
ICAgUGFnZSogbV9wYWdlOworICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBtX2NsaWVudDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0
aW9uX2gKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCShy
ZXZpc2lvbiA2MjQ3NykKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2lmbmRlZiBEZXZpY2VPcmllbnRhdGlvbl9oCi0jZGVmaW5lIERldmljZU9yaWVudGF0
aW9uX2gKKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyX2gKKyNkZWZpbmUgRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyX2gKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIERldmljZU9y
aWVudGF0aW9uIHsKK2NsYXNzIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciB7CiBwdWJsaWM6
Ci0gICAgRGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmljZU9yaWVudGF0aW9uQ2xpZW50Kik7
CisgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKFBhZ2UqLCBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudCopOwogCiAgICAgLy8gRklYTUU6IEFkZCBtZXRob2RzIHRvIHN0YXJ0IGFuZCBzdG9w
IHRoZSBzZXJ2aWNlLgogCkBAIC00Niw0ICs0Niw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uX2gKKyNlbmRpZiAvLyBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJfaApJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gNjI0NzcpCisr
KyBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUgIkRldmljZU9yaWVu
dGF0aW9uLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJFdmVudC5oIgpAQCAtMTI2LDcgKzEyNiw3IEBAIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50
KiBjaHJvbWVDbGllbnQsIEMKICAgICAsIG1fZ2VvbG9jYXRpb25Db250cm9sbGVyKG5ldyBHZW9s
b2NhdGlvbkNvbnRyb2xsZXIodGhpcywgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KSkKICNl
bmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgLCBtX2RldmljZU9yaWVu
dGF0aW9uKG5ldyBEZXZpY2VPcmllbnRhdGlvbih0aGlzLCBkZXZpY2VPcmllbnRhdGlvbkNsaWVu
dCkpCisgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihuZXcgRGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyKHRoaXMsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KSkKICNlbmRpZgog
ICAgICwgbV9zZXR0aW5ncyhuZXcgU2V0dGluZ3ModGhpcykpCiAgICAgLCBtX3Byb2dyZXNzKG5l
dyBQcm9ncmVzc1RyYWNrZXIpCkluZGV4OiBXZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDYyNDc3KQorKysgV2ViQ29yZS9wYWdl
L1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgQ2hyb21lQ2xpZW50OwogICAgIGNsYXNzIENvbnRleHRNZW51Q2xpZW50
OwogICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlcjsKLSAgICBjbGFzcyBEZXZpY2VPcmll
bnRhdGlvbjsKICAgICBjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKKyAgICBjbGFzcyBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAgICAgY2xh
c3MgRHJhZ0NsaWVudDsKICAgICBjbGFzcyBEcmFnQ29udHJvbGxlcjsKQEAgLTE0OCw3ICsxNDgs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlciog
Z2VvbG9jYXRpb25Db250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9nZW9sb2NhdGlvbkNvbnRy
b2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0g
ICAgICAgIERldmljZU9yaWVudGF0aW9uKiBkZXZpY2VPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fZGV2aWNlT3JpZW50YXRpb24uZ2V0KCk7IH0KKyAgICAgICAgRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKiBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVy
biBtX2RldmljZU9yaWVudGF0aW9uLmdldCgpOyB9CiAjZW5kaWYKICAgICAgICAgU2V0dGluZ3Mq
IHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQogICAgICAgICBQ
cm9ncmVzc1RyYWNrZXIqIHByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmVzcy5nZXQo
KTsgfQpAQCAtMjY1LDcgKzI2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgT3du
UHRyPEdlb2xvY2F0aW9uQ29udHJvbGxlcj4gbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXI7CiAjZW5k
aWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgICAgICBPd25QdHI8RGV2aWNl
T3JpZW50YXRpb24+IG1fZGV2aWNlT3JpZW50YXRpb247CisgICAgICAgIE93blB0cjxEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXI+IG1fZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOwogI2Vu
ZGlmCiAgICAgICAgIE93blB0cjxTZXR0aW5ncz4gbV9zZXR0aW5nczsKICAgICAgICAgT3duUHRy
PFByb2dyZXNzVHJhY2tlcj4gbV9wcm9ncmVzczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60539</attachid>
            <date>2010-07-05 08:18:13 -0700</date>
            <delta_ts>2010-07-07 02:46:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41608-20100705161811.patch</filename>
            <type>text/plain</type>
            <size>24265</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjQ4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDctMDUgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uIHNob3VsZCBiZSByZW5hbWVkIHRvIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDE2MDgKKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlbmFtaW5nIG9ubHkuCisKKyAgICAg
ICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRp
b24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uY3BwLgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyOjpvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlKToKKyAgICAgICAgKiBkb20vRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmg6IENvcGllZCBmcm9tIFdlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uLmguCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKToKKwogMjAxMC0wNy0wNSAgTmlrb2xh
cyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEaXJrIFNjaHVsemUgLyBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5tawo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQubWsJKHJldmlzaW9uIDYyNDc3KQorKysgV2Vi
Q29yZS9BbmRyb2lkLm1rCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4LDcgQEAgTE9DQUxf
U1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL05vdGF0aW9uLmNwcCBcCiAJ
ZG9tL09wdGlvbkVsZW1lbnQuY3BwIFwKIAlkb20vT3B0aW9uR3JvdXBFbGVtZW50LmNwcCBcCi0J
ZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCBcCisJZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlci5jcHAgXAogCWRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBcCiAJZG9tL092ZXJm
bG93RXZlbnQuY3BwIFwKIAlkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAgXApJbmRleDogV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0
CShyZXZpc2lvbiA2MjQ3NykKKysrIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTc3NCw3ICs3NzQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcAogICAgIGRvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNv
ZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcAotICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAK
KyAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmNwcAogICAgIGRvbS9Eb2N1bWVudC5jcHAKICAgICBkb20vRG9jdW1l
bnRGcmFnbWVudC5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC03OTMsOSArNzkzLDkgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmggXAogCVdlYkNv
cmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKIAlXZWJDb3JlL2RvbS9EZWNv
ZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAotCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
LmNwcCBcCi0JV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCiAJV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyLmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlXZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQko
d29ya2luZyBjb3B5KQpAQCAtMTExMyw5ICsxMTEzLDkgQEAKICAgICAgICAgICAgICdkb20vRGF0
YXNldERPTVN0cmluZ01hcC5oJywKICAgICAgICAgICAgICdkb20vRGVjb2RlZERhdGFEb2N1bWVu
dFBhcnNlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2Vy
LmgnLAotICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAnLAotICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQuaCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwJywKICAg
ICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oJywKICAgICAgICAgICAgICdk
b20vRG9jdW1lbnQuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL1dlYkNv
cmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC00NzUsNyArNDc1LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCiAgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcCBcCiAgICAgZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKLSAg
ICBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKICAg
ICBkb20vRG9jdW1lbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5jcHAgXApAQCAt
MTIyOCw4ICsxMjI4LDggQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0
ZURlY2xhcmF0aW9uLmggXAogICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVs
dC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKLSAgICBkb20vRGV2aWNlT3JpZW50YXRp
b24uaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmggXAorICAgIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaCBcCiAgICAgZG9tL0RvY3VtZW50Lmgg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA2MjQ3
NykKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTMyMzY5LDE1ICszMjM2OSwxNSBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb24uY3BwIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIg0KIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmlj
ZU9yaWVudGF0aW9uLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCINCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjI0NzcpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE4MCw4ICsxMTgwLDgg
QEAKIAkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg1RUEz
MTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi87IH07CiAJCTU5
QTg2MDA2MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBODYwMDUxMTlE
QUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi87IH07CiAJCTU5
QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg2MDA3MTE5REFG
QTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCAqLzsgfTsKLQkJNTlBOEYx
RDQxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QThGMUQzMTFBNjk1MDgwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi87IH07Ci0JCTU5QThGMUQ2MTFBNjk1MTMwMDFB
QzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVu
dGF0aW9uLmggKi87IH07CisJCTU5QThGMUQ0MTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTlBOEYxRDMxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAgKi87IH07CisJCTU5QThGMUQ2MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJNTlBOEYxRDgxMUE2OTUyMDAwMUFDMzRBIC8qIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1OUE4RjFENzExQTY5NTIwMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRp
b25DbGllbnQuaCAqLzsgfTsKIAkJNTlBOUU3QjAxMTA0NzU4ODAwREZCNEMxIC8qIEphdmFJbnN0
YW5jZUpTQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1OUE5RTdBRjExMDQ3NTg4MDBERkI0QzEgLyogSmF2YUluc3RhbmNlSlNDLmNwcCAqLzsgfTsK
IAkJNTlBOUU3QjIxMTA0NzU5NDAwREZCNEMxIC8qIEphdmFJbnN0YW5jZUpTQy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOUU3QjExMTA0NzU5NDAw
REZCNEMxIC8qIEphdmFJbnN0YW5jZUpTQy5oICovOyB9OwpAQCAtNjg5Miw4ICs2ODkyLDggQEAK
IAkJNTlBODVFQUExMTlEN0I2RTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE4NjAwNTExOURBRjdGMDBERUYxRUYgLyogSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU5QThGMUQzMTFBNjk1
MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OUE4RjFEMzExQTY5NTA4MDAxQUMzNEEg
LyogRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE5RTdBRjExMDQ3NTg4MDBERkI0
QzEgLyogSmF2YUluc3RhbmNlSlNDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEphdmFJbnN0YW5jZUpTQy5jcHA7IHBhdGggPSBqc2MvSmF2YUluc3RhbmNlSlNDLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlBOUU3QjExMTA0NzU5NDAwREZCNEMx
IC8qIEphdmFJbnN0YW5jZUpTQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBK
YXZhSW5zdGFuY2VKU0MuaDsgcGF0aCA9IGpzYy9KYXZhSW5zdGFuY2VKU0MuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2ODA3LDggKzE2ODA3LDggQEAKIAkJCQlCQzY0NjQxQTEx
RDdGNDE2MDA2NDU1QjAgLyogRGF0YXNldERPTVN0cmluZ01hcC5oICovLAogCQkJCUE4QzIyOEEw
MTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCAqLywKIAkJ
CQlBOEMyMjg5RjExRDU3MjJFMDBENUE3RDMgLyogRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5o
ICovLAotCQkJCTU5QThGMUQzMTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5j
cHAgKi8sCi0JCQkJNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9u
LmggKi8sCisJCQkJNTlBOEYxRDMxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAgKi8sCisJCQkJNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlci5oICovLAogCQkJCTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oICovLAogCQkJCTU5QTg1RUExMTE5RDY4RDkw
MERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCAqLywKIAkJCQk1OUE4NUVBMzEx
OUQ2OEVDMDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5oICovLApAQCAtMTczMTQs
NyArMTczMTQsNyBAQAogCQkJCTkzMzA5REUxMDk5RTY0OTIwMDU2RTU4MSAvKiBEZWxldGVTZWxl
Y3Rpb25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk4MjA4MjQ1RTU5MDAxRTlB
QkMgLyogRGVwcmVjYXRlZFB0ckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTZEMDgy
NDVFNTkwMDFFOUFCQyAvKiBEZXByZWNhdGVkUHRyTGlzdEltcGwuaCBpbiBIZWFkZXJzICovLAot
CQkJCTU5QThGMUQ2MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTlBOEYxRDYxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlBOEYxRDgxMUE2OTUyMDAwMUFD
MzRBIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4
NUVBNDExOUQ2OEVDMDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGMzRGRTYwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yMDE1Niw3ICsyMDE1Niw3IEBACiAJCQkJOTMzMDlEREUwOTlFNjQ5MjAwNTZFNTgx
IC8qIERlbGV0ZUZyb21UZXh0Tm9kZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMz
MDlERTAwOTlFNjQ5MjAwNTZFNTgxIC8qIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTNGMTlBM0MwODI0NUU1OTAwMUU5QUJDIC8qIERlcHJlY2F0ZWRQdHJM
aXN0SW1wbC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1OUE4RjFENDExQTY5NTA4MDAxQUMzNEEg
LyogRGV2aWNlT3JpZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTlBOEYxRDQxMUE2
OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1OUE4NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyog
RE5TQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjkwOTc5QzNCRDAwNDY3NzQx
IC8qIERvY0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbi5jcHAJKHJldmlzaW9uIDYyNDc3KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
MjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgotCi0jaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKLQotI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50Lmgi
Ci0jaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgotI2luY2x1ZGUgPHd0Zi9VbnVz
ZWRQYXJhbS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLURldmljZU9yaWVudGF0aW9uOjpE
ZXZpY2VPcmllbnRhdGlvbihQYWdlKiBwYWdlLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogY2xp
ZW50KQotICAgIDogbV9wYWdlKHBhZ2UpCi0gICAgLCBtX2NsaWVudChjbGllbnQpCi17Ci19Ci0K
LXZvaWQgRGV2aWNlT3JpZW50YXRpb246Om9uRGV2aWNlT3JpZW50YXRpb25DaGFuZ2UoZG91Ymxl
IGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQotewotICAgIC8vIEZJWE1FOiBGaXJl
IERldmljZU9yaWVudGF0aW9uRXZlbnRzIG9uIHRoZSB3aW5kb3cgb2JqZWN0IG9mIGFsbCBmcmFt
ZXMKLSAgICAvLyB0aGF0IGFyZSBsaXN0ZW5pbmcgdG8gb3JpZW50YXRpb24uCi0gICAgVU5VU0VE
X1BBUkFNKGFscGhhKTsKLSAgICBVTlVTRURfUEFSQU0oYmV0YSk7Ci0gICAgVU5VU0VEX1BBUkFN
KGdhbW1hKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNp
b24gNjI0NzcpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQg
T3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25faAot
I2RlZmluZSBEZXZpY2VPcmllbnRhdGlvbl9oCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnQ7Ci1jbGFzcyBQYWdlOwotCi1jbGFzcyBEZXZpY2VP
cmllbnRhdGlvbiB7Ci1wdWJsaWM6Ci0gICAgRGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50Kik7Ci0KLSAgICAvLyBGSVhNRTogQWRkIG1ldGhvZHMgdG8gc3Rh
cnQgYW5kIHN0b3AgdGhlIHNlcnZpY2UuCi0KLSAgICB2b2lkIG9uRGV2aWNlT3JpZW50YXRpb25D
aGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKTsKLQotcHJpdmF0
ZToKLSAgICBQYWdlKiBtX3BhZ2U7Ci0gICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIG1fY2xp
ZW50OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRGV2aWNlT3Jp
ZW50YXRpb25faApJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuY3BwCShyZXZpc2lvbiA2MjQ3NykJKGZyb20gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b24uY3BwOjYyNDc3KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IDIw
MTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKKworI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIgor
I2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvVW51c2Vk
UGFyYW0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitEZXZpY2VPcmllbnRhdGlvbjo6RGV2
aWNlT3JpZW50YXRpb24oUGFnZSogcGFnZSwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGNsaWVu
dCkKKyAgICA6IG1fcGFnZShwYWdlKQorICAgICwgbV9jbGllbnQoY2xpZW50KQoreworfQorCit2
b2lkIERldmljZU9yaWVudGF0aW9uOjpvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlKGRvdWJsZSBh
bHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK3sKKyAgICAvLyBGSVhNRTogRmlyZSBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50cyBvbiB0aGUgd2luZG93IG9iamVjdCBvZiBhbGwgZnJhbWVz
CisgICAgLy8gdGhhdCBhcmUgbGlzdGVuaW5nIHRvIG9yaWVudGF0aW9uLgorICAgIFVOVVNFRF9Q
QVJBTShhbHBoYSk7CisgICAgVU5VU0VEX1BBUkFNKGJldGEpOworICAgIFVOVVNFRF9QQVJBTShn
YW1tYSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDYyNDc3KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5o
IgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIgogCiAjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKIApAQCAtMzQsMTMgKzM0LDEzIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotRGV2aWNlT3JpZW50YXRpb246OkRldmljZU9yaWVudGF0aW9uKFBhZ2UqIHBh
Z2UsIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQpCitEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXI6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQYWdlKiBwYWdlLCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudCogY2xpZW50KQogICAgIDogbV9wYWdlKHBhZ2UpCiAgICAgLCBtX2Ns
aWVudChjbGllbnQpCiB7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50YXRpb246Om9uRGV2aWNlT3Jp
ZW50YXRpb25DaGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQor
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6Om9uRGV2aWNlT3JpZW50YXRpb25DaGFu
Z2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQogewogICAgIC8vIEZJ
WE1FOiBGaXJlIERldmljZU9yaWVudGF0aW9uRXZlbnRzIG9uIHRoZSB3aW5kb3cgb2JqZWN0IG9m
IGFsbCBmcmFtZXMKICAgICAvLyB0aGF0IGFyZSBsaXN0ZW5pbmcgdG8gb3JpZW50YXRpb24uCklu
ZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAkocmV2aXNpb24g
NjI0NzcpCShmcm9tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmg6NjI0NzcpCisrKyBX
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4g
U291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZU9yaWVudGF0aW9uX2gKKyNkZWZp
bmUgRGV2aWNlT3JpZW50YXRpb25faAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50OworY2xhc3MgUGFnZTsKKworY2xhc3MgRGV2aWNlT3JpZW50
YXRpb24geworcHVibGljOgorICAgIERldmljZU9yaWVudGF0aW9uKFBhZ2UqLCBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudCopOworCisgICAgLy8gRklYTUU6IEFkZCBtZXRob2RzIHRvIHN0YXJ0IGFu
ZCBzdG9wIHRoZSBzZXJ2aWNlLgorCisgICAgdm9pZCBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdl
KGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSk7CisKK3ByaXZhdGU6Cisg
ICAgUGFnZSogbV9wYWdlOworICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBtX2NsaWVudDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0
aW9uX2gKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCShy
ZXZpc2lvbiA2MjQ3NykKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxNyArMjMsMTcgQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2lmbmRlZiBEZXZpY2VPcmllbnRhdGlvbl9oCi0jZGVmaW5lIERldmljZU9yaWVudGF0
aW9uX2gKKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyX2gKKyNkZWZpbmUgRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyX2gKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIERldmljZU9y
aWVudGF0aW9uIHsKK2NsYXNzIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciB7CiBwdWJsaWM6
Ci0gICAgRGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmljZU9yaWVudGF0aW9uQ2xpZW50Kik7
CisgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKFBhZ2UqLCBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudCopOwogCiAgICAgLy8gRklYTUU6IEFkZCBtZXRob2RzIHRvIHN0YXJ0IGFuZCBzdG9w
IHRoZSBzZXJ2aWNlLgogCkBAIC00Niw0ICs0Niw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uX2gKKyNlbmRpZiAvLyBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJfaApJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gNjI0NzcpCisr
KyBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUgIkRldmljZU9yaWVu
dGF0aW9uLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJFdmVudC5oIgpAQCAtMTI2LDcgKzEyNiw3IEBAIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50
KiBjaHJvbWVDbGllbnQsIEMKICAgICAsIG1fZ2VvbG9jYXRpb25Db250cm9sbGVyKG5ldyBHZW9s
b2NhdGlvbkNvbnRyb2xsZXIodGhpcywgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KSkKICNl
bmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgLCBtX2RldmljZU9yaWVu
dGF0aW9uKG5ldyBEZXZpY2VPcmllbnRhdGlvbih0aGlzLCBkZXZpY2VPcmllbnRhdGlvbkNsaWVu
dCkpCisgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihuZXcgRGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyKHRoaXMsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KSkKICNlbmRpZgog
ICAgICwgbV9zZXR0aW5ncyhuZXcgU2V0dGluZ3ModGhpcykpCiAgICAgLCBtX3Byb2dyZXNzKG5l
dyBQcm9ncmVzc1RyYWNrZXIpCkluZGV4OiBXZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDYyNDc3KQorKysgV2ViQ29yZS9wYWdl
L1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgQ2hyb21lQ2xpZW50OwogICAgIGNsYXNzIENvbnRleHRNZW51Q2xpZW50
OwogICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlcjsKLSAgICBjbGFzcyBEZXZpY2VPcmll
bnRhdGlvbjsKICAgICBjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKKyAgICBjbGFzcyBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAgICAgY2xh
c3MgRHJhZ0NsaWVudDsKICAgICBjbGFzcyBEcmFnQ29udHJvbGxlcjsKQEAgLTE0OCw3ICsxNDgs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlciog
Z2VvbG9jYXRpb25Db250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9nZW9sb2NhdGlvbkNvbnRy
b2xsZXIuZ2V0KCk7IH0KICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0g
ICAgICAgIERldmljZU9yaWVudGF0aW9uKiBkZXZpY2VPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fZGV2aWNlT3JpZW50YXRpb24uZ2V0KCk7IH0KKyAgICAgICAgRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKiBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVy
biBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlmCiAgICAgICAg
IFNldHRpbmdzKiBzZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3MuZ2V0KCk7IH0K
ICAgICAgICAgUHJvZ3Jlc3NUcmFja2VyKiBwcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
Z3Jlc3MuZ2V0KCk7IH0KQEAgLTI2NSw3ICsyNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIE93blB0cjxHZW9sb2NhdGlvbkNvbnRyb2xsZXI+IG1fZ2VvbG9jYXRpb25Db250cm9s
bGVyOwogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICAgICAgT3du
UHRyPERldmljZU9yaWVudGF0aW9uPiBtX2RldmljZU9yaWVudGF0aW9uOworICAgICAgICBPd25Q
dHI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiBtX2RldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcjsKICNlbmRpZgogICAgICAgICBPd25QdHI8U2V0dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAg
ICAgIE93blB0cjxQcm9ncmVzc1RyYWNrZXI+IG1fcHJvZ3Jlc3M7Cg==
</data>
<flag name="review"
          id="48100"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>