<?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>221642</bug_id>
          
          <creation_ts>2021-02-09 17:05:54 -0800</creation_ts>
          <short_desc>WebCore::createBusFromInMemoryAudioFile() may crash under ExtAudioFileRead()</short_desc>
          <delta_ts>2021-02-10 12:34:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1727345</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-09 17:05:54 -0800</bug_when>
    <thetext>WebCore::createBusFromInMemoryAudioFile() may crash under ExtAudioFileRead():
 6 libAudioToolboxUtility.dylib: CrashIfClientProvidedBogusAudioBufferList &lt;==
        6 AudioToolboxCore: ExtAudioFileRead
          6 WebCore: WebCore::createBusFromInMemoryAudioFile(void const*, unsigned long, bool, float)
            6 WebCore: WebCore::AudioBuffer::createFromAudioFileData(void const*, unsigned long, bool, float)
              6 WebCore: WTF::Detail::CallableWrapper&lt;WebCore::AsyncAudioDecoder::AsyncAudioDecoder()::$_0, void&gt;::call()
                6 JavaScriptCore: WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
                  6 JavaScriptCore: WTF::wtfThreadEntryPoint(void*)
                    6 libsystem_pthread.dylib: _pthread_start
                      6 libsystem_pthread.dylib:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727346</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-09 17:06:08 -0800</bug_when>
    <thetext>&lt;rdar://72789841&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727351</commentid>
    <comment_count>2</comment_count>
      <attachid>419789</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-09 17:17:51 -0800</bug_when>
    <thetext>Created attachment 419789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727411</commentid>
    <comment_count>3</comment_count>
      <attachid>419789</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-02-09 20:51:31 -0800</bug_when>
    <thetext>Comment on attachment 419789
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727712</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-10 12:34:27 -0800</bug_when>
    <thetext>Committed r272678: &lt;https://commits.webkit.org/r272678&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419789.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419789</attachid>
            <date>2021-02-09 17:17:51 -0800</date>
            <delta_ts>2021-02-10 12:34:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221642-20210209171750.patch</filename>
            <type>text/plain</type>
            <size>19562</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhjNGU3MGRmNTU5MGYx
