<?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>159417</bug_id>
          
          <creation_ts>2016-07-05 06:03:02 -0700</creation_ts>
          <short_desc>Remove crossOriginRequestPolicy from ThreadableLoaderOptions</short_desc>
          <delta_ts>2016-07-20 23:13:15 -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>
          
          <blocked>151937</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1207810</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-05 06:03:02 -0700</bug_when>
    <thetext>This is redundant with FetchOptions::Mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207815</commentid>
    <comment_count>1</comment_count>
      <attachid>282779</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-05 06:17:22 -0700</bug_when>
    <thetext>Created attachment 282779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207888</commentid>
    <comment_count>2</comment_count>
      <attachid>282779</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-07-05 11:23:23 -0700</bug_when>
    <thetext>Comment on attachment 282779
Patch

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

FetchOptions::Mode has 4 values and CrossOriginRequestPolicy has 3.  Is FetchOptions::Mode::Navigate not used?

&gt; Source/WebCore/ChangeLog:3
&gt; +        Fix 159417

This isn&apos;t necessary.  The bug link is already in the changelog.

&gt; Source/WebCore/loader/ThreadableLoader.cpp:46
&gt; +    mode = FetchOptions::Mode::SameOrigin;

Things like this and the growing list of things in the ResourceLoaderOptions constructor make me think we should be calling superclass constructors instead of manually setting member variables in constructors.  That might be best done in another patch, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207936</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-05 13:24:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 282779 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=282779&amp;action=review
&gt; 
&gt; FetchOptions::Mode has 4 values and CrossOriginRequestPolicy has 3.  Is
&gt; FetchOptions::Mode::Navigate not used?

Navigate is triggered by user interaction like page loads and so on.
Fetch API does not expose it, setting it will trigger a TypeError when constructing q Request. So it is not used in WebKit yet.

I think it becomes useful with service worker, although we could try to use it if doing some additional refactoring to better align with fetch algorith.

&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Fix 159417
&gt; 
&gt; This isn&apos;t necessary.  The bug link is already in the changelog.

Sure, that is a left over, I&apos;ll remove it.

&gt; &gt; Source/WebCore/loader/ThreadableLoader.cpp:46
&gt; &gt; +    mode = FetchOptions::Mode::SameOrigin;
&gt; 
&gt; Things like this and the growing list of things in the ResourceLoaderOptions
&gt; constructor make me think we should be calling superclass constructors
&gt; instead of manually setting member variables in constructors.  That might be
&gt; best done in another patch, though.

Constructing a ResourceLoaderOptions with all options is not very readable.
It would be easier to have some meaningful options profile, overriding 1 or 2 values locally when needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212715</commentid>
    <comment_count>4</comment_count>
      <attachid>284098</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-20 05:54:29 -0700</bug_when>
    <thetext>Created attachment 284098
Updating change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213055</commentid>
    <comment_count>5</comment_count>
      <attachid>284098</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-20 23:13:11 -0700</bug_when>
    <thetext>Comment on attachment 284098
Updating change log

Clearing flags on attachment: 284098

Committed r203490: &lt;http://trac.webkit.org/changeset/203490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213056</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-20 23:13:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282779</attachid>
            <date>2016-07-05 06:17:22 -0700</date>
            <delta_ts>2016-07-20 05:54:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159417-20160705151651.patch</filename>
            <type>text/plain</type>
            <size>21440</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhkYzM0ZmQzMWM4NzQy
