<?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>211092</bug_id>
          
          <creation_ts>2020-04-27 14:41:19 -0700</creation_ts>
          <short_desc>Web Inspector: Storage: can see third-party cookies</short_desc>
          <delta_ts>2020-04-27 19:47:20 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mjs</cc>
    
    <cc>product-security</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1646220</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-27 14:41:19 -0700</bug_when>
    <thetext>The early return if the given `WebFrame` is the main frame means that if a third-party resource is loaded into the main frame, and cookies are queried for that third-party&apos;s resource in the main frame, we will allow cookie access even though it&apos;s a third-party resource simply because it was loaded into the main frame.  This is incorrect, as we should always verify that the domain of the url being used to query for cookies matches the first-party domain before granting access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646221</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-27 14:41:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/62469078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646225</commentid>
    <comment_count>2</comment_count>
      <attachid>397741</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-27 14:44:04 -0700</bug_when>
    <thetext>Created attachment 397741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646229</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-27 14:46:54 -0700</bug_when>
    <thetext>No test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646231</commentid>
    <comment_count>4</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-27 14:47:50 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; No test?
I&apos;m working on that now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646232</commentid>
    <comment_count>5</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-04-27 14:48:34 -0700</bug_when>
    <thetext>Whether media elements get cookies in a third party context is probably tricky to test but definitely not impossible to test, and we certainly want to avoid similar bugs in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646235</commentid>
    <comment_count>6</comment_count>
      <attachid>397741</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-04-27 14:48:57 -0700</bug_when>
    <thetext>Comment on attachment 397741
Patch

