<?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>162785</bug_id>
          
          <creation_ts>2016-09-30 06:16:52 -0700</creation_ts>
          <short_desc>[Fetch API] Forbid redirection to non-HTTP(s) URL in non-navigation mode</short_desc>
          <delta_ts>2016-10-06 03:03:03 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>162858</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1235205</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-30 06:16:52 -0700</bug_when>
    <thetext>As per the spec, we should not follow redirections to other URLs than HTTP(s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235206</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-30 06:18:25 -0700</bug_when>
    <thetext>There is some discussions at https://github.com/whatwg/fetch/issues/393 to relax this rule for data URLs since at least in WebKit, we can load data URLs in no-cors mode.
For the moment, it is better though to restrict to not allowing data URLs redirections for fetch API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235209</commentid>
    <comment_count>2</comment_count>
      <attachid>290329</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-30 06:46:59 -0700</bug_when>
    <thetext>Created attachment 290329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235224</commentid>
    <comment_count>3</comment_count>
      <attachid>290329</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-30 08:15:30 -0700</bug_when>
    <thetext>Comment on attachment 290329
Patch

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

&gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:221
&gt; +    client.didFail(ResourceError(errorDomainWebKitInternal, 0, url, &quot;Redirection to URL with a scheme that is not HTTP(S).&quot;, ResourceError::Type::AccessControl));

Is this tested?

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:656
&gt; +    // We are passing url as well as request, as request url may contain a fragment identifier.

I think we should add a test with a fragment instead of this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235227</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-30 08:42:42 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 290329 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=290329&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/DocumentThreadableLoader.cpp:221
&gt; &gt; +    client.didFail(ResourceError(errorDomainWebKitInternal, 0, url, &quot;Redirection to URL with a scheme that is not HTTP(S).&quot;, ResourceError::Type::AccessControl));
&gt; 
&gt; Is this tested?

Without this check, the no-cors redirect URL would fail.
Ideally, we would like to log erros in the console, as done for xhr.
The issue is that this makes some tests flaky, see bug 160546 for the logging
See bug 161310 for improving the test framework.

&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:656
&gt; &gt; +    // We are passing url as well as request, as request url may contain a fragment identifier.
&gt; 
&gt; I think we should add a test with a fragment instead of this comment.

There are some tests that would break otherwise. I can remove the comment.
Ideally there should be no frag ids at loader level.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235714</commentid>
    <comment_count>5</comment_count>
      <attachid>290329</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-02 07:01:43 -0700</bug_when>
    <thetext>Comment on attachment 290329
Patch

Clearing flags on attachment: 290329

Committed r206716: &lt;http://trac.webkit.org/changeset/206716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235715</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-02 07:01:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235717</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-02 07:25:41 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 162858</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235817</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-03 11:00:01 -0700</bug_when>
    <thetext>Mac CMakbe Debug bot is failing due to the following error:

In file included from /Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebKit/mac/WebView/WebHTMLView.mm:79:
In file included from /Volumes/Data/slave/elcapitan-cmake-debug/build/WebKitBuild/Debug/DerivedSources/ForwardingHeaders/WebCore/CachedResourceLoader.h:1:
/Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebCore/loader/cache/CachedResourceLoader.h:33:10: fatal error: &apos;ContentSecurityPolicy.h&apos; file not found
#include &quot;ContentSecurityPolicy.h&quot;
         ^
1 error generated.
make[2]: *** [Source/WebKit/CMakeFiles/WebKit.dir/mac/WebView/WebHTMLView.mm.o] Error 1


Any idea why it is not able to find this header file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236967</commentid>
    <comment_count>9</comment_count>
      <attachid>290799</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-06 02:19:29 -0700</bug_when>
    <thetext>Created attachment 290799
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236968</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-06 02:20:29 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created attachment 290799 [details]
&gt; Patch for landing

Relanding it as CMake build bot is still broken.
I&apos;ll be happy to help on fixing the bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236969</commentid>
    <comment_count>11</comment_count>
      <attachid>290799</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 02:20:49 -0700</bug_when>
    <thetext>Comment on attachment 290799
Patch for landing

Rejecting attachment 290799 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 290799, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/imported/w3c/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/2230263</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236970</commentid>
    <comment_count>12</comment_count>
      <attachid>290800</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-06 02:22:34 -0700</bug_when>
    <thetext>Created attachment 290800
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236971</commentid>
    <comment_count>13</comment_count>
      <attachid>290800</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 02:23:15 -0700</bug_when>
    <thetext>Comment on attachment 290800
Patch for landing

Rejecting attachment 290800 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 290800, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
tching file Source/WebCore/loader/cache/CachedResourceLoader.h
patching file LayoutTests/imported/w3c/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt
patching file LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/2230271</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236973</commentid>
    <comment_count>14</comment_count>
      <attachid>290801</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-06 02:29:01 -0700</bug_when>
    <thetext>Created attachment 290801
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236979</commentid>
    <comment_count>15</comment_count>
      <attachid>290801</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 03:02:58 -0700</bug_when>
    <thetext>Comment on attachment 290801
Patch for landing

Clearing flags on attachment: 290801

Committed r206858: &lt;http://trac.webkit.org/changeset/206858&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236980</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 03:03:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290329</attachid>
            <date>2016-09-30 06:46:59 -0700</date>
            <delta_ts>2016-10-06 02:19:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162785-20160930154354.patch</filename>
            <type>text/plain</type>
            <size>21104</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTE1OWU2NzM5ZTNlY2Nm
M2ExNzEwOTE5MmM2YmMyMjNlN2E4NmM5Yi4uMGE0YjY0MjA2NDEwOTFiMDg2NWM3MzdlZmM3MThk
NWI2MzZlOGUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE2LTA5LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbRmV0Y2ggQVBJXSBGb3Ji
aWQgcmVkaXJlY3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGluIG5vbi1uYXZpZ2F0aW9uIG1vZGUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3ODUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVk
IGJ5IHJlYmFzZWQgYW5kIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEVuc3VyaW5nIG5vbi1I
VFRQIHJlZGlyZWN0aW9uIFVSTHMgYXJlIG5vdCBmb2xsb3dlZCBhdCBEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIgbGV2ZWwgZm9yIGZldGNoIEFQSSBvbmx5LgorICAgICAgICBUaGlzIHNob3VsZCBi
ZSBhcHBsaWVkIHRvIGFsbCBjbGllbnRzIGF0IHNvbWUgcG9pbnQsIGJ1dCB0aGVyZSBpcyBzdGls
bCBzb21lIHVuY2VydGFpbnR5IGZvciBkYXRhIFVSTHMuCisKKyAgICAgICAgRGlkIHNvbWUgcmVm
YWN0b3JpbmcgdG8gYmV0dGVyIHNlcGFyYXRlIHRoZSBjYXNlIG9mIHNlY3VyaXR5IGNoZWNrcyBp
biBjYXNlIG9mIHJlZ3VsYXIgcmVxdWVzdCBvciByZWRpcmVjdGVkIHJlcXVlc3QuCisgICAgICAg
IFRoaXMgYWxsb3dzIGluIHBhcnRpY3VsYXIgdG8gaGFuZGxlIG1vcmUgY2xlYXJseSB0aGUgY2Fz
ZSBvZiBkYXRhIFVSTHMgd2hpY2ggYXJlIGFsbG93ZWQgaW4gYWxsIG1vZGVzIGZvciByZWd1bGFy
IHJlcXVlc3RzLgorICAgICAgICBCdXQgdGhleSBhcmUgbm90IGFsbG93ZWQgZm9yIHNhbWUtb3Jp
Z2luIHJlZGlyZWN0ZWQgcmVxdWVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRSZWRpcmVjdGlvbldpdGhCYWRTY2hlbWUp
OiBSZXBvcnRpbmcgYmFkIHNjaGVtZSByZWRpcmVjdGlvbiBlcnJvci4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6cmVkaXJlY3RSZWNlaXZlZCk6IENoZWNraW5n
IHRoYXQgcmVkaXJlY3Rpb24gVVJMcyBhcmUgSFRUUChzKSBpbiBjYXNlIG9mIEZldGNoIEFQSS4K
KyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJbWFnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBv
bGljeSk6CisgICAgICAgIChXZWJDb3JlOjppc1NhbWVPcmlnaW5EYXRhVVJMKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0QWZ0ZXJSZWRpcmVjdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdEluQ29u
dGVudERpc3Bvc2l0aW9uQXR0YWNobWVudFNhbmRib3gpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisKKzIwMTYtMDktMzAgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIER1bXBSZW5kZXJUcmVlIGNyYXNoZWQgaW4g
Y29tLmFwcGxlLldlYkNvcmU6IFdURjo6T3B0aW9uYWw8V2ViQ29yZTo6RmV0Y2hCb2R5T3duZXI6
OkJsb2JMb2FkZXI+OjpvcGVyYXRvciBib29sIGNvbnN0ICsgMTIKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjQ4MwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDJmNzI3OGNmMDdk
Mzk2Mzc1NDBlNjU4ZjBkMGRkMTk1OTE3ZmViZC4uZjI4ZTMzMTE0ZTY5NmUyY2E5OGVmMDljMDE2
YTQ0MDA5OTczNWRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNTc4OCw3ICs1Nzg4LDcgQEAKIAkJQ0UyODQ5ODcxQ0EzNjBE
RjAwQjRBNTdGIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI4NDk4NjFDQTM2MERG
MDBCNEE1N0YgLyogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMuaCAqLzsgfTsK
IAkJQ0UyODQ5ODkxQ0EzNjE0NjAwQjRBNTdGIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZU5hbWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFMjg0OTg4MUNBMzYxNDYwMEI0QTU3RiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmVOYW1lcy5jcHAgKi87IH07CiAJCUNFNkRBREY5MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U2REFERjcxQzU5MUU2QTAwM0Y2QTg4IC8qIENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAgKi87IH07Ci0JCUNFNkRBREZB
MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNkRBREY4
MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMu
aCAqLzsgfTsKKwkJQ0U2REFERkExQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U2REFERjgxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUNFNzk5Rjk3MUM2QTQ2QkMwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJp
dHlQb2xpY3lTb3VyY2VMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNzk5Rjk1MUM2QTQ2QkMwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQ
b2xpY3lTb3VyY2VMaXN0LmNwcCAqLzsgfTsKIAkJQ0U3OTlGOTgxQzZBNDZCQzAwOTdCNTE4IC8q
IENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNzk5Rjk2MUM2QTQ2QkMwMDk3QjUxOCAvKiBDb250
ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmggKi87IH07CiAJCUNFNzk5RjlCMUM2QTRCQ0Qw
MDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNzk5Rjk5MUM2QTRCQ0Qw
MDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcCAqLzsgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5j
cHAKaW5kZXggM2Y2Y2JhYTI2MjllMzRkZDI5MGFkN2FiMDA2YWI5MTc0YzdlZTUxOS4uMzk4Zjhj
MTBkNWRlYmY3MzM3OTk1Y2JlMWNiZjI1YmQwN2NiMjkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTIxNiwxMiArMjE2
LDI3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCByZXBvcnRDcm9zc09yaWdpblJlc291cmNlU2hhcmlu
Z0Vycm9yKFRocmVhZGFibGVMb2FkZXJDbGllbnQmCiAgICAgY2xpZW50LmRpZEZhaWwoUmVzb3Vy
Y2VFcnJvcihlcnJvckRvbWFpbldlYktpdEludGVybmFsLCAwLCB1cmwsICJDcm9zcy1vcmlnaW4g
cmVkaXJlY3Rpb24gZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iLCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sKSk7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgdm9pZCByZXBvcnRSZWRpcmVjdGlvbldpdGhCYWRTY2hlbWUoVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCYgY2xpZW50LCBjb25zdCBVUkwmIHVybCkKK3sKKyAgICBjbGllbnQuZGlkRmFpbChS
ZXNvdXJjZUVycm9yKGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHVybCwgIlJlZGlyZWN0
aW9uIHRvIFVSTCB3aXRoIGEgc2NoZW1lIHRoYXQgaXMgbm90IEhUVFAoUykuIiwgUmVzb3VyY2VF
cnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCkpOworfQorCiB2b2lkIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcjo6cmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNw
b25zZSkKIHsKICAgICBBU1NFUlQobV9jbGllbnQpOwogICAgIEFTU0VSVF9VTlVTRUQocmVzb3Vy
Y2UsIHJlc291cmNlID09IG1fcmVzb3VyY2UpOwogCiAgICAgUmVmPERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CisKKyAgICAvLyBGSVhNRTogV2UgcmVzdHJp
Y3QgdGhpcyBjaGVjayB0byBGZXRjaCBBUEkgZm9yIHRoZSBtb21lbnQsIGFzIHRoaXMgbWlnaHQg
ZGlzcnVwdCBXb3JrZXJTY3JpcHRMb2FkZXIuCisgICAgLy8gUmVhc3Nlc3MgdGhpcyBjaGVjayBi
YXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2ZldGNoL2lzc3Vlcy8zOTMgZGlzY3Vz
c2lvbnMuCisgICAgLy8gV2Ugc2hvdWxkIGFsc28gZGlzYWJsZSB0aGF0IGNoZWNrIGluIG5hdmln
YXRpb24gbW9kZS4KKyAgICBpZiAoIXJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWls
eSgpICYmIG1fb3B0aW9ucy5pbml0aWF0b3IgPT0gY2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlh
dG9ycygpLmZldGNoKSB7CisgICAgICAgIHJlcG9ydFJlZGlyZWN0aW9uV2l0aEJhZFNjaGVtZSgq
bV9jbGllbnQsIHJlcXVlc3QudXJsKCkpOworICAgICAgICBjbGVhclJlc291cmNlKCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoIWlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5
UG9saWN5KHJlcXVlc3QudXJsKCksIHJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCkgPyBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8gOiBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVzKSkgewogICAgICAgICBy
ZXBvcnRDb250ZW50U2VjdXJpdHlQb2xpY3lFcnJvcigqbV9jbGllbnQsIHJlZGlyZWN0UmVzcG9u
c2UudXJsKCkpOwogICAgICAgICBjbGVhclJlc291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1OWI2MmVkY2VhYTEyNTRlOGQyMjMyYjdm
NDdlMDhhYjUwM2E4N2JkLi5iNmU4M2QwN2I1OGZiZDNmODMyYTk2NzU1YjhkMTM1NzQzMTJiOGEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIw
MCw3ICsyMDAsNyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRl
cm5hbChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbgogICAgICAgICAgICAgICAgIG1f
ZnJhbWUtPnBhZ2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhSZXN1bHQoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpjYWNoZWRSZXNvdXJjZVJldmFs
aWRhdGlvbktleSgpLCBlbXB0eVN0cmluZygpLCBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdEZhaWws
IFNob3VsZFNhbXBsZTo6WWVzKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghbV9kb2N1bWVu
dExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5jYW5SZXF1ZXN0KG1fcmVzb3VyY2UtPnR5
cGUoKSwgbmV3UmVxdWVzdC51cmwoKSwgb3B0aW9ucygpLCBmYWxzZSAvKiBmb3JQcmVsb2FkICov
LCB0cnVlIC8qIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlICovKSkgeworICAgICAgICBpZiAo
IW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCkuY2FuUmVxdWVzdEFmdGVy
UmVkaXJlY3Rpb24obV9yZXNvdXJjZS0+dHlwZSgpLCBuZXdSZXF1ZXN0LnVybCgpLCBvcHRpb25z
KCkpKSB7CiAgICAgICAgICAgICBjYW5jZWwoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggMzdjYTdjMDhkYzdhOWE2ZDNiNDY4YTZmNDFlZDE5ZjQxMWI4OTUx
NC4uODYwZTViM2E1MDQ5ZDVjYTFlMjU2Y2NiMDcwMmY4ODcyZmIwZGNjMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0xODMsNyArMTgzLDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SW1hZ2UoQ2FjaGVkUmVzb3UKICAgICAgICAgICAgIGlm
IChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgICAgICAg
ICBkb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVl
c3RJZk5lZWRlZChyZXF1ZXN0Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkKTsKICAgICAgICAgICAgIFVSTCBy
ZXF1ZXN0VVJMID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKTsKLSAgICAgICAgICAg
IGlmIChyZXF1ZXN0VVJMLmlzVmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpJ
bWFnZVJlc291cmNlLCByZXF1ZXN0VVJMLCByZXF1ZXN0Lm9wdGlvbnMoKSwgcmVxdWVzdC5mb3JQ
cmVsb2FkKCkpKQorICAgICAgICAgICAgaWYgKHJlcXVlc3RVUkwuaXNWYWxpZCgpICYmIGNhblJl
cXVlc3QoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3RVUkwsIHJlcXVlc3Qp
KQogICAgICAgICAgICAgICAgIFBpbmdMb2FkZXI6OmxvYWRJbWFnZSgqZnJhbWUsIHJlcXVlc3RV
UkwpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIH0KQEAgLTMzMyw2ICsz
MzMsMTAgQEAgc3RhdGljIE1peGVkQ29udGVudENoZWNrZXI6OkNvbnRlbnRUeXBlIGNvbnRlbnRU
eXBlRnJvbVJlc291cmNlVHlwZShDYWNoZWRSZXNvdXIKIAogYm9vbCBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29u
c3QgVVJMJiB1cmwpIGNvbnN0CiB7CisKKyAgICBpZiAoIWNhblJlcXVlc3RJbkNvbnRlbnREaXNw
b3NpdGlvbkF0dGFjaG1lbnRTYW5kYm94KHR5cGUsIHVybCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKwogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlw
dDoKICNpZiBFTkFCTEUoWFNMVCkKQEAgLTM3OSwxMiArMzgzLDcgQEAgYm9vbCBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGlzU2Ft
ZU9yaWdpbkRhdGFVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9u
cyYgb3B0aW9ucywgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkKLXsKLSAgICByZXR1
cm4gIWRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlICYmIHVybC5wcm90b2NvbElzRGF0YSgpICYm
IG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID09IFNhbWVPcmlnaW5EYXRhVVJMRmxhZzo6
U2V0OwotfQotCi1ib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2Vj
dXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgYm9vbCBkaWRSZWNlaXZlUmVkaXJl
Y3RSZXNwb25zZSkKK2Jvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRT
ZWN1cml0eVBvbGljeShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBVUkwmIHVybCwg
Y29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQpCiB7
CiAgICAgaWYgKG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiA9PSBDb250
ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpTa2lwUG9saWN5Q2hlY2spCiAgICAgICAgIHJl
dHVybiB0cnVlOwpAQCAtMzkyLDggKzM5MSw2IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0CiAg
ICAgQVNTRVJUKG1fZG9jdW1lbnQpOwogICAgIEFTU0VSVChtX2RvY3VtZW50LT5jb250ZW50U2Vj
dXJpdHlQb2xpY3koKSk7CiAKLSAgICBhdXRvIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IGRp
ZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlID8gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVj
dFJlc3BvbnNlUmVjZWl2ZWQ6OlllcyA6IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RS
ZXNwb25zZVJlY2VpdmVkOjpObzsKLQogICAgIHN3aXRjaCAodHlwZSkgewogI2lmIEVOQUJMRShY
U0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6CkBAIC00MzAsMjUg
KzQyNywzMyBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2Vj
dXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGRlZmF1bHQ6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KKwogICAgIHJldHVybiB0cnVlOwogfQogCi1i
b29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMsIGJvb2wgZm9yUHJlbG9hZCwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkKK3N0
YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVPcmlnaW5EYXRhVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCiB7CisgICAgLy8gRklYTUU6IFJlbW92
ZSBzYW1lLW9yaWdpbiBkYXRhIFVSTCBmbGFnIHNpbmNlIGl0IHdhcyByZW1vdmVkIGZyb20gZmV0
Y2ggc3BlYyAoaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9mZXRjaC9pc3N1ZXMvMzgxKS4KKyAg
ICByZXR1cm4gdXJsLnByb3RvY29sSXNEYXRhKCkgJiYgb3B0aW9ucy5zYW1lT3JpZ2luRGF0YVVS
TEZsYWcgPT0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQ7Cit9CisKK2Jvb2wgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IENhY2hlZFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICBh
dXRvJiBvcHRpb25zID0gcmVxdWVzdC5vcHRpb25zKCk7CisKICAgICBpZiAoZG9jdW1lbnQoKSAm
JiAhZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheSh1cmwpKSB7Ci0gICAg
ICAgIGlmICghZm9yUHJlbG9hZCkKKyAgICAgICAgaWYgKCFyZXF1ZXN0LmZvclByZWxvYWQoKSkK
ICAgICAgICAgICAgIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQoZnJhbWUoKSwg
dXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpKTsKICAgICAgICAgTE9HKFJlc291
cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UgVVJMIHdh
cyBub3QgYWxsb3dlZCBieSBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheSIpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgLy8gRklYTUU6IFJlbW92ZSBzYW1lLW9yaWdpbiBk
YXRhIFVSTCBmbGFnIHNpbmNlIGl0IHdhcyByZW1vdmVkIGZyb20gZmV0Y2ggc3BlYyAoc2VlIGh0
dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gvaXNzdWVzLzM4MSkuCi0gICAgaWYgKG9wdGlv
bnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW4gJiYgIWlzU2FtZU9yaWdp
bkRhdGFVUkwodXJsLCBvcHRpb25zLCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkgJiYgIW1f
ZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QodXJsKSkgeworICAgIGlmIChv
cHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luICYmICFtX2RvY3Vt
ZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkgJiYgIWlzU2FtZU9yaWdpbkRh
dGFVUkwodXJsLCBvcHRpb25zKSkgewogICAgICAgICBwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2Uo
dXJsKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlmICghYWxsb3dlZEJ5
Q29udGVudFNlY3VyaXR5UG9saWN5KHR5cGUsIHVybCwgb3B0aW9ucywgZGlkUmVjZWl2ZVJlZGly
ZWN0UmVzcG9uc2UpKQorICAgIGlmICghYWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KHR5
cGUsIHVybCwgb3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNl
UmVjZWl2ZWQ6Ok5vKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gU1ZHIEltYWdl
cyBoYXZlIHVuaXF1ZSBzZWN1cml0eSBydWxlcyB0aGF0IHByZXZlbnQgYWxsIHN1YnJlc291cmNl
IHJlcXVlc3RzIGV4Y2VwdCBmb3IgZGF0YSB1cmxzLgpAQCAtNDU3LDE0ICs0NjIsMzggQEAgYm9v
bCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0
eXBlLCBjb25zdCBVUkwmIHVybCwKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAK
LSAgICBpZiAoIWNhblJlcXVlc3RJbkNvbnRlbnREaXNwb3NpdGlvbkF0dGFjaG1lbnRTYW5kYm94
KHR5cGUsIHVybCkpCisgICAgLy8gTGFzdCBvZiBhbGwsIGNoZWNrIGZvciBpbnNlY3VyZSBjb250
ZW50LiBXZSBkbyB0aGlzIGxhc3Qgc28gdGhhdCB3aGVuIGZvbGtzIGJsb2NrIGluc2VjdXJlIGNv
bnRlbnQgd2l0aCBhIENTUCBwb2xpY3ksIHRoZXkgZG9uJ3QgZ2V0IGEgd2FybmluZy4KKyAgICAv
LyBUaGV5J2xsIHN0aWxsIGdldCBhIHdhcm5pbmcgaW4gdGhlIGNvbnNvbGUgYWJvdXQgQ1NQIGJs
b2NraW5nIHRoZSBsb2FkLgorCisgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBjb25zaWRlciB3aGV0
aGVyIHRoZSByZXF1ZXN0IGlzIGZvciBwcmVsb2FkIGhlcmU/CisgICAgaWYgKCFjaGVja0luc2Vj
dXJlQ29udGVudCh0eXBlLCB1cmwpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBM
YXN0IG9mIGFsbCwgY2hlY2sgZm9yIGluc2VjdXJlIGNvbnRlbnQuIFdlIGRvIHRoaXMgbGFzdCBz
byB0aGF0IHdoZW4KLSAgICAvLyBmb2xrcyBibG9jayBpbnNlY3VyZSBjb250ZW50IHdpdGggYSBD
U1AgcG9saWN5LCB0aGV5IGRvbid0IGdldCBhIHdhcm5pbmcuCi0gICAgLy8gVGhleSdsbCBzdGls
bCBnZXQgYSB3YXJuaW5nIGluIHRoZSBjb25zb2xlIGFib3V0IENTUCBibG9ja2luZyB0aGUgbG9h
ZC4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLy8gRklYTUU6IFNob3VsZCB3ZSBmaW5kIGEgd2F5
IHRvIGtub3cgd2hldGhlciB0aGUgcmVkaXJlY3Rpb24gaXMgZm9yIGEgcHJlbG9hZCByZXF1ZXN0
IGxpa2Ugd2UgZG8gZm9yIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0PworYm9vbCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdEFmdGVyUmVkaXJlY3Rpb24oQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0
aW9ucyYgb3B0aW9ucykKK3sKKyAgICBpZiAoZG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheSh1cmwpKSB7CisgICAgICAgIEZyYW1lTG9hZGVyOjpy
ZXBvcnRMb2NhbExvYWRGYWlsZWQoZnJhbWUoKSwgdXJsLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRU
b0xlbmd0aCgpKTsKKyAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNl
TG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UgVVJMIHdhcyBub3QgYWxsb3dlZCBieSBTZWN1cml0eU9y
aWdpbjo6Y2FuRGlzcGxheSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
Ly8gRklYTUU6IEFjY29yZGluZyB0byBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jaHR0
cC1yZWRpcmVjdC1mZXRjaCwgd2Ugc2hvdWxkIGNoZWNrIHRoYXQgdGhlIFVSTCBpcyBIVFRQKHMp
IGV4Y2VwdCBpZiBpbiBuYXZpZ2F0aW9uIG1vZGUuCisgICAgLy8gQnV0IHdlIGN1cnJlbnRseSBh
bGxvdyBhdCBsZWFzdCBkYXRhIFVSTHMgdG8gYmUgbG9hZGVkLgogCi0gICAgLy8gRklYTUU6IFNo
b3VsZCB3ZSBjb25zaWRlciBmb3JQcmVsb2FkIGhlcmU/CisgICAgaWYgKG9wdGlvbnMubW9kZSA9
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW4gJiYgIW1fZG9jdW1lbnQtPnNlY3VyaXR5
T3JpZ2luKCktPmNhblJlcXVlc3QodXJsKSkgeworICAgICAgICBwcmludEFjY2Vzc0RlbmllZE1l
c3NhZ2UodXJsKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmICghYWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KHR5cGUsIHVybCwgb3B0aW9ucywgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6OlllcykpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIC8vIExhc3Qgb2YgYWxsLCBjaGVjayBmb3IgaW5zZWN1cmUgY29u
dGVudC4gV2UgZG8gdGhpcyBsYXN0IHNvIHRoYXQgd2hlbiBmb2xrcyBibG9jayBpbnNlY3VyZSBj
b250ZW50IHdpdGggYSBDU1AgcG9saWN5LCB0aGV5IGRvbid0IGdldCBhIHdhcm5pbmcuCisgICAg
Ly8gVGhleSdsbCBzdGlsbCBnZXQgYSB3YXJuaW5nIGluIHRoZSBjb25zb2xlIGFib3V0IENTUCBi
bG9ja2luZyB0aGUgbG9hZC4KICAgICBpZiAoIWNoZWNrSW5zZWN1cmVDb250ZW50KHR5cGUsIHVy
bCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtNDc0LDcgKzUwMyw3IEBAIGJvb2wgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
Y29uc3QgVVJMJiB1cmwsCiBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0SW5D
b250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0
eXBlLCBjb25zdCBVUkwmIHVybCkgY29uc3QKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQ7Ci0g
ICAgCisKICAgICAvLyBGSVhNRTogRG8gd2Ugd2FudCB0byBleHBhbmQgdGhpcyB0byBhbGwgcmVz
b3VyY2UgdHlwZXMgdGhhdCB0aGUgbWl4ZWQgY29udGVudCBjaGVja2VyIHdvdWxkIGNvbnNpZGVy
IGFjdGl2ZSBjb250ZW50PwogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6Ok1haW5SZXNvdXJjZToKQEAgLTYyNCw3ICs2NTMsOCBAQCBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJj
ZShDYWNoZQogCiAgICAgcHJlcGFyZUZldGNoKHR5cGUsIHJlcXVlc3QpOwogCi0gICAgaWYgKCFj
YW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdC5vcHRpb25zKCksIHJlcXVlc3QuZm9yUHJlbG9h
ZCgpKSkgeworICAgIC8vIFdlIGFyZSBwYXNzaW5nIHVybCBhcyB3ZWxsIGFzIHJlcXVlc3QsIGFz
IHJlcXVlc3QgdXJsIG1heSBjb250YWluIGEgZnJhZ21lbnQgaWRlbnRpZmllci4KKyAgICBpZiAo
IWNhblJlcXVlc3QodHlwZSwgdXJsLCByZXF1ZXN0KSkgewogICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJyZXF1ZXN0UmVzb3VyY2U6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3Vy
Y2UgKGZyYW1lID0gJXApIiwgZnJhbWUoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmgKaW5kZXggOThlYTJiYTBiMGY5YjdlMGM5MjU1MjU1MWNiYTNjMjM3NzgzMDE3NC4uZDM4
MzYyNWI4ZWY5MmZlNDEwOWQ0ZTFlMDhlYzI5ODdiZmQ1ZDVlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVk
ZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3Jp
dHkuaCIKICNpbmNsdWRlICJSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKQEAgLTEyMiw3ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkRG9uZShD
YWNoZWRSZXNvdXJjZSosIGJvb2wgc2hvdWxkUGVyZm9ybVBvc3RMb2FkQWN0aW9ucyA9IHRydWUp
OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3Vy
Y2VzKCk7Ci0gICAgCisKICAgICB2b2lkIGluY3JlbWVudFJlcXVlc3RDb3VudChjb25zdCBDYWNo
ZWRSZXNvdXJjZSYpOwogICAgIHZvaWQgZGVjcmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hl
ZFJlc291cmNlJik7CiAgICAgaW50IHJlcXVlc3RDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVx
dWVzdENvdW50OyB9CkBAIC0xMzUsNyArMTM2LDggQEAgcHVibGljOgogICAgIHZvaWQgY2hlY2tG
b3JQZW5kaW5nUHJlbG9hZHMoKTsKICAgICB2b2lkIHByaW50UHJlbG9hZFN0YXRzKCk7CiAKLSAg
ICBib29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYsIGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYsIGJvb2wgZm9yUHJlbG9hZCA9IGZhbHNlLCBib29sIGRp
ZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlID0gZmFsc2UpOworICAgIGJvb2wgY2FuUmVxdWVzdChD
YWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgVVJMJiwgY29uc3QgQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0Jik7CisgICAgYm9vbCBjYW5SZXF1ZXN0QWZ0ZXJSZWRpcmVjdGlvbihDYWNoZWRSZXNvdXJj
ZTo6VHlwZSwgY29uc3QgVVJMJiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJik7CiAKICAg
ICBzdGF0aWMgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBkZWZhdWx0Q2FjaGVkUmVzb3Vy
Y2VPcHRpb25zKCk7CiAKQEAgLTE2NCw3ICsxNjYsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBz
aG91bGRDb250aW51ZUFmdGVyTm90aWZ5aW5nTG9hZGVkRnJvbU1lbW9yeUNhY2hlKGNvbnN0IENh
Y2hlZFJlc291cmNlUmVxdWVzdCYsIENhY2hlZFJlc291cmNlKik7CiAgICAgYm9vbCBjaGVja0lu
c2VjdXJlQ29udGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgVVJMJikgY29uc3Q7Ci0g
ICAgYm9vbCBhbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5
cGUsIGNvbnN0IFVSTCYsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYsIGJvb2wpOworICAg
IGJvb2wgYWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBl
LCBjb25zdCBVUkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCk7CiAKICAgICB2b2lkIHBlcmZvcm1Q
b3N0TG9hZEFjdGlvbnMoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNDI0
MmI4NDRkM2I1NjU2NzZlOGI1MTE1YjBkMjg1YjgxMWI2NmY2Yy4uN2FhMzE4NjY0MGQwYTBiNjFi
YWM0MmZhYjU3OGRhY2Q5MDAyZTYyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTYtMDktMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtGZXRjaCBBUEldIEZvcmJpZCByZWRpcmVjdGlvbiB0byBub24tSFRU
UChzKSBVUkwgaW4gbm9uLW5hdmlnYXRpb24gbW9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9y
ZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29y
a2VyLWV4cGVjdGVkLnR4dDoKKwogMjAxNi0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubmZA
Z21haWwuY29tPgogCiAgICAgICAgIFtGZXRjaCBBUEldIEFkZCBzdXBwb3J0IGZvciBVUkxTZWFy
Y2hQYXJhbXMgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dAppbmRleCA4
MzkxNTQ1NjY5M2M4NjRmNjZiZWNiMGQ1MmMyZmU2MGYyYmM2ZGEwLi5lMGNhZDBmNmEwYWM2YzY5
NzE3Mjk1ZjkwNTQzMzg4ZmU1YmU2ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1k
YXRhdXJsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVj
dGVkLnR4dApAQCAtNCw4ICs0LDggQEAgQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0ZW1wdCB0
byBsb2FkIFVSTCBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmMKIENPTlNPTEUg
TUVTU0FHRTogQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIHRvIGRhdGE6dGV4dC9wbGFpbjtiYXNl
NjQsY21WemNHOXVjMlVuY3lCaWIyUjUgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBT
aGFyaW5nIHBvbGljeTogVVJMIGlzIGVpdGhlciBhIG5vbi1IVFRQIFVSTCBvciBjb250YWlucyBj
cmVkZW50aWFscy4KIAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgc2FtZS1v
cmlnaW4gcmVkaXJlY3Rpb24gKGNvcnMgbW9kZSkgCi1GQUlMIFRlc3RpbmcgZGF0YSBVUkwgbG9h
ZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAobm8tY29ycyBtb2RlKSBhc3NlcnRf
dW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVj
dGlvbiAobm8tY29ycyBtb2RlKSAKIFBBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVy
IHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChzYW1lLW9yaWdpbiBtb2RlKSAKIFBBU1MgVGVzdGlu
ZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiAoY29ycyBt
b2RlKSAKLUZBSUwgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiBy
ZWRpcmVjdGlvbiAobm8tY29ycyBtb2RlKSBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSBy
ZWplY3RlZC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3RpbmcgZGF0YSBVUkwg
bG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCAw
NzRhZDkwYjVlYjRlZjA5NmM0YTg5MmY4YTcyNzdjZWJjYTdkMzJjLi5hMjFiZDc4ZjFjNzQ2NzQ5
MmQ5NGM4Yzc4ZTAyMGJlYmQxZGJkNmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1k
YXRhdXJsLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVy
bC13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC00LDggKzQsOCBAQCBDT05TT0xFIE1FU1NBR0U6IFVu
c2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsY21WemNHOXVj
MlVuYwogQ09OU09MRSBNRVNTQUdFOiBDcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gdG8gZGF0YTp0
ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYjJSNSBkZW5pZWQgYnkgQ3Jvc3MtT3Jp
Z2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5OiBVUkwgaXMgZWl0aGVyIGEgbm9uLUhUVFAgVVJM
IG9yIGNvbnRhaW5zIGNyZWRlbnRpYWxzLgogCiBQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGlu
ZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAoY29ycyBtb2RlKSAKLUZBSUwgVGVzdGlu
ZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3Jz
IG1vZGUpIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUt
b3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIAogUEFTUyBUZXN0aW5nIGRhdGEgVVJM
IGxvYWRpbmcgYWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKHNhbWUtb3JpZ2luIG1vZGUp
IAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGly
ZWN0aW9uIChjb3JzIG1vZGUpIAotRkFJTCBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIg
Y3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIGFzc2VydF91bnJlYWNoZWQ6
IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVz
dGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiAobm8t
Y29ycyBtb2RlKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290799</attachid>
            <date>2016-10-06 02:19:29 -0700</date>
            <delta_ts>2016-10-06 02:22:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162785-20161006111615.patch</filename>
            <type>text/plain</type>
            <size>20939</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMxYWFmMzEyNzM3MDMy
ZjZlMzI4NmZiMmZiMGVjY2Y5YWJhZTI1ZS4uMDJlZGUxYzljOWRkMmRiM2RlMDZjY2VhNzhkNDJm
Y2E5ZjUxNjAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTEwLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBGb3Ji
aWQgcmVkaXJlY3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGluIG5vbi1uYXZpZ2F0aW9uIG1vZGUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3ODUK
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIENvdmVy
ZWQgYnkgcmViYXNlZCBhbmQgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgRW5zdXJpbmcgbm9u
LUhUVFAgcmVkaXJlY3Rpb24gVVJMcyBhcmUgbm90IGZvbGxvd2VkIGF0IERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlciBsZXZlbCBmb3IgZmV0Y2ggQVBJIG9ubHkuCisgICAgICAgIFRoaXMgc2hvdWxk
IGJlIGFwcGxpZWQgdG8gYWxsIGNsaWVudHMgYXQgc29tZSBwb2ludCwgYnV0IHRoZXJlIGlzIHN0
aWxsIHNvbWUgdW5jZXJ0YWludHkgZm9yIGRhdGEgVVJMcy4KKworICAgICAgICBEaWQgc29tZSBy
ZWZhY3RvcmluZyB0byBiZXR0ZXIgc2VwYXJhdGUgdGhlIGNhc2Ugb2Ygc2VjdXJpdHkgY2hlY2tz
IGluIGNhc2Ugb2YgcmVndWxhciByZXF1ZXN0IG9yIHJlZGlyZWN0ZWQgcmVxdWVzdC4KKyAgICAg
ICAgVGhpcyBhbGxvd3MgaW4gcGFydGljdWxhciB0byBoYW5kbGUgbW9yZSBjbGVhcmx5IHRoZSBj
YXNlIG9mIGRhdGEgVVJMcyB3aGljaCBhcmUgYWxsb3dlZCBpbiBhbGwgbW9kZXMgZm9yIHJlZ3Vs
YXIgcmVxdWVzdHMuCisgICAgICAgIEJ1dCB0aGV5IGFyZSBub3QgYWxsb3dlZCBmb3Igc2FtZS1v
cmlnaW4gcmVkaXJlY3RlZCByZXF1ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFJlZGlyZWN0aW9uV2l0aEJhZFNjaGVt
ZSk6IFJlcG9ydGluZyBiYWQgc2NoZW1lIHJlZGlyZWN0aW9uIGVycm9yLgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVjdFJlY2VpdmVkKTogQ2hlY2tp
bmcgdGhhdCByZWRpcmVjdGlvbiBVUkxzIGFyZSBIVFRQKHMpIGluIGNhc2Ugb2YgRmV0Y2ggQVBJ
LgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVudCk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5
UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OmlzU2FtZU9yaWdpbkRhdGFVUkwpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3RBZnRlclJlZGlyZWN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0SW5D
b250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveCk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKwogMjAxNi0xMC0wNSAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIERpc3BsYXkgUDMgQ29sb3JTcGFjZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYyNzMyNzdiZDMyYTZkNGYzYjQyNWZlZmY0ZTE1NTgwZWE4YzkzNDMuLjEyYzU1NDZmZmVm
Y2M1YTQwZTgzMDNmMWRkNmJkMDQ1MjFiYzZiMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3OTUsNyArNTc5NSw3IEBACiAJ
CUNFMjg0OTg3MUNBMzYwREYwMEI0QTU3RiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0UyODQ5ODYxQ0EzNjBERjAwQjRBNTdGIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZU5hbWVzLmggKi87IH07CiAJCUNFMjg0OTg5MUNBMzYxNDYwMEI0QTU3RiAvKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI4NDk4ODFDQTM2MTQ2MDBCNEE1N0YgLyogQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMuY3BwICovOyB9OwogCQlDRTZEQURGOTFDNTkxRTZB
MDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNkRBREY3MUM1OTFF
NkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwICov
OyB9OwotCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTZEQURGODFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLmggKi87IH07CisJCUNFNkRBREZBMUM1OTFFNkEwMDNGNkE4OCAvKiBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNkRBREY4MUM1OTFFNkEwMDNGNkE4OCAvKiBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTc5OUY5NzFDNkE0NkJDMDA5N0I1MTgg
LyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTc5OUY5NTFDNkE0NkJDMDA5N0I1MTggLyog
Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAgKi87IH07CiAJCUNFNzk5Rjk4MUM2
QTQ2QkMwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTc5OUY5NjFDNkE0NkJD
MDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5oICovOyB9OwogCQlD
RTc5OUY5QjFDNkE0QkNEMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTc5OUY5OTFDNkE0QkNEMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdC5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDNmNmNiYWEyNjI5ZTM0ZGQyOTBhZDdhYjAwNmFiOTE3
NGM3ZWU1MTkuLjM5OGY4YzEwZDVkZWJmNzMzNzk5NWNiZTFjYmYyNWJkMDdjYjI5M2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CkBAIC0yMTYsMTIgKzIxNiwyNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcmVwb3J0Q3Jvc3NPcmln
aW5SZXNvdXJjZVNoYXJpbmdFcnJvcihUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JgogICAgIGNsaWVu
dC5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgdXJs
LCAiQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3Vy
Y2UgU2hhcmluZyBwb2xpY3kuIiwgUmVzb3VyY2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCkp
OwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgcmVwb3J0UmVkaXJlY3Rpb25XaXRoQmFkU2NoZW1l
KFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVVJMJiB1cmwpCit7CisgICAg
Y2xpZW50LmRpZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvckRvbWFpbldlYktpdEludGVybmFsLCAw
LCB1cmwsICJSZWRpcmVjdGlvbiB0byBVUkwgd2l0aCBhIHNjaGVtZSB0aGF0IGlzIG5vdCBIVFRQ
KFMpLiIsIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wpKTsKK30KKwogdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKICAgICBBU1NF
UlRfVU5VU0VEKHJlc291cmNlLCByZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsKIAogICAgIFJlZjxE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOworCisgICAgLy8g
RklYTUU6IFdlIHJlc3RyaWN0IHRoaXMgY2hlY2sgdG8gRmV0Y2ggQVBJIGZvciB0aGUgbW9tZW50
LCBhcyB0aGlzIG1pZ2h0IGRpc3J1cHQgV29ya2VyU2NyaXB0TG9hZGVyLgorICAgIC8vIFJlYXNz
ZXNzIHRoaXMgY2hlY2sgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9mZXRjaC9p
c3N1ZXMvMzkzIGRpc2N1c3Npb25zLgorICAgIC8vIFdlIHNob3VsZCBhbHNvIGRpc2FibGUgdGhh
dCBjaGVjayBpbiBuYXZpZ2F0aW9uIG1vZGUuCisgICAgaWYgKCFyZXF1ZXN0LnVybCgpLnByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkoKSAmJiBtX29wdGlvbnMuaW5pdGlhdG9yID09IGNhY2hlZFJlc291
cmNlUmVxdWVzdEluaXRpYXRvcnMoKS5mZXRjaCkgeworICAgICAgICByZXBvcnRSZWRpcmVjdGlv
bldpdGhCYWRTY2hlbWUoKm1fY2xpZW50LCByZXF1ZXN0LnVybCgpKTsKKyAgICAgICAgY2xlYXJS
ZXNvdXJjZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFpc0FsbG93ZWRC
eUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1ZXN0LnVybCgpLCByZWRpcmVjdFJlc3BvbnNlLmlz
TnVsbCgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6
Ok5vIDogQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Olll
cykpIHsKICAgICAgICAgcmVwb3J0Q29udGVudFNlY3VyaXR5UG9saWN5RXJyb3IoKm1fY2xpZW50
LCByZWRpcmVjdFJlc3BvbnNlLnVybCgpKTsKICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTliNjJlZGNl
YWExMjU0ZThkMjIzMmI3ZjQ3ZTA4YWI1MDNhODdiZC4uYjZlODNkMDdiNThmYmQzZjgzMmE5Njc1
NWI4ZDEzNTc0MzEyYjhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0yMDAsNyArMjAwLDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb24KICAg
ICAgICAgICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCku
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6Y2Fj
aGVkUmVzb3VyY2VSZXZhbGlkYXRpb25LZXkoKSwgZW1wdHlTdHJpbmcoKSwgRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRGYWlsLCBTaG91bGRTYW1wbGU6Olllcyk7CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCkuY2FuUmVxdWVz
dChtX3Jlc291cmNlLT50eXBlKCksIG5ld1JlcXVlc3QudXJsKCksIG9wdGlvbnMoKSwgZmFsc2Ug
LyogZm9yUHJlbG9hZCAqLywgdHJ1ZSAvKiBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSAqLykp
IHsKKyAgICAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
LmNhblJlcXVlc3RBZnRlclJlZGlyZWN0aW9uKG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3UmVxdWVz
dC51cmwoKSwgb3B0aW9ucygpKSkgewogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM3Y2E3YzA4ZGM3YTlhNmQzYjQ2OGE2
ZjQxZWQxOWY0MTFiODk1MTQuLjg2MGU1YjNhNTA0OWQ1Y2ExZTI1NmNjYjA3MDJmODg3MmZiMGRj
YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKENhY2hlZFJlc291
CiAgICAgICAgICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCkp
CiAgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdy
YWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0
KCksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7CiAg
ICAgICAgICAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJs
KCk7Ci0gICAgICAgICAgICBpZiAocmVxdWVzdFVSTC5pc1ZhbGlkKCkgJiYgY2FuUmVxdWVzdChD
YWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdFVSTCwgcmVxdWVzdC5vcHRpb25z
KCksIHJlcXVlc3QuZm9yUHJlbG9hZCgpKSkKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0VVJMLmlz
VmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCByZXF1
ZXN0VVJMLCByZXF1ZXN0KSkKICAgICAgICAgICAgICAgICBQaW5nTG9hZGVyOjpsb2FkSW1hZ2Uo
KmZyYW1lLCByZXF1ZXN0VVJMKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAg
ICB9CkBAIC0zMzMsNiArMzMzLDEwIEBAIHN0YXRpYyBNaXhlZENvbnRlbnRDaGVja2VyOjpDb250
ZW50VHlwZSBjb250ZW50VHlwZUZyb21SZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyCiAKIGJvb2wg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNl
OjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsKSBjb25zdAogeworCisgICAgaWYgKCFjYW5SZXF1
ZXN0SW5Db250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveCh0eXBlLCB1cmwpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpTY3JpcHQ6CiAjaWYgRU5BQkxFKFhTTFQpCkBAIC0zNzksMTIgKzM4Myw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJl
c291cmNlOjpUeXBlIHR5cGUsIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBpc1NhbWVPcmlnaW5EYXRhVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNv
dXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9u
c2UpCi17Ci0gICAgcmV0dXJuICFkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSAmJiB1cmwucHJv
dG9jb2xJc0RhdGEoKSAmJiBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9PSBTYW1lT3Jp
Z2luRGF0YVVSTEZsYWc6OlNldDsKLX0KLQotYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGJvb2wg
ZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpCitib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjph
bGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNw
b25zZVJlY2VpdmVkKQogewogICAgIGlmIChvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUlt
cG9zaXRpb24gPT0gQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6U2tpcFBvbGljeUNo
ZWNrKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM5Miw4ICszOTEsNiBAQCBib29sIENhY2hl
ZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdAogICAgIEFTU0VSVChtX2RvY3VtZW50KTsKICAgICBBU1NFUlQobV9kb2N1
bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogCi0gICAgYXV0byByZWRpcmVjdFJlc3Bv
bnNlUmVjZWl2ZWQgPSBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSA/IENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMgOiBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm87Ci0KICAgICBzd2l0Y2ggKHR5cGUp
IHsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNo
ZWV0OgpAQCAtNDMwLDI1ICs0MjcsMzMgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlIHQKICAgICBk
ZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CisKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNo
ZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zJiBvcHRpb25zLCBib29sIGZvclByZWxvYWQsIGJvb2wgZGlkUmVjZWl2ZVJlZGly
ZWN0UmVzcG9uc2UpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNTYW1lT3JpZ2luRGF0YVVSTChjb25z
dCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQogeworICAg
IC8vIEZJWE1FOiBSZW1vdmUgc2FtZS1vcmlnaW4gZGF0YSBVUkwgZmxhZyBzaW5jZSBpdCB3YXMg
cmVtb3ZlZCBmcm9tIGZldGNoIHNwZWMgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gv
aXNzdWVzLzM4MSkuCisgICAgcmV0dXJuIHVybC5wcm90b2NvbElzRGF0YSgpICYmIG9wdGlvbnMu
c2FtZU9yaWdpbkRhdGFVUkxGbGFnID09IFNhbWVPcmlnaW5EYXRhVVJMRmxhZzo6U2V0OworfQor
Citib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QpCit7CisgICAgYXV0byYgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9ucygpOworCiAgICAg
aWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3Bs
YXkodXJsKSkgewotICAgICAgICBpZiAoIWZvclByZWxvYWQpCisgICAgICAgIGlmICghcmVxdWVz
dC5mb3JQcmVsb2FkKCkpCiAgICAgICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2Fk
RmFpbGVkKGZyYW1lKCksIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAg
ICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dFJlc291cmNlIFVSTCB3YXMgbm90IGFsbG93ZWQgYnkgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3Bs
YXkiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBSZW1v
dmUgc2FtZS1vcmlnaW4gZGF0YSBVUkwgZmxhZyBzaW5jZSBpdCB3YXMgcmVtb3ZlZCBmcm9tIGZl
dGNoIHNwZWMgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2ZldGNoL2lzc3Vlcy8zODEp
LgotICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2lu
ICYmICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVybCwgb3B0aW9ucywgZGlkUmVjZWl2ZVJlZGlyZWN0
UmVzcG9uc2UpICYmICFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVy
bCkpIHsKKyAgICBpZiAob3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9y
aWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdCh1cmwpICYm
ICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVybCwgb3B0aW9ucykpIHsKICAgICAgICAgcHJpbnRBY2Nl
c3NEZW5pZWRNZXNzYWdlKHVybCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9wdGlvbnMs
IGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSkKKyAgICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRT
ZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIC8vIFNWRyBJbWFnZXMgaGF2ZSB1bmlxdWUgc2VjdXJpdHkgcnVsZXMgdGhhdCBwcmV2ZW50
IGFsbCBzdWJyZXNvdXJjZSByZXF1ZXN0cyBleGNlcHQgZm9yIGRhdGEgdXJscy4KQEAgLTQ1Nywx
NCArNDYyLDM4IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwsCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKCFjYW5SZXF1ZXN0SW5Db250ZW50RGlzcG9zaXRpb25B
dHRhY2htZW50U2FuZGJveCh0eXBlLCB1cmwpKQorICAgIC8vIExhc3Qgb2YgYWxsLCBjaGVjayBm
b3IgaW5zZWN1cmUgY29udGVudC4gV2UgZG8gdGhpcyBsYXN0IHNvIHRoYXQgd2hlbiBmb2xrcyBi
bG9jayBpbnNlY3VyZSBjb250ZW50IHdpdGggYSBDU1AgcG9saWN5LCB0aGV5IGRvbid0IGdldCBh
IHdhcm5pbmcuCisgICAgLy8gVGhleSdsbCBzdGlsbCBnZXQgYSB3YXJuaW5nIGluIHRoZSBjb25z
b2xlIGFib3V0IENTUCBibG9ja2luZyB0aGUgbG9hZC4KKworICAgIC8vIEZJWE1FOiBTaG91bGQg
d2UgY29uc2lkZXIgd2hldGhlciB0aGUgcmVxdWVzdCBpcyBmb3IgcHJlbG9hZCBoZXJlPworICAg
IGlmICghY2hlY2tJbnNlY3VyZUNvbnRlbnQodHlwZSwgdXJsKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgLy8gTGFzdCBvZiBhbGwsIGNoZWNrIGZvciBpbnNlY3VyZSBjb250ZW50LiBX
ZSBkbyB0aGlzIGxhc3Qgc28gdGhhdCB3aGVuCi0gICAgLy8gZm9sa3MgYmxvY2sgaW5zZWN1cmUg
Y29udGVudCB3aXRoIGEgQ1NQIHBvbGljeSwgdGhleSBkb24ndCBnZXQgYSB3YXJuaW5nLgotICAg
IC8vIFRoZXknbGwgc3RpbGwgZ2V0IGEgd2FybmluZyBpbiB0aGUgY29uc29sZSBhYm91dCBDU1Ag
YmxvY2tpbmcgdGhlIGxvYWQuCisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8vIEZJWE1FOiBTaG91
bGQgd2UgZmluZCBhIHdheSB0byBrbm93IHdoZXRoZXIgdGhlIHJlZGlyZWN0aW9uIGlzIGZvciBh
IHByZWxvYWQgcmVxdWVzdCBsaWtlIHdlIGRvIGZvciBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2Fu
UmVxdWVzdD8KK2Jvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3RBZnRlclJlZGly
ZWN0aW9uKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgaWYgKGRvY3VtZW50KCkgJiYg
IWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgeworICAgICAg
ICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKGZyYW1lKCksIHVybC5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CisgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcs
ICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlIFVSTCB3YXMgbm90IGFsbG93
ZWQgYnkgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIC8vIEZJWE1FOiBBY2NvcmRpbmcgdG8gaHR0cHM6Ly9mZXRjaC5zcGVj
LndoYXR3Zy5vcmcvI2h0dHAtcmVkaXJlY3QtZmV0Y2gsIHdlIHNob3VsZCBjaGVjayB0aGF0IHRo
ZSBVUkwgaXMgSFRUUChzKSBleGNlcHQgaWYgaW4gbmF2aWdhdGlvbiBtb2RlLgorICAgIC8vIEJ1
dCB3ZSBjdXJyZW50bHkgYWxsb3cgYXQgbGVhc3QgZGF0YSBVUkxzIHRvIGJlIGxvYWRlZC4KIAot
ICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgY29uc2lkZXIgZm9yUHJlbG9hZCBoZXJlPworICAgIGlm
IChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luICYmICFtX2Rv
Y3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpIHsKKyAgICAgICAgcHJp
bnRBY2Nlc3NEZW5pZWRNZXNzYWdlKHVybCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9w
dGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZ
ZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBMYXN0IG9mIGFsbCwgY2hlY2sg
Zm9yIGluc2VjdXJlIGNvbnRlbnQuIFdlIGRvIHRoaXMgbGFzdCBzbyB0aGF0IHdoZW4gZm9sa3Mg
YmxvY2sgaW5zZWN1cmUgY29udGVudCB3aXRoIGEgQ1NQIHBvbGljeSwgdGhleSBkb24ndCBnZXQg
YSB3YXJuaW5nLgorICAgIC8vIFRoZXknbGwgc3RpbGwgZ2V0IGEgd2FybmluZyBpbiB0aGUgY29u
c29sZSBhYm91dCBDU1AgYmxvY2tpbmcgdGhlIGxvYWQuCiAgICAgaWYgKCFjaGVja0luc2VjdXJl
Q29udGVudCh0eXBlLCB1cmwpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTQ3NCw3ICs1
MDMsNyBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLAogYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2FuUmVxdWVzdEluQ29udGVudERpc3Bvc2l0aW9uQXR0YWNobWVudFNhbmRib3goQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwpIGNvbnN0CiB7CiAgICAgRG9jdW1l
bnQqIGRvY3VtZW50OwotICAgIAorCiAgICAgLy8gRklYTUU6IERvIHdlIHdhbnQgdG8gZXhwYW5k
IHRoaXMgdG8gYWxsIHJlc291cmNlIHR5cGVzIHRoYXQgdGhlIG1peGVkIGNvbnRlbnQgY2hlY2tl
ciB3b3VsZCBjb25zaWRlciBhY3RpdmUgY29udGVudD8KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6CkBAIC02MjQsNyArNjUzLDggQEAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKIAogICAgIHByZXBhcmVGZXRjaCh0eXBlLCByZXF1ZXN0
KTsKIAotICAgIGlmICghY2FuUmVxdWVzdCh0eXBlLCB1cmwsIHJlcXVlc3Qub3B0aW9ucygpLCBy
ZXF1ZXN0LmZvclByZWxvYWQoKSkpIHsKKyAgICAvLyBXZSBhcmUgcGFzc2luZyB1cmwgYXMgd2Vs
bCBhcyByZXF1ZXN0LCBhcyByZXF1ZXN0IHVybCBtYXkgY29udGFpbiBhIGZyYWdtZW50IGlkZW50
aWZpZXIuCisgICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdCkpIHsKICAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVxdWVzdFJlc291cmNlOiBOb3QgYWxsb3dlZCB0
byByZXF1ZXN0IHJlc291cmNlIChmcmFtZSA9ICVwKSIsIGZyYW1lKCkpOwogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDk4ZWEyYmEwYjBmOWI3ZTBjOTI1NTI1NTFjYmEz
YzIzNzc4MzAxNzQuLmQzODM2MjViOGVmOTJmZTQxMDlkNGUxZTA4ZWMyOTg3YmZkNWQ1ZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVx
dWVzdC5oIgorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIlJl
c291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bi5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBAIC0xMjIsNyArMTIzLDcgQEAgcHVibGljOgogICAg
IHZvaWQgbG9hZERvbmUoQ2FjaGVkUmVzb3VyY2UqLCBib29sIHNob3VsZFBlcmZvcm1Qb3N0TG9h
ZEFjdGlvbnMgPSB0cnVlKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2FyYmFnZUNvbGxl
Y3REb2N1bWVudFJlc291cmNlcygpOwotICAgIAorCiAgICAgdm9pZCBpbmNyZW1lbnRSZXF1ZXN0
Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIGRlY3JlbWVudFJlcXVlc3RD
b3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSYpOwogICAgIGludCByZXF1ZXN0Q291bnQoKSBjb25z
dCB7IHJldHVybiBtX3JlcXVlc3RDb3VudDsgfQpAQCAtMTM1LDcgKzEzNiw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxv
YWRTdGF0cygpOwogCi0gICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBj
b25zdCBVUkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBib29sIGZvclByZWxvYWQg
PSBmYWxzZSwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSA9IGZhbHNlKTsKKyAgICBi
b29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYsIGNvbnN0IENh
Y2hlZFJlc291cmNlUmVxdWVzdCYpOworICAgIGJvb2wgY2FuUmVxdWVzdEFmdGVyUmVkaXJlY3Rp
b24oQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYsIGNvbnN0IFJlc291cmNlTG9hZGVy
T3B0aW9ucyYpOwogCiAgICAgc3RhdGljIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpOwogCkBAIC0xNjQsNyArMTY2LDcgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgc2hvdWxkQ29udGludWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1v
cnlDYWNoZShjb25zdCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZWRSZXNvdXJjZSopOwog
ICAgIGJvb2wgY2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0
IFVSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENh
Y2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBVUkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMmLCBib29sKTsKKyAgICBib29sIGFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShDYWNo
ZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgVVJMJiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25z
JiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQpOwogCiAg
ICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDdjYTk4ZjAyZGJjYmJhYTMwY2Q1OGU0NGQwYTlkMjYyZDJjZWI1NTYuLjk3
YWZmNzMzNmExM2UwY2E3NDU3ZjNkYWMxMmNhODYzYTA4ZDBhYWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTEwLTA2ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBGb3JiaWQgcmVkaXJl
Y3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGluIG5vbi1uYXZpZ2F0aW9uIG1vZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVj
dC10by1kYXRhdXJsLXdvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTAtMDUgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wb3J0IHYxIGN1c3RvbSBlbGVt
ZW50cyB0ZXN0cyBmcm9tIFczQwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVy
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dApp
bmRleCA4MzkxNTQ1NjY5M2M4NjRmNjZiZWNiMGQ1MmMyZmU2MGYyYmM2ZGEwLi5lMGNhZDBmNmEw
YWM2YzY5NzE3Mjk1ZjkwNTQzMzg4ZmU1YmU2ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVj
dC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJs
LWV4cGVjdGVkLnR4dApAQCAtNCw4ICs0LDggQEAgQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgYXR0
ZW1wdCB0byBsb2FkIFVSTCBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmMKIENP
TlNPTEUgTUVTU0FHRTogQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIHRvIGRhdGE6dGV4dC9wbGFp
bjtiYXNlNjQsY21WemNHOXVjMlVuY3lCaWIyUjUgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeTogVVJMIGlzIGVpdGhlciBhIG5vbi1IVFRQIFVSTCBvciBjb250
YWlucyBjcmVkZW50aWFscy4KIAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIg
c2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKGNvcnMgbW9kZSkgCi1GQUlMIFRlc3RpbmcgZGF0YSBV
UkwgbG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAobm8tY29ycyBtb2RlKSBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZC4gUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiBy
ZWRpcmVjdGlvbiAobm8tY29ycyBtb2RlKSAKIFBBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5n
IGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChzYW1lLW9yaWdpbiBtb2RlKSAKIFBBU1Mg
VGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiAo
Y29ycyBtb2RlKSAKLUZBSUwgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9y
aWdpbiByZWRpcmVjdGlvbiAobm8tY29ycyBtb2RlKSBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQg
aGF2ZSByZWplY3RlZC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3RpbmcgZGF0
YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9k
ZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCAwNzRhZDkwYjVlYjRlZjA5NmM0YTg5MmY4YTcyNzdjZWJjYTdkMzJjLi5hMjFiZDc4ZjFj
NzQ2NzQ5MmQ5NGM4Yzc4ZTAyMGJlYmQxZGJkNmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVj
dC10by1kYXRhdXJsLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8t
ZGF0YXVybC13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC00LDggKzQsOCBAQCBDT05TT0xFIE1FU1NB
R0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsY21W
emNHOXVjMlVuYwogQ09OU09MRSBNRVNTQUdFOiBDcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gdG8g
ZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYjJSNSBkZW5pZWQgYnkgQ3Jv
c3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5OiBVUkwgaXMgZWl0aGVyIGEgbm9uLUhU
VFAgVVJMIG9yIGNvbnRhaW5zIGNyZWRlbnRpYWxzLgogCiBQQVNTIFRlc3RpbmcgZGF0YSBVUkwg
bG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAoY29ycyBtb2RlKSAKLUZBSUwg
VGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChu
by1jb3JzIG1vZGUpIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVy
IHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIAogUEFTUyBUZXN0aW5nIGRh
dGEgVVJMIGxvYWRpbmcgYWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKHNhbWUtb3JpZ2lu
IG1vZGUpIAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgY3Jvc3Mtb3JpZ2lu
IHJlZGlyZWN0aW9uIChjb3JzIG1vZGUpIAotRkFJTCBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcg
YWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIGFzc2VydF91bnJl
YWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BB
U1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiByZWRpcmVjdGlv
biAobm8tY29ycyBtb2RlKSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290800</attachid>
            <date>2016-10-06 02:22:34 -0700</date>
            <delta_ts>2016-10-06 02:28:53 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162785-20161006111919.patch</filename>
            <type>text/plain</type>
            <size>22054</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
Nzc0NWFhNTYwNGUyZWViMjQ4NmY3ZjY4OWNhZDY2NWRhMWFmZWVjLi5hZDQzODFjNTc0MTE1YTI3
Y2MwY2Y5MDcyNTdmZWYxNWFhYzllYmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNCBAQAogMjAxNi0xMC0wNSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBVbnJldmlld2VkLCBhdHRlbXB0IHRvIGZpeCBDTG9vcCBidWlsZCBh
ZnRlciByMjA2ODQ2CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjI5NDEKKworICAgICAgICBBdHRlbXB0IHRvIGZpeCBDTG9vcCBidWlsZCBwYXJ0IDIu
IHIyMDY4NDcgd2FzIG5vdCB2YWxpZC4KKworICAgICAgICAqIGpzYy5jcHA6CisKKzIwMTYtMTAt
MDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKICAgICAgICAgVW5y
ZXZpZXdlZCwgYnVpbGQgZml4IGFmdGVyIHIyMDY4NDYKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjk0MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMxYWFmMzEy
NzM3MDMyZjZlMzI4NmZiMmZiMGVjY2Y5YWJhZTI1ZS4uMDJlZGUxYzljOWRkMmRiM2RlMDZjY2Vh
NzhkNDJmY2E5ZjUxNjAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTEwLTA2
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJ
XSBGb3JiaWQgcmVkaXJlY3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGluIG5vbi1uYXZpZ2F0aW9u
IG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjI3ODUKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAg
IENvdmVyZWQgYnkgcmViYXNlZCBhbmQgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgRW5zdXJp
bmcgbm9uLUhUVFAgcmVkaXJlY3Rpb24gVVJMcyBhcmUgbm90IGZvbGxvd2VkIGF0IERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlciBsZXZlbCBmb3IgZmV0Y2ggQVBJIG9ubHkuCisgICAgICAgIFRoaXMg
c2hvdWxkIGJlIGFwcGxpZWQgdG8gYWxsIGNsaWVudHMgYXQgc29tZSBwb2ludCwgYnV0IHRoZXJl
IGlzIHN0aWxsIHNvbWUgdW5jZXJ0YWludHkgZm9yIGRhdGEgVVJMcy4KKworICAgICAgICBEaWQg
c29tZSByZWZhY3RvcmluZyB0byBiZXR0ZXIgc2VwYXJhdGUgdGhlIGNhc2Ugb2Ygc2VjdXJpdHkg
Y2hlY2tzIGluIGNhc2Ugb2YgcmVndWxhciByZXF1ZXN0IG9yIHJlZGlyZWN0ZWQgcmVxdWVzdC4K
KyAgICAgICAgVGhpcyBhbGxvd3MgaW4gcGFydGljdWxhciB0byBoYW5kbGUgbW9yZSBjbGVhcmx5
IHRoZSBjYXNlIG9mIGRhdGEgVVJMcyB3aGljaCBhcmUgYWxsb3dlZCBpbiBhbGwgbW9kZXMgZm9y
IHJlZ3VsYXIgcmVxdWVzdHMuCisgICAgICAgIEJ1dCB0aGV5IGFyZSBub3QgYWxsb3dlZCBmb3Ig
c2FtZS1vcmlnaW4gcmVkaXJlY3RlZCByZXF1ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFJlZGlyZWN0aW9uV2l0aEJh
ZFNjaGVtZSk6IFJlcG9ydGluZyBiYWQgc2NoZW1lIHJlZGlyZWN0aW9uIGVycm9yLgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVjdFJlY2VpdmVkKTog
Q2hlY2tpbmcgdGhhdCByZWRpcmVjdGlvbiBVUkxzIGFyZSBIVFRQKHMpIGluIGNhc2Ugb2YgRmV0
Y2ggQVBJLgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNl
Y3VyaXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OmlzU2FtZU9yaWdpbkRhdGFVUkwpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3RBZnRlclJlZGly
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1
ZXN0SW5Db250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveCk6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKwogMjAxNi0xMC0wNSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIERpc3BsYXkgUDMgQ29sb3JT
cGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCA3ZDU4YWEyMTUyODc2YTAyMTk4YjQxZWJmYTI3
OWQ3MjNmYzZjMjIzLi5hZDdjOTlhZDE0MDU2ZTA0ZTcwNjU0Zjk5Y2Y5YWFiMzM4YzEyNjZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcApAQCAtNjMzLDggKzYzMyw4IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgcmV0dXJuIHBhdGNocG9pbnQ7CiAgICAgICAgIH0KLSAgICB9
OwogI2VuZGlmCisgICAgfTsKIAogICAgIHN0YXRpYyBET01KSVQ6OkdldHRlclNldHRlciogZG9t
SklUTm9kZUdldHRlclNldHRlcigpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYyNzMyNzdiZDMyYTZkNGYzYjQyNWZl
ZmY0ZTE1NTgwZWE4YzkzNDMuLjEyYzU1NDZmZmVmY2M1YTQwZTgzMDNmMWRkNmJkMDQ1MjFiYzZi
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTU3OTUsNyArNTc5NSw3IEBACiAJCUNFMjg0OTg3MUNBMzYwREYwMEI0QTU3RiAv
KiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyODQ5ODYxQ0EzNjBERjAwQjRBNTdGIC8q
IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzLmggKi87IH07CiAJCUNFMjg0OTg5
MUNBMzYxNDYwMEI0QTU3RiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lcy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI4NDk4
ODFDQTM2MTQ2MDBCNEE1N0YgLyogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMu
Y3BwICovOyB9OwogCQlDRTZEQURGOTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFNkRBREY3MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwICovOyB9OwotCQlDRTZEQURGQTFDNTkxRTZBMDAz
RjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTZEQURGODFDNTkxRTZBMDAz
RjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggKi87IH07CisJ
CUNFNkRBREZBMUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENFNkRBREY4MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDRTc5OUY5NzFDNkE0NkJDMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5U291
cmNlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTc5OUY5NTFDNkE0NkJDMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNl
TGlzdC5jcHAgKi87IH07CiAJCUNFNzk5Rjk4MUM2QTQ2QkMwMDk3QjUxOCAvKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3lTb3VyY2VMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTc5OUY5NjFDNkE0NkJDMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5
UG9saWN5U291cmNlTGlzdC5oICovOyB9OwogCQlDRTc5OUY5QjFDNkE0QkNEMDA5N0I1MTggLyog
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTc5OUY5OTFDNkE0QkNEMDA5N0I1MTggLyog
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAgKi87IH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDNm
NmNiYWEyNjI5ZTM0ZGQyOTBhZDdhYjAwNmFiOTE3NGM3ZWU1MTkuLjM5OGY4YzEwZDVkZWJmNzMz
Nzk5NWNiZTFjYmYyNWJkMDdjYjI5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0yMTYsMTIgKzIxNiwyNyBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgcmVwb3J0Q3Jvc3NPcmlnaW5SZXNvdXJjZVNoYXJpbmdFcnJvcihUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50JgogICAgIGNsaWVudC5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJy
b3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgdXJsLCAiQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9u
IGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIiwgUmVzb3Vy
Y2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCkpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQg
cmVwb3J0UmVkaXJlY3Rpb25XaXRoQmFkU2NoZW1lKFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNs
aWVudCwgY29uc3QgVVJMJiB1cmwpCit7CisgICAgY2xpZW50LmRpZEZhaWwoUmVzb3VyY2VFcnJv
cihlcnJvckRvbWFpbldlYktpdEludGVybmFsLCAwLCB1cmwsICJSZWRpcmVjdGlvbiB0byBVUkwg
d2l0aCBhIHNjaGVtZSB0aGF0IGlzIG5vdCBIVFRQKFMpLiIsIFJlc291cmNlRXJyb3I6OlR5cGU6
OkFjY2Vzc0NvbnRyb2wpKTsKK30KKwogdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJl
ZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAg
ICAgQVNTRVJUKG1fY2xpZW50KTsKICAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCByZXNvdXJj
ZSA9PSBtX3Jlc291cmNlKTsKIAogICAgIFJlZjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IHBy
b3RlY3RlZFRoaXMoKnRoaXMpOworCisgICAgLy8gRklYTUU6IFdlIHJlc3RyaWN0IHRoaXMgY2hl
Y2sgdG8gRmV0Y2ggQVBJIGZvciB0aGUgbW9tZW50LCBhcyB0aGlzIG1pZ2h0IGRpc3J1cHQgV29y
a2VyU2NyaXB0TG9hZGVyLgorICAgIC8vIFJlYXNzZXNzIHRoaXMgY2hlY2sgYmFzZWQgb24gaHR0
cHM6Ly9naXRodWIuY29tL3doYXR3Zy9mZXRjaC9pc3N1ZXMvMzkzIGRpc2N1c3Npb25zLgorICAg
IC8vIFdlIHNob3VsZCBhbHNvIGRpc2FibGUgdGhhdCBjaGVjayBpbiBuYXZpZ2F0aW9uIG1vZGUu
CisgICAgaWYgKCFyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSAmJiBtX29w
dGlvbnMuaW5pdGlhdG9yID09IGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMoKS5mZXRj
aCkgeworICAgICAgICByZXBvcnRSZWRpcmVjdGlvbldpdGhCYWRTY2hlbWUoKm1fY2xpZW50LCBy
ZXF1ZXN0LnVybCgpKTsKKyAgICAgICAgY2xlYXJSZXNvdXJjZSgpOworICAgICAgICByZXR1cm47
CisgICAgfQorCiAgICAgaWYgKCFpc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1
ZXN0LnVybCgpLCByZWRpcmVjdFJlc3BvbnNlLmlzTnVsbCgpID8gQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vIDogQ29udGVudFNlY3VyaXR5UG9saWN5
OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6OlllcykpIHsKICAgICAgICAgcmVwb3J0Q29udGVu
dFNlY3VyaXR5UG9saWN5RXJyb3IoKm1fY2xpZW50LCByZWRpcmVjdFJlc3BvbnNlLnVybCgpKTsK
ICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggNTliNjJlZGNlYWExMjU0ZThkMjIzMmI3ZjQ3ZTA4YWI1MDNh
ODdiZC4uYjZlODNkMDdiNThmYmQzZjgzMmE5Njc1NWI4ZDEzNTc0MzEyYjhhMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMDAsNyArMjAwLDcg
QEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3Vy
Y2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb24KICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5wYWdl
KCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6Y2FjaGVkUmVzb3VyY2VSZXZhbGlkYXRpb25LZXko
KSwgZW1wdHlTdHJpbmcoKSwgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsLCBTaG91bGRTYW1w
bGU6Olllcyk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNh
Y2hlZFJlc291cmNlTG9hZGVyKCkuY2FuUmVxdWVzdChtX3Jlc291cmNlLT50eXBlKCksIG5ld1Jl
cXVlc3QudXJsKCksIG9wdGlvbnMoKSwgZmFsc2UgLyogZm9yUHJlbG9hZCAqLywgdHJ1ZSAvKiBk
aWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSAqLykpIHsKKyAgICAgICAgaWYgKCFtX2RvY3VtZW50
TG9hZGVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLmNhblJlcXVlc3RBZnRlclJlZGlyZWN0aW9u
KG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3UmVxdWVzdC51cmwoKSwgb3B0aW9ucygpKSkgewogICAg
ICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CmluZGV4IDM3Y2E3YzA4ZGM3YTlhNmQzYjQ2OGE2ZjQxZWQxOWY0MTFiODk1MTQuLjg2MGU1YjNh
NTA0OWQ1Y2ExZTI1NmNjYjA3MDJmODg3MmZiMGRjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTgzLDcgKzE4
Myw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdEltYWdlKENhY2hlZFJlc291CiAgICAgICAgICAgICBpZiAoRG9jdW1lbnQq
IGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQt
PmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQo
cmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7CiAgICAgICAgICAgICBVUkwgcmVxdWVzdFVSTCA9
IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCk7Ci0gICAgICAgICAgICBpZiAocmVxdWVz
dFVSTC5pc1ZhbGlkKCkgJiYgY2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJj
ZSwgcmVxdWVzdFVSTCwgcmVxdWVzdC5vcHRpb25zKCksIHJlcXVlc3QuZm9yUHJlbG9hZCgpKSkK
KyAgICAgICAgICAgIGlmIChyZXF1ZXN0VVJMLmlzVmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hl
ZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCByZXF1ZXN0VVJMLCByZXF1ZXN0KSkKICAgICAgICAg
ICAgICAgICBQaW5nTG9hZGVyOjpsb2FkSW1hZ2UoKmZyYW1lLCByZXF1ZXN0VVJMKTsKICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CkBAIC0zMzMsNiArMzMzLDEwIEBAIHN0
YXRpYyBNaXhlZENvbnRlbnRDaGVja2VyOjpDb250ZW50VHlwZSBjb250ZW50VHlwZUZyb21SZXNv
dXJjZVR5cGUoQ2FjaGVkUmVzb3VyCiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNr
SW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJs
KSBjb25zdAogeworCisgICAgaWYgKCFjYW5SZXF1ZXN0SW5Db250ZW50RGlzcG9zaXRpb25BdHRh
Y2htZW50U2FuZGJveCh0eXBlLCB1cmwpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBz
d2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTY3JpcHQ6CiAjaWYgRU5B
QkxFKFhTTFQpCkBAIC0zNzksMTIgKzM4Myw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1NhbWVPcmlnaW5EYXRh
VVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMs
IGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpCi17Ci0gICAgcmV0dXJuICFkaWRSZWNl
aXZlUmVkaXJlY3RSZXNwb25zZSAmJiB1cmwucHJvdG9jb2xJc0RhdGEoKSAmJiBvcHRpb25zLnNh
bWVPcmlnaW5EYXRhVVJMRmxhZyA9PSBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6OlNldDsKLX0KLQot
Ym9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2Up
Citib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xp
Y3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFJlc291
cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVj
dFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkKQogewogICAgIGlmIChv
cHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb24gPT0gQ29udGVudFNlY3VyaXR5
UG9saWN5SW1wb3NpdGlvbjo6U2tpcFBvbGljeUNoZWNrKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTM5Miw4ICszOTEsNiBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlD
b250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIEFTU0VSVCht
X2RvY3VtZW50KTsKICAgICBBU1NFUlQobV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5
KCkpOwogCi0gICAgYXV0byByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBkaWRSZWNlaXZlUmVk
aXJlY3RSZXNwb25zZSA/IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJl
Y2VpdmVkOjpZZXMgOiBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZDo6Tm87Ci0KICAgICBzd2l0Y2ggKHR5cGUpIHsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgpAQCAtNDMwLDI1ICs0MjcsMzMgQEAg
Ym9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5
KENhY2hlZFJlc291cmNlOjpUeXBlIHQKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICB9CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25z
dCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zLCBib29sIGZv
clByZWxvYWQsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpCitzdGF0aWMgaW5saW5l
IGJvb2wgaXNTYW1lT3JpZ2luRGF0YVVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VM
b2FkZXJPcHRpb25zJiBvcHRpb25zKQogeworICAgIC8vIEZJWE1FOiBSZW1vdmUgc2FtZS1vcmln
aW4gZGF0YSBVUkwgZmxhZyBzaW5jZSBpdCB3YXMgcmVtb3ZlZCBmcm9tIGZldGNoIHNwZWMgKGh0
dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gvaXNzdWVzLzM4MSkuCisgICAgcmV0dXJuIHVy
bC5wcm90b2NvbElzRGF0YSgpICYmIG9wdGlvbnMuc2FtZU9yaWdpbkRhdGFVUkxGbGFnID09IFNh
bWVPcmlnaW5EYXRhVVJMRmxhZzo6U2V0OworfQorCitib29sIENhY2hlZFJlc291cmNlTG9hZGVy
OjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgYXV0byYgb3B0aW9u
cyA9IHJlcXVlc3Qub3B0aW9ucygpOworCiAgICAgaWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgewotICAgICAgICBpZiAoIWZv
clByZWxvYWQpCisgICAgICAgIGlmICghcmVxdWVzdC5mb3JQcmVsb2FkKCkpCiAgICAgICAgICAg
ICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKGZyYW1lKCksIHVybC5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcs
ICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlIFVSTCB3YXMgbm90IGFsbG93
ZWQgYnkgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkiKTsKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBSZW1vdmUgc2FtZS1vcmlnaW4gZGF0YSBVUkwgZmxh
ZyBzaW5jZSBpdCB3YXMgcmVtb3ZlZCBmcm9tIGZldGNoIHNwZWMgKHNlZSBodHRwczovL2dpdGh1
Yi5jb20vd2hhdHdnL2ZldGNoL2lzc3Vlcy8zODEpLgotICAgIGlmIChvcHRpb25zLm1vZGUgPT0g
RmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luICYmICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVy
bCwgb3B0aW9ucywgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpICYmICFtX2RvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpIHsKKyAgICBpZiAob3B0aW9ucy5tb2Rl
ID09IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKS0+Y2FuUmVxdWVzdCh1cmwpICYmICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVybCwg
b3B0aW9ucykpIHsKICAgICAgICAgcHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKHVybCk7CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRTZWN1
cml0eVBvbGljeSh0eXBlLCB1cmwsIG9wdGlvbnMsIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNl
KSkKKyAgICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9w
dGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpO
bykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIFNWRyBJbWFnZXMgaGF2ZSB1bmlx
dWUgc2VjdXJpdHkgcnVsZXMgdGhhdCBwcmV2ZW50IGFsbCBzdWJyZXNvdXJjZSByZXF1ZXN0cyBl
eGNlcHQgZm9yIGRhdGEgdXJscy4KQEAgLTQ1NywxNCArNDYyLDM4IEBAIGJvb2wgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3Qg
VVJMJiB1cmwsCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKCFj
YW5SZXF1ZXN0SW5Db250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveCh0eXBlLCB1cmwp
KQorICAgIC8vIExhc3Qgb2YgYWxsLCBjaGVjayBmb3IgaW5zZWN1cmUgY29udGVudC4gV2UgZG8g
dGhpcyBsYXN0IHNvIHRoYXQgd2hlbiBmb2xrcyBibG9jayBpbnNlY3VyZSBjb250ZW50IHdpdGgg
YSBDU1AgcG9saWN5LCB0aGV5IGRvbid0IGdldCBhIHdhcm5pbmcuCisgICAgLy8gVGhleSdsbCBz
dGlsbCBnZXQgYSB3YXJuaW5nIGluIHRoZSBjb25zb2xlIGFib3V0IENTUCBibG9ja2luZyB0aGUg
bG9hZC4KKworICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgY29uc2lkZXIgd2hldGhlciB0aGUgcmVx
dWVzdCBpcyBmb3IgcHJlbG9hZCBoZXJlPworICAgIGlmICghY2hlY2tJbnNlY3VyZUNvbnRlbnQo
dHlwZSwgdXJsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gTGFzdCBvZiBhbGws
IGNoZWNrIGZvciBpbnNlY3VyZSBjb250ZW50LiBXZSBkbyB0aGlzIGxhc3Qgc28gdGhhdCB3aGVu
Ci0gICAgLy8gZm9sa3MgYmxvY2sgaW5zZWN1cmUgY29udGVudCB3aXRoIGEgQ1NQIHBvbGljeSwg
dGhleSBkb24ndCBnZXQgYSB3YXJuaW5nLgotICAgIC8vIFRoZXknbGwgc3RpbGwgZ2V0IGEgd2Fy
bmluZyBpbiB0aGUgY29uc29sZSBhYm91dCBDU1AgYmxvY2tpbmcgdGhlIGxvYWQuCisgICAgcmV0
dXJuIHRydWU7Cit9CisKKy8vIEZJWE1FOiBTaG91bGQgd2UgZmluZCBhIHdheSB0byBrbm93IHdo
ZXRoZXIgdGhlIHJlZGlyZWN0aW9uIGlzIGZvciBhIHByZWxvYWQgcmVxdWVzdCBsaWtlIHdlIGRv
IGZvciBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdD8KK2Jvb2wgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmNhblJlcXVlc3RBZnRlclJlZGlyZWN0aW9uKENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMpCit7CisgICAgaWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPmNhbkRpc3BsYXkodXJsKSkgeworICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxM
b2FkRmFpbGVkKGZyYW1lKCksIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7
CisgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdFJlc291cmNlIFVSTCB3YXMgbm90IGFsbG93ZWQgYnkgU2VjdXJpdHlPcmlnaW46OmNhbkRp
c3BsYXkiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8vIEZJWE1FOiBB
Y2NvcmRpbmcgdG8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2h0dHAtcmVkaXJlY3Qt
ZmV0Y2gsIHdlIHNob3VsZCBjaGVjayB0aGF0IHRoZSBVUkwgaXMgSFRUUChzKSBleGNlcHQgaWYg
aW4gbmF2aWdhdGlvbiBtb2RlLgorICAgIC8vIEJ1dCB3ZSBjdXJyZW50bHkgYWxsb3cgYXQgbGVh
c3QgZGF0YSBVUkxzIHRvIGJlIGxvYWRlZC4KIAotICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgY29u
c2lkZXIgZm9yUHJlbG9hZCBoZXJlPworICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpTYW1lT3JpZ2luICYmICFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5j
YW5SZXF1ZXN0KHVybCkpIHsKKyAgICAgICAgcHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKHVybCk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoIWFsbG93ZWRCeUNvbnRl
bnRTZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyBMYXN0IG9mIGFsbCwgY2hlY2sgZm9yIGluc2VjdXJlIGNvbnRlbnQuIFdlIGRv
IHRoaXMgbGFzdCBzbyB0aGF0IHdoZW4gZm9sa3MgYmxvY2sgaW5zZWN1cmUgY29udGVudCB3aXRo
IGEgQ1NQIHBvbGljeSwgdGhleSBkb24ndCBnZXQgYSB3YXJuaW5nLgorICAgIC8vIFRoZXknbGwg
c3RpbGwgZ2V0IGEgd2FybmluZyBpbiB0aGUgY29uc29sZSBhYm91dCBDU1AgYmxvY2tpbmcgdGhl
IGxvYWQuCiAgICAgaWYgKCFjaGVja0luc2VjdXJlQ29udGVudCh0eXBlLCB1cmwpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTQ3NCw3ICs1MDMsNyBAQCBib29sIENhY2hlZFJlc291cmNl
TG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYg
dXJsLAogYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdEluQ29udGVudERpc3Bv
c2l0aW9uQXR0YWNobWVudFNhbmRib3goQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3Qg
VVJMJiB1cmwpIGNvbnN0CiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50OwotICAgIAorCiAgICAg
Ly8gRklYTUU6IERvIHdlIHdhbnQgdG8gZXhwYW5kIHRoaXMgdG8gYWxsIHJlc291cmNlIHR5cGVz
IHRoYXQgdGhlIG1peGVkIGNvbnRlbnQgY2hlY2tlciB3b3VsZCBjb25zaWRlciBhY3RpdmUgY29u
dGVudD8KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNYWlu
UmVzb3VyY2U6CkBAIC02MjQsNyArNjUzLDggQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKIAog
ICAgIHByZXBhcmVGZXRjaCh0eXBlLCByZXF1ZXN0KTsKIAotICAgIGlmICghY2FuUmVxdWVzdCh0
eXBlLCB1cmwsIHJlcXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpIHsKKyAg
ICAvLyBXZSBhcmUgcGFzc2luZyB1cmwgYXMgd2VsbCBhcyByZXF1ZXN0LCBhcyByZXF1ZXN0IHVy
bCBtYXkgY29udGFpbiBhIGZyYWdtZW50IGlkZW50aWZpZXIuCisgICAgaWYgKCFjYW5SZXF1ZXN0
KHR5cGUsIHVybCwgcmVxdWVzdCkpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
cmVxdWVzdFJlc291cmNlOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlIChmcmFtZSA9
ICVwKSIsIGZyYW1lKCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4
IDk4ZWEyYmEwYjBmOWI3ZTBjOTI1NTI1NTFjYmEzYzIzNzc4MzAxNzQuLmQzODM2MjViOGVmOTJm
ZTQxMDlkNGUxZTA4ZWMyOTg3YmZkNWQ1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbi5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBA
IC0xMjIsNyArMTIzLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZERvbmUoQ2FjaGVkUmVzb3Vy
Y2UqLCBib29sIHNob3VsZFBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMgPSB0cnVlKTsKIAogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpOwotICAg
IAorCiAgICAgdm9pZCBpbmNyZW1lbnRSZXF1ZXN0Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2Um
KTsKICAgICB2b2lkIGRlY3JlbWVudFJlcXVlc3RDb3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSYp
OwogICAgIGludCByZXF1ZXN0Q291bnQoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RDb3VudDsg
fQpAQCAtMTM1LDcgKzEzNiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoZWNrRm9yUGVuZGluZ1By
ZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxvYWRTdGF0cygpOwogCi0gICAgYm9vbCBjYW5S
ZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBVUkwmLCBjb25zdCBSZXNvdXJjZUxv
YWRlck9wdGlvbnMmLCBib29sIGZvclByZWxvYWQgPSBmYWxzZSwgYm9vbCBkaWRSZWNlaXZlUmVk
aXJlY3RSZXNwb25zZSA9IGZhbHNlKTsKKyAgICBib29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUsIGNvbnN0IFVSTCYsIGNvbnN0IENhY2hlZFJlc291cmNlUmVxdWVzdCYpOworICAg
IGJvb2wgY2FuUmVxdWVzdEFmdGVyUmVkaXJlY3Rpb24oQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNv
bnN0IFVSTCYsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOwogCiAgICAgc3RhdGljIGNv
bnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgZGVmYXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygp
OwogCkBAIC0xNjQsNyArMTY2LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkQ29udGlu
dWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1vcnlDYWNoZShjb25zdCBDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QmLCBDYWNoZWRSZXNvdXJjZSopOwogICAgIGJvb2wgY2hlY2tJbnNlY3VyZUNvbnRl
bnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBV
UkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBib29sKTsKKyAgICBib29sIGFsbG93
ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgVVJM
JiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQpOwogCiAgICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rp
b25zKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDdjYTk4ZjAyZGJjYmJh
YTMwY2Q1OGU0NGQwYTlkMjYyZDJjZWI1NTYuLjM1OTZhMTQ5YmFlMzQzMGU2NmI0N2UyNDRjNzQ3
NDZiMWUxOThiYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE2LTEwLTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbRmV0Y2ggQVBJXSBGb3JiaWQgcmVkaXJlY3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGlu
IG5vbi1uYXZpZ2F0aW9uIG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjI3ODUKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVu
c2VuLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9y
ZWRpcmVjdC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVj
dGVkLnR4dDoKKwogMjAxNi0xMC0wNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBJbXBvcnQgdjEgY3VzdG9tIGVsZW1lbnRzIHRlc3RzIGZyb20gVzNDCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3Jl
ZGlyZWN0LXRvLWRhdGF1cmwtZXhwZWN0ZWQudHh0CmluZGV4IDgzOTE1NDU2NjkzYzg2NGY2NmJl
Y2IwZDUyYzJmZTYwZjJiYzZkYTAuLmUwY2FkMGY2YTBhYzZjNjk3MTcyOTVmOTA1NDMzODhmZTVi
ZTZmZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtZXhwZWN0ZWQudHh0CkBAIC00LDggKzQs
OCBAQCBDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGRhdGE6dGV4
dC9wbGFpbjtiYXNlNjQsY21WemNHOXVjMlVuYwogQ09OU09MRSBNRVNTQUdFOiBDcm9zcy1vcmln
aW4gcmVkaXJlY3Rpb24gdG8gZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJp
YjJSNSBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5OiBVUkwg
aXMgZWl0aGVyIGEgbm9uLUhUVFAgVVJMIG9yIGNvbnRhaW5zIGNyZWRlbnRpYWxzLgogCiBQQVNT
IFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAo
Y29ycyBtb2RlKSAKLUZBSUwgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3Jp
Z2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBo
YXZlIHJlamVjdGVkLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdGluZyBkYXRh
IFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUp
IAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJl
Y3Rpb24gKHNhbWUtb3JpZ2luIG1vZGUpIAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcg
YWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIChjb3JzIG1vZGUpIAotRkFJTCBUZXN0aW5n
IGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3Jz
IG1vZGUpIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdGlvbiAobm8tY29ycyBtb2RlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3Qv
cmVkaXJlY3QtdG8tZGF0YXVybC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3Qt
dG8tZGF0YXVybC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDA3NGFkOTBiNWViNGVmMDk2YzRh
ODkyZjhhNzI3N2NlYmNhN2QzMmMuLmEyMWJkNzhmMWM3NDY3NDkyZDk0YzhjNzhlMDIwYmViZDFk
YmQ2YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLXdvcmtlci1leHBlY3RlZC50
eHQKQEAgLTQsOCArNCw4IEBAIENPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9h
ZCBVUkwgZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jCiBDT05TT0xFIE1FU1NB
R0U6IENyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiB0byBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNt
VnpjRzl1YzJVbmN5QmliMlI1IGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyBwb2xpY3k6IFVSTCBpcyBlaXRoZXIgYSBub24tSFRUUCBVUkwgb3IgY29udGFpbnMgY3JlZGVu
dGlhbHMuCiAKIFBBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2lu
IHJlZGlyZWN0aW9uIChjb3JzIG1vZGUpIAotRkFJTCBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcg
YWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFT
UyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24g
KG5vLWNvcnMgbW9kZSkgCiBQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBzYW1l
LW9yaWdpbiByZWRpcmVjdGlvbiAoc2FtZS1vcmlnaW4gbW9kZSkgCiBQQVNTIFRlc3RpbmcgZGF0
YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gKGNvcnMgbW9kZSkg
Ci1GQUlMIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3Rpb24gKG5vLWNvcnMgbW9kZSkgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0
ZWQuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRp
bmcgYWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290801</attachid>
            <date>2016-10-06 02:29:01 -0700</date>
            <delta_ts>2016-10-06 03:02:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162785-20161006112546.patch</filename>
            <type>text/plain</type>
            <size>20941</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMxYWFmMzEyNzM3MDMy
ZjZlMzI4NmZiMmZiMGVjY2Y5YWJhZTI1ZS4uMDJlZGUxYzljOWRkMmRiM2RlMDZjY2VhNzhkNDJm
Y2E5ZjUxNjAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTEwLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBGb3Ji
aWQgcmVkaXJlY3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGluIG5vbi1uYXZpZ2F0aW9uIG1vZGUu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3ODUK
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIENvdmVy
ZWQgYnkgcmViYXNlZCBhbmQgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgRW5zdXJpbmcgbm9u
LUhUVFAgcmVkaXJlY3Rpb24gVVJMcyBhcmUgbm90IGZvbGxvd2VkIGF0IERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlciBsZXZlbCBmb3IgZmV0Y2ggQVBJIG9ubHkuCisgICAgICAgIFRoaXMgc2hvdWxk
IGJlIGFwcGxpZWQgdG8gYWxsIGNsaWVudHMgYXQgc29tZSBwb2ludCwgYnV0IHRoZXJlIGlzIHN0
aWxsIHNvbWUgdW5jZXJ0YWludHkgZm9yIGRhdGEgVVJMcy4KKworICAgICAgICBEaWQgc29tZSBy
ZWZhY3RvcmluZyB0byBiZXR0ZXIgc2VwYXJhdGUgdGhlIGNhc2Ugb2Ygc2VjdXJpdHkgY2hlY2tz
IGluIGNhc2Ugb2YgcmVndWxhciByZXF1ZXN0IG9yIHJlZGlyZWN0ZWQgcmVxdWVzdC4KKyAgICAg
ICAgVGhpcyBhbGxvd3MgaW4gcGFydGljdWxhciB0byBoYW5kbGUgbW9yZSBjbGVhcmx5IHRoZSBj
YXNlIG9mIGRhdGEgVVJMcyB3aGljaCBhcmUgYWxsb3dlZCBpbiBhbGwgbW9kZXMgZm9yIHJlZ3Vs
YXIgcmVxdWVzdHMuCisgICAgICAgIEJ1dCB0aGV5IGFyZSBub3QgYWxsb3dlZCBmb3Igc2FtZS1v
cmlnaW4gcmVkaXJlY3RlZCByZXF1ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFJlZGlyZWN0aW9uV2l0aEJhZFNjaGVt
ZSk6IFJlcG9ydGluZyBiYWQgc2NoZW1lIHJlZGlyZWN0aW9uIGVycm9yLgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVjdFJlY2VpdmVkKTogQ2hlY2tp
bmcgdGhhdCByZWRpcmVjdGlvbiBVUkxzIGFyZSBIVFRQKHMpIGluIGNhc2Ugb2YgRmV0Y2ggQVBJ
LgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVudCk6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5
UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OmlzU2FtZU9yaWdpbkRhdGFVUkwpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3RBZnRlclJlZGlyZWN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0SW5D
b250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveCk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKwogMjAxNi0xMC0wNSAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIERpc3BsYXkgUDMgQ29sb3JTcGFjZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYyNzMyNzdiZDMyYTZkNGYzYjQyNWZlZmY0ZTE1NTgwZWE4YzkzNDMuLjEyYzU1NDZmZmVm
Y2M1YTQwZTgzMDNmMWRkNmJkMDQ1MjFiYzZiMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3OTUsNyArNTc5NSw3IEBACiAJ
CUNFMjg0OTg3MUNBMzYwREYwMEI0QTU3RiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0UyODQ5ODYxQ0EzNjBERjAwQjRBNTdGIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZU5hbWVzLmggKi87IH07CiAJCUNFMjg0OTg5MUNBMzYxNDYwMEI0QTU3RiAvKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI4NDk4ODFDQTM2MTQ2MDBCNEE1N0YgLyogQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMuY3BwICovOyB9OwogCQlDRTZEQURGOTFDNTkxRTZB
MDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNkRBREY3MUM1OTFF
NkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwICov
OyB9OwotCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTZEQURGODFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLmggKi87IH07CisJCUNFNkRBREZBMUM1OTFFNkEwMDNGNkE4OCAvKiBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNkRBREY4MUM1OTFFNkEwMDNGNkE4OCAvKiBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTc5OUY5NzFDNkE0NkJDMDA5N0I1MTgg
LyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTc5OUY5NTFDNkE0NkJDMDA5N0I1MTggLyog
Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAgKi87IH07CiAJCUNFNzk5Rjk4MUM2
QTQ2QkMwMDk3QjUxOCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTc5OUY5NjFDNkE0NkJD
MDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5oICovOyB9OwogCQlD
RTc5OUY5QjFDNkE0QkNEMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTc5OUY5OTFDNkE0QkNEMDA5N0I1MTggLyogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdC5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDNmNmNiYWEyNjI5ZTM0ZGQyOTBhZDdhYjAwNmFiOTE3
NGM3ZWU1MTkuLjM5OGY4YzEwZDVkZWJmNzMzNzk5NWNiZTFjYmYyNWJkMDdjYjI5M2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CkBAIC0yMTYsMTIgKzIxNiwyNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcmVwb3J0Q3Jvc3NPcmln
aW5SZXNvdXJjZVNoYXJpbmdFcnJvcihUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JgogICAgIGNsaWVu
dC5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgdXJs
LCAiQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3Vy
Y2UgU2hhcmluZyBwb2xpY3kuIiwgUmVzb3VyY2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCkp
OwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgcmVwb3J0UmVkaXJlY3Rpb25XaXRoQmFkU2NoZW1l
KFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVVJMJiB1cmwpCit7CisgICAg
Y2xpZW50LmRpZEZhaWwoUmVzb3VyY2VFcnJvcihlcnJvckRvbWFpbldlYktpdEludGVybmFsLCAw
LCB1cmwsICJSZWRpcmVjdGlvbiB0byBVUkwgd2l0aCBhIHNjaGVtZSB0aGF0IGlzIG5vdCBIVFRQ
KFMpLiIsIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wpKTsKK30KKwogdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKICAgICBBU1NF
UlRfVU5VU0VEKHJlc291cmNlLCByZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsKIAogICAgIFJlZjxE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOworCisgICAgLy8g
RklYTUU6IFdlIHJlc3RyaWN0IHRoaXMgY2hlY2sgdG8gRmV0Y2ggQVBJIGZvciB0aGUgbW9tZW50
LCBhcyB0aGlzIG1pZ2h0IGRpc3J1cHQgV29ya2VyU2NyaXB0TG9hZGVyLgorICAgIC8vIFJlYXNz
ZXNzIHRoaXMgY2hlY2sgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9mZXRjaC9p
c3N1ZXMvMzkzIGRpc2N1c3Npb25zLgorICAgIC8vIFdlIHNob3VsZCBhbHNvIGRpc2FibGUgdGhh
dCBjaGVjayBpbiBuYXZpZ2F0aW9uIG1vZGUuCisgICAgaWYgKCFyZXF1ZXN0LnVybCgpLnByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkoKSAmJiBtX29wdGlvbnMuaW5pdGlhdG9yID09IGNhY2hlZFJlc291
cmNlUmVxdWVzdEluaXRpYXRvcnMoKS5mZXRjaCkgeworICAgICAgICByZXBvcnRSZWRpcmVjdGlv
bldpdGhCYWRTY2hlbWUoKm1fY2xpZW50LCByZXF1ZXN0LnVybCgpKTsKKyAgICAgICAgY2xlYXJS
ZXNvdXJjZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKCFpc0FsbG93ZWRC
eUNvbnRlbnRTZWN1cml0eVBvbGljeShyZXF1ZXN0LnVybCgpLCByZWRpcmVjdFJlc3BvbnNlLmlz
TnVsbCgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6
Ok5vIDogQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Olll
cykpIHsKICAgICAgICAgcmVwb3J0Q29udGVudFNlY3VyaXR5UG9saWN5RXJyb3IoKm1fY2xpZW50
LCByZWRpcmVjdFJlc3BvbnNlLnVybCgpKTsKICAgICAgICAgY2xlYXJSZXNvdXJjZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTliNjJlZGNl
YWExMjU0ZThkMjIzMmI3ZjQ3ZTA4YWI1MDNhODdiZC4uYjZlODNkMDdiNThmYmQzZjgzMmE5Njc1
NWI4ZDEzNTc0MzEyYjhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0yMDAsNyArMjAwLDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb24KICAg
ICAgICAgICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCku
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6Y2Fj
aGVkUmVzb3VyY2VSZXZhbGlkYXRpb25LZXkoKSwgZW1wdHlTdHJpbmcoKSwgRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRGYWlsLCBTaG91bGRTYW1wbGU6Olllcyk7CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAoIW1fZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCkuY2FuUmVxdWVz
dChtX3Jlc291cmNlLT50eXBlKCksIG5ld1JlcXVlc3QudXJsKCksIG9wdGlvbnMoKSwgZmFsc2Ug
LyogZm9yUHJlbG9hZCAqLywgdHJ1ZSAvKiBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSAqLykp
IHsKKyAgICAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
LmNhblJlcXVlc3RBZnRlclJlZGlyZWN0aW9uKG1fcmVzb3VyY2UtPnR5cGUoKSwgbmV3UmVxdWVz
dC51cmwoKSwgb3B0aW9ucygpKSkgewogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM3Y2E3YzA4ZGM3YTlhNmQzYjQ2OGE2
ZjQxZWQxOWY0MTFiODk1MTQuLjg2MGU1YjNhNTA0OWQ1Y2ExZTI1NmNjYjA3MDJmODg3MmZiMGRj
YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENh
Y2hlZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKENhY2hlZFJlc291
CiAgICAgICAgICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCkp
CiAgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdy
YWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0
KCksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7CiAg
ICAgICAgICAgICBVUkwgcmVxdWVzdFVSTCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJs
KCk7Ci0gICAgICAgICAgICBpZiAocmVxdWVzdFVSTC5pc1ZhbGlkKCkgJiYgY2FuUmVxdWVzdChD
YWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZSwgcmVxdWVzdFVSTCwgcmVxdWVzdC5vcHRpb25z
KCksIHJlcXVlc3QuZm9yUHJlbG9hZCgpKSkKKyAgICAgICAgICAgIGlmIChyZXF1ZXN0VVJMLmlz
VmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlLCByZXF1
ZXN0VVJMLCByZXF1ZXN0KSkKICAgICAgICAgICAgICAgICBQaW5nTG9hZGVyOjpsb2FkSW1hZ2Uo
KmZyYW1lLCByZXF1ZXN0VVJMKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAg
ICB9CkBAIC0zMzMsNiArMzMzLDEwIEBAIHN0YXRpYyBNaXhlZENvbnRlbnRDaGVja2VyOjpDb250
ZW50VHlwZSBjb250ZW50VHlwZUZyb21SZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyCiAKIGJvb2wg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNl
OjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsKSBjb25zdAogeworCisgICAgaWYgKCFjYW5SZXF1
ZXN0SW5Db250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50U2FuZGJveCh0eXBlLCB1cmwpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpTY3JpcHQ6CiAjaWYgRU5BQkxFKFhTTFQpCkBAIC0zNzksMTIgKzM4Myw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJl
c291cmNlOjpUeXBlIHR5cGUsIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBpc1NhbWVPcmlnaW5EYXRhVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNv
dXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9u
c2UpCi17Ci0gICAgcmV0dXJuICFkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSAmJiB1cmwucHJv
dG9jb2xJc0RhdGEoKSAmJiBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9PSBTYW1lT3Jp
Z2luRGF0YVVSTEZsYWc6OlNldDsKLX0KLQotYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGJvb2wg
ZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpCitib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjph
bGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwg
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNw
b25zZVJlY2VpdmVkKQogewogICAgIGlmIChvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUlt
cG9zaXRpb24gPT0gQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6U2tpcFBvbGljeUNo
ZWNrKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM5Miw4ICszOTEsNiBAQCBib29sIENhY2hl
ZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdAogICAgIEFTU0VSVChtX2RvY3VtZW50KTsKICAgICBBU1NFUlQobV9kb2N1
bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogCi0gICAgYXV0byByZWRpcmVjdFJlc3Bv
bnNlUmVjZWl2ZWQgPSBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSA/IENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMgOiBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm87Ci0KICAgICBzd2l0Y2ggKHR5cGUp
IHsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNo
ZWV0OgpAQCAtNDMwLDI1ICs0MjcsMzMgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxs
b3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlIHQKICAgICBk
ZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CisKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNo
ZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zJiBvcHRpb25zLCBib29sIGZvclByZWxvYWQsIGJvb2wgZGlkUmVjZWl2ZVJlZGly
ZWN0UmVzcG9uc2UpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNTYW1lT3JpZ2luRGF0YVVSTChjb25z
dCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQogeworICAg
IC8vIEZJWE1FOiBSZW1vdmUgc2FtZS1vcmlnaW4gZGF0YSBVUkwgZmxhZyBzaW5jZSBpdCB3YXMg
cmVtb3ZlZCBmcm9tIGZldGNoIHNwZWMgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gv
aXNzdWVzLzM4MSkuCisgICAgcmV0dXJuIHVybC5wcm90b2NvbElzRGF0YSgpICYmIG9wdGlvbnMu
c2FtZU9yaWdpbkRhdGFVUkxGbGFnID09IFNhbWVPcmlnaW5EYXRhVVJMRmxhZzo6U2V0OworfQor
Citib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QpCit7CisgICAgYXV0byYgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9ucygpOworCiAgICAg
aWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3Bs
YXkodXJsKSkgewotICAgICAgICBpZiAoIWZvclByZWxvYWQpCisgICAgICAgIGlmICghcmVxdWVz
dC5mb3JQcmVsb2FkKCkpCiAgICAgICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2Fk
RmFpbGVkKGZyYW1lKCksIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CiAg
ICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dFJlc291cmNlIFVSTCB3YXMgbm90IGFsbG93ZWQgYnkgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3Bs
YXkiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBSZW1v
dmUgc2FtZS1vcmlnaW4gZGF0YSBVUkwgZmxhZyBzaW5jZSBpdCB3YXMgcmVtb3ZlZCBmcm9tIGZl
dGNoIHNwZWMgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2ZldGNoL2lzc3Vlcy8zODEp
LgotICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2lu
ICYmICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVybCwgb3B0aW9ucywgZGlkUmVjZWl2ZVJlZGlyZWN0
UmVzcG9uc2UpICYmICFtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVy
bCkpIHsKKyAgICBpZiAob3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9y
aWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdCh1cmwpICYm
ICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVybCwgb3B0aW9ucykpIHsKICAgICAgICAgcHJpbnRBY2Nl
c3NEZW5pZWRNZXNzYWdlKHVybCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9wdGlvbnMs
IGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSkKKyAgICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRT
ZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9wdGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIC8vIFNWRyBJbWFnZXMgaGF2ZSB1bmlxdWUgc2VjdXJpdHkgcnVsZXMgdGhhdCBwcmV2ZW50
IGFsbCBzdWJyZXNvdXJjZSByZXF1ZXN0cyBleGNlcHQgZm9yIGRhdGEgdXJscy4KQEAgLTQ1Nywx
NCArNDYyLDM4IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwsCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKCFjYW5SZXF1ZXN0SW5Db250ZW50RGlzcG9zaXRpb25B
dHRhY2htZW50U2FuZGJveCh0eXBlLCB1cmwpKQorICAgIC8vIExhc3Qgb2YgYWxsLCBjaGVjayBm
b3IgaW5zZWN1cmUgY29udGVudC4gV2UgZG8gdGhpcyBsYXN0IHNvIHRoYXQgd2hlbiBmb2xrcyBi
bG9jayBpbnNlY3VyZSBjb250ZW50IHdpdGggYSBDU1AgcG9saWN5LCB0aGV5IGRvbid0IGdldCBh
IHdhcm5pbmcuCisgICAgLy8gVGhleSdsbCBzdGlsbCBnZXQgYSB3YXJuaW5nIGluIHRoZSBjb25z
b2xlIGFib3V0IENTUCBibG9ja2luZyB0aGUgbG9hZC4KKworICAgIC8vIEZJWE1FOiBTaG91bGQg
d2UgY29uc2lkZXIgd2hldGhlciB0aGUgcmVxdWVzdCBpcyBmb3IgcHJlbG9hZCBoZXJlPworICAg
IGlmICghY2hlY2tJbnNlY3VyZUNvbnRlbnQodHlwZSwgdXJsKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgLy8gTGFzdCBvZiBhbGwsIGNoZWNrIGZvciBpbnNlY3VyZSBjb250ZW50LiBX
ZSBkbyB0aGlzIGxhc3Qgc28gdGhhdCB3aGVuCi0gICAgLy8gZm9sa3MgYmxvY2sgaW5zZWN1cmUg
Y29udGVudCB3aXRoIGEgQ1NQIHBvbGljeSwgdGhleSBkb24ndCBnZXQgYSB3YXJuaW5nLgotICAg
IC8vIFRoZXknbGwgc3RpbGwgZ2V0IGEgd2FybmluZyBpbiB0aGUgY29uc29sZSBhYm91dCBDU1Ag
YmxvY2tpbmcgdGhlIGxvYWQuCisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8vIEZJWE1FOiBTaG91
bGQgd2UgZmluZCBhIHdheSB0byBrbm93IHdoZXRoZXIgdGhlIHJlZGlyZWN0aW9uIGlzIGZvciBh
IHByZWxvYWQgcmVxdWVzdCBsaWtlIHdlIGRvIGZvciBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2Fu
UmVxdWVzdD8KK2Jvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3RBZnRlclJlZGly
ZWN0aW9uKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBS
ZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgaWYgKGRvY3VtZW50KCkgJiYg
IWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgeworICAgICAg
ICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKGZyYW1lKCksIHVybC5zdHJpbmdD
ZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSk7CisgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcs
ICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlIFVSTCB3YXMgbm90IGFsbG93
ZWQgYnkgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIC8vIEZJWE1FOiBBY2NvcmRpbmcgdG8gaHR0cHM6Ly9mZXRjaC5zcGVj
LndoYXR3Zy5vcmcvI2h0dHAtcmVkaXJlY3QtZmV0Y2gsIHdlIHNob3VsZCBjaGVjayB0aGF0IHRo
ZSBVUkwgaXMgSFRUUChzKSBleGNlcHQgaWYgaW4gbmF2aWdhdGlvbiBtb2RlLgorICAgIC8vIEJ1
dCB3ZSBjdXJyZW50bHkgYWxsb3cgYXQgbGVhc3QgZGF0YSBVUkxzIHRvIGJlIGxvYWRlZC4KIAot
ICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgY29uc2lkZXIgZm9yUHJlbG9hZCBoZXJlPworICAgIGlm
IChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luICYmICFtX2Rv
Y3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpIHsKKyAgICAgICAgcHJp
bnRBY2Nlc3NEZW5pZWRNZXNzYWdlKHVybCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICBpZiAoIWFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSh0eXBlLCB1cmwsIG9w
dGlvbnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZ
ZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBMYXN0IG9mIGFsbCwgY2hlY2sg
Zm9yIGluc2VjdXJlIGNvbnRlbnQuIFdlIGRvIHRoaXMgbGFzdCBzbyB0aGF0IHdoZW4gZm9sa3Mg
YmxvY2sgaW5zZWN1cmUgY29udGVudCB3aXRoIGEgQ1NQIHBvbGljeSwgdGhleSBkb24ndCBnZXQg
YSB3YXJuaW5nLgorICAgIC8vIFRoZXknbGwgc3RpbGwgZ2V0IGEgd2FybmluZyBpbiB0aGUgY29u
c29sZSBhYm91dCBDU1AgYmxvY2tpbmcgdGhlIGxvYWQuCiAgICAgaWYgKCFjaGVja0luc2VjdXJl
Q29udGVudCh0eXBlLCB1cmwpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTQ3NCw3ICs1
MDMsNyBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLAogYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2FuUmVxdWVzdEluQ29udGVudERpc3Bvc2l0aW9uQXR0YWNobWVudFNhbmRib3goQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgVVJMJiB1cmwpIGNvbnN0CiB7CiAgICAgRG9jdW1l
bnQqIGRvY3VtZW50OwotICAgIAorCiAgICAgLy8gRklYTUU6IERvIHdlIHdhbnQgdG8gZXhwYW5k
IHRoaXMgdG8gYWxsIHJlc291cmNlIHR5cGVzIHRoYXQgdGhlIG1peGVkIGNvbnRlbnQgY2hlY2tl
ciB3b3VsZCBjb25zaWRlciBhY3RpdmUgY29udGVudD8KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6CkBAIC02MjQsNyArNjUzLDggQEAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVy
OjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKIAogICAgIHByZXBhcmVGZXRjaCh0eXBlLCByZXF1ZXN0
KTsKIAotICAgIGlmICghY2FuUmVxdWVzdCh0eXBlLCB1cmwsIHJlcXVlc3Qub3B0aW9ucygpLCBy
ZXF1ZXN0LmZvclByZWxvYWQoKSkpIHsKKyAgICAvLyBXZSBhcmUgcGFzc2luZyB1cmwgYXMgd2Vs
bCBhcyByZXF1ZXN0LCBhcyByZXF1ZXN0IHVybCBtYXkgY29udGFpbiBhIGZyYWdtZW50IGlkZW50
aWZpZXIuCisgICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdCkpIHsKICAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVxdWVzdFJlc291cmNlOiBOb3QgYWxsb3dlZCB0
byByZXF1ZXN0IHJlc291cmNlIChmcmFtZSA9ICVwKSIsIGZyYW1lKCkpOwogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDk4ZWEyYmEwYjBmOWI3ZTBjOTI1NTI1NTFjYmEz
YzIzNzc4MzAxNzQuLmQzODM2MjViOGVmOTJmZTQxMDlkNGUxZTA4ZWMyOTg3YmZkNWQ1ZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVx
dWVzdC5oIgorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIlJl
c291cmNlTG9hZFByaW9yaXR5LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bi5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBAIC0xMjIsNyArMTIzLDcgQEAgcHVibGljOgogICAg
IHZvaWQgbG9hZERvbmUoQ2FjaGVkUmVzb3VyY2UqLCBib29sIHNob3VsZFBlcmZvcm1Qb3N0TG9h
ZEFjdGlvbnMgPSB0cnVlKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2FyYmFnZUNvbGxl
Y3REb2N1bWVudFJlc291cmNlcygpOwotICAgIAorCiAgICAgdm9pZCBpbmNyZW1lbnRSZXF1ZXN0
Q291bnQoY29uc3QgQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIGRlY3JlbWVudFJlcXVlc3RD
b3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSYpOwogICAgIGludCByZXF1ZXN0Q291bnQoKSBjb25z
dCB7IHJldHVybiBtX3JlcXVlc3RDb3VudDsgfQpAQCAtMTM1LDcgKzEzNiw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNoZWNrRm9yUGVuZGluZ1ByZWxvYWRzKCk7CiAgICAgdm9pZCBwcmludFByZWxv
YWRTdGF0cygpOwogCi0gICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlLCBj
b25zdCBVUkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBib29sIGZvclByZWxvYWQg
PSBmYWxzZSwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSA9IGZhbHNlKTsKKyAgICBi
b29sIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYsIGNvbnN0IENh
Y2hlZFJlc291cmNlUmVxdWVzdCYpOworICAgIGJvb2wgY2FuUmVxdWVzdEFmdGVyUmVkaXJlY3Rp
b24oQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFVSTCYsIGNvbnN0IFJlc291cmNlTG9hZGVy
T3B0aW9ucyYpOwogCiAgICAgc3RhdGljIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgZGVm
YXVsdENhY2hlZFJlc291cmNlT3B0aW9ucygpOwogCkBAIC0xNjQsNyArMTY2LDcgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgc2hvdWxkQ29udGludWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1v
cnlDYWNoZShjb25zdCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmLCBDYWNoZWRSZXNvdXJjZSopOwog
ICAgIGJvb2wgY2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0
IFVSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENh
Y2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBVUkwmLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlv
bnMmLCBib29sKTsKKyAgICBib29sIGFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShDYWNo
ZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgVVJMJiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25z
JiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQpOwogCiAg
ICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDdjYTk4ZjAyZGJjYmJhYTMwY2Q1OGU0NGQwYTlkMjYyZDJjZWI1NTYuLjM1
OTZhMTQ5YmFlMzQzMGU2NmI0N2UyNDRjNzQ3NDZiMWUxOThiYzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTEwLTA2ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBGb3JiaWQgcmVkaXJl
Y3Rpb24gdG8gbm9uLUhUVFAocykgVVJMIGluIG5vbi1uYXZpZ2F0aW9uIG1vZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGly
ZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAxNi0xMC0wNSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBvcnQgdjEgY3VzdG9tIGVs
ZW1lbnRzIHRlc3RzIGZyb20gVzNDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRh
dXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtZXhwZWN0ZWQudHh0
CmluZGV4IDgzOTE1NDU2NjkzYzg2NGY2NmJlY2IwZDUyYzJmZTYwZjJiYzZkYTAuLmUwY2FkMGY2
YTBhYzZjNjk3MTcyOTVmOTA1NDMzODhmZTViZTZmZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGly
ZWN0LXRvLWRhdGF1cmwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1
cmwtZXhwZWN0ZWQudHh0CkBAIC00LDggKzQsOCBAQCBDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBh
dHRlbXB0IHRvIGxvYWQgVVJMIGRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsY21WemNHOXVjMlVuYwog
Q09OU09MRSBNRVNTQUdFOiBDcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gdG8gZGF0YTp0ZXh0L3Bs
YWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYjJSNSBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJl
c291cmNlIFNoYXJpbmcgcG9saWN5OiBVUkwgaXMgZWl0aGVyIGEgbm9uLUhUVFAgVVJMIG9yIGNv
bnRhaW5zIGNyZWRlbnRpYWxzLgogCiBQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRl
ciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAoY29ycyBtb2RlKSAKLUZBSUwgVGVzdGluZyBkYXRh
IFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUp
IGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKK1BBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2lu
IHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIAogUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRp
bmcgYWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKHNhbWUtb3JpZ2luIG1vZGUpIAogUEFT
UyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9u
IChjb3JzIG1vZGUpIAotRkFJTCBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgY3Jvc3Mt
b3JpZ2luIHJlZGlyZWN0aW9uIChuby1jb3JzIG1vZGUpIGFzc2VydF91bnJlYWNoZWQ6IFNob3Vs
ZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdGluZyBk
YXRhIFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiAobm8tY29ycyBt
b2RlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC13b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC13b3JrZXItZXhwZWN0ZWQudHh0
CmluZGV4IDA3NGFkOTBiNWViNGVmMDk2YzRhODkyZjhhNzI3N2NlYmNhN2QzMmMuLmEyMWJkNzhm
MWM3NDY3NDkyZDk0YzhjNzhlMDIwYmViZDFkYmQ2YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGly
ZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10
by1kYXRhdXJsLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTQsOCArNCw4IEBAIENPTlNPTEUgTUVT
U0FHRTogVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxj
bVZ6Y0c5dWMyVW5jCiBDT05TT0xFIE1FU1NBR0U6IENyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiB0
byBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmN5QmliMlI1IGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3k6IFVSTCBpcyBlaXRoZXIgYSBub24t
SFRUUCBVUkwgb3IgY29udGFpbnMgY3JlZGVudGlhbHMuCiAKIFBBU1MgVGVzdGluZyBkYXRhIFVS
TCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChjb3JzIG1vZGUpIAotRkFJ
TCBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24g
KG5vLWNvcnMgbW9kZSkgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQuIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0
ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgCiBQQVNTIFRlc3Rpbmcg
ZGF0YSBVUkwgbG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAoc2FtZS1vcmln
aW4gbW9kZSkgCiBQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmln
aW4gcmVkaXJlY3Rpb24gKGNvcnMgbW9kZSkgCi1GQUlMIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGlu
ZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQor
UEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0
aW9uIChuby1jb3JzIG1vZGUpIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>