<?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>197747</bug_id>
          
          <creation_ts>2019-05-09 11:43:29 -0700</creation_ts>
          <short_desc>Remove now-unnecessary Connection::sendMessageWithReply</short_desc>
          <delta_ts>2019-05-30 12:32:06 -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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1534803</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-09 11:43:29 -0700</bug_when>
    <thetext>Remove now-unnecessary Connection::sendMessageWithReply</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534807</commentid>
    <comment_count>1</comment_count>
      <attachid>369505</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-09 11:47:18 -0700</bug_when>
    <thetext>Created attachment 369505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534817</commentid>
    <comment_count>2</comment_count>
      <attachid>369509</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-09 12:05:20 -0700</bug_when>
    <thetext>Created attachment 369509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534887</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-05-09 16:07:38 -0700</bug_when>
    <thetext>This change landed in https://trac.webkit.org/changeset/245151/webkit

It appears to have caused High Sierra Debug WK2 tests to exit early with assertion failures:
ASSERTION FAILED: RunLoop::isMain()
/Volumes/Data/slave/highsierra-debug/build/Source/WebKit/Platform/IPC/Connection.cpp(507) : std::unique_ptr&lt;Decoder&gt; IPC::Connection::sendSyncMessage(uint64_t, std::unique_ptr&lt;Encoder&gt;, WTF::Seconds, OptionSet&lt;IPC::SendSyncOption&gt;)
1   0x121703739 WTFCrash
2   0x1074f147b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x1075472a1 IPC::Connection::sendSyncMessage(unsigned long long, std::__1::unique_ptr&lt;IPC::Encoder, std::__1::default_delete&lt;IPC::Encoder&gt; &gt;, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;)
4   0x107d8e824 bool IPC::Connection::sendSync&lt;Messages::SecItemShimProxy::SecItemRequest&gt;(Messages::SecItemShimProxy::SecItemRequest&amp;&amp;, Messages::SecItemShimProxy::SecItemRequest::Reply&amp;&amp;, unsigned long long, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;)
5   0x107d8e2f6 WebKit::sendSecItemRequest(WebKit::SecItemRequestData::Type, __CFDictionary const*, __CFDictionary const*)
6   0x107d8d98f WebKit::webSecItemCopyMatching(__CFDictionary const*, void const**)
7   0x106dc5eac WebKit::shimSecItemCopyMatching(__CFDictionary const*, void const**)
8   0x7fff53dc3889 StorageQuery::performQuery()
9   0x7fff53dfaed4 PersistentCredentialStorage::copyDefaultCredentialForProtectionSpace(_CFURLProtectionSpace*)
10  0x7fff53dfd470 CFURLCredentialStorageCopyDefaultCredentialForProtectionSpace
11  0x7fff53f24493 -[NSURLCredentialStorage defaultCredentialForProtectionSpace:]
12  0x7fff53f245ad -[NSURLCredentialStorage getDefaultCredentialForProtectionSpace:task:completionHandler:]
13  0x7fff53e3dec1 NSXCredentialStorage::copyDefaultCredentialForProtectionSpace(_CFURLProtectionSpace*, NSURLSessionTask const*) const
14  0x7fff53e7ea53 HTTPProtocol::_CFHTTPProtHasCredentialsForChallenge(__CFHTTPMessage*)
15  0x7fff53e814f7 HTTPProtocol::attemptAuthentication(__CFHTTPMessage*)
16  0x7fff53d81a03 HTTPProtocol::performHeaderRead(__CFHTTPMessage*)
17  0x7fff53d81258 HTTPProtocol::handleStreamEvent(__CFHTTPMessage*, dispatch_data_s*, CFStreamError const*)
18  0x7fff53d68e9b HTTPTransaction::_onqueue_invokeHandler()
19  0x7fff53d6bba5 HTTPConnection::_onqueue_responseDataArrived(dispatch_data_s*, CFStreamError, bool)
20  0x7fff53d6ba73 HTTPEngine::_readBodyFinish(dispatch_data_s*, CFStreamError, bool)
21  0x7fff53d6b937 HTTPEngine::_deliverBodyBytes(dispatch_data_s*, CFStreamError, bool)
22  0x7fff53f40fad invocation function for block in HTTPEngine::_getBodyIntelligently(void (dispatch_data_s*, CFStreamError, bool) block_pointer)
23  0x7fff7cd9e5fa _dispatch_call_block_and_release
24  0x7fff7cd96db8 _dispatch_client_callout
25  0x7fff7cdab217 _dispatch_queue_serial_drain
26  0x7fff7cd9e166 _dispatch_queue_invoke
27  0x7fff7cdab07a _dispatch_queue_serial_drain
28  0x7fff7cd9e166 _dispatch_queue_invoke
29  0x7fff7cdabf0d _dispatch_root_queue_drain_deferred_wlh
30  0x7fff7cdafd21 _dispatch_workloop_worker_thread
31  0x7fff7d0e7fd2 _pthread_wqthread

https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r245155%20(7733)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1534890</commentid>
    <comment_count>4</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-05-09 16:19:16 -0700</bug_when>
    <thetext>Also seen with iOS Simulator:
https://build.webkit.org/results/Apple%20iOS%2012%20Simulator%20Debug%20WK2%20(Tests)/r245155%20(3648)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540415</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-30 12:32:06 -0700</bug_when>
    <thetext>Looks like Alex rolled most of this out in http://trac.webkit.org/changeset/245164/webkit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369505</attachid>
            <date>2019-05-09 11:47:18 -0700</date>
            <delta_ts>2019-05-09 12:05:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197747-20190509114718.patch</filename>
            <type>text/plain</type>
            <size>12584</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDUxNDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA1LTA5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIG5vdy11
