<?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>161434</bug_id>
          
          <creation_ts>2016-08-31 05:38:05 -0700</creation_ts>
          <short_desc>[Fetch API] Fetch API should be able to load data URL in Same Origin mode</short_desc>
          <delta_ts>2016-08-31 13:20:41 -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>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1224937</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-31 05:38:05 -0700</bug_when>
    <thetext>CachedResourceLoader is forbidding data URL loads in SameOrigin mode currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224941</commentid>
    <comment_count>1</comment_count>
      <attachid>287510</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-31 06:45:06 -0700</bug_when>
    <thetext>Created attachment 287510
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224964</commentid>
    <comment_count>2</comment_count>
      <attachid>287510</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-08-31 09:31:25 -0700</bug_when>
    <thetext>Comment on attachment 287510
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:388
&gt; +static inline bool isSameOriginDataURL(const URL&amp; url, const ResourceLoaderOptions&amp; options, bool didReceiveRedirectResponse)
&gt; +{
&gt; +    return !didReceiveRedirectResponse &amp;&amp; url.protocolIsData() &amp;&amp; options.sameOriginDataURLFlag == SameOriginDataURLFlag::Set;
&gt; +}

I don&apos;t understand why !didReceiveRedirectResponse is here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224974</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-31 09:43:12 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 287510 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=287510&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:388
&gt; &gt; +static inline bool isSameOriginDataURL(const URL&amp; url, const ResourceLoaderOptions&amp; options, bool didReceiveRedirectResponse)
&gt; &gt; +{
&gt; &gt; +    return !didReceiveRedirectResponse &amp;&amp; url.protocolIsData() &amp;&amp; options.sameOriginDataURLFlag == SameOriginDataURLFlag::Set;
&gt; &gt; +}
&gt; 
&gt; I don&apos;t understand why !didReceiveRedirectResponse is here.

Step 7 of https://fetch.spec.whatwg.org/#http-redirect-fetch stipulates that same-origin url flag is unset after a redirection.
Basically, data-url after redirection is only allowed in no-cors mode, and will lead to opaque responses.

I haven&apos;t searched for the rationale of this decision, this seems like an edge case.

Also, there is no real interop here: as shown by the new tests, chrome, firefox and webkit have all different behaviours for data urls after redirections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225057</commentid>
    <comment_count>4</comment_count>
      <attachid>287510</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-31 13:20:37 -0700</bug_when>
    <thetext>Comment on attachment 287510
Patch

Clearing flags on attachment: 287510

Committed r205265: &lt;http://trac.webkit.org/changeset/205265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225058</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-31 13:20:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287510</attachid>
            <date>2016-08-31 06:45:06 -0700</date>
            <delta_ts>2016-08-31 13:20:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161434-20160831154252.patch</filename>
            <type>text/plain</type>
            <size>24447</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FmMDkyYTcyN2MzZGI2