NTcwNTM2NDA3ZDBjODdhOWJmNDNkMmVkYS4uNjJiOWFjNzIxZDI4NzgxNTIwNDExZjM3ZjgwMTY5
OTcyMjJiYmM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDE2LTA3LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBGaXggMTU5NDE3CisKKyAg
ICAgICAgUmVtb3ZlIGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSBmcm9tIFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTk0MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBvYnNlcnZhYmxlIGNoYW5nZS4KKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KTogRGVueUNy
b3NzT3JpZ2luUmVxdWVzdHMgLT4gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luLgorICAg
ICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWxlUmVhZGVyTG9hZGVyOjpzdGFydCk6IERlbnlDcm9zc09yaWdpblJlcXVlc3RzIC0+IEZldGNo
T3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbi4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
TmV0d29ya0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6bG9hZFJlc291cmNlKTogQWxsb3dDcm9zc09yaWdpblJlcXVlc3RzIC0+IEZldGNoT3B0aW9u
czo6TW9kZTo6Tm9Db3JzLgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpEb2N1
bWVudFRocmVhZGFibGVMb2FkZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6bWFrZUNyb3NzT3JpZ2luQWNjZXNzUmVxdWVzdCk6IFVzZUFjY2Vz
c0NvbnRyb2wgLT4gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzLgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVjdFJlY2VpdmVkKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVxdWVzdCk6IFVzZSBOb0NvcnMgYXMgb3B0aW9uIHBhc3NlZCB0byBSZXNvdXJjZUxvYWRl
ci4gVGhpcyBhbGxvd3MKKyAgICAgICAgZGVzYWN0aXZhdGluZyBSZXNvdXJjZUxvYWRlciBDT1JT
IGNoZWNrcyBhcyB0aGV5IGFyZSBkb25lIGluIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciByaWdo
dCBub3cuIEluIHRoZSBmdXR1cmUsCisgICAgICAgIHRoZXNlIGNoZWNrcyBzaG91bGQgYmUgbW92
ZWQgdG8gUmVzb3VyY2VMb2FkZXIgYW5kIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciBzaG91bGQg
ZGlyZWN0bHkgcGFzcyB0aGUgZmV0Y2ggbW9kZQorICAgICAgICBvcHRpb24uCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmlzQWxsb3dlZFJlZGlyZWN0KTogQWxs
b3dDcm9zc09yaWdpblJlcXVlc3RzIC0+IEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzLgorICAg
ICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRo
cmVhZGFibGVMb2FkZXJPcHRpb25zOjpUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyk6IFJlbW92aW5n
IENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeS4KKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5oOiBEaXR0by4KKyAgICAgICAgKiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMb2FkZXJUYXNrT3B0aW9uczo6TG9hZGVyVGFza09wdGlv
bnMpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50U291cmNlOjpjb25uZWN0KTogVXNlQWNjZXNzQ29udHJvbCAtPiBGZXRjaE9w
dGlvbnM6Ok1vZGU6OkNvcnMuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjpjcmVhdGUpOiBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cyAtPiBG
ZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW4uCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6aW1w
b3J0U2NyaXB0cyk6IEFsbG93Q3Jvc3NPcmlnaW5SZXF1ZXN0cyAtPiBGZXRjaE9wdGlvbnM6Ok1v
ZGU6Ok5vQ29ycy4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5
KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHht
bC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
Y3JlYXRlUmVxdWVzdCk6CisKKzIwMTYtMDctMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBDcmVkZW50aWFsUmVxdWVzdCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1OTQwNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
CmluZGV4IDZlNzllNTRlYTc2YzM3NGEwOTkxMTMzOGYxOWNkOTZlZDMzYWE5NDIuLjFiMjNmMDQ5
ZTY3YjQ2NzFjMWUxNmE2ODllMWRiMmI0NGFkMTNmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgRmV0Y2hM
b2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEJsb2ImIGJsb2Ip
CiAgICAgb3B0aW9ucy5zZXREYXRhQnVmZmVyaW5nUG9saWN5KERvTm90QnVmZmVyRGF0YSk7CiAg
ICAgb3B0aW9ucy5wcmVmbGlnaHRQb2xpY3kgPSBDb25zaWRlclByZWZsaWdodDsKICAgICBvcHRp
b25zLnNldEFsbG93Q3JlZGVudGlhbHMoQWxsb3dTdG9yZWRDcmVkZW50aWFscyk7Ci0gICAgb3B0
aW9ucy5jcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgPSBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0czsK
KyAgICBvcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW47CiAgICAg
b3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCA9IENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2U7CiAKICAgICBtX2xvYWRlciA9IFRocmVh
ZGFibGVMb2FkZXI6OmNyZWF0ZSgmY29udGV4dCwgdGhpcywgcmVxdWVzdCwgb3B0aW9ucyk7CkBA
IC03OSwxMSArNzksMTEgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEKICAgICBvcHRpb25zLnNl
dERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICBvcHRpb25zLnByZWZs
aWdodFBvbGljeSA9IENvbnNpZGVyUHJlZmxpZ2h0OwogICAgIG9wdGlvbnMuc2V0QWxsb3dDcmVk
ZW50aWFscyhBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKLSAgICBvcHRpb25zLmNyb3NzT3JpZ2lu
UmVxdWVzdFBvbGljeSA9IERlbnlDcm9zc09yaWdpblJlcXVlc3RzOwogICAgIG9wdGlvbnMuY29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudDo6RG9Ob3RFbmZvcmNlOwogCiAgICAgLy8gRklYTUU6IFBhc3MgZGlyZWN0bHkgYWxs
IGZldGNoIG9wdGlvbnMgdG8gbG9hZGVyIG9wdGlvbnMuCiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9
IHJlcXVlc3QuZmV0Y2hPcHRpb25zKCkucmVkaXJlY3Q7CisgICAgb3B0aW9ucy5tb2RlID0gRmV0
Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOwogCiAgICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUoJmNvbnRleHQsIHRoaXMsIHJlcXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCks
IG9wdGlvbnMpOwogICAgIG1faXNTdGFydGVkID0gbV9sb2FkZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAppbmRleCBhOTRiNzVlN2RhMTA1N2NlZDJjM2Iy
ZjJmY2UwZWFiZjgxZGJmMmI4Li5hNThhN2EzYzJkZjg0YWQ2MzQyNjE5YmUzMWY5ODg4YmZjMzRl
MGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHAKQEAg
LTkxLDcgKzkxLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9hZGVyOjpzdGFydChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBCbG8KICAgICBvcHRpb25zLnNldERh
dGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICBvcHRpb25zLnByZWZsaWdo
dFBvbGljeSA9IENvbnNpZGVyUHJlZmxpZ2h0OwogICAgIG9wdGlvbnMuc2V0QWxsb3dDcmVkZW50
aWFscyhBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKLSAgICBvcHRpb25zLmNyb3NzT3JpZ2luUmVx
dWVzdFBvbGljeSA9IERlbnlDcm9zc09yaWdpblJlcXVlc3RzOworICAgIG9wdGlvbnMubW9kZSA9
IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50ID0gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6
OkRvTm90RW5mb3JjZTsKIAogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKaW5kZXggMDYyZGVjMmVlZjUw
ZWMzZTQxNjQzOGMzN2M0NjZlMjUyZGY4NGMwNi4uNmNmZGFiODk1NDk5ODg0YzM1M2I4OWFiN2Rh
ZjQzODY4OWQxYTQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck5ldHdvcmtBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck5ldHdvcmtBZ2VudC5jcHAKQEAgLTY3MCw3ICs2NzAsNyBAQCB2b2lkIEluc3BlY3Rvck5l
dHdvcmtBZ2VudDo6bG9hZFJlc291cmNlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJgogICAgIG9wdGlvbnMuc2V0U2VuZExvYWRDYWxsYmFja3MoU2VuZENhbGxiYWNrcyk7
IC8vIFNvIHdlIHJlbW92ZSB0aGlzIGZyb20gbV9oaWRkZW5SZXF1ZXN0SWRlbnRpZmllcnMgb24g
Y29tcGxldGlvbi4KICAgICBvcHRpb25zLnNldEFsbG93Q3JlZGVudGlhbHMoQWxsb3dTdG9yZWRD
cmVkZW50aWFscyk7CiAgICAgb3B0aW9ucy5zZXREZWZlcnNMb2FkaW5nUG9saWN5KERlZmVyc0xv
YWRpbmdQb2xpY3k6OkRpc2FsbG93RGVmZXJzTG9hZGluZyk7IC8vIFNvIHRoZSByZXF1ZXN0IGlz
IG5ldmVyIGRlZmVycmVkLgotICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID0g
QWxsb3dDcm9zc09yaWdpblJlcXVlc3RzOworICAgIG9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9u
czo6TW9kZTo6Tm9Db3JzOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlOwog
CiAgICAgLy8gSW5zcGVjdG9yVGhyZWFkYWJsZUxvYWRlckNsaWVudCBkZWxldGVzIGl0c2VsZiB3
aGVuIHRoZSBsb2FkIGNvbXBsZXRlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggYmI3MzZkMWE0NDVjZWQzMjJiMjJiM2M1
Yzc4MTNjMjNhMjQ1ZGM3OS4uMTZmM2FkNjA2MmQ2MGI5Y2Y2ZWE1ZjEzYmRlODViOTViNDQyNmMz
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5jcHAKQEAgLTk2LDEyICs5NiwxMiBAQCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OkRv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1bWVudCYgZG9jdW1lbnQsIFRocmVhZGFibAogCiAg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oaXNBbGxvd2VkQnlDb250ZW50U2Vj
dXJpdHlQb2xpY3kocmVxdWVzdC51cmwoKSkpOwogCi0gICAgaWYgKG1fc2FtZU9yaWdpblJlcXVl
c3QgfHwgbV9vcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9PSBBbGxvd0Nyb3NzT3Jp
Z2luUmVxdWVzdHMpIHsKKyAgICBpZiAobV9zYW1lT3JpZ2luUmVxdWVzdCB8fCBtX29wdGlvbnMu
bW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5vQ29ycykgewogICAgICAgICBsb2FkUmVxdWVz
dChyZXF1ZXN0LCBEb1NlY3VyaXR5Q2hlY2spOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgaWYgKG1fb3B0aW9ucy5jcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgPT0gRGVueUNyb3NzT3Jp
Z2luUmVxdWVzdHMpIHsKKyAgICBpZiAobV9vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpN
b2RlOjpTYW1lT3JpZ2luKSB7CiAgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsKFJlc291cmNlRXJy
b3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVxdWVzdC51cmwoKSwgIkNyb3NzIG9y
aWdpbiByZXF1ZXN0cyBhcmUgbm90IHN1cHBvcnRlZC4iKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC0xMTEsNyArMTExLDcgQEAgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBUaHJlYWRhYmwKIAogdm9pZCBE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIEFTU0VSVChtX29wdGlvbnMuY3Jv
c3NPcmlnaW5SZXF1ZXN0UG9saWN5ID09IFVzZUFjY2Vzc0NvbnRyb2wpOworICAgIEFTU0VSVCht
X29wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpOwogCiAgICAgYXV0byBj
cm9zc09yaWdpblJlcXVlc3QgPSByZXF1ZXN0OwogICAgIHVwZGF0ZVJlcXVlc3RGb3JBY2Nlc3ND
b250cm9sKGNyb3NzT3JpZ2luUmVxdWVzdCwgc2VjdXJpdHlPcmlnaW4oKSwgbV9vcHRpb25zLmFs
bG93Q3JlZGVudGlhbHMoKSk7CkBAIC0yMjIsNyArMjIyLDcgQEAgdm9pZCBEb2N1bWVudFRocmVh
ZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBS
ZXNvdXIKICAgICAvLyBXaGVuIHVzaW5nIGFjY2VzcyBjb250cm9sLCBvbmx5IHNpbXBsZSBjcm9z
cyBvcmlnaW4gcmVxdWVzdHMgYXJlIGFsbG93ZWQgdG8gcmVkaXJlY3QuIFRoZSBuZXcgcmVxdWVz
dCBVUkwgbXVzdCBoYXZlIGEgc3VwcG9ydGVkCiAgICAgLy8gc2NoZW1lIGFuZCBub3QgY29udGFp
biB0aGUgdXNlcmluZm8gcHJvZHVjdGlvbi4gSW4gYWRkaXRpb24sIHRoZSByZWRpcmVjdCByZXNw
b25zZSBtdXN0IHBhc3MgdGhlIGFjY2VzcyBjb250cm9sIGNoZWNrIGlmIHRoZQogICAgIC8vIG9y
aWdpbmFsIHJlcXVlc3Qgd2FzIG5vdCBzYW1lLW9yaWdpbi4KLSAgICBpZiAobV9vcHRpb25zLmNy
b3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9PSBVc2VBY2Nlc3NDb250cm9sKSB7CisgICAgaWYgKG1f
b3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykgewogICAgICAgICBib29s
IGFsbG93UmVkaXJlY3QgPSBmYWxzZTsKICAgICAgICAgaWYgKG1fc2ltcGxlUmVxdWVzdCkgewog
ICAgICAgICAgICAgU3RyaW5nIGFjY2Vzc0NvbnRyb2xFcnJvckRlc2NyaXB0aW9uOwpAQCAtMjc2
LDcgKzI3Niw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zCiAgICAgQVNTRVJUKG1fY2xpZW50
KTsKIAogICAgIFN0cmluZyBhY2Nlc3NDb250cm9sRXJyb3JEZXNjcmlwdGlvbjsKLSAgICBpZiAo
IW1fc2FtZU9yaWdpblJlcXVlc3QgJiYgbV9vcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGlj
eSA9PSBVc2VBY2Nlc3NDb250cm9sKSB7CisgICAgaWYgKCFtX3NhbWVPcmlnaW5SZXF1ZXN0ICYm
IG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykgewogICAgICAgICBp
ZiAoIXBhc3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhyZXNwb25zZSwgbV9vcHRpb25zLmFsbG93Q3Jl
ZGVudGlhbHMoKSwgc2VjdXJpdHlPcmlnaW4oKSwgYWNjZXNzQ29udHJvbEVycm9yRGVzY3JpcHRp
b24pKSB7CiAgICAgICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbChSZXNvdXJjZUVycm9yKGVycm9y
RG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlc3BvbnNlLnVybCgpLCBhY2Nlc3NDb250cm9sRXJy
b3JEZXNjcmlwdGlvbiwgUmVzb3VyY2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCkpOwogICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMzU2LDYgKzM1Niw5IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNl
Y3VyCiAgICAgICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnMgPSBtX29wdGlvbnM7
CiAgICAgICAgIG9wdGlvbnMuc2V0Q2xpZW50Q3JlZGVudGlhbFBvbGljeShEb05vdEFza0NsaWVu
dEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMpOwogCisgICAgICAgIC8vIFNldCB0byBOb0NvcnMg
YXMgQ09SUyBjaGVja3MgYXJlIGRvbmUgaW4gRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyCisgICAg
ICAgIG9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzOworCiAgICAgICAg
IENhY2hlZFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0KHJlcXVlc3QsIG9wdGlvbnMpOwogICAg
ICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoKSkKICAgICAgICAgICAgIG5ld1JlcXVlc3Quc2V0SW5pdGlhdG9yKG1f
b3B0aW9ucy5pbml0aWF0b3IpOwpAQCAtNDMwLDcgKzQzMyw3IEBAIGJvb2wgRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShjb25zdCBVUkwm
IHVybCwKIAogYm9vbCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmlzQWxsb3dlZFJlZGlyZWN0
KGNvbnN0IFVSTCYgdXJsKQogewotICAgIGlmIChtX29wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0
UG9saWN5ID09IEFsbG93Q3Jvc3NPcmlnaW5SZXF1ZXN0cykKKyAgICBpZiAobV9vcHRpb25zLm1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOb0NvcnMpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgcmV0dXJuIG1fc2FtZU9yaWdpblJlcXVlc3QgJiYgc2VjdXJpdHlPcmlnaW4oKS5jYW5S
ZXF1ZXN0KHVybCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAK
aW5kZXggMTdiY2RkOTdkNGRmN2ZkY2NiYzY5ODE3YTg5MGZkOTdjM2Q2M2ZlMC4uYmY0NTBmNmFk
ZDE1YmU4M2EzZGY3NTM5ODE3YTE1MTFmZDVjNmQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNDMsMTYgKzQzLDE2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6OlRocmVhZGFibGVMb2FkZXJPcHRpb25z
KCkKIHsKKyAgICBtb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOwogfQogCiBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6flRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkKIHsKIH0K
IAotVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6OlRocmVhZGFibGVMb2FkZXJPcHRpb25zKGNvbnN0
IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgYmFzZU9wdGlvbnMsIFByZWZsaWdodFBvbGljeSBwcmVm
bGlnaHRQb2xpY3ksIENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSBjcm9zc09yaWdpblJlcXVlc3RQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50LCBTdHJpbmcmJiBpbml0aWF0b3IpCitUaHJlYWRhYmxlTG9hZGVyT3B0
aW9uczo6VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMoY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25z
JiBiYXNlT3B0aW9ucywgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQs
IFN0cmluZyYmIGluaXRpYXRvcikKICAgICA6IFJlc291cmNlTG9hZGVyT3B0aW9ucyhiYXNlT3B0
aW9ucykKICAgICAsIHByZWZsaWdodFBvbGljeShwcmVmbGlnaHRQb2xpY3kpCi0gICAgLCBjcm9z
c09yaWdpblJlcXVlc3RQb2xpY3koY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5KQogICAgICwgY29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQoY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQpCiAgICAgLCBpbml0aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggMzRjMDdhZDFlM2JhYWUxMGI1ZWU4
Yzk3NGNlMjIyMGRjNmU3ZjhkOC4uNzlhOWMzNGEzYWEzZTcyMWI0NWFhNDc0MjgzNjM3NGM5ZTc4
MWM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC00NSwx
MiArNDUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAgICBjbGFzcyBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50OwotICAgIAotICAgIGVudW0gQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IHsK
LSAgICAgICAgRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMsCi0gICAgICAgIFVzZUFjY2Vzc0NvbnRy
b2wsCi0gICAgICAgIEFsbG93Q3Jvc3NPcmlnaW5SZXF1ZXN0cwotICAgIH07CiAKICAgICBlbnVt
IFByZWZsaWdodFBvbGljeSB7CiAgICAgICAgIENvbnNpZGVyUHJlZmxpZ2h0LApAQCAtNjcsMTEg
KzYxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHN0cnVjdCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyA6IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgICAgIFRocmVhZGFibGVM
b2FkZXJPcHRpb25zKCk7Ci0gICAgICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYsIFByZWZsaWdodFBvbGljeSwgQ3Jvc3NPcmlnaW5SZXF1ZXN0
UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU3RyaW5nJiYgaW5pdGlh
dG9yKTsKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMoY29uc3QgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zJiwgUHJlZmxpZ2h0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNl
bWVudCwgU3RyaW5nJiYgaW5pdGlhdG9yKTsKICAgICAgICAgflRocmVhZGFibGVMb2FkZXJPcHRp
b25zKCk7CiAKICAgICAgICAgUHJlZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSB7IENvbnNp
ZGVyUHJlZmxpZ2h0IH07Ci0gICAgICAgIENyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSBjcm9zc09y
aWdpblJlcXVlc3RQb2xpY3kgeyBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cyB9OwogICAgICAgICBD
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudCB7IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVj
dFNyY0RpcmVjdGl2ZSB9OwogICAgICAgICBTdHJpbmcgaW5pdGlhdG9yOyAvLyBUaGlzIGNhbm5v
dCBiZSBhbiBBdG9taWNTdHJpbmcsIGFzIGlzb2xhdGVkQ29weSgpIHdvdWxkbid0IGNyZWF0ZSBh
biBvYmplY3QgdGhhdCdzIHNhZmUgZm9yIHBhc3NpbmcgdG8gYW5vdGhlciB0aHJlYWQuCiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCA5MGMwNGQyZThlZjI5ZTUzMmMyMjg4NDUzMmQ0ZjBiNzEyOWRiYmM1Li43MDlhYzYx
MTViM2E3NDczOWZiMWM2YjM3YmE0ZWIxY2NlMDZlNmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHN0
cnVjdCBMb2FkZXJUYXNrT3B0aW9ucyB7CiB9OwogCiBMb2FkZXJUYXNrT3B0aW9uczo6TG9hZGVy
VGFza09wdGlvbnMoY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0
IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBvcmlnaW4pCi0gICAgOiBv
cHRpb25zKG9wdGlvbnMsIG9wdGlvbnMucHJlZmxpZ2h0UG9saWN5LCBvcHRpb25zLmNyb3NzT3Jp
Z2luUmVxdWVzdFBvbGljeSwgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVu
dCwgb3B0aW9ucy5pbml0aWF0b3IuaXNvbGF0ZWRDb3B5KCkpCisgICAgOiBvcHRpb25zKG9wdGlv
bnMsIG9wdGlvbnMucHJlZmxpZ2h0UG9saWN5LCBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBvcHRpb25zLmluaXRpYXRvci5pc29sYXRlZENvcHkoKSkKICAgICAsIHJl
ZmVycmVyKHJlZmVycmVyLmlzb2xhdGVkQ29weSgpKQogICAgICwgb3JpZ2luKG9yaWdpbi5pc29s
YXRlZENvcHkoKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggYTdiZjQ1
OTdjZTUwYmRkZjRlYzNmZTZkYzBmMGEwODdiNzVjYWNmNC4uMjRhZTA4ZGFlYjAwZDlmYjQ3NTEw
MjljYzM4MjdkYWVjZWZiZjZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAg
LTExMSw3ICsxMTEsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpjb25uZWN0KCkKICAgICBvcHRpb25z
LnNldEFsbG93Q3JlZGVudGlhbHMoKG9yaWdpbi5jYW5SZXF1ZXN0KG1fdXJsKSB8fCBtX3dpdGhD
cmVkZW50aWFscykgPyBBbGxvd1N0b3JlZENyZWRlbnRpYWxzIDogRG9Ob3RBbGxvd1N0b3JlZENy
ZWRlbnRpYWxzKTsKICAgICBvcHRpb25zLmNyZWRlbnRpYWxzID0gbV93aXRoQ3JlZGVudGlhbHMg
PyBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpJbmNsdWRlIDogRmV0Y2hPcHRpb25zOjpDcmVk
ZW50aWFsczo6U2FtZU9yaWdpbjsKICAgICBvcHRpb25zLnByZWZsaWdodFBvbGljeSA9IFByZXZl
bnRQcmVmbGlnaHQ7Ci0gICAgb3B0aW9ucy5jcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgPSBVc2VB
Y2Nlc3NDb250cm9sOworICAgIG9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Q29y
czsKICAgICBvcHRpb25zLnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsK
ICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3koKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBD
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNvbm5lY3RTcmNEaXJlY3Rp
dmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBkNTVmYmU5YmYxYjk4OTkzNDM3
YTQ4YmI3NWNlYTBkOWY0YjY0MzM5Li45ZDYyYmJlZWQ5ZWIzYjhmODUyZGE4MmNkMjEzZjFlYmRh
MDBkODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC05NSw3ICs5NSw3IEBAIFJl
ZlB0cjxXb3JrZXI+IFdvcmtlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IFN0cmluZyYgdXJsCiAKICAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyID0gV29y
a2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKICAgICBhdXRvIGNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50ID0gc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
ID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ2hpbGRTcmNEaXJlY3RpdmU7Ci0g
ICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCZjb250ZXh0LCBz
Y3JpcHRVUkwsIERlbnlDcm9zc09yaWdpblJlcXVlc3RzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCwgd29ya2VyLnB0cigpKTsKKyAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5s
b2FkQXN5bmNocm9ub3VzbHkoJmNvbnRleHQsIHNjcmlwdFVSTCwgRmV0Y2hPcHRpb25zOjpNb2Rl
OjpTYW1lT3JpZ2luLCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgd29ya2VyLnB0
cigpKTsKICAgICByZXR1cm4gV1RGTW92ZSh3b3JrZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDZhZTk2YTQwMDFhZjhhYmEwYjRh
ZGMwZjBlNDExNjJmNWYxMzA2YzguLjU3MTkwZDEzMjBmZWI0ZDA0MjhkMzJmOWJlY2Y1ZDE4YzQy
YTBmZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0
cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscywgRXhjZXB0aW9uQ29kZSYKICAgICAgICAgfQog
CiAgICAgICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IHNjcmlwdExvYWRlciA9IFdvcmtlclNj
cmlwdExvYWRlcjo6Y3JlYXRlKCk7Ci0gICAgICAgIHNjcmlwdExvYWRlci0+bG9hZFN5bmNocm9u
b3VzbHkoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwsIEFsbG93Q3Jvc3NPcmlnaW5SZXF1
ZXN0cywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5ID8gQ29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlU2NyaXB0U3JjRGlyZWN0aXZlKTsKKyAgICAgICAg
c2NyaXB0TG9hZGVyLT5sb2FkU3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IHVybCwgRmV0Y2hPcHRpb25zOjpNb2RlOjpOb0NvcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpE
b05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVNj
cmlwdFNyY0RpcmVjdGl2ZSk7CiAKICAgICAgICAgLy8gSWYgdGhlIGZldGNoaW5nIGF0dGVtcHQg
ZmFpbGVkLCB0aHJvdyBhIE5FVFdPUktfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgYWxsIHRoZXNl
IHN0ZXBzLgogICAgICAgICBpZiAoc2NyaXB0TG9hZGVyLT5mYWlsZWQoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDE4ZGM1MGNkMDdm
MzFiNzViYmMzZjcyOGU3Y2NjMDQ4ZDZiMmE5NDguLjgwYWNlYjU5OWFhYThhNjg0OGJhMTNhNDkx
NzgwYjc1ZjRiMzhkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
U2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgV29ya2VyU2NyaXB0TG9hZGVyOjp+V29ya2Vy
U2NyaXB0TG9hZGVyKCkKIHsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGNvbnN0IFVSTCYgdXJsLCBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgY3Jvc3NPcmlnaW5SZXF1
ZXN0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudCkKK3ZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hy
b25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBj
b25zdCBVUkwmIHVybCwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIENvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50KQogewogICAg
IG1fdXJsID0gdXJsOwogCkBAIC02NiwxNCArNjYsMTQgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGkKIAogICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnM7CiAgICAgb3B0aW9ucy5z
ZXRBbGxvd0NyZWRlbnRpYWxzKEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpOwotICAgIG9wdGlvbnMu
Y3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID0gY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5OworICAg
IG9wdGlvbnMubW9kZSA9IG1vZGU7CiAgICAgb3B0aW9ucy5zZXRTZW5kTG9hZENhbGxiYWNrcyhT
ZW5kQ2FsbGJhY2tzKTsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ7CiAKICAgICBXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGRvd25jYXN0PFdvcmtlckds
b2JhbFNjb3BlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSwgKnJlcXVlc3QsICp0aGlzLCBvcHRp
b25zKTsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwm
IHVybCwgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IGNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSwg
Q29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5RW5m
b3JjZW1lbnQsIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCogY2xpZW50KQordm9pZCBXb3JrZXJT
Y3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgRmV0Y2hPcHRpb25zOjpNb2Rl
IG1vZGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQqIGNsaWVudCkKIHsKICAg
ICBBU1NFUlQoY2xpZW50KTsKICAgICBtX2NsaWVudCA9IGNsaWVudDsKQEAgLTg1LDcgKzg1LDcg
QEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXQKIAogICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25z
IG9wdGlvbnM7CiAgICAgb3B0aW9ucy5zZXRBbGxvd0NyZWRlbnRpYWxzKEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMpOwotICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID0gY3Jvc3NP
cmlnaW5SZXF1ZXN0UG9saWN5OworICAgIG9wdGlvbnMubW9kZSA9IG1vZGU7CiAgICAgb3B0aW9u
cy5zZXRTZW5kTG9hZENhbGxiYWNrcyhTZW5kQ2FsbGJhY2tzKTsKICAgICBvcHRpb25zLmNvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmlu
ZGV4IDRiMTViNzliODNhYWYwZDgwYjlmNWI3YmZhNjJiMjE2Y2NhNjYyOTEuLjJlZWMyYWQxZWY0
ZmI4N2UxNGEyMmZlZjg2NTFlYTYwYzM1MzYxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNTQsOCArNTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJTY3JpcHRMb2FkZXIp
OwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5LCBDb250
ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCk7Ci0gICAgICAgIHZvaWQgbG9hZEFzeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBDcm9zc09yaWdpblJl
cXVlc3RQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBXb3JrZXJTY3Jp
cHRMb2FkZXJDbGllbnQqKTsKKyAgICAgICAgdm9pZCBsb2FkU3luY2hyb25vdXNseShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgRmV0Y2hPcHRpb25zOjpNb2RlLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCk7CisgICAgICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1v
ZGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBXb3JrZXJTY3JpcHRMb2FkZXJD
bGllbnQqKTsKIAogICAgICAgICB2b2lkIG5vdGlmeUVycm9yKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IGU3MTlkZjJiYzAzMTFhYzBjZWY1YzZmMzhmZDU2ZDc3
ZjU3ZThkMzkuLjNiNDgxMDkyZmQxM2U0NTU4NDYyOWEzN2UzZTFjMjQ1ZjY2YTAyZDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNzE0LDcgKzcxNCw3IEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgb3B0
aW9ucy5wcmVmbGlnaHRQb2xpY3kgPSB1cGxvYWRFdmVudHMgPyBGb3JjZVByZWZsaWdodCA6IENv
bnNpZGVyUHJlZmxpZ2h0OwogICAgIG9wdGlvbnMuc2V0QWxsb3dDcmVkZW50aWFscygobV9zYW1l
T3JpZ2luUmVxdWVzdCB8fCBtX2luY2x1ZGVDcmVkZW50aWFscykgPyBBbGxvd1N0b3JlZENyZWRl
bnRpYWxzIDogRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKICAgICBvcHRpb25zLmNyZWRl
bnRpYWxzID0gbV9pbmNsdWRlQ3JlZGVudGlhbHMgPyBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxz
OjpJbmNsdWRlIDogRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbjsKLSAgICBv
cHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9IFVzZUFjY2Vzc0NvbnRyb2w7CisgICAg
b3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzOwogICAgIG9wdGlvbnMuY29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2ZTsKICAgICBvcHRpb25z
LmluaXRpYXRvciA9IGNhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMoKS54bWxodHRwcmVx
dWVzdDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284098</attachid>
            <date>2016-07-20 05:54:29 -0700</date>
            <delta_ts>2016-07-20 23:13:11 -0700</delta_ts>
            <desc>Updating change log</desc>
            <filename>bug-159417-20160720145331.patch</filename>
            <type>text/plain</type>
            <size>21407</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNkOGIxM2U1NjlhNjRk