bm5lY2Vzc2FyeSBDb25uZWN0aW9uOjpzZW5kTWVzc2FnZVdpdGhSZXBseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3NzQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFdlYlByb2Nlc3MgbWVzc2Fn
ZXMgdGhhdCB1c2UgaXQgYWxyZWFkeSBkbyB0aGUgcmlnaHQgdGhpbmcgd2l0aCBDb21wbGV0aW9u
SGFuZGxlcnMgYW5kIGNhbiBiZSByZXBsYWNlZCBieSBzZW5kV2l0aEFzeW5jUmVwbHkuCisgICAg
ICAgIFRoZSBTZWNJdGVtU2hpbSBtZXNzYWdlIHRoYXQgdXNlcyBpdCBjYW4gYmUgcmVwbGFjZWQg
Ynkgc2VuZFN5bmMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGluY3JlYXNlcyByZXNwb25z
aXZlbmVzcyB3aGVuIGNsZWFyaW5nIHdlYnNpdGUgZGF0YSBhbmQgcmVtb3ZlcyB0aGUgbmVlZCBm
b3IgYSBXb3JrUXVldWUgZGVkaWNhdGVkIGVudGlyZWx5IHRvIHRoZSBTZWNJdGVtU2hpbS4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6Q29u
bmVjdGlvbjo6c2VuZE1lc3NhZ2VXaXRoUmVwbHkpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnNlbmQpOgor
ICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjpzZW5kV2l0aFJlcGx5KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBTaGFyZWQvbWFjL1NlY0l0ZW1SZXNwb25zZURhdGEuaDoKKyAgICAgICAgKiBTaGFyZWQv
bWFjL1NlY0l0ZW1TaGltLmNwcDoKKyAgICAgICAgKFdlYktpdDo6c2VuZFNlY0l0ZW1SZXF1ZXN0
KToKKyAgICAgICAgKFdlYktpdDo6d29ya1F1ZXVlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5
OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVuYWJsZSB0byBjb21taXQgc2VhcmNoIG9uIE1T
Ti5jb20sIHFxLmNvbSwgb3Igc2luYS5jb20uY24gdXNpbmcgZW50ZXIga2V5IChoYXJkd2FyZSBv
ciBzb2Z0d2FyZSBrZXlib2FyZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNDUwNTYpCisrKyBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM3LDI1ICs0MzcsNiBAQCBi
b29sIENvbm5lY3Rpb246OnNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLXZvaWQgQ29ubmVjdGlvbjo6c2VuZE1lc3NhZ2VXaXRoUmVwbHkodWludDY0X3QgcmVx
dWVzdElELCBzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4gZW5jb2RlciwgRnVuY3Rpb25EaXNwYXRj
aGVyJiByZXBseURpc3BhdGNoZXIsIEZ1bmN0aW9uPHZvaWQgKHN0ZDo6dW5pcXVlX3B0cjxEZWNv
ZGVyPik+JiYgcmVwbHlIYW5kbGVyKQotewotICAgIHsKLSAgICAgICAgc3RkOjpsb2NrX2d1YXJk
PExvY2s+IGxvY2sobV9yZXBseUhhbmRsZXJzTG9jayk7Ci0KLSAgICAgICAgaWYgKCFpc1ZhbGlk
KCkpIHsKLSAgICAgICAgICAgIHJlcGx5RGlzcGF0Y2hlci5kaXNwYXRjaChbcmVwbHlIYW5kbGVy
ID0gV1RGTW92ZShyZXBseUhhbmRsZXIpXSB7Ci0gICAgICAgICAgICAgICAgcmVwbHlIYW5kbGVy
KG51bGxwdHIpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICBBU1NFUlQoIW1fcmVwbHlIYW5kbGVycy5jb250YWlucyhyZXF1ZXN0SUQp
KTsKLSAgICAgICAgbV9yZXBseUhhbmRsZXJzLnNldChyZXF1ZXN0SUQsIFJlcGx5SGFuZGxlciB7
ICZyZXBseURpc3BhdGNoZXIsIFdURk1vdmUocmVwbHlIYW5kbGVyKSB9KTsKLSAgICB9Ci0KLSAg
ICBzZW5kTWVzc2FnZShXVEZNb3ZlKGVuY29kZXIpLCB7IH0pOwotfQotCiBib29sIENvbm5lY3Rp
b246OnNlbmRTeW5jUmVwbHkoc3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+IGVuY29kZXIpCiB7CiAg
ICAgcmV0dXJuIHNlbmRNZXNzYWdlKFdURk1vdmUoZW5jb2RlciksIHsgfSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCShyZXZpc2lvbiAyNDUwNTYpCisrKyBT
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE3OSwxMiArMTc5LDEwIEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIEM+IHZvaWQgc2VuZFdpdGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxl
dGlvbkhhbmRsZXIsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQgPSAwKTsKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBib29sIHNlbmQoVCYmIG1lc3NhZ2UsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQs
IE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSk7Ci0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gdm9pZCBzZW5kV2l0aFJlcGx5KFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0
aW5hdGlvbklELCBGdW5jdGlvbkRpc3BhdGNoZXImIHJlcGx5RGlzcGF0Y2hlciwgRnVuY3Rpb248
dm9pZChPcHRpb25hbDx0eXBlbmFtZSBDb2RpbmdUeXBlPHR5cGVuYW1lIFQ6OlJlcGx5Pjo6VHlw
ZT4pPiYmIHJlcGx5SGFuZGxlcik7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBzZW5k
U3luYyhUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9u
U2V0PFNlbmRTeW5jT3B0aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pOwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGJvb2wgd2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHkodWludDY0X3Qg
ZGVzdGluYXRpb25JRCwgU2Vjb25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8V2FpdEZvck9wdGlvbj4g
d2FpdEZvck9wdGlvbnMgPSB7IH0pOwogCiAgICAgYm9vbCBzZW5kTWVzc2FnZShzdGQ6OnVuaXF1
ZV9wdHI8RW5jb2Rlcj4sIE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyk7Ci0gICAg
dm9pZCBzZW5kTWVzc2FnZVdpdGhSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIHN0ZDo6dW5pcXVl
X3B0cjxFbmNvZGVyPiwgRnVuY3Rpb25EaXNwYXRjaGVyJiByZXBseURpc3BhdGNoZXIsIEZ1bmN0
aW9uPHZvaWQoc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+KT4mJiByZXBseUhhbmRsZXIpOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxFbmNvZGVyPiBjcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIoU3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFt
ZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgdWludDY0X3QmIHN5bmNSZXF1ZXN0SUQpOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBzZW5kU3luY01lc3NhZ2UodWludDY0X3Qgc3luY1Jl
cXVlc3RJRCwgc3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+LCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlv
blNldDxTZW5kU3luY09wdGlvbj4gc2VuZFN5bmNPcHRpb25zKTsKICAgICBib29sIHNlbmRTeW5j
UmVwbHkoc3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+KTsKQEAgLTQzNCwyOCArNDMyLDYgQEAgdm9p
ZCBDb25uZWN0aW9uOjpzZW5kV2l0aEFzeW5jUmVwbHkoVCYmIAogICAgIH0pOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotdm9pZCBDb25uZWN0aW9uOjpzZW5kV2l0aFJlcGx5KFQmJiBtZXNz
YWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBGdW5jdGlvbkRpc3BhdGNoZXImIHJlcGx5RGlz
cGF0Y2hlciwgRnVuY3Rpb248dm9pZChPcHRpb25hbDx0eXBlbmFtZSBDb2RpbmdUeXBlPHR5cGVu
YW1lIFQ6OlJlcGx5Pjo6VHlwZT4pPiYmIHJlcGx5SGFuZGxlcikKLXsKLSAgICB1aW50NjRfdCBy
ZXF1ZXN0SUQgPSAwOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxFbmNvZGVyPiBlbmNvZGVyID0gY3Jl
YXRlU3luY01lc3NhZ2VFbmNvZGVyKFQ6OnJlY2VpdmVyTmFtZSgpLCBUOjpuYW1lKCksIGRlc3Rp
bmF0aW9uSUQsIHJlcXVlc3RJRCk7Ci0KLSAgICBlbmNvZGVyLT5lbmNvZGUobWVzc2FnZS5hcmd1
bWVudHMoKSk7Ci0KLSAgICBzZW5kTWVzc2FnZVdpdGhSZXBseShyZXF1ZXN0SUQsIFdURk1vdmUo
ZW5jb2RlciksIHJlcGx5RGlzcGF0Y2hlciwgW3JlcGx5SGFuZGxlciA9IFdURk1vdmUocmVwbHlI
YW5kbGVyKV0oc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IGRlY29kZXIpIHsKLSAgICAgICAgaWYg
KGRlY29kZXIpIHsKLSAgICAgICAgICAgIE9wdGlvbmFsPHR5cGVuYW1lIENvZGluZ1R5cGU8dHlw
ZW5hbWUgVDo6UmVwbHk+OjpUeXBlPiByZXBseTsKLSAgICAgICAgICAgICpkZWNvZGVyID4+IHJl
cGx5OwotICAgICAgICAgICAgaWYgKHJlcGx5KSB7Ci0gICAgICAgICAgICAgICAgcmVwbHlIYW5k
bGVyKFdURk1vdmUoKnJlcGx5KSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgcmVwbHlIYW5kbGVyKFdURjo6bnVsbG9wdCk7Ci0g
ICAgfSk7Ci19Ci0KIHRlbXBsYXRlPHNpemVfdCBpLCB0eXBlbmFtZSBBLCB0eXBlbmFtZSBCPiBz
dHJ1Y3QgVHVwbGVNb3ZlciB7CiAgICAgc3RhdGljIHZvaWQgbW92ZShBJiYgYSwgQiYgYikKICAg
ICB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2VjSXRlbVJlc3BvbnNlRGF0YS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TZWNJdGVtUmVzcG9uc2VE
YXRhLmgJKHJldmlzaW9uIDI0NTA1NikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TZWNJ
dGVtUmVzcG9uc2VEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDcgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFNlY0l0ZW1SZXNw
b25zZURhdGFfaAotI2RlZmluZSBTZWNJdGVtUmVzcG9uc2VEYXRhX2gKKyNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC0zNyw2ICszNiw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogICAgIAogY2xhc3MgU2VjSXRlbVJlc3BvbnNlRGF0YSB7CiBwdWJsaWM6Cisg
ICAgU2VjSXRlbVJlc3BvbnNlRGF0YSgpID0gZGVmYXVsdDsKICAgICBTZWNJdGVtUmVzcG9uc2VE
YXRhKE9TU3RhdHVzLCBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiYmIHJlc3VsdCk7CiAKICAgICB2b2lk
IGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKQEAgLTUxLDUgKzUxLDMgQEAgcHJpdmF0ZToK
IH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFNlY0l0ZW1SZXNw
b25zZURhdGFfaApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NlY0l0ZW1TaGltLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2VjSXRlbVNoaW0uY3Bw
CShyZXZpc2lvbiAyNDUwNTYpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2VjSXRlbVNo
aW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCwzNyArNjQsMTYgQEAgc3RhdGljIFdlYWtQdHI8
TmV0d29ya1Byb2Nlc3M+JiBnbG9iYWxOZQogICAgIHJldHVybiBuZXR3b3JrUHJvY2Vzcy5nZXQo
KTsKIH0KIAotc3RhdGljIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKCkKLXsKLSAgICBzdGF0aWMgV29y
a1F1ZXVlKiB3b3JrUXVldWU7Ci0gICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47
Ci0gICAgZGlzcGF0Y2hfb25jZSgmb25jZVRva2VuLCBeewotICAgICAgICB3b3JrUXVldWUgPSAm
V29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuU2VjSXRlbVNoaW0iKS5sZWFrUmVm
KCk7Ci0KLSAgICB9KTsKLQotICAgIHJldHVybiAqd29ya1F1ZXVlOwotfQotCiBzdGF0aWMgT3B0
aW9uYWw8U2VjSXRlbVJlc3BvbnNlRGF0YT4gc2VuZFNlY0l0ZW1SZXF1ZXN0KFNlY0l0ZW1SZXF1
ZXN0RGF0YTo6VHlwZSByZXF1ZXN0VHlwZSwgQ0ZEaWN0aW9uYXJ5UmVmIHF1ZXJ5LCBDRkRpY3Rp
b25hcnlSZWYgYXR0cmlidXRlc1RvTWF0Y2ggPSAwKQogewogICAgIGlmICghZ2xvYmFsTmV0d29y
a1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIE9wdGlvbmFs
PFNlY0l0ZW1SZXNwb25zZURhdGE+IHJlc3BvbnNlOwotCi0gICAgQmluYXJ5U2VtYXBob3JlIHNl
bWFwaG9yZTsKLQotICAgIGdsb2JhbE5ldHdvcmtQcm9jZXNzKCktPnBhcmVudFByb2Nlc3NDb25u
ZWN0aW9uKCktPnNlbmRXaXRoUmVwbHkoTWVzc2FnZXM6OlNlY0l0ZW1TaGltUHJveHk6OlNlY0l0
ZW1SZXF1ZXN0KFNlY0l0ZW1SZXF1ZXN0RGF0YShyZXF1ZXN0VHlwZSwgcXVlcnksIGF0dHJpYnV0
ZXNUb01hdGNoKSksIDAsIHdvcmtRdWV1ZSgpLCBbJnJlc3BvbnNlLCAmc2VtYXBob3JlXShhdXRv
IHJlcGx5KSB7Ci0gICAgICAgIGlmIChyZXBseSkKLSAgICAgICAgICAgIHJlc3BvbnNlID0gV1RG
TW92ZShzdGQ6OmdldDwwPigqcmVwbHkpKTsKLQotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7
Ci0gICAgfSk7Ci0KLSAgICBzZW1hcGhvcmUud2FpdCgpOworICAgIFNlY0l0ZW1SZXNwb25zZURh
dGEgcmVzcG9uc2U7CisgICAgaWYgKCFnbG9iYWxOZXR3b3JrUHJvY2VzcygpLT5wYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6U2VjSXRlbVNoaW1Qcm94eTo6U2Vj
SXRlbVJlcXVlc3QoU2VjSXRlbVJlcXVlc3REYXRhKHJlcXVlc3RUeXBlLCBxdWVyeSwgYXR0cmli
dXRlc1RvTWF0Y2gpKSwgTWVzc2FnZXM6OlNlY0l0ZW1TaGltUHJveHk6OlNlY0l0ZW1SZXF1ZXN0
OjpSZXBseShyZXNwb25zZSksIDApKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0g
ICAgcmV0dXJuIHJlc3BvbnNlOworICAgIHJldHVybiBXVEZNb3ZlKHJlc3BvbnNlKTsKIH0KIAog
c3RhdGljIE9TU3RhdHVzIHdlYlNlY0l0ZW1Db3B5TWF0Y2hpbmcoQ0ZEaWN0aW9uYXJ5UmVmIHF1
ZXJ5LCBDRlR5cGVSZWYqIHJlc3VsdCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjQ1MDU2KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTM2LDE3ICs5
MzYsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEoUAogICAgIGF1
dG8gdG9rZW4gPSB0aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpOwogICAgIFJF
TEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vz
c1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eSBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5k
IGFzc2VydGlvbiBiZWNhdXNlIHRoZSBXZWIgcHJvY2VzcyBpcyBmZXRjaGluZyBXZWJzaXRlIGRh
dGEiLCB0aGlzKTsKIAotICAgIGNvbm5lY3Rpb24oKS0+c2VuZFdpdGhSZXBseShNZXNzYWdlczo6
V2ViUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcyksIDAsIFJ1
bkxvb3A6Om1haW4oKSwgW3RoaXMsIHRva2VuLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURdIChhdXRvIHJlcGx5KSBtdXRhYmxlIHsKKyAg
ICBjb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzczo6
RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcyksIFt0aGlzLCBwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyksIHRva2VuLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURdIChhdXRvIHJlcGx5KSBtdXRhYmxlIHsKICNp
ZiBSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbklEKTsK
ICAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOwogI2VuZGlmCi0gICAgICAgIGlmICghcmVwbHkp
IHsKLSAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdlYnNpdGVEYXRhIHsgfSk7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihX
VEZNb3ZlKHN0ZDo6Z2V0PDA+KCpyZXBseSkpKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
V1RGTW92ZShyZXBseSkpOwogICAgICAgICBSRUxFQVNFX0xPR19JRihzZXNzaW9uSUQuaXNBbHdh
eXNPbkxvZ2dpbmdBbGxvd2VkKCksIFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNz
UHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgV2Vi
IHByb2Nlc3MgaXMgZG9uZSBmZXRjaGluZyBXZWJzaXRlIGRhdGEiLCB0aGlzKTsKICAgICB9KTsK
IH0KQEAgLTk1OCw3ICs5NTMsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0
ZURhdGEoCiAgICAgYXV0byB0b2tlbiA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRv
a2VuKCk7CiAgICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5IGlzIHRha2lu
ZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBwcm9jZXNzIGlzIGRlbGV0
aW5nIFdlYnNpdGUgZGF0YSIsIHRoaXMpOwogCi0gICAgY29ubmVjdGlvbigpLT5zZW5kV2l0aFJl
cGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRh
dGFUeXBlcywgbW9kaWZpZWRTaW5jZSksIDAsIFJ1bkxvb3A6Om1haW4oKSwgW3RoaXMsIHRva2Vu
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9u
SURdIChhdXRvIHJlcGx5KSBtdXRhYmxlIHsKKyAgICBjb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklE
LCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCB0b2tlbiwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSwgc2Vzc2lvbklEXSAoKSBtdXRhYmxlIHsKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxF
RAogICAgICAgICBVTlVTRURfUEFSQU0odGhpcyk7CiAgICAgICAgIFVOVVNFRF9QQVJBTShzZXNz
aW9uSUQpOwpAQCAtOTc1LDcgKzk3MCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkZWxldGVX
ZWJzaXRlRGF0YUYKICAgICBhdXRvIHRva2VuID0gdGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2
aXR5VG9rZW4oKTsKICAgICBSRUxFQVNFX0xPR19JRihzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dp
bmdBbGxvd2VkKCksIFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHkgaXMg
dGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgV2ViIHByb2Nlc3MgaXMg
ZGVsZXRpbmcgV2Vic2l0ZSBkYXRhIGZvciBzZXZlcmFsIG9yaWdpbnMiLCB0aGlzKTsKIAotICAg
IGNvbm5lY3Rpb24oKS0+c2VuZFdpdGhSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGVsZXRl
V2Vic2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBvcmlnaW5zKSwgMCwg
UnVuTG9vcDo6bWFpbigpLCBbdGhpcywgdG9rZW4sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlciksIHNlc3Npb25JRF0gKGF1dG8gcmVwbHkpIG11dGFibGUgewor
ICAgIGNvbm5lY3Rpb24oKS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNz
OjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdp
bnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0b2tlbiwgY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgc2Vzc2lvbklEXSAoKSBt
dXRhYmxlIHsKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICAgICBVTlVTRURfUEFSQU0o
dGhpcyk7CiAgICAgICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSUQpOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI0
NTA1NikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC03OCw5ICs3OCw5IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgewogCiAgICAgUmVsZWFzZVBhZ2VDYWNoZSgpCiAKLSAgICBGZXRjaFdl
YnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vi
c2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzKSAtPiAoc3RydWN0IFdlYktpdDo6V2Vic2l0
ZURhdGEgd2Vic2l0ZURhdGEpIFN5bmNocm9ub3VzCi0gICAgRGVsZXRlV2Vic2l0ZURhdGEoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+
IHdlYnNpdGVEYXRhVHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UpIC0+ICgpIFN5bmNocm9u
b3VzCi0gICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVz
LCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zKSAtPiAoKSBTeW5j
aHJvbm91cworICAgIEZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBP
cHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMpIC0+IChz
dHJ1Y3QgV2ViS2l0OjpXZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkgQXN5bmMKKyAgICBEZWxldGVX
ZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6Oldl
YnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkg
LT4gKCkgQXN5bmMKKyAgICBEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVE
YXRhVHlwZXMsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpIC0+
ICgpIEFzeW5jCiAKICAgICBTZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChpbnQgbWlsbGlzZWNvbmRzKQogI2lmIFBMQVRGT1JNKENPQ09BKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369509</attachid>
            <date>2019-05-09 12:05:20 -0700</date>
            <delta_ts>2019-05-09 12:28:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197747-20190509120519.patch</filename>
            <type>text/plain</type>
            <size>15267</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDUxNDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA1LTA5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIG5vdy11
