<?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>167982</bug_id>
          
          <creation_ts>2017-02-08 03:45:41 -0800</creation_ts>
          <short_desc>Allow speculative redirects</short_desc>
          <delta_ts>2017-02-10 04:46:53 -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>Page Loading</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274300</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-02-08 03:45:41 -0800</bug_when>
    <thetext>If speculative loader hits a redirect it will drop it on the floor. We should use them instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274301</commentid>
    <comment_count>1</comment_count>
      <attachid>300889</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-02-08 03:58:29 -0800</bug_when>
    <thetext>Created attachment 300889
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274316</commentid>
    <comment_count>2</comment_count>
      <attachid>300889</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-02-08 06:17:44 -0800</bug_when>
    <thetext>Comment on attachment 300889
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274322</commentid>
    <comment_count>3</comment_count>
      <attachid>300889</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-08 07:11:40 -0800</bug_when>
    <thetext>Comment on attachment 300889
patch

Clearing flags on attachment: 300889

Committed r211869: &lt;http://trac.webkit.org/changeset/211869&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274323</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-08 07:11:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274399</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-08 09:47:44 -0800</bug_when>
    <thetext>This change appears to have caused LayoutTests to fail an assertion on macOS Debug WK2:

https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK2%20(Tests)/r211869%20(1938)/results.html

ASSERTION FAILED: !m_platformRequestUpdated
/Volumes/Data/slave/sierra-debug/build/WebKitBuild/Debug/WebCore.framework/PrivateHeaders/ResourceRequestBase.h(323) : void WebCore::ResourceRequestBase::encodeWithoutPlatformData(Encoder &amp;) const [Encoder = WTF::Persistence::Encoder]
1   0x110f8390d WTFCrash
2   0x10c0ee2f5 void WebCore::ResourceRequestBase::encodeWithoutPlatformData&lt;WTF::Persistence::Encoder&gt;(WTF::Persistence::Encoder&amp;) const
3   0x10c0edfc1 WebKit::NetworkCache::Entry::encodeAsStorageRecord() const
4   0x10c0de1b1 WebKit::NetworkCache::Cache::storeRedirect(WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;, WebCore::ResourceRequest const&amp;)
5   0x10c216520 WebKit::NetworkResourceLoader::willSendRedirectedRequest(WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceResponse&amp;&amp;)
6   0x10c1c579f WebKit::NetworkLoad::sharedWillSendRedirectedRequest(WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceResponse&amp;&amp;)
7   0x10c1c5cf5 WebKit::NetworkLoad::willPerformHTTPRedirection(WebCore::ResourceResponse&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::Function&lt;void (WebCore::ResourceRequest const&amp;)&gt;&amp;&amp;)
8   0x10c1bd91a WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection(WebCore::ResourceResponse&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::Function&lt;void (WebCore::ResourceRequest const&amp;)&gt;&amp;&amp;)
9   0x10c223719 -[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]
10  0x7fff8605ad97 __86-[NSURLSession delegate_task:willPerformHTTPRedirection:newRequest:completionHandler:]_block_invoke
11  0x7fff8874a2d9 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__
12  0x7fff88749fbc -[NSBlockOperation main]
13  0x7fff887486e4 -[__NSOperationInternal _start:]
14  0x7fff8874459b __NSOQSchedule_f
15  0x7fff9c2bd0b8 _dispatch_client_callout
16  0x7fff9c2cab4b _dispatch_main_queue_callback_4CF
17  0x7fff86d35669 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
18  0x7fff86cf665d __CFRunLoopRun
19  0x7fff86cf5b54 CFRunLoopRunSpecific
20  0x7fff88728612 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
21  0x7fff887284ea -[NSRunLoop(NSRunLoop) run]
22  0x7fff9c55789b _xpc_objc_main
23  0x7fff9c5562e4 xpc_main
24  0x10bea218d main
25  0x7fff9c2f3255 start
26  0x1
LEAK: 11 WebProcessPool
LEAK: 13 WebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274403</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-08 09:54:22 -0800</bug_when>
    <thetext>Reverted r211869 for reason:

This change caused assertion failures on macOS WK2.

