<?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>204770</bug_id>
          
          <creation_ts>2019-12-02 15:09:19 -0800</creation_ts>
          <short_desc>[iOS] Calls to the device motion API should be done in the UI process</short_desc>
          <delta_ts>2020-03-31 13:57:20 -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>WebKit Misc.</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>
          <dependson>209831</dependson>
          <blocked>206085</blocked>
    
    <blocked>206387</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1594818</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-02 15:09:19 -0800</bug_when>
    <thetext>The device motion API on iOS is communicating with iohideventsystem. Since mach lookup to this daemon will be closed, the calls to this API should be moved from the WebContent process to the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594819</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-02 15:09:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/57572913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594824</commentid>
    <comment_count>2</comment_count>
      <attachid>384662</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-02 15:23:33 -0800</bug_when>
    <thetext>Created attachment 384662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594854</commentid>
    <comment_count>3</comment_count>
      <attachid>384670</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-02 16:23:14 -0800</bug_when>
    <thetext>Created attachment 384670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594874</commentid>
    <comment_count>4</comment_count>
      <attachid>384673</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-02 18:22:58 -0800</bug_when>
    <thetext>Created attachment 384673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597008</commentid>
    <comment_count>5</comment_count>
      <attachid>385207</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-09 16:24:20 -0800</bug_when>
    <thetext>Created attachment 385207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597248</commentid>
    <comment_count>6</comment_count>
      <attachid>385285</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-10 10:43:59 -0800</bug_when>
    <thetext>Created attachment 385285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597413</commentid>
    <comment_count>7</comment_count>
      <attachid>385285</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-12-10 16:48:02 -0800</bug_when>
    <thetext>Comment on attachment 385285
Patch

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

r=me, but please consider changing those bare pointers (perhaps even in a follow-up patch).

&gt; Source/WebCore/platform/ios/DeviceMotionClientIOS.h:55
&gt; +    DeviceMotionController* m_controller { nullptr };

I&apos;m a little suspicious of these bare pointers. Could they be WeakPtrs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597422</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-10 16:55:34 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #7)
&gt; Comment on attachment 385285 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385285&amp;action=review
&gt; 
&gt; r=me, but please consider changing those bare pointers (perhaps even in a
&gt; follow-up patch).
&gt; 
&gt; &gt; Source/WebCore/platform/ios/DeviceMotionClientIOS.h:55
&gt; &gt; +    DeviceMotionController* m_controller { nullptr };
&gt; 
&gt; I&apos;m a little suspicious of these bare pointers. Could they be WeakPtrs?

I think they can be made WeakPtrs, I will look into that :)

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597425</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-10 16:58:46 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #7)
&gt; Comment on attachment 385285 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=385285&amp;action=review
&gt; 
&gt; r=me, but please consider changing those bare pointers (perhaps even in a
&gt; follow-up patch).
&gt; 
&gt; &gt; Source/WebCore/platform/ios/DeviceMotionClientIOS.h:55
&gt; &gt; +    DeviceMotionController* m_controller { nullptr };
&gt; 
&gt; I&apos;m a little suspicious of these bare pointers. Could they be WeakPtrs?

Filed https://bugs.webkit.org/show_bug.cgi?id=205093.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597450</commentid>
    <comment_count>10</comment_count>
      <attachid>385285</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 17:35:22 -0800</bug_when>
    <thetext>Comment on attachment 385285
Patch

Clearing flags on attachment: 385285

Committed r253357: &lt;https://trac.webkit.org/changeset/253357&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597451</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 17:35:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636213</commentid>
    <comment_count>12</comment_count>
      <attachid>385285</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-31 13:20:15 -0700</bug_when>
    <thetext>Comment on attachment 385285
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [iOS] Calls to the device motion API should be done in the UI process