r- for lack of test for now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646255</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-27 15:03:52 -0700</bug_when>
    <thetext>(In reply to Maciej Stachowiak from comment #5)
&gt; Whether media elements get cookies in a third party context is probably
&gt; tricky to test but definitely not impossible to test, and we certainly want
&gt; to avoid similar bugs in the future.

I added Jer &amp; Eric for advice. If I remember correctly, this is used by AirPlay on macOS only (and Web Inspector but I guess we are more concerned about the media case).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646264</commentid>
    <comment_count>8</comment_count>
      <attachid>397741</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-04-27 15:29:23 -0700</bug_when>
    <thetext>Comment on attachment 397741
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        The early return if the given `WebFrame` is the main frame means that if a third-party

s/is the main frame/in the main frame/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646268</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-04-27 15:35:09 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; 
&gt; I added Jer &amp; Eric for advice. If I remember correctly, this is used by
&gt; AirPlay on macOS only (and Web Inspector but I guess we are more concerned
&gt; about the media case).

getRawCookies is used for media on iOS only, see MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL.

MediaPlayerPrivateAVFoundationObjC ultimately gets the cookies from HTMLMediaElement::mediaPlayerGetRawCookies, so you could add something to Internals similar to what we did for response sources in Internals::mediaResponseSources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646280</commentid>
    <comment_count>10</comment_count>
      <attachid>397755</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-27 15:52:11 -0700</bug_when>
    <thetext>Created attachment 397755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646284</commentid>
    <comment_count>11</comment_count>
      <attachid>397755</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-27 16:00:47 -0700</bug_when>
    <thetext>Comment on attachment 397755
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646362</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-27 19:47:18 -0700</bug_when>
    <thetext>Committed r260807: &lt;https://trac.webkit.org/changeset/260807&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397755.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397741</attachid>
            <date>2020-04-27 14:44:04 -0700</date>
            <delta_ts>2020-04-27 15:51:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211092-20200427154403.patch</filename>
            <type>text/plain</type>
            <size>2112</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMmRjNjE0MDUyN2ZkZTlmNmQxYWQzZjhmYWFmNTUxMGE3MjM1NDFiMi4uZTY3
MTczMWFkNzBjZjIxYTRmYWI4Mjc3YjIzYmUyZThhMDZmYzk4NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAyMC0wNC0yNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgc2hvdWxkQmxvY2tDb29raWVzKCkgaW4gV2ViQ29va2llSmFyLmNwcCBhbGxvd3Mg
dGhpcmQtcGFydHkgY29va2llIGFjY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjExMDkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjQ2OTA3
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
ZWFybHkgcmV0dXJuIGlmIHRoZSBnaXZlbiBgV2ViRnJhbWVgIGlzIHRoZSBtYWluIGZyYW1lIG1l
YW5zIHRoYXQgaWYgYSB0aGlyZC1wYXJ0eQorICAgICAgICByZXNvdXJjZSBpcyBsb2FkZWQgaW50
byB0aGUgbWFpbiBmcmFtZSwgYW5kIGNvb2tpZXMgYXJlIHF1ZXJpZWQgZm9yIHRoYXQgdGhpcmQt
cGFydHkncworICAgICAgICByZXNvdXJjZSBpbiB0aGUgbWFpbiBmcmFtZSwgd2Ugd2lsbCBhbGxv
dyBjb29raWUgYWNjZXNzIGV2ZW4gdGhvdWdoIGl0J3MgYSB0aGlyZC1wYXJ0eQorICAgICAgICBy
ZXNvdXJjZSBzaW1wbHkgYmVjYXVzZSBpdCB3YXMgbG9hZGVkIGludG8gdGhlIG1haW4gZnJhbWUu
IFRoaXMgaXMgaW5jb3JyZWN0LCBhcyB3ZQorICAgICAgICBzaG91bGQgYWx3YXlzIHZlcmlmeSB0
aGF0IHRoZSBkb21haW4gb2YgdGhlIHVybCBiZWluZyB1c2VkIHRvIHF1ZXJ5IGZvciBjb29raWVz
IG1hdGNoZXMKKyAgICAgICAgdGhlIGZpcnN0LXBhcnR5IGRvbWFpbiBiZWZvcmUgZ3JhbnRpbmcg
YWNjZXNzLgorCisgICAgICAgIFRoaXMgYWxzbyBtYWtlcyB0aGUgbG9naWMgb2YgYHNob3VsZEJs
b2NrQ29va2llc2AgaW4gYFdlYkNvb2tpZUphcmAgY29uc2lzdGVudCB3aXRoIHRoZQorICAgICAg
ICBsb2dpYyBpbiBgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzaG91bGRCbG9ja0Nvb2tpZXNgLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OnNob3VsZEJsb2NrQ29va2llcyk6CisKIDIwMjAtMDQtMjcgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZWR1Y2UgdXNlIG9m
IFdlYlBhZ2VQcm94eTo6Vm9pZENhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVKYXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViQ29va2llSmFyLmNwcAppbmRleCBjY2EyMmNiMDlmYjc2MjQ3NTJlNWMw
NWQzMDMyZGU1ZTcyOTEwOTFjLi4yODljMzIxNmZhNDdlY2U5NjhlOTc1MDg1NjNmYTA3ZjExYWY1
M2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29r
aWVKYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tp
ZUphci5jcHAKQEAgLTU4LDkgKzU4LDYgQEAgc3RhdGljIGJvb2wgc2hvdWxkQmxvY2tDb29raWVz
KFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiBmaXJzdFBhcnR5Rm9yQ29va2llcywKICAgICBp
ZiAoIVdlYkNvcmU6OkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6cmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGZyYW1lICYm
IGZyYW1lLT5pc01haW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBSZWdp
c3RyYWJsZURvbWFpbiBmaXJzdFBhcnR5RG9tYWluIHsgZmlyc3RQYXJ0eUZvckNvb2tpZXMgfTsK
ICAgICBpZiAoZmlyc3RQYXJ0eURvbWFpbi5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397755</attachid>
            <date>2020-04-27 15:52:11 -0700</date>
            <delta_ts>2020-04-27 19:47:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211092-20200427165209.patch</filename>
            <type>text/plain</type>
            <size>18819</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMmRjNjE0MDUyN2ZkZTlmNmQxYWQzZjhmYWFmNTUxMGE3MjM1NDFiMi4uYmQy
Njc1ZjkzOTc2NDYxODZlNTk0MDVhNWEzOGI0ODllNWQxY2Y2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAyMC0wNC0yNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogU3RvcmFnZTogY2FuIHNlZSB0aGlyZC1wYXJ0eSBjb29r
aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEw
OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNDY5MDc4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvaW5zcGVjdG9y
L3BhZ2UvZ2V0LWNvb2tpZXMuaHRtbAorCisgICAgICAgIEFmdGVyIHIyNTk2NDksIFdlYiBJbnNw
ZWN0b3Igbm8gbG9uZ2VyIGluY29ycmVjdGx5IGJhaWxzIHdoZW4gYXR0ZW1wdGluZyB0byBnZXQg
Y29va2llcyBpZgorICAgICAgICB0aGUgbGFzdCByZXNvdXJjZSBsb2FkZWQgYnkgYSBnaXZlbiBm
cmFtZSBkb2VzIG5vdCBoYXZlIGNvb2tpZSBhY2Nlc3MuIFdlIGFsc28gbmVlZCB0byBjaGVjawor
ICAgICAgICB3aGV0aGVyIHRoZSByZXNvdXJjZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIGdldCBjb29r
aWVzIGZvciBpcyBmaXJzdC1wYXJ0eSBvciB0aGlyZC1wYXJ0eSBzbyBhcworICAgICAgICB0byBy
ZWZsZWN0IHRoZSBjdXJyZW50IGNvb2tpZSBwb2xpY3kuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29va2llSmFyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkQmxvY2tD
b29raWVzKToKKwogMjAyMC0wNC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlZHVjZSB1c2Ugb2YgV2ViUGFnZVByb3h5OjpWb2lkQ2Fs
bGJhY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
b2tpZUphci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVK
YXIuY3BwCmluZGV4IGNjYTIyY2IwOWZiNzYyNDc1MmU1YzA1ZDMwMzJkZTVlNzI5MTA5MWMuLjI4
OWMzMjE2ZmE0N2VjZTk2OGU5NzUwODU2M2ZhMDdmMTFhZjUzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29va2llSmFyLmNwcApAQCAtNTgsOSArNTgs
NiBAQCBzdGF0aWMgYm9vbCBzaG91bGRCbG9ja0Nvb2tpZXMoV2ViRnJhbWUqIGZyYW1lLCBjb25z
dCBVUkwmIGZpcnN0UGFydHlGb3JDb29raWVzLAogICAgIGlmICghV2ViQ29yZTo6RGVwcmVjYXRl
ZEdsb2JhbFNldHRpbmdzOjpyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPmlzTWFpbkZyYW1lKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIFJlZ2lzdHJhYmxlRG9tYWluIGZpcnN0UGFy
dHlEb21haW4geyBmaXJzdFBhcnR5Rm9yQ29va2llcyB9OwogICAgIGlmIChmaXJzdFBhcnR5RG9t
YWluLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVjNzJlZDVmYzY5
NDhiMGY0YmQ5YzhmODJiMWUxNGZhNGFkMzgyZGYuLjc4ZDk5NmY5NWFkYjZjMDI1YTQzNjFlYmE5
YjM2ZmU5MzM5NDBjNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0yNyAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU3Rv
cmFnZTogY2FuIHNlZSB0aGlyZC1wYXJ0eSBjb29raWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEwOTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYyNDY5MDc4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGFnZS9nZXQtY29va2llcy5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3BhZ2UvZ2V0LWNvb2tpZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3BhZ2UvcmVzb3VyY2VzL3NldC1jb29raWUu
cGhwOgorCiAyMDIwLTA0LTI3ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBSZXdvcmsgV2ViS2l0V2ViU3JjIHRocmVhZGluZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGFnZS9nZXQtY29v
a2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYWdl
L2dldC1jb29raWVzLWV4cGVjdGVkLnR4dAppbmRleCBiZDdmM2JmYTNhZDk4ZThlZjIxZmYwM2Vh
MGQwYjc5NTBiMzgxNDZlLi5kNGMxZThkOWNiNGU4MDY2ZDNkODk0MDAwNmFkZTY4ZmUwODg0NWZl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYWdlL2dldC1j
b29raWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9wYWdlL2dldC1jb29raWVzLWV4cGVjdGVkLnR4dApAQCAtMiwyMCArMiw1NyBAQCBUZXN0IGZv
ciB0aGUgUGFnZS5nZXRDb29raWVzCiAKIAogPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBQYWdlLmdl
dENvb2tpZXMKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDaGVja05vQ29va2llcworLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IFBhZ2UuZ2V0Q29va2llcy5Jbml0aWFsbHlOb0Nvb2tpZXMKIFBBU1M6IFNo
b3VsZCBiZSBubyBjb29raWVzLgogCi0tLSBSdW5uaW5nIHRlc3Qgc2V0dXAuCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogUGFnZS5nZXRDb29raWVzLk9ubHlNYWluUmVzb3VyY2UKLVBBU1M6IGxlbmd0
aCBzaG91bGQgYmUgb25lLgotUEFTUzogW01haW5dIE5hbWUgaXMgJ01haW4nCi1QQVNTOiBbTWFp
bl0gVmFsdWUgaXMgJ2ZvbycKLVBBU1M6IFtNYWluXSBEb21haW4gaXMgJzEyNy4wLjAuMScKKy0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBQYWdlLmdldENvb2tpZXMuRmlyc3RQYXJ0eS5NYWluRnJhbWUK
K0dldHRpbmcgY29va2llcyBiZWZvcmUgZmlyc3QtcGFydHkgcmVzb3VyY2UgbG9hZC4uLgorTG9h
ZGluZyBmaXJzdC1wYXJ0eSByZXNvdXJjZS4uLgorR2V0dGluZyBjb29raWVzIGFmdGVyIGZpcnN0
LXBhcnR5IHJlc291cmNlIGxvYWQuLi4KK1BBU1M6IFNob3VsZCBoYXZlIHNldCBjb29raWVzLgor
UEFTUzogTmV3IGNvb2tpZSBzaG91bGQgaGF2ZSBuYW1lICdGaXJzdFBhcnR5UmVzb3VyY2UnLgor
UEFTUzogTmV3IGNvb2tpZSBzaG91bGQgaGF2ZSB2YWx1ZSAnUEFTUycuCitQQVNTOiBOZXcgY29v
a2llIHNob3VsZCBoYXZlIGRvbWFpbiAnMTI3LjAuMC4xJy4KIAotLS0gUnVubmluZyB0ZXN0IHNl
dHVwLgotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFBhZ2UuZ2V0Q29va2llcy5TdWJSZXNvdXJjZQot
UEFTUzogbGVuZ3RoIHNob3VsZCBiZSB0d28uCi1QQVNTOiBbU3ViXSBOYW1lIGlzICdTdWInCi1Q
QVNTOiBbU3ViXSBWYWx1ZSBpcyAnYmFyJwotUEFTUzogW1N1Yl0gRG9tYWluIGlzICdsb2NhbGhv
c3QnCistLSBSdW5uaW5nIHRlc3QgY2FzZTogUGFnZS5nZXRDb29raWVzLkZpcnN0UGFydHkuU3Vi
RnJhbWUKK0dldHRpbmcgY29va2llcyBiZWZvcmUgZmlyc3QtcGFydHkgcmVzb3VyY2UgbG9hZC4u
LgorTG9hZGluZyBmaXJzdC1wYXJ0eSByZXNvdXJjZS4uLgorR2V0dGluZyBjb29raWVzIGFmdGVy
IGZpcnN0LXBhcnR5IHJlc291cmNlIGxvYWQuLi4KK1BBU1M6IFNob3VsZCBoYXZlIHNldCBjb29r
aWVzLgorUEFTUzogTmV3IGNvb2tpZSBzaG91bGQgaGF2ZSBuYW1lICdGaXJzdFBhcnR5RnJhbWUn
LgorUEFTUzogTmV3IGNvb2tpZSBzaG91bGQgaGF2ZSB2YWx1ZSAnUEFTUycuCitQQVNTOiBOZXcg
Y29va2llIHNob3VsZCBoYXZlIGRvbWFpbiAnMTI3LjAuMC4xJy4KKworLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFBhZ2UuZ2V0Q29va2llcy5UaGlyZFBhcnR5Lk1haW5GcmFtZS5XaXRoSVRQCitHZXR0
aW5nIGNvb2tpZXMgYmVmb3JlIHRoaXJkLXBhcnR5IHJlc291cmNlIGxvYWQuLi4KK0xvYWRpbmcg
dGhpcmQtcGFydHkgcmVzb3VyY2UuLi4KK0dldHRpbmcgY29va2llcyBhZnRlciB0aGlyZC1wYXJ0
eSByZXNvdXJjZSBsb2FkLi4uCitQQVNTOiBTaG91bGQgbm90IGhhdmUgc2V0IGNvb2tpZXMuCisK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBQYWdlLmdldENvb2tpZXMuVGhpcmRQYXJ0eS5TdWJGcmFt
ZS5XaXRoSVRQCitHZXR0aW5nIGNvb2tpZXMgYmVmb3JlIHRoaXJkLXBhcnR5IHJlc291cmNlIGxv
YWQuLi4KK0xvYWRpbmcgdGhpcmQtcGFydHkgcmVzb3VyY2UuLi4KK0dldHRpbmcgY29va2llcyBh
ZnRlciB0aGlyZC1wYXJ0eSByZXNvdXJjZSBsb2FkLi4uCitQQVNTOiBTaG91bGQgbm90IGhhdmUg
c2V0IGNvb2tpZXMuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBQYWdlLmdldENvb2tpZXMuRGlz
YWJsZUlUUAorUEFTUworCistLSBSdW5uaW5nIHRlc3QgY2FzZTogUGFnZS5nZXRDb29raWVzLlRo
aXJkUGFydHkuTWFpbkZyYW1lLldpdGhvdXRJVFAKK0dldHRpbmcgY29va2llcyBiZWZvcmUgdGhp
cmQtcGFydHkgcmVzb3VyY2UgbG9hZC4uLgorTG9hZGluZyB0aGlyZC1wYXJ0eSByZXNvdXJjZS4u
LgorR2V0dGluZyBjb29raWVzIGFmdGVyIHRoaXJkLXBhcnR5IHJlc291cmNlIGxvYWQuLi4KK1BB
U1M6IFNob3VsZCBoYXZlIHNldCBjb29raWVzLgorUEFTUzogTmV3IGNvb2tpZSBzaG91bGQgaGF2
ZSBuYW1lICdUaGlyZFBhcnR5UmVzb3VyY2VXaXRob3V0SVRQJy4KK1BBU1M6IE5ldyBjb29raWUg
c2hvdWxkIGhhdmUgdmFsdWUgJ1BBU1MnLgorUEFTUzogTmV3IGNvb2tpZSBzaG91bGQgaGF2ZSBk
b21haW4gJ2xvY2FsaG9zdCcuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBQYWdlLmdldENvb2tp
ZXMuVGhpcmRQYXJ0eS5TdWJGcmFtZS5XaXRob3V0SVRQCitHZXR0aW5nIGNvb2tpZXMgYmVmb3Jl
IHRoaXJkLXBhcnR5IHJlc291cmNlIGxvYWQuLi4KK0xvYWRpbmcgdGhpcmQtcGFydHkgcmVzb3Vy
Y2UuLi4KK0dldHRpbmcgY29va2llcyBhZnRlciB0aGlyZC1wYXJ0eSByZXNvdXJjZSBsb2FkLi4u
CitQQVNTOiBTaG91bGQgaGF2ZSBzZXQgY29va2llcy4KK1BBU1M6IE5ldyBjb29raWUgc2hvdWxk
IGhhdmUgbmFtZSAnVGhpcmRQYXJ0eUZyYW1lV2l0aG91dElUUCcuCitQQVNTOiBOZXcgY29va2ll
IHNob3VsZCBoYXZlIHZhbHVlICdQQVNTJy4KK1BBU1M6IE5ldyBjb29raWUgc2hvdWxkIGhhdmUg
ZG9tYWluICdsb2NhbGhvc3QnLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9wYWdlL2dldC1jb29raWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9wYWdlL2dldC1jb29raWVzLmh0bWwKaW5kZXggZmY3NWRkYzRkZmIxYzlkNzlj
OTQxNGQ0ZWY5MDkyNmE4NjE4NmUzOS4uMmJkNDBjMDM5NTY4OTYwOTE2ODFkNmNlYWZjN2E2ZWFi
OWVlNzg3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGFn
ZS9nZXQtY29va2llcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3BhZ2UvZ2V0LWNvb2tpZXMuaHRtbApAQCAtMyw3NiArMywxOTMgQEAKIDxoZWFkPgogPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0
Q29va2llcyh0cnVlKTsKLQotZnVuY3Rpb24gbG9hZERvY3VtZW50V2l0aFVSTCh1cmwpIHsKLSAg
ICBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworZnVuY3Rpb24gbG9h
ZEZyYW1lV2l0aFVSTCh1cmwpIHsKKyAgICBsZXQgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpZnJhbWUnKTsKICAgICBmcmFtZS5zcmMgPSB1cmw7Ci0gICAgZnJhbWUub25sb2FkID0g
ZnVuY3Rpb24oKSB7IFRlc3RQYWdlLmRpc3BhdGNoRXZlbnRUb0Zyb250ZW5kKCJMb2FkQ29tcGxl
dGUiKSB9OworICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCAoZXZlbnQpID0+IHsK
KyAgICAgICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIkZyYW1lTG9hZCIpOwor
ICAgIH0pOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwogfQogCitmdW5j
dGlvbiBsb2FkU2NyaXB0V2l0aFVSTCh1cmwpIHsKKyAgICBsZXQgc2NyaXB0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CisgICAgc2NyaXB0LnNyYyA9IHVybDsKKyAgICBzY3Jp
cHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIChldmVudCkgPT4geworICAgICAgICBUZXN0UGFn
ZS5kaXNwYXRjaEV2ZW50VG9Gcm9udGVuZCgiU2NyaXB0TG9hZCIpOworICAgIH0pOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKK30KKwogZnVuY3Rpb24gdGVzdCgpCiB7
CisgICAgY29uc3QgZmlyc3RQYXJ0eSA9ICIxMjcuMC4wLjEiOworICAgIGNvbnN0IHRoaXJkUGFy
dHkgPSAibG9jYWxob3N0IjsKKwogICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
QXN5bmNTdWl0ZSgiUGFnZS5nZXRDb29raWVzIik7CiAKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
Ci0gICAgICAgIG5hbWU6ICJDaGVja05vQ29va2llcyIsCi0gICAgICAgIGRlc2NyaXB0aW9uOiAi
RW5zdXJlIHRoZXJlIGFyZSBubyBjb29raWVzLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICAgICAgICBQYWdlQWdlbnQuZ2V0Q29va2llcygpLnRoZW4oKHBheWxvYWQp
ID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBheWxvYWQu
Y29va2llcy5sZW5ndGgsIDAsICJTaG91bGQgYmUgbm8gY29va2llcy4iKTsKLSAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmVq
ZWN0KCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgbmFtZTogIlBhZ2UuZ2V0Q29va2llcy5J
bml0aWFsbHlOb0Nvb2tpZXMiLAorICAgICAgICBkZXNjcmlwdGlvbjogIkVuc3VyZSB0aGVyZSBh
cmUgbm8gY29va2llcyBhdCB0aGUgc3RhcnQuIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAg
ICAgICAgICAgIGxldCB7Y29va2llc30gPSBhd2FpdCBQYWdlQWdlbnQuZ2V0Q29va2llcygpCisK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoY29va2llcy5sZW5ndGgsIDAs
ICJTaG91bGQgYmUgbm8gY29va2llcy4iKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3Vp
dGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiUGFnZS5nZXRDb29raWVzLk9ubHlNYWlu
UmVzb3VyY2UiLAotICAgICAgICBkZXNjcmlwdGlvbjogIkdldCBjb29raWVzIG9uIE1haW5SZXNv
dXJjZS4iLAotICAgICAgICBzZXR1cChyZXNvbHZlKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKGBkb2N1bWVudC5jb29raWUgPSAiTWFpbj1mb287IE1heC1hZ2U9
MzYwMCI7YCk7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0KHJlc29sdmUsIDUwMCk7Ci0gICAgICAg
IH0sCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBQYWdlQWdl
bnQuZ2V0Q29va2llcygpLnRoZW4oKHBheWxvYWQpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBheWxvYWQuY29va2llcy5sZW5ndGgsIDEsICJsZW5ndGgg
c2hvdWxkIGJlIG9uZS4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHBheWxvYWQuY29va2llc1swXS5uYW1lLCAiTWFpbiIsICJbTWFpbl0gTmFtZSBpcyAnTWFp
biciKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBheWxvYWQu
Y29va2llc1swXS52YWx1ZSwgImZvbyIsICJbTWFpbl0gVmFsdWUgaXMgJ2ZvbyciKTsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBheWxvYWQuY29va2llc1swXS5k
b21haW4sICIxMjcuMC4wLjEiLCAiW01haW5dIERvbWFpbiBpcyAnMTI3LjAuMC4xJyIpOwotICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4g
ewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJDb3VsZCBub3QgZmV0Y2ggY29v
a2llczogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICByZWplY3QoKTsKLSAgICAgICAgICAg
IH0pOworICAgICAgICBuYW1lOiAiUGFnZS5nZXRDb29raWVzLkZpcnN0UGFydHkuTWFpbkZyYW1l
IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJHZXQgY29va2llcyBmb3IgYSBmaXJzdC1wYXJ0eSBy
ZXNvdXJjZSBpbiB0aGUgbWFpbiBmcmFtZS4iLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkdldHRpbmcgY29va2llcyBiZWZvcmUgZmlyc3Qt
cGFydHkgcmVzb3VyY2UgbG9hZC4uLiIpOworICAgICAgICAgICAgbGV0IGNvb2tpZXNCZWZvcmUg
PSBhd2FpdCBQYWdlQWdlbnQuZ2V0Q29va2llcygpOworCisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiTG9hZGluZyBmaXJzdC1wYXJ0eSByZXNvdXJjZS4uLiIpOworICAgICAgICAgICAg
YXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRF
dmVudCgiU2NyaXB0TG9hZCIpLAorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoYGxvYWRTY3JpcHRXaXRoVVJMKCJodHRwOi8vJHtmaXJzdFBhcnR5fTo4MDAwL2lu
c3BlY3Rvci9wYWdlL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPUZpcnN0UGFydHlSZXNv
dXJjZSZ2YWx1ZT1QQVNTIilgKSwKKyAgICAgICAgICAgIF0pOworCisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiR2V0dGluZyBjb29raWVzIGFmdGVyIGZpcnN0LXBhcnR5IHJlc291cmNl
IGxvYWQuLi4iKTsKKyAgICAgICAgICAgIGxldCBjb29raWVzQWZ0ZXIgPSBhd2FpdCBQYWdlQWdl
bnQuZ2V0Q29va2llcygpOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdE5vdFNo
YWxsb3dFcXVhbChjb29raWVzQmVmb3JlLCBjb29raWVzQWZ0ZXIsICJTaG91bGQgaGF2ZSBzZXQg
Y29va2llcy4iKTsKKworICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBjb29raWVzQWZ0ZXIuY29v
a2llcy5maWx0ZXIoKGNvb2tpZSkgPT4gY29va2llLm5hbWUgPT09ICJGaXJzdFBhcnR5UmVzb3Vy
Y2UiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGNvb2tpZXMubGVuZ3RoID09
PSAxLCAiU2hvdWxkIG9ubHkgaGF2ZSBvbmUgY29va2llIHdpdGggbmFtZSAnRmlyc3RQYXJ0eVJl
c291cmNlJy4iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0Tm90TnVsbChjb29r
aWVzWzBdLCAiTmV3IGNvb2tpZSBzaG91bGQgaGF2ZSBuYW1lICdGaXJzdFBhcnR5UmVzb3VyY2Un
LiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChjb29raWVzWzBdLnZh
bHVlLCAiUEFTUyIsICJOZXcgY29va2llIHNob3VsZCBoYXZlIHZhbHVlICdQQVNTJy4iKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoY29va2llc1swXS5kb21haW4sIGZp
cnN0UGFydHksIGBOZXcgY29va2llIHNob3VsZCBoYXZlIGRvbWFpbiAnJHtmaXJzdFBhcnR5fScu
YCk7CiAgICAgICAgIH0KICAgICB9KTsKIAogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAg
ICAgbmFtZTogIlBhZ2UuZ2V0Q29va2llcy5TdWJSZXNvdXJjZSIsCi0gICAgICAgIGRlc2NyaXB0
aW9uOiAiR2V0IGNvb2tpZXMgb24gU3ViUmVzb3VyY2VzLiIsCi0gICAgICAgIHNldHVwKHJlc29s
dmUpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiTG9hZENvbXBsZXRl
IikudGhlbigoZXZlbnQpID0+IHsgcmVzb2x2ZSgpIH0pOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZShgbG9hZERvY3VtZW50V2l0aFVSTCgiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2luc3BlY3Rvci9wYWdlL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPVN1YiZ2
YWx1ZT1iYXIiKWApOwotICAgICAgICB9LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgUGFnZUFnZW50LmdldENvb2tpZXMoKS50aGVuKChwYXlsb2FkKSA9PiB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXlsb2FkLmNvb2tp
ZXMubGVuZ3RoLCAyLCAibGVuZ3RoIHNob3VsZCBiZSB0d28uIik7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXlsb2FkLmNvb2tpZXNbMV0ubmFtZSwgIlN1YiIs
ICJbU3ViXSBOYW1lIGlzICdTdWInIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChwYXlsb2FkLmNvb2tpZXNbMV0udmFsdWUsICJiYXIiLCAiW1N1Yl0gVmFsdWUg
aXMgJ2JhciciKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBh
eWxvYWQuY29va2llc1sxXS5kb21haW4sICJsb2NhbGhvc3QiLCAiW1N1Yl0gRG9tYWluIGlzICds
b2NhbGhvc3QnIik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSku
Y2F0Y2goKGVycm9yKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkNv
dWxkIG5vdCBmZXRjaCBjb29raWVzOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgICAgIHJlamVj
dCgpOwotICAgICAgICAgICAgfSk7CisgICAgICAgIG5hbWU6ICJQYWdlLmdldENvb2tpZXMuRmly
c3RQYXJ0eS5TdWJGcmFtZSIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiR2V0IGNvb2tpZXMgZm9y
IGEgZmlyc3QtcGFydHkgcmVzb3VyY2UgaW4gYSBzdWIgZnJhbWUuIiwKKyAgICAgICAgYXN5bmMg
dGVzdCgpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJHZXR0aW5nIGNvb2tpZXMg
YmVmb3JlIGZpcnN0LXBhcnR5IHJlc291cmNlIGxvYWQuLi4iKTsKKyAgICAgICAgICAgIGxldCBj
b29raWVzQmVmb3JlID0gYXdhaXQgUGFnZUFnZW50LmdldENvb2tpZXMoKTsKKworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIkxvYWRpbmcgZmlyc3QtcGFydHkgcmVzb3VyY2UuLi4iKTsK
KyAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmF3YWl0RXZlbnQoIkZyYW1lTG9hZCIpLAorICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoYGxvYWRGcmFtZVdpdGhVUkwoImh0dHA6Ly8ke2ZpcnN0UGFy
dHl9OjgwMDAvaW5zcGVjdG9yL3BhZ2UvcmVzb3VyY2VzL3NldC1jb29raWUucGhwP25hbWU9Rmly
c3RQYXJ0eUZyYW1lJnZhbHVlPVBBU1MiKWApLAorICAgICAgICAgICAgXSk7CisKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCJHZXR0aW5nIGNvb2tpZXMgYWZ0ZXIgZmlyc3QtcGFydHkg
cmVzb3VyY2UgbG9hZC4uLiIpOworICAgICAgICAgICAgbGV0IGNvb2tpZXNBZnRlciA9IGF3YWl0
IFBhZ2VBZ2VudC5nZXRDb29raWVzKCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0Tm90U2hhbGxvd0VxdWFsKGNvb2tpZXNCZWZvcmUsIGNvb2tpZXNBZnRlciwgIlNob3VsZCBo
YXZlIHNldCBjb29raWVzLiIpOworCisgICAgICAgICAgICBsZXQgY29va2llcyA9IGNvb2tpZXNB
ZnRlci5jb29raWVzLmZpbHRlcigoY29va2llKSA9PiBjb29raWUubmFtZSA9PT0gIkZpcnN0UGFy
dHlGcmFtZSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoY29va2llcy5sZW5n
dGggPT09IDEsICJTaG91bGQgb25seSBoYXZlIG9uZSBjb29raWUgd2l0aCBuYW1lICdGaXJzdFBh
cnR5RnJhbWUnLiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3ROb3ROdWxsKGNv
b2tpZXNbMF0sICJOZXcgY29va2llIHNob3VsZCBoYXZlIG5hbWUgJ0ZpcnN0UGFydHlGcmFtZScu
Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKGNvb2tpZXNbMF0udmFs
dWUsICJQQVNTIiwgIk5ldyBjb29raWUgc2hvdWxkIGhhdmUgdmFsdWUgJ1BBU1MnLiIpOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChjb29raWVzWzBdLmRvbWFpbiwgZmly
c3RQYXJ0eSwgYE5ldyBjb29raWUgc2hvdWxkIGhhdmUgZG9tYWluICcke2ZpcnN0UGFydHl9Jy5g
KTsKICAgICAgICAgfQogICAgIH0pOwogCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiAiUGFnZS5nZXRDb29raWVzLlRoaXJkUGFydHkuTWFpbkZyYW1lLldpdGhJVFAiLAor
ICAgICAgICBkZXNjcmlwdGlvbjogIkdldCBjb29raWVzIGZvciBhIHRoaXJkLXBhcnR5IHJlc291
cmNlIGluIHRoZSBtYWluIGZyYW1lIHdpdGggSVRQIGVuYWJsZWQuIiwKKyAgICAgICAgYXN5bmMg
dGVzdCgpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJHZXR0aW5nIGNvb2tpZXMg
YmVmb3JlIHRoaXJkLXBhcnR5IHJlc291cmNlIGxvYWQuLi4iKTsKKyAgICAgICAgICAgIGxldCBj
b29raWVzQmVmb3JlID0gYXdhaXQgUGFnZUFnZW50LmdldENvb2tpZXMoKTsKKworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIkxvYWRpbmcgdGhpcmQtcGFydHkgcmVzb3VyY2UuLi4iKTsK
KyAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmF3YWl0RXZlbnQoIlNjcmlwdExvYWQiKSwKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBsb2FkU2NyaXB0V2l0aFVSTCgiaHR0cDovLyR7dGhpcmRQ
YXJ0eX06ODAwMC9pbnNwZWN0b3IvcGFnZS9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHA/bmFtZT1U
aGlyZFBhcnR5UmVzb3VyY2VXaXRoSVRQJnZhbHVlPUZBSUwiKWApLAorICAgICAgICAgICAgXSk7
CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJHZXR0aW5nIGNvb2tpZXMgYWZ0ZXIg
dGhpcmQtcGFydHkgcmVzb3VyY2UgbG9hZC4uLiIpOworICAgICAgICAgICAgbGV0IGNvb2tpZXNB
ZnRlciA9IGF3YWl0IFBhZ2VBZ2VudC5nZXRDb29raWVzKCk7CisKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0U2hhbGxvd0VxdWFsKGNvb2tpZXNCZWZvcmUsIGNvb2tpZXNBZnRlciwg
IlNob3VsZCBub3QgaGF2ZSBzZXQgY29va2llcy4iKTsKKyAgICAgICAgfSwKKyAgICB9KTsKKwor
ICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlBhZ2UuZ2V0Q29va2llcy5U
aGlyZFBhcnR5LlN1YkZyYW1lLldpdGhJVFAiLAorICAgICAgICBkZXNjcmlwdGlvbjogIkdldCBj
b29raWVzIGZvciBhIHRoaXJkLXBhcnR5IHJlc291cmNlIGluIGEgc3ViIGZyYW1lLiIsCisgICAg
ICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiR2V0dGlu
ZyBjb29raWVzIGJlZm9yZSB0aGlyZC1wYXJ0eSByZXNvdXJjZSBsb2FkLi4uIik7CisgICAgICAg
ICAgICBsZXQgY29va2llc0JlZm9yZSA9IGF3YWl0IFBhZ2VBZ2VudC5nZXRDb29raWVzKCk7CisK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJMb2FkaW5nIHRoaXJkLXBhcnR5IHJlc291
cmNlLi4uIik7CisgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChbCisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hd2FpdEV2ZW50KCJGcmFtZUxvYWQiKSwKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBsb2FkRnJhbWVXaXRoVVJMKCJodHRwOi8v
JHt0aGlyZFBhcnR5fTo4MDAwL2luc3BlY3Rvci9wYWdlL3Jlc291cmNlcy9zZXQtY29va2llLnBo
cD9uYW1lPVRoaXJkUGFydHlGcmFtZVdpdGhJVFAmdmFsdWU9RkFJTCIpYCksCisgICAgICAgICAg
ICBdKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkdldHRpbmcgY29va2llcyBh
ZnRlciB0aGlyZC1wYXJ0eSByZXNvdXJjZSBsb2FkLi4uIik7CisgICAgICAgICAgICBsZXQgY29v
a2llc0FmdGVyID0gYXdhaXQgUGFnZUFnZW50LmdldENvb2tpZXMoKTsKKworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RTaGFsbG93RXF1YWwoY29va2llc0JlZm9yZSwgY29va2llc0Fm
dGVyLCAiU2hvdWxkIG5vdCBoYXZlIHNldCBjb29raWVzLiIpOworICAgICAgICB9LAorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUGFnZS5nZXRDb29r
aWVzLkRpc2FibGVJVFAiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgYXdh
aXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB0
ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tpZXModHJ1ZSk7YCk7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiUEFTUyIpOworICAgICAgICB9LAorICAgIH0pOworCisgICAgc3Vp
dGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUGFnZS5nZXRDb29raWVzLlRoaXJkUGFy
dHkuTWFpbkZyYW1lLldpdGhvdXRJVFAiLAorICAgICAgICBkZXNjcmlwdGlvbjogIkdldCBjb29r
aWVzIGZvciBhIHRoaXJkLXBhcnR5IHJlc291cmNlIGluIHRoZSBtYWluIGZyYW1lIHdpdGggSVRQ
IGRpc2FibGVkLiIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmxvZygiR2V0dGluZyBjb29raWVzIGJlZm9yZSB0aGlyZC1wYXJ0eSByZXNvdXJjZSBs
b2FkLi4uIik7CisgICAgICAgICAgICBsZXQgY29va2llc0JlZm9yZSA9IGF3YWl0IFBhZ2VBZ2Vu
dC5nZXRDb29raWVzKCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJMb2FkaW5n
IHRoaXJkLXBhcnR5IHJlc291cmNlLi4uIik7CisgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFs
bChbCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hd2FpdEV2ZW50KCJTY3JpcHRMb2Fk
IiksCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgbG9hZFNj
cmlwdFdpdGhVUkwoImh0dHA6Ly8ke3RoaXJkUGFydHl9OjgwMDAvaW5zcGVjdG9yL3BhZ2UvcmVz
b3VyY2VzL3NldC1jb29raWUucGhwP25hbWU9VGhpcmRQYXJ0eVJlc291cmNlV2l0aG91dElUUCZ2
YWx1ZT1QQVNTIilgKSwKKyAgICAgICAgICAgIF0pOworCisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiR2V0dGluZyBjb29raWVzIGFmdGVyIHRoaXJkLXBhcnR5IHJlc291cmNlIGxvYWQu
Li4iKTsKKyAgICAgICAgICAgIGxldCBjb29raWVzQWZ0ZXIgPSBhd2FpdCBQYWdlQWdlbnQuZ2V0
Q29va2llcygpOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdE5vdFNoYWxsb3dF
cXVhbChjb29raWVzQmVmb3JlLCBjb29raWVzQWZ0ZXIsICJTaG91bGQgaGF2ZSBzZXQgY29va2ll
cy4iKTsKKworICAgICAgICAgICAgbGV0IGNvb2tpZXMgPSBjb29raWVzQWZ0ZXIuY29va2llcy5m
aWx0ZXIoKGNvb2tpZSkgPT4gY29va2llLm5hbWUgPT09ICJUaGlyZFBhcnR5UmVzb3VyY2VXaXRo
b3V0SVRQIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChjb29raWVzLmxlbmd0
aCA9PT0gMSwgIlNob3VsZCBvbmx5IGhhdmUgb25lIGNvb2tpZSB3aXRoIG5hbWUgJ1RoaXJkUGFy
dHlSZXNvdXJjZVdpdGhvdXRJVFAnLiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3ROb3ROdWxsKGNvb2tpZXNbMF0sICJOZXcgY29va2llIHNob3VsZCBoYXZlIG5hbWUgJ1RoaXJk
UGFydHlSZXNvdXJjZVdpdGhvdXRJVFAnLiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChjb29raWVzWzBdLnZhbHVlLCAiUEFTUyIsICJOZXcgY29va2llIHNob3VsZCBo
YXZlIHZhbHVlICdQQVNTJy4iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwoY29va2llc1swXS5kb21haW4sIHRoaXJkUGFydHksIGBOZXcgY29va2llIHNob3VsZCBoYXZl
IGRvbWFpbiAnJHt0aGlyZFBhcnR5fScuYCk7CisgICAgICAgIH0sCisgICAgfSk7CisKKyAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJQYWdlLmdldENvb2tpZXMuVGhpcmRQ
YXJ0eS5TdWJGcmFtZS5XaXRob3V0SVRQIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJHZXQgY29v
a2llcyBmb3IgYSB0aGlyZC1wYXJ0eSByZXNvdXJjZSBpbiBhIHN1YiBmcmFtZS4iLAorICAgICAg
ICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkdldHRpbmcg
Y29va2llcyBiZWZvcmUgdGhpcmQtcGFydHkgcmVzb3VyY2UgbG9hZC4uLiIpOworICAgICAgICAg
ICAgbGV0IGNvb2tpZXNCZWZvcmUgPSBhd2FpdCBQYWdlQWdlbnQuZ2V0Q29va2llcygpOworCisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiTG9hZGluZyB0aGlyZC1wYXJ0eSByZXNvdXJj
ZS4uLiIpOworICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiRnJhbWVMb2FkIiksCisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgbG9hZEZyYW1lV2l0aFVSTCgiaHR0cDovLyR7
dGhpcmRQYXJ0eX06ODAwMC9pbnNwZWN0b3IvcGFnZS9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHA/
bmFtZT1UaGlyZFBhcnR5RnJhbWVXaXRob3V0SVRQJnZhbHVlPVBBU1MiKWApLAorICAgICAgICAg
ICAgXSk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJHZXR0aW5nIGNvb2tpZXMg
YWZ0ZXIgdGhpcmQtcGFydHkgcmVzb3VyY2UgbG9hZC4uLiIpOworICAgICAgICAgICAgbGV0IGNv
b2tpZXNBZnRlciA9IGF3YWl0IFBhZ2VBZ2VudC5nZXRDb29raWVzKCk7CisKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0Tm90U2hhbGxvd0VxdWFsKGNvb2tpZXNCZWZvcmUsIGNvb2tp
ZXNBZnRlciwgIlNob3VsZCBoYXZlIHNldCBjb29raWVzLiIpOworCisgICAgICAgICAgICBsZXQg
Y29va2llcyA9IGNvb2tpZXNBZnRlci5jb29raWVzLmZpbHRlcigoY29va2llKSA9PiBjb29raWUu
bmFtZSA9PT0gIlRoaXJkUGFydHlGcmFtZVdpdGhvdXRJVFAiKTsKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0KGNvb2tpZXMubGVuZ3RoID09PSAxLCAiU2hvdWxkIG9ubHkgaGF2ZSBv
bmUgY29va2llIHdpdGggbmFtZSAnVGhpcmRQYXJ0eUZyYW1lV2l0aG91dElUUCcuIik7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdE5vdE51bGwoY29va2llc1swXSwgIk5ldyBjb29r
aWUgc2hvdWxkIGhhdmUgbmFtZSAnVGhpcmRQYXJ0eUZyYW1lV2l0aG91dElUUCcuIik7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKGNvb2tpZXNbMF0udmFsdWUsICJQQVNT
IiwgIk5ldyBjb29raWUgc2hvdWxkIGhhdmUgdmFsdWUgJ1BBU1MnLiIpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChjb29raWVzWzBdLmRvbWFpbiwgdGhpcmRQYXJ0eSwg
YE5ldyBjb29raWUgc2hvdWxkIGhhdmUgZG9tYWluICcke3RoaXJkUGFydHl9Jy5gKTsKKyAgICAg
ICAgfSwKKyAgICB9KTsKKwogICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwogfQog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9w
YWdlL3Jlc291cmNlcy9zZXQtY29va2llLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3BhZ2UvcmVzb3VyY2VzL3NldC1jb29raWUucGhwCmluZGV4IDFmOGEyMmIzZGNiMzE0
ODg4OTgzMjA3ZmRkZmVhOTU4OGI2MjJhNzcuLjc0YzM3YTZjOTA0M2VmZWQ1YjE0NWRkZjE3NjQ3
Y2Q3YTBmMmM4NTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3BhZ2UvcmVzb3VyY2VzL3NldC1jb29raWUucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3BhZ2UvcmVzb3VyY2VzL3NldC1jb29raWUucGhwCkBAIC0xLDQgKzEsMyBA
QAogPD9waHAKICAgICBzZXRjb29raWUoJF9HRVRbIm5hbWUiXSwgJF9HRVRbInZhbHVlIl0sIHRp
bWUoKSArIDM2MDApOwogPz4KLVNldCA8Pz0gJF9HRVRbIm5hbWUiXSA/Pj08Pz0gJF9HRVRbInZh
bHVlIl0gPz4K
</data>

          </attachment>
      

    </bug>

</bugzilla>