<?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>160806</bug_id>
          
          <creation_ts>2016-08-12 10:44:17 -0700</creation_ts>
          <short_desc>message loading never finishes in Mail</short_desc>
          <delta_ts>2022-06-15 18:15:42 -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>New Bugs</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=241666</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>mitz</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1219610</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-12 10:44:17 -0700</bug_when>
    <thetext>message loading never finishes in Mail</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219613</commentid>
    <comment_count>1</comment_count>
      <attachid>285918</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-12 10:49:44 -0700</bug_when>
    <thetext>Created attachment 285918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219619</commentid>
    <comment_count>2</comment_count>
      <attachid>285918</attachid>
    <who name="">mitz</who>
    <bug_when>2016-08-12 11:07:39 -0700</bug_when>
    <thetext>Comment on attachment 285918
Patch

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

&gt; Source/WebKit2/ChangeLog:14
&gt; +        Handle the MACH_NOTIFY_NO_SENDERS and MACH_NOTIFY_SEND_ONCE messages here. Also, once we receive a send
&gt; +        queue from the other side, stop listening for the MACH_NOTIFY_NO_SENDERS notification.

“send queue”?

&gt; Source/WebKit2/ChangeLog:34
&gt; +        - Use mach_port_request_notification to get a notification for when our receiver right loses all its senders.

“receive right”

