<?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>182606</bug_id>
          
          <creation_ts>2018-02-08 09:47:30 -0800</creation_ts>
          <short_desc>CoreAudioCaptureSourceIOSListener should be a WebProcess singleton</short_desc>
          <delta_ts>2018-08-14 05:37:33 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=179964</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>andrew</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jonlee</cc>
    
    <cc>l.schlegge</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1397557</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-08 09:47:30 -0800</bug_when>
    <thetext>Currently, there is one listener per capture source.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397558</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-08 09:48:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/37355283&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397572</commentid>
    <comment_count>2</comment_count>
      <attachid>333385</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-08 10:15:36 -0800</bug_when>
    <thetext>Created attachment 333385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397573</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-02-08 10:17:42 -0800</bug_when>
    <thetext>Attachment 333385 did not pass style-queue:


ERROR: Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:126:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397585</commentid>
    <comment_count>4</comment_count>
      <attachid>333385</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-02-08 10:43:37 -0800</bug_when>
    <thetext>Comment on attachment 333385
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:773
&gt; +    if (unit.isSuspended())
&gt; +        unit.reconfigureAudioUnit();

I&apos;m not sure this is a good idea. What happens if a page that already has user permission calls getUserMedia({audio:true}) during an interruption?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397650</commentid>
    <comment_count>5</comment_count>
      <attachid>333409</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-08 12:34:00 -0800</bug_when>
    <thetext>Created attachment 333409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397654</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-02-08 12:42:31 -0800</bug_when>
    <thetext>Attachment 333409 did not pass style-queue:


ERROR: Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:126:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397822</commentid>
    <comment_count>7</comment_count>
      <attachid>333409</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-08 21:05:27 -0800</bug_when>
    <thetext>Comment on attachment 333409
Patch

Clearing flags on attachment: 333409

Committed r228310: &lt;https://trac.webkit.org/changeset/228310&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397823</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-08 21:05:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400994</commentid>
    <comment_count>9</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2018-02-20 18:53:01 -0800</bug_when>
    <thetext>*** Bug 179964 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333385</attachid>
            <date>2018-02-08 10:15:36 -0800</date>
            <delta_ts>2018-02-08 12:33:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182606-20180208101535.patch</filename>
            <type>text/plain</type>
            <size>12361</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjIyN2Q1NzUyY2Q0MTQ4
