<?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>142716</bug_id>
          
          <creation_ts>2015-03-15 17:49:08 -0700</creation_ts>
          <short_desc>Make DatabaseContext suspendable if there is no pending database activity</short_desc>
          <delta_ts>2015-03-17 10:52:07 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1077289</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-15 17:49:08 -0700</bug_when>
    <thetext>Make DatabaseContext suspendable if there is no pending database activity, i.e.
- Pending Database creation JS callback
- Pending transaction(s)

Suspending is safe in this case because we are not going to interrupt any database activity, nor fire any JS event.

This will greatly increase the likelihood of pages using websql to enter the PageCache.

Radar: &lt;rdar://problem/19923085&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077292</commentid>
    <comment_count>1</comment_count>
      <attachid>248694</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-15 17:54:21 -0700</bug_when>
    <thetext>Created attachment 248694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077535</commentid>
    <comment_count>2</comment_count>
      <attachid>248694</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-03-16 12:34:40 -0700</bug_when>
    <thetext>Comment on attachment 248694
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077545</commentid>
    <comment_count>3</comment_count>
      <attachid>248694</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-16 13:21:01 -0700</bug_when>
    <thetext>Comment on attachment 248694
Patch

Clearing flags on attachment: 248694

Committed r181577: &lt;http://trac.webkit.org/changeset/181577&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077546</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-16 13:21:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077910</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-03-17 10:52:07 -0700</bug_when>
    <thetext>This broke Windows tests because Windows does not support this feature.

Added Skip declarations in r181652 &lt;https://trac.webkit.org/changeset/181652&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248694</attachid>
            <date>2015-03-15 17:54:21 -0700</date>
            <delta_ts>2015-03-16 13:21:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142716-20150315175352.patch</filename>
            <type>text/plain</type>
            <size>16233</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBlZmNlNDcxMGU2N2Rj
MDM5NjE3ZmNlMzZkZmE3YWI2MTVjOWU1ZS4uMjRiODA0ZDdmODg2NWNiYzFiZDJlOGViMTg1NDNk
ZTJhOTNiOWM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTAzLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBEYXRhYmFzZUNvbnRl
eHQgc3VzcGVuZGFibGUgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyBkYXRhYmFzZSBhY3Rpdml0eQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNzE2Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTkyMzA4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIERhdGFiYXNlQ29udGV4dCBzdXNwZW5kYWJs
ZSBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIGRhdGFiYXNlCisgICAgICAgIGFjdGl2aXR5LCBpLmU6
CisgICAgICAgIC0gTm8gcGVuZGluZyBEYXRhYmFzZSBjcmVhdGlvbiBKUyBjYWxsYmFjaworICAg
ICAgICAtIE5vIHBlbmRpbmcgdHJhbnNhY3Rpb24ocykKKworICAgICAgICBTdXNwZW5kaW5nIGlz
IHNhZmUgaW4gdGhpcyBjYXNlIGJlY2F1c2Ugd2UgYXJlIG5vdCBnb2luZyB0byBpbnRlcnJ1cHQK
KyAgICAgICAgYW55IGRhdGFiYXNlIGFjdGl2aXR5LCBub3IgZmlyZSBhbnkgSlMgZXZlbnQuCisK
KyAgICAgICAgVGhpcyBncmVhdGx5IGluY3JlYXNlcyB0aGUgbGlrZWxpaG9vZCBvZiBwYWdlcyB1
c2luZyB3ZWJzcWwgdG8gZW50ZXIKKyAgICAgICAgdGhlIFBhZ2VDYWNoZS4KKworICAgICAgICBU
ZXN0czogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24t
ZGIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJh
c2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFi
YXNlL0RhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpoYXNQZW5kaW5n
VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhYmFzZUNvbnRleHQ6OmNhblN1c3BlbmQpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRhdGFiYXNlTWFuYWdlcjo6b3BlbkRhdGFiYXNlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGhy
ZWFkOjpoYXNQZW5kaW5nRGF0YWJhc2VBY3Rpdml0eSk6CisgICAgICAgICogTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZVRocmVhZC5oOgorCiAyMDE1LTAzLTEzICBKb29uZ2h1biBQYXJrICA8
amg3MTgucGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBGaXggRGVidWcgYnVpbGQgZXJyb3Ig
J2NvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQgcmFuZ2Ugb2YgZGF0YSB0
eXBlIFstV2Vycm9yPXR5cGUtbGltaXRzXScKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAKaW5kZXggMTZiNTRlMjM0Y2Q2OTJhZTQyN2I5MTU4Yjg4
ODA3YzYyZmEwMTRjYS4uOWJiY2EwZmI4OGU5NmNkNjUwYTcwYjU3YjM2ZDdmNDAzZGUxN2IxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAK
QEAgLTIwNyw2ICsyMDcsMTIgQEAgdm9pZCBEYXRhYmFzZTo6aW5Qcm9ncmVzc1RyYW5zYWN0aW9u
Q29tcGxldGVkKCkKICAgICBzY2hlZHVsZVRyYW5zYWN0aW9uKCk7CiB9CiAKK2Jvb2wgRGF0YWJh
c2U6Omhhc1BlbmRpbmdUcmFuc2FjdGlvbigpCit7CisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1f
dHJhbnNhY3Rpb25JblByb2dyZXNzTXV0ZXgpOworICAgIHJldHVybiBtX3RyYW5zYWN0aW9uSW5Q
cm9ncmVzcyB8fCAhbV90cmFuc2FjdGlvblF1ZXVlLmlzRW1wdHkoKTsKK30KKwogU1FMVHJhbnNh
Y3Rpb25DbGllbnQqIERhdGFiYXNlOjp0cmFuc2FjdGlvbkNsaWVudCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIGRhdGFiYXNlQ29udGV4dCgpLT5kYXRhYmFzZVRocmVhZCgpLT50cmFuc2FjdGlvbkNs
aWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5o
CmluZGV4IDhjZTYwNDk4OGFhMzYzNDM1OTM2NGM2YjQzZTk3ZTAzNTYzZGYzZmQuLjFlMzgxM2Jk
NTNkZGJjMjNjNzkzMjI2ZjRkNDI0MGU0ODliMDllN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmgKQEAgLTU4LDYgKzU4LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNjaGVkdWxlVHJhbnNhY3Rpb25TdGVwKFNRTFRyYW5zYWN0aW9uQmFja2VuZCop
OwogICAgIHZvaWQgaW5Qcm9ncmVzc1RyYW5zYWN0aW9uQ29tcGxldGVkKCk7CiAKKyAgICBib29s
IGhhc1BlbmRpbmdUcmFuc2FjdGlvbigpOworCisgICAgYm9vbCBoYXNQZW5kaW5nQ3JlYXRpb25F
dmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGVuZGluZ0NyZWF0aW9uRXZlbnQ7IH0KKyAgICB2
b2lkIHNldEhhc1BlbmRpbmdDcmVhdGlvbkV2ZW50KGJvb2wgdmFsdWUpIHsgbV9oYXNQZW5kaW5n
Q3JlYXRpb25FdmVudCA9IHZhbHVlOyB9CisKICAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCogdHJh
bnNhY3Rpb25DbGllbnQoKSBjb25zdDsKICAgICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiB0
cmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkgY29uc3Q7CiAKQEAgLTEwNSw2ICsxMTAsNyBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxEYXRhYmFzZUNvbnRleHQ+IG1fZGF0YWJhc2VDb250ZXh0OwogCiAg
ICAgYm9vbCBtX2RlbGV0ZWQ7CisgICAgYm9vbCBtX2hhc1BlbmRpbmdDcmVhdGlvbkV2ZW50IHsg
ZmFsc2UgfTsKIAogICAgIGZyaWVuZCBjbGFzcyBEYXRhYmFzZU1hbmFnZXI7CiAgICAgZnJpZW5k
IGNsYXNzIERhdGFiYXNlU2VydmVyOyAvLyBGSVhNRTogcmVtb3ZlIHRoaXMgd2hlbiB0aGUgYmFj
a2VuZCBoYXMgYmVlbiBzcGxpdCBvdXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHAKaW5kZXggODRiNzJkYmRkOTUwMzBh
ZDNjYmQxODY0YmM4NDc2NGE5ZGRkYzJhNS4uYzkyNDRhZjE1MzYxYTQ2MWVkMjk4NmYyYzFmZDlj
OGNjMGI4MzZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VDb250ZXh0LmNwcApAQCAtMTQ3LDcgKzE0NywxMCBAQCB2b2lkIERhdGFi
YXNlQ29udGV4dDo6c3RvcCgpCiAKIGJvb2wgRGF0YWJhc2VDb250ZXh0OjpjYW5TdXNwZW5kKCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gIWhhc09wZW5EYXRhYmFzZXMoKTsKKyAgICBpZiAoIWhhc09w
ZW5EYXRhYmFzZXMoKSB8fCAhbV9kYXRhYmFzZVRocmVhZCkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICByZXR1cm4gIW1fZGF0YWJhc2VUaHJlYWQtPmhhc1BlbmRpbmdEYXRhYmFzZUFjdGl2
aXR5KCk7CiB9CiAKIERhdGFiYXNlVGhyZWFkKiBEYXRhYmFzZUNvbnRleHQ6OmRhdGFiYXNlVGhy
ZWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VNYW5hZ2VyLmNwcAppbmRleCBiMDM3NjIyN2Y1OGZmOTEwMTJhNWVkZGI3YzY1MThhZjA5
M2UxNDUxLi5hZTRhMTRjNjA0ZGYxMzM5NzNmZDA2MmMwYzEyY2Q5M2I3NGVmMWZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFn
ZXIuY3BwCkBAIC0yOTQsOCArMjk0LDEwIEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERhdGFiYXNl
TWFuYWdlcjo6b3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRlCiAKICAg
ICBpZiAoYmFja2VuZC0+aXNOZXcoKSAmJiBjcmVhdGlvbkNhbGxiYWNrLmdldCgpKSB7CiAgICAg
ICAgIExPRyhTdG9yYWdlQVBJLCAiU2NoZWR1bGluZyBEYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tU
YXNrIGZvciBkYXRhYmFzZSAlcFxuIiwgZGF0YWJhc2UuZ2V0KCkpOworICAgICAgICBkYXRhYmFz
ZS0+c2V0SGFzUGVuZGluZ0NyZWF0aW9uRXZlbnQodHJ1ZSk7CiAgICAgICAgIGRhdGFiYXNlLT5t
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFtjcmVhdGlvbkNhbGxiYWNrLCBkYXRh
YmFzZV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7CiAgICAgICAgICAgICBjcmVhdGlvbkNh
bGxiYWNrLT5oYW5kbGVFdmVudChkYXRhYmFzZS5nZXQoKSk7CisgICAgICAgICAgICBkYXRhYmFz
ZS0+c2V0SGFzUGVuZGluZ0NyZWF0aW9uRXZlbnQoZmFsc2UpOwogICAgICAgICB9KTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZVRocmVhZC5jcHAKaW5kZXggMTUzNGEwNzZjMDhhZjhkODdiYmM4YzRjMTMwOTI0YzRiODYxYzU3
Ni4uMjk2YWRmZGU2ZDk2MTJmY2Q3OWRiNDgzYWFiMTQyMzAyMjJlZWY3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5jcHAK
QEAgLTI2Myw0ICsyNjMsMTQgQEAgdm9pZCBEYXRhYmFzZVRocmVhZDo6dW5zY2hlZHVsZURhdGFi
YXNlVGFza3MoRGF0YWJhc2UqIGRhdGFiYXNlKQogICAgIFNhbWVEYXRhYmFzZVByZWRpY2F0ZSBw
cmVkaWNhdGUoZGF0YWJhc2UpOwogICAgIG1fcXVldWUucmVtb3ZlSWYocHJlZGljYXRlKTsKIH0K
KworYm9vbCBEYXRhYmFzZVRocmVhZDo6aGFzUGVuZGluZ0RhdGFiYXNlQWN0aXZpdHkoKSBjb25z
dAoreworICAgIGZvciAoYXV0byYgZGF0YWJhc2UgOiBtX29wZW5EYXRhYmFzZVNldCkgeworICAg
ICAgICBpZiAoZGF0YWJhc2UtPmhhc1BlbmRpbmdDcmVhdGlvbkV2ZW50KCkgfHwgZGF0YWJhc2Ut
Pmhhc1BlbmRpbmdUcmFuc2FjdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5oCmlu
ZGV4IDhmYTdkMTUyZTVmYjhiNjkzYzRlMjI1ZWM3ZTFhYWFmNDYwZDU4M2QuLjVmNDQzNmMzM2Y5
NDc5ZmJkOTEzMzk1MDcyYzlhNWFlZjNjMzllY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGhyZWFkLmgKQEAgLTU3LDYgKzU3LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVUYXNrKHN0ZDo6dW5pcXVlX3B0cjxEYXRhYmFzZVRh
c2s+KTsKICAgICB2b2lkIHNjaGVkdWxlSW1tZWRpYXRlVGFzayhzdGQ6OnVuaXF1ZV9wdHI8RGF0
YWJhc2VUYXNrPik7IC8vIFRoaXMganVzdCBhZGRzIHRoZSB0YXNrIHRvIHRoZSBmcm9udCBvZiB0
aGUgcXVldWUgLSB0aGUgY2FsbGVyIG5lZWRzIHRvIGJlIGV4dHJlbWVseSBjYXJlZnVsIG5vdCB0
byBjcmVhdGUgZGVhZGxvY2tzIHdoZW4gd2FpdGluZyBmb3IgY29tcGxldGlvbi4KICAgICB2b2lk
IHVuc2NoZWR1bGVEYXRhYmFzZVRhc2tzKERhdGFiYXNlKik7CisgICAgYm9vbCBoYXNQZW5kaW5n
RGF0YWJhc2VBY3Rpdml0eSgpIGNvbnN0OwogCiAgICAgdm9pZCByZWNvcmREYXRhYmFzZU9wZW4o
RGF0YWJhc2UqKTsKICAgICB2b2lkIHJlY29yZERhdGFiYXNlQ2xvc2VkKERhdGFiYXNlKik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjIxOWExNTZjODI2YjkzYmY3MDczMjllMjdhNTQ1NDllNzBlMTllZC4uZjI0Njg0MmRk
Mjk1MWM3YjVkOGRjMjFmMzA1ZDkwNjFmMWNlZjFhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDE1LTAzLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFr
ZSBEYXRhYmFzZUNvbnRleHQgc3VzcGVuZGFibGUgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyBkYXRh
YmFzZSBhY3Rpdml0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQyNzE2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTkyMzA4NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3Rz
IHRvIGNoZWNrIHBhZ2UtY2FjaGVhYmlsaXR5IHdoZW4gV2ViU1FMIGlzIHVzZWQsCisgICAgICAg
IGRlcGVuZGluZyBpZiB0aGVyZSBpcyBwZW5kaW5nIGRhdGFiYXNlIGFjdGl2aXR5IG9yIG5vdC4K
KworICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5z
YWN0aW9uLWRiLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utb3BlbmVkLWRi
Lmh0bWwuCisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVu
ZGluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1vcGVuZWQtZGItZXhwZWN0ZWQudHh0
LgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLXBlbmRpbmct
dHJhbnNhY3Rpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLXdlYmRhdGFiYXNlLW9wZW5lZC1kYi5odG1sLgorCiAyMDE1LTAzLTEzICBNYXJj
b3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPGNoYXZhcnJpYTE5OTFAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgR2FyZGVuaW5nIDEzdGggTWFyY2guCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1k
Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJk
YXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJlZWQz
YTQ3NWVhMDkzZWUwZTczOGIzOTIzNmFjNjAyMGNkYzYyMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0
aW9uLWRiLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0cyB0aGF0IGEgcGFnZSB3
aXRoIGFuIG9wZW4gV2ViRGF0YWJhc2Ugd2l0aCBubyBwZW5kaW5nIHRyYW5zYWN0aW9uIGdvZXMg
aW50byB0aGUgcGFnZSBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3Bh
Z2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2Vz
aG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZy
b20gdGhlIHBhZ2UgY2FjaGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MmY2YTVmYTFiNzIxZDY0ZjBmZTZiYzZiYmFkNDJlYzM4ZjU5NDFiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0
YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGIuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBh
IHBhZ2Ugd2l0aCBhbiBvcGVuIFdlYkRhdGFiYXNlIHdpdGggbm8gcGVuZGluZyB0cmFuc2FjdGlv
biBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworICAgIHRl
c3RSdW5uZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZXNob3cgLSAi
ICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CisgICAg
aWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRl
ciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
cGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCJwYWdlaGlkZSAtICIgKyAo
ZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImVudGVyaW5nIGNhY2hlIik7CisgICAg
aWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiUGFnZSBkaWQgbm90
IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9
Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24o
KSB7CisgICAgLy8gT3BlbiB0aGUgZGF0YWJhc2UuCisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNl
KCJQYWdlQ2FjaGVUZXN0IiwgIiIsICJQYWdlIENhY2hlIFRlc3QiLCAxMCwgZnVuY3Rpb24gKGNy
ZWF0ZWREYikgeworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
d2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwi
OworICAgICAgICB9LCAwKTsKKyAgICB9KTsKK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS13ZWJkYXRhYmFzZS1vcGVuZWQtZGItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utb3BlbmVkLWRiLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNkYmZjOWUwM2FkMjkzNzM5YmJhNWE1NjNh
MDY1ZmNhZWMwN2U2MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1vcGVu
ZWQtZGItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdHMg
dGhhdCBhIHBhZ2Ugd2l0aCBhbiBvcGVuIFdlYkRhdGFiYXNlIGRvZXMgbm90IGdvIGludG8gdGhl
IHBhZ2UgY2FjaGUuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1wYWdlc2hvdyAt
IG5vdCBmcm9tIGNhY2hlCi1QQVNTIFBhZ2Ugd2FzIG5vdCByZXN0b3JlZCBmcm9tIHBhZ2UgY2Fj
aGUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFz
ZS1vcGVuZWQtZGIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdl
YmRhdGFiYXNlLW9wZW5lZC1kYi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
NzA5OTUxMzdmMzU5YzE5YTliZTAxNTcyNzA4YjgxNzJjNzMyMjI4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLXdlYmRhdGFiYXNlLW9wZW5lZC1kYi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gb3BlbiBXZWJEYXRhYmFzZSBkb2Vz
IG5vdCBnbyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLSAgICB0
ZXN0UnVubmVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgZGVidWcoInBhZ2VzaG93IC0g
IiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwotICAg
IGlmICghd2luZG93LnNlc3Npb25TdG9yYWdlLnBhZ2VfY2FjaGVfb3Blbl93ZWJkYXRhYmFzZV90
ZXN0X3N0YXJ0ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRlbGV0ZSB3aW5kb3cuc2Vzc2lv
blN0b3JhZ2UucGFnZV9jYWNoZV9vcGVuX3dlYmRhdGFiYXNlX3Rlc3Rfc3RhcnRlZDsKLQotICAg
IGlmIChldmVudC5wZXJzaXN0ZWQpCi0gICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlkIGVudGVy
IGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOwotICAgIGVsc2UKLSAgICAg
ICAgdGVzdFBhc3NlZCgiUGFnZSB3YXMgbm90IHJlc3RvcmVkIGZyb20gcGFnZSBjYWNoZSIpOwot
ICAgIGZpbmlzaEpTVGVzdCgpOwotfSwgZmFsc2UpOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgewotICAgIGRlYnVnKCJwYWdlaGlkZSAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImVudGVyaW5nIGNhY2hlIik7Ci0g
ICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgewotICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGVudGVy
ZWQgdGhlIHBhZ2UgY2FjaGUuIik7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0s
IGZhbHNlKTsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsK
LSAgICAvLyBPcGVuIHRoZSBkYXRhYmFzZS4KLSAgICBkYiA9IG9wZW5EYXRhYmFzZSgiUGFnZUNh
Y2hlVGVzdCIsICIiLCAiUGFnZSBDYWNoZSBUZXN0IiwgMTAsIGZ1bmN0aW9uIChjcmVhdGVkRGIp
IHsKLSAgICAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2Uu
Ci0gICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5wYWdlX2NhY2hlX29wZW5fd2ViZGF0YWJh
c2VfdGVzdF9zdGFydGVkID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAi
cmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwiOwotICAgIH0pOwotfSwgZmFsc2UpOwot
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLXBlbmRpbmctdHJhbnNhY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJh
c2UtcGVuZGluZy10cmFuc2FjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTZkMDIyZjgz
ZGEwNDU3OWZjYjUzNmRlZTJkNjMyOTM3YTA5MDc5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLXBlbmRpbmctdHJhbnNh
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdp
dGggYW4gb3BlbiBXZWJEYXRhYmFzZSB0aGF0IGhhcyBwZW5kaW5nIHRyYW5zYWN0aW9ucyBkb2Vz
IG5vdCBnbyBpbnRvIHRoZSBwYWdlIGNhY2hlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorUEFTUyBQYWdlIHdhcyBub3QgcmVzdG9y
ZWQgZnJvbSBwYWdlIGNhY2hlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFuc2FjdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzNGViNDI3Y2E2ODA4MWJlYWM0ZmY4MmE4ODU3Y2Q3YzQ3NjAyZmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13
ZWJkYXRhYmFzZS1wZW5kaW5nLXRyYW5zYWN0aW9uLmh0bWwKQEAgLTAsMCArMSw2MCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Rz
IHRoYXQgYSBwYWdlIHdpdGggYW4gb3BlbiBXZWJEYXRhYmFzZSB0aGF0IGhhcyBwZW5kaW5nIHRy
YW5zYWN0aW9ucyBkb2VzIG5vdCBnbyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKKyAgICB0ZXN0UnVubmVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Cit9CisKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVi
dWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJv
bSBjYWNoZSIpOworICAgIGlmICghd2luZG93LnNlc3Npb25TdG9yYWdlLnBhZ2VfY2FjaGVfb3Bl
bl93ZWJkYXRhYmFzZV90ZXN0X3N0YXJ0ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGRlbGV0
ZSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucGFnZV9jYWNoZV9vcGVuX3dlYmRhdGFiYXNlX3Rlc3Rf
c3RhcnRlZDsKKworICAgIGlmIChldmVudC5wZXJzaXN0ZWQpCisgICAgICAgIHRlc3RGYWlsZWQo
IlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOwor
ICAgIGVsc2UKKyAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSB3YXMgbm90IHJlc3RvcmVkIGZyb20g
cGFnZSBjYWNoZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSwgZmFsc2UpOworCit3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVn
KCJwYWdlaGlkZSAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImVudGVy
aW5nIGNhY2hlIik7CisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFp
bGVkKCJQYWdlIGVudGVyZWQgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCBmdW5jdGlvbigpIHsKKyAgICAvLyBPcGVuIHRoZSBkYXRhYmFzZS4KKyAgICBkYiA9IG9wZW5E
YXRhYmFzZSgiUGFnZUNhY2hlVGVzdCIsICIiLCAiUGFnZSBDYWNoZSBUZXN0IiwgMzI3NjgpOwor
CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgLy8gRm9yY2UgYSBi
YWNrIG5hdmlnYXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCisgICAgICAgIHdpbmRvdy5zZXNzaW9u
U3RvcmFnZS5wYWdlX2NhY2hlX29wZW5fd2ViZGF0YWJhc2VfdGVzdF9zdGFydGVkID0gdHJ1ZTsK
KyAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVs
cGVyLmh0bWwiOworCisgICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBOT1Qg
RVhJU1RTIExPR1MgKGlkIHVuaXF1ZSwgbG9nKScpOworICAgIH0pOworCisgICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgnQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgTE9HUzIgKGlkIHVuaXF1ZSwgbG9nKScpOworICAgIH0pOworCisgICAg
ZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgnQ1JF
QVRFIFRBQkxFIElGIE5PVCBFWElTVFMgTE9HUzMgKGlkIHVuaXF1ZSwgbG9nKScpOworICAgIH0p
OworfSwgZmFsc2UpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>