&gt; Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm:172
&gt; +    bool isWebKitDevelopmentBuild = ![[[[NSBundle bundleWithIdentifier:@&quot;com.apple.WebKit&quot;] bundlePath] stringByDeletingLastPathComponent] hasPrefix:systemDirectoryPath()];
&gt; +    if (isWebKitDevelopmentBuild) {

Unrelated, but we need to change this logic to use the process name, because currently it makes Safari Technology Preview builds behave like development builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219631</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-12 11:51:33 -0700</bug_when>
    <thetext>Committed r204414: &lt;http://trac.webkit.org/changeset/204414&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285918</attachid>
            <date>2016-08-12 10:49:44 -0700</date>
            <delta_ts>2016-08-12 11:07:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160806-20160812104805.patch</filename>
            <type>text/plain</type>
            <size>17676</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTkwZjMwYTEwMWI2MGY4
YzdkYTRjM2NiN2E3ZjY5Y2I2Mzg5NzQyOS4uNTIyODRiMmExNWU1NjFkODNhMTdjNmE0ZjIyMWEy
MDNkMzFiM2VlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE2LTA4LTEyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgbWVzc2FnZSBsb2Fk
aW5nIG5ldmVyIGZpbmlzaGVzIGluIE1haWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MDgwNgorICAgICAgICByZGFyOi8vcHJvYmxlbS8yNzYyNDA5
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBt
b3JlIGNoZWNrcyBmb3Igd2hlbiBhIHByb2Nlc3MgZ29lcyBhd2F5IGJlZm9yZSB3ZSd2ZSBlc3Rh
Ymxpc2hlZCBhIHByb3BlciBjb25uZWN0aW9uIHRvIGl0LgorCisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjpyZWNl
aXZlU291cmNlRXZlbnRIYW5kbGVyKToKKyAgICAgICAgSGFuZGxlIHRoZSBNQUNIX05PVElGWV9O
T19TRU5ERVJTIGFuZCBNQUNIX05PVElGWV9TRU5EX09OQ0UgbWVzc2FnZXMgaGVyZS4gQWxzbywg
b25jZSB3ZSByZWNlaXZlIGEgc2VuZAorICAgICAgICBxdWV1ZSBmcm9tIHRoZSBvdGhlciBzaWRl
LCBzdG9wIGxpc3RlbmluZyBmb3IgdGhlIE1BQ0hfTk9USUZZX05PX1NFTkRFUlMgbm90aWZpY2F0
aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAg
ICAgIE51bGwgY2hlY2sgdGhlIGNvbm5lY3Rpb24gaWRlbnRpZmllci4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpQ
cm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NMYXVuY2hlcik6CisgICAgICAgIChXZWJLaXQ6OnByb2Nl
c3NMYXVuY2hlcldvcmtRdWV1ZSk6IERlbGV0ZWQuCisgICAgICAgIEdldCByaWQgb2YgdGhlIHBy
b2Nlc3MgbGF1bmNoZXIgcXVldWUgLSB3ZSdyZSBub3QgZG9pbmcgYW55IGJsb2NraW5nIHdvcmsg
aGVyZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoK
KyAgICAgICAgQWRkIGEgd2VhayBmYWN0b3J5LgorCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5j
aGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OnN5c3RlbURp
cmVjdG9yeVBhdGgpOgorICAgICAgICBNb3ZlIHRoaXMgYmVmb3JlIGxhdW5jaFByb2Nlc3MoKS4K
KworICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgorICAg
ICAgICBNZXJnZSBjcmVhdGVTZXJ2aWNlIGFuZCBjb25uZWN0VG9TZXJ2aWNlIGludG8gbGF1bmNo
UHJvY2Vzcy4gQWxzbyBtYWtlIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKKyAgICAgICAgLSBVc2Ug
bWFjaF9wb3J0X3JlcXVlc3Rfbm90aWZpY2F0aW9uIHRvIGdldCBhIG5vdGlmaWNhdGlvbiBmb3Ig
d2hlbiBvdXIgcmVjZWl2ZXIgcmlnaHQgbG9zZXMgYWxsIGl0cyBzZW5kZXJzLgorICAgICAgICBU
aGlzIGxldHMgdXMgbGlzdGVuIGZvciB0aGUgb3RoZXIgcHJvY2VzcyBnb2luZyBhd2F5IGJlZm9y
ZSB3ZSBoYXZlIGEgc2VuZCByaWdodCBmb3IgaXQuCisgICAgICAgIC0gVXNlIHhwY19jb25uZWN0
aW9uX3NldF9ldmVudF9oYW5kbGVyIHRvIGxpc3RlbiBmb3IgZXJyb3JzLCBzbyB3ZSBjYW4gZGV0
ZWN0IHRoZSBwcm9jZXNzIGdvaW5nIGF3YXkgYmVmb3JlCisgICAgICAgIHdlJ3ZlIHNlbnQgYSBt
ZXNzYWdlIHRvIGl0LgorICAgICAgICAKKyAgICAgICAgKFdlYktpdDo6Y29ubmVjdFRvU2Vydmlj
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVNlcnZpY2UpOiBEZWxldGVkLgor
CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6
CisgICAgICAgIElmIHdlIGZhaWxlZCB0byBsYXVuY2gsIGNhbGwgbmV0d29ya1Byb2Nlc3NDcmFz
aGVkT3JGYWlsZWRUb0xhdW5jaCBzbyB3ZSdsbCB1bmJsb2NrIGFueSB3YWl0aW5nIHdlYiBwcm9j
ZXNzZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcpOgorICAgICAg
ICBOdWxsIGNoZWNrIHRoZSBjb25uZWN0aW9uIGFuZCBYUEMgY29ubmVjdGlvbiBiZWZvcmUgdHJ5
aW5nIHRvIGdldCBpdHMgcGlkLgorCiAyMDE2LTA4LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IGNyYXNoIHdoZW4gY2hhbmdpbmcg
Y29va2llIGFjY2VwdCBwb2xpY3kgYWZ0ZXIgcjIwNDMyNwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IGZjOTY1NjZhYTgyMmZiZmM2
NDNjYzM2MGFkOWY2NDAyMzgyNWMwYzUuLjQ3ZWNkYjllYThhYTc2YjFiZTRjODhhZjg1M2UzYThk
MmM4ZTZjNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29u
bmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5l
Y3Rpb25NYWMubW0KQEAgLTQ3OSw2ICs0NzksMjAgQEAgdm9pZCBDb25uZWN0aW9uOjpyZWNlaXZl
U291cmNlRXZlbnRIYW5kbGVyKCkKICAgICBpZiAoIWhlYWRlcikKICAgICAgICAgcmV0dXJuOwog
CisgICAgc3dpdGNoIChoZWFkZXItPm1zZ2hfaWQpIHsKKyAgICBjYXNlIE1BQ0hfTk9USUZZX05P
X1NFTkRFUlM6CisgICAgICAgIEFTU0VSVChtX2lzU2VydmVyKTsKKyAgICAgICAgaWYgKCFtX3Nl
bmRQb3J0KQorICAgICAgICAgICAgY29ubmVjdGlvbkRpZENsb3NlKCk7CisgICAgICAgIHJldHVy
bjsKKworICAgIGNhc2UgTUFDSF9OT1RJRllfU0VORF9PTkNFOgorICAgICAgICByZXR1cm47CisK
KyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8TWVzc2FnZURlY29kZXI+IGRlY29kZXIgPSBjcmVhdGVNZXNzYWdlRGVjb2RlcihoZWFkZXIp
OwogICAgIEFTU0VSVChkZWNvZGVyKTsKIApAQCAtNTAwLDYgKzUxNCwxMiBAQCB2b2lkIENvbm5l
Y3Rpb246OnJlY2VpdmVTb3VyY2VFdmVudEhhbmRsZXIoKQogICAgICAgICBtX3NlbmRQb3J0ID0g
cG9ydC5wb3J0KCk7CiAgICAgICAgIAogICAgICAgICBpZiAobV9zZW5kUG9ydCkgeworICAgICAg
ICAgICAgbWFjaF9wb3J0X3QgcHJldmlvdXNOb3RpZmljYXRpb25Qb3J0OworICAgICAgICAgICAg
bWFjaF9wb3J0X3JlcXVlc3Rfbm90aWZpY2F0aW9uKG1hY2hfdGFza19zZWxmKCksIG1fcmVjZWl2
ZVBvcnQsIE1BQ0hfTk9USUZZX05PX1NFTkRFUlMsIDAsIE1BQ0hfUE9SVF9OVUxMLCBNQUNIX01T
R19UWVBFX01PVkVfU0VORF9PTkNFLCAmcHJldmlvdXNOb3RpZmljYXRpb25Qb3J0KTsKKworICAg
ICAgICAgICAgaWYgKHByZXZpb3VzTm90aWZpY2F0aW9uUG9ydCAhPSBNQUNIX1BPUlRfTlVMTCkK
KyAgICAgICAgICAgICAgICBtYWNoX3BvcnRfZGVhbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBw
cmV2aW91c05vdGlmaWNhdGlvblBvcnQpOworCiAgICAgICAgICAgICBpbml0aWFsaXplRGVhZE5h
bWVTb3VyY2UoKTsKICAgICAgICAgICAgIGRpc3BhdGNoX3Jlc3VtZShtX2RlYWROYW1lU291cmNl
KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxk
UHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQ
cm94eS5jcHAKaW5kZXggZmUyYTZkZWMyZjMyNmUyMTNlYTMzYmZiNzE1YjE5MDQzYjcyZDhlYi4u
YjM5YTUyMmMzNmZkNDQyYjRlMWJhYzI4NTQ1MDYwYjFjOWFkY2QxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC0xNzEsNiArMTcxLDkg
QEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKFByb2Nlc3NMYXVu
Y2hlciosIElQQzo6Q29ubmVjdGlvbjo6SWQKIHsKICAgICBBU1NFUlQoIW1fY29ubmVjdGlvbik7
CiAKKyAgICBpZiAoSVBDOjpDb25uZWN0aW9uOjppZGVudGlmaWVySXNOdWxsKGNvbm5lY3Rpb25J
ZGVudGlmaWVyKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgbV9jb25uZWN0aW9uID0gSVBDOjpD
b25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCAq
dGhpcyk7CiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDw9IDEwMTAwMAogICAgIG1fY29ubmVjdGlvbi0+c2V0U2hvdWxkQ2xvc2VDb25uZWN0aW9u
T25NYWNoRXhjZXB0aW9ucygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcAppbmRleCBmODU4NGM5MWU5NDJiYmU0ZjNmZDE2
ZWY3MzJlYzAzOWY3YzRhYjA3Li4wODljMTdjMzMzZjVkMmE5MGY0NzAzYzliNWJlYjIwMGY2Yjlh
Njg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vz
c0xhdW5jaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJv
Y2Vzc0xhdW5jaGVyLmNwcApAQCAtMzEsMjMgKzMxLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi1zdGF0aWMgV29ya1F1ZXVlJiBwcm9jZXNzTGF1bmNoZXJXb3JrUXVldWUoKQotewotCi0g
ICAgc3RhdGljIFdvcmtRdWV1ZSYgcHJvY2Vzc0xhdW5jaGVyV29ya1F1ZXVlID0gV29ya1F1ZXVl
OjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuUHJvY2Vzc0xhdW5jaGVyIikubGVha1JlZigpOwot
ICAgIHJldHVybiBwcm9jZXNzTGF1bmNoZXJXb3JrUXVldWU7Ci19Ci0KIFByb2Nlc3NMYXVuY2hl
cjo6UHJvY2Vzc0xhdW5jaGVyKENsaWVudCogY2xpZW50LCBjb25zdCBMYXVuY2hPcHRpb25zJiBs
YXVuY2hPcHRpb25zKQogICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwgbV93ZWFrUHRyRmFj
dG9yeSh0aGlzKQogICAgICwgbV9sYXVuY2hPcHRpb25zKGxhdW5jaE9wdGlvbnMpCiAgICAgLCBt
X3Byb2Nlc3NJZGVudGlmaWVyKDApCiB7CiAgICAgbV9pc0xhdW5jaGluZyA9IHRydWU7Ci0KLSAg
ICBwcm9jZXNzTGF1bmNoZXJXb3JrUXVldWUoKS5kaXNwYXRjaChbcHJvY2Vzc0xhdW5jaGVyID0g
bWFrZVJlZigqdGhpcyldKCkgbXV0YWJsZSB7Ci0gICAgICAgIHByb2Nlc3NMYXVuY2hlci0+bGF1
bmNoUHJvY2VzcygpOwotICAgIH0pOworICAgIGxhdW5jaFByb2Nlc3MoKTsKIH0KIAogdm9pZCBQ
cm9jZXNzTGF1bmNoZXI6OmRpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3MocGlkX3QgcHJvY2Vzc0lk
ZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmlu
ZGV4IDA1ZTc5NDdiNjgzYmQ5YTFlZjZlZjE3NTBmN2I1NTE1MzIyOGM1ZDAuLmE1ZjVhODEzOGNh
ZTdhNGVlOGY2NTUyNDI0MjNkODM3ZjIyMTA0ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmgKQEAgLTIzLDEzICsyMywxMyBA
QAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgV2Vi
UHJvY2Vzc0xhdW5jaGVyX2gKLSNkZWZpbmUgV2ViUHJvY2Vzc0xhdW5jaGVyX2gKKyNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODYsMTEgKzg2LDEwIEBAIHBy
aXZhdGU6CiAKICAgICBDbGllbnQqIG1fY2xpZW50OwogCisgICAgV2Vha1B0ckZhY3Rvcnk8UHJv
Y2Vzc0xhdW5jaGVyPiBtX3dlYWtQdHJGYWN0b3J5OwogICAgIGNvbnN0IExhdW5jaE9wdGlvbnMg
bV9sYXVuY2hPcHRpb25zOwogICAgIGJvb2wgbV9pc0xhdW5jaGluZzsKICAgICBwaWRfdCBtX3By
b2Nlc3NJZGVudGlmaWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAv
LyBXZWJQcm9jZXNzTGF1bmNoZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCA0OWVkZGJm
YjgyOWEwNGYzYzQ5N2UxNjE1NjE0YWU2ZTE2ZTc2ZGJiLi5hNzAwNmFmYTMxOTVkYzU0MTFiNWZj
NDZlNjBmYzAyYjRkYTMwYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQpAQCAtNTAsOCArNTAs
NiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdHlwZWRlZiB2b2lkIChQcm9jZXNzTGF1bmNo
ZXI6OipEaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rpb24pKHBpZF90LCBJUEM6OkNvbm5l
Y3Rpb246OklkZW50aWZpZXIpOwotCiBzdGF0aWMgY29uc3QgY2hhciogc2VydmljZU5hbWUoY29u
c3QgUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zKQogewogICAg
IHN3aXRjaCAobGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkgewpAQCAtODMsMTEgKzgxLDI0IEBA
IHN0YXRpYyBib29sIHNob3VsZExlYWtCb29zdChjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5j
aE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMpCiAgICAgcmV0dXJuIGxhdW5jaE9wdGlvbnMucHJvY2Vz
c1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6TmV0d29yazsKICNlbmRpZgog
fQotICAgIAotc3RhdGljIHZvaWQgY29ubmVjdFRvU2VydmljZShjb25zdCBQcm9jZXNzTGF1bmNo
ZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMsIGJvb2wgZm9yRGV2ZWxvcG1lbnQsIFBy
b2Nlc3NMYXVuY2hlciogdGhhdCwgRGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzc0Z1bmN0aW9uIGRp
ZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3NGdW5jdGlvbikKKworc3RhdGljIE5TU3RyaW5nICpzeXN0
ZW1EaXJlY3RvcnlQYXRoKCkKIHsKLSAgICAvLyBDcmVhdGUgYSBjb25uZWN0aW9uIHRvIHRoZSBX
ZWJLaXQgWFBDIHNlcnZpY2UuCi0gICAgYXV0byBjb25uZWN0aW9uID0gYWRvcHRPU09iamVjdCh4
cGNfY29ubmVjdGlvbl9jcmVhdGUoc2VydmljZU5hbWUobGF1bmNoT3B0aW9ucyksIDApKTsKKyAg
ICBzdGF0aWMgTlNTdHJpbmcgKnBhdGggPSBbXnsKKyNpZiBQTEFURk9STShJT1NfU0lNVUxBVE9S
KQorICAgICAgICBjaGFyICpzaW11bGF0b3JSb290ID0gZ2V0ZW52KCJTSU1VTEFUT1JfUk9PVCIp
OworICAgICAgICByZXR1cm4gc2ltdWxhdG9yUm9vdCA/IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9y
bWF0OkAiJXMvU3lzdGVtLyIsIHNpbXVsYXRvclJvb3RdIDogQCIvU3lzdGVtLyI7CisjZWxzZQor
ICAgICAgICByZXR1cm4gQCIvU3lzdGVtLyI7CisjZW5kaWYKKyAgICB9KCkgY29weV07CisKKyAg
ICByZXR1cm4gcGF0aDsKK30KKwordm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3Mo
KQoreworICAgIGF1dG8gY29ubmVjdGlvbiA9IGFkb3B0T1NPYmplY3QoeHBjX2Nvbm5lY3Rpb25f
Y3JlYXRlKHNlcnZpY2VOYW1lKG1fbGF1bmNoT3B0aW9ucyksIGRpc3BhdGNoX2dldF9tYWluX3F1
ZXVlKCkpKTsKIAogICAgIHV1aWRfdCB1dWlkOwogICAgIHV1aWRfZ2VuZXJhdGUodXVpZCk7CkBA
IC0xMTEsOCArMTIyLDggQEAgc3RhdGljIHZvaWQgY29ubmVjdFRvU2VydmljZShjb25zdCBQcm9j
ZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMKICAgICB4cGNfZGljdGlv
bmFyeV9zZXRfdmFsdWUoaW5pdGlhbGl6YXRpb25NZXNzYWdlLmdldCgpLCAiQ29udGFpbmVyRW52
aXJvbm1lbnRWYXJpYWJsZXMiLCBjb250YWluZXJFbnZpcm9ubWVudFZhcmlhYmxlcy5nZXQoKSk7
CiAjZW5kaWYKIAotICAgIGF1dG8gbGFuZ3VhZ2VzSXRlcmF0b3IgPSBsYXVuY2hPcHRpb25zLmV4
dHJhSW5pdGlhbGl6YXRpb25EYXRhLmZpbmQoIk92ZXJyaWRlTGFuZ3VhZ2VzIik7Ci0gICAgaWYg
KGxhbmd1YWdlc0l0ZXJhdG9yICE9IGxhdW5jaE9wdGlvbnMuZXh0cmFJbml0aWFsaXphdGlvbkRh
dGEuZW5kKCkpIHsKKyAgICBhdXRvIGxhbmd1YWdlc0l0ZXJhdG9yID0gbV9sYXVuY2hPcHRpb25z
LmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmZpbmQoIk92ZXJyaWRlTGFuZ3VhZ2VzIik7CisgICAg
aWYgKGxhbmd1YWdlc0l0ZXJhdG9yICE9IG1fbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0
aW9uRGF0YS5lbmQoKSkgewogICAgICAgICBhdXRvIGxhbmd1YWdlcyA9IGFkb3B0T1NPYmplY3Qo
eHBjX2FycmF5X2NyZWF0ZShudWxscHRyLCAwKSk7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGxh
bmd1YWdlVmVjdG9yOwogICAgICAgICBsYW5ndWFnZXNJdGVyYXRvci0+dmFsdWUuc3BsaXQoIiwi
LCBmYWxzZSwgbGFuZ3VhZ2VWZWN0b3IpOwpAQCAtMTIzLDExICsxMzQsNyBAQCBzdGF0aWMgdm9p
ZCBjb25uZWN0VG9TZXJ2aWNlKGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYg
bGF1bmNoT3B0aW9ucwogCiAgICAgeHBjX2Nvbm5lY3Rpb25fc2V0X2Jvb3RzdHJhcChjb25uZWN0
aW9uLmdldCgpLCBpbml0aWFsaXphdGlvbk1lc3NhZ2UuZ2V0KCkpOwogCi0gICAgLy8gWFBDIHJl
cXVpcmVzIGhhdmluZyBhbiBldmVudCBoYW5kbGVyLCBldmVuIGlmIGl0IGlzIG5vdCB1c2VkLgot
ICAgIHhwY19jb25uZWN0aW9uX3NldF9ldmVudF9oYW5kbGVyKGNvbm5lY3Rpb24uZ2V0KCksIF4o
eHBjX29iamVjdF90IGV2ZW50KSB7IH0pOwotICAgIHhwY19jb25uZWN0aW9uX3Jlc3VtZShjb25u
ZWN0aW9uLmdldCgpKTsKLSAgICAKLSAgICBpZiAoc2hvdWxkTGVha0Jvb3N0KGxhdW5jaE9wdGlv
bnMpKSB7CisgICAgaWYgKHNob3VsZExlYWtCb29zdChtX2xhdW5jaE9wdGlvbnMpKSB7CiAgICAg
ICAgIGF1dG8gcHJlQm9vdHN0cmFwTWVzc2FnZSA9IGFkb3B0T1NPYmplY3QoeHBjX2RpY3Rpb25h
cnlfY3JlYXRlKG51bGxwdHIsIG51bGxwdHIsIDApKTsKICAgICAgICAgeHBjX2RpY3Rpb25hcnlf
c2V0X3N0cmluZyhwcmVCb290c3RyYXBNZXNzYWdlLmdldCgpLCAibWVzc2FnZS1uYW1lIiwgInBy
ZS1ib290c3RyYXAiKTsKICAgICAgICAgeHBjX2Nvbm5lY3Rpb25fc2VuZF9tZXNzYWdlKGNvbm5l
Y3Rpb24uZ2V0KCksIHByZUJvb3RzdHJhcE1lc3NhZ2UuZ2V0KCkpOwpAQCAtMTQwLDYgKzE0Nywx
MCBAQCBzdGF0aWMgdm9pZCBjb25uZWN0VG9TZXJ2aWNlKGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6
TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucwogICAgIC8vIEluc2VydCBhIHNlbmQgcmlnaHQg
c28gd2UgY2FuIHNlbmQgdG8gaXQuCiAgICAgbWFjaF9wb3J0X2luc2VydF9yaWdodChtYWNoX3Rh
c2tfc2VsZigpLCBsaXN0ZW5pbmdQb3J0LCBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01B
S0VfU0VORCk7CiAKKyAgICBtYWNoX3BvcnRfdCBwcmV2aW91c05vdGlmaWNhdGlvblBvcnQ7Cisg
ICAgbWFjaF9wb3J0X3JlcXVlc3Rfbm90aWZpY2F0aW9uKG1hY2hfdGFza19zZWxmKCksIGxpc3Rl
bmluZ1BvcnQsIE1BQ0hfTk9USUZZX05PX1NFTkRFUlMsIDAsIGxpc3RlbmluZ1BvcnQsIE1BQ0hf
TVNHX1RZUEVfTUFLRV9TRU5EX09OQ0UsICZwcmV2aW91c05vdGlmaWNhdGlvblBvcnQpOworICAg
IEFTU0VSVCghcHJldmlvdXNOb3RpZmljYXRpb25Qb3J0KTsKKwogICAgIFN0cmluZyBjbGllbnRJ
ZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBjbGllbnRJZGVudGlmaWVyID0gY29k
ZVNpZ25pbmdJZGVudGlmaWVyRm9yQ3VycmVudFByb2Nlc3MoKTsKQEAgLTE1Nyw3NSArMTY4LDU3
IEBAIHN0YXRpYyB2b2lkIGNvbm5lY3RUb1NlcnZpY2UoY29uc3QgUHJvY2Vzc0xhdW5jaGVyOjpM
YXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zCiAgICAgeHBjX2RpY3Rpb25hcnlfc2V0X3N0cmlu
Zyhib290c3RyYXBNZXNzYWdlLmdldCgpLCAiY2xpZW50LWlkZW50aWZpZXIiLCAhY2xpZW50SWRl
bnRpZmllci5pc0VtcHR5KCkgPyBjbGllbnRJZGVudGlmaWVyLnV0ZjgoKS5kYXRhKCkgOiAqX05T
R2V0UHJvZ25hbWUoKSk7CiAgICAgeHBjX2RpY3Rpb25hcnlfc2V0X3N0cmluZyhib290c3RyYXBN
ZXNzYWdlLmdldCgpLCAidWktcHJvY2Vzcy1uYW1lIiwgW1tbTlNQcm9jZXNzSW5mbyBwcm9jZXNz
SW5mb10gcHJvY2Vzc05hbWVdIFVURjhTdHJpbmddKTsKIAotICAgIGlmIChmb3JEZXZlbG9wbWVu
dCkgeworICAgIGJvb2wgaXNXZWJLaXREZXZlbG9wbWVudEJ1aWxkID0gIVtbW1tOU0J1bmRsZSBi
dW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJLaXQiXSBidW5kbGVQYXRoXSBzdHJp
bmdCeURlbGV0aW5nTGFzdFBhdGhDb21wb25lbnRdIGhhc1ByZWZpeDpzeXN0ZW1EaXJlY3RvcnlQ
YXRoKCldOworICAgIGlmIChpc1dlYktpdERldmVsb3BtZW50QnVpbGQpIHsKICAgICAgICAgeHBj
X2RpY3Rpb25hcnlfc2V0X2ZkKGJvb3RzdHJhcE1lc3NhZ2UuZ2V0KCksICJzdGRvdXQiLCBTVERP
VVRfRklMRU5PKTsKICAgICAgICAgeHBjX2RpY3Rpb25hcnlfc2V0X2ZkKGJvb3RzdHJhcE1lc3Nh
Z2UuZ2V0KCksICJzdGRlcnIiLCBTVERFUlJfRklMRU5PKTsKICAgICB9CiAKICAgICBhdXRvIGV4
dHJhSW5pdGlhbGl6YXRpb25EYXRhID0gYWRvcHRPU09iamVjdCh4cGNfZGljdGlvbmFyeV9jcmVh
dGUobnVsbHB0ciwgbnVsbHB0ciwgMCkpOwogCi0gICAgZm9yIChjb25zdCBhdXRvJiBrZXlWYWx1
ZVBhaXIgOiBsYXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhKQorICAgIGZvciAo
Y29uc3QgYXV0byYga2V5VmFsdWVQYWlyIDogbV9sYXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6
YXRpb25EYXRhKQogICAgICAgICB4cGNfZGljdGlvbmFyeV9zZXRfc3RyaW5nKGV4dHJhSW5pdGlh
bGl6YXRpb25EYXRhLmdldCgpLCBrZXlWYWx1ZVBhaXIua2V5LnV0ZjgoKS5kYXRhKCksIGtleVZh
bHVlUGFpci52YWx1ZS51dGY4KCkuZGF0YSgpKTsKIAogICAgIHhwY19kaWN0aW9uYXJ5X3NldF92
YWx1ZShib290c3RyYXBNZXNzYWdlLmdldCgpLCAiZXh0cmEtaW5pdGlhbGl6YXRpb24tZGF0YSIs
IGV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmdldCgpKTsKIAotICAgIHRoYXQtPnJlZigpOworICAg
IGF1dG8gd2Vha1Byb2Nlc3NMYXVuY2hlciA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0
cigpOworICAgIHhwY19jb25uZWN0aW9uX3NldF9ldmVudF9oYW5kbGVyKGNvbm5lY3Rpb24uZ2V0
KCksIFt3ZWFrUHJvY2Vzc0xhdW5jaGVyLCBsaXN0ZW5pbmdQb3J0XSh4cGNfb2JqZWN0X3QgZXZl
bnQpIHsKKyAgICAgICAgQVNTRVJUKHhwY19nZXRfdHlwZShldmVudCkgPT0gWFBDX1RZUEVfRVJS
T1IpOworCisgICAgICAgIGF1dG8gcHJvY2Vzc0xhdW5jaGVyID0gd2Vha1Byb2Nlc3NMYXVuY2hl
ci5nZXQoKTsKKyAgICAgICAgaWYgKCFwcm9jZXNzTGF1bmNoZXIpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgaWYgKCFwcm9jZXNzTGF1bmNoZXItPmlzTGF1bmNoaW5nKCkpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gV2UgZmFpbGVkIHRvIGxhdW5jaC4gUmVsZWFz
ZSB0aGUgc2VuZCByaWdodC4KKyAgICAgICAgbWFjaF9wb3J0X2RlYWxsb2NhdGUobWFjaF90YXNr
X3NlbGYoKSwgbGlzdGVuaW5nUG9ydCk7CiAKLSAgICB4cGNfY29ubmVjdGlvbl9zZW5kX21lc3Nh
Z2Vfd2l0aF9yZXBseShjb25uZWN0aW9uLmdldCgpLCBib290c3RyYXBNZXNzYWdlLmdldCgpLCBk
aXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQs
IDApLCBeKHhwY19vYmplY3RfdCByZXBseSkgewotICAgICAgICB4cGNfdHlwZV90IHR5cGUgPSB4
cGNfZ2V0X3R5cGUocmVwbHkpOwotICAgICAgICBpZiAodHlwZSA9PSBYUENfVFlQRV9FUlJPUikg
ewotICAgICAgICAgICAgLy8gV2UgZmFpbGVkIHRvIGxhdW5jaC4gUmVsZWFzZSB0aGUgc2VuZCBy
aWdodC4KLSAgICAgICAgICAgIG1hY2hfcG9ydF9kZWFsbG9jYXRlKG1hY2hfdGFza19zZWxmKCks
IGxpc3RlbmluZ1BvcnQpOworICAgICAgICAvLyBBbmQgdGhlIHJlY2VpdmUgcmlnaHQuCisgICAg
ICAgIG1hY2hfcG9ydF9tb2RfcmVmcyhtYWNoX3Rhc2tfc2VsZigpLCBsaXN0ZW5pbmdQb3J0LCBN
QUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgLTEpOworICAgICAgICBwcm9jZXNzTGF1bmNoZXItPmRp
ZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3MoMCwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKCkp
OworICAgIH0pOwogCi0gICAgICAgICAgICAvLyBBbmQgdGhlIHJlY2VpdmUgcmlnaHQuCi0gICAg
ICAgICAgICBtYWNoX3BvcnRfbW9kX3JlZnMobWFjaF90YXNrX3NlbGYoKSwgbGlzdGVuaW5nUG9y
dCwgTUFDSF9QT1JUX1JJR0hUX1JFQ0VJVkUsIC0xKTsKKyAgICB4cGNfY29ubmVjdGlvbl9yZXN1
bWUoY29ubmVjdGlvbi5nZXQoKSk7CiAKLSAgICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNw
YXRjaChbcHJvdGVjdGVkVGhhdCA9IFJlZlB0cjxQcm9jZXNzTGF1bmNoZXI+KHRoYXQpLCBkaWRG
aW5pc2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rpb25dKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAg
ICAgKCpwcm90ZWN0ZWRUaGF0LipkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rpb24pKDAs
IElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcigpKTsKLSAgICAgICAgICAgIH0pOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKHR5cGUgPT0gWFBDX1RZUEVfRElDVElPTkFS
WSk7CisgICAgcmVmKCk7CisgICAgeHBjX2Nvbm5lY3Rpb25fc2VuZF9tZXNzYWdlX3dpdGhfcmVw
bHkoY29ubmVjdGlvbi5nZXQoKSwgYm9vdHN0cmFwTWVzc2FnZS5nZXQoKSwgZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSwgXih4cGNfb2JqZWN0X3QgcmVwbHkpIHsKKyAgICAgICAgLy8gRXJyb3Jz
IGFyZSBoYW5kbGVkIGluIHRoZSBldmVudCBoYW5kbGVyLgorICAgICAgICBpZiAoeHBjX2dldF90
eXBlKHJlcGx5KSAhPSBYUENfVFlQRV9FUlJPUikgeworICAgICAgICAgICAgQVNTRVJUKHhwY19n
ZXRfdHlwZShyZXBseSkgPT0gWFBDX1RZUEVfRElDVElPTkFSWSk7CiAgICAgICAgICAgICBBU1NF
UlQoIXN0cmNtcCh4cGNfZGljdGlvbmFyeV9nZXRfc3RyaW5nKHJlcGx5LCAibWVzc2FnZS1uYW1l
IiksICJwcm9jZXNzLWZpbmlzaGVkLWxhdW5jaGluZyIpKTsKIAogICAgICAgICAgICAgLy8gVGhl
IHByb2Nlc3MgaGFzIGZpbmlzaGVkIGxhdW5jaGluZywgZ3JhYiB0aGUgcGlkIGZyb20gdGhlIGNv
bm5lY3Rpb24uCiAgICAgICAgICAgICBwaWRfdCBwcm9jZXNzSWRlbnRpZmllciA9IHhwY19jb25u
ZWN0aW9uX2dldF9waWQoY29ubmVjdGlvbi5nZXQoKSk7CiAKLSAgICAgICAgICAgIC8vIFdlJ3Zl
IGZpbmlzaGVkIGxhdW5jaGluZyB0aGUgcHJvY2VzcywgbWVzc2FnZSBiYWNrIHRvIHRoZSBtYWlu
IHJ1biBsb29wLiBUaGlzIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgY29ubmVjdGlvbi4KLSAgICAg
ICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhhdCA9IFJlZlB0cjxQ
cm9jZXNzTGF1bmNoZXI+KHRoYXQpLCBkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rpb24s
IHByb2Nlc3NJZGVudGlmaWVyLCBsaXN0ZW5pbmdQb3J0LCBjb25uZWN0aW9uXSB7Ci0gICAgICAg
ICAgICAgICAgKCpwcm90ZWN0ZWRUaGF0LipkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rp
b24pKHByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIobGlzdGVu
aW5nUG9ydCwgY29ubmVjdGlvbikpOwotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBkaWRG
aW5pc2hMYXVuY2hpbmdQcm9jZXNzKHByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIobGlzdGVuaW5nUG9ydCwgY29ubmVjdGlvbikpOwogICAgICAgICB9CiAKLSAg
ICAgICAgdGhhdC0+ZGVyZWYoKTsKKyAgICAgICAgZGVyZWYoKTsKICAgICB9KTsKIH0KIAotc3Rh
dGljIHZvaWQgY3JlYXRlU2VydmljZShjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9wdGlv
bnMmIGxhdW5jaE9wdGlvbnMsIGJvb2wgZm9yRGV2ZWxvcG1lbnQsIFByb2Nlc3NMYXVuY2hlciog
dGhhdCwgRGlkRmluaXNoTGF1bmNoaW5nUHJvY2Vzc0Z1bmN0aW9uIGRpZEZpbmlzaExhdW5jaGlu
Z1Byb2Nlc3NGdW5jdGlvbikKLXsKLSAgICBjb25uZWN0VG9TZXJ2aWNlKGxhdW5jaE9wdGlvbnMs
IGZvckRldmVsb3BtZW50LCB0aGF0LCBkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzRnVuY3Rpb24p
OwotfQotCi1zdGF0aWMgTlNTdHJpbmcgKnN5c3RlbURpcmVjdG9yeVBhdGgoKQotewotICAgIHN0
YXRpYyBOU1N0cmluZyAqcGF0aCA9IFteewotI2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0g
ICAgICAgIGNoYXIgKnNpbXVsYXRvclJvb3QgPSBnZXRlbnYoIlNJTVVMQVRPUl9ST09UIik7Ci0g
ICAgICAgIHJldHVybiBzaW11bGF0b3JSb290ID8gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6
QCIlcy9TeXN0ZW0vIiwgc2ltdWxhdG9yUm9vdF0gOiBAIi9TeXN0ZW0vIjsKLSNlbHNlCi0gICAg
ICAgIHJldHVybiBAIi9TeXN0ZW0vIjsKLSNlbmRpZgotICAgIH0oKSBjb3B5XTsKLQotICAgIHJl
dHVybiBwYXRoOwotfQotCi12b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCi17
Ci0gICAgYm9vbCBpc1dlYktpdERldmVsb3BtZW50QnVpbGQgPSAhW1tbW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYktpdCJdIGJ1bmRsZVBhdGhdIHN0cmluZ0J5
RGVsZXRpbmdMYXN0UGF0aENvbXBvbmVudF0gaGFzUHJlZml4OnN5c3RlbURpcmVjdG9yeVBhdGgo
KV07Ci0KLSAgICBjcmVhdGVTZXJ2aWNlKG1fbGF1bmNoT3B0aW9ucywgaXNXZWJLaXREZXZlbG9w
bWVudEJ1aWxkLCB0aGlzLCAmUHJvY2Vzc0xhdW5jaGVyOjpkaWRGaW5pc2hMYXVuY2hpbmdQcm9j
ZXNzKTsKLX0KLQogdm9pZCBQcm9jZXNzTGF1bmNoZXI6OnRlcm1pbmF0ZVByb2Nlc3MoKQogewog
ICAgIGlmIChtX2lzTGF1bmNoaW5nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDAzYmNiNjFiYzU5
ODQzNWI3ZmM5NTNkODA4MGJmOTA5M2VjYjY1MTAuLjYyZTY2MWQ4MjAzZDRmYjEyNTIwNTVkZDNj
ZDM3OTBlNjM1YTJkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0yOTksNyArMjk5LDcgQEAgdm9p
ZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vzc0xhdW5jaGVy
KiBsYXVuY2hlciwgSVBDOjpDb24KICAgICBDaGlsZFByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1
bmNoaW5nKGxhdW5jaGVyLCBjb25uZWN0aW9uSWRlbnRpZmllcik7CiAKICAgICBpZiAoSVBDOjpD
b25uZWN0aW9uOjppZGVudGlmaWVySXNOdWxsKGNvbm5lY3Rpb25JZGVudGlmaWVyKSkgewotICAg
ICAgICAvLyBGSVhNRTogRG8gYmV0dGVyIGNsZWFudXAgaGVyZS4KKyAgICAgICAgbmV0d29ya1By
b2Nlc3NDcmFzaGVkT3JGYWlsZWRUb0xhdW5jaCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGIx
YzBmOGIzYTVlNjBhYTNhYTY1NmI3Yzc0ZTQ1NzRiMzM0NzJkYWQuLmM5ZjcxZjVlN2YyNTNmNmFi
ZTA1N2YxMTE1ZTU3OGQ5NTA2NjgwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCkBAIC02MTMsOSArNjEzLDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1By
b3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgSVBDOjpD
b25uZWN0CiAgICAgbV9wcm9jZXNzUG9vbC0+cHJvY2Vzc0RpZEZpbmlzaExhdW5jaGluZyh0aGlz
KTsKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICB4cGNfY29ubmVjdGlvbl90IHhwY0Nvbm5lY3Rp
b24gPSBjb25uZWN0aW9uKCktPnhwY0Nvbm5lY3Rpb24oKTsKLSAgICBBU1NFUlQoeHBjQ29ubmVj
dGlvbik7Ci0gICAgbV90aHJvdHRsZXIuZGlkQ29ubmVjdFRvUHJvY2Vzcyh4cGNfY29ubmVjdGlv
bl9nZXRfcGlkKHhwY0Nvbm5lY3Rpb24pKTsKKyAgICBpZiAoY29ubmVjdGlvbigpKSB7CisgICAg
ICAgIGlmICh4cGNfY29ubmVjdGlvbl90IHhwY0Nvbm5lY3Rpb24gPSBjb25uZWN0aW9uKCktPnhw
Y0Nvbm5lY3Rpb24oKSkKKyAgICAgICAgICAgIG1fdGhyb3R0bGVyLmRpZENvbm5lY3RUb1Byb2Nl
c3MoeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZCh4cGNDb25uZWN0aW9uKSk7CisgICAgfQogI2VuZGlm
CiB9CiAK
</data>
<flag name="review"
          id="309488"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>