NDcxYmViYTcwYjQxZGYwNjlhN2VkMWU5NC4uYTg2NzEyZDQwNDE2ODJlZDg0YTEzNzk3ZDY5Y2U1
OGNhMzlkOWIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlQXVkaW9DYXB0dXJl
U291cmNlSU9TTGlzdGVuZXIgc2hvdWxkIGJlIGEgV2ViUHJvY2VzcyBzaW5nbGV0b24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzczNTUyODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm90IHRlc3RhYmxlIHJpZ2h0IG5vdyBhcyB0aGlzIHJlbGll
cyBvbiBpT1Mgc3BlY2lmaWMgQ29yZSBBdWRpbyBzdGFjay4KKyAgICAgICAgRWZmb3J0cyBzaG91
bGQgYmUgbWFkZSB0byBzb21laG93IG1vY2sgdGhhdCBwYXJ0IGFuZCBtb2NrIGludGVycnVwdGlv
bnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVk
aW9DYXB0dXJlU291cmNlSU9TLm1tOgorICAgICAgICAoLVtXZWJDb3JlQXVkaW9DYXB0dXJlU291
cmNlSU9TTGlzdGVuZXIgaW5pdFdpdGhDYWxsYmFjazpdKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
cmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeUlPUyk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eUlPUzo6fkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24p
OgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpiZWdpbkludGVy
cnVwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eTo6ZW5kSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVT
b3VyY2VGYWN0b3J5OjpzY2hlZHVsZVJlY29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNv
cmVBdWRpb0NhcHR1cmVTb3VyY2U6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6fkNvcmVBdWRpb0NhcHR1cmVTb3VyY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c3RhcnRQcm9kdWNp
bmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNjaGVk
dWxlUmVjb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVT
b3VyY2U6OmJlZ2luSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0Nh
cHR1cmVTb3VyY2U6OmVuZEludGVycnVwdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
cmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzZXRDb3JlQXVkaW9BY3RpdmVTb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OnVuc2V0Q29y
ZUF1ZGlvQWN0aXZlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVT
b3VyY2VGYWN0b3J5Ojpjb3JlQXVkaW9BY3RpdmVTb3VyY2UpOgorCiAyMDE4LTAyLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgQVBJIHRlc3QgdG8g
dmFsaWRhdGUgc2V0dGluZyBvZiBzZXJ2aWNlIHdvcmtlciBhbmQgY2FjaGUgc3RvcmFnZSBkaXJl
Y3RvcmllcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
aW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKaW5kZXggZjZmZGFi
YzI1OTk5ZDc2ODgyOTM3NDBiM2E4YmQ2ODgyZGMxNDFiZC4uNzg4ZGE2ZGYwYWU5N2U4MzE4OThk
MjFkNGMxODJhNTE5ZGZjNDU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlP
Uy5oCkBAIC0zMywxMyArMzMsMTIgQEAgT0JKQ19DTEFTUyBXZWJDb3JlQXVkaW9DYXB0dXJlU291
cmNlSU9TTGlzdGVuZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUyBmaW5hbCA6IHB1YmxpYyBDb3JlQXVkaW9DYXB0dXJlU291cmNlIHsK
LXByaXZhdGU6Ci0gICAgZnJpZW5kIGNsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U7Ci0KLSAg
ICBDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TKGNvbnN0IFN0cmluZyYgZGV2aWNlSUQsIGNvbnN0
IFN0cmluZyYgbGFiZWwpOwotICAgIH5Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TKCk7CitjbGFz
cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUyBmaW5hbCA6IHB1YmxpYyBDb3JlQXVk
aW9DYXB0dXJlU291cmNlRmFjdG9yeSB7CitwdWJsaWM6CisgICAgQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnlJT1MoKTsKKyAgICB+Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1Mo
KTsKIAorcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlP
U0xpc3RlbmVyPiBtX2xpc3RlbmVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUlPUy5tbQppbmRleCBjNGViMWY1YjEzNjJmMGU4MDgxMGVlMDBjYWY1OWZhZmIxOWMzOTYx
Li42YzRmYmU1OGQ4MmI5YThiM2Q3ZTQxMzZlM2I0MmQzZjM2ZmE3M2ZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3Mv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQpAQCAtNTAsNyArNTAsNyBAQCBTT0ZUX0xJTktf
UE9JTlRFUihBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTWVkaWFTZXJ2aWNlc1dlcmVSZXNl
dE5vdGlmaWNhdGlvbgogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBpbnRlcmZhY2UgV2Vi
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyIDogTlNPYmplY3QgewotICAgIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2VJT1MqIF9jYWxsYmFjazsKKyAgICBDb3JlQXVkaW9DYXB0dXJlU291
cmNlRmFjdG9yeUlPUyogX2NhbGxiYWNrOwogfQogCiAtICh2b2lkKWludmFsaWRhdGU7CkBAIC01
OSw3ICs1OSw3IEBAIC0gKHZvaWQpc2Vzc2lvbk1lZGlhU2VydmljZXNXZXJlUmVzZXQ6KE5TTm90
aWZpY2F0aW9uKilub3RpZmljYXRpb247CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJDb3Jl
QXVkaW9DYXB0dXJlU291cmNlSU9TTGlzdGVuZXIKLS0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KENv
cmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MqKWNhbGxiYWNrCistIChpZClpbml0V2l0aENhbGxiYWNr
OihDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUyopY2FsbGJhY2sKIHsKICAgICBzZWxm
ID0gW3N1cGVyIGluaXRdOwogICAgIGlmICghc2VsZikKQEAgLTEyMiwxOCArMTIyLDIzIEBAIEBl
bmQKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TOjpD
b3JlQXVkaW9DYXB0dXJlU291cmNlSU9TKGNvbnN0IFN0cmluZyYgZGV2aWNlSUQsIGNvbnN0IFN0
cmluZyYgbGFiZWwpCi0gICAgOiBDb3JlQXVkaW9DYXB0dXJlU291cmNlKGRldmljZUlELCBsYWJl
bCwgMCkKLSAgICAsIG1fbGlzdGVuZXIoYWRvcHROUyhbW1dlYkNvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2VJT1NMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazp0aGlzXSkpCitDb3JlQXVkaW9D
YXB0dXJlU291cmNlRmFjdG9yeUlPUzo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1Mo
KQorICAgIDogbV9saXN0ZW5lcihhZG9wdE5TKFtbV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlP
U0xpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOnRoaXNdKSkKIHsKIH0KIAotQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZUlPUzo6fkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MoKQorQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6On5Db3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eUlPUygpCiB7CiAgICAgW21fbGlzdGVuZXIgaW52YWxpZGF0ZV07CiAgICAgbV9saXN0ZW5lciA9
IG51bGxwdHI7CiB9CiAKK0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5JiBDb3JlQXVkaW9D
YXB0dXJlU291cmNlRmFjdG9yeTo6c2luZ2xldG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M+IGZhY3Rvcnk7CisgICAgcmV0
dXJuIGZhY3RvcnkuZ2V0KCk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcApp
bmRleCA3MjRjNjc4YTliNDA5YmMzYTZkNTgzNTBhMTQ2OWJiZjg5NWUzZDRjLi41NWZiNzRmMTc1
YTA5YTdkMWY3YjM4MzJiMTJiOGRkZGYwNjMxM2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1
cmVTb3VyY2UuY3BwCkBAIC01MywyMCArNTMsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVz
aW5nIG5hbWVzcGFjZSBQQUw7CiAKLWNsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5
IDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkKLXsKLXB1
YmxpYzoKLSAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2Uo
Y29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBjb25z
dHJhaW50cykgZmluYWwKLSAgICB7Ci0gICAgICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpjcmVhdGUoZGV2aWNlLnBlcnNpc3RlbnRJZCgpLCBjb25zdHJhaW50cyk7Ci0gICAgfQot
fTsKLQotc3RhdGljIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5JiBjb3JlQXVkaW9DYXB0
dXJlU291cmNlRmFjdG9yeSgpCisjaWYgUExBVEZPUk0oTUFDKQorQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnkmIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24oKQog
ewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eT4gZmFjdG9yeTsKICAgICByZXR1cm4gZmFjdG9yeS5nZXQoKTsKIH0KKyNlbmRpZgogCiBjb25z
dCBVSW50MzIgb3V0cHV0QnVzID0gMDsKIGNvbnN0IFVJbnQzMiBpbnB1dEJ1cyA9IDE7CkBAIC02
OTcsNyArNjkwLDcgQEAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZTo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgZGV2aWNlSUQsIGNvbnMKICAgICBpZiAoIWRldmljZSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gc291cmNlID0gYWRvcHRSZWYoKm5ldyBD
b3JlQXVkaW9DYXB0dXJlU291cmNlSU9TKGRldmljZUlELCBkZXZpY2UtPmxhYmVsKCkpKTsKKyAg
ICBhdXRvIHNvdXJjZSA9IGFkb3B0UmVmKCpuZXcgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZShkZXZp
Y2VJRCwgZGV2aWNlLT5sYWJlbCgpLCAwKSk7CiAjZW5kaWYKIAogICAgIGlmIChjb25zdHJhaW50
cykgewpAQCAtNzA4LDkgKzcwMSw2MCBAQCBDYXB0dXJlU291cmNlT3JFcnJvciBDb3JlQXVkaW9D
YXB0dXJlU291cmNlOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBkZXZpY2VJRCwgY29ucwogICAgIHJl
dHVybiBDYXB0dXJlU291cmNlT3JFcnJvcihXVEZNb3ZlKHNvdXJjZSkpOwogfQogCit2b2lkIENv
cmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpiZWdpbkludGVycnVwdGlvbigpCit7CisgICAg
aWYgKCFpc01haW5UaHJlYWQoKSkgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7
CisgICAgICAgICAgICBiZWdpbkludGVycnVwdGlvbigpOworICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgaWYgKGF1
dG8qIHNvdXJjZSA9IGNvcmVBdWRpb0FjdGl2ZVNvdXJjZSgpKSB7CisgICAgICAgIHNvdXJjZS0+
YmVnaW5JbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBDb3JlQXVk
aW9TaGFyZWRVbml0OjpzaW5nbGV0b24oKS5zdXNwZW5kKCk7Cit9CisKK3ZvaWQgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmVuZEludGVycnVwdGlvbigpCit7CisgICAgaWYgKCFpc01h
aW5UaHJlYWQoKSkgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAg
ICAgICBlbmRJbnRlcnJ1cHRpb24oKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAgIGlmIChhdXRvKiBzb3VyY2Ug
PSBjb3JlQXVkaW9BY3RpdmVTb3VyY2UoKSkgeworICAgICAgICBzb3VyY2UtPmVuZEludGVycnVw
dGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6
OnNpbmdsZXRvbigpLnJlY29uZmlndXJlQXVkaW9Vbml0KCk7Cit9CisKK3ZvaWQgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUZhY3Rvcnk6OnNjaGVkdWxlUmVjb25maWd1cmF0aW9uKCkKK3sKKyAgICBp
ZiAoIWlzTWFpblRocmVhZCgpKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXNdIHsK
KyAgICAgICAgICAgIHNjaGVkdWxlUmVjb25maWd1cmF0aW9uKCk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBp
ZiAoYXV0byogc291cmNlID0gY29yZUF1ZGlvQWN0aXZlU291cmNlKCkpIHsKKyAgICAgICAgc291
cmNlLT5zY2hlZHVsZVJlY29uZmlndXJhdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpLnJlY29uZmlndXJlQXVkaW9Vbml0
KCk7Cit9CisKIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkmIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2U6OmZhY3RvcnkoKQogewotICAgIHJldHVybiBjb3JlQXVkaW9DYXB0
dXJlU291cmNlRmFjdG9yeSgpOworICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeTo6c2luZ2xldG9uKCk7CiB9CiAKIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OkNvcmVBdWRp
b0NhcHR1cmVTb3VyY2UoY29uc3QgU3RyaW5nJiBkZXZpY2VJRCwgY29uc3QgU3RyaW5nJiBsYWJl
bCwgdWludDMyX3QgcGVyc2lzdGVudElEKQpAQCAtNzI0LDEyICs3NjgsMTUgQEAgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBTdHJpbmcmIGRldmlj
ZUlELCBjb25zdCBTdHIKICAgICBpbml0aWFsaXplVm9sdW1lKHVuaXQudm9sdW1lKCkpOwogCiAg
ICAgdW5pdC5hZGRDbGllbnQoKnRoaXMpOworCisgICAgaWYgKHVuaXQuaXNTdXNwZW5kZWQoKSkK
KyAgICAgICAgdW5pdC5yZWNvbmZpZ3VyZUF1ZGlvVW5pdCgpOwogfQogCiBDb3JlQXVkaW9DYXB0
dXJlU291cmNlOjp+Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSgpCiB7CiAjaWYgUExBVEZPUk0oSU9T
KQotICAgIGNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2Uo
KnRoaXMpOworICAgIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24oKS51
bnNldENvcmVBdWRpb0FjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKIAogICAgIENvcmVBdWRp
b1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpLnJlbW92ZUNsaWVudCgqdGhpcyk7CkBAIC03NDgsNyAr
Nzk1LDcgQEAgdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpyZW1vdmVFY2hvQ2FuY2VsbGF0
aW9uU291cmNlKEF1ZGlvU2FtcGxlRGF0YVNvdXJjZSYKIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKIHsKICNpZiBQTEFURk9STShJT1MpCi0gICAgY29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAg
IENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24oKS5zZXRDb3JlQXVkaW9B
Y3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiAKICAgICBhdXRvJiB1bml0ID0gQ29yZUF1ZGlv
U2hhcmVkVW5pdDo6c2luZ2xldG9uKCk7CkBAIC04NDQsMTcgKzg5MSw2IEBAIGJvb2wgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZTo6YXBwbHlFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgZW5hYmxlRWNob0Nh
bmNlbGxhdGlvbikKIAogdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzY2hlZHVsZVJlY29u
ZmlndXJhdGlvbigpCiB7Ci0gICAgaWYgKCFpc01haW5UaHJlYWQoKSkgewotICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQdHIoKSwgdGhpc10gewotICAgICAg
ICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIHNjaGVkdWxlUmVjb25maWd1cmF0aW9uKCk7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGF1dG8mIHVu
aXQgPSBDb3JlQXVkaW9TaGFyZWRVbml0OjpzaW5nbGV0b24oKTsKICAgICBpZiAoIXVuaXQuaGFz
QXVkaW9Vbml0KCkgfHwgbV9yZWNvbmZpZ3VyYXRpb25TdGF0ZSAhPSBSZWNvbmZpZ3VyYXRpb25T
dGF0ZTo6Tm9uZSkKQEAgLTg3NCwxNyArOTEwLDYgQEAgdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpzY2hlZHVsZVJlY29uZmlndXJhdGlvbigpCiAKIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6YmVnaW5JbnRlcnJ1cHRpb24oKQogewotICAgIGlmICghaXNNYWluVGhyZWFkKCkpIHsK
LSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCksIHRo
aXNdIHsKLSAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAgICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgICAgICBiZWdpbkludGVycnVwdGlvbigpOwotICAgICAgICB9KTsKLQotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBh
dXRvJiB1bml0ID0gQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCk7CiAgICAgaWYgKCF1
bml0Lmhhc0F1ZGlvVW5pdCgpIHx8IHVuaXQuaXNTdXNwZW5kZWQoKSB8fCBtX3N1c3BlbmRQZW5k
aW5nKQpAQCAtOTAwLDE3ICs5MjUsNiBAQCB2b2lkIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmJl
Z2luSW50ZXJydXB0aW9uKCkKIAogdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjplbmRJbnRl
cnJ1cHRpb24oKQogewotICAgIGlmICghaXNNYWluVGhyZWFkKCkpIHsKLSAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCksIHRoaXNdIHsKLSAgICAgICAg
ICAgIGlmICghd2Vha1RoaXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAg
ICBlbmRJbnRlcnJ1cHRpb24oKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgYXV0byYgdW5pdCA9IENvcmVB
dWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpOwogICAgIGlmICghdW5pdC5oYXNBdWRpb1VuaXQo
KSB8fCAhdW5pdC5pc1N1c3BlbmRlZCgpIHx8IG1fcmVzdW1lUGVuZGluZykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJl
U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IGI1YmE1N2Q3Y2M0Njk1ZmQxMjNjNTQ1N2E3MzdkYjkz
N2VlZmUzMTUuLjc5MmVhZjA3ZTBjZWZiNDc4NWUwZjc2ZjI1MjU2OWY2MzY2MTE0MGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9D
YXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaApAQCAtMTEwLDYgKzExMCwyOSBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9yZXN1bWVQZW5kaW5nIHsgZmFsc2UgfTsKIH07CiAKK2NsYXNzIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5IDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1
ZGlvQ2FwdHVyZUZhY3RvcnkgeworcHVibGljOgorICAgIHN0YXRpYyBDb3JlQXVkaW9DYXB0dXJl
U291cmNlRmFjdG9yeSYgc2luZ2xldG9uKCk7CisKKyAgICB2b2lkIGJlZ2luSW50ZXJydXB0aW9u
KCk7CisgICAgdm9pZCBlbmRJbnRlcnJ1cHRpb24oKTsKKyAgICB2b2lkIHNjaGVkdWxlUmVjb25m
aWd1cmF0aW9uKCk7CisKKyNpZiBQTEFURk9STShJT1MpCisgICAgdm9pZCBzZXRDb3JlQXVkaW9B
Y3RpdmVTb3VyY2UoQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSYgc291cmNlKSB7IHNldEFjdGl2ZVNv
dXJjZShzb3VyY2UpOyB9CisgICAgdm9pZCB1bnNldENvcmVBdWRpb0FjdGl2ZVNvdXJjZShDb3Jl
QXVkaW9DYXB0dXJlU291cmNlJiBzb3VyY2UpIHsgdW5zZXRBY3RpdmVTb3VyY2Uoc291cmNlKTsg
fQorICAgIENvcmVBdWRpb0NhcHR1cmVTb3VyY2UqIGNvcmVBdWRpb0FjdGl2ZVNvdXJjZSgpIHsg
cmV0dXJuIHN0YXRpY19jYXN0PENvcmVBdWRpb0NhcHR1cmVTb3VyY2UqPihhY3RpdmVTb3VyY2Uo
KSk7IH0KKyNlbHNlCisgICAgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSogY29yZUF1ZGlvQWN0aXZl
U291cmNlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisgICAgQ2Fw
dHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVE
ZXZpY2UmIGRldmljZSwgY29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpIGZpbmFs
CisgICAgeworICAgICAgICByZXR1cm4gQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRl
dmljZS5wZXJzaXN0ZW50SWQoKSwgY29uc3RyYWludHMpOworICAgIH0KK307CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333409</attachid>
            <date>2018-02-08 12:34:00 -0800</date>
            <delta_ts>2018-02-08 21:05:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182606-20180208123359.patch</filename>
            <type>text/plain</type>
            <size>13816</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4Mjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRmYjdkMDQxMWFkYmE0
OWZjMmJlYjVkMzUyM2QzZTc4MjlmNmU5NS4uYTY5NWRiMjhiNjhhZGRmYzViOTZjYjRlYmI3M2Y0
MjAzNDU2NDFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE4LTAyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlQXVkaW9DYXB0dXJl
U291cmNlSU9TTGlzdGVuZXIgc2hvdWxkIGJlIGEgV2ViUHJvY2VzcyBzaW5nbGV0b24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzczNTUyODM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm90IHRlc3RhYmxlIHJpZ2h0IG5vdyBhcyB0aGlzIHJlbGll
cyBvbiBpT1Mgc3BlY2lmaWMgQ29yZSBBdWRpbyBzdGFjay4KKyAgICAgICAgRWZmb3J0cyBzaG91
bGQgYmUgbWFkZSB0byBzb21laG93IG1vY2sgdGhhdCBwYXJ0IGFuZCBtb2NrIGludGVycnVwdGlv
bnMuCisKKyAgICAgICAgTWFkZSBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUyByZXNw
b25zaWJsZSB0byByZWNlaXZlIGlPUyBpbnRlcnJ1cHRpb24gbWVzc2FnZXMuCisgICAgICAgIEJl
Zm9yZSB0aGUgcGF0Y2gsIGluZGl2aWR1YWwgY2FwdHVyZSBzb3VyY2VzIHdlcmUgcmVjZWl2aW5n
IHRoZXNlIG1lc3NhZ2VzLgorICAgICAgICBXaGVuIHRoZXJlIGlzIG9ubHkgb25lIGNhcHR1cmUg
c291cmNlIHBlciBwcm9jZXNzIHRoaXMgaXMgZmluZSBidXQgd2l0aCBtb3JlIGNhcHR1cmUgc291
cmNlcywKKyAgICAgICAgdGhpcyBpcyBtZXNzaW5nIHVwIHRoaW5ncyBhcyB0aGV5IGFsbCBzaGFy
ZSB0aGUgc2FtZSBzaGFyZWQgdW5pdCBhbmQgd2Ugd291bGQgdHJ5IHRvIGludGVycnVwdCBpdCBv
ciByZXN1bWUgaXQgc2V2ZXJhbCB0aW1lcy4KKworICAgICAgICBBbHNvLCBpZiB3ZSBhcmUgc3Vz
cGVuZGVkIGFuZCB0aGVyZSBpcyBubyBtb3JlIGNhcHR1cmUgc291cmNlLCB0aGUgc2hhcmVkIHVu
aXQgd2lsbCByZW1haW4gc3VzcGVuZGVkIGluZGVmaW5pdGVseSwgYXMgd2Ugd2lsbAorICAgICAg
ICBub3QgcHJvY2VzcyB0aGUgaW50ZXJydXB0aW9uIG1lc3NhZ2VzLgorICAgICAgICBXaXRoIHRo
ZSBwYXRjaCwgd2UgYWx3YXlzIHByb2Nlc3MgdGhlIG1lc3NhZ2VzLgorICAgICAgICBXZSBzdGls
bCBnbyB0aHJvdWdoIHRoZSBhY3RpdmUgc291cmNlIGFzIGRvbmUgbm93IHRvIGxpbWl0IHRoZSBj
aGFuZ2VzLgorICAgICAgICBJbiBjYXNlIG9mIG5vIHNvdXJjZSwgd2UgZ28gdG8gdGhlIHNoYXJl
ZCB1bml0LgorICAgICAgICBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgZGlyZWN0bHkgZ28gdG8g
dGhlIHNoYXJlZCB1bml0IGFuZCBjbGllbnRzIG9mIHRoZSBzaGFyZWQgdW5pdCBzaG91bGQgc2Vl
IHRoZWlyIHN0YXRlIGJlaW5nIHVwZGF0ZWQuCisKKyAgICAgICAgQXMgYSB3YXkgdG8gcHJldmVu
dCBzdGF5aW5nIHN1c3BlbmRlZCBvbiBpT1MsIHdlIHVuc3VzcGVuZCBvdXJzZWx2ZXMgaW4gQ29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgVGhpcyBpcyBmaW5lIGFz
IHRoaXMgY29uc3RydWN0b3IgaXMgb25seSBjYWxsZWQgd2hlbiBnZXRVc2VyTWVkaWEgZ3JhbnRz
IGFjY2VzcyB0byB0aGUgY2FtZXJhIHdoaWNoIGFsd2F5cyBnb2VzIHRvIHRoZSBVSVByb2Nlc3Mu
CisgICAgICAgIEFuZCB0aGUgVUlQcm9jZXNzIGlzIG9ubHkgcHJvY2Vzc2luZyBnZXRVc2VyTWVk
aWEgY2FsbHMgaWYgdGhlIFdlYlByb2Nlc3MgaXMgZm9yZWdyb3VuZGVkLgorCisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlP
Uy5tbToKKyAgICAgICAgKC1bV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyIGlu
aXRXaXRoQ2FsbGJhY2s6XSk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291
cmNlRmFjdG9yeUlPUzo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1MpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6On5Db3JlQXVkaW9D
YXB0dXJlU291cmNlRmFjdG9yeUlPUyk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0
dXJlU291cmNlRmFjdG9yeTo6c2luZ2xldG9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6c2luZ2xldG9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6YmVnaW5JbnRlcnJ1cHRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmVuZEludGVycnVwdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6c2No
ZWR1bGVSZWNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZTo6ZmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRp
b0NhcHR1cmVTb3VyY2U6On5Db3JlQXVkaW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzY2hlZHVsZVJlY29uZmlndXJhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpiZWdpbkludGVy
cnVwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjplbmRJ
bnRlcnJ1cHRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVk
aW9DYXB0dXJlU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291
cmNlRmFjdG9yeTo6c2V0Q29yZUF1ZGlvQWN0aXZlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5Ojp1bnNldENvcmVBdWRpb0FjdGl2ZVNvdXJj
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6Y29y
ZUF1ZGlvQWN0aXZlU291cmNlKToKKwogMjAxOC0wMi0wOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGludmFsaWRhdGlvbiBydWxlc2V0cyBmb3IgYXR0
cmlidXRlIHNlbGVjdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKaW5k
ZXggZjZmZGFiYzI1OTk5ZDc2ODgyOTM3NDBiM2E4YmQ2ODgyZGMxNDFiZC4uNzg4ZGE2ZGYwYWU5
N2U4MzE4OThkMjFkNGMxODJhNTE5ZGZjNDU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZUlPUy5oCkBAIC0zMywxMyArMzMsMTIgQEAgT0JKQ19DTEFTUyBXZWJDb3JlQXVkaW9D
YXB0dXJlU291cmNlSU9TTGlzdGVuZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUyBmaW5hbCA6IHB1YmxpYyBDb3JlQXVkaW9DYXB0dXJl
U291cmNlIHsKLXByaXZhdGU6Ci0gICAgZnJpZW5kIGNsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2U7Ci0KLSAgICBDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TKGNvbnN0IFN0cmluZyYgZGV2aWNl
SUQsIGNvbnN0IFN0cmluZyYgbGFiZWwpOwotICAgIH5Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9T
KCk7CitjbGFzcyBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUyBmaW5hbCA6IHB1Ymxp
YyBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeSB7CitwdWJsaWM6CisgICAgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUZhY3RvcnlJT1MoKTsKKyAgICB+Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZh
Y3RvcnlJT1MoKTsKIAorcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZUlPU0xpc3RlbmVyPiBtX2xpc3RlbmVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJ
T1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUy5tbQppbmRleCBjNGViMWY1YjEzNjJmMGU4MDgxMGVlMDBjYWY1OWZh
ZmIxOWMzOTYxLi42YzRmYmU1OGQ4MmI5YThiM2Q3ZTQxMzZlM2I0MmQzZjM2ZmE3M2ZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQpAQCAtNTAsNyArNTAsNyBAQCBT
T0ZUX0xJTktfUE9JTlRFUihBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTWVkaWFTZXJ2aWNl
c1dlcmVSZXNldE5vdGlmaWNhdGlvbgogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBpbnRl
cmZhY2UgV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyIDogTlNPYmplY3Qgewot
ICAgIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MqIF9jYWxsYmFjazsKKyAgICBDb3JlQXVkaW9D
YXB0dXJlU291cmNlRmFjdG9yeUlPUyogX2NhbGxiYWNrOwogfQogCiAtICh2b2lkKWludmFsaWRh
dGU7CkBAIC01OSw3ICs1OSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGVuZAogCiBA
aW1wbGVtZW50YXRpb24gV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyCi0tIChp
ZClpbml0V2l0aENhbGxiYWNrOihDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TKiljYWxsYmFjawor
LSAoaWQpaW5pdFdpdGhDYWxsYmFjazooQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1Mq
KWNhbGxiYWNrCiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCkBA
IC0xMjIsMTggKzEyMiwyMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TOjpDb3JlQXVkaW9DYXB0dXJl
U291cmNlSU9TKGNvbnN0IFN0cmluZyYgZGV2aWNlSUQsIGNvbnN0IFN0cmluZyYgbGFiZWwpCi0g
ICAgOiBDb3JlQXVkaW9DYXB0dXJlU291cmNlKGRldmljZUlELCBsYWJlbCwgMCkKLSAgICAsIG1f
bGlzdGVuZXIoYWRvcHROUyhbW1dlYkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1NMaXN0ZW5lciBh
bGxvY10gaW5pdFdpdGhDYWxsYmFjazp0aGlzXSkpCitDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeUlPUzo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1MoKQorICAgIDogbV9saXN0
ZW5lcihhZG9wdE5TKFtbV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyIGFsbG9j
XSBpbml0V2l0aENhbGxiYWNrOnRoaXNdKSkKIHsKIH0KIAotQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUlPUzo6fkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MoKQorQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUZhY3RvcnlJT1M6On5Db3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUygpCiB7CiAgICAg
W21fbGlzdGVuZXIgaW52YWxpZGF0ZV07CiAgICAgbV9saXN0ZW5lciA9IG51bGxwdHI7CiB9CiAK
K0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5JiBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeTo6c2luZ2xldG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Q29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M+IGZhY3Rvcnk7CisgICAgcmV0dXJuIGZhY3RvcnkuZ2V0
KCk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JN
KElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcAppbmRleCA3MjRjNjc4YTli
NDA5YmMzYTZkNTgzNTBhMTQ2OWJiZjg5NWUzZDRjLi5mNmY5NzYwYjY0ZDBhNDdhNWQwNmUyYWZi
OTY1NWYzOTI5NmU5ZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCkBA
IC01MywyMCArNTMsMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBQ
QUw7CiAKLWNsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5IDogcHVibGljIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkKLXsKLXB1YmxpYzoKLSAgICBDYXB0
dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURl
dmljZSYgZGV2aWNlLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykgZmluYWwK
LSAgICB7Ci0gICAgICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjcmVhdGUoZGV2
aWNlLnBlcnNpc3RlbnRJZCgpLCBjb25zdHJhaW50cyk7Ci0gICAgfQotfTsKLQotc3RhdGljIENv
cmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5JiBjb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eSgpCisjaWYgUExBVEZPUk0oTUFDKQorQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnkmIENv
cmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24oKQogewogICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeT4gZmFjdG9yeTsKICAg
ICByZXR1cm4gZmFjdG9yeS5nZXQoKTsKIH0KKyNlbmRpZgogCiBjb25zdCBVSW50MzIgb3V0cHV0
QnVzID0gMDsKIGNvbnN0IFVJbnQzMiBpbnB1dEJ1cyA9IDE7CkBAIC02OTcsNyArNjkwLDcgQEAg
Q2FwdHVyZVNvdXJjZU9yRXJyb3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGNvbnN0
IFN0cmluZyYgZGV2aWNlSUQsIGNvbnMKICAgICBpZiAoIWRldmljZSkKICAgICAgICAgcmV0dXJu
IHsgfTsKIAotICAgIGF1dG8gc291cmNlID0gYWRvcHRSZWYoKm5ldyBDb3JlQXVkaW9DYXB0dXJl
U291cmNlSU9TKGRldmljZUlELCBkZXZpY2UtPmxhYmVsKCkpKTsKKyAgICBhdXRvIHNvdXJjZSA9
IGFkb3B0UmVmKCpuZXcgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZShkZXZpY2VJRCwgZGV2aWNlLT5s
YWJlbCgpLCAwKSk7CiAjZW5kaWYKIAogICAgIGlmIChjb25zdHJhaW50cykgewpAQCAtNzA4LDkg
KzcwMSw2MCBAQCBDYXB0dXJlU291cmNlT3JFcnJvciBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpj
cmVhdGUoY29uc3QgU3RyaW5nJiBkZXZpY2VJRCwgY29ucwogICAgIHJldHVybiBDYXB0dXJlU291
cmNlT3JFcnJvcihXVEZNb3ZlKHNvdXJjZSkpOwogfQogCit2b2lkIENvcmVBdWRpb0NhcHR1cmVT
b3VyY2VGYWN0b3J5OjpiZWdpbkludGVycnVwdGlvbigpCit7CisgICAgaWYgKCFpc01haW5UaHJl
YWQoKSkgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAgICAgICBi
ZWdpbkludGVycnVwdGlvbigpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgaWYgKGF1dG8qIHNvdXJjZSA9IGNv
cmVBdWRpb0FjdGl2ZVNvdXJjZSgpKSB7CisgICAgICAgIHNvdXJjZS0+YmVnaW5JbnRlcnJ1cHRp
b24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBDb3JlQXVkaW9TaGFyZWRVbml0Ojpz
aW5nbGV0b24oKS5zdXNwZW5kKCk7Cit9CisKK3ZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZh
Y3Rvcnk6OmVuZEludGVycnVwdGlvbigpCit7CisgICAgaWYgKCFpc01haW5UaHJlYWQoKSkgewor
ICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAgICAgICBlbmRJbnRlcnJ1
cHRpb24oKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKKworICAgIGlmIChhdXRvKiBzb3VyY2UgPSBjb3JlQXVkaW9BY3Rp
dmVTb3VyY2UoKSkgeworICAgICAgICBzb3VyY2UtPmVuZEludGVycnVwdGlvbigpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpLnJl
Y29uZmlndXJlQXVkaW9Vbml0KCk7Cit9CisKK3ZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZh
Y3Rvcnk6OnNjaGVkdWxlUmVjb25maWd1cmF0aW9uKCkKK3sKKyAgICBpZiAoIWlzTWFpblRocmVh
ZCgpKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXNdIHsKKyAgICAgICAgICAgIHNj
aGVkdWxlUmVjb25maWd1cmF0aW9uKCk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBpZiAoYXV0byogc291cmNl
ID0gY29yZUF1ZGlvQWN0aXZlU291cmNlKCkpIHsKKyAgICAgICAgc291cmNlLT5zY2hlZHVsZVJl
Y29uZmlndXJhdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIENvcmVBdWRpb1No
YXJlZFVuaXQ6OnNpbmdsZXRvbigpLnJlY29uZmlndXJlQXVkaW9Vbml0KCk7Cit9CisKIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkmIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2U6OmZhY3RvcnkoKQogewotICAgIHJldHVybiBjb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eSgpOworICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6c2luZ2xldG9u
KCk7CiB9CiAKIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2Uo
Y29uc3QgU3RyaW5nJiBkZXZpY2VJRCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgdWludDMyX3QgcGVy
c2lzdGVudElEKQpAQCAtNzI0LDEyICs3NjgsMTkgQEAgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBTdHJpbmcmIGRldmljZUlELCBjb25zdCBTdHIK
ICAgICBpbml0aWFsaXplVm9sdW1lKHVuaXQudm9sdW1lKCkpOwogCiAgICAgdW5pdC5hZGRDbGll
bnQoKnRoaXMpOworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIC8vIFdlIGVuc3VyZSB0aGF0IHdl
IHVuc3VzcGVuZCBvdXJzZWx2ZXMgb24gdGhlIGNvbnN0cnVjdG9yIGFzIGEgY2FwdHVyZSBzb3Vy
Y2UKKyAgICAvLyBpcyBjcmVhdGVkIHdoZW4gZ2V0VXNlck1lZGlhIGdyYW50cyBhY2Nlc3Mgd2hp
Y2ggb25seSBoYXBwZW5zIHdoZW4gdGhlIHByb2Nlc3MgaXMgZm9yZWdyb3VuZGVkLgorICAgIGlm
ICh1bml0LmlzU3VzcGVuZGVkKCkpCisgICAgICAgIHVuaXQucmVjb25maWd1cmVBdWRpb1VuaXQo
KTsKKyNlbmRpZgogfQogCiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjp+Q29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZSgpCiB7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgIGNvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2VGYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAgIENvcmVBdWRpb0NhcHR1
cmVTb3VyY2VGYWN0b3J5OjpzaW5nbGV0b24oKS51bnNldENvcmVBdWRpb0FjdGl2ZVNvdXJjZSgq
dGhpcyk7CiAjZW5kaWYKIAogICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpLnJl
bW92ZUNsaWVudCgqdGhpcyk7CkBAIC03NDgsNyArNzk5LDcgQEAgdm9pZCBDb3JlQXVkaW9DYXB0
dXJlU291cmNlOjpyZW1vdmVFY2hvQ2FuY2VsbGF0aW9uU291cmNlKEF1ZGlvU2FtcGxlRGF0YVNv
dXJjZSYKIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkK
IHsKICNpZiBQTEFURk9STShJT1MpCi0gICAgY29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnko
KS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAgIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0
b3J5OjpzaW5nbGV0b24oKS5zZXRDb3JlQXVkaW9BY3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlm
CiAKICAgICBhdXRvJiB1bml0ID0gQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCk7CkBA
IC04NDQsMTcgKzg5NSw2IEBAIGJvb2wgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6YXBwbHlFY2hv
Q2FuY2VsbGF0aW9uKGJvb2wgZW5hYmxlRWNob0NhbmNlbGxhdGlvbikKIAogdm9pZCBDb3JlQXVk
aW9DYXB0dXJlU291cmNlOjpzY2hlZHVsZVJlY29uZmlndXJhdGlvbigpCiB7Ci0gICAgaWYgKCFp
c01haW5UaHJlYWQoKSkgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IGNy
ZWF0ZVdlYWtQdHIoKSwgdGhpc10gewotICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIHNjaGVkdWxlUmVjb25maWd1cmF0aW9u
KCk7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwogICAgIGF1dG8mIHVuaXQgPSBDb3JlQXVkaW9TaGFyZWRVbml0Ojpz
aW5nbGV0b24oKTsKICAgICBpZiAoIXVuaXQuaGFzQXVkaW9Vbml0KCkgfHwgbV9yZWNvbmZpZ3Vy
YXRpb25TdGF0ZSAhPSBSZWNvbmZpZ3VyYXRpb25TdGF0ZTo6Tm9uZSkKQEAgLTg3NCwxNyArOTE0
LDYgQEAgdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzY2hlZHVsZVJlY29uZmlndXJhdGlv
bigpCiAKIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6YmVnaW5JbnRlcnJ1cHRpb24oKQog
ewotICAgIGlmICghaXNNYWluVGhyZWFkKCkpIHsKLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChb
d2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCksIHRoaXNdIHsKLSAgICAgICAgICAgIGlmICghd2Vh
a1RoaXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBiZWdpbkludGVy
cnVwdGlvbigpOwotICAgICAgICB9KTsKLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBhdXRvJiB1bml0ID0gQ29yZUF1ZGlvU2hhcmVk
VW5pdDo6c2luZ2xldG9uKCk7CiAgICAgaWYgKCF1bml0Lmhhc0F1ZGlvVW5pdCgpIHx8IHVuaXQu
aXNTdXNwZW5kZWQoKSB8fCBtX3N1c3BlbmRQZW5kaW5nKQpAQCAtOTAwLDE3ICs5MjksNiBAQCB2
b2lkIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmJlZ2luSW50ZXJydXB0aW9uKCkKIAogdm9pZCBD
b3JlQXVkaW9DYXB0dXJlU291cmNlOjplbmRJbnRlcnJ1cHRpb24oKQogewotICAgIGlmICghaXNN
YWluVGhyZWFkKCkpIHsKLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBjcmVh
dGVXZWFrUHRyKCksIHRoaXNdIHsKLSAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBlbmRJbnRlcnJ1cHRpb24oKTsKLSAgICAg
ICAgfSk7Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CiAgICAgYXV0byYgdW5pdCA9IENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigp
OwogICAgIGlmICghdW5pdC5oYXNBdWRpb1VuaXQoKSB8fCAhdW5pdC5pc1N1c3BlbmRlZCgpIHx8
IG1fcmVzdW1lUGVuZGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IGI1
YmE1N2Q3Y2M0Njk1ZmQxMjNjNTQ1N2E3MzdkYjkzN2VlZmUzMTUuLjc5MmVhZjA3ZTBjZWZiNDc4
NWUwZjc2ZjI1MjU2OWY2MzY2MTE0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2Uu
aApAQCAtMTEwLDYgKzExMCwyOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9yZXN1bWVQZW5kaW5n
IHsgZmFsc2UgfTsKIH07CiAKK2NsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5IDog
cHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvQ2FwdHVyZUZhY3RvcnkgeworcHVibGlj
OgorICAgIHN0YXRpYyBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeSYgc2luZ2xldG9uKCk7
CisKKyAgICB2b2lkIGJlZ2luSW50ZXJydXB0aW9uKCk7CisgICAgdm9pZCBlbmRJbnRlcnJ1cHRp
b24oKTsKKyAgICB2b2lkIHNjaGVkdWxlUmVjb25maWd1cmF0aW9uKCk7CisKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgdm9pZCBzZXRDb3JlQXVkaW9BY3RpdmVTb3VyY2UoQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZSYgc291cmNlKSB7IHNldEFjdGl2ZVNvdXJjZShzb3VyY2UpOyB9CisgICAgdm9pZCB1
bnNldENvcmVBdWRpb0FjdGl2ZVNvdXJjZShDb3JlQXVkaW9DYXB0dXJlU291cmNlJiBzb3VyY2Up
IHsgdW5zZXRBY3RpdmVTb3VyY2Uoc291cmNlKTsgfQorICAgIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2UqIGNvcmVBdWRpb0FjdGl2ZVNvdXJjZSgpIHsgcmV0dXJuIHN0YXRpY19jYXN0PENvcmVBdWRp
b0NhcHR1cmVTb3VyY2UqPihhY3RpdmVTb3VyY2UoKSk7IH0KKyNlbHNlCisgICAgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZSogY29yZUF1ZGlvQWN0aXZlU291cmNlKCkgeyByZXR1cm4gbnVsbHB0cjsg
fQorI2VuZGlmCisKK3ByaXZhdGU6CisgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVk
aW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZSwgY29uc3QgTWVkaWFD
b25zdHJhaW50cyogY29uc3RyYWludHMpIGZpbmFsCisgICAgeworICAgICAgICByZXR1cm4gQ29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRldmljZS5wZXJzaXN0ZW50SWQoKSwgY29uc3Ry
YWludHMpOworICAgIH0KK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>