This change seems to have badly broken the device motion API :(

see &lt;rdar://problem/60720953&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384662</attachid>
            <date>2019-12-02 15:23:33 -0800</date>
            <delta_ts>2019-12-02 16:23:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204770-20191202152332.patch</filename>
            <type>text/plain</type>
            <size>41737</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Mjk4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE5LTEyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBDYWxscyB0byB0
aGUgZGV2aWNlIG1vdGlvbiBBUEkgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDc3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZXZpY2Ug
bW90aW9uIEFQSSBvbiBpT1MgaXMgY29tbXVuaWNhdGluZyB3aXRoIGlvaGlkZXZlbnRzeXN0ZW0u
IFNpbmNlIG1hY2ggbG9va3VwIHRvIHRoaXMgZGFlbW9uCisgICAgICAgIHdpbGwgYmUgY2xvc2Vk
LCB0aGUgY2FsbHMgdG8gdGhpcyBBUEkgc2hvdWxkIGJlIG1vdmVkIGZyb20gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1l
bnRzIGZvcndhcmRpbmcgb2YgdGhlIGRldmljZSBtb3Rpb24gcmVxdWVzdHMgdG8gdGhlIFVJIHBy
b2Nlc3MgdGhyb3VnaCBhIG5ldyBjbGFzcywKKyAgICAgICAgU2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50LCB3aGljaCBpcyBzdWJjbGFzc2VkIGJ5IFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudCBp
biBtb2Rlcm4gV2ViS2l0LiBUaGlzCisgICAgICAgIGNsYXNzIGltcGxlbWVudHMgZm9yd2FyZGlu
ZyBvZiB0aGUgcmVxdWVzdHMgdG8gdGhlIFVJIHByb2Nlc3MsIGFuZCByZWNlaXZlcyBkZXZpY2Ug
bW90aW9uIHVwZGF0ZXMKKyAgICAgICAgZnJvbSB0aGUgVUkgcHJvY2Vzcy4gQW4gaW5zdGFuY2Ug
b2YgdGhpcyBjbGFzcyB3aWxsIGJlIHNoYXJlZCBieSBhbGwgZGV2aWNlIG1vdGlvbiBjbGllbnRz
IG9uIGEgcGFnZSwKKyAgICAgICAgYW5kIHBhc3NlZCBhcyBwYXJ0IG9mIHRoZSBwYWdlIGNvbmZp
Z3VyYXRpb24gcGFyYW1ldGVycy4gT24gdGhlIFVJIHByb2Nlc3Mgc2lkZSwgdGhlIFdlYiBwYWdl
IHByb3h5CisgICAgICAgIGlzIHRha2luZyBjYXJlIG9mIGNhbGxpbmcgdGhlIGRldmljZSBtb3Rp
b24gQVBJIHRocm91Z2ggdGhlIGV4aXN0aW5nIFdlYkNvcmVNb3Rpb25NYW5hZ2VyIE9iamVjdGl2
ZS1DCisgICAgICAgIGNsYXNzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VNb3Rpb25DbGllbnQ6OnNldFNoYXJlZERldmljZU1vdGlvbkNsaWVudCk6Cisg
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50Lmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fdW5kb01hbmFnZXIpOgorICAgICAgICAq
IHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3NoYXJlZERldmljZU1vdGlvbkNs
aWVudCk6CisgICAgICAgIChXZWJDb3JlOjptX2FwcGxpY2F0aW9uTWFuaWZlc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2hhcmVk
RGV2aWNlTW90aW9uQ2xpZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW06CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpzdG9wVXBkYXRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpkZXZpY2VNb3Rpb25Db250cm9sbGVy
RGVzdHJveWVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW06CisgICAg
ICAgICgtW1dlYkNvcmVNb3Rpb25NYW5hZ2VyIGFkZE1vdGlvbkNsaWVudDpdKToKKyAgICAgICAg
KC1bV2ViQ29yZU1vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50Ol0pOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50Ojp+V2ViQ29yZU1vdGlvbk1h
bmFnZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGll
bnQ6Om1vdGlvbkNoYW5nZWQpOgorCiAyMDE5LTEyLTAyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGRvIHJhbmdlIGNoZWNraW5nIGZvciBj
YWxjKCkgYXQgcGFyc2UgdGltZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC05MDcsNyArOTA3LDcgQEAKIAkJMzEzNTkxMEExRTdEREM3MzAwRjMwNjMwIC8qIFJUQ1NkcFR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzU5
MTA0MUU3RERDNjAwMEYzMDYzMCAvKiBSVENTZHBUeXBlLmggKi87IH07CiAJCTMxMzU5MTBCMUU3
RERDNzMwMEYzMDYzMCAvKiBSVENTaWduYWxpbmdTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzNTkxMDUxRTdEREM2MDAwRjMwNjMwIC8qIFJU
Q1NpZ25hbGluZ1N0YXRlLmggKi87IH07CiAJCTMxM0JDRTFDMjM1RTNCRTUwMEZDMzlFNSAvKiBF
bGVtZW50Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzEzQkNFMUIyMzVFM0JEQjAwRkMzOUU1IC8qIEVsZW1lbnRDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMzE0MDM3OUIxMjRC
RUE3RjAwQUY0MEU0IC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQwMzc5NzEyNEJFQTdGMDBBRjQwRTQgLyog
V2ViQ29yZU1vdGlvbk1hbmFnZXIuaCAqLzsgfTsKKwkJMzE0MDM3OUIxMjRCRUE3RjAwQUY0MEU0
IC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTQwMzc5NzEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlv
bk1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkzMTQwMzc5RDEyNEJFQTdGMDBBRjQwRTQgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRJ
T1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDAz
Nzk5MTI0QkVBN0YwMEFGNDBFNCAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5oICovOyB9
OwogCQkzMTQwQzUyMDFGREYxNTFBMDBEMkE4NzMgLyogT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTQwQzUxRTFGREYxNTFBMDBEMkE4NzMgLyogT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmggKi87IH07CiAJCTMxNDBDNTI0MUZERjMxODcwMEQyQTg3MyAvKiBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTQwQzUyMjFGREYzMTg2MDBEMkE4NzMgLyogQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQmFzZS5oICovOyB9OwpAQCAtNDc3Niw2ICs0Nzc2LDggQEAKIAkJRTM1ODAyQjYxREM4
NDM1RDAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTgwMkI1MURDODQzNTgwMEE5NzczQyAvKiBE
T01KSVRJRExUeXBlRmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTM3N0ZFNEQxREFERTE2NTAwQ0REMDI1IC8qIE5vZGVDb25zdGFudHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDA0OTkz
MURBREMwNDUwMDcxOEYzQyAvKiBOb2RlQ29uc3RhbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM3Qzg2NTAxRUI2M0UzRjAwODdDNkNBIC8q
IEpTRE9NUHJvbWlzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM3Qzg2NEYxRUI2M0UyRDAwODdDNkNBIC8qIEpTRE9NUHJvbWlzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzOTYyOEJGMjM5NTcy
OEYwMDY1OEVDRCAvKiBTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOEJEMjM5NTcyOEUwMDY1OEVDRCAv
KiBTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlFMzk2MjhDMTIzOTU3NDMxMDA2NThFQ0QgLyogV2ViQ29y
ZU1vdGlvbk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzOTYyOEMwMjM5NTc0MzAwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFu
YWdlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUUzQTc3NjY3MURDODVEMjgwMEI2OTBEOCAvKiBET01KSVRJRExDb252ZXJ0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0E3NzY2NTFEQzg1
RDIyMDBCNjkwRDggLyogRE9NSklUSURMQ29udmVydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQTc3NjY4MURDODVEMjgwMEI2OTBEOCAvKiBE
T01KSVRJRExUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFM0E3NzY2NjFEQzg1RDIyMDBCNjkwRDggLyogRE9NSklUSURMVHlwZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzQjJGMEVEMUQ3RjRD
QTMwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTcxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxl
U2NyaXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTE1MDcwLDYgKzE1MDcyLDggQEAKIAkJRTM4ODM4OTQxQkFEMTQ1RjAwRDYyRUUzIC8qIFNj
cmlwdE1vZHVsZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JpcHRNb2R1bGVMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
Mzg4Mzg5NTFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzhEMDYwOTFGOEU4MTE5MDA2NDlDRjIgLyogTW9kdWxlRmV0
Y2hQYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZUZl
dGNoUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzk2MjhCRDIz
OTU3MjhFMDA2NThFQ0QgLyogU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFMzk2MjhDMDIzOTU3NDMwMDA2NThFQ0QgLyogV2ViQ29y
ZU1vdGlvbk1hbmFnZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM5NzVCNzYxRUM5QUYzOTAwODQ3NzE3IC8qIEpTRG9jdW1lbnRGcmFnbWVudERPTUpJVC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RvY3VtZW50RnJhZ21l
bnRET01KSVQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzk3NUI3NzFFQzlB
RjM5MDA4NDc3MTcgLyogSlNFbGVtZW50RE9NSklULmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRWxlbWVudERPTUpJVC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzOTc1Qjc4MUVDOUFGMzkwMDg0NzcxNyAvKiBKU0V2ZW50RE9NSklULmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXZlbnRET01KSVQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjI4MTksNiArMjI4MjMsNyBAQAogCQkJCUU0
NTM5MDM0MEVBRkQ2MzcwMDM2OTVDOCAvKiBTY3JvbGxWaWV3SU9TLm1tICovLAogCQkJCUJFQTgw
N0M2MEY3MTRBMDMwMDUyNDE5OSAvKiBTZWxlY3Rpb25SZWN0LmNwcCAqLywKIAkJCQlCRUE4MDdD
NzBGNzE0QTAzMDA1MjQxOTkgLyogU2VsZWN0aW9uUmVjdC5oICovLAorCQkJCUUzOTYyOEJEMjM5
NTcyOEUwMDY1OEVDRCAvKiBTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCAqLywKIAkJCQkwRjAz
QzA3MzE4ODQ2OTVFMDBBNUY4Q0EgLyogU3lzdGVtTWVtb3J5LmggKi8sCiAJCQkJRTQ1MzkwQUQw
RUFGRjRCNTAwMzY5NUM4IC8qIFN5c3RlbU1lbW9yeUlPUy5jcHAgKi8sCiAJCQkJNDRDOTkxOUQw
RjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggKi8sCkBAIC0yMjgzNSw2ICsyMjg0MCw3IEBA
CiAJCQkJMUYzNkVBOUIxRTIxQkExNzAwNjIxRTI1IC8qIFdlYkJhY2tncm91bmRUYXNrQ29udHJv
bGxlci5tbSAqLywKIAkJCQkzMTQwMzc5NzEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlv
bk1hbmFnZXIuaCAqLywKIAkJCQkzMTQwMzc5ODEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1v
dGlvbk1hbmFnZXIubW0gKi8sCisJCQkJRTM5NjI4QzAyMzk1NzQzMDAwNjU4RUNEIC8qIFdlYkNv
cmVNb3Rpb25NYW5hZ2VyQ2xpZW50LmggKi8sCiAJCQkJRkUwRDg0RTgxMDQ4NDM0ODAwMUExNzlF
IC8qIFdlYkV2ZW50LmggKi8sCiAJCQkJRkUwRDg0RUExMDQ4NDM2RTAwMUExNzlFIC8qIFdlYkV2
ZW50Lm1tICovLAogCQkJCUY0ODIyMzBGMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVtUHJvdmlk
ZXJQYXN0ZWJvYXJkLmggKi8sCkBAIC0yOTUzNSw2ICsyOTU0MSw3IEBACiAJCQkJRjQ3QTA5RDEy
MEE5M0E5NzAwMjQwRkFFIC8qIERpc2FibGVkQWRhcHRhdGlvbnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdFREFBRkM5MTlBMkNDREMwMDM0REZEMSAvKiBEaXNrQ2FjaGVNb25pdG9yQ29jb2EuaCBp
biBIZWFkZXJzICovLAogCQkJCTExOTlGQTVCMjA4RTNDN0YwMDIzNThDQyAvKiBEaXNwbGF5Qm94
LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDUxQzYzNDIzOTQwNThGMDA5OTMxOTAgLyogRGlzcGxh
eUlubGluZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVGQkQzMUMzREQ1MUUwMDA3
QTJDQSAvKiBEaXNwbGF5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNUZCRDUxQzNERDUx
RTAwMDdBMkNBIC8qIERpc3BsYXlMaXN0SXRlbXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTVG
QkQ3MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlY29yZGVyLmggaW4gSGVhZGVycyAq
LywKQEAgLTMwMDQ4LDcgKzMwMDU1LDYgQEAKIAkJCQlBODcxREIyQjBBMTUwQkQ2MDBCMTJBNjgg
LyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFEQjJB
MEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTg3MURCMkYwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNvbEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAotCQkJCUU0NTFDNjI4MjM5MjkzRUMwMDk5MzE5MCAvKiBMaW5lTGF5b3V0
VHJhdmVyc2FsRGlzcGxheVJ1blBhdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFEQjI3MEEx
NTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODcxREIyQzBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlUGFydEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4NzFEQjMxMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVSb3dFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMwMTYwLDcgKzMwMTY2LDYgQEAKIAkJCQlCQzdGNDRB
ODBCOUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkQ1QTU5MzExNTI1MjVEMDAwMzZFRTUxIC8qIEltYWdlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTcyMjgzRjBFMjMwQjI2OEMwMEY1RDgyOCAvKiBJbWFnZVBhaW50aW5nT3B0aW9u
cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQ1MUM2MzIyMzk0MDMxQTAwOTkzMTkwIC8qIE1hcmdp
blR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNTFBMkYzRjE3RDdEM0FFMDA3MjUxN0EgLyog
SW1hZ2VRdWFsaXR5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkyOTFFNEIxMzQx
NzJDODAwRTc1M0RFIC8qIEltYWdlUmVuZGVyaW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0QyN0FFNTAyMkE5ODY4NzAwOTQ3RkY5IC8qIEltYWdlUm90YXRpb25TZXNzaW9uVlQuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzA1NTMsNyArMzA1NTgsNiBAQAogCQkJCTgzNzA1NjkwMUY1MDkxNUMw
MEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4MzNCOUUzNjFGNTA4RDg1MDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRmlsZUVudHJ5LmggaW4g
SGVhZGVycyAqLywKIAkJCQk3MTJCRTQ4ODFGRTg2ODZBMDAyMDMxQ0MgLyogSlNGaWxsTW9kZS5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJRTQzNDNEMjUyMzkyNzc5MDAwRUJCQjY2IC8qIExpbmVMYXlv
dXRUcmF2ZXJzYWxDb21wbGV4UGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjZEOUQyN0IxNEVB
QzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzI4MDgz
M0YxQzZEQzI2RjAwMTQ1MUI2IC8qIEpTRm9udEZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFD
MjRFRUE5MUM3MkE3QjQwMDgwRjhGQyAvKiBKU0ZvbnRGYWNlU2V0LmggaW4gSGVhZGVycyAqLywK
QEAgLTMxMTc3LDYgKzMxMTgxLDcgQEAKIAkJCQk2RjdDQTNDNjIwOEMyOTU3MDAyRjI5QUIgLyog
TGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTExMzEwQ0YyMjBCQTRBMzIwMDY1QThE
MCAvKiBMYXlvdXRUcmVlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQxREMwNDgxNjQ4
MzQ4RjAwMzcxRTVBIC8qIExheW91dFVuaXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0NTFDNjMx
MjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RF
OEI1RUQxQTY5Nzc3MzAwQjRCNjZBIC8qIExlZ2FjeUNETVByaXZhdGVDbGVhcktleS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0RGNEI3MTIxRTAwODdBRTAwRTIzNUEyIC8qIExlZ2FjeUNETVNlc3Np
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUNERThCNUYxMUE2OTc3OEIwMEI0QjY2QSAvKiBMZWdh
Y3lDRE1TZXNzaW9uQ2xlYXJLZXkuaCBpbiBIZWFkZXJzICovLApAQCAtMzEyMDgsNiArMzEyMTMs
OSBAQAogCQkJCTZGMjZFQjQ4MjM0MDA0QTUwMDY5MDZFMiAvKiBMaW5lTGF5b3V0Q29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkZFRkFCMkExODM4MERBMDAwNTE0NTM0IC8qIExpbmVMYXlv
dXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ4NEEzM0UyMzA1NTMyNTAwOUFERTZBIC8q
IExpbmVMYXlvdXRUcmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0MzQzRDI1MjM5Mjc3
OTAwMEVCQkI2NiAvKiBMaW5lTGF5b3V0VHJhdmVyc2FsQ29tcGxleFBhdGguaCBpbiBIZWFkZXJz
ICovLAorCQkJCUU0NTFDNjI4MjM5MjkzRUMwMDk5MzE5MCAvKiBMaW5lTGF5b3V0VHJhdmVyc2Fs
RGlzcGxheVJ1blBhdGguaCBpbiBIZWFkZXJzICovLAorCQkJCUU0MzQzRDIzMjM5Mjc3ODQwMEVC
QkI2NiAvKiBMaW5lTGF5b3V0VHJhdmVyc2FsU2ltcGxlUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkZEQkMwNDcxODNEMjdCNzAwNDA3MTA5IC8qIExpbmVXaWR0aC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0JBOURDMEIxREY0NERGNDAwMDU2NzVDIC8qIExpbmtIZWFkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxNDNCMjYzMURERDE1MjAwMDE0RkFDNiAvKiBMaW5rSWNvbi5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMTI0MSw2ICszMTI0OSw3IEBACiAJCQkJNDZFRkFGMTIxRTVGQjlGMTAwRTdG
MzRCIC8qIExvd1Bvd2VyTW9kZU5vdGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUU2Qzkz
QzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQThGNkJDNjBEQjU1Q0RDMDAxREI3OTQgLyogTWFuaWZlc3RQYXJzZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBNYXJnaW5UeXBlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxODY2NDUxRjcyRTVCNDAwQTBDQUI2IC8qIE1hcmtlZFRl
eHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REY4MDk5RTY0OTIwMDU2RTU4MSAvKiBtYXJr
dXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3MjhDMzE0MTI2OEU0MzkwMDQxRTg5QiAvKiBNYXJr
dXBBY2N1bXVsYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTcwMSw3ICszMTcxMCw2IEBACiAJ
CQkJNTdEQ0VENzQyMTQzMDVGMDAwMTZCODQ3IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1NzMwM0JFRjIwMDk4MEM2MDAzNTU5NjUgLyogUHVibGljS2V5
Q3JlZGVudGlhbERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQzBBMjAwOTlC
QUQwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUU0MzQzRDIzMjM5Mjc3ODQwMEVCQkI2NiAvKiBMaW5lTGF5b3V0VHJhdmVy
c2FsU2ltcGxlUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDNCRUIyMDA5N0Y0MDAwMzU1
OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwMDgx
RkYwMDE2QjBBMkQzMDA4QUFBN0EgLyogUHVibGljU3VmZml4LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxMEZCMDg0QjE0RTE1QzdFMDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMjE1Niw2ICszMjE2NCw3IEBACiAJCQkJRkQxQUYxNTAxNjU2RjE1MTAwQzZE
NEY3IC8qIFNoYXBlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFEOUYwRkMxMjEyMjAyOUIw
MDVEOEZENCAvKiBTaGFyZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNEE5NTRFMEI0RURD
Q0IwMDJEOEMzQyAvKiBTaGFyZWRCdWZmZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzOTYyOEJG
MjM5NTcyOEYwMDY1OEVDRCAvKiBTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTgzNERGQUQwMUY3REFFNUQwMEMyNzI1QiAvKiBTaGFyZWRTdHJpbmdIYXNoLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUVBMzA5OUVCNzhDMDA1NkU1ODEgLyogU2hhcmVkVGlt
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNjJFOEMxMjBDRUY5Q0IwMDI0NTg4NiAvKiBTaG91
bGRUcmVhdEFzQ29udGludWluZ0xvYWQuaCBpbiBIZWFkZXJzICovLApAQCAtMzI0OTYsNyArMzI1
MDUsNiBAQAogCQkJCUIyMjI3QURBMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdUcmFuc2Zvcm1hYmxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FERDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHVHJh
bnNmb3JtRGlzdGFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QURGMEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdUcmFuc2Zvcm1MaXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDUxQzYzMTIz
OTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRTU4
RDU4MUREN0Q5NkQwMDEyODU1MiAvKiBTVkdUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjIyMjdBRTIwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1RSZWZFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMjIyN0FFNTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHVFNwYW5FbGVtZW50
LmggaW4gSGVhZGVycyAqLywKQEAgLTMyNzc3LDYgKzMyNzg1LDcgQEAKIAkJCQlCQzUzRDkxMTEx
NDMxMENDMDAwRDgxN0UgLyogV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTNGMTk5QkIwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVLZXlib2FyZFVJTW9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzE0MDM3OUIxMjRCRUE3RjAwQUY0MEU0IC8qIFdlYkNvcmVNb3Rp
b25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzk2MjhDMTIzOTU3NDMxMDA2NThFQ0Qg
LyogV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzk3
OUY1MUM0OThDMDkwMERCNTBENCAvKiBXZWJDb3JlTlNFcnJvckV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRjRFNTdFRTEyMTNGNDM0QTAwNEVBOThFIC8qIFdlYkNvcmVOU0ZvbnRNYW5hZ2Vy
RXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUI0QzI0RDE1MDkyMzZDMDBBNkVGMzcgLyog
V2ViQ29yZU5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKQEAgLTMyODI2LDcgKzMyODM1LDYg
QEAKIAkJCQk0OUM3QjlFMDEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0YzRDM2QTFBNjlCN0I5MDA1OUZDMkIgLyogV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkY5OTVBMjIxQTcwNzhC
MTAwQTczNUY0IC8qIFdlYkdMU2FtcGxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQ1MUM2MzQy
Mzk0MDU4RjAwOTkzMTkwIC8qIERpc3BsYXlJbmxpbmVDb250ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUM3QjlFMzEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xTaGFkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUEwN0QzMzU4MTUyQjYzMkQwMDFCNjM5MyAvKiBXZWJHTFNoYWRlclByZWNpc2lv
bkZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDFEM0NGODcxNEJEMEEzMDAwRkU5OTcwIC8q
IFdlYkdMU2hhcmVkT2JqZWN0LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlTW90aW9uQ2xpZW50LmgJKHJldmlzaW9uIDI1Mjk4MykKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEZXZpY2VNb3Rpb25Db250cm9sbGVyOwog
Y2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKIGNsYXNzIFBhZ2U7CitjbGFzcyBTaGFyZWREZXZpY2VN
b3Rpb25DbGllbnQ7CiAKIGNsYXNzIERldmljZU1vdGlvbkNsaWVudCA6IHB1YmxpYyBEZXZpY2VD
bGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERldmljZU1vdGlvbkNsaWVudCk7CkBA
IC00Myw2ICs0NCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldENvbnRyb2xsZXIo
RGV2aWNlTW90aW9uQ29udHJvbGxlciopID0gMDsKICAgICB2aXJ0dWFsIERldmljZU1vdGlvbkRh
dGEqIGxhc3RNb3Rpb24oKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRldmljZU1vdGlv
bkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQor
ICAgIHZpcnR1YWwgdm9pZCBzZXRTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQoUmVmUHRyPFNoYXJl
ZERldmljZU1vdGlvbkNsaWVudD4pIHsgfQorI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGll
bnQuaAkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1
ZGUgIkRldmljZUNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI1Mjk4MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwNyw5ICs2MDcsMTUgQEAgRG9jdW1lbnQ6
OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgVQogICAgICAgICBub2RlTGlzdEFuZENvbGxl
Y3Rpb25Db3VudCA9IDA7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZEV2ZW50
TGlzdGVuZXJzVG9Ob2RlKCp0aGlzKTsKKyAgICAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
ICAgIG1fc2V0dGluZ3MtPnNldExlZ2FjeUdldFVzZXJNZWRpYUVuYWJsZWQocXVpcmtzKCkuc2hv
dWxkRW5hYmxlTGVnYWN5R2V0VXNlck1lZGlhKCkpOwogI2VuZGlmCisKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIGlmIChwYWdlKCkg
JiYgcGFnZSgpLT5zaGFyZWREZXZpY2VNb3Rpb25DbGllbnQoKSkKKyAgICAgICAgbV9kZXZpY2VN
b3Rpb25DbGllbnQtPnNldFNoYXJlZERldmljZU1vdGlvbkNsaWVudChwYWdlKCktPnNoYXJlZERl
dmljZU1vdGlvbkNsaWVudCgpKTsKKyNlbmRpZgogfQogCiBSZWY8RG9jdW1lbnQ+IERvY3VtZW50
OjpjcmVhdGUoRG9jdW1lbnQmIGNvbnRleHREb2N1bWVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjg5LDYgKzI4OSw5IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRp
b24mJiBwYWdlQ29uZmkKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgLCBt
X2FwcGxpY2F0aW9uTWFuaWZlc3QocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5pZmVz
dCkKICNlbmRpZgorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pICYmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgLCBtX3NoYXJlZERldmljZU1vdGlvbkNsaWVudChXVEZNb3ZlKHBhZ2VD
b25maWd1cmF0aW9uLnNoYXJlZERldmljZU1vdGlvbkNsaWVudCkpCisjZW5kaWYKIHsKICAgICB1
cGRhdGVUaW1lclRocm90dGxpbmdTdGF0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNp
b24gMjUyOTgzKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDYgKzY5LDEwIEBACiAjaW5jbHVkZSAiTWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQu
aCIKICNlbmRpZgogCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyNpbmNsdWRlICJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCIKKyNlbmRp
ZgorCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIERlYnVnZ2VyOwogfQpAQCAtNzE5LDYgKzcyMywx
MCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8UmVmPEVsZW1lbnQ+PiBl
ZGl0YWJsZUVsZW1lbnRzSW5SZWN0KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwogCisjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBSZWZQ
dHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50PiBzaGFyZWREZXZpY2VNb3Rpb25DbGllbnQoKSBj
b25zdCB7IHJldHVybiBtX3NoYXJlZERldmljZU1vdGlvbkNsaWVudDsgfQorI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgc3RydWN0IE5hdmlnYXRpb24gewogICAgICAgICBSZWdpc3RyYWJsZURvbWFp
biBkb21haW47CkBAIC05OTAsNiArOTk4LDEwIEBAIHByaXZhdGU6CiAKICAgICBPcHRpb25hbDxW
aWV3cG9ydEFyZ3VtZW50cz4gbV9vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwogCisjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBSZWZQ
dHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50PiBtX3NoYXJlZERldmljZU1vdGlvbkNsaWVudDsK
KyNlbmRpZgorCiAgICAgYm9vbCBtX3Nob3VsZEVuYWJsZUlDRUNhbmRpZGF0ZUZpbHRlcmluZ0J5
RGVmYXVsdCB7IHRydWUgfTsKICAgICBib29sIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fbWVkaWFCdWZmZXJpbmdJc1N1c3BlbmRlZCB7IGZhbHNlIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAy
NTI5ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50
OwogY2xhc3MgUGx1Z0luQ2xpZW50OwogY2xhc3MgUGx1Z2luSW5mb1Byb3ZpZGVyOwogY2xhc3Mg
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50OworY2xhc3MgU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50Owog
Y2xhc3MgU29ja2V0UHJvdmlkZXI7CiBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiBj
bGFzcyBVc2VyQ29udGVudFByb3ZpZGVyOwpAQCAtMTE4LDYgKzExOSwxMCBAQCBwdWJsaWM6CiAg
ICAgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gc3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyOwogICAgIFJlZlB0cjxVc2VyQ29udGVudFByb3ZpZGVyPiB1c2VyQ29udGVudFByb3ZpZGVy
OwogICAgIFJlZlB0cjxWaXNpdGVkTGlua1N0b3JlPiB2aXNpdGVkTGlua1N0b3JlOworICAgIAor
I2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisg
ICAgUmVmUHRyPFNoYXJlZERldmljZU1vdGlvbkNsaWVudD4gc2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50OworI2VuZGlmCiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
RGV2aWNlTW90aW9uQ2xpZW50SU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5oCShyZXZpc2lvbiAyNTI5ODMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9TLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDEzICszMCwxNSBAQAogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNsaWVu
dC5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZp
Y2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSAiU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmgiCisj
aW5jbHVkZSAiV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKIE9CSkNfQ0xBU1MgV2ViQ29yZU1vdGlvbk1hbmFnZXI7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgRGV2aWNlTW90aW9uQ2xpZW50SU9TIDogcHVibGljIERldmljZU1v
dGlvbkNsaWVudCB7CitjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnRJT1MgOiBwdWJsaWMgRGV2aWNl
TW90aW9uQ2xpZW50LCBwdWJsaWMgV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQgewogcHVibGlj
OgogICAgIERldmljZU1vdGlvbkNsaWVudElPUygpOwogICAgIH5EZXZpY2VNb3Rpb25DbGllbnRJ
T1MoKSBvdmVycmlkZTsKQEAgLTQ2LDEyICs0OCwxNSBAQCBwdWJsaWM6CiAgICAgRGV2aWNlTW90
aW9uRGF0YSogbGFzdE1vdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgZGV2aWNlTW90
aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBtb3Rpb25DaGFu
Z2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJs
ZSwgZG91YmxlLCBkb3VibGUpOworICAgIHZvaWQgbW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJs
ZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91Ymxl
KSBvdmVycmlkZTsKIAorICAgIHZvaWQgc2V0U2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50KFJlZlB0
cjxTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ+IHNoYXJlZERldmljZU1vdGlvbkNsaWVudCkgb3Zl
cnJpZGUgeyBtX3NoYXJlZERldmljZU1vdGlvbkNsaWVudCA9IHNoYXJlZERldmljZU1vdGlvbkNs
aWVudDsgfQorICAgIAogcHJpdmF0ZToKICAgICBXZWJDb3JlTW90aW9uTWFuYWdlciogbV9tb3Rp
b25NYW5hZ2VyOwogICAgIERldmljZU1vdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKICAg
ICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gbV9jdXJyZW50RGV2aWNlTW90aW9uRGF0YTsKKyAg
ICBSZWZQdHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50PiBtX3NoYXJlZERldmljZU1vdGlvbkNs
aWVudDsKICAgICBib29sIG1fdXBkYXRpbmc7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9TLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW0JKHJldmlzaW9u
IDI1Mjk4MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGll
bnRJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDExIEBAIHZvaWQgRGV2aWNlTW90
aW9uQ2xpZW50SU9TOjpzdGFydFVwZGF0aW4KIHsKICAgICBtX3VwZGF0aW5nID0gdHJ1ZTsKIAor
ICAgIGlmIChtX3NoYXJlZERldmljZU1vdGlvbkNsaWVudCkgeworICAgICAgICBtX3NoYXJlZERl
dmljZU1vdGlvbkNsaWVudC0+c3RhcnRVcGRhdGluZygqdGhpcyk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBpZiAoIW1fbW90aW9uTWFuYWdlcikKICAgICAgICAgbV9tb3Rpb25NYW5h
Z2VyID0gW1dlYkNvcmVNb3Rpb25NYW5hZ2VyIHNoYXJlZE1hbmFnZXJdOwogCkBAIC02Myw2ICs2
OCwxMSBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudElPUzo6c3RvcFVwZGF0aW5nCiB7CiAgICAg
bV91cGRhdGluZyA9IGZhbHNlOwogCisgICAgaWYgKG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50
KSB7CisgICAgICAgIG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LT5zdG9wVXBkYXRpbmcoKnRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gUmVtb3ZlIG91cnNlbHZlcyBh
cyB0aGUgbW90aW9uIGNsaWVudCBzbyB3ZSB3b24ndCBnZXQgdXBkYXRlcy4KICAgICBbbV9tb3Rp
b25NYW5hZ2VyIHJlbW92ZU1vdGlvbkNsaWVudDp0aGlzXTsKIH0KQEAgLTc0LDYgKzg0LDExIEBA
IERldmljZU1vdGlvbkRhdGEqIERldmljZU1vdGlvbkNsaWVudElPUzoKIAogdm9pZCBEZXZpY2VN
b3Rpb25DbGllbnRJT1M6OmRldmljZU1vdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogeworICAg
IGlmIChtX3NoYXJlZERldmljZU1vdGlvbkNsaWVudCkgeworICAgICAgICBtX3NoYXJlZERldmlj
ZU1vdGlvbkNsaWVudC0+c3RvcFVwZGF0aW5nKCp0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKwogICAgIFttX21vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50OnRoaXNdOwogfQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlv
bk1hbmFnZXIuaAkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDYg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbXBvcnQgIkRldmljZU1vdGlvbkNsaWVudElPUy5oIgot
I2ltcG9ydCAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRJT1MuaCIKICNpbXBvcnQgPENvcmVMb2Nh
dGlvbi9Db3JlTG9jYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogCkBA
IC0zNiwxMCArMzQsMTUgQEAKIAogY29uc3QgZmxvYXQga01vdGlvblVwZGF0ZUludGVydmFsID0g
MS4wZiAvIDYwLjBmOwogCi1AaW50ZXJmYWNlIFdlYkNvcmVNb3Rpb25NYW5hZ2VyIDogTlNPYmpl
Y3QgeworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnRJ
T1M7CitjbGFzcyBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudDsKK307CisKK1dFQkNPUkVfRVhQ
T1JUIEBpbnRlcmZhY2UgV2ViQ29yZU1vdGlvbk1hbmFnZXIgOiBOU09iamVjdCB7CiAgICAgQ01N
b3Rpb25NYW5hZ2VyKiBtX21vdGlvbk1hbmFnZXI7CiAgICAgQ0xMb2NhdGlvbk1hbmFnZXIqIG1f
bG9jYXRpb25NYW5hZ2VyOwotICAgIEhhc2hTZXQ8V2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50
SU9TKj4gbV9kZXZpY2VNb3Rpb25DbGllbnRzOworICAgIEhhc2hTZXQ8V2ViQ29yZTo6V2ViQ29y
ZU1vdGlvbk1hbmFnZXJDbGllbnQqPiBtX2RldmljZU1vdGlvbkNsaWVudHM7CiAgICAgSGFzaFNl
dDxXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUyo+IG1fZGV2aWNlT3JpZW50YXRp
b25DbGllbnRzOwogICAgIE5TVGltZXIqIG1fdXBkYXRlVGltZXI7CiAgICAgQk9PTCBtX2d5cm9B
dmFpbGFibGU7CkBAIC00OCw4ICs1MSw4IEBAIGNvbnN0IGZsb2F0IGtNb3Rpb25VcGRhdGVJbnRl
cnZhbCA9IDEuMGYKIH0KIAogKyAoV2ViQ29yZU1vdGlvbk1hbmFnZXIgKilzaGFyZWRNYW5hZ2Vy
OwotLSAodm9pZClhZGRNb3Rpb25DbGllbnQ6KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudElP
UyAqKWNsaWVudDsKLS0gKHZvaWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJDb3JlOjpEZXZpY2VN
b3Rpb25DbGllbnRJT1MgKiljbGllbnQ7CistICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2ViQ29y
ZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQgKiljbGllbnQ7CistICh2b2lkKXJlbW92ZU1v
dGlvbkNsaWVudDooV2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQgKiljbGllbnQ7
CiAtICh2b2lkKWFkZE9yaWVudGF0aW9uQ2xpZW50OihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
bkNsaWVudElPUyAqKWNsaWVudDsKIC0gKHZvaWQpcmVtb3ZlT3JpZW50YXRpb25DbGllbnQ6KFdl
YkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50SU9TICopY2xpZW50OwogLSAoQk9PTClneXJv
QXZhaWxhYmxlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rp
b25NYW5hZ2VyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJDb3JlTW90aW9uTWFuYWdlci5tbQkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw2ICsyOCw4IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogCisjaW1wb3J0ICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5o
IgorI2ltcG9ydCAiV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaCIKICNpbXBvcnQgIldlYkNv
cmVPYmpDRXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkUnVuLmgiCiAjaW1wb3J0IDxD
b3JlTG9jYXRpb24vQ29yZUxvY2F0aW9uLmg+CkBAIC05OCwxNCArMTAwLDE0IEBAIC0gKHZvaWQp
ZGVhbGxvYwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAotLSAodm9pZClhZGRNb3Rpb25DbGll
bnQ6KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudElPUyAqKWNsaWVudAorLSAodm9pZClhZGRN
b3Rpb25DbGllbnQ6KFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50ICopY2xpZW50
CiB7CiAgICAgbV9kZXZpY2VNb3Rpb25DbGllbnRzLmFkZChjbGllbnQpOwogICAgIGlmIChtX2lu
aXRpYWxpemVkKQogICAgICAgICBbc2VsZiBjaGVja0NsaWVudFN0YXR1c107CiB9CiAKLS0gKHZv
aWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MgKilj
bGllbnQKKy0gKHZvaWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJDb3JlOjpXZWJDb3JlTW90aW9u
TWFuYWdlckNsaWVudCAqKWNsaWVudAogewogICAgIG1fZGV2aWNlTW90aW9uQ2xpZW50cy5yZW1v
dmUoY2xpZW50KTsKICAgICBpZiAobV9pbml0aWFsaXplZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5o
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90
aW9uTWFuYWdlckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQg
eworcHVibGljOgorICAgIHZpcnR1YWwgfldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50KCkgeyB9
OworCisgICAgdmlydHVhbCB2b2lkIG1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJs
ZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgeyB9Cit9
OworCit9OwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzAxMykKKysrIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMTItMDIgIFBl
ciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIENhbGxz
IHRvIHRoZSBkZXZpY2UgbW90aW9uIEFQSSBzaG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0Nzcw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdl
YiBwYWdlIHByb3h5IG1lc3NhZ2VzIHRvIHN0YXJ0IGFuZCBzdG9wIHVwZGF0aW5nIGRldmljZSBt
b3Rpb24gaW4gdGhlIFVJIHByb2Nlc3MuIEFsc28sIGFkZCBhIG1lc3NhZ2UgdG8gdGhlCisgICAg
ICAgIFdlYiBwYWdlIHRvIHVwZGF0ZSB0aGUgZGV2aWNlIG1vdGlvbiBpbiB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzLiBJbiB0aGUgVUkgcHJvY2VzcywgdGhlIGRldmljZSBtb3Rpb24gQVBJIGlzIGNh
bGxlZAorICAgICAgICB0aHJvdWdoIHRoZSBhbHJlYWR5IGV4aXN0aW5nIFdlYkNvcmVNb3Rpb25N
YW5hZ2VyIGNsYXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6fldlYlBhZ2VQcm94eSk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3RhcnRVcGRhdGluZ0RldmljZU1v
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3RvcFVwZGF0aW5nRGV2aWNl
TW90aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojptb3Rpb25DaGFuZ2VkKToK
KyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fb3ZlcnJp
ZGRlbk1lZGlhVHlwZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OmRldmljZU1vdGlvbkNoYW5nZWQpOgorCiAyMDE5LTEyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDcmVhdGUgc2Fu
ZGJveCBleHRlbnNpb24gZm9yICJjb20uYXBwbGUudGNjZCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIwLDYg
KzUyMCwxMCBAQCBXZWJQYWdlUHJveHk6On5XZWJQYWdlUHJveHkoKQogICAgIG1fcHJlZmVyZW5j
ZXMtPnJlbW92ZVBhZ2UoKnRoaXMpOwogICAgIG1fcGFnZUdyb3VwLT5yZW1vdmVQYWdlKHRoaXMp
OwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKKyAgICBzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oKTsKKyNlbmRpZgorICAgIAogI2lmbmRl
ZiBOREVCVUcKICAgICB3ZWJQYWdlUHJveHlDb3VudGVyLmRlY3JlbWVudCgpOwogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjUyOTgz
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0OSw2ICsxNDksMTAgQEAgT0JKQ19DTEFTUyBfV0tSZW1vdGVPYmplY3RSZWdpc3Ry
eTsKICNpbmNsdWRlICJTT0F1dGhvcml6YXRpb25Mb2FkUG9saWN5LmgiCiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisjaW5j
bHVkZSA8V2ViQ29yZS9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oPgorI2VuZGlmCisKICNp
ZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlh
U2Vzc2lvbk1ldGFkYXRhOwpAQCAtMTU5LDYgKzE2MywxMCBAQCBjbGFzcyBNZWRpYVNlc3Npb25N
ZXRhZGF0YTsKIGludGVyZmFjZSBJRDNEMTFEZXZpY2UxOwogI2VuZGlmCiAKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorT0JKQ19DTEFTUyBX
ZWJDb3JlTW90aW9uTWFuYWdlcjsKKyNlbmRpZgorCiBuYW1lc3BhY2UgQVBJIHsKIGNsYXNzIEF0
dGFjaG1lbnQ7CiBjbGFzcyBDb250ZXh0TWVudUNsaWVudDsKQEAgLTQxMCw2ICs0MTgsOSBAQCBj
bGFzcyBXZWJQYWdlUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJCiAgICAgLCBwdWJsaWMgV2Vi
Q29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VDbGllbnQKICAgICAsIHB1Ymxp
YyBXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyQ2xpZW50CiAjZW5kaWYKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICwg
cHVibGljIFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50CisjZW5kaWYKICAgICAs
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJQYWdlUHJveHk+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFdlYlBhZ2VQcm94eT4gY3JlYXRlKFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJveHkm
LCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CkBAIC0xNjI3LDYgKzE2MzgsMTEgQEAg
cHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgb3ZlcnJpZGRlbk1lZGlhVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fb3ZlcnJpZGRlbk1lZGlhVHlwZTsgfQogICAgIHZvaWQgc2V0T3ZlcnJpZGRlbk1l
ZGlhVHlwZShjb25zdCBTdHJpbmcmKTsKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgdm9pZCBzdGFydFVwZGF0aW5nRGV2aWNlTW90
aW9uKCk7CisgICAgdm9pZCBzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oKTsKKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5Jiwg
UmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFs
aXplKCk7CkBAIC0yMTcwLDYgKzIxODYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc2V0U3Bl
ZWNoU3ludGhlc2l6ZXIoKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAvLyBXZWJDb3JlOjpXZWJDb3JlTW90aW9u
TWFuYWdlckNsaWVudAorICAgIHZvaWQgbW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBvdmVy
cmlkZTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0aWMgYm9v
bCBpc0luSGFyZHdhcmVLZXlib2FyZE1vZGUoKTsKICAgICB2b2lkIGNsZWFyQXVkaWJsZUFjdGl2
aXR5KCk7CkBAIC0yNjI3LDYgKzI2NDgsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNRdW90
YUluY3JlYXNlRGVuaWVkIHsgZmFsc2UgfTsKICAgICAKICAgICBTdHJpbmcgbV9vdmVycmlkZGVu
TWVkaWFUeXBlOworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKKyAgICBXZWJDb3JlTW90aW9uTWFuYWdlciogbV9tb3Rpb25NYW5hZ2VyIHsg
bnVsbHB0ciB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHJl
dmlzaW9uIDI1Mjk4MykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTg2LDQgKzU4Niw5IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAKICAgICBEaWRGaW5kVGV4dE1hbmlwdWxhdGlvbkl0ZW0oV2ViQ29y
ZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6Okl0ZW1JZGVudGlmaWVyIGl0ZW1JRCwgVmVj
dG9yPFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpNYW5pcHVsYXRpb25Ub2tl
bj4gdG9rZW5zKQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKKyAgICBTdGFydFVwZGF0aW5nRGV2aWNlTW90aW9uKCk7CisgICAgU3RvcFVw
ZGF0aW5nRGV2aWNlTW90aW9uKCk7CisjZW5kaWYKKwogfQpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCShyZXZpc2lvbiAyNTI5ODMpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC03NSw2ICs3NSwxMCBAQAogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisjaW1wb3J0IDxXZWJD
b3JlL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLmg+CisjZW5kaWYKKwogI2RlZmluZSBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09u
TG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3BhZ2VQcm94eUlEPSVsbHUsIHdlYlBh
Z2VJRD0lbGx1LCBQSUQ9JWldIFdlYlBhZ2VQcm94eTo6IiBmbXQsIHRoaXMsIG1faWRlbnRpZmll
ci50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpLCBtX3Byb2Nlc3MtPnByb2Nlc3NJ
ZGVudGlmaWVyKCksICMjX19WQV9BUkdTX18pCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTQ4
Myw2ICsxNDg3LDI2IEBAIFdlYkNvbnRlbnRNb2RlIFdlYlBhZ2VQcm94eTo6ZWZmZWN0aXZlQ28K
ICAgICByZXR1cm4gV2ViQ29udGVudE1vZGU6OkRlc2t0b3A7CiB9CiAKKyNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQordm9pZCBXZWJQYWdlUHJveHk6OnN0YXJ0VXBkYXRpbmdEZXZpY2VN
b3Rpb24oKQoreworICAgIGlmICghbV9tb3Rpb25NYW5hZ2VyKQorICAgICAgICBtX21vdGlvbk1h
bmFnZXIgPSBbV2ViQ29yZU1vdGlvbk1hbmFnZXIgc2hhcmVkTWFuYWdlcl07CisgICAgW21fbW90
aW9uTWFuYWdlciBhZGRNb3Rpb25DbGllbnQ6dGhpc107Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5
OjpzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oKQoreworICAgIFttX21vdGlvbk1hbmFnZXIgcmVt
b3ZlTW90aW9uQ2xpZW50OnRoaXNdOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6bW90aW9uQ2hh
bmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRvdWJsZSB6
QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJs
ZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRpb25JbmNs
dWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlvblJhdGUs
IGRvdWJsZSB6Um90YXRpb25SYXRlKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRl
dmljZU1vdGlvbkNoYW5nZWQoeEFjY2VsZXJhdGlvbiwgeUFjY2VsZXJhdGlvbiwgekFjY2VsZXJh
dGlvbiwgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIHlBY2NlbGVyYXRpb25JbmNsdWRp
bmdHcmF2aXR5LCAgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIHhSb3RhdGlvblJhdGUs
IHlSb3RhdGlvblJhdGUsIHpSb3RhdGlvblJhdGUpKTsKK30KKyNlbmRpZgorCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRApJbmRleDogU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyNTI5ODMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNjg5LDYgKzE2ODksNyBAQAogCQlFMUQyNkE1MzE3NTk2
NEQ5MDA5NUJGRDEgLyogV2ViQ29udGVudFByb2Nlc3MueGliIGluIFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUQyNkE0QzE3NTk2MzRFMDA5NUJGRDEgLyog
V2ViQ29udGVudFByb2Nlc3MueGliICovOyB9OwogCQlFMUU1NTJDNTE2QUUwNjVGMDA0RUQ2NTMg
LyogU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFNTUyQzMxNkFFMDY1RTAwNEVENjUzIC8qIFNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCAqLzsgfTsKIAkJRTFFRTUzRTMxMUY4Q0ZD
MDAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTUzREMxMUY4Q0Y5RjAwQ0NC
RUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oICovOyB9OworCQlFMzk2MjhB
QTIzODhBQkQ4MDA2NThFQ0QgLyogV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYyOEE5MjM4OEFC
RDgwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuY3BwICovOyB9OwogCQlF
NDEzRjU5RDFBQzFBREM0MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MTNGNTlCMUFDMUFEQjYwMDM0
NTM2MCAvKiBOZXR3b3JrQ2FjaGVFbnRyeS5oICovOyB9OwogCQlFNDJFMDYxMDFBQTc1MjNCMDBC
MTE2OTkgLyogTmV0d29ya0NhY2hlSU9DaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDJFMDYwQjFBQTc0NDBEMDBCMTE2OTkgLyogTmV0d29y
a0NhY2hlSU9DaGFubmVsLmggKi87IH07CiAJCUU0MkUwNjEyMUFBNzVBQkQwMEIxMTY5OSAvKiBO
ZXR3b3JrQ2FjaGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNDJFMDYxMTFBQTc1QUJEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlRGF0YS5oICov
OyB9OwpAQCAtNDc0OCw2ICs0NzQ5LDggQEAKIAkJRTFFRTUzREMxMUY4Q0Y5RjAwQ0NCRUU0IC8q
IEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTFFRTUzRTYxMUY4Q0ZGQjAwQ0NCRUU0IC8qIEluamVjdGVkQnVu
ZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMzQzOUI2MzIzNDU0NjNBMDAxMURFMEIgLyogTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25J
bmZvLmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkluZm8uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM5NjI4QTgyMzg4QTVENDAwNjU4RUNEIC8qIFdl
YlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTaGFyZWREZXZp
Y2VNb3Rpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM5NjI4QTky
Mzg4QUJEODAwNjU4RUNEIC8qIFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNDA0OTA3MDIxREU2NUY3MDAzN0YwREIgLyogU2Nyb2xsZXJQ
YWlyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbGVyUGFpck1h
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDA0OTA3MTIxREU2NUY3MDAzN0Yw
REIgLyogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlUmVtb3RlTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwNDkw
NzIyMURFNjVGNzAwMzdGMERCIC8qIFNjcm9sbGVyUGFpck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGVyUGFpck1hYy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTU4NTQsNiArNTg1Nyw4IEBACiAJCQkJMkQyOEYzRTMxODg1Q0ND
MTAwNEI5RUFFIC8qIFdlYkZyYW1lTG9hZGVyQ2xpZW50SU9TLm1tICovLAogCQkJCUExQzUxMkM2
MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlB
MUM1MTJDNzE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmlld0xvYWRlckNsaWVudC5oICovLAor
CQkJCUUzOTYyOEE5MjM4OEFCRDgwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGll
bnQuY3BwICovLAorCQkJCUUzOTYyOEE4MjM4OEE1RDQwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZp
Y2VNb3Rpb25DbGllbnQuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gaW9zOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTk4MjAsNyArOTgyNSw2IEBACiAJCQkJNTExRjhBN0IxMzhCNDYw
OTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4
RTY5MEMxNjlCNTYzRjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHkuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxOEU2OTE4MTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTdBQTc0NkQ1MjM1OTNEODEwMDA5NTA1MCAvKiBTZWNJ
dGVtU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzBBQjhGMzIwQUUzQkQ3MDBCOEJFODcgLyog
U2VjS2V5UHJveHlTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0RDlGNTcxOTExOUQzNTAw
MDA2M0E3IC8qIFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGREU2
NUExOTU0QTQyQjAwQzQ4RkZBIC8qIFNlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MTYxOSw2ICsxMTYyMyw3IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJU
Q01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTM5NjI4QUEyMzg4QUJEODAw
NjU4RUNEIC8qIFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViU29ja2V0Q2hhbm5lbE1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0Mg
LyogV2ViU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQxMjg3RDRFMjI1RDFFQ0IwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EubW0gaW4gU291
cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCShyZXZpc2lvbiAyNTI5ODMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMCBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmg+CiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisjaW5j
bHVkZSAiV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CkBAIC01MDEsNiArNTA1LDEwIEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFn
ZUlELCAKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uYXBwbGljYXRpb25NYW5pZmVzdCA9IHBhcmFtZXRlcnMuYXBwbGljYXRpb25NYW5pZmVz
dDsKICNlbmRpZgorICAgIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCisgICAgcGFnZUNvbmZpZ3VyYXRpb24uc2hhcmVkRGV2aWNlTW90aW9u
Q2xpZW50ID0gbmV3IFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudCgqdGhpcyk7CisjZW5kaWYK
IAogICAgIG1fcGFnZSA9IG1ha2VVbmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlv
bikpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CShyZXZpc2lvbiAyNTI5ODMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNDQsNiArMTI0NCwxMCBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgU3RyaW5nJiBvdmVycmlkZGVuTWVkaWFUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9v
dmVycmlkZGVuTWVkaWFUeXBlOyB9CiAgICAgdm9pZCBzZXRPdmVycmlkZGVuTWVkaWFUeXBlKGNv
bnN0IFN0cmluZyYpOwogICAgIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCisgICAgdm9pZCBkZXZpY2VNb3Rpb25DaGFuZ2VkKGRvdWJsZSB4
QWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRpb24s
IGRvdWJsZSB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlBY2NlbGVyYXRp
b25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHks
IGRvdWJsZSB4Um90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3Rh
dGlvblJhdGUpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZShXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CShyZXZpc2lvbiAyNTI5ODMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODMsNCArNTgzLDggQEAgR2Vu
ZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbgogICAgIENvbXBsZXRlVGV4dE1h
bmlwdWxhdGlvbihXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6SXRlbUlkZW50
aWZpZXIgaXRlbUlELCBWZWN0b3I8V2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6
Ok1hbmlwdWxhdGlvblRva2VuPiB0b2tlbnMpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6VGV4
dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6Ok1hbmlwdWxhdGlvblJlc3VsdCByZXN1bHQpIEFzeW5j
CiAgICAgCiAgICAgU2V0T3ZlcnJpZGRlbk1lZGlhVHlwZShTdHJpbmcgbWVkaWFUeXBlKQorICAg
IAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04p
CisgICAgRGV2aWNlTW90aW9uQ2hhbmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwgZG91YmxlIHlB
Y2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91
YmxlIHpBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwg
ZG91YmxlIHlSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlKQorI2VuZGlmCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQkocmV2aXNpb24gMjUyOTgzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwODgsNiArNDA4OCwx
NCBAQCB2b2lkIFdlYlBhZ2U6OnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9vCiAKICNlbmRpZgog
CisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKK3ZvaWQgV2ViUGFnZTo6ZGV2aWNlTW90
aW9uQ2hhbmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRv
dWJsZSB6QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHks
IGRvdWJsZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRp
b25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlv
blJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlKQoreworICAgIGlmIChjb3JlUGFnZSgpICYmIGNv
cmVQYWdlKCktPnNoYXJlZERldmljZU1vdGlvbkNsaWVudCgpKQorICAgICAgICBjb3JlUGFnZSgp
LT5zaGFyZWREZXZpY2VNb3Rpb25DbGllbnQoKS0+bW90aW9uQ2hhbmdlZCh4QWNjZWxlcmF0aW9u
LCB5QWNjZWxlcmF0aW9uLCB6QWNjZWxlcmF0aW9uLCB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eSwgeUFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksICB6QWNjZWxlcmF0aW9uSW5jbHVk
aW5nR3Jhdml0eSwgeFJvdGF0aW9uUmF0ZSwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xP
R19JRl9BTExPV0VECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384670</attachid>
            <date>2019-12-02 16:23:14 -0800</date>
            <delta_ts>2019-12-02 18:22:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204770-20191202162313.patch</filename>
            <type>text/plain</type>
            <size>42001</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE5LTEyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBDYWxscyB0byB0
aGUgZGV2aWNlIG1vdGlvbiBBUEkgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDc3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZXZpY2Ug
bW90aW9uIEFQSSBvbiBpT1MgaXMgY29tbXVuaWNhdGluZyB3aXRoIGlvaGlkZXZlbnRzeXN0ZW0u
IFNpbmNlIG1hY2ggbG9va3VwIHRvIHRoaXMgZGFlbW9uCisgICAgICAgIHdpbGwgYmUgY2xvc2Vk
LCB0aGUgY2FsbHMgdG8gdGhpcyBBUEkgc2hvdWxkIGJlIG1vdmVkIGZyb20gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1l
bnRzIGZvcndhcmRpbmcgb2YgdGhlIGRldmljZSBtb3Rpb24gcmVxdWVzdHMgdG8gdGhlIFVJIHBy
b2Nlc3MgdGhyb3VnaCBhIG5ldyBjbGFzcywKKyAgICAgICAgU2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50LCB3aGljaCBpcyBzdWJjbGFzc2VkIGJ5IFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudCBp
biBtb2Rlcm4gV2ViS2l0LiBUaGlzCisgICAgICAgIGNsYXNzIGltcGxlbWVudHMgZm9yd2FyZGlu
ZyBvZiB0aGUgcmVxdWVzdHMgdG8gdGhlIFVJIHByb2Nlc3MsIGFuZCByZWNlaXZlcyBkZXZpY2Ug
bW90aW9uIHVwZGF0ZXMKKyAgICAgICAgZnJvbSB0aGUgVUkgcHJvY2Vzcy4gQW4gaW5zdGFuY2Ug
b2YgdGhpcyBjbGFzcyB3aWxsIGJlIHNoYXJlZCBieSBhbGwgZGV2aWNlIG1vdGlvbiBjbGllbnRz
IG9uIGEgcGFnZSwKKyAgICAgICAgYW5kIHBhc3NlZCBhcyBwYXJ0IG9mIHRoZSBwYWdlIGNvbmZp
Z3VyYXRpb24gcGFyYW1ldGVycy4gT24gdGhlIFVJIHByb2Nlc3Mgc2lkZSwgdGhlIFdlYiBwYWdl
IHByb3h5CisgICAgICAgIGlzIHRha2luZyBjYXJlIG9mIGNhbGxpbmcgdGhlIGRldmljZSBtb3Rp
b24gQVBJIHRocm91Z2ggdGhlIGV4aXN0aW5nIFdlYkNvcmVNb3Rpb25NYW5hZ2VyIE9iamVjdGl2
ZS1DCisgICAgICAgIGNsYXNzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VNb3Rpb25DbGllbnQ6OnNldFNoYXJlZERldmljZU1vdGlvbkNsaWVudCk6Cisg
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50Lmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fdW5kb01hbmFnZXIpOgorICAgICAgICAq
IHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3NoYXJlZERldmljZU1vdGlvbkNs
aWVudCk6CisgICAgICAgIChXZWJDb3JlOjptX2FwcGxpY2F0aW9uTWFuaWZlc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2hhcmVk
RGV2aWNlTW90aW9uQ2xpZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW06CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpzdG9wVXBkYXRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpkZXZpY2VNb3Rpb25Db250cm9sbGVy
RGVzdHJveWVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW06CisgICAg
ICAgICgtW1dlYkNvcmVNb3Rpb25NYW5hZ2VyIGFkZE1vdGlvbkNsaWVudDpdKToKKyAgICAgICAg
KC1bV2ViQ29yZU1vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50Ol0pOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50Ojp+V2ViQ29yZU1vdGlvbk1h
bmFnZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGll
bnQ6Om1vdGlvbkNoYW5nZWQpOgorCiAyMDE5LTEyLTAyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gRml4IEFTU0VSVCB3aGlsZSBydW5uaW5nIGZhc3Qv
YmxvY2svYmxvY2stcGFyZW50LXdpdGgtemVyby13aWR0aC1jaGlsZC5odG1sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTkwNyw3ICs5MDcsNyBAQAogCQkzMTM1OTEwQTFF
N0REQzczMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzNTkxMDQxRTdEREM2MDAwRjMwNjMwIC8qIFJUQ1NkcFR5
cGUuaCAqLzsgfTsKIAkJMzEzNTkxMEIxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ1NpZ25hbGluZ1N0
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTM1
OTEwNTFFN0REQzYwMDBGMzA2MzAgLyogUlRDU2lnbmFsaW5nU3RhdGUuaCAqLzsgfTsKIAkJMzEz
QkNFMUMyMzVFM0JFNTAwRkMzOUU1IC8qIEVsZW1lbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTNCQ0UxQjIzNUUzQkRCMDBGQzM5RTUg
LyogRWxlbWVudENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkzMTQwMzc5QjEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1h
bmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NDAzNzk3MTI0QkVBN0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovOyB9Owor
CQkzMTQwMzc5QjEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDAzNzk3MTI0QkVB
N0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNDAzNzlEMTI0QkVBN0YwMEFGNDBFNCAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0MDM3OTkxMjRCRUE3RjAwQUY0MEU0IC8qIERldmljZU9y
aWVudGF0aW9uQ2xpZW50SU9TLmggKi87IH07CiAJCTMxNDBDNTIwMUZERjE1MUEwMEQyQTg3MyAv
KiBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDBDNTFFMUZERjE1MUEwMEQyQTg3MyAvKiBP
ZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCAqLzsgfTsKIAkJMzE0MEM1MjQxRkRG
MzE4NzAwRDJBODczIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDBDNTIyMUZERjMxODYwMEQy
QTg3MyAvKiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmggKi87IH07CkBAIC00Nzc2LDYg
KzQ3NzYsOCBAQAogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZp
bHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1
ODAyQjUxREM4NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzc3RkU0RDFEQURFMTY1
MDBDREQwMjUgLyogTm9kZUNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTNEMDQ5OTMxREFEQzA0NTAwNzE4RjNDIC8qIE5vZGVDb25zdGFu
dHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzdDODY1MDFFQjYzRTNGMDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0Eg
LyogSlNET01Qcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRTM5NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIFNoYXJlZERldmljZU1vdGlv
bkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIFNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzOTYyOEMx
MjM5NTc0MzEwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QzAyMzk1NzQzMDAw
NjU4RUNEIC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNBNzc2NjcxREM4NUQyODAwQjY5MEQ4
IC8qIERPTUpJVElETENvbnZlcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQTc3NjY1MURDODVEMjIwMEI2OTBEOCAvKiBET01KSVRJRExDb252ZXJ0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNB
Nzc2NjgxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETFR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQTc3NjY2MURDODVEMjIwMEI2OTBEOCAv
KiBET01KSVRJRExUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTNCMkYwRUQxRDdGNENBMzAwQjBDOUQxIC8qIExvYWRhYmxlU2NyaXB0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0IyRjBFNzFE
N0YzNUVDMDBCMEM5RDEgLyogTG9hZGFibGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTUwNzAsNiArMTUwNzIsOCBAQAogCQlFMzg4
Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3Jp
cHRNb2R1bGVMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0
TW9kdWxlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOEQwNjA5MUY4
RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUUzOTYyOEJEMjM5NTcyOEUwMDY1OEVDRCAvKiBTaGFyZWREZXZpY2VN
b3Rpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkRGV2
aWNlTW90aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzOTYyOEMw
MjM5NTc0MzAwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzk3NUI3NjFFQzlBRjM5MDA4NDc3MTcgLyog
SlNEb2N1bWVudEZyYWdtZW50RE9NSklULmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRG9jdW1lbnRGcmFnbWVudERPTUpJVC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzOTc1Qjc3MUVDOUFGMzkwMDg0NzcxNyAvKiBKU0VsZW1lbnRET01KSVQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbGVtZW50RE9NSklU
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5NzVCNzgxRUM5QUYzOTAwODQ3
NzE3IC8qIEpTRXZlbnRET01KSVQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNFdmVudERPTUpJVC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MjgxOSw2ICsyMjgyMyw3IEBACiAJCQkJRTQ1MzkwMzQwRUFGRDYzNzAwMzY5NUM4IC8qIFNjcm9s
bFZpZXdJT1MubW0gKi8sCiAJCQkJQkVBODA3QzYwRjcxNEEwMzAwNTI0MTk5IC8qIFNlbGVjdGlv
blJlY3QuY3BwICovLAogCQkJCUJFQTgwN0M3MEY3MTRBMDMwMDUyNDE5OSAvKiBTZWxlY3Rpb25S
ZWN0LmggKi8sCisJCQkJRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIFNoYXJlZERldmljZU1v
dGlvbkNsaWVudC5oICovLAogCQkJCTBGMDNDMDczMTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0ZW1N
ZW1vcnkuaCAqLywKIAkJCQlFNDUzOTBBRDBFQUZGNEI1MDAzNjk1QzggLyogU3lzdGVtTWVtb3J5
SU9TLmNwcCAqLywKIAkJCQk0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1MuaCAq
LywKQEAgLTIyODM1LDYgKzIyODQwLDcgQEAKIAkJCQkxRjM2RUE5QjFFMjFCQTE3MDA2MjFFMjUg
LyogV2ViQmFja2dyb3VuZFRhc2tDb250cm9sbGVyLm1tICovLAogCQkJCTMxNDAzNzk3MTI0QkVB
N0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovLAogCQkJCTMxNDAzNzk4MTI0
QkVBN0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5tbSAqLywKKwkJCQlFMzk2MjhD
MDIzOTU3NDMwMDA2NThFQ0QgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaCAqLywKIAkJ
CQlGRTBEODRFODEwNDg0MzQ4MDAxQTE3OUUgLyogV2ViRXZlbnQuaCAqLywKIAkJCQlGRTBEODRF
QTEwNDg0MzZFMDAxQTE3OUUgLyogV2ViRXZlbnQubW0gKi8sCiAJCQkJRjQ4MjIzMEYxRTM4NjlC
ODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCAqLywKQEAgLTI5NTM1LDYg
KzI5NTQxLDcgQEAKIAkJCQlGNDdBMDlEMTIwQTkzQTk3MDAyNDBGQUUgLyogRGlzYWJsZWRBZGFw
dGF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VEQUFGQzkxOUEyQ0NEQzAwMzRERkQxIC8q
IERpc2tDYWNoZU1vbml0b3JDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTE5OUZBNUIyMDhF
M0M3RjAwMjM1OENDIC8qIERpc3BsYXlCb3guaCBpbiBIZWFkZXJzICovLAorCQkJCUU0NTFDNjM0
MjM5NDA1OEYwMDk5MzE5MCAvKiBEaXNwbGF5SW5saW5lQ29udGVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZFNUZCRDMxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlMaXN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkU1RkJENTFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RJdGVtcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNUZCRDcxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlM
aXN0UmVjb3JkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzAwNDgsNyArMzAwNTUsNiBAQAogCQkJ
CUE4NzFEQjJCMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg3MURCMkEwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNl
bGxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxREIyRjBBMTUwQkQ2MDBCMTJBNjgg
LyogSFRNTFRhYmxlQ29sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQ1MUM2MjgyMzky
OTNFQzAwOTkzMTkwIC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg3MURCMjcwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFEQjJDMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1M
VGFibGVQYXJ0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURCMzEwQTE1MEJENjAw
QjEyQTY4IC8qIEhUTUxUYWJsZVJvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzAxNjAs
NyArMzAxNjYsNiBAQAogCQkJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2Vy
dmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDVBNTkzMTE1MjUyNUQwMDAzNkVFNTEgLyogSW1h
Z2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzIyODNGMEUyMzBCMjY4QzAwRjVE
ODI4IC8qIEltYWdlUGFpbnRpbmdPcHRpb25zLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDUxQzYz
MjIzOTQwMzFBMDA5OTMxOTAgLyogTWFyZ2luVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1
MUEyRjNGMTdEN0QzQUUwMDcyNTE3QSAvKiBJbWFnZVF1YWxpdHlDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdN
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDI3QUU1MDIyQTk4Njg3MDA5NDdGRjkgLyogSW1h
Z2VSb3RhdGlvblNlc3Npb25WVC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDU1Myw3ICszMDU1OCw2
IEBACiAJCQkJODM3MDU2OTAxRjUwOTE1QzAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTgzM0I5RTM2MUY1MDhEODUwMEUwRTQyOCAvKiBK
U0ZpbGVTeXN0ZW1GaWxlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMkJFNDg4MUZFODY4
NkEwMDIwMzFDQyAvKiBKU0ZpbGxNb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDM0M0QyNTIz
OTI3NzkwMDBFQkJCNjYgLyogTGluZUxheW91dFRyYXZlcnNhbENvbXBsZXhQYXRoLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCNkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDMjgwODMzRjFDNkRDMjZGMDAxNDUxQjYgLyogSlNGb250RmFj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUMyNEVFQTkxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9u
dEZhY2VTZXQuaCBpbiBIZWFkZXJzICovLApAQCAtMzExNzcsNiArMzExODEsNyBAQAogCQkJCTZG
N0NBM0M2MjA4QzI5NTcwMDJGMjlBQiAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMTEzMTBDRjIyMEJBNEEzMjAwNjVBOEQwIC8qIExheW91dFRyZWVCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxNDFEQzA0ODE2NDgzNDhGMDAzNzFFNUEgLyogTGF5b3V0VW5pdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTQ1MUM2MzEyMzk0MDI3OTAwOTkzMTkwIC8qIExheW91dFVuaXRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREU4QjVFRDFBNjk3NzczMDBCNEI2NkEgLyogTGVnYWN5
Q0RNUHJpdmF0ZUNsZWFyS2V5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY0QjcxMjFFMDA4N0FF
MDBFMjM1QTIgLyogTGVnYWN5Q0RNU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RFOEI1
RjExQTY5Nzc4QjAwQjRCNjZBIC8qIExlZ2FjeUNETVNlc3Npb25DbGVhcktleS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMTIwOCw2ICszMTIxMyw5IEBACiAJCQkJNkYyNkVCNDgyMzQwMDRBNTAwNjkw
NkUyIC8qIExpbmVMYXlvdXRDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkVGQUIyQTE4
MzgwREEwMDA1MTQ1MzQgLyogTGluZUxheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NDg0QTMzRTIzMDU1MzI1MDA5QURFNkEgLyogTGluZUxheW91dFRyYXZlcnNhbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJRTQzNDNEMjUyMzkyNzc5MDAwRUJCQjY2IC8qIExpbmVMYXlvdXRUcmF2ZXJz
YWxDb21wbGV4UGF0aC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ1MUM2MjgyMzkyOTNFQzAwOTkz
MTkwIC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRTQzNDNEMjMyMzkyNzc4NDAwRUJCQjY2IC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxTaW1w
bGVQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkRCQzA0NzE4M0QyN0I3MDA0MDcxMDkgLyog
TGluZVdpZHRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlDQkE5REMwQjFERjQ0REY0MDAwNTY3NUMg
LyogTGlua0hlYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0M0IyNjMxREREMTUyMDAwMTRG
QUM2IC8qIExpbmtJY29uLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMjQxLDYgKzMxMjQ5LDcgQEAK
IAkJCQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTdBRTZDOTNDMUJFMEM2MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFk
U2hhcmVkVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEY2QkM2MERCNTVDREMwMDFEQjc5
NCAvKiBNYW5pZmVzdFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ1MUM2MzIyMzk0MDMx
QTAwOTkzMTkwIC8qIE1hcmdpblR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE4NjY0NTFG
NzJFNUI0MDBBMENBQjYgLyogTWFya2VkVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlE
RjgwOTlFNjQ5MjAwNTZFNTgxIC8qIG1hcmt1cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcyOEMz
MTQxMjY4RTQzOTAwNDFFODlCIC8qIE1hcmt1cEFjY3VtdWxhdG9yLmggaW4gSGVhZGVycyAqLywK
QEAgLTMxNzAxLDcgKzMxNzEwLDYgQEAKIAkJCQk1N0RDRUQ3NDIxNDMwNUYwMDAxNkI4NDcgLyog
UHVibGljS2V5Q3JlZGVudGlhbERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQkVGMjAw
OTgwQzYwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTczMDNDMEEyMDA5OUJBRDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQzNDNEMjMyMzkyNzc4NDAw
RUJCQjY2IC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxTaW1wbGVQYXRoLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1NzMwM0JFQjIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAvKiBQdWJsaWNT
dWZmaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQ
dWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTU2LDYgKzMyMTY0LDcgQEAK
IAkJCQlGRDFBRjE1MDE2NTZGMTUxMDBDNkQ0RjcgLyogU2hhcGVWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUQ5RjBGQzEyMTIyMDI5QjAwNUQ4RkQ0IC8qIFNoYXJlRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUE0QTk1NEUwQjRFRENDQjAwMkQ4QzNDIC8qIFNoYXJlZEJ1ZmZlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTM5NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIFNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM0REZBRDAxRjdEQUU1RDAwQzI3
MjVCIC8qIFNoYXJlZFN0cmluZ0hhc2guaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RUEzMDk5
RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2MkU4
QzEyMENFRjlDQjAwMjQ1ODg2IC8qIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMjQ5Niw3ICszMjUwNSw2IEBACiAJCQkJQjIyMjdBREEwRDAwQkYyMjAw
NzFCNzgyIC8qIFNWR1RyYW5zZm9ybWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QURE
MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdUcmFuc2Zvcm1EaXN0YW5jZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjIyMjdBREYwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1RyYW5zZm9ybUxpc3QuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUU0NTFDNjMxMjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0NFNThENTgxREQ3RDk2RDAwMTI4NTUyIC8qIFNWR1RyYW5z
Zm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FFMjBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHVFJlZkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUU1MEQwMEJGMjIw
MDcxQjc4MiAvKiBTVkdUU3BhbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzI3NzcsNiAr
MzI3ODUsNyBAQAogCQkJCUJDNTNEOTExMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlNDbGll
bnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlCQjA4MjQ1RTU5MDAxRTlBQkMgLyog
V2ViQ29yZUtleWJvYXJkVUlNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTQwMzc5QjEyNEJF
QTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDOTc5RjUxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVO
U0Vycm9yRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEU1N0VFMTIxM0Y0MzRBMDA0RUE5
OEUgLyogV2ViQ29yZU5TRm9udE1hbmFnZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1
QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzI4MjYsNyArMzI4MzUsNiBAQAogCQkJCTQ5QzdCOUUwMTA0MkQzMkYwMDA5RDQ0
NyAvKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzRjNEMzZB
MUE2OUI3QjkwMDU5RkMyQiAvKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2Rjk5NUEyMjFBNzA3OEIxMDBBNzM1RjQgLyogV2ViR0xTYW1wbGVyLmggaW4g
SGVhZGVycyAqLywKLQkJCQlFNDUxQzYzNDIzOTQwNThGMDA5OTMxOTAgLyogRGlzcGxheUlubGlu
ZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzdCOUUzMTA0MkQzMkYwMDA5RDQ0NyAv
KiBXZWJHTFNoYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTA3RDMzNTgxNTJCNjMyRDAwMUI2
MzkzIC8qIFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQkw
MUQzQ0Y4NzE0QkQwQTMwMDBGRTk5NzAgLyogV2ViR0xTaGFyZWRPYmplY3QuaCBpbiBIZWFkZXJz
ICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaAkocmV2aXNp
b24gMjUzMDE0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IERldmljZU1vdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBEZXZpY2VNb3Rpb25EYXRhOwogY2xhc3Mg
UGFnZTsKK2NsYXNzIFNoYXJlZERldmljZU1vdGlvbkNsaWVudDsKIAogY2xhc3MgRGV2aWNlTW90
aW9uQ2xpZW50IDogcHVibGljIERldmljZUNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGV2aWNlTW90aW9uQ2xpZW50KTsKQEAgLTQzLDYgKzQ0LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZpY2VNb3Rpb25Db250cm9sbGVyKikgPSAwOwog
ICAgIHZpcnR1YWwgRGV2aWNlTW90aW9uRGF0YSogbGFzdE1vdGlvbigpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsKKwor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgdmlydHVhbCB2b2lkIHNldFNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudChSZWZQdHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50PikgeyB9CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRGV2aWNlQ2xpZW50LmgiCiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjUzMDE0
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjA3LDkgKzYwNywxNSBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBV
CiAgICAgICAgIG5vZGVMaXN0QW5kQ29sbGVjdGlvbkNvdW50ID0gMDsKIAogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6YWRkRXZlbnRMaXN0ZW5lcnNUb05vZGUoKnRoaXMpOworICAgIAog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgbV9zZXR0aW5ncy0+c2V0TGVnYWN5R2V0VXNl
ck1lZGlhRW5hYmxlZChxdWlya3MoKS5zaG91bGRFbmFibGVMZWdhY3lHZXRVc2VyTWVkaWEoKSk7
CiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCisgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCktPnNoYXJlZERldmljZU1vdGlvbkNs
aWVudCgpKQorICAgICAgICBtX2RldmljZU1vdGlvbkNsaWVudC0+c2V0U2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50KHBhZ2UoKS0+c2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50KCkpOworI2VuZGlmCiB9
CiAKIFJlZjxEb2N1bWVudD4gRG9jdW1lbnQ6OmNyZWF0ZShEb2N1bWVudCYgY29udGV4dERvY3Vt
ZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODksNiArMjg5LDkgQEAg
UGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maQogI2lmIEVOQUJMRShBUFBM
SUNBVElPTl9NQU5JRkVTVCkKICAgICAsIG1fYXBwbGljYXRpb25NYW5pZmVzdChwYWdlQ29uZmln
dXJhdGlvbi5hcHBsaWNhdGlvbk1hbmlmZXN0KQogI2VuZGlmCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAsIG1fc2hhcmVkRGV2aWNl
TW90aW9uQ2xpZW50KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc2hhcmVkRGV2aWNlTW90aW9u
Q2xpZW50KSkKKyNlbmRpZgogewogICAgIHVwZGF0ZVRpbWVyVGhyb3R0bGluZ1N0YXRlKCk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksMTAgQEAKICNpbmNsdWRlICJN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgIlNoYXJlZERl
dmljZU1vdGlvbkNsaWVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRGVi
dWdnZXI7CiB9CkBAIC03MTksNiArNzIzLDEwIEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIFZlY3RvcjxSZWY8RWxlbWVudD4+IGVkaXRhYmxlRWxlbWVudHNJblJlY3QoY29uc3QgRmxv
YXRSZWN0JikgY29uc3Q7CiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIFJlZlB0cjxTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ+IHNo
YXJlZERldmljZU1vdGlvbkNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7
CiAgICAgICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTk5MCw2ICs5OTgsMTAgQEAg
cHJpdmF0ZToKIAogICAgIE9wdGlvbmFsPFZpZXdwb3J0QXJndW1lbnRzPiBtX292ZXJyaWRlVmll
d3BvcnRBcmd1bWVudHM7CiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIFJlZlB0cjxTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ+IG1f
c2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OworI2VuZGlmCisKICAgICBib29sIG1fc2hvdWxkRW5h
YmxlSUNFQ2FuZGlkYXRlRmlsdGVyaW5nQnlEZWZhdWx0IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9t
ZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tZWRpYUJ1ZmZl
cmluZ0lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQCBjbGFz
cyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CiBjbGFzcyBQ
bHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CitjbGFzcyBT
aGFyZWREZXZpY2VNb3Rpb25DbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNzIFN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKIGNsYXNzIFVzZXJDb250ZW50UHJvdmlkZXI7CkBAIC0x
MTgsNiArMTE5LDEwIEBAIHB1YmxpYzoKICAgICBSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFVzZXJDb250ZW50UHJv
dmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CiAgICAgUmVmUHRyPFZpc2l0ZWRMaW5rU3RvcmU+
IHZpc2l0ZWRMaW5rU3RvcmU7CisgICAgCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikg
JiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBSZWZQdHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50PiBzaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ7CisjZW5kaWYKIH07CiAKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9T
LmgJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZp
Y2VNb3Rpb25DbGllbnRJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDE1IEBACiAj
aW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJTaGFy
ZWREZXZpY2VNb3Rpb25DbGllbnQuaCIKKyNpbmNsdWRlICJXZWJDb3JlTW90aW9uTWFuYWdlckNs
aWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogT0JKQ19DTEFTUyBXZWJDb3JlTW90
aW9uTWFuYWdlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEZXZpY2VNb3Rpb25D
bGllbnRJT1MgOiBwdWJsaWMgRGV2aWNlTW90aW9uQ2xpZW50IHsKK2NsYXNzIERldmljZU1vdGlv
bkNsaWVudElPUyA6IHB1YmxpYyBEZXZpY2VNb3Rpb25DbGllbnQsIHB1YmxpYyBXZWJDb3JlTW90
aW9uTWFuYWdlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgRGV2aWNlTW90aW9uQ2xpZW50SU9TKCk7
CiAgICAgfkRldmljZU1vdGlvbkNsaWVudElPUygpIG92ZXJyaWRlOwpAQCAtNDYsMTIgKzQ4LDE1
IEBAIHB1YmxpYzoKICAgICBEZXZpY2VNb3Rpb25EYXRhKiBsYXN0TW90aW9uKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkZXZpY2VNb3Rpb25Db250cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJp
ZGU7CiAKLSAgICB2b2lkIG1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSk7CisgICAgdm9pZCBt
b3Rpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpIG92ZXJyaWRlOwogCisgICAgdm9pZCBzZXRTaGFy
ZWREZXZpY2VNb3Rpb25DbGllbnQoUmVmUHRyPFNoYXJlZERldmljZU1vdGlvbkNsaWVudD4gc2hh
cmVkRGV2aWNlTW90aW9uQ2xpZW50KSBvdmVycmlkZSB7IG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50ID0gc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OyB9CisgICAgCiBwcml2YXRlOgogICAgIFdl
YkNvcmVNb3Rpb25NYW5hZ2VyKiBtX21vdGlvbk1hbmFnZXI7CiAgICAgRGV2aWNlTW90aW9uQ29u
dHJvbGxlciogbV9jb250cm9sbGVyOwogICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtX2N1
cnJlbnREZXZpY2VNb3Rpb25EYXRhOworICAgIFJlZlB0cjxTaGFyZWREZXZpY2VNb3Rpb25DbGll
bnQ+IG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OwogICAgIGJvb2wgbV91cGRhdGluZzsKIH07
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZU1v
dGlvbkNsaWVudElPUy5tbQkocmV2aXNpb24gMjUzMDE0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMs
NiArNTMsMTEgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRpbgogewog
ICAgIG1fdXBkYXRpbmcgPSB0cnVlOwogCisgICAgaWYgKG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50KSB7CisgICAgICAgIG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LT5zdGFydFVwZGF0aW5n
KCp0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9tb3Rpb25NYW5h
Z2VyKQogICAgICAgICBtX21vdGlvbk1hbmFnZXIgPSBbV2ViQ29yZU1vdGlvbk1hbmFnZXIgc2hh
cmVkTWFuYWdlcl07CiAKQEAgLTYzLDYgKzY4LDExIEBAIHZvaWQgRGV2aWNlTW90aW9uQ2xpZW50
SU9TOjpzdG9wVXBkYXRpbmcKIHsKICAgICBtX3VwZGF0aW5nID0gZmFsc2U7CiAKKyAgICBpZiAo
bV9zaGFyZWREZXZpY2VNb3Rpb25DbGllbnQpIHsKKyAgICAgICAgbV9zaGFyZWREZXZpY2VNb3Rp
b25DbGllbnQtPnN0b3BVcGRhdGluZygqdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICAvLyBSZW1vdmUgb3Vyc2VsdmVzIGFzIHRoZSBtb3Rpb24gY2xpZW50IHNvIHdlIHdvbid0
IGdldCB1cGRhdGVzLgogICAgIFttX21vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50OnRo
aXNdOwogfQpAQCAtNzQsNiArODQsMTEgQEAgRGV2aWNlTW90aW9uRGF0YSogRGV2aWNlTW90aW9u
Q2xpZW50SU9TOgogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudElPUzo6ZGV2aWNlTW90aW9uQ29u
dHJvbGxlckRlc3Ryb3llZCgpCiB7CisgICAgaWYgKG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50
KSB7CisgICAgICAgIG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LT5zdG9wVXBkYXRpbmcoKnRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgW21fbW90aW9uTWFuYWdlciByZW1v
dmVNb3Rpb25DbGllbnQ6dGhpc107CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlci5oCShyZXZpc2lvbiAyNTMwMTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMjUsOCArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2ltcG9ydCAi
RGV2aWNlTW90aW9uQ2xpZW50SU9TLmgiCi0jaW1wb3J0ICJEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dElPUy5oIgogI2ltcG9ydCA8Q29yZUxvY2F0aW9uL0NvcmVMb2NhdGlvbi5oPgogI2ltcG9ydCA8
d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAKQEAgLTM2LDEwICszNCwxNSBAQAogCiBjb25zdCBmbG9h
dCBrTW90aW9uVXBkYXRlSW50ZXJ2YWwgPSAxLjBmIC8gNjAuMGY7CiAKLUBpbnRlcmZhY2UgV2Vi
Q29yZU1vdGlvbk1hbmFnZXIgOiBOU09iamVjdCB7CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFz
cyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUzsKK2NsYXNzIFdlYkNvcmVNb3Rpb25NYW5hZ2Vy
Q2xpZW50OworfTsKKworV0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJDb3JlTW90aW9uTWFu
YWdlciA6IE5TT2JqZWN0IHsKICAgICBDTU1vdGlvbk1hbmFnZXIqIG1fbW90aW9uTWFuYWdlcjsK
ICAgICBDTExvY2F0aW9uTWFuYWdlciogbV9sb2NhdGlvbk1hbmFnZXI7Ci0gICAgSGFzaFNldDxX
ZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MqPiBtX2RldmljZU1vdGlvbkNsaWVudHM7Cisg
ICAgSGFzaFNldDxXZWJDb3JlOjpXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudCo+IG1fZGV2aWNl
TW90aW9uQ2xpZW50czsKICAgICBIYXNoU2V0PFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xp
ZW50SU9TKj4gbV9kZXZpY2VPcmllbnRhdGlvbkNsaWVudHM7CiAgICAgTlNUaW1lciogbV91cGRh
dGVUaW1lcjsKICAgICBCT09MIG1fZ3lyb0F2YWlsYWJsZTsKQEAgLTQ4LDggKzUxLDggQEAgY29u
c3QgZmxvYXQga01vdGlvblVwZGF0ZUludGVydmFsID0gMS4wZgogfQogCiArIChXZWJDb3JlTW90
aW9uTWFuYWdlciAqKXNoYXJlZE1hbmFnZXI7Ci0tICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2Vi
Q29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TICopY2xpZW50OwotLSAodm9pZClyZW1vdmVNb3Rp
b25DbGllbnQ6KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudElPUyAqKWNsaWVudDsKKy0gKHZv
aWQpYWRkTW90aW9uQ2xpZW50OihXZWJDb3JlOjpXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudCAq
KWNsaWVudDsKKy0gKHZvaWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJDb3JlOjpXZWJDb3JlTW90
aW9uTWFuYWdlckNsaWVudCAqKWNsaWVudDsKIC0gKHZvaWQpYWRkT3JpZW50YXRpb25DbGllbnQ6
KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50SU9TICopY2xpZW50OwogLSAodm9pZCly
ZW1vdmVPcmllbnRhdGlvbkNsaWVudDooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRJ
T1MgKiljbGllbnQ7CiAtIChCT09MKWd5cm9BdmFpbGFibGU7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLm1tCShyZXZpc2lv
biAyNTMwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1h
bmFnZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDggQEAKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAKKyNpbXBvcnQgIkRl
dmljZU9yaWVudGF0aW9uQ2xpZW50SU9TLmgiCisjaW1wb3J0ICJXZWJDb3JlTW90aW9uTWFuYWdl
ckNsaWVudC5oIgogI2ltcG9ydCAiV2ViQ29yZU9iakNFeHRyYXMuaCIKICNpbXBvcnQgIldlYkNv
cmVUaHJlYWRSdW4uaCIKICNpbXBvcnQgPENvcmVMb2NhdGlvbi9Db3JlTG9jYXRpb24uaD4KQEAg
LTk4LDE0ICsxMDAsMTQgQEAgLSAodm9pZClkZWFsbG9jCiAgICAgW3N1cGVyIGRlYWxsb2NdOwog
fQogCi0tICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50
SU9TICopY2xpZW50CistICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2ViQ29yZTo6V2ViQ29yZU1v
dGlvbk1hbmFnZXJDbGllbnQgKiljbGllbnQKIHsKICAgICBtX2RldmljZU1vdGlvbkNsaWVudHMu
YWRkKGNsaWVudCk7CiAgICAgaWYgKG1faW5pdGlhbGl6ZWQpCiAgICAgICAgIFtzZWxmIGNoZWNr
Q2xpZW50U3RhdHVzXTsKIH0KIAotLSAodm9pZClyZW1vdmVNb3Rpb25DbGllbnQ6KFdlYkNvcmU6
OkRldmljZU1vdGlvbkNsaWVudElPUyAqKWNsaWVudAorLSAodm9pZClyZW1vdmVNb3Rpb25DbGll
bnQ6KFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50ICopY2xpZW50CiB7CiAgICAg
bV9kZXZpY2VNb3Rpb25DbGllbnRzLnJlbW92ZShjbGllbnQpOwogICAgIGlmIChtX2luaXRpYWxp
emVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5h
Z2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50LmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzNyBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUg
bWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBX
ZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+V2ViQ29y
ZU1vdGlvbk1hbmFnZXJDbGllbnQoKSB7IH07CisKKyAgICB2aXJ0dWFsIHZvaWQgbW90aW9uQ2hh
bmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlKSB7IH0KK307CisKK307CkluZGV4OiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
MjUzMDE0KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzMCBAQAorMjAxOS0xMi0wMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgW2lPU10gQ2FsbHMgdG8gdGhlIGRldmljZSBtb3Rpb24gQVBJIHNob3Vs
ZCBiZSBkb25lIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ3NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgV2ViIHBhZ2UgcHJveHkgbWVzc2FnZXMgdG8gc3RhcnQg
YW5kIHN0b3AgdXBkYXRpbmcgZGV2aWNlIG1vdGlvbiBpbiB0aGUgVUkgcHJvY2Vzcy4gQWxzbywg
YWRkIGEgbWVzc2FnZSB0byB0aGUKKyAgICAgICAgV2ViIHBhZ2UgdG8gdXBkYXRlIHRoZSBkZXZp
Y2UgbW90aW9uIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuIEluIHRoZSBVSSBwcm9jZXNzLCB0
aGUgZGV2aWNlIG1vdGlvbiBBUEkgaXMgY2FsbGVkCisgICAgICAgIHRocm91Z2ggdGhlIGFscmVh
ZHkgZXhpc3RpbmcgV2ViQ29yZU1vdGlvbk1hbmFnZXIgY2xhc3MuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp+
V2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzdGFydFVwZGF0aW5nRGV2aWNlTW90aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6Om1vdGlvbkNoYW5nZWQpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6bV9vdmVycmlkZGVuTWVkaWFUeXBlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV2aWNlTW90aW9uQ2hhbmdl
ZCk6CisKIDIwMTktMTItMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtpT1NdIENyZWF0ZSBzYW5kYm94IGV4dGVuc2lvbiBmb3IgImNvbS5hcHBsZS50
Y2NkIgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZp
c2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MjAsNiArNTIwLDEwIEBAIFdlYlBhZ2VQcm94eTo6fldlYlBh
Z2VQcm94eSgpCiAgICAgbV9wcmVmZXJlbmNlcy0+cmVtb3ZlUGFnZSgqdGhpcyk7CiAgICAgbV9w
YWdlR3JvdXAtPnJlbW92ZVBhZ2UodGhpcyk7CiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAm
JiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIHN0b3BVcGRhdGluZ0RldmljZU1vdGlv
bigpOworI2VuZGlmCisgICAgCiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYlBhZ2VQcm94eUNvdW50
ZXIuZGVjcmVtZW50KCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSwxMCBAQCBPQkpDX0NM
QVNTIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogI2luY2x1ZGUgIlNPQXV0aG9yaXphdGlvbkxv
YWRQb2xpY3kuaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKKyNpbmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVNb3Rpb25NYW5h
Z2VyQ2xpZW50Lmg+CisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTZXNzaW9uTWV0YWRhdGE7CkBAIC0xNTksNiArMTYz
LDEwIEBAIGNsYXNzIE1lZGlhU2Vzc2lvbk1ldGFkYXRhOwogaW50ZXJmYWNlIElEM0QxMURldmlj
ZTE7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0Vf
T1JJRU5UQVRJT04pCitPQkpDX0NMQVNTIFdlYkNvcmVNb3Rpb25NYW5hZ2VyOworI2VuZGlmCisK
IG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQXR0YWNobWVudDsKIGNsYXNzIENvbnRleHRNZW51Q2xp
ZW50OwpAQCAtNDEwLDYgKzQxOCw5IEBAIGNsYXNzIFdlYlBhZ2VQcm94eSA6IHB1YmxpYyBBUEk6
Ok9iamVjdEkKICAgICAsIHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZUNsaWVudAogICAgICwgcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3BlZWNoU3ludGhl
c2l6ZXJDbGllbnQKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCisgICAgLCBwdWJsaWMgV2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1h
bmFnZXJDbGllbnQKKyNlbmRpZgogICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYlBhZ2VQ
cm94eT4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViUGFnZVByb3h5PiBjcmVhdGUoUGFn
ZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYm
KTsKQEAgLTE2MjcsNiArMTYzOCwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBvdmVy
cmlkZGVuTWVkaWFUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZGVuTWVkaWFUeXBlOyB9
CiAgICAgdm9pZCBzZXRPdmVycmlkZGVuTWVkaWFUeXBlKGNvbnN0IFN0cmluZyYpOwogCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICB2
b2lkIHN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24oKTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZ0Rl
dmljZU1vdGlvbigpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VD
bGllbnQmLCBXZWJQcm9jZXNzUHJveHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7
CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKQEAgLTIxNzAsNiArMjE4NiwxMSBAQCBw
cml2YXRlOgogICAgIHZvaWQgcmVzZXRTcGVlY2hTeW50aGVzaXplcigpOwogI2VuZGlmCiAKKyNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAg
IC8vIFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50CisgICAgdm9pZCBtb3Rpb25D
aGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRv
dWJsZSwgZG91YmxlLCBkb3VibGUpIG92ZXJyaWRlOworI2VuZGlmCisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIHN0YXRpYyBib29sIGlzSW5IYXJkd2FyZUtleWJvYXJkTW9kZSgpOwog
ICAgIHZvaWQgY2xlYXJBdWRpYmxlQWN0aXZpdHkoKTsKQEAgLTI2MjcsNiArMjY0OCwxMCBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9pc1F1b3RhSW5jcmVhc2VEZW5pZWQgeyBmYWxzZSB9OwogICAg
IAogICAgIFN0cmluZyBtX292ZXJyaWRkZW5NZWRpYVR5cGU7CisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIFdlYkNvcmVNb3Rpb25N
YW5hZ2VyKiBtX21vdGlvbk1hbmFnZXIgeyBudWxscHRyIH07CisjZW5kaWYKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjUzMDE0KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01
ODYsNCArNTg2LDkgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogICAgIERpZEZpbmRU
ZXh0TWFuaXB1bGF0aW9uSXRlbShXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6
SXRlbUlkZW50aWZpZXIgaXRlbUlELCBWZWN0b3I8V2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNv
bnRyb2xsZXI6Ok1hbmlwdWxhdGlvblRva2VuPiB0b2tlbnMpCiAKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIFN0YXJ0VXBkYXRpbmdE
ZXZpY2VNb3Rpb24oKTsKKyAgICBTdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oKTsKKyNlbmRpZgor
CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0JKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDEwIEBACiAjaW1w
b3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKKyNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaD4KKyNl
bmRpZgorCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAuLi4p
IFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFubmVsLCAiJXAg
LSBbcGFnZVByb3h5SUQ9JWxsdSwgd2ViUGFnZUlEPSVsbHUsIFBJRD0laV0gV2ViUGFnZVByb3h5
OjoiIGZtdCwgdGhpcywgbV9pZGVudGlmaWVyLnRvVUludDY0KCksIG1fd2ViUGFnZUlELnRvVUlu
dDY0KCksIG1fcHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgIyNfX1ZBX0FSR1NfXykKIAog
bmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNDgzLDYgKzE0ODcsMjYgQEAgV2ViQ29udGVudE1vZGUg
V2ViUGFnZVByb3h5OjplZmZlY3RpdmVDbwogICAgIHJldHVybiBXZWJDb250ZW50TW9kZTo6RGVz
a3RvcDsKIH0KIAorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCit2b2lkIFdlYlBhZ2VQ
cm94eTo6c3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbigpCit7CisgICAgaWYgKCFtX21vdGlvbk1h
bmFnZXIpCisgICAgICAgIG1fbW90aW9uTWFuYWdlciA9IFtXZWJDb3JlTW90aW9uTWFuYWdlciBz
aGFyZWRNYW5hZ2VyXTsKKyAgICBbbV9tb3Rpb25NYW5hZ2VyIGFkZE1vdGlvbkNsaWVudDp0aGlz
XTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnN0b3BVcGRhdGluZ0RldmljZU1vdGlvbigpCit7
CisgICAgW21fbW90aW9uTWFuYWdlciByZW1vdmVNb3Rpb25DbGllbnQ6dGhpc107Cit9CisKK3Zv
aWQgV2ViUGFnZVByb3h5Ojptb3Rpb25DaGFuZ2VkKGRvdWJsZSB4QWNjZWxlcmF0aW9uLCBkb3Vi
bGUgeUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0
aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5
LCBkb3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB4Um90YXRpb25S
YXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3RhdGlvblJhdGUpCit7CisgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGV2aWNlTW90aW9uQ2hhbmdlZCh4QWNjZWxlcmF0aW9u
LCB5QWNjZWxlcmF0aW9uLCB6QWNjZWxlcmF0aW9uLCB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eSwgeUFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksICB6QWNjZWxlcmF0aW9uSW5jbHVk
aW5nR3Jhdml0eSwgeFJvdGF0aW9uUmF0ZSwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSkp
OworfQorI2VuZGlmCisKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNF
X0xPR19JRl9BTExPV0VECkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2ODksNiAr
MTY4OSw4IEBACiAJCUUxRDI2QTUzMTc1OTY0RDkwMDk1QkZEMSAvKiBXZWJDb250ZW50UHJvY2Vz
cy54aWIgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
RDI2QTRDMTc1OTYzNEUwMDk1QkZEMSAvKiBXZWJDb250ZW50UHJvY2Vzcy54aWIgKi87IH07CiAJ
CUUxRTU1MkM1MTZBRTA2NUYwMDRFRDY1MyAvKiBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUU1
NTJDMzE2QUUwNjVFMDA0RUQ2NTMgLyogU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5o
ICovOyB9OwogCQlFMUVFNTNFMzExRjhDRkMwMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdl
RWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMUVFNTNEQzExRjhDRjlGMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggKi87IH07CisJCUUzOTYyOEQzMjM5NUUxNDMwMDY1OEVDRCAvKiBXZWJTaGFyZWRE
ZXZpY2VNb3Rpb25DbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM5NjI4RDEyMzk1RTE0MjAwNjU4RUNEIC8qIFdlYlNoYXJlZERldmljZU1v
dGlvbkNsaWVudC5jcHAgKi87IH07CisJCUUzOTYyOEQ0MjM5NUUxNDMwMDY1OEVDRCAvKiBXZWJT
aGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzOTYyOEQyMjM5NUUxNDMwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZp
Y2VNb3Rpb25DbGllbnQuaCAqLzsgfTsKIAkJRTQxM0Y1OUQxQUMxQURDNDAwMzQ1MzYwIC8qIE5l
dHdvcmtDYWNoZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNDEzRjU5QjFBQzFBREI2MDAzNDUzNjAgLyogTmV0d29ya0NhY2hlRW50cnkuaCAq
LzsgfTsKIAkJRTQyRTA2MTAxQUE3NTIzQjAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5l
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyRTA2
MEIxQUE3NDQwRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oICovOyB9OwogCQlF
NDJFMDYxMjFBQTc1QUJEMDBCMTE2OTkgLyogTmV0d29ya0NhY2hlRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyRTA2MTExQUE3NUFCRDAwQjEx
Njk5IC8qIE5ldHdvcmtDYWNoZURhdGEuaCAqLzsgfTsKQEAgLTQ3NDksNiArNDc1MSw4IEBACiAJ
CUUxRUU1M0RDMTFGOENGOUYwMENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdl
RWRpdG9yQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRUU1M0U2MTFG
OENGRkIwMENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM0MzlCNjMyMzQ1NDYz
QTAwMTFERTBCIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uSW5mby5oOyBwYXRoID0gTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUz
OTYyOEQxMjM5NUUxNDIwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM5NjI4RDIyMzk1
RTE0MzAwNjU4RUNEIC8qIFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwNDkwNzAyMURFNjVGNzAwMzdGMERCIC8qIFNj
cm9sbGVyUGFpck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxl
clBhaXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwNDkwNzEyMURFNjVG
NzAwMzdGMERCIC8qIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUU0MDQ5MDcyMjFERTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxlclBhaXJNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxlclBhaXJNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODU3LDYgKzU4NjEsOCBAQAogCQkJCTJEMjhGM0Uz
MTg4NUNDQzEwMDRCOUVBRSAvKiBXZWJGcmFtZUxvYWRlckNsaWVudElPUy5tbSAqLywKIAkJCQlB
MUM1MTJDNjE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmlld0xvYWRlckNsaWVudC5jcHAgKi8s
CiAJCQkJQTFDNTEyQzcxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQu
aCAqLywKKwkJCQlFMzk2MjhEMTIzOTVFMTQyMDA2NThFQ0QgLyogV2ViU2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50LmNwcCAqLywKKwkJCQlFMzk2MjhEMjIzOTVFMTQzMDA2NThFQ0QgLyogV2ViU2hh
cmVkRGV2aWNlTW90aW9uQ2xpZW50LmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xMDA5MSw2ICsxMDA5Nyw3IEBACiAJCQkJN0MzNjFE
NzMxOTI3RkEzNjAwMzZBNTlEIC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlEM0I5NDg0OTExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUJFQjYyQzFGM0E1QUQ3MDA1MDI5QjkgLyogV2ViU2Vy
dmljZVdvcmtlclByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzk2MjhENDIzOTVFMTQz
MDA2NThFQ0QgLyogV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk1QzhERDM4MDFGRTQ1MjE2MDBGMkE1NTYgLyogV2Vic2l0ZUF1dG9wbGF5UG9saWN5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJENzFBOUNERjk2MDA4QjRERkUgLyogV2Vic2l0ZURh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBXZWJz
aXRlRGF0YVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTYyNCw2ICsxMTYzMSw3IEBACiAJ
CQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdl
YlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2
MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJRTM5NjI4RDMyMzk1RTE0MzAwNjU4RUNEIC8qIFdlYlNoYXJlZERl
dmljZU1vdGlvbkNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUMgLyogV2ViU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMjg3RDRFMjI1RDFFQ0IwMDlB
M0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNTMw
MTQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisjaW5jbHVkZSAiV2ViU2hhcmVkRGV2aWNl
TW90aW9uQ2xpZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1l
c3BhY2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC01MDEsNiArNTA1LDEwIEBA
IFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFnZUlELCAKICNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5p
ZmVzdCA9IHBhcmFtZXRlcnMuYXBwbGljYXRpb25NYW5pZmVzdDsKICNlbmRpZgorICAgIAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAg
cGFnZUNvbmZpZ3VyYXRpb24uc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50ID0gbmV3IFdlYlNoYXJl
ZERldmljZU1vdGlvbkNsaWVudCgqdGhpcyk7CisjZW5kaWYKIAogICAgIG1fcGFnZSA9IG1ha2VV
bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAyNTMwMTQpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyNDQsNiArMTI0NCwxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBvdmVy
cmlkZGVuTWVkaWFUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZGVuTWVkaWFUeXBlOyB9
CiAgICAgdm9pZCBzZXRPdmVycmlkZGVuTWVkaWFUeXBlKGNvbnN0IFN0cmluZyYpOwogICAgIAor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisg
ICAgdm9pZCBkZXZpY2VNb3Rpb25DaGFuZ2VkKGRvdWJsZSB4QWNjZWxlcmF0aW9uLCBkb3VibGUg
eUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBk
b3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB4Um90YXRpb25SYXRl
LCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3RhdGlvblJhdGUpOworI2VuZGlmCisK
IHByaXZhdGU6CiAgICAgV2ViUGFnZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyYmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTMwMTQpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCSh3
b3JraW5nIGNvcHkpCkBAIC01ODMsNCArNTgzLDggQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZChlbnVtOnVpbgogICAgIENvbXBsZXRlVGV4dE1hbmlwdWxhdGlvbihXZWJDb3JlOjpU
ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6SXRlbUlkZW50aWZpZXIgaXRlbUlELCBWZWN0b3I8
V2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6Ok1hbmlwdWxhdGlvblRva2VuPiB0
b2tlbnMpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXI6Ok1hbmlwdWxhdGlvblJlc3VsdCByZXN1bHQpIEFzeW5jCiAgICAgCiAgICAgU2V0T3ZlcnJp
ZGRlbk1lZGlhVHlwZShTdHJpbmcgbWVkaWFUeXBlKQorICAgIAorI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgRGV2aWNlTW90aW9uQ2hh
bmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRvdWJsZSB6
QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJs
ZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRpb25JbmNs
dWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlvblJhdGUs
IGRvdWJsZSB6Um90YXRpb25SYXRlKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQkocmV2aXNpb24gMjUz
MDE0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQwODgsNiArNDA4OCwxNCBAQCB2b2lkIFdlYlBhZ2U6OnJl
cXVlc3RQYXNzd29yZEZvclF1aWNrTG9vCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKK3ZvaWQgV2ViUGFnZTo6ZGV2aWNlTW90aW9uQ2hhbmdlZChkb3VibGUgeEFj
Y2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9uLCBk
b3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB5QWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBk
b3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRp
b25SYXRlKQoreworICAgIGlmIChjb3JlUGFnZSgpICYmIGNvcmVQYWdlKCktPnNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudCgpKQorICAgICAgICBjb3JlUGFnZSgpLT5zaGFyZWREZXZpY2VNb3Rpb25D
bGllbnQoKS0+bW90aW9uQ2hhbmdlZCh4QWNjZWxlcmF0aW9uLCB5QWNjZWxlcmF0aW9uLCB6QWNj
ZWxlcmF0aW9uLCB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgeUFjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHksICB6QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgeFJvdGF0aW9u
UmF0ZSwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384673</attachid>
            <date>2019-12-02 18:22:58 -0800</date>
            <delta_ts>2019-12-09 16:24:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204770-20191202182257.patch</filename>
            <type>text/plain</type>
            <size>49924</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE5LTEyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBDYWxscyB0byB0
aGUgZGV2aWNlIG1vdGlvbiBBUEkgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDc3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZXZpY2Ug
bW90aW9uIEFQSSBvbiBpT1MgaXMgY29tbXVuaWNhdGluZyB3aXRoIGlvaGlkZXZlbnRzeXN0ZW0u
IFNpbmNlIG1hY2ggbG9va3VwIHRvIHRoaXMgZGFlbW9uCisgICAgICAgIHdpbGwgYmUgY2xvc2Vk
LCB0aGUgY2FsbHMgdG8gdGhpcyBBUEkgc2hvdWxkIGJlIG1vdmVkIGZyb20gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1l
bnRzIGZvcndhcmRpbmcgb2YgdGhlIGRldmljZSBtb3Rpb24gcmVxdWVzdHMgdG8gdGhlIFVJIHBy
b2Nlc3MgdGhyb3VnaCBhIG5ldyBjbGFzcywKKyAgICAgICAgU2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50LCB3aGljaCBpcyBzdWJjbGFzc2VkIGJ5IFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudCBp
biBtb2Rlcm4gV2ViS2l0LiBUaGlzCisgICAgICAgIGNsYXNzIGltcGxlbWVudHMgZm9yd2FyZGlu
ZyBvZiB0aGUgcmVxdWVzdHMgdG8gdGhlIFVJIHByb2Nlc3MsIGFuZCByZWNlaXZlcyBkZXZpY2Ug
bW90aW9uIHVwZGF0ZXMKKyAgICAgICAgZnJvbSB0aGUgVUkgcHJvY2Vzcy4gQW4gaW5zdGFuY2Ug
b2YgdGhpcyBjbGFzcyB3aWxsIGJlIHNoYXJlZCBieSBhbGwgZGV2aWNlIG1vdGlvbiBjbGllbnRz
IG9uIGEgcGFnZSwKKyAgICAgICAgYW5kIHBhc3NlZCBhcyBwYXJ0IG9mIHRoZSBwYWdlIGNvbmZp
Z3VyYXRpb24gcGFyYW1ldGVycy4gT24gdGhlIFVJIHByb2Nlc3Mgc2lkZSwgdGhlIFdlYiBwYWdl
IHByb3h5CisgICAgICAgIGlzIHRha2luZyBjYXJlIG9mIGNhbGxpbmcgdGhlIGRldmljZSBtb3Rp
b24gQVBJIHRocm91Z2ggdGhlIGV4aXN0aW5nIFdlYkNvcmVNb3Rpb25NYW5hZ2VyIE9iamVjdGl2
ZS1DCisgICAgICAgIGNsYXNzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VNb3Rpb25DbGllbnQ6OnNldFNoYXJlZERldmljZU1vdGlvbkNsaWVudCk6Cisg
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50Lmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fdW5kb01hbmFnZXIpOgorICAgICAgICAq
IHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX3NoYXJlZERldmljZU1vdGlvbkNs
aWVudCk6CisgICAgICAgIChXZWJDb3JlOjptX2FwcGxpY2F0aW9uTWFuaWZlc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2hhcmVk
RGV2aWNlTW90aW9uQ2xpZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW06CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpzdG9wVXBkYXRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpkZXZpY2VNb3Rpb25Db250cm9sbGVy
RGVzdHJveWVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW06CisgICAg
ICAgICgtW1dlYkNvcmVNb3Rpb25NYW5hZ2VyIGFkZE1vdGlvbkNsaWVudDpdKToKKyAgICAgICAg
KC1bV2ViQ29yZU1vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50Ol0pOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50Ojp+V2ViQ29yZU1vdGlvbk1h
bmFnZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGll
bnQ6Om1vdGlvbkNoYW5nZWQpOgorCiAyMDE5LTEyLTAyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gRml4IEFTU0VSVCB3aGlsZSBydW5uaW5nIGZhc3Qv
YmxvY2svYmxvY2stcGFyZW50LXdpdGgtemVyby13aWR0aC1jaGlsZC5odG1sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTkwNyw3ICs5MDcsNyBAQAogCQkzMTM1OTEwQTFF
N0REQzczMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzNTkxMDQxRTdEREM2MDAwRjMwNjMwIC8qIFJUQ1NkcFR5
cGUuaCAqLzsgfTsKIAkJMzEzNTkxMEIxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ1NpZ25hbGluZ1N0
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTM1
OTEwNTFFN0REQzYwMDBGMzA2MzAgLyogUlRDU2lnbmFsaW5nU3RhdGUuaCAqLzsgfTsKIAkJMzEz
QkNFMUMyMzVFM0JFNTAwRkMzOUU1IC8qIEVsZW1lbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTNCQ0UxQjIzNUUzQkRCMDBGQzM5RTUg
LyogRWxlbWVudENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkzMTQwMzc5QjEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1h
bmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NDAzNzk3MTI0QkVBN0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovOyB9Owor
CQkzMTQwMzc5QjEyNEJFQTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDAzNzk3MTI0QkVB
N0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNDAzNzlEMTI0QkVBN0YwMEFGNDBFNCAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0MDM3OTkxMjRCRUE3RjAwQUY0MEU0IC8qIERldmljZU9y
aWVudGF0aW9uQ2xpZW50SU9TLmggKi87IH07CiAJCTMxNDBDNTIwMUZERjE1MUEwMEQyQTg3MyAv
KiBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDBDNTFFMUZERjE1MUEwMEQyQTg3MyAvKiBP
ZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCAqLzsgfTsKIAkJMzE0MEM1MjQxRkRG
MzE4NzAwRDJBODczIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDBDNTIyMUZERjMxODYwMEQy
QTg3MyAvKiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmggKi87IH07CkBAIC00Nzc2LDYg
KzQ3NzYsOCBAQAogCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3M0MgLyogRE9NSklUSURMVHlwZUZp
bHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1
ODAyQjUxREM4NDM1ODAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzc3RkU0RDFEQURFMTY1
MDBDREQwMjUgLyogTm9kZUNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTNEMDQ5OTMxREFEQzA0NTAwNzE4RjNDIC8qIE5vZGVDb25zdGFu
dHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzdDODY1MDFFQjYzRTNGMDA4N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzdDODY0RjFFQjYzRTJEMDA4N0M2Q0Eg
LyogSlNET01Qcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRTM5NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIFNoYXJlZERldmljZU1vdGlv
bkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIFNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzOTYyOEMx
MjM5NTc0MzEwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjI4QzAyMzk1NzQzMDAw
NjU4RUNEIC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNBNzc2NjcxREM4NUQyODAwQjY5MEQ4
IC8qIERPTUpJVElETENvbnZlcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzQTc3NjY1MURDODVEMjIwMEI2OTBEOCAvKiBET01KSVRJRExDb252ZXJ0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNB
Nzc2NjgxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETFR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQTc3NjY2MURDODVEMjIwMEI2OTBEOCAv
KiBET01KSVRJRExUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTNCMkYwRUQxRDdGNENBMzAwQjBDOUQxIC8qIExvYWRhYmxlU2NyaXB0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0IyRjBFNzFE
N0YzNUVDMDBCMEM5RDEgLyogTG9hZGFibGVTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTUwNzAsNiArMTUwNzIsOCBAQAogCQlFMzg4
Mzg5NDFCQUQxNDVGMDBENjJFRTMgLyogU2NyaXB0TW9kdWxlTG9hZGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdE1vZHVsZUxvYWRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODgzODk1MUJBRDE0NUYwMEQ2MkVFMyAvKiBTY3Jp
cHRNb2R1bGVMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0
TW9kdWxlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOEQwNjA5MUY4
RTgxMTkwMDY0OUNGMiAvKiBNb2R1bGVGZXRjaFBhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUUzOTYyOEJEMjM5NTcyOEUwMDY1OEVDRCAvKiBTaGFyZWREZXZpY2VN
b3Rpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkRGV2
aWNlTW90aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzOTYyOEMw
MjM5NTc0MzAwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzk3NUI3NjFFQzlBRjM5MDA4NDc3MTcgLyog
SlNEb2N1bWVudEZyYWdtZW50RE9NSklULmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRG9jdW1lbnRGcmFnbWVudERPTUpJVC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUzOTc1Qjc3MUVDOUFGMzkwMDg0NzcxNyAvKiBKU0VsZW1lbnRET01KSVQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbGVtZW50RE9NSklU
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5NzVCNzgxRUM5QUYzOTAwODQ3
NzE3IC8qIEpTRXZlbnRET01KSVQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNFdmVudERPTUpJVC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MjgxOSw2ICsyMjgyMyw3IEBACiAJCQkJRTQ1MzkwMzQwRUFGRDYzNzAwMzY5NUM4IC8qIFNjcm9s
bFZpZXdJT1MubW0gKi8sCiAJCQkJQkVBODA3QzYwRjcxNEEwMzAwNTI0MTk5IC8qIFNlbGVjdGlv
blJlY3QuY3BwICovLAogCQkJCUJFQTgwN0M3MEY3MTRBMDMwMDUyNDE5OSAvKiBTZWxlY3Rpb25S
ZWN0LmggKi8sCisJCQkJRTM5NjI4QkQyMzk1NzI4RTAwNjU4RUNEIC8qIFNoYXJlZERldmljZU1v
dGlvbkNsaWVudC5oICovLAogCQkJCTBGMDNDMDczMTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0ZW1N
ZW1vcnkuaCAqLywKIAkJCQlFNDUzOTBBRDBFQUZGNEI1MDAzNjk1QzggLyogU3lzdGVtTWVtb3J5
SU9TLmNwcCAqLywKIAkJCQk0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1MuaCAq
LywKQEAgLTIyODM1LDYgKzIyODQwLDcgQEAKIAkJCQkxRjM2RUE5QjFFMjFCQTE3MDA2MjFFMjUg
LyogV2ViQmFja2dyb3VuZFRhc2tDb250cm9sbGVyLm1tICovLAogCQkJCTMxNDAzNzk3MTI0QkVB
N0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5oICovLAogCQkJCTMxNDAzNzk4MTI0
QkVBN0YwMEFGNDBFNCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlci5tbSAqLywKKwkJCQlFMzk2MjhD
MDIzOTU3NDMwMDA2NThFQ0QgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaCAqLywKIAkJ
CQlGRTBEODRFODEwNDg0MzQ4MDAxQTE3OUUgLyogV2ViRXZlbnQuaCAqLywKIAkJCQlGRTBEODRF
QTEwNDg0MzZFMDAxQTE3OUUgLyogV2ViRXZlbnQubW0gKi8sCiAJCQkJRjQ4MjIzMEYxRTM4NjlC
ODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCAqLywKQEAgLTI5NTM1LDYg
KzI5NTQxLDcgQEAKIAkJCQlGNDdBMDlEMTIwQTkzQTk3MDAyNDBGQUUgLyogRGlzYWJsZWRBZGFw
dGF0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0VEQUFGQzkxOUEyQ0NEQzAwMzRERkQxIC8q
IERpc2tDYWNoZU1vbml0b3JDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTE5OUZBNUIyMDhF
M0M3RjAwMjM1OENDIC8qIERpc3BsYXlCb3guaCBpbiBIZWFkZXJzICovLAorCQkJCUU0NTFDNjM0
MjM5NDA1OEYwMDk5MzE5MCAvKiBEaXNwbGF5SW5saW5lQ29udGVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZFNUZCRDMxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlMaXN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkU1RkJENTFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxpc3RJdGVtcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNUZCRDcxQzNERDUxRTAwMDdBMkNBIC8qIERpc3BsYXlM
aXN0UmVjb3JkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzAwNDgsNyArMzAwNTUsNiBAQAogCQkJ
CUE4NzFEQjJCMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg3MURCMkEwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNl
bGxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxREIyRjBBMTUwQkQ2MDBCMTJBNjgg
LyogSFRNTFRhYmxlQ29sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQ1MUM2MjgyMzky
OTNFQzAwOTkzMTkwIC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg3MURCMjcwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFEQjJDMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1M
VGFibGVQYXJ0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURCMzEwQTE1MEJENjAw
QjEyQTY4IC8qIEhUTUxUYWJsZVJvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzAxNjAs
NyArMzAxNjYsNiBAQAogCQkJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2Vy
dmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDVBNTkzMTE1MjUyNUQwMDAzNkVFNTEgLyogSW1h
Z2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzIyODNGMEUyMzBCMjY4QzAwRjVE
ODI4IC8qIEltYWdlUGFpbnRpbmdPcHRpb25zLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDUxQzYz
MjIzOTQwMzFBMDA5OTMxOTAgLyogTWFyZ2luVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1
MUEyRjNGMTdEN0QzQUUwMDcyNTE3QSAvKiBJbWFnZVF1YWxpdHlDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTI5MUU0QjEzNDE3MkM4MDBFNzUzREUgLyogSW1hZ2VSZW5kZXJpbmdN
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDI3QUU1MDIyQTk4Njg3MDA5NDdGRjkgLyogSW1h
Z2VSb3RhdGlvblNlc3Npb25WVC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDU1Myw3ICszMDU1OCw2
IEBACiAJCQkJODM3MDU2OTAxRjUwOTE1QzAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTgzM0I5RTM2MUY1MDhEODUwMEUwRTQyOCAvKiBK
U0ZpbGVTeXN0ZW1GaWxlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMkJFNDg4MUZFODY4
NkEwMDIwMzFDQyAvKiBKU0ZpbGxNb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDM0M0QyNTIz
OTI3NzkwMDBFQkJCNjYgLyogTGluZUxheW91dFRyYXZlcnNhbENvbXBsZXhQYXRoLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCNkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDMjgwODMzRjFDNkRDMjZGMDAxNDUxQjYgLyogSlNGb250RmFj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUMyNEVFQTkxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9u
dEZhY2VTZXQuaCBpbiBIZWFkZXJzICovLApAQCAtMzExNzcsNiArMzExODEsNyBAQAogCQkJCTZG
N0NBM0M2MjA4QzI5NTcwMDJGMjlBQiAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMTEzMTBDRjIyMEJBNEEzMjAwNjVBOEQwIC8qIExheW91dFRyZWVCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxNDFEQzA0ODE2NDgzNDhGMDAzNzFFNUEgLyogTGF5b3V0VW5pdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTQ1MUM2MzEyMzk0MDI3OTAwOTkzMTkwIC8qIExheW91dFVuaXRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREU4QjVFRDFBNjk3NzczMDBCNEI2NkEgLyogTGVnYWN5
Q0RNUHJpdmF0ZUNsZWFyS2V5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY0QjcxMjFFMDA4N0FF
MDBFMjM1QTIgLyogTGVnYWN5Q0RNU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RFOEI1
RjExQTY5Nzc4QjAwQjRCNjZBIC8qIExlZ2FjeUNETVNlc3Npb25DbGVhcktleS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMTIwOCw2ICszMTIxMyw5IEBACiAJCQkJNkYyNkVCNDgyMzQwMDRBNTAwNjkw
NkUyIC8qIExpbmVMYXlvdXRDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkVGQUIyQTE4
MzgwREEwMDA1MTQ1MzQgLyogTGluZUxheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NDg0QTMzRTIzMDU1MzI1MDA5QURFNkEgLyogTGluZUxheW91dFRyYXZlcnNhbC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJRTQzNDNEMjUyMzkyNzc5MDAwRUJCQjY2IC8qIExpbmVMYXlvdXRUcmF2ZXJz
YWxDb21wbGV4UGF0aC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ1MUM2MjgyMzkyOTNFQzAwOTkz
MTkwIC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxEaXNwbGF5UnVuUGF0aC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRTQzNDNEMjMyMzkyNzc4NDAwRUJCQjY2IC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxTaW1w
bGVQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkRCQzA0NzE4M0QyN0I3MDA0MDcxMDkgLyog
TGluZVdpZHRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlDQkE5REMwQjFERjQ0REY0MDAwNTY3NUMg
LyogTGlua0hlYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0M0IyNjMxREREMTUyMDAwMTRG
QUM2IC8qIExpbmtJY29uLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMjQxLDYgKzMxMjQ5LDcgQEAK
IAkJCQk0NkVGQUYxMjFFNUZCOUYxMDBFN0YzNEIgLyogTG93UG93ZXJNb2RlTm90aWZpZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTdBRTZDOTNDMUJFMEM2MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFk
U2hhcmVkVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEY2QkM2MERCNTVDREMwMDFEQjc5
NCAvKiBNYW5pZmVzdFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ1MUM2MzIyMzk0MDMx
QTAwOTkzMTkwIC8qIE1hcmdpblR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE4NjY0NTFG
NzJFNUI0MDBBMENBQjYgLyogTWFya2VkVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlE
RjgwOTlFNjQ5MjAwNTZFNTgxIC8qIG1hcmt1cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcyOEMz
MTQxMjY4RTQzOTAwNDFFODlCIC8qIE1hcmt1cEFjY3VtdWxhdG9yLmggaW4gSGVhZGVycyAqLywK
QEAgLTMxNzAxLDcgKzMxNzEwLDYgQEAKIAkJCQk1N0RDRUQ3NDIxNDMwNUYwMDAxNkI4NDcgLyog
UHVibGljS2V5Q3JlZGVudGlhbERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQkVGMjAw
OTgwQzYwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTczMDNDMEEyMDA5OUJBRDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQzNDNEMjMyMzkyNzc4NDAw
RUJCQjY2IC8qIExpbmVMYXlvdXRUcmF2ZXJzYWxTaW1wbGVQYXRoLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1NzMwM0JFQjIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAvKiBQdWJsaWNT
dWZmaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQ
dWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTMyMTU2LDYgKzMyMTY0LDcgQEAK
IAkJCQlGRDFBRjE1MDE2NTZGMTUxMDBDNkQ0RjcgLyogU2hhcGVWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUQ5RjBGQzEyMTIyMDI5QjAwNUQ4RkQ0IC8qIFNoYXJlRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUE0QTk1NEUwQjRFRENDQjAwMkQ4QzNDIC8qIFNoYXJlZEJ1ZmZlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTM5NjI4QkYyMzk1NzI4RjAwNjU4RUNEIC8qIFNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM0REZBRDAxRjdEQUU1RDAwQzI3
MjVCIC8qIFNoYXJlZFN0cmluZ0hhc2guaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RUEzMDk5
RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2MkU4
QzEyMENFRjlDQjAwMjQ1ODg2IC8qIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMjQ5Niw3ICszMjUwNSw2IEBACiAJCQkJQjIyMjdBREEwRDAwQkYyMjAw
NzFCNzgyIC8qIFNWR1RyYW5zZm9ybWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QURE
MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdUcmFuc2Zvcm1EaXN0YW5jZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjIyMjdBREYwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1RyYW5zZm9ybUxpc3QuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUU0NTFDNjMxMjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0NFNThENTgxREQ3RDk2RDAwMTI4NTUyIC8qIFNWR1RyYW5z
Zm9ybVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FFMjBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHVFJlZkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUU1MEQwMEJGMjIw
MDcxQjc4MiAvKiBTVkdUU3BhbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzI3NzcsNiAr
MzI3ODUsNyBAQAogCQkJCUJDNTNEOTExMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlNDbGll
bnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlCQjA4MjQ1RTU5MDAxRTlBQkMgLyog
V2ViQ29yZUtleWJvYXJkVUlNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTQwMzc5QjEyNEJF
QTdGMDBBRjQwRTQgLyogV2ViQ29yZU1vdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUUzOTYyOEMxMjM5NTc0MzEwMDY1OEVDRCAvKiBXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDOTc5RjUxQzQ5OEMwOTAwREI1MEQ0IC8qIFdlYkNvcmVO
U0Vycm9yRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEU1N0VFMTIxM0Y0MzRBMDA0RUE5
OEUgLyogV2ViQ29yZU5TRm9udE1hbmFnZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1
QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzI4MjYsNyArMzI4MzUsNiBAQAogCQkJCTQ5QzdCOUUwMTA0MkQzMkYwMDA5RDQ0
NyAvKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzRjNEMzZB
MUE2OUI3QjkwMDU5RkMyQiAvKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2Rjk5NUEyMjFBNzA3OEIxMDBBNzM1RjQgLyogV2ViR0xTYW1wbGVyLmggaW4g
SGVhZGVycyAqLywKLQkJCQlFNDUxQzYzNDIzOTQwNThGMDA5OTMxOTAgLyogRGlzcGxheUlubGlu
ZUNvbnRlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzdCOUUzMTA0MkQzMkYwMDA5RDQ0NyAv
KiBXZWJHTFNoYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTA3RDMzNTgxNTJCNjMyRDAwMUI2
MzkzIC8qIFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQkw
MUQzQ0Y4NzE0QkQwQTMwMDBGRTk5NzAgLyogV2ViR0xTaGFyZWRPYmplY3QuaCBpbiBIZWFkZXJz
ICovLApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQuaAkocmV2aXNp
b24gMjUzMDE0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IERldmljZU1vdGlvbkNvbnRyb2xsZXI7CiBjbGFzcyBEZXZpY2VNb3Rpb25EYXRhOwogY2xhc3Mg
UGFnZTsKK2NsYXNzIFNoYXJlZERldmljZU1vdGlvbkNsaWVudDsKIAogY2xhc3MgRGV2aWNlTW90
aW9uQ2xpZW50IDogcHVibGljIERldmljZUNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGV2aWNlTW90aW9uQ2xpZW50KTsKQEAgLTQzLDYgKzQ0LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZpY2VNb3Rpb25Db250cm9sbGVyKikgPSAwOwog
ICAgIHZpcnR1YWwgRGV2aWNlTW90aW9uRGF0YSogbGFzdE1vdGlvbigpIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpID0gMDsKKwor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgdmlydHVhbCB2b2lkIHNldFNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudChSZWZQdHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50PikgeyB9CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRGV2aWNlQ2xpZW50LmgiCiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjUzMDE0
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjA3LDkgKzYwNywxNSBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBV
CiAgICAgICAgIG5vZGVMaXN0QW5kQ29sbGVjdGlvbkNvdW50ID0gMDsKIAogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6YWRkRXZlbnRMaXN0ZW5lcnNUb05vZGUoKnRoaXMpOworICAgIAog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgbV9zZXR0aW5ncy0+c2V0TGVnYWN5R2V0VXNl
ck1lZGlhRW5hYmxlZChxdWlya3MoKS5zaG91bGRFbmFibGVMZWdhY3lHZXRVc2VyTWVkaWEoKSk7
CiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCisgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCktPnNoYXJlZERldmljZU1vdGlvbkNs
aWVudCgpKQorICAgICAgICBtX2RldmljZU1vdGlvbkNsaWVudC0+c2V0U2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50KHBhZ2UoKS0+c2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50KCkpOworI2VuZGlmCiB9
CiAKIFJlZjxEb2N1bWVudD4gRG9jdW1lbnQ6OmNyZWF0ZShEb2N1bWVudCYgY29udGV4dERvY3Vt
ZW50KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODksNiArMjg5LDkgQEAg
UGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maQogI2lmIEVOQUJMRShBUFBM
SUNBVElPTl9NQU5JRkVTVCkKICAgICAsIG1fYXBwbGljYXRpb25NYW5pZmVzdChwYWdlQ29uZmln
dXJhdGlvbi5hcHBsaWNhdGlvbk1hbmlmZXN0KQogI2VuZGlmCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAsIG1fc2hhcmVkRGV2aWNl
TW90aW9uQ2xpZW50KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc2hhcmVkRGV2aWNlTW90aW9u
Q2xpZW50KSkKKyNlbmRpZgogewogICAgIHVwZGF0ZVRpbWVyVGhyb3R0bGluZ1N0YXRlKCk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksMTAgQEAKICNpbmNsdWRlICJN
ZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgIlNoYXJlZERl
dmljZU1vdGlvbkNsaWVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRGVi
dWdnZXI7CiB9CkBAIC03MTksNiArNzIzLDEwIEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIFZlY3RvcjxSZWY8RWxlbWVudD4+IGVkaXRhYmxlRWxlbWVudHNJblJlY3QoY29uc3QgRmxv
YXRSZWN0JikgY29uc3Q7CiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIFJlZlB0cjxTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ+IHNo
YXJlZERldmljZU1vdGlvbkNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7
CiAgICAgICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKQEAgLTk5MCw2ICs5OTgsMTAgQEAg
cHJpdmF0ZToKIAogICAgIE9wdGlvbmFsPFZpZXdwb3J0QXJndW1lbnRzPiBtX292ZXJyaWRlVmll
d3BvcnRBcmd1bWVudHM7CiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIFJlZlB0cjxTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ+IG1f
c2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OworI2VuZGlmCisKICAgICBib29sIG1fc2hvdWxkRW5h
YmxlSUNFQ2FuZGlkYXRlRmlsdGVyaW5nQnlEZWZhdWx0IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9t
ZWRpYVBsYXliYWNrSXNTdXNwZW5kZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tZWRpYUJ1ZmZl
cmluZ0lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbmZpZ3VyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQCBjbGFz
cyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CiBjbGFzcyBQ
bHVnaW5JbmZvUHJvdmlkZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CitjbGFzcyBT
aGFyZWREZXZpY2VNb3Rpb25DbGllbnQ7CiBjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNzIFN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKIGNsYXNzIFVzZXJDb250ZW50UHJvdmlkZXI7CkBAIC0x
MTgsNiArMTE5LDEwIEBAIHB1YmxpYzoKICAgICBSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiAgICAgUmVmUHRyPFVzZXJDb250ZW50UHJv
dmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CiAgICAgUmVmUHRyPFZpc2l0ZWRMaW5rU3RvcmU+
IHZpc2l0ZWRMaW5rU3RvcmU7CisgICAgCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikg
JiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBSZWZQdHI8U2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50PiBzaGFyZWREZXZpY2VNb3Rpb25DbGllbnQ7CisjZW5kaWYKIH07CiAKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9T
LmgJKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZp
Y2VNb3Rpb25DbGllbnRJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDE1IEBACiAj
aW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJTaGFy
ZWREZXZpY2VNb3Rpb25DbGllbnQuaCIKKyNpbmNsdWRlICJXZWJDb3JlTW90aW9uTWFuYWdlckNs
aWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogT0JKQ19DTEFTUyBXZWJDb3JlTW90
aW9uTWFuYWdlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEZXZpY2VNb3Rpb25D
bGllbnRJT1MgOiBwdWJsaWMgRGV2aWNlTW90aW9uQ2xpZW50IHsKK2NsYXNzIERldmljZU1vdGlv
bkNsaWVudElPUyA6IHB1YmxpYyBEZXZpY2VNb3Rpb25DbGllbnQsIHB1YmxpYyBXZWJDb3JlTW90
aW9uTWFuYWdlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgRGV2aWNlTW90aW9uQ2xpZW50SU9TKCk7
CiAgICAgfkRldmljZU1vdGlvbkNsaWVudElPUygpIG92ZXJyaWRlOwpAQCAtNDYsMTIgKzQ4LDE1
IEBAIHB1YmxpYzoKICAgICBEZXZpY2VNb3Rpb25EYXRhKiBsYXN0TW90aW9uKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkZXZpY2VNb3Rpb25Db250cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJp
ZGU7CiAKLSAgICB2b2lkIG1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSk7CisgICAgdm9pZCBt
b3Rpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpIG92ZXJyaWRlOwogCisgICAgdm9pZCBzZXRTaGFy
ZWREZXZpY2VNb3Rpb25DbGllbnQoUmVmUHRyPFNoYXJlZERldmljZU1vdGlvbkNsaWVudD4gc2hh
cmVkRGV2aWNlTW90aW9uQ2xpZW50KSBvdmVycmlkZSB7IG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50ID0gc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OyB9CisgICAgCiBwcml2YXRlOgogICAgIFdl
YkNvcmVNb3Rpb25NYW5hZ2VyKiBtX21vdGlvbk1hbmFnZXI7CiAgICAgRGV2aWNlTW90aW9uQ29u
dHJvbGxlciogbV9jb250cm9sbGVyOwogICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtX2N1
cnJlbnREZXZpY2VNb3Rpb25EYXRhOworICAgIFJlZlB0cjxTaGFyZWREZXZpY2VNb3Rpb25DbGll
bnQ+IG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OwogICAgIGJvb2wgbV91cGRhdGluZzsKIH07
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZU1v
dGlvbkNsaWVudElPUy5tbQkocmV2aXNpb24gMjUzMDE0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMs
NiArNTMsMTEgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRpbgogewog
ICAgIG1fdXBkYXRpbmcgPSB0cnVlOwogCisgICAgaWYgKG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xp
ZW50KSB7CisgICAgICAgIG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LT5zdGFydFVwZGF0aW5n
KCp0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9tb3Rpb25NYW5h
Z2VyKQogICAgICAgICBtX21vdGlvbk1hbmFnZXIgPSBbV2ViQ29yZU1vdGlvbk1hbmFnZXIgc2hh
cmVkTWFuYWdlcl07CiAKQEAgLTYzLDYgKzY4LDExIEBAIHZvaWQgRGV2aWNlTW90aW9uQ2xpZW50
SU9TOjpzdG9wVXBkYXRpbmcKIHsKICAgICBtX3VwZGF0aW5nID0gZmFsc2U7CiAKKyAgICBpZiAo
bV9zaGFyZWREZXZpY2VNb3Rpb25DbGllbnQpIHsKKyAgICAgICAgbV9zaGFyZWREZXZpY2VNb3Rp
b25DbGllbnQtPnN0b3BVcGRhdGluZygqdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICAvLyBSZW1vdmUgb3Vyc2VsdmVzIGFzIHRoZSBtb3Rpb24gY2xpZW50IHNvIHdlIHdvbid0
IGdldCB1cGRhdGVzLgogICAgIFttX21vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50OnRo
aXNdOwogfQpAQCAtNzQsNiArODQsMTEgQEAgRGV2aWNlTW90aW9uRGF0YSogRGV2aWNlTW90aW9u
Q2xpZW50SU9TOgogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudElPUzo6ZGV2aWNlTW90aW9uQ29u
dHJvbGxlckRlc3Ryb3llZCgpCiB7CisgICAgaWYgKG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50
KSB7CisgICAgICAgIG1fc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LT5zdG9wVXBkYXRpbmcoKnRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgW21fbW90aW9uTWFuYWdlciByZW1v
dmVNb3Rpb25DbGllbnQ6dGhpc107CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmgJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1NoYXJlZERldmljZU1vdGlvbkNsaWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQ7CisKK2NsYXNzIFNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZERldmljZU1vdGlvbkNsaWVu
dD4geworcHVibGljOgorICAgIFNoYXJlZERldmljZU1vdGlvbkNsaWVudCgpIHsgfQorICAgIHZp
cnR1YWwgflNoYXJlZERldmljZU1vdGlvbkNsaWVudCgpIHsgfQorCisgICAgdmlydHVhbCB2b2lk
IHN0YXJ0VXBkYXRpbmcoV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQmKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgc3RvcFVwZGF0aW5nKFdlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50JikgeyB9CisK
KyAgICB2aXJ0dWFsIHZvaWQgbW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBk
b3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSB7IH0KK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaAkocmV2aXNpb24gMjUzMDE0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbXBv
cnQgIkRldmljZU1vdGlvbkNsaWVudElPUy5oIgotI2ltcG9ydCAiRGV2aWNlT3JpZW50YXRpb25D
bGllbnRJT1MuaCIKICNpbXBvcnQgPENvcmVMb2NhdGlvbi9Db3JlTG9jYXRpb24uaD4KICNpbXBv
cnQgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogCkBAIC0zNiwxMCArMzQsMTUgQEAKIAogY29uc3Qg
ZmxvYXQga01vdGlvblVwZGF0ZUludGVydmFsID0gMS4wZiAvIDYwLjBmOwogCi1AaW50ZXJmYWNl
IFdlYkNvcmVNb3Rpb25NYW5hZ2VyIDogTlNPYmplY3QgeworbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnRJT1M7CitjbGFzcyBXZWJDb3JlTW90aW9uTWFu
YWdlckNsaWVudDsKK307CisKK1dFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgV2ViQ29yZU1vdGlv
bk1hbmFnZXIgOiBOU09iamVjdCB7CiAgICAgQ01Nb3Rpb25NYW5hZ2VyKiBtX21vdGlvbk1hbmFn
ZXI7CiAgICAgQ0xMb2NhdGlvbk1hbmFnZXIqIG1fbG9jYXRpb25NYW5hZ2VyOwotICAgIEhhc2hT
ZXQ8V2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TKj4gbV9kZXZpY2VNb3Rpb25DbGllbnRz
OworICAgIEhhc2hTZXQ8V2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQqPiBtX2Rl
dmljZU1vdGlvbkNsaWVudHM7CiAgICAgSGFzaFNldDxXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
bkNsaWVudElPUyo+IG1fZGV2aWNlT3JpZW50YXRpb25DbGllbnRzOwogICAgIE5TVGltZXIqIG1f
dXBkYXRlVGltZXI7CiAgICAgQk9PTCBtX2d5cm9BdmFpbGFibGU7CkBAIC00OCw4ICs1MSw4IEBA
IGNvbnN0IGZsb2F0IGtNb3Rpb25VcGRhdGVJbnRlcnZhbCA9IDEuMGYKIH0KIAogKyAoV2ViQ29y
ZU1vdGlvbk1hbmFnZXIgKilzaGFyZWRNYW5hZ2VyOwotLSAodm9pZClhZGRNb3Rpb25DbGllbnQ6
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudElPUyAqKWNsaWVudDsKLS0gKHZvaWQpcmVtb3Zl
TW90aW9uQ2xpZW50OihXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MgKiljbGllbnQ7Cist
ICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2ViQ29yZTo6V2ViQ29yZU1vdGlvbk1hbmFnZXJDbGll
bnQgKiljbGllbnQ7CistICh2b2lkKXJlbW92ZU1vdGlvbkNsaWVudDooV2ViQ29yZTo6V2ViQ29y
ZU1vdGlvbk1hbmFnZXJDbGllbnQgKiljbGllbnQ7CiAtICh2b2lkKWFkZE9yaWVudGF0aW9uQ2xp
ZW50OihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUyAqKWNsaWVudDsKIC0gKHZv
aWQpcmVtb3ZlT3JpZW50YXRpb25DbGllbnQ6KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xp
ZW50SU9TICopY2xpZW50OwogLSAoQk9PTClneXJvQXZhaWxhYmxlOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlci5tbQkocmV2
aXNpb24gMjUzMDE0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rp
b25NYW5hZ2VyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogCisjaW1wb3J0
ICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5oIgorI2ltcG9ydCAiV2ViQ29yZU1vdGlvbk1h
bmFnZXJDbGllbnQuaCIKICNpbXBvcnQgIldlYkNvcmVPYmpDRXh0cmFzLmgiCiAjaW1wb3J0ICJX
ZWJDb3JlVGhyZWFkUnVuLmgiCiAjaW1wb3J0IDxDb3JlTG9jYXRpb24vQ29yZUxvY2F0aW9uLmg+
CkBAIC05OCwxNCArMTAwLDE0IEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtzdXBlciBkZWFsbG9j
XTsKIH0KIAotLSAodm9pZClhZGRNb3Rpb25DbGllbnQ6KFdlYkNvcmU6OkRldmljZU1vdGlvbkNs
aWVudElPUyAqKWNsaWVudAorLSAodm9pZClhZGRNb3Rpb25DbGllbnQ6KFdlYkNvcmU6OldlYkNv
cmVNb3Rpb25NYW5hZ2VyQ2xpZW50ICopY2xpZW50CiB7CiAgICAgbV9kZXZpY2VNb3Rpb25DbGll
bnRzLmFkZChjbGllbnQpOwogICAgIGlmIChtX2luaXRpYWxpemVkKQogICAgICAgICBbc2VsZiBj
aGVja0NsaWVudFN0YXR1c107CiB9CiAKLS0gKHZvaWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJD
b3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MgKiljbGllbnQKKy0gKHZvaWQpcmVtb3ZlTW90aW9u
Q2xpZW50OihXZWJDb3JlOjpXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudCAqKWNsaWVudAogewog
ICAgIG1fZGV2aWNlTW90aW9uQ2xpZW50cy5yZW1vdmUoY2xpZW50KTsKICAgICBpZiAobV9pbml0
aWFsaXplZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9u
TWFuYWdlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyog
YXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfldl
YkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50KCkgeyB9OworCisgICAgdmlydHVhbCB2b2lkIG1vdGlv
bkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgeyB9Cit9OworCit9OwpJbmRleDogU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1MzAxNCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTktMTItMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIENhbGxzIHRvIHRoZSBkZXZpY2UgbW90aW9uIEFQSSBz
aG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYiBwYWdlIHByb3h5IG1lc3NhZ2VzIHRvIHN0
YXJ0IGFuZCBzdG9wIHVwZGF0aW5nIGRldmljZSBtb3Rpb24gaW4gdGhlIFVJIHByb2Nlc3MuIEFs
c28sIGFkZCBhIG1lc3NhZ2UgdG8gdGhlCisgICAgICAgIFdlYiBwYWdlIHRvIHVwZGF0ZSB0aGUg
ZGV2aWNlIG1vdGlvbiBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLiBJbiB0aGUgVUkgcHJvY2Vz
cywgdGhlIGRldmljZSBtb3Rpb24gQVBJIGlzIGNhbGxlZAorICAgICAgICB0aHJvdWdoIHRoZSBh
bHJlYWR5IGV4aXN0aW5nIFdlYkNvcmVNb3Rpb25NYW5hZ2VyIGNsYXNzLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6fldlYlBhZ2VQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6c3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6c3RvcFVwZGF0aW5nRGV2aWNlTW90aW9uKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojptb3Rpb25DaGFuZ2VkKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Om1fb3ZlcnJpZGRlbk1lZGlhVHlwZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldmljZU1vdGlvbkNo
YW5nZWQpOgorCiAyMDE5LTEyLTAyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBDcmVhdGUgc2FuZGJveCBleHRlbnNpb24gZm9yICJjb20uYXBw
bGUudGNjZCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAko
cmV2aXNpb24gMjUzMDE0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIwLDYgKzUyMCwxMCBAQCBXZWJQYWdlUHJveHk6On5X
ZWJQYWdlUHJveHkoKQogICAgIG1fcHJlZmVyZW5jZXMtPnJlbW92ZVBhZ2UoKnRoaXMpOwogICAg
IG1fcGFnZUdyb3VwLT5yZW1vdmVQYWdlKHRoaXMpOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBzdG9wVXBkYXRpbmdEZXZpY2VN
b3Rpb24oKTsKKyNlbmRpZgorICAgIAogI2lmbmRlZiBOREVCVUcKICAgICB3ZWJQYWdlUHJveHlD
b3VudGVyLmRlY3JlbWVudCgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjUzMDE0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw2ICsxNDksMTAgQEAgT0JK
Q19DTEFTUyBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeTsKICNpbmNsdWRlICJTT0F1dGhvcml6YXRp
b25Mb2FkUG9saWN5LmgiCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlTW90aW9u
TWFuYWdlckNsaWVudC5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlhU2Vzc2lvbk1ldGFkYXRhOwpAQCAtMTU5LDYg
KzE2MywxMCBAQCBjbGFzcyBNZWRpYVNlc3Npb25NZXRhZGF0YTsKIGludGVyZmFjZSBJRDNEMTFE
ZXZpY2UxOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQorT0JKQ19DTEFTUyBXZWJDb3JlTW90aW9uTWFuYWdlcjsKKyNlbmRp
ZgorCiBuYW1lc3BhY2UgQVBJIHsKIGNsYXNzIEF0dGFjaG1lbnQ7CiBjbGFzcyBDb250ZXh0TWVu
dUNsaWVudDsKQEAgLTQxMCw2ICs0MTgsOSBAQCBjbGFzcyBXZWJQYWdlUHJveHkgOiBwdWJsaWMg
QVBJOjpPYmplY3RJCiAgICAgLCBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVz
aXNVdHRlcmFuY2VDbGllbnQKICAgICAsIHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyQ2xpZW50CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICwgcHVibGljIFdlYkNvcmU6OldlYkNvcmVNb3Rp
b25NYW5hZ2VyQ2xpZW50CisjZW5kaWYKICAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJQ
YWdlUHJveHk+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYlBhZ2VQcm94eT4gY3JlYXRl
KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJveHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlv
bj4mJik7CkBAIC0xNjI3LDYgKzE2MzgsMTEgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYg
b3ZlcnJpZGRlbk1lZGlhVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGRlbk1lZGlhVHlw
ZTsgfQogICAgIHZvaWQgc2V0T3ZlcnJpZGRlbk1lZGlhVHlwZShjb25zdCBTdHJpbmcmKTsKIAor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisg
ICAgdm9pZCBzdGFydFVwZGF0aW5nRGV2aWNlTW90aW9uKCk7CisgICAgdm9pZCBzdG9wVXBkYXRp
bmdEZXZpY2VNb3Rpb24oKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQ
YWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+
JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0yMTcwLDYgKzIxODYsMTEg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc2V0U3BlZWNoU3ludGhlc2l6ZXIoKTsKICNlbmRpZgog
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
KyAgICAvLyBXZWJDb3JlOjpXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudAorICAgIHZvaWQgbW90
aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91Ymxl
LCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBvdmVycmlkZTsKKyNlbmRpZgorCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0aWMgYm9vbCBpc0luSGFyZHdhcmVLZXlib2FyZE1vZGUo
KTsKICAgICB2b2lkIGNsZWFyQXVkaWJsZUFjdGl2aXR5KCk7CkBAIC0yNjI3LDYgKzI2NDgsMTAg
QEAgcHJpdmF0ZToKICAgICBib29sIG1faXNRdW90YUluY3JlYXNlRGVuaWVkIHsgZmFsc2UgfTsK
ICAgICAKICAgICBTdHJpbmcgbV9vdmVycmlkZGVuTWVkaWFUeXBlOworCisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBXZWJDb3JlTW90
aW9uTWFuYWdlciogbV9tb3Rpb25NYW5hZ2VyIHsgbnVsbHB0ciB9OworI2VuZGlmCiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI1MzAxNCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpA
QCAtNTg2LDQgKzU4Niw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAKICAgICBEaWRG
aW5kVGV4dE1hbmlwdWxhdGlvbkl0ZW0oV2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXI6Okl0ZW1JZGVudGlmaWVyIGl0ZW1JRCwgVmVjdG9yPFdlYkNvcmU6OlRleHRNYW5pcHVsYXRp
b25Db250cm9sbGVyOjpNYW5pcHVsYXRpb25Ub2tlbj4gdG9rZW5zKQogCisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBTdGFydFVwZGF0
aW5nRGV2aWNlTW90aW9uKCk7CisgICAgU3RvcFVwZGF0aW5nRGV2aWNlTW90aW9uKCk7CisjZW5k
aWYKKwogfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlP
Uy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSwxMCBAQAog
I2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCisjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLmg+
CisjZW5kaWYKKwogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwg
Li4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwg
IiVwIC0gW3BhZ2VQcm94eUlEPSVsbHUsIHdlYlBhZ2VJRD0lbGx1LCBQSUQ9JWldIFdlYlBhZ2VQ
cm94eTo6IiBmbXQsIHRoaXMsIG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50
b1VJbnQ2NCgpLCBtX3Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksICMjX19WQV9BUkdTX18p
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMTQ4Myw2ICsxNDg3LDI2IEBAIFdlYkNvbnRlbnRN
b2RlIFdlYlBhZ2VQcm94eTo6ZWZmZWN0aXZlQ28KICAgICByZXR1cm4gV2ViQ29udGVudE1vZGU6
OkRlc2t0b3A7CiB9CiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQordm9pZCBXZWJQ
YWdlUHJveHk6OnN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24oKQoreworICAgIGlmICghbV9tb3Rp
b25NYW5hZ2VyKQorICAgICAgICBtX21vdGlvbk1hbmFnZXIgPSBbV2ViQ29yZU1vdGlvbk1hbmFn
ZXIgc2hhcmVkTWFuYWdlcl07CisgICAgW21fbW90aW9uTWFuYWdlciBhZGRNb3Rpb25DbGllbnQ6
dGhpc107Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24o
KQoreworICAgIFttX21vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50OnRoaXNdOworfQor
Cit2b2lkIFdlYlBhZ2VQcm94eTo6bW90aW9uQ2hhbmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwg
ZG91YmxlIHlBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2Vs
ZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eSwgZG91YmxlIHpBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0
aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlKQorewor
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRldmljZU1vdGlvbkNoYW5nZWQoeEFjY2VsZXJh
dGlvbiwgeUFjY2VsZXJhdGlvbiwgekFjY2VsZXJhdGlvbiwgeEFjY2VsZXJhdGlvbkluY2x1ZGlu
Z0dyYXZpdHksIHlBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCAgekFjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHksIHhSb3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGUsIHpSb3RhdGlvblJh
dGUpKTsKK30KKyNlbmRpZgorCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRApJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNTMwMTQpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNjg5
LDYgKzE2ODksOCBAQAogCQlFMUQyNkE1MzE3NTk2NEQ5MDA5NUJGRDEgLyogV2ViQ29udGVudFBy
b2Nlc3MueGliIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMUQyNkE0QzE3NTk2MzRFMDA5NUJGRDEgLyogV2ViQ29udGVudFByb2Nlc3MueGliICovOyB9
OwogCQlFMUU1NTJDNTE2QUUwNjVGMDA0RUQ2NTMgLyogU2FuZGJveEluaXRpYWxpemF0aW9uUGFy
YW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFFNTUyQzMxNkFFMDY1RTAwNEVENjUzIC8qIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRl
cnMuaCAqLzsgfTsKIAkJRTFFRTUzRTMxMUY4Q0ZDMDAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxl
UGFnZUVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTFFRTUzREMxMUY4Q0Y5RjAwQ0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVk
aXRvckNsaWVudC5oICovOyB9OworCQlFMzk2MjhEMzIzOTVFMTQzMDA2NThFQ0QgLyogV2ViU2hh
cmVkRGV2aWNlTW90aW9uQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzOTYyOEQxMjM5NUUxNDIwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZp
Y2VNb3Rpb25DbGllbnQuY3BwICovOyB9OworCQlFMzk2MjhENDIzOTVFMTQzMDA2NThFQ0QgLyog
V2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzk2MjhEMjIzOTVFMTQzMDA2NThFQ0QgLyogV2ViU2hhcmVk
RGV2aWNlTW90aW9uQ2xpZW50LmggKi87IH07CiAJCUU0MTNGNTlEMUFDMUFEQzQwMDM0NTM2MCAv
KiBOZXR3b3JrQ2FjaGVFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTQxM0Y1OUIxQUMxQURCNjAwMzQ1MzYwIC8qIE5ldHdvcmtDYWNoZUVudHJ5
LmggKi87IH07CiAJCUU0MkUwNjEwMUFBNzUyM0IwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVJT0No
YW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0
MkUwNjBCMUFBNzQ0MEQwMEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVJT0NoYW5uZWwuaCAqLzsgfTsK
IAkJRTQyRTA2MTIxQUE3NUFCRDAwQjExNjk5IC8qIE5ldHdvcmtDYWNoZURhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MkUwNjExMUFBNzVBQkQw
MEIxMTY5OSAvKiBOZXR3b3JrQ2FjaGVEYXRhLmggKi87IH07CkBAIC00NzQ5LDYgKzQ3NTEsOCBA
QAogCQlFMUVFNTNEQzExRjhDRjlGMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxl
UGFnZUVkaXRvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUVFNTNF
NjExRjhDRkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUVk
aXRvckNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNDM5QjYzMjM0
NTQ2M0EwMDExREUwQiAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkluZm8uaDsgcGF0aCA9IE5ldHdvcmsvTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFMzk2MjhEMTIzOTVFMTQyMDA2NThFQ0QgLyogV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzOTYyOEQy
MjM5NUUxNDMwMDY1OEVDRCAvKiBXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcwMjFERTY1RjcwMDM3RjBEQiAv
KiBTY3JvbGxlclBhaXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
b2xsZXJQYWlyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MDQ5MDcxMjFE
RTY1RjcwMDM3RjBEQiAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlTWFj
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVSZW1vdGVNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFNDA0OTA3MjIxREU2NUY3MDAzN0YwREIgLyogU2Nyb2xsZXJQYWlyTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsZXJQYWlyTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTg1Nyw2ICs1ODYxLDggQEAKIAkJCQkyRDI4
RjNFMzE4ODVDQ0MxMDA0QjlFQUUgLyogV2ViRnJhbWVMb2FkZXJDbGllbnRJT1MubW0gKi8sCiAJ
CQkJQTFDNTEyQzYxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuY3Bw
ICovLAogCQkJCUExQzUxMkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xp
ZW50LmggKi8sCisJCQkJRTM5NjI4RDEyMzk1RTE0MjAwNjU4RUNEIC8qIFdlYlNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudC5jcHAgKi8sCisJCQkJRTM5NjI4RDIyMzk1RTE0MzAwNjU4RUNEIC8qIFdl
YlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBpb3M7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTAwOTEsNiArMTAwOTcsNyBAQAogCQkJCTdD
MzYxRDczMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDkxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVw
TWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCRUI2MkMxRjNBNUFENzAwNTAyOUI5IC8qIFdl
YlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM5NjI4RDQyMzk1
RTE0MzAwNjU4RUNEIC8qIFdlYlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUM4REQzODAxRkU0NTIxNjAwRjJBNTU2IC8qIFdlYnNpdGVBdXRvcGxheVBvbGlj
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDcxQTlDREY5NjAwOEI0REZFIC8qIFdlYnNp
dGVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRERkUgLyog
V2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLApAQCAtMTE2MjQsNiArMTE2MzEsNyBA
QAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyQyAv
KiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUUzOTYyOEQzMjM5NUUxNDMwMDY1OEVDRCAvKiBXZWJTaGFy
ZWREZXZpY2VNb3Rpb25DbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMDYwRTExNjU0
MzE4NTAwRjMyODFDIC8qIFdlYlNvY2tldENoYW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNUMwQjE3NzkxRTdDODgyMTAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVh
bU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTI4N0Q0RTIyNUQxRUNC
MDA5QTNFMjYgLyogV2ViU29ja2V0VGFza0NvY29hLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2hhcmVkRGV2aWNlTW90
aW9uQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmNwcAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2hhcmVkRGV2
aWNlTW90aW9uQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYxIEBACisvKgor
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgor
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgor
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJXZWJTaGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaCIKKworI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNs
dWRlICJXZWJQYWdlLmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKKworI2lu
Y2x1ZGUgPFdlYkNvcmUvV2ViQ29yZU1vdGlvbk1hbmFnZXJDbGllbnQuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK3ZvaWQgV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50OjpzdGFydFVwZGF0
aW5nKFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQpCit7CisgICAg
aWYgKG1fY2xpZW50cy5pc0VtcHR5KCkgJiYgbV9wYWdlKQorICAgICAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbigpKTsKKyAg
ICBtX2NsaWVudHMuYWRkKCZjbGllbnQpOworfQorCit2b2lkIFdlYlNoYXJlZERldmljZU1vdGlv
bkNsaWVudDo6c3RvcFVwZGF0aW5nKFdlYkNvcmU6OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50
JiBjbGllbnQpCit7CisgICAgaWYgKG1fY2xpZW50cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAobV9jbGllbnRzLmlzRW1wdHkoKSAmJiBtX3BhZ2UpCisgICAgICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24o
KSk7Cit9CisKK3ZvaWQgV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50Ojptb3Rpb25DaGFuZ2Vk
KGRvdWJsZSB4QWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2Nl
bGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlB
Y2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGlu
Z0dyYXZpdHksIGRvdWJsZSB4Um90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91
YmxlIHpSb3RhdGlvblJhdGUpCit7CisgICAgZm9yIChhdXRvIGNsaWVudCA6IG1fY2xpZW50cykK
KyAgICAgICAgY2xpZW50LT5tb3Rpb25DaGFuZ2VkKHhBY2NlbGVyYXRpb24sIHlBY2NlbGVyYXRp
b24sIHpBY2NlbGVyYXRpb24sIHhBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCB5QWNjZWxl
cmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIHhS
b3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGUsIHpSb3RhdGlvblJhdGUpOworfQorCit9OworCisj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJT
aGFyZWREZXZpY2VNb3Rpb25DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50LmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlNoYXJlZERldmljZU1vdGlvbkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVk
RGV2aWNlTW90aW9uQ2xpZW50Lmg+CisKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1
ZGUgPHd0Zi9XZWFrUHRyLmg+CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUo
REVWSUNFX09SSUVOVEFUSU9OKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFn
ZTsKKworY2xhc3MgV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50IGZpbmFsIDogcHVibGljIFdl
YkNvcmU6OlNoYXJlZERldmljZU1vdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgV2ViU2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50KFdlYlBhZ2Um
IHBhZ2UpCisgICAgICAgIDogbV9wYWdlKFdURjo6bWFrZVdlYWtQdHIocGFnZSkpCisgICAgewor
ICAgIH0KKworICAgIHZvaWQgc3RhcnRVcGRhdGluZyhXZWJDb3JlOjpXZWJDb3JlTW90aW9uTWFu
YWdlckNsaWVudCYpIG92ZXJyaWRlOworICAgIHZvaWQgc3RvcFVwZGF0aW5nKFdlYkNvcmU6Oldl
YkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50Jikgb3ZlcnJpZGU7CisKKyAgICB2b2lkIG1vdGlvbkNo
YW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBkb3VibGUsIGRvdWJsZSkgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgICAgV1RGOjpXZWFr
UHRyPFdlYlBhZ2U+IG1fcGFnZTsKKyAgICBIYXNoU2V0PFdlYkNvcmU6OldlYkNvcmVNb3Rpb25N
YW5hZ2VyQ2xpZW50Kj4gbV9jbGllbnRzOworfTsKKworfQorCisjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNTMw
MTQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisjaW5jbHVkZSAiV2ViU2hhcmVkRGV2aWNl
TW90aW9uQ2xpZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1l
c3BhY2UgSlNDOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC01MDEsNiArNTA1LDEwIEBA
IFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50aWZpZXIgcGFnZUlELCAKICNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NYW5p
ZmVzdCA9IHBhcmFtZXRlcnMuYXBwbGljYXRpb25NYW5pZmVzdDsKICNlbmRpZgorICAgIAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAg
cGFnZUNvbmZpZ3VyYXRpb24uc2hhcmVkRGV2aWNlTW90aW9uQ2xpZW50ID0gbmV3IFdlYlNoYXJl
ZERldmljZU1vdGlvbkNsaWVudCgqdGhpcyk7CisjZW5kaWYKIAogICAgIG1fcGFnZSA9IG1ha2VV
bmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikpOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAyNTMwMTQpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyNDQsNiArMTI0NCwxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBvdmVy
cmlkZGVuTWVkaWFUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9vdmVycmlkZGVuTWVkaWFUeXBlOyB9
CiAgICAgdm9pZCBzZXRPdmVycmlkZGVuTWVkaWFUeXBlKGNvbnN0IFN0cmluZyYpOwogICAgIAor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisg
ICAgdm9pZCBkZXZpY2VNb3Rpb25DaGFuZ2VkKGRvdWJsZSB4QWNjZWxlcmF0aW9uLCBkb3VibGUg
eUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBk
b3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB4Um90YXRpb25SYXRl
LCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3RhdGlvblJhdGUpOworI2VuZGlmCisK
IHByaXZhdGU6CiAgICAgV2ViUGFnZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyYmKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTMwMTQpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCSh3
b3JraW5nIGNvcHkpCkBAIC01ODMsNCArNTgzLDggQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZChlbnVtOnVpbgogICAgIENvbXBsZXRlVGV4dE1hbmlwdWxhdGlvbihXZWJDb3JlOjpU
ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6SXRlbUlkZW50aWZpZXIgaXRlbUlELCBWZWN0b3I8
V2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6Ok1hbmlwdWxhdGlvblRva2VuPiB0
b2tlbnMpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXI6Ok1hbmlwdWxhdGlvblJlc3VsdCByZXN1bHQpIEFzeW5jCiAgICAgCiAgICAgU2V0T3ZlcnJp
ZGRlbk1lZGlhVHlwZShTdHJpbmcgbWVkaWFUeXBlKQorICAgIAorI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgRGV2aWNlTW90aW9uQ2hh
bmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRvdWJsZSB6
QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJs
ZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRpb25JbmNs
dWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlvblJhdGUs
IGRvdWJsZSB6Um90YXRpb25SYXRlKQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQkocmV2aXNpb24gMjUz
MDE0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQwODgsNiArNDA4OCwxNCBAQCB2b2lkIFdlYlBhZ2U6OnJl
cXVlc3RQYXNzd29yZEZvclF1aWNrTG9vCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKK3ZvaWQgV2ViUGFnZTo6ZGV2aWNlTW90aW9uQ2hhbmdlZChkb3VibGUgeEFj
Y2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRvdWJsZSB6QWNjZWxlcmF0aW9uLCBk
b3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB5QWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBk
b3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlvblJhdGUsIGRvdWJsZSB6Um90YXRp
b25SYXRlKQoreworICAgIGlmIChjb3JlUGFnZSgpICYmIGNvcmVQYWdlKCktPnNoYXJlZERldmlj
ZU1vdGlvbkNsaWVudCgpKQorICAgICAgICBjb3JlUGFnZSgpLT5zaGFyZWREZXZpY2VNb3Rpb25D
bGllbnQoKS0+bW90aW9uQ2hhbmdlZCh4QWNjZWxlcmF0aW9uLCB5QWNjZWxlcmF0aW9uLCB6QWNj
ZWxlcmF0aW9uLCB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgeUFjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHksICB6QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgeFJvdGF0aW9u
UmF0ZSwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385207</attachid>
            <date>2019-12-09 16:24:20 -0800</date>
            <delta_ts>2019-12-10 10:43:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204770-20191209162419.patch</filename>
            <type>text/plain</type>
            <size>26750</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE5LTEyLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBDYWxscyB0byB0
aGUgZGV2aWNlIG1vdGlvbiBBUEkgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDc3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZXZpY2Ug
bW90aW9uIEFQSSBvbiBpT1MgaXMgY29tbXVuaWNhdGluZyB3aXRoIGlvaGlkZXZlbnRzeXN0ZW0u
IFNpbmNlIG1hY2ggbG9va3VwIHRvIHRoaXMgZGFlbW9uCisgICAgICAgIHdpbGwgYmUgY2xvc2Vk
LCB0aGUgY2FsbHMgdG8gdGhpcyBBUEkgc2hvdWxkIGJlIG1vdmVkIGZyb20gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1l
bnRzIGZvcndhcmRpbmcgb2YgdGhlIGRldmljZSBvcmllbnRhdGlvbiByZXF1ZXN0cyB0byB0aGUg
VUkgcHJvY2VzcyB0aHJvdWdoIHRoZQorICAgICAgICBjbGFzcywgRGV2aWNlT3JpZW50YXRpb25V
cGRhdGVQcm92aWRlciwgd2hpY2ggaXMgc3ViY2xhc3NlZCBieSBXZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyIGluCisgICAgICAgIG1vZGVybiBXZWJLaXQuIFRoaXMgY2xhc3MgaW1w
bGVtZW50cyBmb3J3YXJkaW5nIG9mIHRoZSByZXF1ZXN0cyB0byB0aGUgVUkgcHJvY2VzcywgYW5k
IHJlY2VpdmVzCisgICAgICAgIGRldmljZSBvcmllbnRhdGlvbiB1cGRhdGVzIGZyb20gdGhlIFVJ
IHByb2Nlc3MuIEFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3Mgd2lsbCBiZSBzaGFyZWQgYnkgYWxs
CisgICAgICAgIGRldmljZSBvcmllbnRhdGlvbiBjbGllbnRzIG9uIGEgcGFnZSwgYW5kIHBhc3Nl
ZCBhcyBwYXJ0IG9mIHRoZSBwYWdlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycy4gT24KKyAgICAg
ICAgdGhlIFVJIHByb2Nlc3Mgc2lkZSwgdGhlIGNsYXNzIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXJQcm94eSBhdHRhY2hlZCB0byB0aGUgV2ViIHBhZ2UKKyAgICAgICAgcHJveHkg
aXMgdGFraW5nIGNhcmUgb2YgY2FsbGluZyB0aGUgZGV2aWNlIG9yaWVudGF0aW9uIEFQSSB0aHJv
dWdoIHRoZSBleGlzdGluZyBXZWJDb3JlTW90aW9uTWFuYWdlcgorICAgICAgICBPYmplY3RpdmUt
QyBjbGFzcywgYW5kIHNlbmQgZGV2aWNlIG9yaWVudGF0aW9uIHVwZGF0ZXMgYmFjayB0byB0aGUg
V2ViIHByb2Nlc3MuIEFsc28sIHVzZSBhIHdlYWsKKyAgICAgICAgaGFzaCBzZXQgb2YgY2xpZW50
cyBpbiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRvbS9Eb2N1
bWVudC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW06CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OkRldmljZU1vdGlvbkNsaWVudElP
Uyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpzdG9wVXBkYXRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpkZXZpY2VNb3Rp
b25Db250cm9sbGVyRGVzdHJveWVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
bkNsaWVudElPUzo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbkNsaWVudElPUzo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZU9yaWVudGF0aW9uQ2xpZW50SU9TOjpkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL01vdGlvbk1hbmFnZXJDbGllbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQ6Om9yaWVudGF0aW9uQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50Ojptb3Rpb25DaGFuZ2VkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW06CisgICAgICAgICgtW1dlYkNv
cmVNb3Rpb25NYW5hZ2VyIGFkZE1vdGlvbkNsaWVudDpdKToKKyAgICAgICAgKC1bV2ViQ29yZU1v
dGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50Ol0pOgorICAgICAgICAoLVtXZWJDb3JlTW90
aW9uTWFuYWdlciBjaGVja0NsaWVudFN0YXR1c10pOgorICAgICAgICAoLVtXZWJDb3JlTW90aW9u
TWFuYWdlciBzZW5kQWNjZWxlcm9tZXRlckRhdGE6XSk6CisgICAgICAgICgtW1dlYkNvcmVNb3Rp
b25NYW5hZ2VyIHNlbmRNb3Rpb25EYXRhOndpdGhIZWFkaW5nOl0pOgorCiAyMDE5LTEyLTA5ICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCBzcGVjdWxhdGl2ZSB0dk9TIGJ1aWxkIGZpeCBhZnRlciByMjUzMjMxLgpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjMsNyArNTYzLDcgQEAgRG9jdW1lbnQ6
OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgVQogI2VuZGlmCiAgICAgLCBtX2xvYWRFdmVu
dERlbGF5VGltZXIoKnRoaXMsICZEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKQog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0g
ICAgLCBtX2RldmljZU1vdGlvbkNsaWVudChtYWtlVW5pcXVlPERldmljZU1vdGlvbkNsaWVudElP
Uz4oKSkKKyAgICAsIG1fZGV2aWNlTW90aW9uQ2xpZW50KG1ha2VVbmlxdWU8RGV2aWNlTW90aW9u
Q2xpZW50SU9TPihwYWdlKCkgPyBwYWdlKCktPmRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlk
ZXIoKSA6IG51bGxwdHIpKQogICAgICwgbV9kZXZpY2VNb3Rpb25Db250cm9sbGVyKG1ha2VVbmlx
dWU8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4oKm1fZGV2aWNlTW90aW9uQ2xpZW50KSkKICAgICAs
IG1fZGV2aWNlT3JpZW50YXRpb25DbGllbnQobWFrZVVuaXF1ZTxEZXZpY2VPcmllbnRhdGlvbkNs
aWVudElPUz4ocGFnZSgpID8gcGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
KCkgOiBudWxscHRyKSkKICAgICAsIG1fZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKG1ha2VV
bmlxdWU8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPigqbV9kZXZpY2VPcmllbnRhdGlvbkNs
aWVudCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xp
ZW50SU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0Rldmlj
ZU1vdGlvbkNsaWVudElPUy5oCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDE1ICszMCwxNyBAQAogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNsaWVudC5oIgogI2luY2x1ZGUg
IkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgi
CisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5oIgorI2luY2x1ZGUg
Ik1vdGlvbk1hbmFnZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIE9CSkNf
Q0xBU1MgV2ViQ29yZU1vdGlvbk1hbmFnZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgRGV2aWNlTW90aW9uQ2xpZW50SU9TIDogcHVibGljIERldmljZU1vdGlvbkNsaWVudCB7Citj
bGFzcyBEZXZpY2VNb3Rpb25DbGllbnRJT1MgOiBwdWJsaWMgRGV2aWNlTW90aW9uQ2xpZW50LCBw
dWJsaWMgTW90aW9uTWFuYWdlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgRGV2aWNlTW90aW9uQ2xp
ZW50SU9TKCk7CisgICAgRGV2aWNlTW90aW9uQ2xpZW50SU9TKFJlZlB0cjxEZXZpY2VPcmllbnRh
dGlvblVwZGF0ZVByb3ZpZGVyPiYmKTsKICAgICB+RGV2aWNlTW90aW9uQ2xpZW50SU9TKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzZXRDb250cm9sbGVyKERldmljZU1vdGlvbkNvbnRyb2xsZXIqKSBv
dmVycmlkZTsKICAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKSBvdmVycmlkZTsKQEAgLTQ2LDEzICs0
OCwxNCBAQCBwdWJsaWM6CiAgICAgRGV2aWNlTW90aW9uRGF0YSogbGFzdE1vdGlvbigpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIG92
ZXJyaWRlOwogCi0gICAgdm9pZCBtb3Rpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUs
IGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpOworICAgIHZv
aWQgbW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAg
ICBXZWJDb3JlTW90aW9uTWFuYWdlciogbV9tb3Rpb25NYW5hZ2VyOwotICAgIERldmljZU1vdGlv
bkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKKyAgICBXZWJDb3JlTW90aW9uTWFuYWdlciogbV9t
b3Rpb25NYW5hZ2VyIHsgbnVsbHB0ciB9OworICAgIERldmljZU1vdGlvbkNvbnRyb2xsZXIqIG1f
Y29udHJvbGxlciB7IG51bGxwdHIgfTsKICAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gbV9j
dXJyZW50RGV2aWNlTW90aW9uRGF0YTsKLSAgICBib29sIG1fdXBkYXRpbmc7CisgICAgUmVmUHRy
PERldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI+IG1fZGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlcjsKKyAgICBib29sIG1fdXBkYXRpbmcgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0Rldmlj
ZU1vdGlvbkNsaWVudElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9TLm1tCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlTW90aW9uQ2xpZW50SU9TLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zMywxMCArMzMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLURldmlj
ZU1vdGlvbkNsaWVudElPUzo6RGV2aWNlTW90aW9uQ2xpZW50SU9TKCkKK0RldmljZU1vdGlvbkNs
aWVudElPUzo6RGV2aWNlTW90aW9uQ2xpZW50SU9TKFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyPiYmIGRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIpCiAgICAgOiBE
ZXZpY2VNb3Rpb25DbGllbnQoKQotICAgICwgbV9tb3Rpb25NYW5hZ2VyKG51bGxwdHIpCi0gICAg
LCBtX3VwZGF0aW5nKDApCisgICAgLCBtX2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIo
V1RGTW92ZShkZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyKSkKIHsKIH0KIApAQCAtNTMs
NiArNTIsMTEgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRpbgogewog
ICAgIG1fdXBkYXRpbmcgPSB0cnVlOwogCisgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlcikgeworICAgICAgICBtX2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIt
PnN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24oKnRoaXMpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgaWYgKCFtX21vdGlvbk1hbmFnZXIpCiAgICAgICAgIG1fbW90aW9uTWFuYWdlciA9
IFtXZWJDb3JlTW90aW9uTWFuYWdlciBzaGFyZWRNYW5hZ2VyXTsKIApAQCAtNjMsNiArNjcsMTEg
QEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0b3BVcGRhdGluZwogewogICAgIG1fdXBk
YXRpbmcgPSBmYWxzZTsKIAorICAgIGlmIChtX2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlk
ZXIpIHsKKyAgICAgICAgbV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLT5zdG9wVXBk
YXRpbmdEZXZpY2VNb3Rpb24oKnRoaXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
Ly8gUmVtb3ZlIG91cnNlbHZlcyBhcyB0aGUgbW90aW9uIGNsaWVudCBzbyB3ZSB3b24ndCBnZXQg
dXBkYXRlcy4KICAgICBbbV9tb3Rpb25NYW5hZ2VyIHJlbW92ZU1vdGlvbkNsaWVudDp0aGlzXTsK
IH0KQEAgLTc0LDYgKzgzLDExIEBAIERldmljZU1vdGlvbkRhdGEqIERldmljZU1vdGlvbkNsaWVu
dElPUzoKIAogdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRJT1M6OmRldmljZU1vdGlvbkNvbnRyb2xs
ZXJEZXN0cm95ZWQoKQogeworICAgIGlmIChtX2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlk
ZXIpIHsKKyAgICAgICAgbV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLT5zdG9wVXBk
YXRpbmdEZXZpY2VNb3Rpb24oKnRoaXMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
W21fbW90aW9uTWFuYWdlciByZW1vdmVNb3Rpb25DbGllbnQ6dGhpc107CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlT3JpZW50YXRp
b25DbGllbnRJT1MubW0JKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9EZXZpY2VPcmllbnRhdGlvbkNsaWVudElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAt
NTMsNyArNTMsNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50SU9TOjpzdGFydFVwCiAg
ICAgbV91cGRhdGluZyA9IHRydWU7CiAKICAgICBpZiAobV9kZXZpY2VPcmllbnRhdGlvblVwZGF0
ZVByb3ZpZGVyKSB7Ci0gICAgICAgIG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci0+
c3RhcnRVcGRhdGluZygqdGhpcyk7CisgICAgICAgIG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlci0+c3RhcnRVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKCp0aGlzKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9u
Q2xpZW50SU9TOjpzdG9wVXBkCiAgICAgbV91cGRhdGluZyA9IGZhbHNlOwogCiAgICAgaWYgKG1f
ZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcikgewotICAgICAgICBtX2RldmljZU9yaWVu
dGF0aW9uVXBkYXRlUHJvdmlkZXItPnN0b3BVcGRhdGluZygqdGhpcyk7CisgICAgICAgIG1fZGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci0+c3RvcFVwZGF0aW5nRGV2aWNlT3JpZW50YXRp
b24oKnRoaXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC04NCw3ICs4NCw3IEBAIERl
dmljZU9yaWVudGF0aW9uRGF0YSogRGV2aWNlT3JpZW50YXRpb24KIHZvaWQgRGV2aWNlT3JpZW50
YXRpb25DbGllbnRJT1M6OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCiB7
CiAgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcikgewotICAgICAgICBt
X2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXItPnN0b3BVcGRhdGluZygqdGhpcyk7Cisg
ICAgICAgIG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci0+c3RvcFVwZGF0aW5nRGV2
aWNlT3JpZW50YXRpb24oKnRoaXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyLmgJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDEwICszNywxNCBAQCBjbGFzcyBEZXZpY2VPcmllbnRhdGlvblVwZGF0
ZVByb3ZpZGVyIDogCiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlcigpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoTW90aW9u
TWFuYWdlckNsaWVudCYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKE1vdGlv
bk1hbmFnZXJDbGllbnQmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmdEZXZp
Y2VPcmllbnRhdGlvbihNb3Rpb25NYW5hZ2VyQ2xpZW50JikgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBzdG9wVXBkYXRpbmdEZXZpY2VPcmllbnRhdGlvbihNb3Rpb25NYW5hZ2VyQ2xpZW50JikgPSAw
OworCisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24oTW90aW9uTWFu
YWdlckNsaWVudCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nRGV2aWNlTW90
aW9uKE1vdGlvbk1hbmFnZXJDbGllbnQmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNl
T3JpZW50YXRpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91Ymxl
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRldmljZU1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJs
ZSkgPSAwOwogICAgIAogcHJvdGVjdGVkOgogICAgIERldmljZU9yaWVudGF0aW9uVXBkYXRlUHJv
dmlkZXIoKSA9IGRlZmF1bHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTW90
aW9uTWFuYWdlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9Nb3Rpb25NYW5hZ2VyQ2xpZW50LmgJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9Nb3Rpb25NYW5hZ2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgTW90aW9uTWFuYWdlckNsaWVudCA6IHB1YmxpYyBDYW5N
YQogcHVibGljOgogICAgIHZpcnR1YWwgfk1vdGlvbk1hbmFnZXJDbGllbnQoKSB7IH07CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgb3JpZW50YXRpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUs
IGRvdWJsZSwgZG91YmxlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIG9yaWVudGF0aW9uQ2hhbmdl
ZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgeyB9CisgICAgdmlydHVh
bCB2b2lkIG1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgeyB9CiB9OwogCiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2Vy
LmgJKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJD
b3JlTW90aW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIGNsYXNz
IE1vdGlvbk1hbmFnZXJDbGllbnQ7CiBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIFdlYkNvcmVN
b3Rpb25NYW5hZ2VyIDogTlNPYmplY3QgewogICAgIENNTW90aW9uTWFuYWdlciogbV9tb3Rpb25N
YW5hZ2VyOwogICAgIENMTG9jYXRpb25NYW5hZ2VyKiBtX2xvY2F0aW9uTWFuYWdlcjsKLSAgICBI
YXNoU2V0PFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudElPUyo+IG1fZGV2aWNlTW90aW9uQ2xp
ZW50czsKKyAgICBXZWFrSGFzaFNldDxXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50PiBtX2Rl
dmljZU1vdGlvbkNsaWVudHM7CiAgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6TW90aW9uTWFuYWdl
ckNsaWVudD4gbV9kZXZpY2VPcmllbnRhdGlvbkNsaWVudHM7CiAgICAgTlNUaW1lciogbV91cGRh
dGVUaW1lcjsKICAgICBCT09MIG1fZ3lyb0F2YWlsYWJsZTsKQEAgLTUyLDggKzUyLDggQEAgV0VC
Q09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJDb3JlTW90aW9uTQogfQogCiArIChXZWJDb3JlTW90
aW9uTWFuYWdlciAqKXNoYXJlZE1hbmFnZXI7Ci0tICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2Vi
Q29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TICopY2xpZW50OwotLSAodm9pZClyZW1vdmVNb3Rp
b25DbGllbnQ6KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudElPUyAqKWNsaWVudDsKKy0gKHZv
aWQpYWRkTW90aW9uQ2xpZW50OihXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50ICopY2xpZW50
OworLSAodm9pZClyZW1vdmVNb3Rpb25DbGllbnQ6KFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGll
bnQgKiljbGllbnQ7CiAtICh2b2lkKWFkZE9yaWVudGF0aW9uQ2xpZW50OihXZWJDb3JlOjpNb3Rp
b25NYW5hZ2VyQ2xpZW50ICopY2xpZW50OwogLSAodm9pZClyZW1vdmVPcmllbnRhdGlvbkNsaWVu
dDooV2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudCAqKWNsaWVudDsKIC0gKEJPT0wpZ3lyb0F2
YWlsYWJsZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9u
TWFuYWdlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
Q29yZU1vdGlvbk1hbmFnZXIubW0JKHJldmlzaW9uIDI1MzI5NikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJDb3JlTW90aW9uTWFuYWdlci5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTAwLDE2ICsxMDAsMTYgQEAgLSAodm9pZClkZWFsbG9jCiAgICAgW3N1cGVyIGRlYWxsb2NdOwog
fQogCi0tICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50
SU9TICopY2xpZW50CistICh2b2lkKWFkZE1vdGlvbkNsaWVudDooV2ViQ29yZTo6TW90aW9uTWFu
YWdlckNsaWVudCAqKWNsaWVudAogewotICAgIG1fZGV2aWNlTW90aW9uQ2xpZW50cy5hZGQoY2xp
ZW50KTsKKyAgICBtX2RldmljZU1vdGlvbkNsaWVudHMuYWRkKCpjbGllbnQpOwogICAgIGlmICht
X2luaXRpYWxpemVkKQogICAgICAgICBbc2VsZiBjaGVja0NsaWVudFN0YXR1c107CiB9CiAKLS0g
KHZvaWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1Mg
KiljbGllbnQKKy0gKHZvaWQpcmVtb3ZlTW90aW9uQ2xpZW50OihXZWJDb3JlOjpNb3Rpb25NYW5h
Z2VyQ2xpZW50ICopY2xpZW50CiB7Ci0gICAgbV9kZXZpY2VNb3Rpb25DbGllbnRzLnJlbW92ZShj
bGllbnQpOworICAgIG1fZGV2aWNlTW90aW9uQ2xpZW50cy5yZW1vdmUoKmNsaWVudCk7CiAgICAg
aWYgKG1faW5pdGlhbGl6ZWQpCiAgICAgICAgIFtzZWxmIGNoZWNrQ2xpZW50U3RhdHVzXTsKIH0K
QEAgLTE3MSw3ICsxNzEsNyBAQCAtICh2b2lkKWNoZWNrQ2xpZW50U3RhdHVzCiAgICAgLy8gYmUg
bm8gY2hhbmNlIHRoYXQgbV9tb3Rpb25NYW5hZ2VyIGhhcyBub3QgYmVlbiBjcmVhdGVkLgogICAg
IEFTU0VSVChtX21vdGlvbk1hbmFnZXIpOwogCi0gICAgaWYgKG1fZGV2aWNlTW90aW9uQ2xpZW50
cy5zaXplKCkgfHwgbV9kZXZpY2VPcmllbnRhdGlvbkNsaWVudHMuY29tcHV0ZVNpemUoKSkgewor
ICAgIGlmIChtX2RldmljZU1vdGlvbkNsaWVudHMuY29tcHV0ZVNpemUoKSB8fCBtX2RldmljZU9y
aWVudGF0aW9uQ2xpZW50cy5jb21wdXRlU2l6ZSgpKSB7CiAgICAgICAgIGlmIChtX2d5cm9BdmFp
bGFibGUpCiAgICAgICAgICAgICBbbV9tb3Rpb25NYW5hZ2VyIHN0YXJ0RGV2aWNlTW90aW9uVXBk
YXRlc107CiAgICAgICAgIGVsc2UKQEAgLTIyNSw4ICsyMjUsMTUgQEAgLSAodm9pZClzZW5kQWNj
ZWxlcm9tZXRlckRhdGE6KENNQWNjZWxlcgogICAgIFdlYlRocmVhZFJ1biheewogICAgICAgICBD
TUFjY2VsZXJhdGlvbiBhY2NlbCA9IG5ld0FjY2VsZXJhdGlvbi5hY2NlbGVyYXRpb247CiAKLSAg
ICAgICAgZm9yIChhdXRvJiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9kZXZpY2VNb3Rpb25DbGll
bnRzKSkKLSAgICAgICAgICAgIGNsaWVudC0+bW90aW9uQ2hhbmdlZCgwLCAwLCAwLCBhY2NlbC54
ICoga0dyYXZpdHksIGFjY2VsLnkgKiBrR3Jhdml0eSwgYWNjZWwueiAqIGtHcmF2aXR5LCAwLCAw
LCAwKTsKKyAgICAgICAgVmVjdG9yPFdlYWtQdHI8V2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVu
dD4+IG1vdGlvbkNsaWVudHM7CisgICAgICAgIG1vdGlvbkNsaWVudHMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShtX2RldmljZU1vdGlvbkNsaWVudHMuY29tcHV0ZVNpemUoKSk7CisgICAgICAgIGZv
ciAoYXV0byYgY2xpZW50IDogbV9kZXZpY2VNb3Rpb25DbGllbnRzKQorICAgICAgICAgICAgbW90
aW9uQ2xpZW50cy51bmNoZWNrZWRBcHBlbmQobWFrZVdlYWtQdHIoJmNsaWVudCkpOworCisgICAg
ICAgIGZvciAoYXV0byYgY2xpZW50IDogbW90aW9uQ2xpZW50cykgeworICAgICAgICAgICAgaWYg
KGNsaWVudCkKKyAgICAgICAgICAgICAgICBjbGllbnQtPm1vdGlvbkNoYW5nZWQoMCwgMCwgMCwg
YWNjZWwueCAqIGtHcmF2aXR5LCBhY2NlbC55ICoga0dyYXZpdHksIGFjY2VsLnogKiBrR3Jhdml0
eSwgMCwgMCwgMCk7CisgICAgICAgIH0KICAgICB9KTsKIH0KIApAQCAtMjQzLDggKzI1MCwxNSBA
QCAtICh2b2lkKXNlbmRNb3Rpb25EYXRhOihDTURldmljZU1vdGlvbiAqCiAKICAgICAgICAgQ01S
b3RhdGlvblJhdGUgcm90YXRpb25SYXRlID0gbmV3TW90aW9uLnJvdGF0aW9uUmF0ZTsKIAotICAg
ICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNvcHlUb1ZlY3RvcihtX2RldmljZU1vdGlvbkNsaWVu
dHMpKQotICAgICAgICAgICAgY2xpZW50LT5tb3Rpb25DaGFuZ2VkKHVzZXJBY2NlbC54ICoga0dy
YXZpdHksIHVzZXJBY2NlbC55ICoga0dyYXZpdHksIHVzZXJBY2NlbC56ICoga0dyYXZpdHksIHRv
dGFsQWNjZWwueCAqIGtHcmF2aXR5LCB0b3RhbEFjY2VsLnkgKiBrR3Jhdml0eSwgdG90YWxBY2Nl
bC56ICoga0dyYXZpdHksIHJhZDJkZWcocm90YXRpb25SYXRlLngpLCByYWQyZGVnKHJvdGF0aW9u
UmF0ZS55KSwgcmFkMmRlZyhyb3RhdGlvblJhdGUueikpOworICAgICAgICBWZWN0b3I8V2Vha1B0
cjxXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50Pj4gbW90aW9uQ2xpZW50czsKKyAgICAgICAg
bW90aW9uQ2xpZW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fZGV2aWNlTW90aW9uQ2xpZW50
cy5jb21wdXRlU2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2RldmljZU1v
dGlvbkNsaWVudHMpCisgICAgICAgICAgICBtb3Rpb25DbGllbnRzLnVuY2hlY2tlZEFwcGVuZCht
YWtlV2Vha1B0cigmY2xpZW50KSk7CisgICAgICAgIAorICAgICAgICBmb3IgKGF1dG8mIGNsaWVu
dCA6IG1vdGlvbkNsaWVudHMpIHsKKyAgICAgICAgICAgIGlmIChjbGllbnQpCisgICAgICAgICAg
ICAgICAgY2xpZW50LT5tb3Rpb25DaGFuZ2VkKHVzZXJBY2NlbC54ICoga0dyYXZpdHksIHVzZXJB
Y2NlbC55ICoga0dyYXZpdHksIHVzZXJBY2NlbC56ICoga0dyYXZpdHksIHRvdGFsQWNjZWwueCAq
IGtHcmF2aXR5LCB0b3RhbEFjY2VsLnkgKiBrR3Jhdml0eSwgdG90YWxBY2NlbC56ICoga0dyYXZp
dHksIHJhZDJkZWcocm90YXRpb25SYXRlLngpLCByYWQyZGVnKHJvdGF0aW9uUmF0ZS55KSwgcmFk
MmRlZyhyb3RhdGlvblJhdGUueikpOworICAgICAgICB9CiAKICAgICAgICAgQ01BdHRpdHVkZSog
YXR0aXR1ZGUgPSBuZXdNb3Rpb24uYXR0aXR1ZGU7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NTMzMDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMyIEBACisyMDE5LTEyLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbaU9TXSBDYWxscyB0byB0aGUgZGV2aWNlIG1vdGlvbiBBUEkgc2hvdWxk
IGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNDc3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhlIGNsYXNzIFdlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXJQcm94eSB3aWxsIGhhbmRsZSBtZXNzYWdlcyB0byBzdGFydCBhbmQgc3Rv
cCB1cGRhdGluZyBkZXZpY2UgbW90aW9uCisgICAgICAgIGluIHRoZSBVSSBwcm9jZXNzLiBBbHNv
LCBhZGQgYSBtZXNzYWdlIHRvIHVwZGF0ZSB0aGUgZGV2aWNlIG1vdGlvbiBpbiB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzLiBJbiB0aGUgVUkgcHJvY2VzcywKKyAgICAgICAgdGhlIGRldmljZSBtb3Rp
b24gQVBJIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBhbHJlYWR5IGV4aXN0aW5nIFdlYkNvcmVNb3Rp
b25NYW5hZ2VyIGNsYXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dl
YkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94
eS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRl
clByb3h5OjpzdGFydFVwZGF0aW5nRGV2aWNlTW90aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5OjpzdG9wVXBkYXRpbmdEZXZpY2VN
b3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyUHJveHk6Om1vdGlvbkNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6OnN0YXJ0VXBkYXRpbmdE
ZXZpY2VPcmllbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXI6OnN0b3BVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6c3RhcnRVcGRhdGlu
Z0RldmljZU1vdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXI6OnN0b3BVcGRhdGluZ0RldmljZU1vdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6OmRldmljZU9yaWVudGF0aW9uQ2hh
bmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlk
ZXI6OmRldmljZU1vdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdGFydFVwZGF0aW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6c3RvcFVwZGF0aW5n
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW46
CisKIDIwMTktMTItMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWdyZXNzaW9uKHIyNDkzMjkpIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVxdWVzdFJlbmRl
clRyZWVTaXplTm90aWZpY2F0aW9uSWZOZWVkZWQoKSBzb21ldGltZXMgdXNlcyB3cm9uZyB3ZWJQ
YWdlSUQgZm9yIElQQwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYkRldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJv
eHkuaAkocmV2aXNpb24gMjUzMjk2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MiwxMSArNDIsMTUgQEAgcHVibGljOgogCiAgICAgdm9pZCBzdGFydFVwZGF0aW5nRGV2aWNl
T3JpZW50YXRpb24oKTsKICAgICB2b2lkIHN0b3BVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKCk7
Ci0gICAgCisKKyAgICB2b2lkIHN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24oKTsKKyAgICB2b2lk
IHN0b3BVcGRhdGluZ0RldmljZU1vdGlvbigpOworCiBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6
OldlYkNvcmVNb3Rpb25NYW5hZ2VyQ2xpZW50CiAgICAgdm9pZCBvcmllbnRhdGlvbkNoYW5nZWQo
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpIGZpbmFsOwotICAgIAorICAg
IHZvaWQgbW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJs
ZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBmaW5hbDsKKwogICAgIC8vIElQQzo6
TWVzc2FnZVJlY2VpdmVyCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tZXNzYWdl
cy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTMy
OTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGV2aWNlT3JpZW50YXRpb25V
cGRhdGVQcm92aWRlclByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw1ICsy
NCw3IEBACiBtZXNzYWdlcyAtPiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJv
eHkgTm90UmVmQ291bnRlZCB7CiAgICAgU3RhcnRVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKCk7
CiAgICAgU3RvcFVwZGF0aW5nRGV2aWNlT3JpZW50YXRpb24oKTsKKyAgICBTdGFydFVwZGF0aW5n
RGV2aWNlTW90aW9uKCk7CisgICAgU3RvcFVwZGF0aW5nRGV2aWNlTW90aW9uKCk7CiB9CiAjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyUHJveHkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tbQkocmV2
aXNpb24gMjUzMjk2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYkRldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTcsMTEg
KzU3LDI2IEBAIHZvaWQgV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclAKICAgICBb
W1dlYkNvcmVNb3Rpb25NYW5hZ2VyIHNoYXJlZE1hbmFnZXJdIHJlbW92ZU9yaWVudGF0aW9uQ2xp
ZW50OnRoaXNdOwogfQogCit2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQ
cm94eTo6c3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbigpCit7CisgICAgW1tXZWJDb3JlTW90aW9u
TWFuYWdlciBzaGFyZWRNYW5hZ2VyXSBhZGRNb3Rpb25DbGllbnQ6dGhpc107Cit9CisKK3ZvaWQg
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5OjpzdG9wVXBkYXRpbmdEZXZp
Y2VNb3Rpb24oKQoreworICAgIFtbV2ViQ29yZU1vdGlvbk1hbmFnZXIgc2hhcmVkTWFuYWdlcl0g
cmVtb3ZlTW90aW9uQ2xpZW50OnRoaXNdOworfQorCiB2b2lkIFdlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXJQcm94eTo6b3JpZW50YXRpb25DaGFuZ2VkKGRvdWJsZSBhbHBoYSwgZG91
YmxlIGJldGEsIGRvdWJsZSBnYW1tYSwgZG91YmxlIGNvbXBhc3NIZWFkaW5nLCBkb3VibGUgY29t
cGFzc0FjY3VyYWN5KQogewogICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJEZXZpY2VPcmll
bnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpEZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQoYWxwaGEsIGJl
dGEsIGdhbW1hLCBjb21wYXNzSGVhZGluZywgY29tcGFzc0FjY3VyYWN5KSk7CiB9CiAKK3ZvaWQg
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Ojptb3Rpb25DaGFuZ2VkKGRv
dWJsZSB4QWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVy
YXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlBY2Nl
bGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dy
YXZpdHksIGRvdWJsZSB4Um90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91Ymxl
IHpSb3RhdGlvblJhdGUpCit7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYkRldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6OkRldmljZU1vdGlvbkNoYW5nZWQoeEFjY2VsZXJhdGlv
biwgeUFjY2VsZXJhdGlvbiwgekFjY2VsZXJhdGlvbiwgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dy
YXZpdHksIHlBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCB6QWNjZWxlcmF0aW9uSW5jbHVk
aW5nR3Jhdml0eSwgeFJvdGF0aW9uUmF0ZSwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSkp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19G
QU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXIuY3BwCShyZXZpc2lvbiAyNTMyOTYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDI2ICs0OSw2MCBAQCBXZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyOjp+V2ViCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVtb3Zl
TWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlkZW50aWZpZXIpOwogfQogCi12b2lk
IFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6OnN0YXJ0VXBkYXRpbmcoV2ViQ29y
ZTo6TW90aW9uTWFuYWdlckNsaWVudCYgY2xpZW50KQordm9pZCBXZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyOjpzdGFydFVwZGF0aW5nRGV2aWNlT3JpZW50YXRpb24oV2ViQ29yZTo6
TW90aW9uTWFuYWdlckNsaWVudCYgY2xpZW50KQogewotICAgIGlmIChtX2NsaWVudHMuaXNFbXB0
eSgpICYmIG1fcGFnZSkKKyAgICBpZiAobV9kZXZpY2VPcmllbnRhdGlvbkNsaWVudHMuY29tcHV0
ZXNFbXB0eSgpICYmIG1fcGFnZSkKICAgICAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJE
ZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHk6OlN0YXJ0VXBkYXRpbmdEZXZpY2VP
cmllbnRhdGlvbigpKTsKLSAgICBtX2NsaWVudHMuYWRkKCZjbGllbnQpOworICAgIG1fZGV2aWNl
T3JpZW50YXRpb25DbGllbnRzLmFkZChjbGllbnQpOwogfQogCi12b2lkIFdlYkRldmljZU9yaWVu
dGF0aW9uVXBkYXRlUHJvdmlkZXI6OnN0b3BVcGRhdGluZyhXZWJDb3JlOjpNb3Rpb25NYW5hZ2Vy
Q2xpZW50JiBjbGllbnQpCit2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6
OnN0b3BVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGll
bnQmIGNsaWVudCkKIHsKLSAgICBpZiAobV9jbGllbnRzLmlzRW1wdHkoKSkKKyAgICBpZiAobV9k
ZXZpY2VPcmllbnRhdGlvbkNsaWVudHMuY29tcHV0ZXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
Ci0gICAgbV9jbGllbnRzLnJlbW92ZSgmY2xpZW50KTsKLSAgICBpZiAobV9jbGllbnRzLmlzRW1w
dHkoKSAmJiBtX3BhZ2UpCisgICAgbV9kZXZpY2VPcmllbnRhdGlvbkNsaWVudHMucmVtb3ZlKGNs
aWVudCk7CisgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25DbGllbnRzLmNvbXB1dGVzRW1wdHko
KSAmJiBtX3BhZ2UpCiAgICAgICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRGV2aWNlT3Jp
ZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5OjpTdG9wVXBkYXRpbmdEZXZpY2VPcmllbnRhdGlv
bigpKTsKIH0KIAordm9pZCBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdGFy
dFVwZGF0aW5nRGV2aWNlTW90aW9uKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmIGNsaWVu
dCkKK3sKKyAgICBpZiAobV9kZXZpY2VNb3Rpb25DbGllbnRzLmNvbXB1dGVzRW1wdHkoKSAmJiBt
X3BhZ2UpCisgICAgICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRGV2aWNlT3JpZW50YXRp
b25VcGRhdGVQcm92aWRlclByb3h5OjpTdGFydFVwZGF0aW5nRGV2aWNlTW90aW9uKCkpOworICAg
IG1fZGV2aWNlTW90aW9uQ2xpZW50cy5hZGQoY2xpZW50KTsKK30KKwordm9pZCBXZWJEZXZpY2VP
cmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oV2ViQ29y
ZTo6TW90aW9uTWFuYWdlckNsaWVudCYgY2xpZW50KQoreworICAgIGlmIChtX2RldmljZU1vdGlv
bkNsaWVudHMuY29tcHV0ZXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgbV9kZXZpY2VN
b3Rpb25DbGllbnRzLnJlbW92ZShjbGllbnQpOworICAgIGlmIChtX2RldmljZU1vdGlvbkNsaWVu
dHMuY29tcHV0ZXNFbXB0eSgpICYmIG1fcGFnZSkKKyAgICAgICAgbV9wYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHk6OlN0b3BVcGRhdGlu
Z0RldmljZU1vdGlvbigpKTsKK30KKwogdm9pZCBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVBy
b3ZpZGVyOjpkZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0
YSwgZG91YmxlIGdhbW1hLCBkb3VibGUgY29tcGFzc0hlYWRpbmcsIGRvdWJsZSBjb21wYXNzQWNj
dXJhY3kpCiB7Ci0gICAgZm9yIChhdXRvKiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9jbGllbnRz
KSkKLSAgICAgICAgY2xpZW50LT5vcmllbnRhdGlvbkNoYW5nZWQoYWxwaGEsIGJldGEsIGdhbW1h
LCBjb21wYXNzSGVhZGluZywgY29tcGFzc0FjY3VyYWN5KTsKKyAgICBWZWN0b3I8V2Vha1B0cjxX
ZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50Pj4gY2xpZW50czsKKyAgICBmb3IgKGF1dG8mIGNs
aWVudCA6IG1fZGV2aWNlT3JpZW50YXRpb25DbGllbnRzKQorICAgICAgICBjbGllbnRzLmFwcGVu
ZChtYWtlV2Vha1B0cigmY2xpZW50KSk7CisKKyAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNsaWVu
dHMpIHsKKyAgICAgICAgaWYgKGNsaWVudCkKKyAgICAgICAgICAgIGNsaWVudC0+b3JpZW50YXRp
b25DaGFuZ2VkKGFscGhhLCBiZXRhLCBnYW1tYSwgY29tcGFzc0hlYWRpbmcsIGNvbXBhc3NBY2N1
cmFjeSk7CisgICAgfQorfQorCit2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlk
ZXI6OmRldmljZU1vdGlvbkNoYW5nZWQoZG91YmxlIHhBY2NlbGVyYXRpb24sIGRvdWJsZSB5QWNj
ZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwgZG91YmxlIHhBY2NlbGVyYXRpb25JbmNs
dWRpbmdHcmF2aXR5LCBkb3VibGUgeUFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJs
ZSB6QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHhSb3RhdGlvblJhdGUsIGRv
dWJsZSB5Um90YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9uUmF0ZSkKK3sKKyAgICBWZWN0b3I8
V2Vha1B0cjxXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50Pj4gY2xpZW50czsKKyAgICBmb3Ig
KGF1dG8mIGNsaWVudCA6IG1fZGV2aWNlTW90aW9uQ2xpZW50cykKKyAgICAgICAgY2xpZW50cy5h
cHBlbmQobWFrZVdlYWtQdHIoJmNsaWVudCkpOworICAgIAorICAgIGZvciAoYXV0byYgY2xpZW50
IDogY2xpZW50cykgeworICAgICAgICBpZiAoY2xpZW50KQorICAgICAgICAgICAgY2xpZW50LT5t
b3Rpb25DaGFuZ2VkKHhBY2NlbGVyYXRpb24sIHlBY2NlbGVyYXRpb24sIHpBY2NlbGVyYXRpb24s
IHhBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eSwgIHpBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCB4Um90YXRpb25SYXRlLCB5Um90
YXRpb25SYXRlLCB6Um90YXRpb25SYXRlKTsKKyAgICB9CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0
ZVByb3ZpZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaAkocmV2aXNpb24g
MjUzMjk2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyAr
MzAsNyBAQAogCiAjaW5jbHVkZSA8V2ViQ29yZS9EZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyLmg+CiAKLSNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKSAmJiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpAQCAtNDYsMTYgKzQ2LDIwIEBAIHBy
aXZhdGU6CiAgICAgfldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIoKTsKIAogICAg
IC8vIFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIKLSAgICB2b2lkIHN0
YXJ0VXBkYXRpbmcoV2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudCYpIGZpbmFsOwotICAgIHZv
aWQgc3RvcFVwZGF0aW5nKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmKSBmaW5hbDsKKyAg
ICB2b2lkIHN0YXJ0VXBkYXRpbmdEZXZpY2VPcmllbnRhdGlvbihXZWJDb3JlOjpNb3Rpb25NYW5h
Z2VyQ2xpZW50JikgZmluYWw7CisgICAgdm9pZCBzdG9wVXBkYXRpbmdEZXZpY2VPcmllbnRhdGlv
bihXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50JikgZmluYWw7CisgICAgdm9pZCBzdGFydFVw
ZGF0aW5nRGV2aWNlTW90aW9uKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmKSBmaW5hbDsK
KyAgICB2b2lkIHN0b3BVcGRhdGluZ0RldmljZU1vdGlvbihXZWJDb3JlOjpNb3Rpb25NYW5hZ2Vy
Q2xpZW50JikgZmluYWw7CiAgICAgdm9pZCBkZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQoZG91Ymxl
LCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpIGZpbmFsOworICAgIHZvaWQgZGV2aWNl
TW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBmaW5hbDsKIAogICAgIC8vIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyLgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsK
ICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX3BhZ2VJZGVudGlmaWVyOwotICAgIEhhc2hT
ZXQ8V2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudCo+IG1fY2xpZW50czsKKyAgICBXZWFrSGFz
aFNldDxXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50PiBtX2RldmljZU9yaWVudGF0aW9uQ2xp
ZW50czsKKyAgICBXZWFrSGFzaFNldDxXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50PiBtX2Rl
dmljZU1vdGlvbkNsaWVudHM7CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNz
YWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci5tZXNzYWdlcy5pbgkocmV2
aXNpb24gMjUzMjk2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVzc2FnZXMuaW4JKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDUgKzIzLDYgQEAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogbWVzc2FnZXMgLT4gV2ViRGV2aWNlT3JpZW50YXRpb25V
cGRhdGVQcm92aWRlciB7CiAgICAgRGV2aWNlT3JpZW50YXRpb25DaGFuZ2VkKGRvdWJsZSBhbHBo
YSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSwgZG91YmxlIGNvbXBhc3NIZWFkaW5nLCBkb3Vi
bGUgY29tcGFzc0FjY3VyYWN5KQorICAgIERldmljZU1vdGlvbkNoYW5nZWQoZG91YmxlIHhBY2Nl
bGVyYXRpb24sIGRvdWJsZSB5QWNjZWxlcmF0aW9uLCBkb3VibGUgekFjY2VsZXJhdGlvbiwgZG91
YmxlIHhBY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgeUFjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB6QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91
YmxlIHhSb3RhdGlvblJhdGUsIGRvdWJsZSB5Um90YXRpb25SYXRlLCBkb3VibGUgelJvdGF0aW9u
UmF0ZSkKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385285</attachid>
            <date>2019-12-10 10:43:59 -0800</date>
            <delta_ts>2019-12-10 17:35:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204770-20191210104358.patch</filename>
            <type>text/plain</type>
            <size>27504</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE5LTEyLTEwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBDYWxscyB0byB0
aGUgZGV2aWNlIG1vdGlvbiBBUEkgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDc3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZXZpY2Ug
bW90aW9uIEFQSSBvbiBpT1MgaXMgY29tbXVuaWNhdGluZyB3aXRoIGlvaGlkZXZlbnRzeXN0ZW0u
IFNpbmNlIG1hY2ggbG9va3VwIHRvIHRoaXMgZGFlbW9uCisgICAgICAgIHdpbGwgYmUgY2xvc2Vk
LCB0aGUgY2FsbHMgdG8gdGhpcyBBUEkgc2hvdWxkIGJlIG1vdmVkIGZyb20gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4KKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1l
bnRzIGZvcndhcmRpbmcgb2YgdGhlIGRldmljZSBvcmllbnRhdGlvbiByZXF1ZXN0cyB0byB0aGUg
VUkgcHJvY2VzcyB0aHJvdWdoIHRoZQorICAgICAgICBjbGFzcywgRGV2aWNlT3JpZW50YXRpb25V
cGRhdGVQcm92aWRlciwgd2hpY2ggaXMgc3ViY2xhc3NlZCBieSBXZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyIGluCisgICAgICAgIG1vZGVybiBXZWJLaXQuIFRoaXMgY2xhc3MgaW1w
bGVtZW50cyBmb3J3YXJkaW5nIG9mIHRoZSByZXF1ZXN0cyB0byB0aGUgVUkgcHJvY2VzcywgYW5k
IHJlY2VpdmVzCisgICAgICAgIGRldmljZSBvcmllbnRhdGlvbiB1cGRhdGVzIGZyb20gdGhlIFVJ
IHByb2Nlc3MuIEFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3Mgd2lsbCBiZSBzaGFyZWQgYnkgYWxs
CisgICAgICAgIGRldmljZSBvcmllbnRhdGlvbiBjbGllbnRzIG9uIGEgcGFnZSwgYW5kIHBhc3Nl
ZCBhcyBwYXJ0IG9mIHRoZSBwYWdlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycy4gT24KKyAgICAg
ICAgdGhlIFVJIHByb2Nlc3Mgc2lkZSwgdGhlIGNsYXNzIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXJQcm94eSBhdHRhY2hlZCB0byB0aGUgV2ViIHBhZ2UKKyAgICAgICAgcHJveHkg
aXMgdGFraW5nIGNhcmUgb2YgY2FsbGluZyB0aGUgZGV2aWNlIG9yaWVudGF0aW9uIEFQSSB0aHJv
dWdoIHRoZSBleGlzdGluZyBXZWJDb3JlTW90aW9uTWFuYWdlcgorICAgICAgICBPYmplY3RpdmUt
QyBjbGFzcywgYW5kIHNlbmQgZGV2aWNlIG9yaWVudGF0aW9uIHVwZGF0ZXMgYmFjayB0byB0aGUg
V2ViIHByb2Nlc3MuIEFsc28sIHVzZSBhIHdlYWsKKyAgICAgICAgaGFzaCBzZXQgb2YgY2xpZW50
cyBpbiBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRvbS9Eb2N1
bWVudC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vaW9zL0RldmljZU1vdGlvbkNsaWVudElPUy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW06CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OkRldmljZU1vdGlvbkNsaWVudElP
Uyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1M6OnN0YXJ0VXBkYXRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpzdG9wVXBkYXRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpkZXZpY2VNb3Rp
b25Db250cm9sbGVyRGVzdHJveWVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
bkNsaWVudElPUzo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbkNsaWVudElPUzo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZU9yaWVudGF0aW9uQ2xpZW50SU9TOjpkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9EZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL01vdGlvbk1hbmFnZXJDbGllbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQ6Om9yaWVudGF0aW9uQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50Ojptb3Rpb25DaGFuZ2VkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIubW06CisgICAgICAgICgtW1dlYkNv
cmVNb3Rpb25NYW5hZ2VyIGFkZE1vdGlvbkNsaWVudDpdKToKKyAgICAgICAgKC1bV2ViQ29yZU1v
dGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50Ol0pOgorICAgICAgICAoLVtXZWJDb3JlTW90
aW9uTWFuYWdlciBjaGVja0NsaWVudFN0YXR1c10pOgorICAgICAgICAoLVtXZWJDb3JlTW90aW9u
TWFuYWdlciBzZW5kQWNjZWxlcm9tZXRlckRhdGE6XSk6CisgICAgICAgICgtW1dlYkNvcmVNb3Rp
b25NYW5hZ2VyIHNlbmRNb3Rpb25EYXRhOndpdGhIZWFkaW5nOl0pOgorCiAyMDE5LTEyLTEwICBB
bnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYmVoYXZp
b3IgdGhhdCBtYWtlcyA8YnI+IGJveGVzIDAtaGVpZ2h0IGluIHF1aXJrcyBtb2RlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2Myw3ICs1NjMsNyBAQCBEb2N1
bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVCiAjZW5kaWYKICAgICAsIG1fbG9h
ZEV2ZW50RGVsYXlUaW1lcigqdGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmly
ZWQpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKLSAgICAsIG1fZGV2aWNlTW90aW9uQ2xpZW50KG1ha2VVbmlxdWU8RGV2aWNlTW90aW9uQ2xp
ZW50SU9TPigpKQorICAgICwgbV9kZXZpY2VNb3Rpb25DbGllbnQobWFrZVVuaXF1ZTxEZXZpY2VN
b3Rpb25DbGllbnRJT1M+KHBhZ2UoKSA/IHBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlcigpIDogbnVsbHB0cikpCiAgICAgLCBtX2RldmljZU1vdGlvbkNvbnRyb2xsZXIobWFr
ZVVuaXF1ZTxEZXZpY2VNb3Rpb25Db250cm9sbGVyPigqbV9kZXZpY2VNb3Rpb25DbGllbnQpKQog
ICAgICwgbV9kZXZpY2VPcmllbnRhdGlvbkNsaWVudChtYWtlVW5pcXVlPERldmljZU9yaWVudGF0
aW9uQ2xpZW50SU9TPihwYWdlKCkgPyBwYWdlKCktPmRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJv
dmlkZXIoKSA6IG51bGxwdHIpKQogICAgICwgbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIo
bWFrZVVuaXF1ZTxEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+KCptX2RldmljZU9yaWVudGF0
aW9uQ2xpZW50KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rp
b25DbGllbnRJT1MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
RGV2aWNlTW90aW9uQ2xpZW50SU9TLmgJKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MuaAkod29ya2luZyBjb3B5KQpA
QCAtMzAsMTUgKzMwLDE3IEBACiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50LmgiCiAjaW5j
bHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkRh
dGEuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmgiCisjaW5j
bHVkZSAiTW90aW9uTWFuYWdlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAog
T0JKQ19DTEFTUyBXZWJDb3JlTW90aW9uTWFuYWdlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBEZXZpY2VNb3Rpb25DbGllbnRJT1MgOiBwdWJsaWMgRGV2aWNlTW90aW9uQ2xpZW50
IHsKK2NsYXNzIERldmljZU1vdGlvbkNsaWVudElPUyA6IHB1YmxpYyBEZXZpY2VNb3Rpb25DbGll
bnQsIHB1YmxpYyBNb3Rpb25NYW5hZ2VyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBEZXZpY2VNb3Rp
b25DbGllbnRJT1MoKTsKKyAgICBEZXZpY2VNb3Rpb25DbGllbnRJT1MoUmVmUHRyPERldmljZU9y
aWVudGF0aW9uVXBkYXRlUHJvdmlkZXI+JiYpOwogICAgIH5EZXZpY2VNb3Rpb25DbGllbnRJT1Mo
KSBvdmVycmlkZTsKICAgICB2b2lkIHNldENvbnRyb2xsZXIoRGV2aWNlTW90aW9uQ29udHJvbGxl
ciopIG92ZXJyaWRlOwogICAgIHZvaWQgc3RhcnRVcGRhdGluZygpIG92ZXJyaWRlOwpAQCAtNDYs
MTMgKzQ4LDE0IEBAIHB1YmxpYzoKICAgICBEZXZpY2VNb3Rpb25EYXRhKiBsYXN0TW90aW9uKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBkZXZpY2VNb3Rpb25Db250cm9sbGVyRGVzdHJveWVk
KCkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIG1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRv
dWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSk7Cisg
ICAgdm9pZCBtb3Rpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUpIG92ZXJyaWRlOwogCiBwcml2YXRl
OgotICAgIFdlYkNvcmVNb3Rpb25NYW5hZ2VyKiBtX21vdGlvbk1hbmFnZXI7Ci0gICAgRGV2aWNl
TW90aW9uQ29udHJvbGxlciogbV9jb250cm9sbGVyOworICAgIFdlYkNvcmVNb3Rpb25NYW5hZ2Vy
KiBtX21vdGlvbk1hbmFnZXIgeyBudWxscHRyIH07CisgICAgRGV2aWNlTW90aW9uQ29udHJvbGxl
ciogbV9jb250cm9sbGVyIHsgbnVsbHB0ciB9OwogICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRh
PiBtX2N1cnJlbnREZXZpY2VNb3Rpb25EYXRhOwotICAgIGJvb2wgbV91cGRhdGluZzsKKyAgICBS
ZWZQdHI8RGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcj4gbV9kZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyOworICAgIGJvb2wgbV91cGRhdGluZyB7IGZhbHNlIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
RGV2aWNlTW90aW9uQ2xpZW50SU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW0JKHJldmlzaW9uIDI1MzMzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VNb3Rpb25DbGllbnRJT1MubW0JKHdv
cmtpbmcgY29weSkKQEAgLTMzLDEwICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
RGV2aWNlTW90aW9uQ2xpZW50SU9TOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MoKQorRGV2aWNlTW90
aW9uQ2xpZW50SU9TOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MoUmVmUHRyPERldmljZU9yaWVudGF0
aW9uVXBkYXRlUHJvdmlkZXI+JiYgZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcikKICAg
ICA6IERldmljZU1vdGlvbkNsaWVudCgpCi0gICAgLCBtX21vdGlvbk1hbmFnZXIobnVsbHB0cikK
LSAgICAsIG1fdXBkYXRpbmcoMCkKKyAgICAsIG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92
aWRlcihXVEZNb3ZlKGRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIpKQogewogfQogCkBA
IC01Myw2ICs1MiwxMSBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudElPUzo6c3RhcnRVcGRhdGlu
CiB7CiAgICAgbV91cGRhdGluZyA9IHRydWU7CiAKKyAgICBpZiAobV9kZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyKSB7CisgICAgICAgIG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92
aWRlci0+c3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbigqdGhpcyk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBpZiAoIW1fbW90aW9uTWFuYWdlcikKICAgICAgICAgbV9tb3Rpb25NYW5h
Z2VyID0gW1dlYkNvcmVNb3Rpb25NYW5hZ2VyIHNoYXJlZE1hbmFnZXJdOwogCkBAIC02Myw2ICs2
NywxMSBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudElPUzo6c3RvcFVwZGF0aW5nCiB7CiAgICAg
bV91cGRhdGluZyA9IGZhbHNlOwogCisgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlcikgeworICAgICAgICBtX2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXItPnN0
b3BVcGRhdGluZ0RldmljZU1vdGlvbigqdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICAvLyBSZW1vdmUgb3Vyc2VsdmVzIGFzIHRoZSBtb3Rpb24gY2xpZW50IHNvIHdlIHdvbid0
IGdldCB1cGRhdGVzLgogICAgIFttX21vdGlvbk1hbmFnZXIgcmVtb3ZlTW90aW9uQ2xpZW50OnRo
aXNdOwogfQpAQCAtNzQsNiArODMsMTEgQEAgRGV2aWNlTW90aW9uRGF0YSogRGV2aWNlTW90aW9u
Q2xpZW50SU9TOgogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudElPUzo6ZGV2aWNlTW90aW9uQ29u
dHJvbGxlckRlc3Ryb3llZCgpCiB7CisgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlcikgeworICAgICAgICBtX2RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXItPnN0
b3BVcGRhdGluZ0RldmljZU1vdGlvbigqdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICBbbV9tb3Rpb25NYW5hZ2VyIHJlbW92ZU1vdGlvbkNsaWVudDp0aGlzXTsKIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZU9yaWVudGF0aW9uQ2xpZW50SU9T
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudElPUy5tbQkocmV2aXNpb24gMjUzMzMwKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL0RldmljZU9yaWVudGF0aW9uQ2xpZW50SU9TLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRJT1M6OnN0YXJ0
VXAKICAgICBtX3VwZGF0aW5nID0gdHJ1ZTsKIAogICAgIGlmIChtX2RldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXIpIHsKLSAgICAgICAgbV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyLT5zdGFydFVwZGF0aW5nKCp0aGlzKTsKKyAgICAgICAgbV9kZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyLT5zdGFydFVwZGF0aW5nRGV2aWNlT3JpZW50YXRpb24oKnRoaXMpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgRGV2aWNlT3JpZW50
YXRpb25DbGllbnRJT1M6OnN0b3BVcGQKICAgICBtX3VwZGF0aW5nID0gZmFsc2U7CiAKICAgICBp
ZiAobV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyKSB7Ci0gICAgICAgIG1fZGV2aWNl
T3JpZW50YXRpb25VcGRhdGVQcm92aWRlci0+c3RvcFVwZGF0aW5nKCp0aGlzKTsKKyAgICAgICAg
bV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLT5zdG9wVXBkYXRpbmdEZXZpY2VPcmll
bnRhdGlvbigqdGhpcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTg0LDcgKzg0LDcg
QEAgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBEZXZpY2VPcmllbnRhdGlvbgogdm9pZCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudElPUzo6ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVk
KCkKIHsKICAgICBpZiAobV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyKSB7Ci0gICAg
ICAgIG1fZGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlci0+c3RvcFVwZGF0aW5nKCp0aGlz
KTsKKyAgICAgICAgbV9kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLT5zdG9wVXBkYXRp
bmdEZXZpY2VPcmllbnRhdGlvbigqdGhpcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9EZXZpY2VPcmllbnRhdGlvblVwZGF0ZVBy
b3ZpZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0Rldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaAkocmV2aXNpb24gMjUzMzMwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0RldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMzcsMTAgKzM3LDE0IEBAIGNsYXNzIERldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXIgOiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyKCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZyhN
b3Rpb25NYW5hZ2VyQ2xpZW50JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmco
TW90aW9uTWFuYWdlckNsaWVudCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGlu
Z0RldmljZU9yaWVudGF0aW9uKE1vdGlvbk1hbmFnZXJDbGllbnQmKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHN0b3BVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKE1vdGlvbk1hbmFnZXJDbGllbnQm
KSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbihNb3Rp
b25NYW5hZ2VyQ2xpZW50JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmdEZXZp
Y2VNb3Rpb24oTW90aW9uTWFuYWdlckNsaWVudCYpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBk
ZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBk
b3VibGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlTW90aW9uQ2hhbmdlZChkb3VibGUs
IGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlKSA9IDA7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgRGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlcigpID0gZGVmYXVsdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9Nb3Rpb25NYW5hZ2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL01vdGlvbk1hbmFnZXJDbGllbnQuaAkocmV2aXNpb24gMjUzMzMwKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL01vdGlvbk1hbmFnZXJDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBNb3Rpb25NYW5hZ2VyQ2xpZW50IDogcHVibGlj
IENhbk1hCiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TW90aW9uTWFuYWdlckNsaWVudCgpIHsgfTsK
IAotICAgIHZpcnR1YWwgdm9pZCBvcmllbnRhdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRv
dWJsZSwgZG91YmxlLCBkb3VibGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgb3JpZW50YXRpb25D
aGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgbW90aW9uQ2hhbmdlZChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUs
IGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSB7IH0KIH07CiAKIH07Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1hbmFnZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZU1vdGlvbk1h
bmFnZXIuaAkocmV2aXNpb24gMjUzMzMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYkNvcmVNb3Rpb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAg
Y2xhc3MgTW90aW9uTWFuYWdlckNsaWVudDsKIFdFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgV2Vi
Q29yZU1vdGlvbk1hbmFnZXIgOiBOU09iamVjdCB7CiAgICAgQ01Nb3Rpb25NYW5hZ2VyKiBtX21v
dGlvbk1hbmFnZXI7CiAgICAgQ0xMb2NhdGlvbk1hbmFnZXIqIG1fbG9jYXRpb25NYW5hZ2VyOwot
ICAgIEhhc2hTZXQ8V2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TKj4gbV9kZXZpY2VNb3Rp
b25DbGllbnRzOworICAgIFdlYWtIYXNoU2V0PFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQ+
IG1fZGV2aWNlTW90aW9uQ2xpZW50czsKICAgICBXZWFrSGFzaFNldDxXZWJDb3JlOjpNb3Rpb25N
YW5hZ2VyQ2xpZW50PiBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50czsKICAgICBOU1RpbWVyKiBt
X3VwZGF0ZVRpbWVyOwogICAgIEJPT0wgbV9neXJvQXZhaWxhYmxlOwpAQCAtNTIsOCArNTIsOCBA
QCBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIFdlYkNvcmVNb3Rpb25NCiB9CiAKICsgKFdlYkNv
cmVNb3Rpb25NYW5hZ2VyICopc2hhcmVkTWFuYWdlcjsKLS0gKHZvaWQpYWRkTW90aW9uQ2xpZW50
OihXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRJT1MgKiljbGllbnQ7Ci0tICh2b2lkKXJlbW92
ZU1vdGlvbkNsaWVudDooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50SU9TICopY2xpZW50Owor
LSAodm9pZClhZGRNb3Rpb25DbGllbnQ6KFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQgKilj
bGllbnQ7CistICh2b2lkKXJlbW92ZU1vdGlvbkNsaWVudDooV2ViQ29yZTo6TW90aW9uTWFuYWdl
ckNsaWVudCAqKWNsaWVudDsKIC0gKHZvaWQpYWRkT3JpZW50YXRpb25DbGllbnQ6KFdlYkNvcmU6
Ok1vdGlvbk1hbmFnZXJDbGllbnQgKiljbGllbnQ7CiAtICh2b2lkKXJlbW92ZU9yaWVudGF0aW9u
Q2xpZW50OihXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50ICopY2xpZW50OwogLSAoQk9PTCln
eXJvQXZhaWxhYmxlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVN
b3Rpb25NYW5hZ2VyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJDb3JlTW90aW9uTWFuYWdlci5tbQkocmV2aXNpb24gMjUzMzMwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVNb3Rpb25NYW5hZ2VyLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDAsMTYgKzEwMCwxNiBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIgZGVhbGxv
Y107CiB9CiAKLS0gKHZvaWQpYWRkTW90aW9uQ2xpZW50OihXZWJDb3JlOjpEZXZpY2VNb3Rpb25D
bGllbnRJT1MgKiljbGllbnQKKy0gKHZvaWQpYWRkTW90aW9uQ2xpZW50OihXZWJDb3JlOjpNb3Rp
b25NYW5hZ2VyQ2xpZW50ICopY2xpZW50CiB7Ci0gICAgbV9kZXZpY2VNb3Rpb25DbGllbnRzLmFk
ZChjbGllbnQpOworICAgIG1fZGV2aWNlTW90aW9uQ2xpZW50cy5hZGQoKmNsaWVudCk7CiAgICAg
aWYgKG1faW5pdGlhbGl6ZWQpCiAgICAgICAgIFtzZWxmIGNoZWNrQ2xpZW50U3RhdHVzXTsKIH0K
IAotLSAodm9pZClyZW1vdmVNb3Rpb25DbGllbnQ6KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVu
dElPUyAqKWNsaWVudAorLSAodm9pZClyZW1vdmVNb3Rpb25DbGllbnQ6KFdlYkNvcmU6Ok1vdGlv
bk1hbmFnZXJDbGllbnQgKiljbGllbnQKIHsKLSAgICBtX2RldmljZU1vdGlvbkNsaWVudHMucmVt
b3ZlKGNsaWVudCk7CisgICAgbV9kZXZpY2VNb3Rpb25DbGllbnRzLnJlbW92ZSgqY2xpZW50KTsK
ICAgICBpZiAobV9pbml0aWFsaXplZCkKICAgICAgICAgW3NlbGYgY2hlY2tDbGllbnRTdGF0dXNd
OwogfQpAQCAtMTcxLDcgKzE3MSw3IEBAIC0gKHZvaWQpY2hlY2tDbGllbnRTdGF0dXMKICAgICAv
LyBiZSBubyBjaGFuY2UgdGhhdCBtX21vdGlvbk1hbmFnZXIgaGFzIG5vdCBiZWVuIGNyZWF0ZWQu
CiAgICAgQVNTRVJUKG1fbW90aW9uTWFuYWdlcik7CiAKLSAgICBpZiAobV9kZXZpY2VNb3Rpb25D
bGllbnRzLnNpemUoKSB8fCBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50cy5jb21wdXRlU2l6ZSgp
KSB7CisgICAgaWYgKG1fZGV2aWNlTW90aW9uQ2xpZW50cy5jb21wdXRlU2l6ZSgpIHx8IG1fZGV2
aWNlT3JpZW50YXRpb25DbGllbnRzLmNvbXB1dGVTaXplKCkpIHsKICAgICAgICAgaWYgKG1fZ3ly
b0F2YWlsYWJsZSkKICAgICAgICAgICAgIFttX21vdGlvbk1hbmFnZXIgc3RhcnREZXZpY2VNb3Rp
b25VcGRhdGVzXTsKICAgICAgICAgZWxzZQpAQCAtMjI1LDggKzIyNSwxNSBAQCAtICh2b2lkKXNl
bmRBY2NlbGVyb21ldGVyRGF0YTooQ01BY2NlbGVyCiAgICAgV2ViVGhyZWFkUnVuKF57CiAgICAg
ICAgIENNQWNjZWxlcmF0aW9uIGFjY2VsID0gbmV3QWNjZWxlcmF0aW9uLmFjY2VsZXJhdGlvbjsK
IAotICAgICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNvcHlUb1ZlY3RvcihtX2RldmljZU1vdGlv
bkNsaWVudHMpKQotICAgICAgICAgICAgY2xpZW50LT5tb3Rpb25DaGFuZ2VkKDAsIDAsIDAsIGFj
Y2VsLnggKiBrR3Jhdml0eSwgYWNjZWwueSAqIGtHcmF2aXR5LCBhY2NlbC56ICoga0dyYXZpdHks
IDAsIDAsIDApOworICAgICAgICBWZWN0b3I8V2Vha1B0cjxXZWJDb3JlOjpNb3Rpb25NYW5hZ2Vy
Q2xpZW50Pj4gbW90aW9uQ2xpZW50czsKKyAgICAgICAgbW90aW9uQ2xpZW50cy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KG1fZGV2aWNlTW90aW9uQ2xpZW50cy5jb21wdXRlU2l6ZSgpKTsKKyAgICAg
ICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2RldmljZU1vdGlvbkNsaWVudHMpCisgICAgICAgICAg
ICBtb3Rpb25DbGllbnRzLnVuY2hlY2tlZEFwcGVuZChtYWtlV2Vha1B0cigmY2xpZW50KSk7CisK
KyAgICAgICAgZm9yIChhdXRvJiBjbGllbnQgOiBtb3Rpb25DbGllbnRzKSB7CisgICAgICAgICAg
ICBpZiAoY2xpZW50KQorICAgICAgICAgICAgICAgIGNsaWVudC0+bW90aW9uQ2hhbmdlZCgwLCAw
LCAwLCBhY2NlbC54ICoga0dyYXZpdHksIGFjY2VsLnkgKiBrR3Jhdml0eSwgYWNjZWwueiAqIGtH
cmF2aXR5LCAwLCAwLCAwKTsKKyAgICAgICAgfQogICAgIH0pOwogfQogCkBAIC0yNDMsOCArMjUw
LDE1IEBAIC0gKHZvaWQpc2VuZE1vdGlvbkRhdGE6KENNRGV2aWNlTW90aW9uICoKIAogICAgICAg
ICBDTVJvdGF0aW9uUmF0ZSByb3RhdGlvblJhdGUgPSBuZXdNb3Rpb24ucm90YXRpb25SYXRlOwog
Ci0gICAgICAgIGZvciAoYXV0byYgY2xpZW50IDogY29weVRvVmVjdG9yKG1fZGV2aWNlTW90aW9u
Q2xpZW50cykpCi0gICAgICAgICAgICBjbGllbnQtPm1vdGlvbkNoYW5nZWQodXNlckFjY2VsLngg
KiBrR3Jhdml0eSwgdXNlckFjY2VsLnkgKiBrR3Jhdml0eSwgdXNlckFjY2VsLnogKiBrR3Jhdml0
eSwgdG90YWxBY2NlbC54ICoga0dyYXZpdHksIHRvdGFsQWNjZWwueSAqIGtHcmF2aXR5LCB0b3Rh
bEFjY2VsLnogKiBrR3Jhdml0eSwgcmFkMmRlZyhyb3RhdGlvblJhdGUueCksIHJhZDJkZWcocm90
YXRpb25SYXRlLnkpLCByYWQyZGVnKHJvdGF0aW9uUmF0ZS56KSk7CisgICAgICAgIFZlY3RvcjxX
ZWFrUHRyPFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQ+PiBtb3Rpb25DbGllbnRzOworICAg
ICAgICBtb3Rpb25DbGllbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9kZXZpY2VNb3Rpb25D
bGllbnRzLmNvbXB1dGVTaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fZGV2
aWNlTW90aW9uQ2xpZW50cykKKyAgICAgICAgICAgIG1vdGlvbkNsaWVudHMudW5jaGVja2VkQXBw
ZW5kKG1ha2VXZWFrUHRyKCZjbGllbnQpKTsKKyAgICAgICAgCisgICAgICAgIGZvciAoYXV0byYg
Y2xpZW50IDogbW90aW9uQ2xpZW50cykgeworICAgICAgICAgICAgaWYgKGNsaWVudCkKKyAgICAg
ICAgICAgICAgICBjbGllbnQtPm1vdGlvbkNoYW5nZWQodXNlckFjY2VsLnggKiBrR3Jhdml0eSwg
dXNlckFjY2VsLnkgKiBrR3Jhdml0eSwgdXNlckFjY2VsLnogKiBrR3Jhdml0eSwgdG90YWxBY2Nl
bC54ICoga0dyYXZpdHksIHRvdGFsQWNjZWwueSAqIGtHcmF2aXR5LCB0b3RhbEFjY2VsLnogKiBr
R3Jhdml0eSwgcmFkMmRlZyhyb3RhdGlvblJhdGUueCksIHJhZDJkZWcocm90YXRpb25SYXRlLnkp
LCByYWQyZGVnKHJvdGF0aW9uUmF0ZS56KSk7CisgICAgICAgIH0KIAogICAgICAgICBDTUF0dGl0
dWRlKiBhdHRpdHVkZSA9IG5ld01vdGlvbi5hdHRpdHVkZTsKIApJbmRleDogU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTktMTItMTAgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtpT1NdIENhbGxzIHRvIHRoZSBkZXZpY2UgbW90aW9uIEFQSSBz
aG91bGQgYmUgZG9uZSBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNsYXNzIFdlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXJQcm94eSB3aWxsIGhhbmRsZSBtZXNzYWdlcyB0byBzdGFydCBhbmQgc3RvcCB1
cGRhdGluZyBkZXZpY2UgbW90aW9uCisgICAgICAgIGluIHRoZSBVSSBwcm9jZXNzLiBBbHNvLCBh
ZGQgYSBtZXNzYWdlIHRvIHVwZGF0ZSB0aGUgZGV2aWNlIG1vdGlvbiBpbiB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzLiBJbiB0aGUgVUkgcHJvY2VzcywKKyAgICAgICAgdGhlIGRldmljZSBtb3Rpb24g
QVBJIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBhbHJlYWR5IGV4aXN0aW5nIFdlYkNvcmVNb3Rpb25N
YW5hZ2VyIGNsYXNzLgorCisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0
ZVByb3ZpZGVyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9u
VXBkYXRlUHJvdmlkZXJQcm94eTo6c3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eTo6c3RvcFVw
ZGF0aW5nRGV2aWNlTW90aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlT3JpZW50YXRp
b25VcGRhdGVQcm92aWRlclByb3h5Ojptb3Rpb25DaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpz
dGFydFVwZGF0aW5nRGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZp
Y2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdG9wVXBkYXRpbmdEZXZpY2VPcmllbnRhdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6
OnN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZpY2VP
cmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpkZXZpY2VP
cmllbnRhdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyOjpkZXZpY2VNb3Rpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6c3RhcnRVcGRhdGluZyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXI6
OnN0b3BVcGRhdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
Lm1lc3NhZ2VzLmluOgorCiAyMDE5LTEyLTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVncmVzc2lvbihyMjUzMjc3KSBBU1NFUlRJT04gRkFJTEVEOiAhcGFy
YW1ldGVycy5yZXF1ZXN0Lmh0dHBCb2R5KCkgaW4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnByZWNvbm5lY3RUbygpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjUzMzMwKQorKysgU291cmNlL1dlYktpdC9S
ZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
c2IJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsNyBAQAogICAgICAgICAgICAgKGlva2l0
LXVzZXItY2xpZW50LWNsYXNzICJBcHBsZUtleVN0b3JlVXNlckNsaWVudCIpKSkKIAogKGRlZmlu
ZS1vbmNlIChsb2NhdGlvbi1zZXJ2aWNlcykKLSAgICAoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAo
YWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvY2F0aW9uZC5yZWdpc3RyYXRpb24iKSkKICAg
ICAoYWxsb3ctY2Fycmllci1idW5kbGUpIDs7IDxyZGFyOi8vcHJvYmxlbS8yMTE5MjM2NT4KICAg
ICAobW9iaWxlLXByZWZlcmVuY2VzLXJlYWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlclByb3h5LmgJKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsMTEgKzQyLDE1IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3RhcnRV
cGRhdGluZ0RldmljZU9yaWVudGF0aW9uKCk7CiAgICAgdm9pZCBzdG9wVXBkYXRpbmdEZXZpY2VP
cmllbnRhdGlvbigpOwotICAgIAorCisgICAgdm9pZCBzdGFydFVwZGF0aW5nRGV2aWNlTW90aW9u
KCk7CisgICAgdm9pZCBzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oKTsKKwogcHJpdmF0ZToKICAg
ICAvLyBXZWJDb3JlOjpXZWJDb3JlTW90aW9uTWFuYWdlckNsaWVudAogICAgIHZvaWQgb3JpZW50
YXRpb25DaGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBmaW5h
bDsKLSAgICAKKyAgICB2b2lkIG1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgZmluYWw7CisK
ICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
UHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tZXNzYWdlcy5pbgko
cmV2aXNpb24gMjUzMzMwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYkRldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5
KQpAQCAtMjQsNSArMjQsNyBAQAogbWVzc2FnZXMgLT4gV2ViRGV2aWNlT3JpZW50YXRpb25VcGRh
dGVQcm92aWRlclByb3h5IE5vdFJlZkNvdW50ZWQgewogICAgIFN0YXJ0VXBkYXRpbmdEZXZpY2VP
cmllbnRhdGlvbigpOwogICAgIFN0b3BVcGRhdGluZ0RldmljZU9yaWVudGF0aW9uKCk7CisgICAg
U3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbigpOworICAgIFN0b3BVcGRhdGluZ0RldmljZU1vdGlv
bigpOwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViRGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
UHJveHkubW0JKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHkubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTU3LDExICs1NywyNiBAQCB2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJv
dmlkZXJQCiAgICAgW1tXZWJDb3JlTW90aW9uTWFuYWdlciBzaGFyZWRNYW5hZ2VyXSByZW1vdmVP
cmllbnRhdGlvbkNsaWVudDp0aGlzXTsKIH0KIAordm9pZCBXZWJEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyUHJveHk6OnN0YXJ0VXBkYXRpbmdEZXZpY2VNb3Rpb24oKQoreworICAgIFtb
V2ViQ29yZU1vdGlvbk1hbmFnZXIgc2hhcmVkTWFuYWdlcl0gYWRkTW90aW9uQ2xpZW50OnRoaXNd
OworfQorCit2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eTo6c3Rv
cFVwZGF0aW5nRGV2aWNlTW90aW9uKCkKK3sKKyAgICBbW1dlYkNvcmVNb3Rpb25NYW5hZ2VyIHNo
YXJlZE1hbmFnZXJdIHJlbW92ZU1vdGlvbkNsaWVudDp0aGlzXTsKK30KKwogdm9pZCBXZWJEZXZp
Y2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyUHJveHk6Om9yaWVudGF0aW9uQ2hhbmdlZChkb3Vi
bGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEsIGRvdWJsZSBjb21wYXNzSGVhZGlu
ZywgZG91YmxlIGNvbXBhc3NBY2N1cmFjeSkKIHsKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6
V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6RGV2aWNlT3JpZW50YXRpb25DaGFu
Z2VkKGFscGhhLCBiZXRhLCBnYW1tYSwgY29tcGFzc0hlYWRpbmcsIGNvbXBhc3NBY2N1cmFjeSkp
OwogfQogCit2b2lkIFdlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eTo6bW90
aW9uQ2hhbmdlZChkb3VibGUgeEFjY2VsZXJhdGlvbiwgZG91YmxlIHlBY2NlbGVyYXRpb24sIGRv
dWJsZSB6QWNjZWxlcmF0aW9uLCBkb3VibGUgeEFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHks
IGRvdWJsZSB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHpBY2NlbGVyYXRp
b25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgeFJvdGF0aW9uUmF0ZSwgZG91YmxlIHlSb3RhdGlv
blJhdGUsIGRvdWJsZSB6Um90YXRpb25SYXRlKQoreworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2Vz
OjpXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpEZXZpY2VNb3Rpb25DaGFuZ2Vk
KHhBY2NlbGVyYXRpb24sIHlBY2NlbGVyYXRpb24sIHpBY2NlbGVyYXRpb24sIHhBY2NlbGVyYXRp
b25JbmNsdWRpbmdHcmF2aXR5LCB5QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgekFjY2Vs
ZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIHhSb3RhdGlvblJhdGUsIHlSb3RhdGlvblJhdGUsIHpS
b3RhdGlvblJhdGUpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VP
cmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmNwcAkocmV2aXNpb24gMjUzMzMwKQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBk
YXRlUHJvdmlkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwyNiArNDksNjAgQEAgV2ViRGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6fldlYgogICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViRGV2aWNlT3JpZW50YXRp
b25VcGRhdGVQcm92aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJZGVudGlmaWVy
KTsKIH0KIAotdm9pZCBXZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdGFydFVw
ZGF0aW5nKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQgV2ViRGV2
aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6c3RhcnRVcGRhdGluZ0RldmljZU9yaWVudGF0
aW9uKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmIGNsaWVudCkKIHsKLSAgICBpZiAobV9j
bGllbnRzLmlzRW1wdHkoKSAmJiBtX3BhZ2UpCisgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25D
bGllbnRzLmNvbXB1dGVzRW1wdHkoKSAmJiBtX3BhZ2UpCiAgICAgICAgIG1fcGFnZS0+c2VuZChN
ZXNzYWdlczo6V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5OjpTdGFydFVw
ZGF0aW5nRGV2aWNlT3JpZW50YXRpb24oKSk7Ci0gICAgbV9jbGllbnRzLmFkZCgmY2xpZW50KTsK
KyAgICBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50cy5hZGQoY2xpZW50KTsKIH0KIAotdm9pZCBX
ZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyOjpzdG9wVXBkYXRpbmcoV2ViQ29yZTo6
TW90aW9uTWFuYWdlckNsaWVudCYgY2xpZW50KQordm9pZCBXZWJEZXZpY2VPcmllbnRhdGlvblVw
ZGF0ZVByb3ZpZGVyOjpzdG9wVXBkYXRpbmdEZXZpY2VPcmllbnRhdGlvbihXZWJDb3JlOjpNb3Rp
b25NYW5hZ2VyQ2xpZW50JiBjbGllbnQpCiB7Ci0gICAgaWYgKG1fY2xpZW50cy5pc0VtcHR5KCkp
CisgICAgaWYgKG1fZGV2aWNlT3JpZW50YXRpb25DbGllbnRzLmNvbXB1dGVzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7Ci0gICAgaWYgKG1f
Y2xpZW50cy5pc0VtcHR5KCkgJiYgbV9wYWdlKQorICAgIG1fZGV2aWNlT3JpZW50YXRpb25DbGll
bnRzLnJlbW92ZShjbGllbnQpOworICAgIGlmIChtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50cy5j
b21wdXRlc0VtcHR5KCkgJiYgbV9wYWdlKQogICAgICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eTo6U3RvcFVwZGF0aW5nRGV2
aWNlT3JpZW50YXRpb24oKSk7CiB9CiAKK3ZvaWQgV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQ
cm92aWRlcjo6c3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbihXZWJDb3JlOjpNb3Rpb25NYW5hZ2Vy
Q2xpZW50JiBjbGllbnQpCit7CisgICAgaWYgKG1fZGV2aWNlTW90aW9uQ2xpZW50cy5jb21wdXRl
c0VtcHR5KCkgJiYgbV9wYWdlKQorICAgICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkRl
dmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXJQcm94eTo6U3RhcnRVcGRhdGluZ0RldmljZU1v
dGlvbigpKTsKKyAgICBtX2RldmljZU1vdGlvbkNsaWVudHMuYWRkKGNsaWVudCk7Cit9CisKK3Zv
aWQgV2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlcjo6c3RvcFVwZGF0aW5nRGV2aWNl
TW90aW9uKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmIGNsaWVudCkKK3sKKyAgICBpZiAo
bV9kZXZpY2VNb3Rpb25DbGllbnRzLmNvbXB1dGVzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fZGV2aWNlTW90aW9uQ2xpZW50cy5yZW1vdmUoY2xpZW50KTsKKyAgICBpZiAobV9kZXZp
Y2VNb3Rpb25DbGllbnRzLmNvbXB1dGVzRW1wdHkoKSAmJiBtX3BhZ2UpCisgICAgICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViRGV2aWNlT3JpZW50YXRpb25VcGRhdGVQcm92aWRlclByb3h5
OjpTdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oKSk7Cit9CisKIHZvaWQgV2ViRGV2aWNlT3JpZW50
YXRpb25VcGRhdGVQcm92aWRlcjo6ZGV2aWNlT3JpZW50YXRpb25DaGFuZ2VkKGRvdWJsZSBhbHBo
YSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSwgZG91YmxlIGNvbXBhc3NIZWFkaW5nLCBkb3Vi
bGUgY29tcGFzc0FjY3VyYWN5KQogewotICAgIGZvciAoYXV0byogY2xpZW50IDogY29weVRvVmVj
dG9yKG1fY2xpZW50cykpCi0gICAgICAgIGNsaWVudC0+b3JpZW50YXRpb25DaGFuZ2VkKGFscGhh
LCBiZXRhLCBnYW1tYSwgY29tcGFzc0hlYWRpbmcsIGNvbXBhc3NBY2N1cmFjeSk7CisgICAgVmVj
dG9yPFdlYWtQdHI8V2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudD4+IGNsaWVudHM7CisgICAg
Zm9yIChhdXRvJiBjbGllbnQgOiBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50cykKKyAgICAgICAg
Y2xpZW50cy5hcHBlbmQobWFrZVdlYWtQdHIoJmNsaWVudCkpOworCisgICAgZm9yIChhdXRvJiBj
bGllbnQgOiBjbGllbnRzKSB7CisgICAgICAgIGlmIChjbGllbnQpCisgICAgICAgICAgICBjbGll
bnQtPm9yaWVudGF0aW9uQ2hhbmdlZChhbHBoYSwgYmV0YSwgZ2FtbWEsIGNvbXBhc3NIZWFkaW5n
LCBjb21wYXNzQWNjdXJhY3kpOworICAgIH0KK30KKwordm9pZCBXZWJEZXZpY2VPcmllbnRhdGlv
blVwZGF0ZVByb3ZpZGVyOjpkZXZpY2VNb3Rpb25DaGFuZ2VkKGRvdWJsZSB4QWNjZWxlcmF0aW9u
LCBkb3VibGUgeUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2NlbGVyYXRpb24sIGRvdWJsZSB4QWNj
ZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlBY2NlbGVyYXRpb25JbmNsdWRpbmdH
cmF2aXR5LCBkb3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksIGRvdWJsZSB4Um90
YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91YmxlIHpSb3RhdGlvblJhdGUpCit7
CisgICAgVmVjdG9yPFdlYWtQdHI8V2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudD4+IGNsaWVu
dHM7CisgICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2RldmljZU1vdGlvbkNsaWVudHMpCisgICAg
ICAgIGNsaWVudHMuYXBwZW5kKG1ha2VXZWFrUHRyKCZjbGllbnQpKTsKKyAgICAKKyAgICBmb3Ig
KGF1dG8mIGNsaWVudCA6IGNsaWVudHMpIHsKKyAgICAgICAgaWYgKGNsaWVudCkKKyAgICAgICAg
ICAgIGNsaWVudC0+bW90aW9uQ2hhbmdlZCh4QWNjZWxlcmF0aW9uLCB5QWNjZWxlcmF0aW9uLCB6
QWNjZWxlcmF0aW9uLCB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgeUFjY2VsZXJhdGlv
bkluY2x1ZGluZ0dyYXZpdHksICB6QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgeFJvdGF0
aW9uUmF0ZSwgeVJvdGF0aW9uUmF0ZSwgelJvdGF0aW9uUmF0ZSk7CisgICAgfQogfQogCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlT3Jp
ZW50YXRpb25VcGRhdGVQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
LmgJKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvRGV2aWNlT3JpZW50YXRp
b25VcGRhdGVQcm92aWRlci5oPgogCi0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRl
IDx3dGYvV2Vha0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKQEAgLTQ2LDE2
ICs0NiwyMCBAQCBwcml2YXRlOgogICAgIH5XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3Zp
ZGVyKCk7CiAKICAgICAvLyBXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVy
Ci0gICAgdm9pZCBzdGFydFVwZGF0aW5nKFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQmKSBm
aW5hbDsKLSAgICB2b2lkIHN0b3BVcGRhdGluZyhXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xpZW50
JikgZmluYWw7CisgICAgdm9pZCBzdGFydFVwZGF0aW5nRGV2aWNlT3JpZW50YXRpb24oV2ViQ29y
ZTo6TW90aW9uTWFuYWdlckNsaWVudCYpIGZpbmFsOworICAgIHZvaWQgc3RvcFVwZGF0aW5nRGV2
aWNlT3JpZW50YXRpb24oV2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudCYpIGZpbmFsOworICAg
IHZvaWQgc3RhcnRVcGRhdGluZ0RldmljZU1vdGlvbihXZWJDb3JlOjpNb3Rpb25NYW5hZ2VyQ2xp
ZW50JikgZmluYWw7CisgICAgdm9pZCBzdG9wVXBkYXRpbmdEZXZpY2VNb3Rpb24oV2ViQ29yZTo6
TW90aW9uTWFuYWdlckNsaWVudCYpIGZpbmFsOwogICAgIHZvaWQgZGV2aWNlT3JpZW50YXRpb25D
aGFuZ2VkKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlKSBmaW5hbDsKKyAg
ICB2b2lkIGRldmljZU1vdGlvbkNoYW5nZWQoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91Ymxl
LCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgZmluYWw7CiAKICAgICAv
LyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgV2Vha1B0cjxXZWJQ
YWdlPiBtX3BhZ2U7CiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV9wYWdlSWRlbnRpZmll
cjsKLSAgICBIYXNoU2V0PFdlYkNvcmU6Ok1vdGlvbk1hbmFnZXJDbGllbnQqPiBtX2NsaWVudHM7
CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6TW90aW9uTWFuYWdlckNsaWVudD4gbV9kZXZpY2VP
cmllbnRhdGlvbkNsaWVudHM7CisgICAgV2Vha0hhc2hTZXQ8V2ViQ29yZTo6TW90aW9uTWFuYWdl
ckNsaWVudD4gbV9kZXZpY2VNb3Rpb25DbGllbnRzOwogfTsKIAogfQpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRl
UHJvdmlkZXIubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIubWVz
c2FnZXMuaW4JKHJldmlzaW9uIDI1MzMzMCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyLm1lc3NhZ2Vz
LmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw1ICsyMyw2IEBACiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKIG1lc3NhZ2VzIC0+IFdlYkRldmlj
ZU9yaWVudGF0aW9uVXBkYXRlUHJvdmlkZXIgewogICAgIERldmljZU9yaWVudGF0aW9uQ2hhbmdl
ZChkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEsIGRvdWJsZSBjb21wYXNz
SGVhZGluZywgZG91YmxlIGNvbXBhc3NBY2N1cmFjeSkKKyAgICBEZXZpY2VNb3Rpb25DaGFuZ2Vk
KGRvdWJsZSB4QWNjZWxlcmF0aW9uLCBkb3VibGUgeUFjY2VsZXJhdGlvbiwgZG91YmxlIHpBY2Nl
bGVyYXRpb24sIGRvdWJsZSB4QWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSwgZG91YmxlIHlB
Y2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LCBkb3VibGUgekFjY2VsZXJhdGlvbkluY2x1ZGlu
Z0dyYXZpdHksIGRvdWJsZSB4Um90YXRpb25SYXRlLCBkb3VibGUgeVJvdGF0aW9uUmF0ZSwgZG91
YmxlIHpSb3RhdGlvblJhdGUpCiB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>