Committed r211882: &lt;http://trac.webkit.org/changeset/211882&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274529</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-02-08 13:15:31 -0800</bug_when>
    <thetext>Relanded in https://trac.webkit.org/r211894 (with a fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275296</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-02-10 04:46:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/30463396&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300889</attachid>
            <date>2017-02-08 03:58:29 -0800</date>
            <delta_ts>2017-02-08 07:11:40 -0800</delta_ts>
            <desc>patch</desc>
            <filename>speculative-redirects-3.patch</filename>
            <type>text/plain</type>
            <size>13933</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMTg2MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBACisyMDE3LTAyLTA4ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBzcGVjdWxhdGl2ZSBy
ZWRpcmVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2Nzk4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIHNwZWN1bGF0aXZlIGxvYWRlciBoaXRzIGEgcmVkaXJlY3QgaXQgd2lsbCBkcm9wIGl0IG9u
IHRoZSBmbG9vci4gV2Ugc2hvdWxkIHVzZSBpdC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0Rm9yQ2FjaGVFbnRy
eSk6CisKKyAgICAgICAgICAgIFJlc2V0IHRoZSBtX2lzV2FpdGluZ0NvbnRpbnVlV2lsbFNlbmRS
ZXF1ZXN0Rm9yQ2FjaGVkUmVkaXJlY3QgYml0IGltbWVkaWF0ZWx5LgorCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpDYWNoZTo6bWFrZVJlZGlyZWN0RW50cnkpOgorCisgICAgICAgICAgICBGYWN0
b3IgdG8gYSBmdW5jdGlvbi4KKworICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hl
OjpzdG9yZVJlZGlyZWN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6c3BlY3VsYXRp
dmVMb2FkTWFuYWdlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlRW50cnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkVudHJ5OjpFbnRy
eSk6CisKKyAgICAgICAgICAgIFVzZSBzdGQ6Om9wdGlvbmFsIGluc3RlYWQgc3RkOjp1bmlxdWVf
cHRyIGZvciB0aGUgcmVkaXJlY3QgcmVxdWVzdC4KKworICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OkVudHJ5OjpkZWNvZGVTdG9yYWdlUmVjb3JkKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OkVudHJ5OjpyZWRpcmVjdFJlcXVlc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0
KToKKworICAgICAgICAgICAgTWFrZSBjYWNoZSBlbnRyeSBmb3Igc3BlY3VsYXRpdmUgcmVkaXJl
Y3QuCisgICAgICAgICAgICBUaGUgcmVkaXJlY3QgaXMgbm90IGFjdHVhbGx5IHBlcmZvcm1lZCwg
dGhlIHRhcmdldCByZXNvdXJjZSB3aWxsIGhhdmUgc2VwYXJhdGUKKyAgICAgICAgICAgIGEgc3Bl
Y3VsYXRpdmUgZW50cnkuCisKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxh
dGl2ZUxvYWQ6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OlNwZWN1bGF0aXZlTG9hZDo6ZGlkRmFpbExvYWRpbmcpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZDo6ZGlkQ29tcGxldGUpOgorCisgICAgICAgICAg
ICBQcm90ZWN0IGFnYWluc3QgbXVsdGlwbGUgY29tcGxldGlvbnMuCisKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWQ6OmFib3J0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaDoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyOjpyZXRyaWV2ZSk6CisKKyAgICAgICAgICAgIE1ha2Ugc3VjY2Vzc2Z1bCBy
ZXRyaWV2ZXMgYXN5bmNocm9ub3VzIHRvIGF2b2lkIHJlLWVudHJhbmN5IHByb2JsZW1zLgorCiAy
MDE3LTAyLTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IENvcnJlY3QgaW5pdGlhbGl6YXRpb24gb2YgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzIGZvciB1
c2UgaW4gV2ViS2l0VGVzdFJ1bm5lcgpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAyMTE1
NjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzYsNiArNDc2LDggQEAgdm9pZCBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbAogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCiAg
ICAgaWYgKG1faXNXYWl0aW5nQ29udGludWVXaWxsU2VuZFJlcXVlc3RGb3JDYWNoZWRSZWRpcmVj
dCkgeworICAgICAgICBtX2lzV2FpdGluZ0NvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0Rm9yQ2FjaGVk
UmVkaXJlY3QgPSBmYWxzZTsKKwogICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQ
cm9jZXNzKSBSZXRyaWV2aW5nIGNhY2hlZCByZWRpcmVjdCIpOwogCiAgICAgICAgIGlmIChjYW5V
c2VDYWNoZWRSZWRpcmVjdChuZXdSZXF1ZXN0KSkKQEAgLTQ4Myw3ICs0ODUsNiBAQCB2b2lkIE5l
dHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsCiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIHN0YXJ0TmV0d29ya0xvYWQobmV3UmVxdWVzdCk7CiAKLSAgICAgICAgbV9pc1dhaXRpbmdD
b250aW51ZVdpbGxTZW5kUmVxdWVzdEZvckNhY2hlZFJlZGlyZWN0ID0gZmFsc2U7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTY0Myw2ICs2NDQsOCBAQCB2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6dmFsaWRhdGVDYWNoCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3RGb3JDYWNoZUVudHJ5KHN0ZDo6dW5pcXVlX3B0cjxOZXR3
b3JrQ2FjaGU6OkVudHJ5PiBlbnRyeSkKIHsKICAgICBBU1NFUlQoZW50cnktPnJlZGlyZWN0UmVx
dWVzdCgpKTsKKyAgICBBU1NFUlQoIW1faXNXYWl0aW5nQ29udGludWVXaWxsU2VuZFJlcXVlc3RG
b3JDYWNoZWRSZWRpcmVjdCk7CisKICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9j
ZXNzKSBFeGVjdXRpbmcgY2FjaGVkIHJlZGlyZWN0Iik7CiAKICAgICArK21fcmVkaXJlY3RDb3Vu
dDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmNwcAkocmV2aXNpb24gMjExNTYzKQorKysgU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk1
LDYgKzM5NSwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IENhY2hlOjptYWtlRW50cnkoCiAg
ICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8RW50cnk+KG1ha2VDYWNoZUtleShyZXF1ZXN0KSwg
cmVzcG9uc2UsIFdURk1vdmUocmVzcG9uc2VEYXRhKSwgV2ViQ29yZTo6Y29sbGVjdFZhcnlpbmdS
ZXF1ZXN0SGVhZGVycyhyZXF1ZXN0LCByZXNwb25zZSkpOwogfQogCitzdGQ6OnVuaXF1ZV9wdHI8
RW50cnk+IENhY2hlOjptYWtlUmVkaXJlY3RFbnRyeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0UmVxdWVzdCkKK3sKKyAg
ICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxFbnRyeT4obWFrZUNhY2hlS2V5KHJlcXVlc3QpLCBy
ZXNwb25zZSwgcmVkaXJlY3RSZXF1ZXN0LCBXZWJDb3JlOjpjb2xsZWN0VmFyeWluZ1JlcXVlc3RI
ZWFkZXJzKHJlcXVlc3QsIHJlc3BvbnNlKSk7Cit9CisKIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4g
Q2FjaGU6OnN0b3JlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlZlB0cjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+JiYgcmVzcG9uc2VEYXRhLCBGdW5jdGlvbjx2b2lkIChNYXBwZWRCb2R5Jik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKGlzRW5hYmxlZCgpKTsKQEAgLTQ1
NCw4ICs0NTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IENhY2hlOjpzdG9yZVJlZGlyCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRy
eT4gY2FjaGVFbnRyeSA9IHN0ZDo6bWFrZV91bmlxdWU8RW50cnk+KG1ha2VDYWNoZUtleShyZXF1
ZXN0KSwgcmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCwgV2ViQ29yZTo6Y29sbGVjdFZhcnlpbmdS
ZXF1ZXN0SGVhZGVycyhyZXF1ZXN0LCByZXNwb25zZSkpOwotCisgICAgYXV0byBjYWNoZUVudHJ5
ID0gbWFrZVJlZGlyZWN0RW50cnkocmVxdWVzdCwgcmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCk7
CiAgICAgYXV0byByZWNvcmQgPSBjYWNoZUVudHJ5LT5lbmNvZGVBc1N0b3JhZ2VSZWNvcmQoKTsK
IAogICAgIG1fc3RvcmFnZS0+c3RvcmUocmVjb3JkLCBudWxscHRyKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCShyZXZp
c2lvbiAyMTE1NjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDExICsxMjUsMTYgQEAgcHVibGljOgog
ICAgIHZvaWQgc3RvcmVEYXRhKGNvbnN0IERhdGFLZXkmLCAgY29uc3QgdWludDhfdCogZGF0YSwg
c2l6ZV90KTsKICAgICAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IG1ha2VFbnRyeShjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJik7CisgICAgc3RkOjp1bmlxdWVf
cHRyPEVudHJ5PiBtYWtlUmVkaXJlY3RFbnRyeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZWRpcmVjdFJlcXVlc3QpOwogCiAgICAgdm9pZCBkdW1wQ29udGVudHNU
b0ZpbGUoKTsKIAogICAgIFN0cmluZyByZWNvcmRzUGF0aCgpIGNvbnN0OwogCisjaWYgRU5BQkxF
KE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgIFNwZWN1bGF0aXZl
TG9hZE1hbmFnZXIqIHNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKSB7IHJldHVybiBtX3NwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuZ2V0KCk7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIENhY2hlKCkg
PSBkZWZhdWx0OwogICAgIH5DYWNoZSgpID0gZGVsZXRlOwpJbmRleDogU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUVudHJ5LmNw
cAkocmV2aXNpb24gMjExNTYzKQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlRW50cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MiwxMiArNTIsMTAg
QEAgRW50cnk6OkVudHJ5KGNvbnN0IEtleSYga2V5LCBjb25zdCBXZWJDbwogICAgICwgbV90aW1l
U3RhbXAoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCkpCiAgICAgLCBtX3Jlc3BvbnNl
KHJlc3BvbnNlKQogICAgICwgbV92YXJ5aW5nUmVxdWVzdEhlYWRlcnModmFyeWluZ1JlcXVlc3RI
ZWFkZXJzKQorICAgICwgbV9yZWRpcmVjdFJlcXVlc3QocmVkaXJlY3RSZXF1ZXN0KQogewogICAg
IEFTU0VSVChtX2tleS50eXBlKCkgPT0gIlJlc291cmNlIik7CiAgICAgLy8gUmVkaXJlY3QgYm9k
eSBpcyBub3QgbmVlZGVkIGV2ZW4gaWYgZXhpc3RzLgotCi0gICAgbV9yZWRpcmVjdFJlcXVlc3Qg
PSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdD4oKTsKLSAgICBtX3Jl
ZGlyZWN0UmVxdWVzdC0+c2V0QXNJc29sYXRlZENvcHkocmVkaXJlY3RSZXF1ZXN0KTsKICAgICBt
X3JlZGlyZWN0UmVxdWVzdC0+c2V0SFRUUEJvZHkobnVsbHB0cik7CiB9CiAKQEAgLTY2LDYgKzY0
LDcgQEAgRW50cnk6OkVudHJ5KGNvbnN0IEVudHJ5JiBvdGhlcikKICAgICAsIG1fdGltZVN0YW1w
KG90aGVyLm1fdGltZVN0YW1wKQogICAgICwgbV9yZXNwb25zZShvdGhlci5tX3Jlc3BvbnNlKQog
ICAgICwgbV92YXJ5aW5nUmVxdWVzdEhlYWRlcnMob3RoZXIubV92YXJ5aW5nUmVxdWVzdEhlYWRl
cnMpCisgICAgLCBtX3JlZGlyZWN0UmVxdWVzdChvdGhlci5tX3JlZGlyZWN0UmVxdWVzdCkKICAg
ICAsIG1fYnVmZmVyKG90aGVyLm1fYnVmZmVyKQogICAgICwgbV9zb3VyY2VTdG9yYWdlUmVjb3Jk
KG90aGVyLm1fc291cmNlU3RvcmFnZVJlY29yZCkKIHsKQEAgLTEyOSw3ICsxMjgsNyBAQCBzdGQ6
OnVuaXF1ZV9wdHI8RW50cnk+IEVudHJ5OjpkZWNvZGVTdG9yCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgaWYgKGlzUmVkaXJlY3QpIHsKLSAgICAgICAgZW50cnktPm1fcmVkaXJlY3RS
ZXF1ZXN0ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q+KCk7Cisg
ICAgICAgIGVudHJ5LT5tX3JlZGlyZWN0UmVxdWVzdC5lbXBsYWNlKCk7CiAgICAgICAgIGlmICgh
ZW50cnktPm1fcmVkaXJlY3RSZXF1ZXN0LT5kZWNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKGRlY29k
ZXIpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpJbmRleDogU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRW50cnkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVFbnRy
eS5oCShyZXZpc2lvbiAyMTE1NjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVFbnRyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBA
IHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mIHZh
cnlpbmdSZXF1ZXN0SGVhZGVycygpIGNvbnN0IHsgcmV0dXJuIG1fdmFyeWluZ1JlcXVlc3RIZWFk
ZXJzOyB9CiAKICAgICBXZWJDb3JlOjpTaGFyZWRCdWZmZXIqIGJ1ZmZlcigpIGNvbnN0OwotICAg
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCogcmVkaXJlY3RSZXF1ZXN0KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWRpcmVjdFJlcXVlc3QuZ2V0KCk7IH0KKyAgICBjb25zdCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdD4mIHJlZGlyZWN0UmVxdWVzdCgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVkaXJlY3RSZXF1ZXN0OyB9CiAKICNpZiBFTkFCTEUoU0hBUkVBQkxFX1JFU09V
UkNFKQogICAgIFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIHNoYXJlYWJsZVJlc291cmNlSGFu
ZGxlKCkgY29uc3Q7CkBAIC04Myw3ICs4Myw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSBtX3Jlc3BvbnNlOwogICAgIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBT
dHJpbmc+PiBtX3ZhcnlpbmdSZXF1ZXN0SGVhZGVyczsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q+IG1fcmVkaXJlY3RSZXF1ZXN0OworICAgIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0PiBtX3JlZGlyZWN0UmVxdWVzdDsKICAgICBt
dXRhYmxlIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IG1fYnVmZmVyOwogI2lmIEVOQUJM
RShTSEFSRUFCTEVfUkVTT1VSQ0UpCiAgICAgbXV0YWJsZSBTaGFyZWFibGVSZXNvdXJjZTo6SGFu
ZGxlIG1fc2hhcmVhYmxlUmVzb3VyY2VIYW5kbGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5jcHAJKHJldmlzaW9uIDIxMTU2MykKKysrIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY3LDExICs2NywyMyBAQCBTcGVjdWxhdGl2ZUxvYWQ6On5TcGVjdWxhdGl2
ZUxvYWQoKQogICAgIEFTU0VSVCghbV9uZXR3b3JrTG9hZCk7CiB9CiAKLXZvaWQgU3BlY3VsYXRp
dmVMb2FkOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmLCBSZXNv
dXJjZVJlcXVlc3QmJiByZWRpcmVjdFJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVj
dFJlc3BvbnNlKQordm9pZCBTcGVjdWxhdGl2ZUxvYWQ6OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVl
c3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVkaXJlY3RS
ZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNwb25zZSkKIHsKLSAgICBMT0co
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKE5ldHdvcmtQcm9jZXNzKSBTcGVj
dWxhdGl2ZSByZXZhbGlkYXRpb24gZm9yICVzIGhpdCBhIHJlZGlyZWN0LCBhYm9ydGluZyB0aGUg
bG9hZC4iLCByZWRpcmVjdFJlc3BvbnNlLnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIC8vIFdlIGRyb3Agc3BlY3VsYXRpdmUgcmV2YWxpZGF0aW9ucyBpZiB0aGV5IHJlZGlyZWN0
IGZvciBub3cgYXMgd2Ugd291bGQgbmVlZCB0byBub3RpZnkgV2ViQ29yZSBvZiBzdWNoIHJlZGly
ZWN0cy4KLSAgICBhYm9ydCgpOworICAgIExPRyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxv
YWRpbmcsICJTcGVjdWxhdGl2ZSByZWRpcmVjdCAlcyAtPiAlcyIsIHJlcXVlc3QudXJsKCkuc3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSwgcmVkaXJlY3RSZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0Zjgo
KS5kYXRhKCkpOworCisgICAgbV9jYWNoZUVudHJ5ID0gTmV0d29ya0NhY2hlOjpzaW5nbGV0b24o
KS5zdG9yZVJlZGlyZWN0KHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVz
dCk7CisgICAgLy8gQ3JlYXRlIGEgc3ludGhldGljIGNhY2hlIGVudHJ5IGlmIHdlIGNhbid0IHN0
b3JlLgorICAgIGlmICghbV9jYWNoZUVudHJ5KQorICAgICAgICBtX2NhY2hlRW50cnkgPSBOZXR3
b3JrQ2FjaGU6OnNpbmdsZXRvbigpLm1ha2VSZWRpcmVjdEVudHJ5KHJlcXVlc3QsIHJlZGlyZWN0
UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCk7CisKKyAgICBhdXRvIGxvYWQgPSBXVEZNb3ZlKG1f
bmV0d29ya0xvYWQpOworCisgICAgLy8gRG9uJ3QgZm9sbG93IHRoZSByZWRpcmVjdC4gVGhlIHJl
ZGlyZWN0IHRhcmdldCB3aWxsIGJlIHJlZ2lzdGVyZWQgZm9yIHNwZWN1bGF0aXZlIGxvYWQgd2hl
biBpdCBpcyBsb2FkZWQuCisgICAgZGlkQ29tcGxldGUoKTsKKworICAgIC8vIFRoaXMgY2F1c2Vz
IGNhbGwgdG8gZGlkRmFpbExvYWRpbmcoKS4KKyAgICBpZiAobG9hZCkKKyAgICAgICAgbG9hZC0+
Y29udGludWVXaWxsU2VuZFJlcXVlc3QoeyB9KTsKIH0KIAogYXV0byBTcGVjdWxhdGl2ZUxvYWQ6
OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVjZWl2ZWRSZXNwb25zZSkg
LT4gU2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UKQEAgLTEwNiw4ICsxMTgsMTAgQEAg
dm9pZCBTcGVjdWxhdGl2ZUxvYWQ6OmRpZFJlY2VpdmVCdWZmZXIoUgogCiB2b2lkIFNwZWN1bGF0
aXZlTG9hZDo6ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkKIHsKKyAgICBpZiAo
bV9kaWRDb21wbGV0ZSkKKyAgICAgICAgcmV0dXJuOwogICAgIGlmICghbV9jYWNoZUVudHJ5ICYm
IG1fYnVmZmVyZWREYXRhRm9yQ2FjaGUpIHsKLSAgICAgICAgbV9jYWNoZUVudHJ5ID0gTmV0d29y
a0NhY2hlOjpzaW5nbGV0b24oKS5zdG9yZShtX29yaWdpbmFsUmVxdWVzdCwgbV9yZXNwb25zZSwg
V1RGTW92ZShtX2J1ZmZlcmVkRGF0YUZvckNhY2hlKSwgW10oYXV0byYgbWFwcGVkQm9keSkgeyB9
KTsKKyAgICAgICAgbV9jYWNoZUVudHJ5ID0gTmV0d29ya0NhY2hlOjpzaW5nbGV0b24oKS5zdG9y
ZShtX29yaWdpbmFsUmVxdWVzdCwgbV9yZXNwb25zZSwgbV9idWZmZXJlZERhdGFGb3JDYWNoZS5j
b3B5UmVmKCksIFtdKGF1dG8mIG1hcHBlZEJvZHkpIHsgfSk7CiAgICAgICAgIC8vIENyZWF0ZSBh
IHN5bnRoZXRpYyBjYWNoZSBlbnRyeSBpZiB3ZSBjYW4ndCBzdG9yZS4KICAgICAgICAgaWYgKCFt
X2NhY2hlRW50cnkgJiYgbV9yZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDIwMCkKICAgICAg
ICAgICAgIG1fY2FjaGVFbnRyeSA9IE5ldHdvcmtDYWNoZTo6c2luZ2xldG9uKCkubWFrZUVudHJ5
KG1fb3JpZ2luYWxSZXF1ZXN0LCBtX3Jlc3BvbnNlLCBXVEZNb3ZlKG1fYnVmZmVyZWREYXRhRm9y
Q2FjaGUpKTsKQEAgLTEyNSwyNCArMTM5LDIwIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkOjpjYW5B
dXRoZW50aWNhdGVBZ2EKIAogdm9pZCBTcGVjdWxhdGl2ZUxvYWQ6OmRpZEZhaWxMb2FkaW5nKGNv
bnN0IFJlc291cmNlRXJyb3ImKQogeworICAgIGlmIChtX2RpZENvbXBsZXRlKQorICAgICAgICBy
ZXR1cm47CiAgICAgbV9jYWNoZUVudHJ5ID0gbnVsbHB0cjsKIAogICAgIGRpZENvbXBsZXRlKCk7
CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVMb2FkOjphYm9ydCgpCi17Ci0gICAgaWYgKG1fbmV0d29y
a0xvYWQpCi0gICAgICAgIG1fbmV0d29ya0xvYWQtPmNhbmNlbCgpOwotCi0gICAgbV9jYWNoZUVu
dHJ5ID0gbnVsbHB0cjsKLSAgICBkaWRDb21wbGV0ZSgpOwotfQotCiB2b2lkIFNwZWN1bGF0aXZl
TG9hZDo6ZGlkQ29tcGxldGUoKQogewogICAgIFJFTEVBU0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFp
bigpKTsKIAorICAgIGlmIChtX2RpZENvbXBsZXRlKQorICAgICAgICByZXR1cm47CisgICAgbV9k
aWRDb21wbGV0ZSA9IHRydWU7CiAgICAgbV9uZXR3b3JrTG9hZCA9IG51bGxwdHI7CiAKICAgICAv
LyBNYWtlIHN1cmUgc3BlY3VsYXRpdmVseSByZXZhbGlkYXRlZCByZXNvdXJjZXMgZG8gbm90IGdl
dCB2YWxpZGF0ZWQgYnkgdGhlIE5ldHdvcmtSZXNvdXJjZUxvYWRlciBhZ2Fpbi4KSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
TG9hZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCShyZXZpc2lvbiAyMTE1NjMpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBk
aWRGYWlsTG9hZGluZyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJikgb3ZlcnJpZGU7CiAK
LSAgICB2b2lkIGFib3J0KCk7CiAgICAgdm9pZCBkaWRDb21wbGV0ZSgpOwogCiAgICAgR2xvYmFs
RnJhbWVJRCBtX2ZyYW1lSUQ7CkBAIC03Nyw2ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBtX2J1ZmZlcmVkRGF0YUZvckNhY2hlOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiBtX2NhY2hlRW50cnk7CisgICAgYm9v
bCBtX2RpZENvbXBsZXRlIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIE5ldHdvcmtD
YWNoZQpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAJKHJldmlzaW9uIDIxMTU2MykKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNDUsNyArMzQ1LDkgQEAgYm9vbCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpjYW5S
ZXRyaWV2ZQogdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZXRyaWV2ZShjb25zdCBLZXkm
IHN0b3JhZ2VLZXksIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBpZiAoYXV0byBwcmVsb2FkZWRFbnRyeSA9IG1fcHJlbG9hZGVkRW50cmllcy50
YWtlKHN0b3JhZ2VLZXkpKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHByZWxvYWRlZEVu
dHJ5LT50YWtlQ2FjaGVFbnRyeSgpKTsKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNo
KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBjYWNoZUVu
dHJ5ID0gcHJlbG9hZGVkRW50cnktPnRha2VDYWNoZUVudHJ5KCldICgpIG11dGFibGUgeworICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjYWNoZUVudHJ5KSk7CisgICAgICAg
IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEFTU0VSVChtX3BlbmRpbmdQcmVsb2Fk
cy5jb250YWlucyhzdG9yYWdlS2V5KSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>