MjU5MTE5YTY2MTk1OGM0MGUzODU1YmNjNy4uOWM3ZTA4YjA3YWExYjMwMzZkODU2MjZkNDRiNjY3
MmNjNjRjNjdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAyLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQ29yZTo6Y3JlYXRlQnVz
RnJvbUluTWVtb3J5QXVkaW9GaWxlKCkgbWF5IGNyYXNoIHVuZGVyIEV4dEF1ZGlvRmlsZVJlYWQo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxNjQy
CisgICAgICAgIDxyZGFyOi8vNzI3ODk4NDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIGNyYXNoIHNlZW1zIHRvIGluZGljYXRlIHdlIGFyZSBw
YXNzaW5nIGFuIEF1ZGlvQnVmZmVyTGlzdCB0byBFeHRBdWRpb0ZpbGVSZWFkKCkKKyAgICAgICAg
dGhhdCBjb250YWlucyBhIG51bGwgYnVmZmVyLiBJdCBpcyBub3Qgb2J2aW91cyBob3cgdGhpcyBp
cyBoYXBwZW5pbmcgYnV0IEkgaGF2ZSBtYWRlCisgICAgICAgIHRoZSBmb2xsb3dpbmcgY2hhbmdl
czoKKyAgICAgICAgMS4gY3JlYXRlQXVkaW9CdWZmZXJMaXN0KCkgLyBkZXN0cm95QXVkaW9MaXN0
QnVmZmVyKCkgaW1wbGVtZW50YXRpb24gaXMgbm93IHNoYXJlZAorICAgICAgICAgICBvbiBib3Ro
IG1hY09TIGFuZCBpT1MuIFRoZSBpbXBsZW1lbnRhdGlvbiBub3cgdXNlcyBmYXN0Q2FsbG9jIGFu
ZCByZXR1cm5zIG51bGwKKyAgICAgICAgICAgaW4gY2FzZSBvZiBmYWlsdXJlIHRvIGFsbG9jYXRl
LgorICAgICAgICAyLiBjcmVhdGVBdWRpb0J1ZmZlckxpc3QoKSB3YXMgcmVuYW1lZCB0byB0cnlD
cmVhdGVBdWRpb0J1ZmZlckxpc3QoKSB0byBtYWtlIGl0IGNsZWFyCisgICAgICAgICAgIGl0IGNh
biByZXR1cm4gbnVsbC4gQWxsIGNhbGwgc2l0ZXMgbm93IHByb3Blcmx5IGRlYWwgd2l0aCB0cnlD
cmVhdGVBdWRpb0J1ZmZlckxpc3QoKQorICAgICAgICAgICBwb3RlbnRpYWxseSByZXR1cm4gbnVs
bAorICAgICAgICAzLiBBZGQgYSBuZXcgdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3QoKSBmdW5jdGlv
biB3aGljaCBtYWtlcyBzdXJlIHRoYXQgdGhlIEF1ZGlvQnVmZmVyTGlzdAorICAgICAgICAgICB3
ZSBhcmUgYWJvdXQgdG8gcGFzcyB0byBFeHRBdWRpb0ZpbGVSZWFkKCkgZG9lcyBub3QgY29udGFp
biBhbnkgbnVsbCBidWZmZXIuIEluIGNhc2UKKyAgICAgICAgICAgb2YgdmFsaWRhdGlvbiBmYWls
dXJlLCB3ZSBsb2cgYW4gZXJyb3IsIGdlbmVyYXRlIGEgc2ltdWxhdGVkIGNyYXNoIGxvZyBhbmQg
ZWFybHkgcmV0dXJuCisgICAgICAgICAgIGdyYWNlZnVsbHkgaW5zdGVhZCBvZiBjcmFzaGluZyBs
YXRlciBvbi4KKyAgICAgICAgNC4gQWRkZWQgbW9yZSBhc3NlcnRpb25zIHRvIGhlbHAgY2F0Y2gg
YnVncy4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0cnlD
cmVhdGVBdWRpb0J1ZmZlckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6ZGVzdHJveUF1ZGlvQnVm
ZmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0ZUF1ZGlvQnVmZmVyTGlzdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvRmlsZVJlYWRlcklPUy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVBdWRpb0J1ZmZlckxpc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6ZGVzdHJveUF1ZGlvQnVmZmVyTGlzdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vbWFjL0F1ZGlvRmlsZVJlYWRlck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVBdWRp
b0J1ZmZlckxpc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6ZGVzdHJveUF1ZGlvQnVm
ZmVyTGlzdCk6IERlbGV0ZWQuCisKIDIwMjEtMDItMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgU2VjdXJpdHlPcmlnaW4ncyBjYW5BY2Nlc3MoKSB0
byBpc1NhbWVPcmlnaW5Eb21haW4oKSB0byBtYXRjaCBIVE1MIHNwZWNpZmljYXRpb24gbmFtaW5n
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCBkMzE5ZTE4ZjEyOGFhOGVkNmY1YzBlY2RlZGJi
OWU3ZTM2M2Y1MTYzLi44OWQzMGZjZmY3MmFhNTU2NjMyMTViMGM4MWQ3NGYyZmRjMzFmOWZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTIwNSw2ICsyMDUsNyBAQCBwYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQogcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVz
dGluYXRpb25Db2NvYS5jcHAKK3BsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRmlsZVJlYWRlckNv
Y29hLmNwcAogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9PdXRwdXRVbml0QWRhcHRvci5jcHAK
IHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyTGlzdC5jcHAKIHBsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDEwYzA0ZjQ3ODRkMDYx
NDI1ZWIwMDIzYWU5NTAzODE4MzhmZDQ5MDAuLjNhZjQ5MTlkMzgzZmY2ZjI3MmE0NjQ5MTg5NGIw
YTA1YzhkZDM1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEyNjAsNiArMTI2MCw3IEBACiAJCTQ2NzMwMjAyMUM0RUZFNzgw
MEJDQjM1NyAvKiBJZ25vcmVPcGVuc0R1cmluZ1VubG9hZENvdW50SW5jcmVtZW50ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NzMwMjAxMUM0RUZF
NjYwMEJDQjM1NyAvKiBJZ25vcmVPcGVuc0R1cmluZ1VubG9hZENvdW50SW5jcmVtZW50ZXIuaCAq
LzsgfTsKIAkJNDY4MkQyMDAxRjc5NzgzMDAwQzg2M0RCIC8qIFN0b3JlZENyZWRlbnRpYWxzUG9s
aWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0Njgy
RDFGRjFGNzk3ODIzMDBDODYzREIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjgzNDRFMDFFRERG
QUFBMDBCNzc5NUIgLyogRE9NUmVjdExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODM0NERFMUVEREZBNUYwMEI3Nzk1QiAvKiBET01SZWN0TGlz
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ2
QUFBQTNEMjVEMzYzMjAwMEJBRjQyRiAvKiBBdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBQUFBM0EyNUQzNjMxNDAw
QkFGNDJGIC8qIEF1ZGlvRmlsZVJlYWRlckNvY29hLmggKi87IH07CiAJCTQ2QjYzRjZDMUM2RThE
MTkwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI2M0Y2QjFDNkU4Q0RGMDAyRTkxNEIgLyogSlNF
dmVudFRhcmdldEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQ2QjY1MEREMjI5NjI2MjcwMEZEOEFBNCAvKiBQYWdlSWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCNjUwREIy
Mjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZCOTUxOTUyMDdENjMzNDAwQTdEMkREIC8q
IEFic3RyYWN0RE9NV2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NkI5NTE4QTIwN0Q2MzI4MDBBN0QyREQgLyogQWJzdHJhY3RET01XaW5kb3cu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODE5
Myw2ICs4MTk0LDggQEAKIAkJNDY4MzQ0REQxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDY4MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTVJlY3RMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ2OEI4QkRFMjVDQzg0OTMwMEY2NzgyMiAvKiBKU0Jhc2VBdWRpb0NvbnRleHRDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCYXNlQXVkaW9Db250ZXh0Q3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZBQUFBM0EyNUQzNjMxNDAwQkFGNDJGIC8qIEF1
ZGlvRmlsZVJlYWRlckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1
ZGlvRmlsZVJlYWRlckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QUFB
QTNDMjVEMzYzMTQwMEJBRjQyRiAvKiBBdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QjYzRjZCMUM2RThDREYwMDJFOTE0QiAvKiBK
U0V2ZW50VGFyZ2V0Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
RXZlbnRUYXJnZXRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZCNjUw
REIyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBhZ2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2Qjk1MThBMjA3RDYzMjgwMEE3RDJERCAvKiBBYnN0cmFjdERPTVdpbmRvdy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYnN0cmFjdERPTVdpbmRvdy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjc5MzIsNiArMjc5MzUsOCBAQAogCQkJY2hpbGRy
ZW4gPSAoCiAJCQkJNDEzMTUxODQyMzU3NzQ1RTAwMTE1RTZFIC8qIEF1ZGlvRGVzdGluYXRpb25D
b2NvYS5jcHAgKi8sCiAJCQkJNDEzMTUxODYyMzU3NzQ1RTAwMTE1RTZFIC8qIEF1ZGlvRGVzdGlu
YXRpb25Db2NvYS5oICovLAorCQkJCTQ2QUFBQTNDMjVEMzYzMTQwMEJBRjQyRiAvKiBBdWRpb0Zp
bGVSZWFkZXJDb2NvYS5jcHAgKi8sCisJCQkJNDZBQUFBM0EyNUQzNjMxNDAwQkFGNDJGIC8qIEF1
ZGlvRmlsZVJlYWRlckNvY29hLmggKi8sCiAJCQkJMURCNjZEMzgyNTM2NzhFQTAwQjY3MUI5IC8q
IEF1ZGlvT3V0cHV0VW5pdEFkYXB0b3IuY3BwICovLAogCQkJCTFEQjY2RDM3MjUzNjc4RUEwMEI2
NzFCOSAvKiBBdWRpb091dHB1dFVuaXRBZGFwdG9yLmggKi8sCiAJCQkJMDczQjg3NjIxRTQzODU5
RDAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5jcHAgKi8sCkBAIC0zMTIzMCw2ICsz
MTIzNSw3IEBACiAJCQkJRkQzMTYwODAxMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvRFNQS2VybmVs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA4MjEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9E
U1BLZXJuZWxQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDgzMTJCMDI2Rjcw
MEMxQTM1OSAvKiBBdWRpb0ZpbGVSZWFkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2QUFBQTNE
MjVEMzYzMjAwMEJBRjQyRiAvKiBBdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0Q1NTk2OTIxNDc1QjY3ODAwMUQwQkQwIC8qIEF1ZGlvRmlsZVJlYWRlcklPUy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwQkYxMkIwMjcyQTAwQzFBMzU5IC8qIEF1ZGlvRmlsZVJl
YWRlck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QyRjRBMjQxOEQ4OUY3MDAwNjM3NDZEIC8q
IEF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2Nv
YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmJiZjQ2Y2RhMDdkMTY1NzY3ZmEwNjQwNmIyMjNmYzE2MjliNmE0
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L0F1ZGlvRmlsZVJlYWRlckNvY29hLmNwcApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoV0VCX0FVRElPKQorI2luY2x1ZGUgIkF1ZGlvRmlsZVJlYWRlckNvY29h
LmgiCisKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0F1ZGlvQnVmZmVyTGlzdCogdHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1i
ZXJPZkJ1ZmZlcnMpCit7CisgICAgQ2hlY2tlZFNpemUgYnVmZmVyTGlzdFNpemUgPSBzaXplb2Yo
QXVkaW9CdWZmZXJMaXN0KSAtIHNpemVvZihBdWRpb0J1ZmZlcik7CisgICAgYnVmZmVyTGlzdFNp
emUgKz0gbnVtYmVyT2ZCdWZmZXJzICogc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKKyAgICBpZiAoYnVm
ZmVyTGlzdFNpemUuaGFzT3ZlcmZsb3dlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIGF1dG8gYWxsb2NhdGVkID0gdHJ5RmFzdENhbGxvYygxLCBidWZmZXJMaXN0U2l6ZS51bnNh
ZmVHZXQoKSk7CisgICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0OworICAgIGlmICghYWxs
b2NhdGVkLmdldFZhbHVlKGJ1ZmZlckxpc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJzID0gbnVtYmVyT2ZCdWZmZXJzOworICAgIHJl
dHVybiBidWZmZXJMaXN0OworfQorCit2b2lkIGRlc3Ryb3lBdWRpb0J1ZmZlckxpc3QoQXVkaW9C
dWZmZXJMaXN0KiBidWZmZXJMaXN0KQoreworICAgIGZhc3RGcmVlKGJ1ZmZlckxpc3QpOworfQor
Citib29sIHZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0KEF1ZGlvQnVmZmVyTGlzdCogYnVmZmVyTGlz
dCkKK3sKKyAgICBpZiAoIWJ1ZmZlckxpc3QpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IE9wdGlvbmFsPHVuc2lnbmVkPiBleHBlY3RlZERhdGFTaXplOworICAgIGNvbnN0IEF1ZGlvQnVm
ZmVyKiBidWZmZXIgPSBidWZmZXJMaXN0LT5tQnVmZmVyczsKKyAgICBjb25zdCBBdWRpb0J1ZmZl
ciogYnVmZmVyRW5kID0gYnVmZmVyICsgYnVmZmVyTGlzdC0+bU51bWJlckJ1ZmZlcnM7CisgICAg
Zm9yICggOyBidWZmZXIgPCBidWZmZXJFbmQ7ICsrYnVmZmVyKSB7CisgICAgICAgIGlmICghYnVm
ZmVyLT5tRGF0YSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB1bnNpZ25l
ZCBkYXRhU2l6ZSA9IGJ1ZmZlci0+bURhdGFCeXRlU2l6ZTsKKyAgICAgICAgaWYgKCFleHBlY3Rl
ZERhdGFTaXplKQorICAgICAgICAgICAgZXhwZWN0ZWREYXRhU2l6ZSA9IGRhdGFTaXplOworICAg
ICAgICBlbHNlIGlmICgqZXhwZWN0ZWREYXRhU2l6ZSAhPSBkYXRhU2l6ZSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30KKworI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9jb2NvYS9BdWRpb0ZpbGVSZWFkZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTg5
ZTNjMWJlZjgzYzFmYmVjMzZlNzZhNTRkMjc3ZDM2ZTEzNzViCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9GaWxlUmVhZGVyQ29jb2Eu
aApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhl
ciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfQVVESU8pCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV0FSTl9VTlVTRURfUkVUVVJOIEF1ZGlvQnVmZmVyTGlzdCog
dHJ5Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KHNpemVfdCBudW1iZXJPZkJ1ZmZlcnMpOwordm9pZCBk
ZXN0cm95QXVkaW9CdWZmZXJMaXN0KEF1ZGlvQnVmZmVyTGlzdCopOworYm9vbCB2YWxpZGF0ZUF1
ZGlvQnVmZmVyTGlzdChBdWRpb0J1ZmZlckxpc3QqKTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lv
cy9BdWRpb0ZpbGVSZWFkZXJJT1MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
aW9zL0F1ZGlvRmlsZVJlYWRlcklPUy5jcHAKaW5kZXggZWYxMjMxYmNjMzdiNjFlYmEwOTkzOWFi
M2NkNTIwM2UyNzE4MDJiMC4uNzkxMWNhMmI3NzU3NGRlZjlkYzRlMWMzMjIzNjBkMmY5NTM3YzIy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvRmls
ZVJlYWRlcklPUy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1
ZGlvRmlsZVJlYWRlcklPUy5jcHAKQEAgLTM0LDYgKzM0LDggQEAKIAogI2luY2x1ZGUgIkF1ZGlv
QnVzLmgiCiAjaW5jbHVkZSAiQXVkaW9GaWxlUmVhZGVyLmgiCisjaW5jbHVkZSAiQXVkaW9GaWxl
UmVhZGVyQ29jb2EuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8Q29yZUZvdW5k
YXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC01MSwyMiArNTMsNiBAQCBTT0ZUX0xJ
TksoQXVkaW9Ub29sYm94LCBFeHRBdWRpb0ZpbGVPcGVuVVJMLCBPU1N0YXR1cywgKENGVVJMUmVm
IGluVVJMLCBFeHRBdWRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBXQVJOX1VO
VVNFRF9SRVRVUk4gQXVkaW9CdWZmZXJMaXN0KiBjcmVhdGVBdWRpb0J1ZmZlckxpc3Qoc2l6ZV90
IG51bWJlck9mQnVmZmVycykKLXsKLSAgICBDaGVja2VkU2l6ZSBidWZmZXJMaXN0U2l6ZSA9IHNp
emVvZihBdWRpb0J1ZmZlckxpc3QpIC0gc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKLSAgICBidWZmZXJM
aXN0U2l6ZSArPSBudW1iZXJPZkJ1ZmZlcnMgKiBzaXplb2YoQXVkaW9CdWZmZXIpOwotCi0gICAg
QXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0ID0gc3RhdGljX2Nhc3Q8QXVkaW9CdWZmZXJMaXN0
Kj4oY2FsbG9jKDEsIGJ1ZmZlckxpc3RTaXplLnVuc2FmZUdldCgpKSk7Ci0gICAgaWYgKGJ1ZmZl
ckxpc3QpCi0gICAgICAgIGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJzID0gbnVtYmVyT2ZCdWZm
ZXJzOwotICAgIHJldHVybiBidWZmZXJMaXN0OwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZGVz
dHJveUF1ZGlvQnVmZmVyTGlzdChBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QpCi17Ci0gICAg
ZnJlZShidWZmZXJMaXN0KTsKLX0KLQogQXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIo
Y29uc3QgY2hhciogZmlsZVBhdGgpCiAgICAgOiBtX2RhdGEoMCkKICAgICAsIG1fZGF0YVNpemUo
MCkKQEAgLTE4NCwxMSArMTcwLDE0IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVy
OjpjcmVhdGVCdXMoZmxvYXQgc2FtcGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgQXVkaW9G
bG9hdEFycmF5IGxlZnRDaGFubmVsOwogICAgIEF1ZGlvRmxvYXRBcnJheSByaWdodENoYW5uZWw7
CiAKLSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QgPSBjcmVhdGVBdWRpb0J1ZmZlckxp
c3QobnVtYmVyT2ZDaGFubmVscyk7Ci0gICAgaWYgKCFidWZmZXJMaXN0KQorICAgIEF1ZGlvQnVm
ZmVyTGlzdCogYnVmZmVyTGlzdCA9IHRyeUNyZWF0ZUF1ZGlvQnVmZmVyTGlzdChudW1iZXJPZkNo
YW5uZWxzKTsKKyAgICBpZiAoIWJ1ZmZlckxpc3QpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFV
TFQoV2ViQXVkaW8sICJ0cnlDcmVhdGVBdWRpb0J1ZmZlckxpc3QoJWxkKSByZXR1cm5lZCBudWxs
IiwgbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KICAg
ICBjb25zdCBzaXplX3QgYnVmZmVyU2l6ZSA9IG51bWJlck9mRnJhbWVzICogc2l6ZW9mKGZsb2F0
KTsKIAorICAgIFJFTEVBU0VfQVNTRVJUKGJ1ZmZlckxpc3QtPm1OdW1iZXJCdWZmZXJzID09IG51
bWJlck9mQ2hhbm5lbHMpOwogICAgIGlmIChtaXhUb01vbm8gJiYgbnVtYmVyT2ZDaGFubmVscyA9
PSAyKSB7CiAgICAgICAgIGxlZnRDaGFubmVsLnJlc2l6ZShudW1iZXJPZkZyYW1lcyk7CiAgICAg
ICAgIHJpZ2h0Q2hhbm5lbC5yZXNpemUobnVtYmVyT2ZGcmFtZXMpOwpAQCAtMjAxLDcgKzE5MCw3
IEBAIFJlZlB0cjxBdWRpb0J1cz4gQXVkaW9GaWxlUmVhZGVyOjpjcmVhdGVCdXMoZmxvYXQgc2Ft
cGxlUmF0ZSwgYm9vbCBtaXhUb01vbm8pCiAgICAgICAgIGJ1ZmZlckxpc3QtPm1CdWZmZXJzWzFd
Lm1EYXRhQnl0ZVNpemUgPSBidWZmZXJTaXplOwogICAgICAgICBidWZmZXJMaXN0LT5tQnVmZmVy
c1sxXS5tRGF0YSA9IHJpZ2h0Q2hhbm5lbC5kYXRhKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAg
QVNTRVJUKCFtaXhUb01vbm8gfHwgbnVtYmVyT2ZDaGFubmVscyA9PSAxKTsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIW1peFRvTW9ubyB8fCBudW1iZXJPZkNoYW5uZWxzID09IDEpOwogCiAgICAg
ICAgIC8vIEZvciBUcnVlLXN0ZXJlbyAobnVtYmVyT2ZDaGFubmVscyA9PSA0KQogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mQ2hhbm5lbHM7ICsraSkgewpAQCAtMjA5LDkg
KzE5OCwxNyBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZs
b2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICAgICAgYnVmZmVyTGlzdC0+
bUJ1ZmZlcnNbaV0ubU51bWJlckNoYW5uZWxzID0gMTsKICAgICAgICAgICAgIGJ1ZmZlckxpc3Qt
Pm1CdWZmZXJzW2ldLm1EYXRhQnl0ZVNpemUgPSBidWZmZXJTaXplOwogICAgICAgICAgICAgYnVm
ZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubURhdGEgPSBhdWRpb0J1cy0+Y2hhbm5lbChpKS0+bXV0YWJs
ZURhdGEoKTsKKyAgICAgICAgICAgIEFTU0VSVChidWZmZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0
YSk7CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoIXZhbGlkYXRlQXVkaW9CdWZmZXJMaXN0
KGJ1ZmZlckxpc3QpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFdlYkF1ZGlvLCAiR2Vu
ZXJhdGVkIGJ1ZmZlciBpbiBBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cygpIGRpZCBub3QgcGFz
cyB2YWxpZGF0aW9uIik7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBk
ZXN0cm95QXVkaW9CdWZmZXJMaXN0KGJ1ZmZlckxpc3QpOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICB9CisKICAgICAvLyBSZWFkIGZyb20gdGhlIGZpbGUgKG9yIGluLW1lbW9yeSB2ZXJz
aW9uKQogICAgIFVJbnQzMiBmcmFtZXNUb1JlYWQgPSBudW1iZXJPZkZyYW1lczsKICAgICBpZiAo
RXh0QXVkaW9GaWxlUmVhZChtX2V4dEF1ZGlvRmlsZVJlZiwgJmZyYW1lc1RvUmVhZCwgYnVmZmVy
TGlzdCkgIT0gbm9FcnIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb0ZpbGVSZWFkZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL0F1ZGlvRmlsZVJlYWRlck1hYy5jcHAKaW5kZXggMDhiYTc0YTQ2NTEzM2YxOWVk
MTUxMjdkMWFlZGI0ODhiOGY1MWFkMS4uNzVjZGMwZmE4MjE0NDAzOThhNzNiYTc4MjE0ZWYyNmY2
MTYwMGYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1
ZGlvRmlsZVJlYWRlck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
bWFjL0F1ZGlvRmlsZVJlYWRlck1hYy5jcHAKQEAgLTM2LDI5ICszNiwxNCBAQAogCiAjaW5jbHVk
ZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCIKKyNpbmNsdWRlICJB
dWRpb0ZpbGVSZWFkZXJDb2NvYS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1zdGF0aWMgQXVkaW9CdWZmZXJMaXN0KiBjcmVhdGVBdWRpb0J1ZmZlckxpc3Qoc2l6ZV90IG51
bWJlck9mQnVmZmVycykKLXsKLSAgICBzaXplX3QgYnVmZmVyTGlzdFNpemUgPSBzaXplb2YoQXVk
aW9CdWZmZXJMaXN0KSAtIHNpemVvZihBdWRpb0J1ZmZlcik7Ci0gICAgYnVmZmVyTGlzdFNpemUg
Kz0gbnVtYmVyT2ZCdWZmZXJzICogc2l6ZW9mKEF1ZGlvQnVmZmVyKTsKLQotICAgIEF1ZGlvQnVm
ZmVyTGlzdCogYnVmZmVyTGlzdCA9IHN0YXRpY19jYXN0PEF1ZGlvQnVmZmVyTGlzdCo+KGNhbGxv
YygxLCBidWZmZXJMaXN0U2l6ZSkpOwotICAgIGlmIChidWZmZXJMaXN0KQotICAgICAgICBidWZm
ZXJMaXN0LT5tTnVtYmVyQnVmZmVycyA9IG51bWJlck9mQnVmZmVyczsKLQotICAgIHJldHVybiBi
dWZmZXJMaXN0OwotfQotCi1zdGF0aWMgdm9pZCBkZXN0cm95QXVkaW9CdWZmZXJMaXN0KEF1ZGlv
QnVmZmVyTGlzdCogYnVmZmVyTGlzdCkKLXsKLSAgICBmcmVlKGJ1ZmZlckxpc3QpOwotfQotCiBB
dWRpb0ZpbGVSZWFkZXI6OkF1ZGlvRmlsZVJlYWRlcihjb25zdCBjaGFyKiBmaWxlUGF0aCkKICAg
ICA6IG1fZGF0YShudWxscHRyKQogICAgICwgbV9kYXRhU2l6ZSgwKQpAQCAtMTkwLDggKzE3NSwx
MyBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKGZsb2F0IHNh
bXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgIGZsb2F0KiBidWZmZXJSID0gMDsKICAgICAK
ICAgICAvLyBTZXR1cCBBdWRpb0J1ZmZlckxpc3QgaW4gcHJlcGFyYXRpb24gZm9yIHJlYWRpbmcK
LSAgICBBdWRpb0J1ZmZlckxpc3QqIGJ1ZmZlckxpc3QgPSBjcmVhdGVBdWRpb0J1ZmZlckxpc3Qo
bnVtYmVyT2ZDaGFubmVscyk7CisgICAgQXVkaW9CdWZmZXJMaXN0KiBidWZmZXJMaXN0ID0gdHJ5
Q3JlYXRlQXVkaW9CdWZmZXJMaXN0KG51bWJlck9mQ2hhbm5lbHMpOworICAgIGlmICghYnVmZmVy
TGlzdCkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChXZWJBdWRpbywgInRyeUNyZWF0ZUF1
ZGlvQnVmZmVyTGlzdCglbGQpIHJldHVybmVkIG51bGwiLCBudW1iZXJPZkNoYW5uZWxzKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQogCisgICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVy
TGlzdC0+bU51bWJlckJ1ZmZlcnMgPT0gbnVtYmVyT2ZDaGFubmVscyk7CiAgICAgaWYgKG1peFRv
TW9ubyAmJiBudW1iZXJPZkNoYW5uZWxzID09IDIpIHsKICAgICAgICAgYnVmTC5yZXNpemUobnVt
YmVyT2ZGcmFtZXMpOwogICAgICAgICBidWZSLnJlc2l6ZShudW1iZXJPZkZyYW1lcyk7CkBAIC0y
MDYsMTYgKzE5NiwyNCBAQCBSZWZQdHI8QXVkaW9CdXM+IEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRl
QnVzKGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKQogICAgICAgICBidWZmZXJMaXN0
LT5tQnVmZmVyc1sxXS5tRGF0YUJ5dGVTaXplID0gbnVtYmVyT2ZGcmFtZXMgKiBzaXplb2YoZmxv
YXQpOwogICAgICAgICBidWZmZXJMaXN0LT5tQnVmZmVyc1sxXS5tRGF0YSA9IGJ1ZmZlclI7CiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKCFtaXhUb01vbm8gfHwgbnVtYmVyT2ZDaGFubmVs
cyA9PSAxKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1peFRvTW9ubyB8fCBudW1iZXJPZkNo
YW5uZWxzID09IDEpOwogCiAgICAgICAgIC8vIGZvciBUcnVlLXN0ZXJlbyAobnVtYmVyT2ZDaGFu
bmVscyA9PSA0KQogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bWJlck9mQ2hhbm5l
bHM7ICsraSkgewogICAgICAgICAgICAgYnVmZmVyTGlzdC0+bUJ1ZmZlcnNbaV0ubU51bWJlckNo
YW5uZWxzID0gMTsKICAgICAgICAgICAgIGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRhQnl0
ZVNpemUgPSBudW1iZXJPZkZyYW1lcyAqIHNpemVvZihmbG9hdCk7CiAgICAgICAgICAgICBidWZm
ZXJMaXN0LT5tQnVmZmVyc1tpXS5tRGF0YSA9IGF1ZGlvQnVzLT5jaGFubmVsKGkpLT5tdXRhYmxl
RGF0YSgpOworICAgICAgICAgICAgQVNTRVJUKGJ1ZmZlckxpc3QtPm1CdWZmZXJzW2ldLm1EYXRh
KTsKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICghdmFsaWRhdGVBdWRpb0J1ZmZlckxpc3Qo
YnVmZmVyTGlzdCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoV2ViQXVkaW8sICJHZW5l
cmF0ZWQgYnVmZmVyIGluIEF1ZGlvRmlsZVJlYWRlcjo6Y3JlYXRlQnVzKCkgZGlkIG5vdCBwYXNz
IHZhbGlkYXRpb24iKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGRl
c3Ryb3lBdWRpb0J1ZmZlckxpc3QoYnVmZmVyTGlzdCk7CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0KKwogICAgIC8vIFJlYWQgZnJvbSB0aGUgZmlsZSAob3IgaW4tbWVtb3J5IHZlcnNp
b24pCiAgICAgVUludDMyIGZyYW1lc1RvUmVhZCA9IG51bWJlck9mRnJhbWVzOwogICAgIHJlc3Vs
dCA9IEV4dEF1ZGlvRmlsZVJlYWQobV9leHRBdWRpb0ZpbGVSZWYsICZmcmFtZXNUb1JlYWQsIGJ1
ZmZlckxpc3QpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>