bm5lY2Vzc2FyeSBDb25uZWN0aW9uOjpzZW5kTWVzc2FnZVdpdGhSZXBseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3NzQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFdlYlByb2Nlc3MgbWVzc2Fn
ZXMgdGhhdCB1c2UgaXQgYWxyZWFkeSBkbyB0aGUgcmlnaHQgdGhpbmcgd2l0aCBDb21wbGV0aW9u
SGFuZGxlcnMgYW5kIGNhbiBiZSByZXBsYWNlZCBieSBzZW5kV2l0aEFzeW5jUmVwbHkuCisgICAg
ICAgIFRoZSBTZWNJdGVtU2hpbSBtZXNzYWdlIHRoYXQgdXNlcyBpdCBjYW4gYmUgcmVwbGFjZWQg
Ynkgc2VuZFN5bmMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGluY3JlYXNlcyByZXNwb25z
aXZlbmVzcyB3aGVuIGNsZWFyaW5nIHdlYnNpdGUgZGF0YSBhbmQgcmVtb3ZlcyB0aGUgbmVlZCBm
b3IgYSBXb3JrUXVldWUgZGVkaWNhdGVkIGVudGlyZWx5IHRvIHRoZSBTZWNJdGVtU2hpbS4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6Q29u
bmVjdGlvbjo6c2VuZE1lc3NhZ2VXaXRoUmVwbHkpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnNlbmQpOgor
ICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjpzZW5kV2l0aFJlcGx5KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBTaGFyZWQvbWFjL1NlY0l0ZW1SZXNwb25zZURhdGEuaDoKKyAgICAgICAgKiBTaGFyZWQv
bWFjL1NlY0l0ZW1TaGltLmNwcDoKKyAgICAgICAgKFdlYktpdDo6c2VuZFNlY0l0ZW1SZXF1ZXN0
KToKKyAgICAgICAgKFdlYktpdDo6d29ya1F1ZXVlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpmZXRjaFdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5
OjpkZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVuYWJsZSB0byBjb21taXQgc2VhcmNoIG9uIE1T
Ti5jb20sIHFxLmNvbSwgb3Igc2luYS5jb20uY24gdXNpbmcgZW50ZXIga2V5IChoYXJkd2FyZSBv
ciBzb2Z0d2FyZSBrZXlib2FyZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uY3BwCShyZXZpc2lvbiAyNDUwNTYpCisrKyBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTEgKzQ5LDYgQEAgbmFt
ZXNwYWNlIElQQyB7CiBjb25zdCBzaXplX3QgbWF4UGVuZGluZ0luY29taW5nTWVzc2FnZXNLaWxs
aW5nVGhyZXNob2xkIHsgNTAwMDAgfTsKICNlbmRpZgogCi1zdHJ1Y3QgQ29ubmVjdGlvbjo6UmVw
bHlIYW5kbGVyIHsKLSAgICBSZWZQdHI8RnVuY3Rpb25EaXNwYXRjaGVyPiBkaXNwYXRjaGVyOwot
ICAgIEZ1bmN0aW9uPHZvaWQgKHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPik+IGhhbmRsZXI7Ci19
OwotCiBzdHJ1Y3QgQ29ubmVjdGlvbjo6V2FpdEZvck1lc3NhZ2VTdGF0ZSB7CiAgICAgV2FpdEZv
ck1lc3NhZ2VTdGF0ZShTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgU3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBPcHRpb25TZXQ8
V2FpdEZvck9wdGlvbj4gd2FpdEZvck9wdGlvbnMpCiAgICAgICAgIDogbWVzc2FnZVJlY2VpdmVy
TmFtZShtZXNzYWdlUmVjZWl2ZXJOYW1lKQpAQCAtMzcxLDE3ICszNjYsNiBAQCB2b2lkIENvbm5l
Y3Rpb246OmludmFsaWRhdGUoKQogICAgIAogICAgIG1faXNWYWxpZCA9IGZhbHNlOwogCi0gICAg
ewotICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3JlcGx5SGFuZGxlcnNMb2Nr
KTsKLSAgICAgICAgZm9yIChhdXRvJiByZXBseUhhbmRsZXIgOiBtX3JlcGx5SGFuZGxlcnMudmFs
dWVzKCkpIHsKLSAgICAgICAgICAgIHJlcGx5SGFuZGxlci5kaXNwYXRjaGVyLT5kaXNwYXRjaChb
aGFuZGxlciA9IFdURk1vdmUocmVwbHlIYW5kbGVyLmhhbmRsZXIpXSB7Ci0gICAgICAgICAgICAg
ICAgaGFuZGxlcihudWxscHRyKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAg
ICAgbV9yZXBseUhhbmRsZXJzLmNsZWFyKCk7Ci0gICAgfQotCiAgICAgbV9jb25uZWN0aW9uUXVl
dWUtPmRpc3BhdGNoKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKCkgbXV0YWJsZSB7
CiAgICAgICAgIHByb3RlY3RlZFRoaXMtPnBsYXRmb3JtSW52YWxpZGF0ZSgpOwogICAgIH0pOwpA
QCAtNDM3LDI1ICs0MjEsNiBAQCBib29sIENvbm5lY3Rpb246OnNlbmRNZXNzYWdlKHN0ZDo6dW5p
cXVlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ29ubmVjdGlvbjo6c2VuZE1lc3NhZ2VX
aXRoUmVwbHkodWludDY0X3QgcmVxdWVzdElELCBzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4gZW5j
b2RlciwgRnVuY3Rpb25EaXNwYXRjaGVyJiByZXBseURpc3BhdGNoZXIsIEZ1bmN0aW9uPHZvaWQg
KHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPik+JiYgcmVwbHlIYW5kbGVyKQotewotICAgIHsKLSAg
ICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9yZXBseUhhbmRsZXJzTG9jayk7Ci0K
LSAgICAgICAgaWYgKCFpc1ZhbGlkKCkpIHsKLSAgICAgICAgICAgIHJlcGx5RGlzcGF0Y2hlci5k
aXNwYXRjaChbcmVwbHlIYW5kbGVyID0gV1RGTW92ZShyZXBseUhhbmRsZXIpXSB7Ci0gICAgICAg
ICAgICAgICAgcmVwbHlIYW5kbGVyKG51bGxwdHIpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoIW1fcmVwbHlIYW5kbGVy
cy5jb250YWlucyhyZXF1ZXN0SUQpKTsKLSAgICAgICAgbV9yZXBseUhhbmRsZXJzLnNldChyZXF1
ZXN0SUQsIFJlcGx5SGFuZGxlciB7ICZyZXBseURpc3BhdGNoZXIsIFdURk1vdmUocmVwbHlIYW5k
bGVyKSB9KTsKLSAgICB9Ci0KLSAgICBzZW5kTWVzc2FnZShXVEZNb3ZlKGVuY29kZXIpLCB7IH0p
OwotfQotCiBib29sIENvbm5lY3Rpb246OnNlbmRTeW5jUmVwbHkoc3RkOjp1bmlxdWVfcHRyPEVu
Y29kZXI+IGVuY29kZXIpCiB7CiAgICAgcmV0dXJuIHNlbmRNZXNzYWdlKFdURk1vdmUoZW5jb2Rl
ciksIHsgfSk7CkBAIC02NTgsMjIgKzYyMyw2IEBAIHZvaWQgQ29ubmVjdGlvbjo6cHJvY2Vzc0lu
Y29taW5nU3luY1JlcGwKICAgICAgICAgfQogICAgIH0KIAotICAgIHsKLSAgICAgICAgTG9ja0hv
bGRlciBsb2NrZXIobV9yZXBseUhhbmRsZXJzTG9jayk7Ci0KLSAgICAgICAgYXV0byByZXBseUhh
bmRsZXIgPSBtX3JlcGx5SGFuZGxlcnMudGFrZShkZWNvZGVyLT5kZXN0aW5hdGlvbklEKCkpOwot
ICAgICAgICBpZiAocmVwbHlIYW5kbGVyLmRpc3BhdGNoZXIpIHsKLSAgICAgICAgICAgIHJlcGx5
SGFuZGxlci5kaXNwYXRjaGVyLT5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBoYW5kbGVyID0gV1RGTW92ZShyZXBseUhhbmRsZXIuaGFuZGxlciksIGRlY29kZXIgPSBX
VEZNb3ZlKGRlY29kZXIpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICBpZiAoIXByb3Rl
Y3RlZFRoaXMtPmlzVmFsaWQoKSkgewotICAgICAgICAgICAgICAgICAgICBoYW5kbGVyKG51bGxw
dHIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgaGFuZGxlcihXVEZNb3ZlKGRlY29kZXIpKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9Ci0gICAgfQotCiAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIGl0IG1lYW5zIHdl
IGdvdCBhIHJlcGx5IGZvciBhIG1lc3NhZ2UgdGhhdCB3YXNuJ3QgaW4gdGhlIHN5bmMgcmVxdWVz
dCBzdGFjayBvciBtYXAuCiAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBzZW5kIHRpbWVk
IG91dCwgc28gaXQncyBmaW5lIHRvIGlnbm9yZS4KIH0KQEAgLTgwOCwxNyArNzU3LDYgQEAgdm9p
ZCBDb25uZWN0aW9uOjpjb25uZWN0aW9uRGlkQ2xvc2UoKQogICAgIHBsYXRmb3JtSW52YWxpZGF0
ZSgpOwogCiAgICAgewotICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3JlcGx5SGFuZGxlcnNM
b2NrKTsKLSAgICAgICAgZm9yIChhdXRvJiByZXBseUhhbmRsZXIgOiBtX3JlcGx5SGFuZGxlcnMu
dmFsdWVzKCkpIHsKLSAgICAgICAgICAgIHJlcGx5SGFuZGxlci5kaXNwYXRjaGVyLT5kaXNwYXRj
aChbaGFuZGxlciA9IFdURk1vdmUocmVwbHlIYW5kbGVyLmhhbmRsZXIpXSB7Ci0gICAgICAgICAg
ICAgICAgaGFuZGxlcihudWxscHRyKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0KLSAg
ICAgICAgbV9yZXBseUhhbmRsZXJzLmNsZWFyKCk7Ci0gICAgfQotCi0gICAgewogICAgICAgICBM
b2NrSG9sZGVyIGxvY2tlcihtX3N5bmNSZXBseVN0YXRlTXV0ZXgpOwogCiAgICAgICAgIEFTU0VS
VChtX3Nob3VsZFdhaXRGb3JTeW5jUmVwbGllcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvQ29ubmVjdGlvbi5oCShyZXZpc2lvbiAyNDUwNTYpCisrKyBTb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OSwxMiArMTc5LDEw
IEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEM+IHZvaWQg
c2VuZFdpdGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxldGlvbkhhbmRsZXIsIHVp
bnQ2NF90IGRlc3RpbmF0aW9uSUQgPSAwKTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29s
IHNlbmQoVCYmIG1lc3NhZ2UsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDxTZW5k
T3B0aW9uPiBzZW5kT3B0aW9ucyA9IHsgfSk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9p
ZCBzZW5kV2l0aFJlcGx5KFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBGdW5j
dGlvbkRpc3BhdGNoZXImIHJlcGx5RGlzcGF0Y2hlciwgRnVuY3Rpb248dm9pZChPcHRpb25hbDx0
eXBlbmFtZSBDb2RpbmdUeXBlPHR5cGVuYW1lIFQ6OlJlcGx5Pjo6VHlwZT4pPiYmIHJlcGx5SGFu
ZGxlcik7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBzZW5kU3luYyhUJiYgbWVzc2Fn
ZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBseSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgU2Vj
b25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PFNlbmRTeW5jT3B0
aW9uPiBzZW5kU3luY09wdGlvbnMgPSB7IH0pOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJv
b2wgd2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHkodWludDY0X3QgZGVzdGluYXRpb25JRCwg
U2Vjb25kcyB0aW1lb3V0LCBPcHRpb25TZXQ8V2FpdEZvck9wdGlvbj4gd2FpdEZvck9wdGlvbnMg
PSB7IH0pOwogCiAgICAgYm9vbCBzZW5kTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4s
IE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9ucyk7Ci0gICAgdm9pZCBzZW5kTWVzc2Fn
ZVdpdGhSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIHN0ZDo6dW5pcXVlX3B0cjxFbmNvZGVyPiwg
RnVuY3Rpb25EaXNwYXRjaGVyJiByZXBseURpc3BhdGNoZXIsIEZ1bmN0aW9uPHZvaWQoc3RkOjp1
bmlxdWVfcHRyPERlY29kZXI+KT4mJiByZXBseUhhbmRsZXIpOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxFbmNvZGVyPiBjcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIoU3RyaW5nUmVmZXJlbmNlIG1lc3Nh
Z2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCwgdWludDY0X3QmIHN5bmNSZXF1ZXN0SUQpOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxEZWNvZGVyPiBzZW5kU3luY01lc3NhZ2UodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgc3RkOjp1
bmlxdWVfcHRyPEVuY29kZXI+LCBTZWNvbmRzIHRpbWVvdXQsIE9wdGlvblNldDxTZW5kU3luY09w
dGlvbj4gc2VuZFN5bmNPcHRpb25zKTsKICAgICBib29sIHNlbmRTeW5jUmVwbHkoc3RkOjp1bmlx
dWVfcHRyPEVuY29kZXI+KTsKQEAgLTMxMywxMSArMzExLDYgQEAgcHJpdmF0ZToKICAgICBDb25k
aXRpb24gbV93YWl0Rm9yTWVzc2FnZUNvbmRpdGlvbjsKICAgICBMb2NrIG1fd2FpdEZvck1lc3Nh
Z2VNdXRleDsKIAotICAgIHN0cnVjdCBSZXBseUhhbmRsZXI7Ci0KLSAgICBMb2NrIG1fcmVwbHlI
YW5kbGVyc0xvY2s7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwgUmVwbHlIYW5kbGVyPiBtX3JlcGx5
SGFuZGxlcnM7Ci0KICAgICBzdHJ1Y3QgV2FpdEZvck1lc3NhZ2VTdGF0ZTsKICAgICBXYWl0Rm9y
TWVzc2FnZVN0YXRlKiBtX3dhaXRpbmdGb3JNZXNzYWdlOwogCkBAIC00MzQsMjggKzQyNyw2IEBA
IHZvaWQgQ29ubmVjdGlvbjo6c2VuZFdpdGhBc3luY1JlcGx5KFQmJiAKICAgICB9KTsKIH0KIAot
dGVtcGxhdGU8dHlwZW5hbWUgVD4KLXZvaWQgQ29ubmVjdGlvbjo6c2VuZFdpdGhSZXBseShUJiYg
bWVzc2FnZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgRnVuY3Rpb25EaXNwYXRjaGVyJiByZXBs
eURpc3BhdGNoZXIsIEZ1bmN0aW9uPHZvaWQoT3B0aW9uYWw8dHlwZW5hbWUgQ29kaW5nVHlwZTx0
eXBlbmFtZSBUOjpSZXBseT46OlR5cGU+KT4mJiByZXBseUhhbmRsZXIpCi17Ci0gICAgdWludDY0
X3QgcmVxdWVzdElEID0gMDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4gZW5jb2RlciA9
IGNyZWF0ZVN5bmNNZXNzYWdlRW5jb2RlcihUOjpyZWNlaXZlck5hbWUoKSwgVDo6bmFtZSgpLCBk
ZXN0aW5hdGlvbklELCByZXF1ZXN0SUQpOwotCi0gICAgZW5jb2Rlci0+ZW5jb2RlKG1lc3NhZ2Uu
YXJndW1lbnRzKCkpOwotCi0gICAgc2VuZE1lc3NhZ2VXaXRoUmVwbHkocmVxdWVzdElELCBXVEZN
b3ZlKGVuY29kZXIpLCByZXBseURpc3BhdGNoZXIsIFtyZXBseUhhbmRsZXIgPSBXVEZNb3ZlKHJl
cGx5SGFuZGxlcildKHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBkZWNvZGVyKSB7Ci0gICAgICAg
IGlmIChkZWNvZGVyKSB7Ci0gICAgICAgICAgICBPcHRpb25hbDx0eXBlbmFtZSBDb2RpbmdUeXBl
PHR5cGVuYW1lIFQ6OlJlcGx5Pjo6VHlwZT4gcmVwbHk7Ci0gICAgICAgICAgICAqZGVjb2RlciA+
PiByZXBseTsKLSAgICAgICAgICAgIGlmIChyZXBseSkgewotICAgICAgICAgICAgICAgIHJlcGx5
SGFuZGxlcihXVEZNb3ZlKCpyZXBseSkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHJlcGx5SGFuZGxlcihXVEY6Om51bGxvcHQp
OwotICAgIH0pOwotfQotCiB0ZW1wbGF0ZTxzaXplX3QgaSwgdHlwZW5hbWUgQSwgdHlwZW5hbWUg
Qj4gc3RydWN0IFR1cGxlTW92ZXIgewogICAgIHN0YXRpYyB2b2lkIG1vdmUoQSYmIGEsIEImIGIp
CiAgICAgewpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NlY0l0ZW1SZXNwb25zZURh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2VjSXRlbVJlc3Bv
bnNlRGF0YS5oCShyZXZpc2lvbiAyNDUwNTYpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
U2VjSXRlbVJlc3BvbnNlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw3IEBACiAg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBTZWNJdGVt
UmVzcG9uc2VEYXRhX2gKLSNkZWZpbmUgU2VjSXRlbVJlc3BvbnNlRGF0YV9oCisjcHJhZ21hIG9u
Y2UKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApAQCAtMzcsNiArMzYsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICAKIGNsYXNzIFNlY0l0ZW1SZXNwb25zZURhdGEgewogcHVibGlj
OgorICAgIFNlY0l0ZW1SZXNwb25zZURhdGEoKSA9IGRlZmF1bHQ7CiAgICAgU2VjSXRlbVJlc3Bv
bnNlRGF0YShPU1N0YXR1cywgUmV0YWluUHRyPENGVHlwZVJlZj4mJiByZXN1bHQpOwogCiAgICAg
dm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CkBAIC01MSw1ICs1MSwzIEBAIHByaXZh
dGU6CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBTZWNJdGVt
UmVzcG9uc2VEYXRhX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TZWNJdGVtU2hp
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NlY0l0ZW1TaGlt
LmNwcAkocmV2aXNpb24gMjQ1MDU2KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NlY0l0
ZW1TaGltLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsMzcgKzY0LDE2IEBAIHN0YXRpYyBXZWFr
UHRyPE5ldHdvcmtQcm9jZXNzPiYgZ2xvYmFsTmUKICAgICByZXR1cm4gbmV0d29ya1Byb2Nlc3Mu
Z2V0KCk7CiB9CiAKLXN0YXRpYyBXb3JrUXVldWUmIHdvcmtRdWV1ZSgpCi17Ci0gICAgc3RhdGlj
IFdvcmtRdWV1ZSogd29ya1F1ZXVlOwotICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRv
a2VuOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgd29ya1F1ZXVl
ID0gJldvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LlNlY0l0ZW1TaGltIikubGVh
a1JlZigpOwotCi0gICAgfSk7Ci0KLSAgICByZXR1cm4gKndvcmtRdWV1ZTsKLX0KLQogc3RhdGlj
IE9wdGlvbmFsPFNlY0l0ZW1SZXNwb25zZURhdGE+IHNlbmRTZWNJdGVtUmVxdWVzdChTZWNJdGVt
UmVxdWVzdERhdGE6OlR5cGUgcmVxdWVzdFR5cGUsIENGRGljdGlvbmFyeVJlZiBxdWVyeSwgQ0ZE
aWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXNUb01hdGNoID0gMCkKIHsKICAgICBpZiAoIWdsb2JhbE5l
dHdvcmtQcm9jZXNzKCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICBPcHRp
b25hbDxTZWNJdGVtUmVzcG9uc2VEYXRhPiByZXNwb25zZTsKLQotICAgIEJpbmFyeVNlbWFwaG9y
ZSBzZW1hcGhvcmU7Ci0KLSAgICBnbG9iYWxOZXR3b3JrUHJvY2VzcygpLT5wYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT5zZW5kV2l0aFJlcGx5KE1lc3NhZ2VzOjpTZWNJdGVtU2hpbVByb3h5OjpT
ZWNJdGVtUmVxdWVzdChTZWNJdGVtUmVxdWVzdERhdGEocmVxdWVzdFR5cGUsIHF1ZXJ5LCBhdHRy
aWJ1dGVzVG9NYXRjaCkpLCAwLCB3b3JrUXVldWUoKSwgWyZyZXNwb25zZSwgJnNlbWFwaG9yZV0o
YXV0byByZXBseSkgewotICAgICAgICBpZiAocmVwbHkpCi0gICAgICAgICAgICByZXNwb25zZSA9
IFdURk1vdmUoc3RkOjpnZXQ8MD4oKnJlcGx5KSk7Ci0KLSAgICAgICAgc2VtYXBob3JlLnNpZ25h
bCgpOwotICAgIH0pOwotCi0gICAgc2VtYXBob3JlLndhaXQoKTsKKyAgICBTZWNJdGVtUmVzcG9u
c2VEYXRhIHJlc3BvbnNlOworICAgIGlmICghZ2xvYmFsTmV0d29ya1Byb2Nlc3MoKS0+cGFyZW50
UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OlNlY0l0ZW1TaGltUHJveHk6
OlNlY0l0ZW1SZXF1ZXN0KFNlY0l0ZW1SZXF1ZXN0RGF0YShyZXF1ZXN0VHlwZSwgcXVlcnksIGF0
dHJpYnV0ZXNUb01hdGNoKSksIE1lc3NhZ2VzOjpTZWNJdGVtU2hpbVByb3h5OjpTZWNJdGVtUmVx
dWVzdDo6UmVwbHkocmVzcG9uc2UpLCAwKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
IAotICAgIHJldHVybiByZXNwb25zZTsKKyAgICByZXR1cm4gV1RGTW92ZShyZXNwb25zZSk7CiB9
CiAKIHN0YXRpYyBPU1N0YXR1cyB3ZWJTZWNJdGVtQ29weU1hdGNoaW5nKENGRGljdGlvbmFyeVJl
ZiBxdWVyeSwgQ0ZUeXBlUmVmKiByZXN1bHQpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI0NTA1NikKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzNiwx
NyArOTM2LDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFAKICAg
ICBhdXRvIHRva2VuID0gdGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKICAg
ICBSRUxFQVNFX0xPR19JRihzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHkgaXMgdGFraW5nIGEgYmFja2dy
b3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgV2ViIHByb2Nlc3MgaXMgZmV0Y2hpbmcgV2Vic2l0
ZSBkYXRhIiwgdGhpcyk7CiAKLSAgICBjb25uZWN0aW9uKCktPnNlbmRXaXRoUmVwbHkoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMpLCAw
LCBSdW5Mb29wOjptYWluKCksIFt0aGlzLCB0b2tlbiwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgc2Vzc2lvbklEXSAoYXV0byByZXBseSkgbXV0YWJsZSB7
CisgICAgY29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nl
c3M6OkZldGNoV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMpLCBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCB0b2tlbiwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgc2Vzc2lvbklEXSAoYXV0byByZXBseSkgbXV0YWJsZSB7
CiAjaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25J
RCk7CiAgICAgICAgIFVOVVNFRF9QQVJBTSh0aGlzKTsKICNlbmRpZgotICAgICAgICBpZiAoIXJl
cGx5KSB7Ci0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJzaXRlRGF0YSB7IH0pOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoV1RGTW92ZShzdGQ6OmdldDwwPigqcmVwbHkpKSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUocmVwbHkpKTsKICAgICAgICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlz
QWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJv
Y2Vzc1Byb3h5IGlzIHJlbGVhc2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhl
IFdlYiBwcm9jZXNzIGlzIGRvbmUgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIiwgdGhpcyk7CiAgICAg
fSk7CiB9CkBAIC05NTgsNyArOTUzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRlbGV0ZVdl
YnNpdGVEYXRhKAogICAgIGF1dG8gdG9rZW4gPSB0aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZp
dHlUb2tlbigpOwogICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2lu
Z0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eSBpcyB0
YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBXZWIgcHJvY2VzcyBpcyBk
ZWxldGluZyBXZWJzaXRlIGRhdGEiLCB0aGlzKTsKIAotICAgIGNvbm5lY3Rpb24oKS0+c2VuZFdp
dGhSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklE
LCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UpLCAwLCBSdW5Mb29wOjptYWluKCksIFt0aGlzLCB0
b2tlbiwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgc2Vz
c2lvbklEXSAoYXV0byByZXBseSkgbXV0YWJsZSB7CisgICAgY29ubmVjdGlvbigpLT5zZW5kV2l0
aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Np
b25JRCwgZGF0YVR5cGVzLCBtb2RpZmllZFNpbmNlKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKSwgdG9rZW4sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlciksIHNlc3Npb25JRF0gKCkgbXV0YWJsZSB7CiAjaWYgUkVMRUFTRV9MT0dfRElT
QUJMRUQKICAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOwogICAgICAgICBVTlVTRURfUEFSQU0o
c2Vzc2lvbklEKTsKQEAgLTk3NSw3ICs5NzAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGFGCiAgICAgYXV0byB0b2tlbiA9IHRocm90dGxlcigpLmJhY2tncm91bmRB
Y3Rpdml0eVRva2VuKCk7CiAgICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25M
b2dnaW5nQWxsb3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5
IGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYiBwcm9jZXNz
IGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSBmb3Igc2V2ZXJhbCBvcmlnaW5zIiwgdGhpcyk7CiAK
LSAgICBjb25uZWN0aW9uKCktPnNlbmRXaXRoUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBlcywgb3JpZ2lucyks
IDAsIFJ1bkxvb3A6Om1haW4oKSwgW3RoaXMsIHRva2VuLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURdIChhdXRvIHJlcGx5KSBtdXRhYmxl
IHsKKyAgICBjb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJv
Y2Vzczo6RGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBv
cmlnaW5zKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgdG9rZW4sIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHNlc3Npb25JRF0g
KCkgbXV0YWJsZSB7CiAjaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAgICAgVU5VU0VEX1BB
UkFNKHRoaXMpOwogICAgICAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbklEKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lv
biAyNDUwNTYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzgsOSArNzgsOSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIFJlbGVhc2VQYWdlQ2FjaGUoKQogCi0gICAgRmV0
Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6
OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcykgLT4gKHN0cnVjdCBXZWJLaXQ6Oldl
YnNpdGVEYXRhIHdlYnNpdGVEYXRhKSBTeW5jaHJvbm91cwotICAgIERlbGV0ZVdlYnNpdGVEYXRh
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFU
eXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlKSAtPiAoKSBTeW5j
aHJvbm91cwotICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFU
eXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkg
U3luY2hyb25vdXMKKyAgICBGZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzKSAt
PiAoc3RydWN0IFdlYktpdDo6V2Vic2l0ZURhdGEgd2Vic2l0ZURhdGEpIEFzeW5jCisgICAgRGVs
ZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0
OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2lu
Y2UpIC0+ICgpIEFzeW5jCisgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJz
aXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5z
KSAtPiAoKSBBc3luYwogCiAgICAgU2V0SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKICNpZiBQTEFURk9STShDT0NPQSkK
</data>
<flag name="review"
          id="385591"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>