YmNjZmViZDFkN2M2NmUxNmE0MGU4Y2Q1OS4uYzQxNzM0NmRmYzZlZThkZmJiNDU5MmM2MGFkYzFm
YzQwOTNjM2RmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTA3LTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY3Jvc3NPcmln
aW5SZXF1ZXN0UG9saWN5IGZyb20gVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTQxNworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG9ic2VydmFibGUgY2hhbmdl
LgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGZXRjaExvYWRlcjo6c3RhcnQpOiBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cyAtPiBG
ZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVPcmlnaW4uCisgICAgICAgICogZmlsZWFwaS9GaWxlUmVh
ZGVyTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXJMb2FkZXI6OnN0YXJ0
KTogRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMgLT4gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3Jp
Z2luLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50Ojpsb2FkUmVzb3VyY2UpOiBBbGxv
d0Nyb3NzT3JpZ2luUmVxdWVzdHMgLT4gRmV0Y2hPcHRpb25zOjpNb2RlOjpOb0NvcnMuCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcik6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjptYWtl
Q3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KTogVXNlQWNjZXNzQ29udHJvbCAtPiBGZXRjaE9wdGlv
bnM6Ok1vZGU6OkNvcnMuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXI6OnJlZGlyZWN0UmVjZWl2ZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KTogVXNlIE5vQ29y
cyBhcyBvcHRpb24gcGFzc2VkIHRvIFJlc291cmNlTG9hZGVyLiBUaGlzIGFsbG93cworICAgICAg
ICBkZXNhY3RpdmF0aW5nIFJlc291cmNlTG9hZGVyIENPUlMgY2hlY2tzIGFzIHRoZXkgYXJlIGRv
bmUgaW4gRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIHJpZ2h0IG5vdy4gSW4gdGhlIGZ1dHVyZSwK
KyAgICAgICAgdGhlc2UgY2hlY2tzIHNob3VsZCBiZSBtb3ZlZCB0byBSZXNvdXJjZUxvYWRlciBh
bmQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIHNob3VsZCBkaXJlY3RseSBwYXNzIHRoZSBmZXRj
aCBtb2RlCisgICAgICAgIG9wdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6aXNBbGxvd2VkUmVkaXJlY3QpOiBBbGxvd0Nyb3NzT3JpZ2luUmVxdWVzdHMg
LT4gRmV0Y2hPcHRpb25zOjpNb2RlOjpOb0NvcnMuCisgICAgICAgICogbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6
OlRocmVhZGFibGVMb2FkZXJPcHRpb25zKTogUmVtb3ZpbmcgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9s
aWN5LgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmg6IERpdHRvLgorICAgICAg
ICAqIGxvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxvYWRlclRhc2tPcHRpb25zOjpMb2FkZXJUYXNrT3B0aW9ucyk6IERpdHRvLgorICAgICAgICAq
IHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNv
bm5lY3QpOiBVc2VBY2Nlc3NDb250cm9sIC0+IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycy4KKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNy
ZWF0ZSk6IERlbnlDcm9zc09yaWdpblJlcXVlc3RzIC0+IEZldGNoT3B0aW9uczo6TW9kZTo6U2Ft
ZU9yaWdpbi4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjppbXBvcnRTY3JpcHRzKTogQWxsb3dDcm9z
c09yaWdpblJlcXVlc3RzIC0+IEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzLgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
clNjcmlwdExvYWRlcjo6bG9hZFN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKwogMjAx
Ni0wNy0xOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0Zl
dGNoIEFQSV0gQWRkIGEgSlMgYnVpbHRpbiB0byBpbXBsZW1lbnQgaHR0cHM6Ly9mZXRjaC5zcGVj
LndoYXR3Zy5vcmcvI2NvbmNlcHQtaGVhZGVycy1maWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IDZlNzllNTRlYTc2YzM3NGEwOTkxMTMzOGYx
OWNkOTZlZDMzYWE5NDIuLjFiMjNmMDQ5ZTY3YjQ2NzFjMWUxNmE2ODllMWRiMmI0NGFkMTNmODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC02
NCw3ICs2NCw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIEJsb2ImIGJsb2IpCiAgICAgb3B0aW9ucy5zZXREYXRhQnVmZmVyaW5nUG9s
aWN5KERvTm90QnVmZmVyRGF0YSk7CiAgICAgb3B0aW9ucy5wcmVmbGlnaHRQb2xpY3kgPSBDb25z
aWRlclByZWZsaWdodDsKICAgICBvcHRpb25zLnNldEFsbG93Q3JlZGVudGlhbHMoQWxsb3dTdG9y
ZWRDcmVkZW50aWFscyk7Ci0gICAgb3B0aW9ucy5jcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgPSBE
ZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0czsKKyAgICBvcHRpb25zLm1vZGUgPSBGZXRjaE9wdGlvbnM6
Ok1vZGU6OlNhbWVPcmlnaW47CiAgICAgb3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudCA9IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2U7
CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSgmY29udGV4dCwgdGhp
cywgcmVxdWVzdCwgb3B0aW9ucyk7CkBAIC03OSwxMSArNzksMTEgQEAgdm9pZCBGZXRjaExvYWRl
cjo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1
ZXN0JiByZXEKICAgICBvcHRpb25zLnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJE
YXRhKTsKICAgICBvcHRpb25zLnByZWZsaWdodFBvbGljeSA9IENvbnNpZGVyUHJlZmxpZ2h0Owog
ICAgIG9wdGlvbnMuc2V0QWxsb3dDcmVkZW50aWFscyhBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsK
LSAgICBvcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9IERlbnlDcm9zc09yaWdpblJl
cXVlc3RzOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBD
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RG9Ob3RFbmZvcmNlOwogCiAgICAgLy8g
RklYTUU6IFBhc3MgZGlyZWN0bHkgYWxsIGZldGNoIG9wdGlvbnMgdG8gbG9hZGVyIG9wdGlvbnMu
CiAgICAgb3B0aW9ucy5yZWRpcmVjdCA9IHJlcXVlc3QuZmV0Y2hPcHRpb25zKCkucmVkaXJlY3Q7
CisgICAgb3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luOwogCiAg
ICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoJmNvbnRleHQsIHRoaXMsIHJl
cXVlc3QuaW50ZXJuYWxSZXF1ZXN0KCksIG9wdGlvbnMpOwogICAgIG1faXNTdGFydGVkID0gbV9s
b2FkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAppbmRl
eCAzOTFmMjM1MzgwYjkxYjY4ODQwZWM1ODM5NDUzNTNiMTM3Mzk1MGJmLi43ZjUyZDBlMTlmN2Fl
YmZkMmM4YTI0NjE2NDRkMmYxNjQ3ZjgyNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlckxvYWRlci5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9h
ZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBCbG8KICAgICBvcHRpb25zLnNldERhdGFCdWZmZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRh
KTsKICAgICBvcHRpb25zLnByZWZsaWdodFBvbGljeSA9IENvbnNpZGVyUHJlZmxpZ2h0OwogICAg
IG9wdGlvbnMuc2V0QWxsb3dDcmVkZW50aWFscyhBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKLSAg
ICBvcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9IERlbnlDcm9zc09yaWdpblJlcXVl
c3RzOworICAgIG9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6U2FtZU9yaWdpbjsK
ICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5mb3JjZTsKIAogICAgIGlmIChtX2NsaWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3Jr
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2Vu
dC5jcHAKaW5kZXggYzQ0YmQ1ZDVkMDZkYzZmYzM1OGVmYjA3ZmNhNDVjZDA4YmU1YTU2ZS4uNWQ0
YzY3NjNkMjg2ODRkMmFlNzM2YTg4YTZmODg3MDA2Njg0ZDcyMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKQEAgLTY3Myw3ICs2
NzMsNyBAQCB2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6bG9hZFJlc291cmNlKEVycm9yU3Ry
aW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJgogICAgIG9wdGlvbnMuc2V0U2VuZExvYWRD
YWxsYmFja3MoU2VuZENhbGxiYWNrcyk7IC8vIFNvIHdlIHJlbW92ZSB0aGlzIGZyb20gbV9oaWRk
ZW5SZXF1ZXN0SWRlbnRpZmllcnMgb24gY29tcGxldGlvbi4KICAgICBvcHRpb25zLnNldEFsbG93
Q3JlZGVudGlhbHMoQWxsb3dTdG9yZWRDcmVkZW50aWFscyk7CiAgICAgb3B0aW9ucy5zZXREZWZl
cnNMb2FkaW5nUG9saWN5KERlZmVyc0xvYWRpbmdQb2xpY3k6OkRpc2FsbG93RGVmZXJzTG9hZGlu
Zyk7IC8vIFNvIHRoZSByZXF1ZXN0IGlzIG5ldmVyIGRlZmVycmVkLgotICAgIG9wdGlvbnMuY3Jv
c3NPcmlnaW5SZXF1ZXN0UG9saWN5ID0gQWxsb3dDcm9zc09yaWdpblJlcXVlc3RzOworICAgIG9w
dGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzOwogICAgIG9wdGlvbnMuY29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudDo6RG9Ob3RFbmZvcmNlOwogCiAgICAgLy8gSW5zcGVjdG9yVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCBkZWxldGVzIGl0c2VsZiB3aGVuIHRoZSBsb2FkIGNvbXBsZXRlcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXgg
YmI3MzZkMWE0NDVjZWQzMjJiMjJiM2M1Yzc4MTNjMjNhMjQ1ZGM3OS4uMTZmM2FkNjA2MmQ2MGI5
Y2Y2ZWE1ZjEzYmRlODViOTViNDQyNmMzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTk2LDEyICs5NiwxMiBAQCBEb2N1
bWVudFRocmVhZGFibGVMb2FkZXI6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcihEb2N1bWVudCYg
ZG9jdW1lbnQsIFRocmVhZGFibAogCiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oaXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kocmVxdWVzdC51cmwoKSkpOwogCi0g
ICAgaWYgKG1fc2FtZU9yaWdpblJlcXVlc3QgfHwgbV9vcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVz
dFBvbGljeSA9PSBBbGxvd0Nyb3NzT3JpZ2luUmVxdWVzdHMpIHsKKyAgICBpZiAobV9zYW1lT3Jp
Z2luUmVxdWVzdCB8fCBtX29wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5vQ29y
cykgewogICAgICAgICBsb2FkUmVxdWVzdChyZXF1ZXN0LCBEb1NlY3VyaXR5Q2hlY2spOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1fb3B0aW9ucy5jcm9zc09yaWdpblJlcXVl
c3RQb2xpY3kgPT0gRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMpIHsKKyAgICBpZiAobV9vcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luKSB7CiAgICAgICAgIG1fY2xp
ZW50LT5kaWRGYWlsKFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwg
cmVxdWVzdC51cmwoKSwgIkNyb3NzIG9yaWdpbiByZXF1ZXN0cyBhcmUgbm90IHN1cHBvcnRlZC4i
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMTEsNyArMTExLDcgQEAgRG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXIoRG9jdW1lbnQmIGRvY3Vt
ZW50LCBUaHJlYWRhYmwKIAogdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9z
c09yaWdpbkFjY2Vzc1JlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewot
ICAgIEFTU0VSVChtX29wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID09IFVzZUFjY2Vz
c0NvbnRyb2wpOworICAgIEFTU0VSVChtX29wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1v
ZGU6OkNvcnMpOwogCiAgICAgYXV0byBjcm9zc09yaWdpblJlcXVlc3QgPSByZXF1ZXN0OwogICAg
IHVwZGF0ZVJlcXVlc3RGb3JBY2Nlc3NDb250cm9sKGNyb3NzT3JpZ2luUmVxdWVzdCwgc2VjdXJp
dHlPcmlnaW4oKSwgbV9vcHRpb25zLmFsbG93Q3JlZGVudGlhbHMoKSk7CkBAIC0yMjIsNyArMjIy
LDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlLCBSZXNvdXIKICAgICAvLyBXaGVuIHVzaW5nIGFjY2VzcyBj
b250cm9sLCBvbmx5IHNpbXBsZSBjcm9zcyBvcmlnaW4gcmVxdWVzdHMgYXJlIGFsbG93ZWQgdG8g
cmVkaXJlY3QuIFRoZSBuZXcgcmVxdWVzdCBVUkwgbXVzdCBoYXZlIGEgc3VwcG9ydGVkCiAgICAg
Ly8gc2NoZW1lIGFuZCBub3QgY29udGFpbiB0aGUgdXNlcmluZm8gcHJvZHVjdGlvbi4gSW4gYWRk
aXRpb24sIHRoZSByZWRpcmVjdCByZXNwb25zZSBtdXN0IHBhc3MgdGhlIGFjY2VzcyBjb250cm9s
IGNoZWNrIGlmIHRoZQogICAgIC8vIG9yaWdpbmFsIHJlcXVlc3Qgd2FzIG5vdCBzYW1lLW9yaWdp
bi4KLSAgICBpZiAobV9vcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9PSBVc2VBY2Nl
c3NDb250cm9sKSB7CisgICAgaWYgKG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9k
ZTo6Q29ycykgewogICAgICAgICBib29sIGFsbG93UmVkaXJlY3QgPSBmYWxzZTsKICAgICAgICAg
aWYgKG1fc2ltcGxlUmVxdWVzdCkgewogICAgICAgICAgICAgU3RyaW5nIGFjY2Vzc0NvbnRyb2xF
cnJvckRlc2NyaXB0aW9uOwpAQCAtMjc2LDcgKzI3Niw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBj
b25zCiAgICAgQVNTRVJUKG1fY2xpZW50KTsKIAogICAgIFN0cmluZyBhY2Nlc3NDb250cm9sRXJy
b3JEZXNjcmlwdGlvbjsKLSAgICBpZiAoIW1fc2FtZU9yaWdpblJlcXVlc3QgJiYgbV9vcHRpb25z
LmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9PSBVc2VBY2Nlc3NDb250cm9sKSB7CisgICAgaWYg
KCFtX3NhbWVPcmlnaW5SZXF1ZXN0ICYmIG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6Q29ycykgewogICAgICAgICBpZiAoIXBhc3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhyZXNw
b25zZSwgbV9vcHRpb25zLmFsbG93Q3JlZGVudGlhbHMoKSwgc2VjdXJpdHlPcmlnaW4oKSwgYWNj
ZXNzQ29udHJvbEVycm9yRGVzY3JpcHRpb24pKSB7CiAgICAgICAgICAgICBtX2NsaWVudC0+ZGlk
RmFpbChSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlc3BvbnNl
LnVybCgpLCBhY2Nlc3NDb250cm9sRXJyb3JEZXNjcmlwdGlvbiwgUmVzb3VyY2VFcnJvcjo6VHlw
ZTo6QWNjZXNzQ29udHJvbCkpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzU2LDYgKzM1Niw5
IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdChjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFNlY3VyCiAgICAgICAgIFRocmVhZGFibGVMb2FkZXJPcHRp
b25zIG9wdGlvbnMgPSBtX29wdGlvbnM7CiAgICAgICAgIG9wdGlvbnMuc2V0Q2xpZW50Q3JlZGVu
dGlhbFBvbGljeShEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMpOwogCisg
ICAgICAgIC8vIFNldCB0byBOb0NvcnMgYXMgQ09SUyBjaGVja3MgYXJlIGRvbmUgaW4gRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyCisgICAgICAgIG9wdGlvbnMubW9kZSA9IEZldGNoT3B0aW9uczo6
TW9kZTo6Tm9Db3JzOworCiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0
KHJlcXVlc3QsIG9wdGlvbnMpOwogICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJjZVRpbWluZ0VuYWJsZWQoKSkKICAgICAgICAgICAgIG5l
d1JlcXVlc3Quc2V0SW5pdGlhdG9yKG1fb3B0aW9ucy5pbml0aWF0b3IpOwpAQCAtNDMwLDcgKzQz
Myw3IEBAIGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRCeUNvbnRlbnRT
ZWN1cml0eVBvbGljeShjb25zdCBVUkwmIHVybCwKIAogYm9vbCBEb2N1bWVudFRocmVhZGFibGVM
b2FkZXI6OmlzQWxsb3dlZFJlZGlyZWN0KGNvbnN0IFVSTCYgdXJsKQogewotICAgIGlmIChtX29w
dGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID09IEFsbG93Q3Jvc3NPcmlnaW5SZXF1ZXN0
cykKKyAgICBpZiAobV9vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOb0NvcnMp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIG1fc2FtZU9yaWdpblJlcXVlc3Qg
JiYgc2VjdXJpdHlPcmlnaW4oKS5jYW5SZXF1ZXN0KHVybCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggMTdiY2RkOTdkNGRmN2ZkY2NiYzY5ODE3YTg5
MGZkOTdjM2Q2M2ZlMC4uYmY0NTBmNmFkZDE1YmU4M2EzZGY3NTM5ODE3YTE1MTFmZDVjNmQ0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNDMsMTYg
KzQzLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6
OlRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkKIHsKKyAgICBtb2RlID0gRmV0Y2hPcHRpb25zOjpN
b2RlOjpTYW1lT3JpZ2luOwogfQogCiBUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6flRocmVhZGFi
bGVMb2FkZXJPcHRpb25zKCkKIHsKIH0KIAotVGhyZWFkYWJsZUxvYWRlck9wdGlvbnM6OlRocmVh
ZGFibGVMb2FkZXJPcHRpb25zKGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgYmFzZU9wdGlv
bnMsIFByZWZsaWdodFBvbGljeSBwcmVmbGlnaHRQb2xpY3ksIENyb3NzT3JpZ2luUmVxdWVzdFBv
bGljeSBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBTdHJpbmcmJiBpbml0aWF0
b3IpCitUaHJlYWRhYmxlTG9hZGVyT3B0aW9uczo6VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMoY29u
c3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBiYXNlT3B0aW9ucywgUHJlZmxpZ2h0UG9saWN5IHBy
ZWZsaWdodFBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFN0cmluZyYmIGluaXRpYXRvcikKICAgICA6IFJlc291
cmNlTG9hZGVyT3B0aW9ucyhiYXNlT3B0aW9ucykKICAgICAsIHByZWZsaWdodFBvbGljeShwcmVm
bGlnaHRQb2xpY3kpCi0gICAgLCBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3koY3Jvc3NPcmlnaW5S
ZXF1ZXN0UG9saWN5KQogICAgICwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQoY29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQpCiAgICAgLCBpbml0aWF0b3IoV1RGTW92ZShp
bml0aWF0b3IpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5k
ZXggMzRjMDdhZDFlM2JhYWUxMGI1ZWU4Yzk3NGNlMjIyMGRjNmU3ZjhkOC4uNzlhOWMzNGEzYWEz
ZTcyMWI0NWFhNDc0MjgzNjM3NGM5ZTc4MWM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlci5oCkBAIC00NSwxMiArNDUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdp
bjsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwotICAgIAotICAgIGVudW0gQ3Jv
c3NPcmlnaW5SZXF1ZXN0UG9saWN5IHsKLSAgICAgICAgRGVueUNyb3NzT3JpZ2luUmVxdWVzdHMs
Ci0gICAgICAgIFVzZUFjY2Vzc0NvbnRyb2wsCi0gICAgICAgIEFsbG93Q3Jvc3NPcmlnaW5SZXF1
ZXN0cwotICAgIH07CiAKICAgICBlbnVtIFByZWZsaWdodFBvbGljeSB7CiAgICAgICAgIENvbnNp
ZGVyUHJlZmxpZ2h0LApAQCAtNjcsMTEgKzYxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIHN0cnVjdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyA6IFJlc291cmNlTG9hZGVyT3B0aW9u
cyB7CiAgICAgICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKCk7Ci0gICAgICAgIFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zKGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYsIFByZWZsaWdodFBv
bGljeSwgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudCwgU3RyaW5nJiYgaW5pdGlhdG9yKTsKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMoY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgUHJlZmxpZ2h0UG9saWN5LCBDb250
ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU3RyaW5nJiYgaW5pdGlhdG9yKTsKICAgICAg
ICAgflRocmVhZGFibGVMb2FkZXJPcHRpb25zKCk7CiAKICAgICAgICAgUHJlZmxpZ2h0UG9saWN5
IHByZWZsaWdodFBvbGljeSB7IENvbnNpZGVyUHJlZmxpZ2h0IH07Ci0gICAgICAgIENyb3NzT3Jp
Z2luUmVxdWVzdFBvbGljeSBjcm9zc09yaWdpblJlcXVlc3RQb2xpY3kgeyBEZW55Q3Jvc3NPcmln
aW5SZXF1ZXN0cyB9OwogICAgICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBj
b250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCB7IENvbnRlbnRTZWN1cml0eVBvbGljeUVu
Zm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2ZSB9OwogICAgICAgICBTdHJpbmcg
aW5pdGlhdG9yOyAvLyBUaGlzIGNhbm5vdCBiZSBhbiBBdG9taWNTdHJpbmcsIGFzIGlzb2xhdGVk
Q29weSgpIHdvdWxkbid0IGNyZWF0ZSBhbiBvYmplY3QgdGhhdCdzIHNhZmUgZm9yIHBhc3Npbmcg
dG8gYW5vdGhlciB0aHJlYWQuCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9X
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA5MGMwNGQyZThlZjI5ZTUzMmMyMjg4NDUz
MmQ0ZjBiNzEyOWRiYmM1Li43MDlhYzYxMTViM2E3NDczOWZiMWM2YjM3YmE0ZWIxY2NlMDZlNmVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIu
Y3BwCkBAIC05MSw3ICs5MSw3IEBAIHN0cnVjdCBMb2FkZXJUYXNrT3B0aW9ucyB7CiB9OwogCiBM
b2FkZXJUYXNrT3B0aW9uczo6TG9hZGVyVGFza09wdGlvbnMoY29uc3QgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IFNlY3VyaXR5
T3JpZ2luJiBvcmlnaW4pCi0gICAgOiBvcHRpb25zKG9wdGlvbnMsIG9wdGlvbnMucHJlZmxpZ2h0
UG9saWN5LCBvcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSwgb3B0aW9ucy5jb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgb3B0aW9ucy5pbml0aWF0b3IuaXNvbGF0ZWRDb3B5
KCkpCisgICAgOiBvcHRpb25zKG9wdGlvbnMsIG9wdGlvbnMucHJlZmxpZ2h0UG9saWN5LCBvcHRp
b25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBvcHRpb25zLmluaXRpYXRvci5p
c29sYXRlZENvcHkoKSkKICAgICAsIHJlZmVycmVyKHJlZmVycmVyLmlzb2xhdGVkQ29weSgpKQog
ICAgICwgb3JpZ2luKG9yaWdpbi5pc29sYXRlZENvcHkoKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKaW5kZXggYTdiZjQ1OTdjZTUwYmRkZjRlYzNmZTZkYzBmMGEwODdiNzVjYWNm
NC4uMjRhZTA4ZGFlYjAwZDlmYjQ3NTEwMjljYzM4MjdkYWVjZWZiZjZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIEV2ZW50U291cmNl
Ojpjb25uZWN0KCkKICAgICBvcHRpb25zLnNldEFsbG93Q3JlZGVudGlhbHMoKG9yaWdpbi5jYW5S
ZXF1ZXN0KG1fdXJsKSB8fCBtX3dpdGhDcmVkZW50aWFscykgPyBBbGxvd1N0b3JlZENyZWRlbnRp
YWxzIDogRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKICAgICBvcHRpb25zLmNyZWRlbnRp
YWxzID0gbV93aXRoQ3JlZGVudGlhbHMgPyBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpJbmNs
dWRlIDogRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6U2FtZU9yaWdpbjsKICAgICBvcHRpb25z
LnByZWZsaWdodFBvbGljeSA9IFByZXZlbnRQcmVmbGlnaHQ7Ci0gICAgb3B0aW9ucy5jcm9zc09y
aWdpblJlcXVlc3RQb2xpY3kgPSBVc2VBY2Nlc3NDb250cm9sOworICAgIG9wdGlvbnMubW9kZSA9
IEZldGNoT3B0aW9uczo6TW9kZTo6Q29yczsKICAgICBvcHRpb25zLnNldERhdGFCdWZmZXJpbmdQ
b2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6
RW5mb3JjZUNvbm5lY3RTcmNEaXJlY3RpdmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApp
bmRleCBkNTVmYmU5YmYxYjk4OTkzNDM3YTQ4YmI3NWNlYTBkOWY0YjY0MzM5Li45ZDYyYmJlZWQ5
ZWIzYjhmODUyZGE4MmNkMjEzZjFlYmRhMDBkODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwCkBAIC05NSw3ICs5NSw3IEBAIFJlZlB0cjxXb3JrZXI+IFdvcmtlcjo6Y3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdXJsCiAKICAgICB3b3Jr
ZXItPm1fc2NyaXB0TG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKICAgICBh
dXRvIGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5ID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZv
cmNlQ2hpbGRTcmNEaXJlY3RpdmU7Ci0gICAgd29ya2VyLT5tX3NjcmlwdExvYWRlci0+bG9hZEFz
eW5jaHJvbm91c2x5KCZjb250ZXh0LCBzY3JpcHRVUkwsIERlbnlDcm9zc09yaWdpblJlcXVlc3Rz
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgd29ya2VyLnB0cigpKTsKKyAgICB3
b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoJmNvbnRleHQsIHNjcmlw
dFVSTCwgRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudCwgd29ya2VyLnB0cigpKTsKICAgICByZXR1cm4gV1RGTW92ZSh3b3JrZXIp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IDM2ZmMyNDJmNTk2ODk3NjU1ZGE0MzI1NDQ3NDMzNmUyOTJhM2JkYjkuLjc0NjczZWZlMTg3
NDM0MzY4MmI4NmQ4OTQ0M2YwMjIzMjVkOTJjNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0yMzYsNyArMjM2LDcgQEAgdm9pZCBXb3JrZXJH
bG9iYWxTY29wZTo6aW1wb3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscywgRXhj
ZXB0aW9uQ29kZSYKICAgICAgICAgfQogCiAgICAgICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+
IHNjcmlwdExvYWRlciA9IFdvcmtlclNjcmlwdExvYWRlcjo6Y3JlYXRlKCk7Ci0gICAgICAgIHNj
cmlwdExvYWRlci0+bG9hZFN5bmNocm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1
cmwsIEFsbG93Q3Jvc3NPcmlnaW5SZXF1ZXN0cywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5ID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90
RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlU2NyaXB0
U3JjRGlyZWN0aXZlKTsKKyAgICAgICAgc2NyaXB0TG9hZGVyLT5sb2FkU3luY2hyb25vdXNseShz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHVybCwgRmV0Y2hPcHRpb25zOjpNb2RlOjpOb0NvcnMs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSA/IENvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgOiBDb250ZW50U2VjdXJpdHlQb2xp
Y3lFbmZvcmNlbWVudDo6RW5mb3JjZVNjcmlwdFNyY0RpcmVjdGl2ZSk7CiAKICAgICAgICAgLy8g
SWYgdGhlIGZldGNoaW5nIGF0dGVtcHQgZmFpbGVkLCB0aHJvdyBhIE5FVFdPUktfRVJSIGV4Y2Vw
dGlvbiBhbmQgYWJvcnQgYWxsIHRoZXNlIHN0ZXBzLgogICAgICAgICBpZiAoc2NyaXB0TG9hZGVy
LT5mYWlsZWQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuY3BwCmluZGV4IDE4ZGM1MGNkMDdmMzFiNzViYmMzZjcyOGU3Y2NjMDQ4ZDZiMmE5NDguLjgw
YWNlYjU5OWFhYThhNjg0OGJhMTNhNDkxNzgwYjc1ZjRiMzhkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgV29y
a2VyU2NyaXB0TG9hZGVyOjp+V29ya2VyU2NyaXB0TG9hZGVyKCkKIHsKIH0KIAotdm9pZCBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLCBDcm9zc09yaWdpblJlcXVl
c3RQb2xpY3kgY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudCBjb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCkKK3ZvaWQgV29ya2Vy
U2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgRmV0Y2hPcHRpb25zOjpNb2Rl
IG1vZGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50KQogewogICAgIG1fdXJsID0gdXJsOwogCkBAIC02NiwxNCArNjYsMTQg
QEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGkKIAogICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25z
IG9wdGlvbnM7CiAgICAgb3B0aW9ucy5zZXRBbGxvd0NyZWRlbnRpYWxzKEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMpOwotICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID0gY3Jvc3NP
cmlnaW5SZXF1ZXN0UG9saWN5OworICAgIG9wdGlvbnMubW9kZSA9IG1vZGU7CiAgICAgb3B0aW9u
cy5zZXRTZW5kTG9hZENhbGxiYWNrcyhTZW5kQ2FsbGJhY2tzKTsKICAgICBvcHRpb25zLmNvbnRl
bnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQ7CiAKICAgICBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0
KSwgKnJlcXVlc3QsICp0aGlzLCBvcHRpb25zKTsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgQ3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5IGNy
b3NzT3JpZ2luUmVxdWVzdFBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQg
Y29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQsIFdvcmtlclNjcmlwdExvYWRlckNsaWVu
dCogY2xpZW50KQordm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwm
IHVybCwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQqIGNsaWVudCkKIHsKICAgICBBU1NFUlQoY2xpZW50KTsKICAgICBtX2NsaWVudCA9
IGNsaWVudDsKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRB
c3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXQKIAogICAg
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zIG9wdGlvbnM7CiAgICAgb3B0aW9ucy5zZXRBbGxvd0Ny
ZWRlbnRpYWxzKEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpOwotICAgIG9wdGlvbnMuY3Jvc3NPcmln
aW5SZXF1ZXN0UG9saWN5ID0gY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5OworICAgIG9wdGlvbnMu
bW9kZSA9IG1vZGU7CiAgICAgb3B0aW9ucy5zZXRTZW5kTG9hZENhbGxiYWNrcyhTZW5kQ2FsbGJh
Y2tzKTsKICAgICBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ID0gY29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDRiMTViNzliODNhYWYwZDgwYjlmNWI3YmZhNjJi
MjE2Y2NhNjYyOTEuLjJlZWMyYWQxZWY0ZmI4N2UxNGEyMmZlZjg2NTFlYTYwYzM1MzYxOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNTQsOCAr
NTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBXb3JrZXJTY3JpcHRMb2FkZXIpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBsb2Fk
U3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgQ3Jvc3NP
cmlnaW5SZXF1ZXN0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCk7Ci0g
ICAgICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBj
b25zdCBVUkwmLCBDcm9zc09yaWdpblJlcXVlc3RQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQqKTsKKyAgICAgICAgdm9pZCBs
b2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgVVJMJiwgRmV0
Y2hPcHRpb25zOjpNb2RlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCk7CisgICAg
ICAgIHZvaWQgbG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBVUkwmLCBGZXRjaE9wdGlvbnM6Ok1vZGUsIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2Vt
ZW50LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQqKTsKIAogICAgICAgICB2b2lkIG5vdGlmeUVy
cm9yKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IGU3MTlkZjJi
YzAzMTFhYzBjZWY1YzZmMzhmZDU2ZDc3ZjU3ZThkMzkuLjNiNDgxMDkyZmQxM2U0NTU4NDYyOWEz
N2UzZTFjMjQ1ZjY2YTAyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApA
QCAtNzE0LDcgKzcxNCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoRXhj
ZXB0aW9uQ29kZSYgZWMpCiAgICAgb3B0aW9ucy5wcmVmbGlnaHRQb2xpY3kgPSB1cGxvYWRFdmVu
dHMgPyBGb3JjZVByZWZsaWdodCA6IENvbnNpZGVyUHJlZmxpZ2h0OwogICAgIG9wdGlvbnMuc2V0
QWxsb3dDcmVkZW50aWFscygobV9zYW1lT3JpZ2luUmVxdWVzdCB8fCBtX2luY2x1ZGVDcmVkZW50
aWFscykgPyBBbGxvd1N0b3JlZENyZWRlbnRpYWxzIDogRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRp
YWxzKTsKICAgICBvcHRpb25zLmNyZWRlbnRpYWxzID0gbV9pbmNsdWRlQ3JlZGVudGlhbHMgPyBG
ZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpJbmNsdWRlIDogRmV0Y2hPcHRpb25zOjpDcmVkZW50
aWFsczo6U2FtZU9yaWdpbjsKLSAgICBvcHRpb25zLmNyb3NzT3JpZ2luUmVxdWVzdFBvbGljeSA9
IFVzZUFjY2Vzc0NvbnRyb2w7CisgICAgb3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpNb2Rl
OjpDb3JzOwogICAgIG9wdGlvbnMuY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkRvTm90RW5m
b3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNy
Y0RpcmVjdGl2ZTsKICAgICBvcHRpb25zLmluaXRpYXRvciA9IGNhY2hlZFJlc291cmNlUmVxdWVz
dEluaXRpYXRvcnMoKS54bWxodHRwcmVxdWVzdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>