NDY1YTVhNDVjZTIxZWRhYmRmODM3ODNmNC4uZDBjOTQ0MTczOWVkODUzMGIzZTk0ZDhmYWVjNjg0
MzRiYWZkOTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE2LTA4LTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBGZXRj
aCBBUEkgc2hvdWxkIGJlIGFibGUgdG8gbG9hZCBkYXRhIFVSTCBpbiBTYW1lIE9yaWdpbiBtb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJl
Y3QtdG8tZGF0YXVybC13b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC5o
dG1sCisgICAgICAgIENvdmVyZWQgYWxzbyBieSBhZGRlZCBzdWItdGVzdC4KKworICAgICAgICBN
b3ZpbmcgU2FtZURhdGFVUkxPcmlnaW4gb3B0aW9uIGZyb20gVGhyZWFkYWJsZUxvYWRlck9wdGlv
bnMgdG8gUmVzb3VyY2VMb2FkZXJPcHRpb25zLgorICAgICAgICBUaGlzIGFsbG93cyBkb2luZyBz
b21lIG9mIHRoZSBjaGVja3MgaW4gQ2FjaGVkUmVzb3VyY2VMb2FkZXIvQ2FjaGVkUmVzb3VyY2Uu
CisgICAgICAgIFRoaXMgYWxzbyBhbGxvd3Mgc2V0dGluZyB0aGlzIG9wdGlvbnMgaW4gQ2FjaGVk
UmVzb3VyY2VMb2FkZXIgY2xpZW50cywgSW1hZ2VMb2FkZXIgaW4gdGhhdCBjYXNlLgorCisgICAg
ICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
ZXRjaExvYWRlcjo6c3RhcnQpOiBTZXR0aW5nIHNhbWVPcmlnaW5EYXRhVVJMIGFzIFJlc291cmNl
TG9hZGVyIG9wdGlvbi4KKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZUZyb21FbGVtZW50KTogU2V0dGluZyBzYW1l
T3JpZ2luRGF0YVVSTCBhcyBzcGVjaWZpY2llZCBpbgorICAgICAgICBodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjdGhlLWltZy1lbGVt
ZW50LgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaDogQWRkaW5nIHNh
bWVPcmlnaW5EYXRhVVJMIGFzIFJlc291cmNlTG9hZGVyIG9wdGlvbi4KKyAgICAgICAgKiBsb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9uczo6VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMpOiBSZW1vdmluZyBzYW1lT3JpZ2lu
RGF0YVVSTCBvcHRpb24uCisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6IFNldHRpbmcgc2FtZU9y
aWdpbkRhdGFVUkwgYXMgUmVzb3VyY2VMb2FkZXIgb3B0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
TG9hZGVyVGFza09wdGlvbnM6OkxvYWRlclRhc2tPcHRpb25zKToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2U6OmxvYWQpOiBJZiByZXNvdXJjZSBVUkwgaXMgYSBkYXRhIHVybCwgd2UgcHJldmlvdXNseSBt
YXJrZWQgdGhlIHJlc291cmNlIGFzIHNhbWUgb3JpZ2luLgorICAgICAgICBXZSBvbmx5IGRvIHRo
YXQgbm93IGlmIHRoZSBzYW1lT3JpZ2luRGF0YVVSTCBmbGFnIGlzIHNldCBhcyBwZXIgZmV0Y2gg
c3BlY2lmaWNhdGlvbi4KKyAgICAgICAgU2VlIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3Jn
LyNtYWluLWZldGNoLgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1NhbWVPcmlnaW5EYXRhVVJMKTogSGVscGVyIGZ1
bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVl
c3QpOiBBbGxvd2luZyBzYW1lIG9yaWdpbiBsb2FkcyBvZiBkYXRhIFVSTHMgaWYgZmxhZyBpcyBz
ZXQgYW5kIG5vIHJlZGlyZWN0aW9uIGhhcHBlbnMuCisgICAgICAgIFNlZSBodHRwczovL2ZldGNo
LnNwZWMud2hhdHdnLm9yZy8jaHR0cC1yZWRpcmVjdC1mZXRjaCBmb3Igd2h5IHdlIGNoZWNrIHJl
ZGlyZWN0aW9uLgorCiAyMDE2LTA4LTMwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFkZCAiZ2V0IiB0byBDdXN0b21FbGVtZW50c1JlZ2lzdHJ5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IDY3YThiNGFjOGRh
YTYwMDA0NDZlOGIxY2JmYjMzNmRkMjE4ZmY2ZDkuLmY2NmIyOTIxYjI1NTFkMjUzMDdhZTQzOWZj
OTZkMDRmYTQ3YjBmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hM
b2FkZXIuY3BwCkBAIC03NywxMCArNzcsMTAgQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEKICAg
ICBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyBvcHRpb25zKHJlcXVlc3QuZmV0Y2hPcHRpb25zKCks
IENvbnNpZGVyUHJlZmxpZ2h0LAogICAgICAgICBjb250ZXh0LnNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1l
bnQ6OkRvTm90RW5mb3JjZSA6IENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZv
cmNlQ29ubmVjdFNyY0RpcmVjdGl2ZSwKICAgICAgICAgU3RyaW5nKGNhY2hlZFJlc291cmNlUmVx
dWVzdEluaXRpYXRvcnMoKS5mZXRjaCksCi0gICAgICAgIE9wYXF1ZVJlc3BvbnNlQm9keVBvbGlj
eTo6RG9Ob3RSZWNlaXZlLAotICAgICAgICBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6OlNldCk7Cisg
ICAgICAgIE9wYXF1ZVJlc3BvbnNlQm9keVBvbGljeTo6RG9Ob3RSZWNlaXZlKTsKICAgICBvcHRp
b25zLnNlbmRMb2FkQ2FsbGJhY2tzID0gU2VuZENhbGxiYWNrczsKICAgICBvcHRpb25zLmRhdGFC
dWZmZXJpbmdQb2xpY3kgPSBEb05vdEJ1ZmZlckRhdGE7CisgICAgb3B0aW9ucy5zYW1lT3JpZ2lu
RGF0YVVSTEZsYWcgPSBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6OlNldDsKIAogICAgIFJlc291cmNl
UmVxdWVzdCBmZXRjaFJlcXVlc3QgPSByZXF1ZXN0LmludGVybmFsUmVxdWVzdCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCA1ODhlYjcxMTRhMTgzOTdjY2NiOGRj
MGE5ODAyODg0YzJlNjI2Yzg0Li4xNjA3NTc0MTBjMmZlZjQ3N2QwNTIxNjFkYTAxNGQwMzE0YWNj
OWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTE3NSw2ICsxNzUs
NyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVGcm9tRWxlbWVudCgpCiAgICAgaWYgKCFhdHRy
LmlzTnVsbCgpICYmICFzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cikuaXNF
bXB0eSgpKSB7CiAgICAgICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyBvcHRpb25zID0gQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKTsKICAgICAgICAg
b3B0aW9ucy5jb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uID0gZWxlbWVudCgpLmlzSW5V
c2VyQWdlbnRTaGFkb3dUcmVlKCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpT
a2lwUG9saWN5Q2hlY2sgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGlj
eUNoZWNrOworICAgICAgICBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9IFNhbWVPcmln
aW5EYXRhVVJMRmxhZzo6U2V0OwogCiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KFJlc291cmNlUmVxdWVzdChkb2N1bWVudC5jb21wbGV0ZVVSTChzb3VyY2VVUkkoYXR0cikp
KSwgb3B0aW9ucyk7CiAgICAgICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9yKCZlbGVtZW50KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oCmluZGV4IGFj
OTM0MjU4Mzk4ZDMzYTZjY2UyZDRmYTQwMzY1ODkwMTZkNGZiN2IuLmVmOTAwOWM0ZGM1YjExZmFl
Mzk3YWI5ZjIxNDFlMGE3ODQ2Y2FmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXJPcHRpb25zLmgKQEAgLTgwLDYgKzgwLDExIEBAIGVudW0gY2xhc3MgQ2xpZW50
Q3JlZGVudGlhbFBvbGljeSB7CiAgICAgTWF5QXNrQ2xpZW50Rm9yQ3JlZGVudGlhbHMKIH07CiAK
K2VudW0gY2xhc3MgU2FtZU9yaWdpbkRhdGFVUkxGbGFnIHsKKyAgICBTZXQsCisgICAgVW5zZXQK
K307CisKIHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgOiBwdWJsaWMgRmV0Y2hPcHRpb25z
IHsKICAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoKSB7IH0KIApAQCAtMTEwLDYgKzExNSw3IEBA
IHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgOiBwdWJsaWMgRmV0Y2hPcHRpb25zIHsKICAg
ICBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uIGNvbnRlbnRTZWN1cml0eVBvbGljeUlt
cG9zaXRpb24geyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGljeUNoZWNr
IH07CiAgICAgRGVmZXJzTG9hZGluZ1BvbGljeSBkZWZlcnNMb2FkaW5nUG9saWN5IHsgRGVmZXJz
TG9hZGluZ1BvbGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nIH07CiAgICAgQ2FjaGluZ1BvbGljeSBj
YWNoaW5nUG9saWN5IHsgQ2FjaGluZ1BvbGljeTo6QWxsb3dDYWNoaW5nIH07CisgICAgU2FtZU9y
aWdpbkRhdGFVUkxGbGFnIHNhbWVPcmlnaW5EYXRhVVJMRmxhZyB7IFNhbWVPcmlnaW5EYXRhVVJM
RmxhZzo6VW5zZXQgfTsKIAogICAgIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY2xpZW50Q3JlZGVu
dGlhbFBvbGljeSB7IENsaWVudENyZWRlbnRpYWxQb2xpY3k6OkNhbm5vdEFza0NsaWVudEZvckNy
ZWRlbnRpYWxzIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
Y3BwCmluZGV4IDIxZmYzN2FhYzVlYTZkYWZmYmVhMjI2Nzk5NTI5N2YyODI4MDA3NTMuLjVhMjZk
ZWE2ZWQ2NGE3MjNhYmNlOGVkYzAyMjQyYzcwYTIxNmNjNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTUwLDEzICs1MCwxMiBAQCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9uczo6flRocmVhZGFibGVMb2FkZXJPcHRpb25zKCkKIHsKIH0KIAotVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnM6OlRocmVhZGFibGVMb2FkZXJPcHRpb25zKGNvbnN0IFJlc291cmNl
TG9hZGVyT3B0aW9ucyYgYmFzZU9wdGlvbnMsIFByZWZsaWdodFBvbGljeSBwcmVmbGlnaHRQb2xp
Y3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50LCBTdHJpbmcmJiBpbml0aWF0b3IsIE9wYXF1ZVJlc3BvbnNlQm9keVBvbGlj
eSBvcGFxdWVSZXNwb25zZSwgU2FtZU9yaWdpbkRhdGFVUkxGbGFnIHNhbWVPcmlnaW5EYXRhVVJM
RmxhZykKK1RocmVhZGFibGVMb2FkZXJPcHRpb25zOjpUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyhj
b25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIGJhc2VPcHRpb25zLCBQcmVmbGlnaHRQb2xpY3kg
cHJlZmxpZ2h0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCBjb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBPcGFxdWVSZXNw
b25zZUJvZHlQb2xpY3kgb3BhcXVlUmVzcG9uc2UpCiAgICAgOiBSZXNvdXJjZUxvYWRlck9wdGlv
bnMoYmFzZU9wdGlvbnMpCiAgICAgLCBwcmVmbGlnaHRQb2xpY3kocHJlZmxpZ2h0UG9saWN5KQog
ICAgICwgY29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQoY29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQpCiAgICAgLCBpbml0aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogICAg
ICwgb3BhcXVlUmVzcG9uc2Uob3BhcXVlUmVzcG9uc2UpCi0gICAgLCBzYW1lT3JpZ2luRGF0YVVS
TEZsYWcoc2FtZU9yaWdpbkRhdGFVUkxGbGFnKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaAppbmRleCA3MDJmZjM0MjA3OWRhMWU1ZjBlZDhkYzQwZGUxNjdl
NWU2ZGIwYjFhLi4zYTUyNDZlZDg0NjVjOTE5OGE1N2Y1NWY5YTI5YWE2Y2IyZTEzOGVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTYzLDIxICs2MywxNSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERvTm90UmVjZWl2ZQogICAgIH07CiAKLSAg
ICBlbnVtIGNsYXNzIFNhbWVPcmlnaW5EYXRhVVJMRmxhZyB7Ci0gICAgICAgIFNldCwKLSAgICAg
ICAgVW5zZXQKLSAgICB9OwotCiAgICAgc3RydWN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zIDog
UmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKICAgICAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMo
KTsKLSAgICAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMoY29uc3QgUmVzb3VyY2VMb2FkZXJP
cHRpb25zJiwgUHJlZmxpZ2h0UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVu
dCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBPcGFxdWVSZXNwb25zZUJvZHlQb2xpY3ksIFNhbWVPcmln
aW5EYXRhVVJMRmxhZyk7CisgICAgICAgIFRocmVhZGFibGVMb2FkZXJPcHRpb25zKGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYsIFByZWZsaWdodFBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9s
aWN5RW5mb3JjZW1lbnQsIFN0cmluZyYmIGluaXRpYXRvciwgT3BhcXVlUmVzcG9uc2VCb2R5UG9s
aWN5KTsKICAgICAgICAgflRocmVhZGFibGVMb2FkZXJPcHRpb25zKCk7CiAKICAgICAgICAgUHJl
ZmxpZ2h0UG9saWN5IHByZWZsaWdodFBvbGljeSB7IENvbnNpZGVyUHJlZmxpZ2h0IH07CiAgICAg
ICAgIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50IHsgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VD
b25uZWN0U3JjRGlyZWN0aXZlIH07CiAgICAgICAgIFN0cmluZyBpbml0aWF0b3I7IC8vIFRoaXMg
Y2Fubm90IGJlIGFuIEF0b21pY1N0cmluZywgYXMgaXNvbGF0ZWRDb3B5KCkgd291bGRuJ3QgY3Jl
YXRlIGFuIG9iamVjdCB0aGF0J3Mgc2FmZSBmb3IgcGFzc2luZyB0byBhbm90aGVyIHRocmVhZC4K
ICAgICAgICAgT3BhcXVlUmVzcG9uc2VCb2R5UG9saWN5IG9wYXF1ZVJlc3BvbnNlIHsgT3BhcXVl
UmVzcG9uc2VCb2R5UG9saWN5OjpSZWNlaXZlIH07Ci0gICAgICAgIFNhbWVPcmlnaW5EYXRhVVJM
RmxhZyBzYW1lT3JpZ2luRGF0YVVSTEZsYWcgeyBTYW1lT3JpZ2luRGF0YVVSTEZsYWc6OlVuc2V0
IH07CiAgICAgfTsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMg
ZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCBkODBkN2M1YTVlN2UxOTllNDlh
M2NkY2Y4YTg0ZWJiN2U3YTcxY2FhLi4wMzE5NzcwZjkyY2Y4M2FlYjg5MWEzNjgzMjk5NDA4MGRh
ZDRhN2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJs
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuY3BwCkBAIC05Miw3ICs5Miw3IEBAIHN0cnVjdCBMb2FkZXJUYXNrT3B0aW9ucyB7CiB9
OwogCiBMb2FkZXJUYXNrT3B0aW9uczo6TG9hZGVyVGFza09wdGlvbnMoY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiBvcmlnaW4pCi0gICAgOiBvcHRpb25zKG9wdGlvbnMsIG9wdGlvbnMucHJl
ZmxpZ2h0UG9saWN5LCBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBv
cHRpb25zLmluaXRpYXRvci5pc29sYXRlZENvcHkoKSwgb3B0aW9ucy5vcGFxdWVSZXNwb25zZSwg
b3B0aW9ucy5zYW1lT3JpZ2luRGF0YVVSTEZsYWcpCisgICAgOiBvcHRpb25zKG9wdGlvbnMsIG9w
dGlvbnMucHJlZmxpZ2h0UG9saWN5LCBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50LCBvcHRpb25zLmluaXRpYXRvci5pc29sYXRlZENvcHkoKSwgb3B0aW9ucy5vcGFxdWVS
ZXNwb25zZSkKICAgICAsIHJlZmVycmVyKHJlZmVycmVyLmlzb2xhdGVkQ29weSgpKQogICAgICwg
b3JpZ2luKG9yaWdpbi5pc29sYXRlZENvcHkoKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGNkOTcxYzgxM2YzNjlhNmM4MjgyMmY1
ZGRlNmM4ZjcwNGNiZGZmNjMuLjgyMDM0N2NhZGI0ZTYxNGNlNzhkZTFkZmM3N2M5YWM2NWZkYWJl
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cApAQCAtMzA5LDcgKzMwOSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQoQ2FjaGVkUmVz
b3VyY2VMb2FkZXImIGNhY2hlZFJlc291cmNlTG9hZGVyLCBjb25zdCBSZXNvCiAgICAgICAgICAg
ICBtX29yaWdpbiA9IGNhY2hlZFJlc291cmNlTG9hZGVyLmRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCk7CiAgICAgICAgIEFTU0VSVChtX29yaWdpbik7CiAKLSAgICAgICAgaWYgKCFtX3Jlc291
cmNlUmVxdWVzdC51cmwoKS5wcm90b2NvbElzRGF0YSgpICYmIG1fb3JpZ2luICYmICFtX29yaWdp
bi0+Y2FuUmVxdWVzdChtX3Jlc291cmNlUmVxdWVzdC51cmwoKSkpCisgICAgICAgIGlmICghKG1f
cmVzb3VyY2VSZXF1ZXN0LnVybCgpLnByb3RvY29sSXNEYXRhKCkgJiYgb3B0aW9ucy5zYW1lT3Jp
Z2luRGF0YVVSTEZsYWcgPT0gU2FtZU9yaWdpbkRhdGFVUkxGbGFnOjpTZXQpICAmJiBtX29yaWdp
biAmJiAhbV9vcmlnaW4tPmNhblJlcXVlc3QobV9yZXNvdXJjZVJlcXVlc3QudXJsKCkpKQogICAg
ICAgICAgICAgc2V0Q3Jvc3NPcmlnaW4oKTsKIAogICAgICAgICBhZGRBZGRpdGlvbmFsUmVxdWVz
dEhlYWRlcnMoY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjk2YjkyMjc5MGY5
NzgxZDM4ZWYyMDRhZTE0M2E1ZWViZTZkM2FkZS4uNTUyZTZmZWY2MGQ4ZjZkNGQwY2JmMDYzMDRh
YTdiODc1NjFmMzcyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zODIsNiArMzgyLDExIEBAIGJvb2wgQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUsIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBp
c1NhbWVPcmlnaW5EYXRhVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBSZXNvdXJjZUxvYWRlck9w
dGlvbnMmIG9wdGlvbnMsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpCit7CisgICAg
cmV0dXJuICFkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSAmJiB1cmwucHJvdG9jb2xJc0RhdGEo
KSAmJiBvcHRpb25zLnNhbWVPcmlnaW5EYXRhVVJMRmxhZyA9PSBTYW1lT3JpZ2luRGF0YVVSTEZs
YWc6OlNldDsKK30KKwogYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNo
ZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBVUkwmIHVybCwgY29uc3QgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zJiBvcHRpb25zLCBib29sIGZvclByZWxvYWQsIGJvb2wgZGlkUmVjZWl2ZVJlZGly
ZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYgKGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgewpAQCAtMzk0LDkgKzM5OSw4IEBAIGJvb2wg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlw
ZSwgY29uc3QgVVJMJiB1cmwsCiAgICAgYm9vbCBza2lwQ29udGVudFNlY3VyaXR5UG9saWN5Q2hl
Y2sgPSBvcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb24gPT0gQ29udGVudFNl
Y3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6U2tpcFBvbGljeUNoZWNrOwogICAgIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCA9IGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlID8gQ29udGVudFNlY3VyaXR5UG9saWN5
OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6OlllcyA6IENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObzsKIAotICAgIC8vIFNvbWUgdHlwZXMgb2YgcmVz
b3VyY2VzIGNhbiBiZSBsb2FkZWQgb25seSBmcm9tIHRoZSBzYW1lIG9yaWdpbi4gIE90aGVyCi0g
ICAgLy8gdHlwZXMgb2YgcmVzb3VyY2VzLCBsaWtlIEltYWdlcywgU2NyaXB0cywgYW5kIENTUywg
Y2FuIGJlIGxvYWRlZCBmcm9tCi0gICAgLy8gYW55IFVSTC4KKyAgICAvLyBTb21lIHR5cGVzIG9m
IHJlc291cmNlcyBjYW4gYmUgbG9hZGVkIG9ubHkgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIE90aGVy
IHR5cGVzIG9mIHJlc291cmNlcywgbGlrZSBJbWFnZXMsIFNjcmlwdHMsIGFuZCBDU1MsIGNhbiBi
ZSBsb2FkZWQgZnJvbSBhbnkgVVJMLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVtb3ZlIHRo
YXQgY2hlY2sgYW5kIGhhbmRsZSBpdCBieSBzZXR0aW5nIHRoZSBjb3JyZWN0IFJlc291cmNlTG9h
ZGVyT3B0aW9uczo6bW9kZS4KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpNYWluUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNv
dXJjZToKQEAgLTQxNiw3ICs0MjAsNyBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5S
ZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLAogI2lmIEVO
QUJMRShWSURFT19UUkFDSykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUZXh0VHJhY2tSZXNv
dXJjZToKICNlbmRpZgotICAgICAgICBpZiAob3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6U2FtZU9yaWdpbiAmJiAhbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVx
dWVzdCh1cmwpKSB7CisgICAgICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpN
b2RlOjpTYW1lT3JpZ2luICYmICFpc1NhbWVPcmlnaW5EYXRhVVJMKHVybCwgb3B0aW9ucywgZGlk
UmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpICYmIW1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkt
PmNhblJlcXVlc3QodXJsKSkgewogICAgICAgICAgICAgcHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdl
KHVybCk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU1ZjQ3MDYyYzgzZWY3M2M1MjkyNzI3M2M0MDU1MmQwZGQ1
YTQ5YzQuLjExNjMwNGExYzNmNjJiZTJmNWYxODA1ODg3ZWI4NGQ3NjAyYzhmZTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA4LTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBGZXRj
aCBBUEkgc2hvdWxkIGJlIGFibGUgdG8gbG9hZCBkYXRhIFVSTCBpbiBTYW1lIE9yaWdpbiBtb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvc2NoZW1lLWRhdGEtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvc2NoZW1lLWRhdGEt
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2Jhc2ljL3NjaGVtZS1kYXRhLmpzOgorICAgICAgICAoY2hlY2tGZXRjaFJlc3BvbnNlKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0
LXRvLWRhdGF1cmwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9y
ZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1
cmwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9y
ZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLmpzOiBBZGRlZC4KKyAgICAgICAgKHJlZGlyZWN0
RGF0YVVSTCk6CisKIDIwMTYtMDgtMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtGZXRjaCBBUEldIEJsb2Igbm90IGZvdW5kIFVSTCBzaG91bGQgcmVzdWx0
IGluIGEgbmV0d29yayBlcnJvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvc2NoZW1lLWRhdGEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvYmFzaWMvc2NoZW1lLWRhdGEtZXhwZWN0ZWQudHh0CmluZGV4IDcxOWY3MGFkZDAxMTI3ODc1
NjE4OWVkNmQwNzRiZDJhZDE2NTc4MjIuLjhjYjFlOWIyMzhmNGQ4MzlmOTFmYmRiNjNmNjM2MGI5
YjM1MWQyZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL3NjaGVtZS1kYXRhLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNp
Yy9zY2hlbWUtZGF0YS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw3IEBACiAKIFBBU1MgRmV0Y2hp
bmcgZGF0YToscmVzcG9uc2UlMjdzJTIwYm9keSBpcyBPSyAKK1BBU1MgRmV0Y2hpbmcgZGF0YTos
cmVzcG9uc2UlMjdzJTIwYm9keSBpcyBPSyAoc2FtZS1vcmlnaW4pIAorUEFTUyBGZXRjaGluZyBk
YXRhOixyZXNwb25zZSUyN3MlMjBib2R5IGlzIE9LIChjb3JzKSAKIFBBU1MgRmV0Y2hpbmcgZGF0
YTp0ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYlsuLi5dIGlzIE9LIAogUEFTUyBG
ZXRjaGluZyBkYXRhOmltYWdlL3BuZztiYXNlNjQsY21WemNHOXVjMlVuY3lCaWIyWy4uLl0gaXMg
T0sgCiBGQUlMIEZldGNoaW5nIFtHRVRdIGRhdGE6bm90QWRhdGFVcmwuY29tIGlzIEtPIGFzc2Vy
dF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2Jhc2ljL3NjaGVtZS1kYXRhLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9z
Y2hlbWUtZGF0YS13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDcxOWY3MGFkZDAxMTI3ODc1NjE4
OWVkNmQwNzRiZDJhZDE2NTc4MjIuLjhjYjFlOWIyMzhmNGQ4MzlmOTFmYmRiNjNmNjM2MGI5YjM1
MWQyZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL3NjaGVtZS1kYXRhLXdvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
YmFzaWMvc2NoZW1lLWRhdGEtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDcgQEAKIAog
UEFTUyBGZXRjaGluZyBkYXRhOixyZXNwb25zZSUyN3MlMjBib2R5IGlzIE9LIAorUEFTUyBGZXRj
aGluZyBkYXRhOixyZXNwb25zZSUyN3MlMjBib2R5IGlzIE9LIChzYW1lLW9yaWdpbikgCitQQVNT
IEZldGNoaW5nIGRhdGE6LHJlc3BvbnNlJTI3cyUyMGJvZHkgaXMgT0sgKGNvcnMpIAogUEFTUyBG
ZXRjaGluZyBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmN5QmliWy4uLl0gaXMg
T0sgCiBQQVNTIEZldGNoaW5nIGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJp
YjJbLi4uXSBpcyBPSyAKIEZBSUwgRmV0Y2hpbmcgW0dFVF0gZGF0YTpub3RBZGF0YVVybC5jb20g
aXMgS08gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQuIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvc2NoZW1lLWRhdGEuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9zY2hlbWUt
ZGF0YS5qcwppbmRleCBmNGFjMmM1YjgxNDQ1MTU3NDk0NjU3MzRiYTJlMzUyMjUwNzk0ZWY0Li5l
NzkwNGQwNDc1MTA1ZDYxNWE0NDY2MmUyYzJhYzY4YjRlMzZjNmI5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9z
Y2hlbWUtZGF0YS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9zY2hlbWUtZGF0YS5qcwpAQCAtMywxMSArMywxNiBAQCBp
ZiAodGhpcy5kb2N1bWVudCA9PT0gdW5kZWZpbmVkKSB7CiAgIGltcG9ydFNjcmlwdHMoIi4uL3Jl
c291cmNlcy91dGlscy5qcyIpOwogfQogCi1mdW5jdGlvbiBjaGVja0ZldGNoUmVzcG9uc2UodXJs
LCBkYXRhLCBtaW1lKSB7CitmdW5jdGlvbiBjaGVja0ZldGNoUmVzcG9uc2UodXJsLCBkYXRhLCBt
aW1lLCBmZXRjaE1vZGUpIHsKICAgdmFyIGN1dCA9ICh1cmwubGVuZ3RoID49IDQwKSA/ICJbLi4u
XSIgOiAiIjsKLSAgZGVzYyA9ICJGZXRjaGluZyAiICsgdXJsLnN1YnN0cmluZygwLCA0MCkgKyBj
dXQgKyAiIGlzIE9LIgorICBkZXNjID0gIkZldGNoaW5nICIgKyB1cmwuc3Vic3RyaW5nKDAsIDQw
KSArIGN1dCArICIgaXMgT0siOworICB2YXIgaW5pdCA9IHsgfTsKKyAgaWYgKGZldGNoTW9kZSkg
eworICAgIGluaXQubW9kZSA9IGZldGNoTW9kZTsKKyAgICBkZXNjICs9ICIgKCIgKyBmZXRjaE1v
ZGUgKyAiKSI7CisgIH0KICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1
cm4gZmV0Y2godXJsKS50aGVuKGZ1bmN0aW9uKHJlc3ApIHsKKyAgICByZXR1cm4gZmV0Y2godXJs
LCBpbml0KS50aGVuKGZ1bmN0aW9uKHJlc3ApIHsKICAgICAgIGFzc2VydF9lcXVhbHMocmVzcC5z
dGF0dXMsIDIwMCwgIkhUVFAgc3RhdHVzIGlzIDIwMCIpOwogICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXNwLnN0YXR1c1RleHQsICJPSyIsICJIVFRQIHN0YXR1c1RleHQgaXMgT0siKTsKICAgICAgIGFz
c2VydF9lcXVhbHMocmVzcC50eXBlLCAiYmFzaWMiLCAicmVzcG9uc2UgdHlwZSBpcyBiYXNpYyIp
OwpAQCAtMjAsNiArMjUsOCBAQCBmdW5jdGlvbiBjaGVja0ZldGNoUmVzcG9uc2UodXJsLCBkYXRh
LCBtaW1lKSB7CiB9CiAKIGNoZWNrRmV0Y2hSZXNwb25zZSgiZGF0YToscmVzcG9uc2UlMjdzJTIw
Ym9keSIsICJyZXNwb25zZSdzIGJvZHkiLCAidGV4dC9wbGFpbjtjaGFyc2V0PVVTLUFTQ0lJIik7
CitjaGVja0ZldGNoUmVzcG9uc2UoImRhdGE6LHJlc3BvbnNlJTI3cyUyMGJvZHkiLCAicmVzcG9u
c2UncyBib2R5IiwgInRleHQvcGxhaW47Y2hhcnNldD1VUy1BU0NJSSIsICJzYW1lLW9yaWdpbiIp
OworY2hlY2tGZXRjaFJlc3BvbnNlKCJkYXRhOixyZXNwb25zZSUyN3MlMjBib2R5IiwgInJlc3Bv
bnNlJ3MgYm9keSIsICJ0ZXh0L3BsYWluO2NoYXJzZXQ9VVMtQVNDSUkiLCAiY29ycyIpOwogY2hl
Y2tGZXRjaFJlc3BvbnNlKCJkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmN5Qmli
MlI1IiwgInJlc3BvbnNlJ3MgYm9keSIsICJ0ZXh0L3BsYWluIik7CiBjaGVja0ZldGNoUmVzcG9u
c2UoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYjJSNSIsCiAgICAgICAg
ICAgICAgICAgICAgInJlc3BvbnNlJ3MgYm9keSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVj
dC10by1kYXRhdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwY2FkMGY2YTBhYzZjNjk3MTcyOTVmOTA1NDMzODhmZTVi
ZTZmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IENyb3NzLW9yaWdpbiBy
ZWRpcmVjdGlvbiB0byBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmN5QmliMlI1
IGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3k6IFVSTCBpcyBl
aXRoZXIgYSBub24tSFRUUCBVUkwgb3IgY29udGFpbnMgY3JlZGVudGlhbHMuCitDT05TT0xFIE1F
U1NBR0U6IFVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMIGRhdGE6dGV4dC9wbGFpbjtiYXNlNjQs
Y21WemNHOXVjMlVuY3lCaWIyUjUgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vbG9jYWxob3N0
Ojg4MDAvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwuaHRtbC4gRG9tYWlu
cywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorCitDT05TT0xFIE1FU1NBR0U6IENy
b3NzLW9yaWdpbiByZWRpcmVjdGlvbiB0byBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1
YzJVbmN5QmliMlI1IGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xp
Y3k6IFVSTCBpcyBlaXRoZXIgYSBub24tSFRUUCBVUkwgb3IgY29udGFpbnMgY3JlZGVudGlhbHMu
CisKK1BBU1MgVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGly
ZWN0aW9uIChjb3JzIG1vZGUpIAorUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIg
c2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgCitQQVNTIFRlc3RpbmcgZGF0
YSBVUkwgbG9hZGluZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAoc2FtZS1vcmlnaW4g
bW9kZSkgCitQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4g
cmVkaXJlY3Rpb24gKGNvcnMgbW9kZSkgCitQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBh
ZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0
L3JlZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjFi
ZDc4ZjFjNzQ2NzQ5MmQ5NGM4Yzc4ZTAyMGJlYmQxZGJkNmI1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVk
aXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogQ3Jvc3Mtb3JpZ2luIHJlZGlyZWN0aW9uIHRvIGRhdGE6
dGV4dC9wbGFpbjtiYXNlNjQsY21WemNHOXVjMlVuY3lCaWIyUjUgZGVuaWVkIGJ5IENyb3NzLU9y
aWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeTogVVJMIGlzIGVpdGhlciBhIG5vbi1IVFRQIFVS
TCBvciBjb250YWlucyBjcmVkZW50aWFscy4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIGF0dGVt
cHQgdG8gbG9hZCBVUkwgZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYjJS
NSBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRjaC9hcGkvcmVk
aXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC13b3JrZXIuaHRtbC4gRG9tYWlucywgcHJvdG9jb2xz
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorCitDT05TT0xFIE1FU1NBR0U6IENyb3NzLW9yaWdpbiBy
ZWRpcmVjdGlvbiB0byBkYXRhOnRleHQvcGxhaW47YmFzZTY0LGNtVnpjRzl1YzJVbmN5QmliMlI1
IGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3k6IFVSTCBpcyBl
aXRoZXIgYSBub24tSFRUUCBVUkwgb3IgY29udGFpbnMgY3JlZGVudGlhbHMuCisKK1BBU1MgVGVz
dGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChjb3Jz
IG1vZGUpIAorUEFTUyBUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIgc2FtZS1vcmlnaW4g
cmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgCitQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGlu
ZyBhZnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdGlvbiAoc2FtZS1vcmlnaW4gbW9kZSkgCitQQVNT
IFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24g
KGNvcnMgbW9kZSkgCitQQVNTIFRlc3RpbmcgZGF0YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1v
cmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3Jl
ZGlyZWN0LXRvLWRhdGF1cmwtd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJs
LXdvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOGY1MTM1ZTk0OGU1ODMyMGI2OThlMmI5ODU3MDBl
MGQwMGRiNWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLXdv
cmtlci5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgIDxo
ZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+RmV0Y2ggaW4gd29y
a2VyOiBkYXRhIFVSTCBsb2FkaW5nIGFmdGVyIHJlZGlyZWN0aW9uczwvdGl0bGU+CisgICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPC9o
ZWFkPgorICA8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgZmV0Y2hfdGVzdHNfZnJvbV93b3Jr
ZXIobmV3IFdvcmtlcigicmVkaXJlY3QtdG8tZGF0YXVybC5qcyIpKTsKKyAgICA8L3NjcmlwdD4K
KyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVy
bC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNzE1
OWY0MTIxYzFlMTNiNTQ1OWEyNjUzNzdlMTZlMGNiZGJkY2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZWRp
cmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAg
IDx0aXRsZT5GZXRjaDogZGF0YSBVUkwgbG9hZGluZyBhZnRlciByZWRpcmVjdGlvbnM8L3RpdGxl
PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZWRpcmVjdC10by1k
YXRhdXJsLmpzIj48L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJl
Y3QvcmVkaXJlY3QtdG8tZGF0YXVybC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODk3NzljN2Q5NzIxM2ZhYjVhYTdkYWJiZGM5MjM1NTg1NGVlZjdiNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LXRvLWRhdGF1cmwuanMKQEAgLTAsMCArMSwz
NSBAQAoraWYgKHRoaXMuZG9jdW1lbnQgPT09IHVuZGVmaW5lZCkgeworICBpbXBvcnRTY3JpcHRz
KCIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIikKKyAgaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOworfQorCit2YXIgZGF0YVVSTCA9ICJkYXRhOnRleHQvcGxh
aW47YmFzZTY0LGNtVnpjRzl1YzJVbmN5QmliMlI1IjsKK3ZhciBib2R5ID0gInJlc3BvbnNlJ3Mg
Ym9keSI7Cit2YXIgY29udGVudFR5cGUgPSAidGV4dC9wbGFpbiI7CisKK2Z1bmN0aW9uIHJlZGly
ZWN0RGF0YVVSTChkZXNjLCByZWRpcmVjdFVybCwgbW9kZSwgaXNPSykgeworICAgIHZhciB1cmwg
PSByZWRpcmVjdFVybCArICAiP2NvcnMmbG9jYXRpb249IiArIGVuY29kZVVSSUNvbXBvbmVudChk
YXRhVVJMKTsKKworICAgIHZhciByZXF1ZXN0SW5pdCA9IHsibW9kZSI6IG1vZGV9OworCisgICAg
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKKyAgICAgICAgdmFyIHByb21pc2UgPSBmZXRj
aCh1cmwsIHJlcXVlc3RJbml0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLnR5cGUsICJvcGFxdWUiLCAiUmVzcG9uc2UncyB0eXBl
IHNob3VsZCBiZSBvcGFxdWUiKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2Uu
dXJsLCAiIiwgIlJlc3BvbnNlIFVSTCBpcyBlbXB0eSIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXNwb25zZS5zdGF0dXMsIDAsICJSZXNwb25zZSdzIHN0YXR1cyBzaG91bGQgYmUgMCIp
OworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIGlzT0sgPyBwcm9taXNlIDogcHJvbWlzZV9y
ZWplY3RzKHRlc3QsIG5ldyBUeXBlRXJyb3IoKSwgcHJvbWlzZSk7CisgICAgfSwgZGVzYyk7Cit9
CisKK3ZhciByZWRpclVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArICIvZmV0Y2gv
YXBpL3Jlc291cmNlcy9yZWRpcmVjdC5weSI7Cit2YXIgY29yc1JlZGlyVXJsID0gZ2V0X2hvc3Rf
aW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICIvZmV0Y2gvYXBpL3Jlc291cmNlcy9yZWRpcmVj
dC5weSI7CisKK3JlZGlyZWN0RGF0YVVSTCgiVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFmdGVy
IHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChjb3JzIG1vZGUpIiwgcmVkaXJVcmwsICJjb3JzIiwg
ZmFsc2UpOworcmVkaXJlY3REYXRhVVJMKCJUZXN0aW5nIGRhdGEgVVJMIGxvYWRpbmcgYWZ0ZXIg
c2FtZS1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMgbW9kZSkiLCByZWRpclVybCwgIm5vLWNv
cnMiLCB0cnVlKTsKK3JlZGlyZWN0RGF0YVVSTCgiVGVzdGluZyBkYXRhIFVSTCBsb2FkaW5nIGFm
dGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0aW9uIChzYW1lLW9yaWdpbiBtb2RlKSIsIHJlZGlyVXJs
LCAic2FtZS1vcmlnaW4iLCBmYWxzZSk7CisKK3JlZGlyZWN0RGF0YVVSTCgiVGVzdGluZyBkYXRh
IFVSTCBsb2FkaW5nIGFmdGVyIGNyb3NzLW9yaWdpbiByZWRpcmVjdGlvbiAoY29ycyBtb2RlKSIs
IGNvcnNSZWRpclVybCwgImNvcnMiLCBmYWxzZSk7CityZWRpcmVjdERhdGFVUkwoIlRlc3Rpbmcg
ZGF0YSBVUkwgbG9hZGluZyBhZnRlciBjcm9zcy1vcmlnaW4gcmVkaXJlY3Rpb24gKG5vLWNvcnMg
bW9kZSkiLCBjb3JzUmVkaXJVcmwsICJuby1jb3JzIiwgdHJ1ZSk7CisKK2RvbmUoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>