<?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>158897</bug_id>
          
          <creation_ts>2016-06-17 20:29:42 -0700</creation_ts>
          <short_desc>REGRESSION(r202152): The new test is very unstable, timing out frequently (Requested by ap on #webkit).</short_desc>
          <delta_ts>2016-06-17 20:33:24 -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>New Bugs</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>153499</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>joepeck</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1203524</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 20:29:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/202152 broke the build:
The new test is very unstable, timing out frequently (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203527</commentid>
    <comment_count>1</comment_count>
      <attachid>281604</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 20:30:15 -0700</bug_when>
    <thetext>Created attachment 281604
ROLLOUT of r202152

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203529</commentid>
    <comment_count>2</comment_count>
      <attachid>281604</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 20:33:21 -0700</bug_when>
    <thetext>Comment on attachment 281604
ROLLOUT of r202152

Clearing flags on attachment: 281604

Committed r202196: &lt;http://trac.webkit.org/changeset/202196&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203530</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 20:33:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281604</attachid>
            <date>2016-06-17 20:30:15 -0700</date>
            <delta_ts>2016-06-17 20:33:21 -0700</delta_ts>
            <desc>ROLLOUT of r202152</desc>
            <filename>bug-158897-20160617203011.patch</filename>
            <type>text/plain</type>
            <size>40721</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
NTA4NjdjOGM2OWNjYzQyNGMzZTk4YmMzOGUzZjNkNDYwYzA2MWJkLi4xZGUxMmQ4NDc5OWJmYTc2
NTFiYTRlNWVkMjJkZjYzNDU3NTBhY2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0wNi0xNyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwMjE1Mi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg5NworCisgICAg
ICAgIFRoZSBuZXcgdGVzdCBpcyB2ZXJ5IHVuc3RhYmxlLCB0aW1pbmcgb3V0IGZyZXF1ZW50bHkK
KyAgICAgICAgKFJlcXVlc3RlZCBieSBhcCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRl
ZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIldlYiBJbnNwZWN0b3I6IGNvbnNvbGUucHJvZmlsZSBz
aG91bGQgdXNlIHRoZSBuZXcgU2FtcGxpbmcKKyAgICAgICAgUHJvZmlsZXIiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0OTkKKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjAyMTUyCisKIDIwMTYtMDYtMTQgIEZpbGlw
IFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCYXNlbGluZSBKSVQgc2hvdWxk
IGJlIGNvbmN1cnJlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOTQ4MDZiYjBhZDQyMWM5MWU2NDE2M2Q3Nzcw
MGVlYjhmY2Q4ZGQ0Li44N2Q4ODBiN2I3MGY3OWU2ODRhZjk4MTEzNDRjZDQ2NTU3N2Q4ZTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDYtMTcgIENvbW1pdCBRdWV1ZSAgPGNv
bW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIyMDIxNTIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTg4OTcKKworICAgICAgICBUaGUgbmV3IHRlc3QgaXMgdmVyeSB1bnN0YWJsZSwgdGltaW5n
IG91dCBmcmVxdWVudGx5CisgICAgICAgIChSZXF1ZXN0ZWQgYnkgYXAgb24gI3dlYmtpdCkuCisK
KyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJXZWIgSW5zcGVjdG9yOiBj
b25zb2xlLnByb2ZpbGUgc2hvdWxkIHVzZSB0aGUgbmV3IFNhbXBsaW5nCisgICAgICAgIFByb2Zp
bGVyIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUz
NDk5CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwMjE1MgorCiAy
MDE2LTA2LTE3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgQVg6IEhUTUwgaW5kZXRlcm1pbmF0ZSBJREwgYXR0cmlidXRlIG5vdCBtYXBwZWQgdG8gY2hl
Y2tib3ggdmFsdWU9MiBmb3IgbmF0aXZlIGNoZWNrYm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CmluZGV4IGMzY2MzNmU2YzZkYWFkYzVmMWI5YjJjMDE3Y2E3YjE0NWEwOWQ4MGMuLmZkOWI5Nzg1
Mzc5MDVlM2Q4Yzk4NWIzZDZiNzMwYjMyZWJlY2Y2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA2LTE3ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjAyMTUy
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4ODk3
CisKKyAgICAgICAgVGhlIG5ldyB0ZXN0IGlzIHZlcnkgdW5zdGFibGUsIHRpbWluZyBvdXQgZnJl
cXVlbnRseQorICAgICAgICAoUmVxdWVzdGVkIGJ5IGFwIG9uICN3ZWJraXQpLgorCisgICAgICAg
IFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiV2ViIEluc3BlY3RvcjogY29uc29sZS5w
cm9maWxlIHNob3VsZCB1c2UgdGhlIG5ldyBTYW1wbGluZworICAgICAgICBQcm9maWxlciIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ5OQorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMDIxNTIKKwogMjAxNi0wNi0x
NiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGNvbnNvbGUucHJvZmlsZSBzaG91bGQgdXNlIHRoZSBuZXcgU2FtcGxpbmcgUHJv
ZmlsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmgKaW5kZXggZmQz
MGZhYmQzOWI1ZjBiNzgwZDI3NjNkN2U5MGY1YjNkZGI5NTMyYS4uNmNlMGQ1MjEyNDg0M2U2YmJl
ODg3YmQ0YTljYzFhOGU0NDMwNmU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RlYnVnZ2VyL0RlYnVnZ2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyLmgKQEAgLTc4LDcgKzc4LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJCcmVh
a3BvaW50cygpOwogICAgIHZvaWQgYWN0aXZhdGVCcmVha3BvaW50cygpIHsgc2V0QnJlYWtwb2lu
dHNBY3RpdmF0ZWQodHJ1ZSk7IH0KICAgICB2b2lkIGRlYWN0aXZhdGVCcmVha3BvaW50cygpIHsg
c2V0QnJlYWtwb2ludHNBY3RpdmF0ZWQoZmFsc2UpOyB9Ci0gICAgYm9vbCBicmVha3BvaW50c0Fj
dGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnJlYWtwb2ludHNBY3RpdmF0ZWQ7IH0KIAogICAgIGVu
dW0gUGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSB7CiAgICAgICAgIERvbnRQYXVzZU9uRXhjZXB0aW9u
cywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxP
YmplY3RDb25zb2xlQ2xpZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcAppbmRleCAzM2YxMzgzYWVkMWExZmZkMjAw
MDIyNTM3ZTc5Y2U0MTAxMzVmNGE0Li5lMzY4NTBjMTk5ZmZjMWE4YTRjYWViOTY2MWYzNDcxNjhk
Njg4ZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwCkBAIC0yOCw4ICsyOCw2IEBA
CiAKICNpbmNsdWRlICJDb25zb2xlTWVzc2FnZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNv
bGVBZ2VudC5oIgotI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKLSNpbmNsdWRl
ICJJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1l
bnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oIgpAQCAtNTQsMTEgKzUyLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQ6OnNldExvZ1RvU3lzdGVtQ29uc29sZShib29sIHNob3VsZExvZykKICAgICBz
TG9nVG9TeXN0ZW1Db25zb2xlID0gc2hvdWxkTG9nOwogfQogCi1KU0dsb2JhbE9iamVjdENvbnNv
bGVDbGllbnQ6OkpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudChJbnNwZWN0b3JDb25zb2xlQWdl
bnQqIGNvbnNvbGVBZ2VudCwgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCwg
SW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudCogc2NyaXB0UHJvZmlsZXJBZ2VudCkKK0pTR2xv
YmFsT2JqZWN0Q29uc29sZUNsaWVudDo6SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50KEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50KQogICAgIDogQ29uc29sZUNsaWVudCgpCiAg
ICAgLCBtX2NvbnNvbGVBZ2VudChjb25zb2xlQWdlbnQpCi0gICAgLCBtX2RlYnVnZ2VyQWdlbnQo
ZGVidWdnZXJBZ2VudCkKLSAgICAsIG1fc2NyaXB0UHJvZmlsZXJBZ2VudChzY3JpcHRQcm9maWxl
ckFnZW50KQogewogfQogCkBAIC03Nyw3MSArNzMsMTQgQEAgdm9pZCBKU0dsb2JhbE9iamVjdENv
bnNvbGVDbGllbnQ6OmNvdW50KEV4ZWNTdGF0ZSogZXhlYywgUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4KICAgICBtX2NvbnNvbGVBZ2VudC0+Y291bnQoZXhlYywgYXJndW1lbnRzKTsKIH0KIAotdm9p
ZCBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnByb2ZpbGUoSlNDOjpFeGVjU3RhdGUqLCBj
b25zdCBTdHJpbmcmIHRpdGxlKQordm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnBy
b2ZpbGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKQogewotICAgIGlmICghbV9jb25z
b2xlQWdlbnQtPmVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gQWxsb3cgZHVw
bGljYXRlIHVubmFtZWQgcHJvZmlsZXMuIERpc2FsbG93IGR1cGxpY2F0ZSBuYW1lZCBwcm9maWxl
cy4KLSAgICBpZiAoIXRpdGxlLmlzRW1wdHkoKSkgewotICAgICAgICBmb3IgKGF1dG8mIGV4aXN0
aW5nVGl0bGUgOiBtX3Byb2ZpbGVzKSB7Ci0gICAgICAgICAgICBpZiAoZXhpc3RpbmdUaXRsZSA9
PSB0aXRsZSkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTZW5kIGFuIGVudW0gdG8gdGhl
IGZyb250ZW5kIGZvciBsb2NhbGl6YXRpb24/Ci0gICAgICAgICAgICAgICAgU3RyaW5nIHdhcm5p
bmcgPSB0aXRsZS5pc0VtcHR5KCkgPyBBU0NJSUxpdGVyYWwoIlVubmFtZWQgUHJvZmlsZSBhbHJl
YWR5IGV4aXN0cyIpIDogbWFrZVN0cmluZygiUHJvZmlsZSBcIiIsIHRpdGxlLCAiXCIgYWxyZWFk
eSBleGlzdHMiKTsKLSAgICAgICAgICAgICAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRv
Q29uc29sZShzdGQ6Om1ha2VfdW5pcXVlPENvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpD
b25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6UHJvZmlsZSwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCB3
YXJuaW5nKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgbV9wcm9maWxlcy5hcHBlbmQodGl0bGUpOwotICAgIHN0YXJ0Q29u
c29sZVByb2ZpbGUoKTsKKyAgICAvLyBGSVhNRTogc3VwcG9ydCB8Y29uc29sZS5wcm9maWxlfCBm
b3IgSlNDb250ZXh0cy4gPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzNjQ2Nj4KIH0KIAotdm9pZCBK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnByb2ZpbGVFbmQoSlNDOjpFeGVjU3RhdGUqLCBj
b25zdCBTdHJpbmcmIHRpdGxlKQordm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnBy
b2ZpbGVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmKQogewotICAgIGlmICghbV9j
b25zb2xlQWdlbnQtPmVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gU3RvcCBw
cm9maWxlcyBpbiByZXZlcnNlIG9yZGVyLiBJZiB0aGUgdGl0bGUgaXMgZW1wdHksIHRoZW4gc3Rv
cCB0aGUgbGFzdCBwcm9maWxlLgotICAgIC8vIE90aGVyd2lzZSwgbWF0Y2ggdGhlIHRpdGxlIG9m
IHRoZSBwcm9maWxlIHRvIHN0b3AuCi0gICAgZm9yIChwdHJkaWZmX3QgaSA9IG1fcHJvZmlsZXMu
c2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKLSAgICAgICAgaWYgKHRpdGxlLmlzRW1wdHkoKSB8
fCBtX3Byb2ZpbGVzW2ldID09IHRpdGxlKSB7Ci0gICAgICAgICAgICBtX3Byb2ZpbGVzLnJlbW92
ZShpKTsKLSAgICAgICAgICAgIGlmIChtX3Byb2ZpbGVzLmlzRW1wdHkoKSkKLSAgICAgICAgICAg
ICAgICBzdG9wQ29uc29sZVByb2ZpbGUoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIC8vIEZJWE1FOiBTZW5kIGFuIGVudW0gdG8gdGhlIGZyb250ZW5kIGZv
ciBsb2NhbGl6YXRpb24/Ci0gICAgU3RyaW5nIHdhcm5pbmcgPSB0aXRsZS5pc0VtcHR5KCkgPyBB
U0NJSUxpdGVyYWwoIk5vIHByb2ZpbGVzIGV4aXN0IikgOiBtYWtlU3RyaW5nKCJQcm9maWxlIFwi
IiwgdGl0bGUsICJcIiBkb2VzIG5vdCBleGlzdCIpOwotICAgIG1fY29uc29sZUFnZW50LT5hZGRN
ZXNzYWdlVG9Db25zb2xlKHN0ZDo6bWFrZV91bmlxdWU8Q29uc29sZU1lc3NhZ2U+KE1lc3NhZ2VT
b3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpQcm9maWxlRW5kLCBNZXNzYWdlTGV2ZWw6
Oldhcm5pbmcsIHdhcm5pbmcpKTsgICAgCi19Ci0KLXZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xl
Q2xpZW50OjpzdGFydENvbnNvbGVQcm9maWxlKCkKLXsKLSAgICAvLyBGSVhNRTogPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzE1ODc1Mz4gR2VuZXJhbGl6ZSB0aGUgY29uY2VwdCBvZiBJbnN0cnVtZW50
cyBvbiB0aGUgYmFja2VuZCB0byB3b3JrIGVxdWFsbHkgZm9yIEpTQ29udGV4dCBhbmQgV2ViIGlu
c3BlY3Rpb24KLSAgICBtX3NjcmlwdFByb2ZpbGVyQWdlbnQtPnByb2dyYW1tYXRpY0NhcHR1cmVT
dGFydGVkKCk7Ci0KLSAgICBtX3Byb2ZpbGVSZXN0b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVlID0g
bV9kZWJ1Z2dlckFnZW50LT5icmVha3BvaW50c0FjdGl2ZSgpOwotCi0gICAgRXJyb3JTdHJpbmcg
dW51c2VkOwotICAgIG1fZGVidWdnZXJBZ2VudC0+c2V0QnJlYWtwb2ludHNBY3RpdmUodW51c2Vk
LCBmYWxzZSk7Ci0KLSAgICBjb25zdCBib29sIGluY2x1ZGVTYW1wbGVzID0gdHJ1ZTsKLSAgICBt
X3NjcmlwdFByb2ZpbGVyQWdlbnQtPnN0YXJ0VHJhY2tpbmcodW51c2VkLCAmaW5jbHVkZVNhbXBs
ZXMpOwotfQotCi12b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6c3RvcENvbnNvbGVQ
cm9maWxlKCkKLXsKLSAgICBFcnJvclN0cmluZyB1bnVzZWQ7Ci0gICAgbV9zY3JpcHRQcm9maWxl
ckFnZW50LT5zdG9wVHJhY2tpbmcodW51c2VkKTsKLQotICAgIG1fZGVidWdnZXJBZ2VudC0+c2V0
QnJlYWtwb2ludHNBY3RpdmUodW51c2VkLCBtX3Byb2ZpbGVSZXN0b3JlQnJlYWtwb2ludEFjdGl2
ZVZhbHVlKTsKLQotICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBH
ZW5lcmFsaXplIHRoZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdv
cmsgZXF1YWxseSBmb3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgIG1fc2NyaXB0
UHJvZmlsZXJBZ2VudC0+cHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKKyAgICAvLyBGSVhN
RTogc3VwcG9ydCB8Y29uc29sZS5wcm9maWxlfCBmb3IgSlNDb250ZXh0cy4gPGh0dHBzOi8vd2Vi
a2l0Lm9yZy9iLzEzNjQ2Nj4KIH0KIAogdm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6
OnRha2VIZWFwU25hcHNob3QoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVj
dENvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmgKaW5kZXggNTI3ZmZkOTE0ZTIwOGE3NDE4ZTA1MzA4YWRi
ZjVkNDEyYTM1YzI0OS4uZjM2ODdmNDhlZTFiNTdlZTBjNmQ2YTIwYmEwOGM2MWY3YzBhZGQ0NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVj
dENvbnNvbGVDbGllbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oCkBAIC0yMywyMiArMjMsMTkgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAotI3ByYWdtYSBvbmNlCisjaWZuZGVmIEpTR2xvYmFsT2JqZWN0Q29uc29s
ZUNsaWVudF9oCisjZGVmaW5lIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudF9oCiAKICNpbmNs
dWRlICJDb25zb2xlQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogY2xhc3Mg
SW5zcGVjdG9yQ29uc29sZUFnZW50OwotY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKLWNs
YXNzIEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ7CiAKIGNsYXNzIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUNsaWVudCBmaW5hbCA6IHB1YmxpYyBKU0M6OkNvbnNvbGVDbGllbnQgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IEpTR2xvYmFsT2Jq
ZWN0Q29uc29sZUNsaWVudChJbnNwZWN0b3JDb25zb2xlQWdlbnQqLCBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KiwgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudCopOworICAgIGV4cGxpY2l0IEpT
R2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudChJbnNwZWN0b3JDb25zb2xlQWdlbnQqKTsKICAgICB2
aXJ0dWFsIH5KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQoKSB7IH0KIAogICAgIHN0YXRpYyBi
b29sIGxvZ1RvU3lzdGVtQ29uc29sZSgpOwpAQCAtNTgsMTQgKzU1LDkgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHdhcm5VbmltcGxlbWVudGVkKGNvbnN0IFN0cmluZyYgbWV0aG9kKTsKICAgICB2b2lk
IGludGVybmFsQWRkTWVzc2FnZShNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBKU0M6OkV4ZWNT
dGF0ZSosIFJlZlB0cjxTY3JpcHRBcmd1bWVudHM+JiYpOwogCi0gICAgdm9pZCBzdGFydENvbnNv
bGVQcm9maWxlKCk7Ci0gICAgdm9pZCBzdG9wQ29uc29sZVByb2ZpbGUoKTsKLQogICAgIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7Ci0gICAgSW5zcGVjdG9yRGVidWdnZXJB
Z2VudCogbV9kZWJ1Z2dlckFnZW50OwotICAgIEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQq
IG1fc2NyaXB0UHJvZmlsZXJBZ2VudDsKLSAgICBWZWN0b3I8U3RyaW5nPiBtX3Byb2ZpbGVzOwot
ICAgIGJvb2wgbV9wcm9maWxlUmVzdG9yZUJyZWFrcG9pbnRBY3RpdmVWYWx1ZSB7IGZhbHNlIH07
CiB9OwogCiB9CisKKyNlbmRpZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVDbGll
bnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBiY2Q5
ZThhNjYzN2FhOGE1NGZkMTIxMjQ1ZGRiMTlhOTUxYmY0OTFkLi43ZTM0OTBkMDdiNDc5NThkNDYw
MDQzNGFiNDE2MWU1ZTlmY2M5M2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXIuY3BwCkBAIC04OCwxOSArODgsMTggQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKICAg
ICBhdXRvIGhlYXBBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcEFnZW50Pihj
b250ZXh0KTsKICAgICBhdXRvIGNvbnNvbGVBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8SlNHbG9i
YWxPYmplY3RDb25zb2xlQWdlbnQ+KGNvbnRleHQsIGhlYXBBZ2VudC5nZXQoKSk7CiAgICAgYXV0
byBkZWJ1Z2dlckFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxKU0dsb2JhbE9iamVjdERlYnVnZ2Vy
QWdlbnQ+KGNvbnRleHQsIGNvbnNvbGVBZ2VudC5nZXQoKSk7Ci0gICAgYXV0byBzY3JpcHRQcm9m
aWxlckFnZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50
Pihjb250ZXh0KTsKIAogICAgIG1faW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudC5nZXQo
KTsKICAgICBtX2RlYnVnZ2VyQWdlbnQgPSBkZWJ1Z2dlckFnZW50LmdldCgpOwogICAgIG1fY29u
c29sZUFnZW50ID0gY29uc29sZUFnZW50LmdldCgpOwotICAgIG1fY29uc29sZUNsaWVudCA9IHN0
ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50PihtX2NvbnNvbGVBZ2Vu
dCwgbV9kZWJ1Z2dlckFnZW50LCBzY3JpcHRQcm9maWxlckFnZW50LmdldCgpKTsKKyAgICBtX2Nv
bnNvbGVDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVu
dD4obV9jb25zb2xlQWdlbnQpOwogCiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoaW5zcGVj
dG9yQWdlbnQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGTW92ZShydW50aW1lQWdlbnQpKTsK
ICAgICBtX2FnZW50cy5hcHBlbmQoV1RGTW92ZShjb25zb2xlQWdlbnQpKTsKICAgICBtX2FnZW50
cy5hcHBlbmQoV1RGTW92ZShkZWJ1Z2dlckFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdU
Rk1vdmUoaGVhcEFnZW50KSk7Ci0gICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUoc2NyaXB0UHJv
ZmlsZXJBZ2VudCkpOworICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3Bl
Y3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ+KGNvbnRleHQpKTsKIAogICAgIG1fZXhlY3V0aW9uU3Rv
cHdhdGNoLT5zdGFydCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAppbmRl
eCAzNjNiNDM4NmYxZDEwNDc0MTlhMmI3ZjNmNzBmODQzYzMyZjQ3OGUwLi43M2NmYjZmMzczYjJm
NWQ4ZWQxYTNiMDM2NGFmMGE2OGM1NTYxZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcApAQCAtMTI1LDExICsxMjUsNiBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6
OmRpc2FibGUoRXJyb3JTdHJpbmcmKQogICAgIGRpc2FibGUoZmFsc2UpOwogfQogCi1ib29sIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRzQWN0aXZlKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbV9zY3JpcHREZWJ1Z1NlcnZlci5icmVha3BvaW50c0FjdGl2ZSgpOwotfQotCiB2b2lk
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnNldEJyZWFrcG9pbnRzQWN0aXZlKEVycm9yU3RyaW5n
JiwgYm9vbCBhY3RpdmUpCiB7CiAgICAgaWYgKGFjdGl2ZSkKQEAgLTEzOCw3ICsxMzMsNyBAQCB2
b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnNldEJyZWFrcG9pbnRzQWN0aXZlKEVycm9yU3Ry
aW5nJiwgYm9vbCBhY3RpdmUpCiAgICAgICAgIG1fc2NyaXB0RGVidWdTZXJ2ZXIuZGVhY3RpdmF0
ZUJyZWFrcG9pbnRzKCk7CiB9CiAKLWJvb2wgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6aXNQYXVz
ZWQoKSBjb25zdAorYm9vbCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50Ojppc1BhdXNlZCgpCiB7CiAg
ICAgcmV0dXJuIG1fc2NyaXB0RGVidWdTZXJ2ZXIuaXNQYXVzZWQoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaAppbmRleCAxYzU3NmQwYjg4MDc5YTMyMzVlYzZmNGY4NTJiMzczZWE3
ZjhjMjdjLi5mNzdiZjY2OTg2ODBkZDljOTgxYWQyNWFkN2FlMzkyZTUyMGRmYTI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC04Myw4ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGV2YWx1YXRlT25DYWxsRnJhbWUoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGNhbGxG
cmFtZUlkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyogb2JqZWN0R3Jv
dXAsIGNvbnN0IGJvb2wqIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgY29uc3QgYm9vbCogZG9Ob3RQ
YXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBjb25zdCBib29sKiByZXR1cm5CeVZhbHVl
LCBjb25zdCBib29sKiBnZW5lcmF0ZVByZXZpZXcsIGNvbnN0IGJvb2wqIHNhdmVSZXN1bHQsIFJl
ZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+JiByZXN1bHQs
IEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duLCBJbnNwZWN0
b3I6OlByb3RvY29sOjpPcHRPdXRwdXQ8aW50Piogc2F2ZWRSZXN1bHRJbmRleCkgZmluYWw7CiAg
ICAgdm9pZCBzZXRPdmVybGF5TWVzc2FnZShFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyopIG92
ZXJyaWRlOwogCi0gICAgYm9vbCBpc1BhdXNlZCgpIGNvbnN0OwotICAgIGJvb2wgYnJlYWtwb2lu
dHNBY3RpdmUoKSBjb25zdDsKKyAgICBib29sIGlzUGF1c2VkKCk7CiAKICAgICB2b2lkIHNldFN1
cHByZXNzQWxsUGF1c2VzKGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFByb2Zp
bGVyQWdlbnQuY3BwCmluZGV4IDc5ZWEwOTczZDFiM2IzYjM1MTNiNDk0NjMzMWRiYzBlYjZiNDA1
NzIuLmU0YWU5MGMyYzQ4ODA5MjdiZmE2Y2IzYjI1MzgzNDVlYmQ0MDRiODUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclNjcmlwdFBy
b2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuY3BwCkBAIC0yMTYsMTQgKzIxNiw0IEBA
IHZvaWQgSW5zcGVjdG9yU2NyaXB0UHJvZmlsZXJBZ2VudDo6dHJhY2tpbmdDb21wbGV0ZSgpCiAj
ZW5kaWYgLy8gRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVSKQogfQogCi12b2lkIEluc3BlY3RvclNj
cmlwdFByb2ZpbGVyQWdlbnQ6OnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKLXsKLSAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlci0+cHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsKLX0KLQot
dm9pZCBJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50Ojpwcm9ncmFtbWF0aWNDYXB0dXJlU3Rv
cHBlZCgpCi17Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnByb2dyYW1tYXRpY0NhcHR1cmVT
dG9wcGVkKCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yU2NyaXB0UHJvZmls
ZXJBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yU2NyaXB0UHJvZmlsZXJBZ2VudC5oCmluZGV4IDYyODYwYmVjNTJjNTI0NDdhZjk1ODA2Mjg1
YzUzOTk4ZTViZjZlZjYuLmVmODdkYjNjMTExMTlhMThmMDQ0YmQ0NDg5MGY4OWFkYmM0ZTBmZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclNjcmlwdFByb2ZpbGVyQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50LmgKQEAgLTUzLDkgKzUz
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRUcmFja2luZyhFcnJvclN0cmluZyYsIGNvbnN0
IGJvb2wqIGluY2x1ZGVTYW1wbGVzKSBvdmVycmlkZTsKICAgICB2b2lkIHN0b3BUcmFja2luZyhF
cnJvclN0cmluZyYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBwcm9ncmFtbWF0aWNDYXB0dXJlU3Rh
cnRlZCgpOwotICAgIHZvaWQgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKTsKLQogICAgIC8v
IERlYnVnZ2VyOjpQcm9maWxpbmdDbGllbnQKICAgICBib29sIGlzQWxyZWFkeVByb2ZpbGluZygp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGRvdWJsZSB3aWxsRXZhbHVhdGVTY3JpcHQoKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wv
U2NyaXB0UHJvZmlsZXIuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJv
dG9jb2wvU2NyaXB0UHJvZmlsZXIuanNvbgppbmRleCBkMDEyNThkZDU2ODJjMjVhNTE0ZDE3MDMz
OGRlMWY1NDc3ZjM3YTk3Li4zN2U1Yjc3MDMyNmYyODFkYmIzMjBmOTA4MjQxY2RlNWJhMTQxNzkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1Nj
cmlwdFByb2ZpbGVyLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9TY3JpcHRQcm9maWxlci5qc29uCkBAIC04NiwxNCArODYsNiBAQAogICAgICAgICAg
ICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzYW1wbGVzIiwg
IiRyZWYiOiAiU2FtcGxlcyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTdGFj
ayB0cmFjZXMuIiB9CiAgICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogInByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkIiwKLSAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHByb2dyYW1tYXRpYyBjYXB0dXJlIHN0YXJ0cyAo
Y29uc29sZS5wcm9maWxlKS4gSlNDb250ZXh0IGluc3BlY3Rpb24gb25seS4iCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInByb2dyYW1tYXRpY0NhcHR1cmVTdG9w
cGVkIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHByb2dyYW1tYXRp
YyBjYXB0dXJlIHN0b3BzIChjb25zb2xlLnByb2ZpbGVFbmQpLiBKU0NvbnRleHQgaW5zcGVjdGlv
biBvbmx5LiIKICAgICAgICAgfQogICAgIF0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgppbmRleCA3NzM5Njc1NmRm
YjM4YjZjNWQwNGQ4MTNmNzc1MGU0MzI3NzgzNDNmLi5mZTNlZTAzYjE4MzJhN2JiMDgxMjRhZGUz
MTE3N2VlMDU3YzhhZTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCkBAIC0xMDUsMTQgKzEwNSw2IEBACiAgICAg
ICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImF1dG9DYXB0dXJlU3RhcnRlZCIsCiAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBhdXRvIGNhcHR1cmUgc3RhcnRlZC4iCi0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInByb2dyYW1tYXRpY0Nh
cHR1cmVTdGFydGVkIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHBy
b2dyYW1tYXRpYyBjYXB0dXJlIHN0YXJ0cyAoY29uc29sZS5wcm9maWxlKS4iCi0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInByb2dyYW1tYXRpY0NhcHR1cmVTdG9w
cGVkIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHByb2dyYW1tYXRp
YyBjYXB0dXJlIHN0b3BzIChjb25zb2xlLnByb2ZpbGVFbmQpLiIKICAgICAgICAgfQogICAgIF0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcAppbmRleCA0ODQ4NjhhOWYzZmUxYzIzMjFkNjBlYzI3NzdhYmZjNTQ4ZWVjNzIzLi44
MzMzYzg0OGU2MjQyYzFjODA0ZDcwMDRiM2YwZjY1NGZlNjFhOWM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00Myw4
ICs0Myw2IEBACiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmgiCiAjaW5jbHVkZSAiVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgiCi0jaW5jbHVkZSAiV2ViQ29u
c29sZUFnZW50LmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmg+CiAjaW5j
bHVkZSA8aW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5oPgpAQCAtMjQzLDU1ICsyNDEsMTQgQEAgZG91YmxlIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRpbWVzdGFtcCgpCiAgICAgcmV0dXJuIG1fZW52aXJvbm1l
bnQuZXhlY3V0aW9uU3RvcHdhdGNoKCktPmVsYXBzZWRUaW1lKCk7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6c3RhcnRGcm9tQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgU3RyaW5nJiB0aXRsZSkKLXsKLSAgICAvLyBBbGxvdyBkdXBsaWNhdGUgdW5uYW1lZCBw
cm9maWxlcy4gRGlzYWxsb3cgZHVwbGljYXRlIG5hbWVkIHByb2ZpbGVzLgotICAgIGlmICghdGl0
bGUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGZvciAoY29uc3QgVGltZWxpbmVSZWNvcmRFbnRyeSYg
cmVjb3JkIDogbV9wZW5kaW5nQ29uc29sZVByb2ZpbGVSZWNvcmRzKSB7Ci0gICAgICAgICAgICBT
dHJpbmcgcmVjb3JkVGl0bGU7Ci0gICAgICAgICAgICByZWNvcmQuZGF0YS0+Z2V0U3RyaW5nKEFT
Q0lJTGl0ZXJhbCgidGl0bGUiKSwgcmVjb3JkVGl0bGUpOwotICAgICAgICAgICAgaWYgKHJlY29y
ZFRpdGxlID09IHRpdGxlKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCog
Y29uc29sZUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLndlYkNvbnNvbGVBZ2VudCgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTZW5kIGFuIGVudW0gdG8gdGhlIGZyb250
ZW5kIGZvciBsb2NhbGl6YXRpb24/Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZyB3YXJuaW5n
ID0gdGl0bGUuaXNFbXB0eSgpID8gQVNDSUlMaXRlcmFsKCJVbm5hbWVkIFByb2ZpbGUgYWxyZWFk
eSBleGlzdHMiKSA6IG1ha2VTdHJpbmcoIlByb2ZpbGUgXCIiLCB0aXRsZSwgIlwiIGFscmVhZHkg
ZXhpc3RzIik7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRv
Q29uc29sZShzdGQ6Om1ha2VfdW5pcXVlPENvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpD
b25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6UHJvZmlsZSwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCB3
YXJuaW5nKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghbV9lbmFibGVkICYmIG1f
cGVuZGluZ0NvbnNvbGVQcm9maWxlUmVjb3Jkcy5pc0VtcHR5KCkpCi0gICAgICAgIHN0YXJ0UHJv
Z3JhbW1hdGljQ2FwdHVyZSgpOwotCi0gICAgbV9wZW5kaW5nQ29uc29sZVByb2ZpbGVSZWNvcmRz
LmFwcGVuZChjcmVhdGVSZWNvcmRFbnRyeShUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUNv
bnNvbGVQcm9maWxlRGF0YSh0aXRsZSksIFRpbWVsaW5lUmVjb3JkVHlwZTo6Q29uc29sZVByb2Zp
bGUsIHRydWUsIGZyYW1lRnJvbUV4ZWNTdGF0ZShleGVjKSkpOwordm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpzdGFydEZyb21Db25zb2xlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JikKK3sKKyAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MzQ5OT4gV2ViIElu
c3BlY3RvcjogY29uc29sZS5wcm9maWxlIHNob3VsZCB1c2UgdGhlIG5ldyBTYW1wbGluZyBQcm9m
aWxlcgogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BGcm9tQ29uc29sZShK
U0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpCit2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnN0b3BGcm9tQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYp
CiB7Ci0gICAgLy8gU3RvcCBwcm9maWxlcyBpbiByZXZlcnNlIG9yZGVyLiBJZiB0aGUgdGl0bGUg
aXMgZW1wdHksIHRoZW4gc3RvcCB0aGUgbGFzdCBwcm9maWxlLgotICAgIC8vIE90aGVyd2lzZSwg
bWF0Y2ggdGhlIHRpdGxlIG9mIHRoZSBwcm9maWxlIHRvIHN0b3AuCi0gICAgZm9yIChpbnQgaSA9
IG1fcGVuZGluZ0NvbnNvbGVQcm9maWxlUmVjb3Jkcy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkg
ewotICAgICAgICBjb25zdCBUaW1lbGluZVJlY29yZEVudHJ5JiByZWNvcmQgPSBtX3BlbmRpbmdD
b25zb2xlUHJvZmlsZVJlY29yZHNbaV07Ci0KLSAgICAgICAgU3RyaW5nIHJlY29yZFRpdGxlOwot
ICAgICAgICByZWNvcmQuZGF0YS0+Z2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgidGl0bGUiKSwgcmVj
b3JkVGl0bGUpOwotICAgICAgICBpZiAodGl0bGUuaXNFbXB0eSgpIHx8IHJlY29yZFRpdGxlID09
IHRpdGxlKSB7Ci0gICAgICAgICAgICBkaWRDb21wbGV0ZVJlY29yZEVudHJ5KHJlY29yZCk7Ci0g
ICAgICAgICAgICBtX3BlbmRpbmdDb25zb2xlUHJvZmlsZVJlY29yZHMucmVtb3ZlKGkpOwotCi0g
ICAgICAgICAgICBpZiAoIW1fZW5hYmxlZEZyb21Gcm9udGVuZCAmJiBtX3BlbmRpbmdDb25zb2xl
UHJvZmlsZVJlY29yZHMuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIHN0b3BQcm9ncmFtbWF0
aWNDYXB0dXJlKCk7Ci0KLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy53ZWJDb25zb2xlQWdlbnQoKSkgewotICAgICAgICAvLyBGSVhNRTogU2VuZCBhbiBlbnVt
IHRvIHRoZSBmcm9udGVuZCBmb3IgbG9jYWxpemF0aW9uPwotICAgICAgICBTdHJpbmcgd2Fybmlu
ZyA9IHRpdGxlLmlzRW1wdHkoKSA/IEFTQ0lJTGl0ZXJhbCgiTm8gcHJvZmlsZXMgZXhpc3QiKSA6
IG1ha2VTdHJpbmcoIlByb2ZpbGUgXCIiLCB0aXRsZSwgIlwiIGRvZXMgbm90IGV4aXN0Iik7Ci0g
ICAgICAgIGNvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRvQ29uc29sZShzdGQ6Om1ha2VfdW5pcXVl
PENvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6
UHJvZmlsZUVuZCwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCB3YXJuaW5nKSk7ICAgIAotICAgIH0K
KyAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MzQ5OT4gV2ViIEluc3BlY3Rv
cjogY29uc29sZS5wcm9maWxlIHNob3VsZCB1c2UgdGhlIG5ldyBTYW1wbGluZyBQcm9maWxlcgog
fQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxDYWxsRnVuY3Rpb24oY29uc3Qg
U3RyaW5nJiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0TGluZSwgRnJhbWUqIGZyYW1lKQpAQCAtNDQ4
LDExOSArNDA1LDQwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6bWFpbkZyYW1lU3Rh
cnRlZExvYWRpbmcoKQogICAgIC8vIEluZm9ybSB0aGUgZnJvbnRlbmQgd2Ugc3RhcnRlZCBhbiBh
dXRvIGNhcHR1cmUuIFRoZSBmcm9udGVuZCBtdXN0IHN0b3AgY2FwdHVyZS4KICAgICBtX2Zyb250
ZW5kRGlzcGF0Y2hlci0+YXV0b0NhcHR1cmVTdGFydGVkKCk7CiAKLSAgICB0b2dnbGVJbnN0cnVt
ZW50cyhJbnN0cnVtZW50U3RhdGU6OlN0YXJ0KTsKLX0KLQotdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpzdGFydFByb2dyYW1tYXRpY0NhcHR1cmUoKQotewotICAgIEFTU0VSVCghbV9lbmFi
bGVkKTsKLQotICAgIC8vIERpc2FibGUgYnJlYWtwb2ludHMgZHVyaW5nIHByb2dyYW1tYXRpYyBj
YXB0dXJlLgotICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBkZWJ1Z2dlckFnZW50ID0g
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKSkgewotICAgICAg
ICBtX3Byb2dyYW1tYXRpY0NhcHR1cmVSZXN0b3JlQnJlYWtwb2ludEFjdGl2ZVZhbHVlID0gZGVi
dWdnZXJBZ2VudC0+YnJlYWtwb2ludHNBY3RpdmUoKTsKLSAgICAgICAgaWYgKG1fcHJvZ3JhbW1h
dGljQ2FwdHVyZVJlc3RvcmVCcmVha3BvaW50QWN0aXZlVmFsdWUpIHsKLSAgICAgICAgICAgIEVy
cm9yU3RyaW5nIHVudXNlZDsKLSAgICAgICAgICAgIGRlYnVnZ2VyQWdlbnQtPnNldEJyZWFrcG9p
bnRzQWN0aXZlKHVudXNlZCwgZmFsc2UpOwotICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAg
IG1fcHJvZ3JhbW1hdGljQ2FwdHVyZVJlc3RvcmVCcmVha3BvaW50QWN0aXZlVmFsdWUgPSBmYWxz
ZTsKLQotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRl
ZCgpOwotCi0gICAgdG9nZ2xlU2NyaXB0UHJvZmlsZXJJbnN0cnVtZW50KEluc3RydW1lbnRTdGF0
ZTo6U3RhcnQpOyAvLyBFbnN1cmUgSmF2YVNjcmlwdCBzYW1waW5nIGRhdGEuCi0gICAgdG9nZ2xl
VGltZWxpbmVJbnN0cnVtZW50KEluc3RydW1lbnRTdGF0ZTo6U3RhcnQpOyAvLyBFbnN1cmUgQ29u
c29sZSBQcm9maWxlIGV2ZW50IHJlY29yZHMuCi0gICAgdG9nZ2xlSW5zdHJ1bWVudHMoSW5zdHJ1
bWVudFN0YXRlOjpTdGFydCk7IC8vIEFueSBvdGhlciBpbnN0cnVtZW50cyB0aGUgZnJvbnRlbmQg
d2FudHMgdXMgdG8gcmVjb3JkLgotfQotCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0
b3BQcm9ncmFtbWF0aWNDYXB0dXJlKCkKLXsKLSAgICBBU1NFUlQobV9lbmFibGVkKTsKLSAgICBB
U1NFUlQoIW1fZW5hYmxlZEZyb21Gcm9udGVuZCk7Ci0KLSAgICB0b2dnbGVJbnN0cnVtZW50cyhJ
bnN0cnVtZW50U3RhdGU6OlN0b3ApOwotICAgIHRvZ2dsZVRpbWVsaW5lSW5zdHJ1bWVudChJbnN0
cnVtZW50U3RhdGU6OlN0b3ApOwotICAgIHRvZ2dsZVNjcmlwdFByb2ZpbGVySW5zdHJ1bWVudChJ
bnN0cnVtZW50U3RhdGU6OlN0b3ApOwotCi0gICAgLy8gUmUtZW5hYmxlIGJyZWFrcG9pbnRzIGlm
IHRoZXkgd2VyZSBlbmFibGVkLgotICAgIGlmIChtX3Byb2dyYW1tYXRpY0NhcHR1cmVSZXN0b3Jl
QnJlYWtwb2ludEFjdGl2ZVZhbHVlKSB7Ci0gICAgICAgIGlmIChJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50KiBkZWJ1Z2dlckFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckRlYnVn
Z2VyQWdlbnQoKSkgewotICAgICAgICAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwotICAgICAgICAg
ICAgZGVidWdnZXJBZ2VudC0+c2V0QnJlYWtwb2ludHNBY3RpdmUodW51c2VkLCB0cnVlKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5wcm9ncmFtbWF0aWND
YXB0dXJlU3RvcHBlZCgpOwotfQotCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRvZ2ds
ZUluc3RydW1lbnRzKEluc3RydW1lbnRTdGF0ZSBzdGF0ZSkKLXsKKyAgICAvLyBFbmFibGUgaW5z
dHJ1bWVudHMuCiAgICAgZm9yIChhdXRvIGluc3RydW1lbnRUeXBlIDogbV9pbnN0cnVtZW50cykg
ewogICAgICAgICBzd2l0Y2ggKGluc3RydW1lbnRUeXBlKSB7CiAgICAgICAgIGNhc2UgSW5zcGVj
dG9yOjpQcm90b2NvbDo6VGltZWxpbmU6Okluc3RydW1lbnQ6OlNjcmlwdFByb2ZpbGVyOiB7Ci0g
ICAgICAgICAgICB0b2dnbGVTY3JpcHRQcm9maWxlckluc3RydW1lbnQoc3RhdGUpOworICAgICAg
ICAgICAgaWYgKG1fc2NyaXB0UHJvZmlsZXJBZ2VudCkgeworICAgICAgICAgICAgICAgIEVycm9y
U3RyaW5nIHVudXNlZDsKKyAgICAgICAgICAgICAgICBjb25zdCBib29sIGluY2x1ZGVTYW1wbGVz
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBtX3NjcmlwdFByb2ZpbGVyQWdlbnQtPnN0YXJ0VHJh
Y2tpbmcodW51c2VkLCAmaW5jbHVkZVNhbXBsZXMpOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpU
aW1lbGluZTo6SW5zdHJ1bWVudDo6SGVhcDogewotICAgICAgICAgICAgdG9nZ2xlSGVhcEluc3Ry
dW1lbnQoc3RhdGUpOworICAgICAgICAgICAgaWYgKG1faGVhcEFnZW50KSB7CisgICAgICAgICAg
ICAgICAgRXJyb3JTdHJpbmcgdW51c2VkOworICAgICAgICAgICAgICAgIG1faGVhcEFnZW50LT5z
dGFydFRyYWNraW5nKHVudXNlZCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpJ
bnN0cnVtZW50OjpNZW1vcnk6IHsKLSAgICAgICAgICAgIHRvZ2dsZU1lbW9yeUluc3RydW1lbnQo
c3RhdGUpOworI2lmIEVOQUJMRShSRVNPVVJDRV9VU0FHRSkKKyAgICAgICAgICAgIGlmIChJbnNw
ZWN0b3JNZW1vcnlBZ2VudCogbWVtb3J5QWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMuaW5z
cGVjdG9yTWVtb3J5QWdlbnQoKSkgeworICAgICAgICAgICAgICAgIEVycm9yU3RyaW5nIHVudXNl
ZDsKKyAgICAgICAgICAgICAgICBtZW1vcnlBZ2VudC0+c3RhcnRUcmFja2luZyh1bnVzZWQpOwor
ICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpJbnN0cnVtZW50OjpUaW1l
bGluZToKLSAgICAgICAgICAgIHRvZ2dsZVRpbWVsaW5lSW5zdHJ1bWVudChzdGF0ZSk7CisgICAg
ICAgICAgICBpbnRlcm5hbFN0YXJ0KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0b2dnbGVTY3JpcHRQcm9m
aWxlckluc3RydW1lbnQoSW5zdHJ1bWVudFN0YXRlIHN0YXRlKQotewotICAgIGlmIChtX3Njcmlw
dFByb2ZpbGVyQWdlbnQpIHsKLSAgICAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwotICAgICAgICBp
ZiAoc3RhdGUgPT0gSW5zdHJ1bWVudFN0YXRlOjpTdGFydCkgewotICAgICAgICAgICAgY29uc3Qg
Ym9vbCBpbmNsdWRlU2FtcGxlcyA9IHRydWU7Ci0gICAgICAgICAgICBtX3NjcmlwdFByb2ZpbGVy
QWdlbnQtPnN0YXJ0VHJhY2tpbmcodW51c2VkLCAmaW5jbHVkZVNhbXBsZXMpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIG1fc2NyaXB0UHJvZmlsZXJBZ2VudC0+c3RvcFRyYWNraW5nKHVu
dXNlZCk7Ci0gICAgfQotfQotCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRvZ2dsZUhl
YXBJbnN0cnVtZW50KEluc3RydW1lbnRTdGF0ZSBzdGF0ZSkKLXsKLSAgICBpZiAobV9oZWFwQWdl
bnQpIHsKLSAgICAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwotICAgICAgICBpZiAoc3RhdGUgPT0g
SW5zdHJ1bWVudFN0YXRlOjpTdGFydCkKLSAgICAgICAgICAgIG1faGVhcEFnZW50LT5zdGFydFRy
YWNraW5nKHVudXNlZCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1faGVhcEFnZW50LT5z
dG9wVHJhY2tpbmcodW51c2VkKTsKLSAgICB9Ci19Ci0KLXZvaWQgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudDo6dG9nZ2xlTWVtb3J5SW5zdHJ1bWVudChJbnN0cnVtZW50U3RhdGUgc3RhdGUpCi17Ci0j
aWYgRU5BQkxFKFJFU09VUkNFX1VTQUdFKQotICAgIGlmIChJbnNwZWN0b3JNZW1vcnlBZ2VudCog
bWVtb3J5QWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTWVtb3J5QWdlbnQo
KSkgewotICAgICAgICBFcnJvclN0cmluZyB1bnVzZWQ7Ci0gICAgICAgIGlmIChzdGF0ZSA9PSBJ
bnN0cnVtZW50U3RhdGU6OlN0YXJ0KQotICAgICAgICAgICAgbWVtb3J5QWdlbnQtPnN0YXJ0VHJh
Y2tpbmcodW51c2VkKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbWVtb3J5QWdlbnQtPnN0
b3BUcmFja2luZyh1bnVzZWQpOwotICAgIH0KLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHN0YXRl
KTsKLSNlbmRpZgotfQotCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnRvZ2dsZVRpbWVs
aW5lSW5zdHJ1bWVudChJbnN0cnVtZW50U3RhdGUgc3RhdGUpCi17Ci0gICAgaWYgKHN0YXRlID09
IEluc3RydW1lbnRTdGF0ZTo6U3RhcnQpCi0gICAgICAgIGludGVybmFsU3RhcnQoKTsKLSAgICBl
bHNlCi0gICAgICAgIGludGVybmFsU3RvcCgpOwotfQotCiB2b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZENvbW1pdExvYWQoKQogewogICAgIGNsZWFyUmVjb3JkU3RhY2soKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4
IDQ1ODEzZmQzYmZjNmFkMjFkYmFhNzNmOWUzMGQ0NzI1ZDA0YTFmNzcuLmEyMjg0ODFjNmI2NTdh
MTZlNTk4MWQxYjUwMmE1MjI1ZjhiYzg4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtMTUzLDE4ICsxNTMsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgYnJlYWtwb2ludEFjdGlvblNvdW5kKGludCkgZmluYWwgeyB9CiAgICAg
dm9pZCBicmVha3BvaW50QWN0aW9uUHJvYmUoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBJbnNwZWN0
b3I6OlNjcmlwdEJyZWFrcG9pbnRBY3Rpb24mLCB1bnNpZ25lZCBiYXRjaElkLCB1bnNpZ25lZCBz
YW1wbGVJZCwgSlNDOjpKU1ZhbHVlIHJlc3VsdCkgZmluYWw7CiAKLSAgICB2b2lkIHN0YXJ0UHJv
Z3JhbW1hdGljQ2FwdHVyZSgpOwotICAgIHZvaWQgc3RvcFByb2dyYW1tYXRpY0NhcHR1cmUoKTsK
LQotICAgIGVudW0gY2xhc3MgSW5zdHJ1bWVudFN0YXRlIHsgU3RhcnQsIFN0b3AgfTsKLSAgICB2
b2lkIHRvZ2dsZUluc3RydW1lbnRzKEluc3RydW1lbnRTdGF0ZSk7Ci0gICAgdm9pZCB0b2dnbGVT
Y3JpcHRQcm9maWxlckluc3RydW1lbnQoSW5zdHJ1bWVudFN0YXRlKTsKLSAgICB2b2lkIHRvZ2ds
ZUhlYXBJbnN0cnVtZW50KEluc3RydW1lbnRTdGF0ZSk7Ci0gICAgdm9pZCB0b2dnbGVNZW1vcnlJ
bnN0cnVtZW50KEluc3RydW1lbnRTdGF0ZSk7Ci0gICAgdm9pZCB0b2dnbGVUaW1lbGluZUluc3Ry
dW1lbnQoSW5zdHJ1bWVudFN0YXRlKTsKLSAgICB2b2lkIGRpc2FibGVCcmVha3BvaW50cygpOwot
ICAgIHZvaWQgZW5hYmxlQnJlYWtwb2ludHMoKTsKLQogICAgIGZyaWVuZCBjbGFzcyBUaW1lbGlu
ZVJlY29yZFN0YWNrOwogCiAgICAgc3RydWN0IFRpbWVsaW5lUmVjb3JkRW50cnkgewpAQCAtMjEy
LDE0ICsyMDAsMTIgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFn
ZW50OwogCiAgICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50cnk+IG1fcmVjb3JkU3RhY2s7Ci0g
ICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50cnk+IG1fcGVuZGluZ0NvbnNvbGVQcm9maWxlUmVj
b3JkczsKIAogICAgIGludCBtX2lkIHsgMSB9OwogICAgIGludCBtX21heENhbGxTdGFja0RlcHRo
IHsgNSB9OwogCiAgICAgYm9vbCBtX2VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFi
bGVkRnJvbUZyb250ZW5kIHsgZmFsc2UgfTsKLSAgICBib29sIG1fcHJvZ3JhbW1hdGljQ2FwdHVy
ZVJlc3RvcmVCcmVha3BvaW50QWN0aXZlVmFsdWUgeyBmYWxzZSB9OwogCiAgICAgYm9vbCBtX2F1
dG9DYXB0dXJlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPEluc3BlY3Rvcjo6UHJvdG9j
b2w6OlRpbWVsaW5lOjpJbnN0cnVtZW50PiBtX2luc3RydW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5h
Z2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
VGltZWxpbmVNYW5hZ2VyLmpzCmluZGV4IGQ4NmU5NmU5NjliNzRmMDE4NTJhYWJkNGQwODRmMDM3
YTQ1YjkzMWUuLjQyMGNkZDFlY2RjZjNmODIyZjJkYWVlMzllM2JlMDNlYzllY2Q5MDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1Rp
bWVsaW5lTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTI2Miw3ICsyNjIsNyBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyID0gY2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHtl
bmRUaW1lfSk7CiAgICAgfQogCi0gICAgYXV0b0NhcHR1cmVTdGFydGVkKCkKKyAgICBhdXRvQ2Fw
dHVyZVN0YXJ0ZWQoc3RhcnRUaW1lKQogICAgIHsKICAgICAgICAgLy8gQ2FsbGVkIGZyb20gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT2JzZXJ2ZXIuCiAKQEAgLTI3MiwzNiArMjcyLDEyIEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIC8vIFdlIG1heSBhbHJlYWR5IGhhdmUgYW4gZnJl
c2ggVGltZWxpbmVSZWNvcmRpbmcgY3JlYXRlZCBpZiBhdXRvQ2FwdHVyZVN0YXJ0ZWQgaXMgcmVj
ZWl2ZWQKICAgICAgICAgLy8gYmV0d2VlbiBzZW5kaW5nIHRoZSBUaW1lbGluZS5zdGFydCBjb21t
YW5kIGFuZCByZWNlaXZpbmcgVGltZWxpbmUuY2FwdHVyaW5nU3RhcnRlZCBldmVudC4KICAgICAg
ICAgLy8gSW4gdGhhdCBjYXNlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNhbGwgc3RhcnRDYXB0dXJp
bmcgYWdhaW4uIFJldXNlIHRoZSBmcmVzaCByZWNvcmRpbmcuCi0gICAgICAgIGlmICghdGhpcy5f
d2FpdGluZ0ZvckNhcHR1cmluZ1N0YXJ0ZWRFdmVudCkgewotICAgICAgICAgICAgY29uc3QgY3Jl
YXRlTmV3UmVjb3JkaW5nID0gdHJ1ZTsKLSAgICAgICAgICAgIHRoaXMuc3RhcnRDYXB0dXJpbmco
Y3JlYXRlTmV3UmVjb3JkaW5nKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoIXRoaXMuX3dhaXRp
bmdGb3JDYXB0dXJpbmdTdGFydGVkRXZlbnQpCisgICAgICAgICAgICB0aGlzLnN0YXJ0Q2FwdHVy
aW5nKHRydWUpOwogCiAgICAgICAgIHRoaXMuX3Nob3VsZFNldEF1dG9DYXB0dXJpbmdNYWluUmVz
b3VyY2UgPSB0cnVlOwogICAgIH0KIAotICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkK
LSAgICB7Ci0gICAgICAgIC8vIENhbGxlZCBmcm9tIFdlYkluc3BlY3Rvci5UaW1lbGluZU9ic2Vy
dmVyLgotCi0gICAgICAgIHRoaXMuX2FjdGl2ZVJlY29yZGluZy5hZGRTY3JpcHRJbnN0cnVtZW50
Rm9yUHJvZ3JhbW1hdGljQ2FwdHVyZSgpOwotCi0gICAgICAgIGNvbnN0IGNyZWF0ZU5ld1JlY29y
ZGluZyA9IGZhbHNlOwotICAgICAgICB0aGlzLnN0YXJ0Q2FwdHVyaW5nKGNyZWF0ZU5ld1JlY29y
ZGluZyk7Ci0gICAgfQotCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQotICAgIHsK
LSAgICAgICAgLy8gQ2FsbGVkIGZyb20gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT2JzZXJ2ZXIuCi0K
LSAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgcHVyZWx5IHRvIGF2b2lkIGEgbm9pc3kgYXNzZXJ0
LiBQcmV2aW91c2x5Ci0gICAgICAgIC8vIGl0IHdhcyBpbXBvc3NpYmxlIHRvIHN0b3Agd2l0aG91
dCBzdG9wcGluZyBmcm9tIHRoZSBVSS4KLSAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX2lz
Q2FwdHVyaW5nKTsKLSAgICAgICAgdGhpcy5faXNDYXB0dXJpbmcgPSB0cnVlOwotCi0gICAgICAg
IHRoaXMuc3RvcENhcHR1cmluZygpOwotICAgIH0KLQogICAgIGV2ZW50UmVjb3JkZWQocmVjb3Jk
UGF5bG9hZCkKICAgICB7CiAgICAgICAgIC8vIENhbGxlZCBmcm9tIFdlYkluc3BlY3Rvci5UaW1l
bGluZU9ic2VydmVyLgpAQCAtNTA5LDggKzQ4NSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0
CiAKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5Db25zb2xlUHJvZmlsZToK
ICAgICAgICAgICAgIHZhciBwcm9maWxlRGF0YSA9IHJlY29yZFBheWxvYWQuZGF0YS5wcm9maWxl
OwotICAgICAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDkpOiBXaXRoIHRoZSBTYW1wbGlu
ZyBQcm9maWxlciwgcHJvZmlsZXMgbm8gbG9uZ2VyIGluY2x1ZGUgbGVnYWN5IHByb2ZpbGUgZGF0
YS4KLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHByb2ZpbGVEYXRhIHx8IFRpbWVsaW5lQWdl
bnQuc2V0SW5zdHJ1bWVudHMpOworICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocHJvZmlsZURh
dGEpOwogICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVS
ZWNvcmQoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Db25zb2xl
UHJvZmlsZVJlY29yZGVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNv
ZGVMb2NhdGlvbiwgcmVjb3JkUGF5bG9hZC5kYXRhLnRpdGxlLCBwcm9maWxlRGF0YSk7CiAKICAg
ICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5UaW1lckZpcmU6CkBAIC04NTksMjQg
KzgzNCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1h
bmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBzY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKLSAgICB7Ci0gICAg
ICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTU4NzUzPiBHZW5lcmFsaXplIHRo
ZSBjb25jZXB0IG9mIEluc3RydW1lbnRzIG9uIHRoZSBiYWNrZW5kIHRvIHdvcmsgZXF1YWxseSBm
b3IgSlNDb250ZXh0IGFuZCBXZWIgaW5zcGVjdGlvbgotICAgICAgICBjb25zb2xlLmFzc2VydChX
ZWJJbnNwZWN0b3IuZGVidWdnYWJsZVR5cGUgPT09IFdlYkluc3BlY3Rvci5EZWJ1Z2dhYmxlVHlw
ZS5KYXZhU2NyaXB0KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX2lzQ2FwdHVyaW5n
KTsKLQotICAgICAgICB0aGlzLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCk7Ci0gICAgfQot
Ci0gICAgc2NyaXB0UHJvZmlsZXJQcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpCi0gICAgewot
ICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1ODc1Mz4gR2VuZXJhbGl6
ZSB0aGUgY29uY2VwdCBvZiBJbnN0cnVtZW50cyBvbiB0aGUgYmFja2VuZCB0byB3b3JrIGVxdWFs
bHkgZm9yIEpTQ29udGV4dCBhbmQgV2ViIGluc3BlY3Rpb24KLSAgICAgICAgY29uc29sZS5hc3Nl
cnQoV2ViSW5zcGVjdG9yLmRlYnVnZ2FibGVUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVidWdnYWJs
ZVR5cGUuSmF2YVNjcmlwdCk7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2lzQ2FwdHVy
aW5nKTsKLQotICAgICAgICB0aGlzLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCk7Ci0gICAg
fQotCiAgICAgc2NyaXB0UHJvZmlsZXJUcmFja2luZ1N0YXJ0ZWQodGltZXN0YW1wKQogICAgIHsK
ICAgICAgICAgdGhpcy5fc2NyaXB0UHJvZmlsZXJSZWNvcmRzID0gW107CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0SW5zdHJ1bWVu
dC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRJ
bnN0cnVtZW50LmpzCmluZGV4IDU2NzA0OGRlODZmMTQ1MDJhZmQ1ZWVmZTZlZGVhNjU5YjllZjZi
M2YuLjYwYWNlZDVjNzE5ZWQyMGFjNDVjNjE3ZmZiNjNiN2NlMTU3MjhhMmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRJbnN0cnVt
ZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9T
Y3JpcHRJbnN0cnVtZW50LmpzCkBAIC01Niw0ICs1Niw1IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRJ
bnN0cnVtZW50ID0gY2xhc3MgU2NyaXB0SW5zdHJ1bWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5J
bnN0CiAKICAgICAgICAgU2NyaXB0UHJvZmlsZXJBZ2VudC5zdG9wVHJhY2tpbmcoKTsKICAgICB9
CisKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvVGltZWxpbmVSZWNvcmRpbmcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmRpbmcuanMKaW5kZXggM2E0ZTdhNGVlZWUyZTI0
OGVhODRkNzNjNDUzOTY5NDUyYmM3NmJhOS4uODkxOTY1MjU2OWQ1MWRhNDY3ZWMyODBjM2E1NWFi
NjJkNmY4Y2I1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1RpbWVsaW5lUmVjb3JkaW5nLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qcwpAQCAtMTI3LDE3ICsx
MjcsMTUgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmRpbmcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IKICAgICAgICAgICAgIGluc3RydW1lbnQu
c3RhcnRJbnN0cnVtZW50YXRpb24oKTsKICAgICB9CiAKLSAgICBzdG9wKHByb2dyYW1tYXRpYykK
KyAgICBzdG9wKCkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhcHR1cmlu
ZywgIkF0dGVtcHRlZCB0byBzdG9wIGFuIGFscmVhZHkgc3RvcHBlZCBzZXNzaW9uLiIpOwogICAg
ICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fcmVhZG9ubHksICJBdHRlbXB0ZWQgdG8gc3RvcCBh
IHJlYWRvbmx5IHNlc3Npb24uIik7CiAKICAgICAgICAgdGhpcy5fY2FwdHVyaW5nID0gZmFsc2U7
CiAKLSAgICAgICAgaWYgKCFwcm9ncmFtbWF0aWMpIHsKLSAgICAgICAgICAgIGZvciAobGV0IGlu
c3RydW1lbnQgb2YgdGhpcy5faW5zdHJ1bWVudHMpCi0gICAgICAgICAgICAgICAgaW5zdHJ1bWVu
dC5zdG9wSW5zdHJ1bWVudGF0aW9uKCk7Ci0gICAgICAgIH0KKyAgICAgICAgZm9yIChsZXQgaW5z
dHJ1bWVudCBvZiB0aGlzLl9pbnN0cnVtZW50cykKKyAgICAgICAgICAgIGluc3RydW1lbnQuc3Rv
cEluc3RydW1lbnRhdGlvbigpOwogICAgIH0KIAogICAgIHNhdmVJZGVudGl0eVRvQ29va2llKCkK
QEAgLTMwOSwxOSArMzA3LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nID0gY2xh
c3MgVGltZWxpbmVSZWNvcmRpbmcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IKICAgICAgICAgcmV0
dXJuIHRoaXMuX2Rpc2NvbnRpbnVpdGllcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc3RhcnRUaW1l
IDwgZW5kVGltZSAmJiBpdGVtLmVuZFRpbWUgPiBzdGFydFRpbWUpOwogICAgIH0KIAotICAgIGFk
ZFNjcmlwdEluc3RydW1lbnRGb3JQcm9ncmFtbWF0aWNDYXB0dXJlKCkKLSAgICB7Ci0gICAgICAg
IGZvciAobGV0IGluc3RydW1lbnQgb2YgdGhpcy5faW5zdHJ1bWVudHMpIHsKLSAgICAgICAgICAg
IGlmIChpbnN0cnVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNjcmlwdEluc3RydW1lbnQp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5hZGRJ
bnN0cnVtZW50KG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0SW5zdHJ1bWVudCk7Ci0KLSAgICAgICAg
bGV0IGluc3RydW1lbnRUeXBlcyA9IHRoaXMuX2luc3RydW1lbnRzLm1hcCgoaW5zdHJ1bWVudCkg
PT4gaW5zdHJ1bWVudC50aW1lbGluZVJlY29yZFR5cGUpOwotICAgICAgICBXZWJJbnNwZWN0b3Iu
dGltZWxpbmVNYW5hZ2VyLmVuYWJsZWRUaW1lbGluZVR5cGVzID0gaW5zdHJ1bWVudFR5cGVzOwot
ICAgIH0KLQogICAgIGNvbXB1dGVFbGFwc2VkVGltZSh0aW1lc3RhbXApCiAgICAgewogICAgICAg
ICBpZiAoIXRpbWVzdGFtcCB8fCBpc05hTih0aW1lc3RhbXApKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvU2NyaXB0UHJvZmlsZXJPYnNl
cnZlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1Nj
cmlwdFByb2ZpbGVyT2JzZXJ2ZXIuanMKaW5kZXggZTE5NjQzZmQ3NzYzZjYzZWFlYTRmMWM3Y2Fi
OWQ5OWJlMjgxYzBjMy4uZTEyOTc2YWI4NDA1NTE2YTZkODU5MWEyMWViMDllY2E0OTYzNzI1YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wv
U2NyaXB0UHJvZmlsZXJPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC9TY3JpcHRQcm9maWxlck9ic2VydmVyLmpzCkBAIC00MSwxNCAr
NDEsNCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0UHJvZmlsZXJPYnNlcnZlciA9IGNsYXNzIFNjcmlw
dFByb2ZpbGVyT2JzZXJ2ZXIKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1h
bmFnZXIuc2NyaXB0UHJvZmlsZXJUcmFja2luZ0NvbXBsZXRlZChzYW1wbGVzKTsKICAgICB9Ci0g
ICAgCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKQotICAgIHsKLSAgICAgICAgV2Vi
SW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5zY3JpcHRQcm9maWxlclByb2dyYW1tYXRpY0NhcHR1
cmVTdGFydGVkKCk7Ci0gICAgfQotCi0gICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQoKQot
ICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5zY3JpcHRQcm9maWxl
clByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkKCk7Ci0gICAgfQogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5lT2JzZXJ2
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9UaW1l
bGluZU9ic2VydmVyLmpzCmluZGV4IDk5ZGZiOTc2M2E5MWUyYWExMmYwZWY0OGVjMjZjZWZhYjJk
MjcyNjkuLjhhZGNiYjU5YmI0OTZhNTczNjkzNWMzZjIzNzYyOTU3ZTIwOTZhNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RpbWVsaW5l
T2JzZXJ2ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvVGltZWxpbmVPYnNlcnZlci5qcwpAQCAtNDYsMTQgKzQ2LDQgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT2JzZXJ2ZXIgPSBjbGFzcyBUaW1lbGluZU9ic2VydmVyCiAgICAgewogICAgICAg
ICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLmF1dG9DYXB0dXJlU3RhcnRlZCgpOwogICAg
IH0KLQotICAgIHByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkKCkKLSAgICB7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIucHJvZ3JhbW1hdGljQ2FwdHVyZVN0YXJ0ZWQoKTsK
LSAgICB9Ci0KLSAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCgpCi0gICAgewotICAgICAg
ICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVk
KCk7Ci0gICAgfQogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NGU3NTNjMmU2YmE5ZjUwOTQwNDI1OTkyY2FjOWIyM2Q3
ODVmZjg4Li42NzMwNmJmYzY0MjEyOTQ0ZjQ2ZTk4NzRlMGExZTE1MzI3NGE3NzdmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTYtMDYtMTcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDIxNTIuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4OTcKKwor
ICAgICAgICBUaGUgbmV3IHRlc3QgaXMgdmVyeSB1bnN0YWJsZSwgdGltaW5nIG91dCBmcmVxdWVu
dGx5CisgICAgICAgIChSZXF1ZXN0ZWQgYnkgYXAgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2
ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJXZWIgSW5zcGVjdG9yOiBjb25zb2xlLnByb2Zp
bGUgc2hvdWxkIHVzZSB0aGUgbmV3IFNhbXBsaW5nCisgICAgICAgIFByb2ZpbGVyIgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDk5CisgICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwMjE1MgorCiAyMDE2LTA2LTE3ICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEhUTUwg
aW5kZXRlcm1pbmF0ZSBJREwgYXR0cmlidXRlIG5vdCBtYXBwZWQgdG8gY2hlY2tib3ggdmFsdWU9
MiBmb3IgbmF0aXZlIGNoZWNrYm94ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3Jh
bW1hdGljLWNhcHR1cmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5NDI2YmVjODNjNjI1NjNhZjg4OTlmMWJkMTIwYzU0MzAzM2E1MjlkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS9zZXRJbnN0cnVtZW50cy1wcm9ncmFtbWF0aWMtY2FwdHVyZS1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgODog
SW5zaWRlIE5vSW5zdHJ1bWVudHNQcm9ncmFtbWF0aWNDYXB0dXJlIHByb2ZpbGUKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSA4OiBJbnNpZGUgTXVsdGlwbGVJbnN0cnVtZW50c1Byb2dyYW1tYXRpY0Nh
cHR1cmUgcHJvZmlsZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IEluc2lkZSBOb0luc3RydW1l
bnRzUHJvZ3JhbW1hdGljQ2FwdHVyZUFnYWluIHByb2ZpbGUKLVRlc3RzIHByb2dyYW1tYXRpYyBj
YXB0dXJlIChjb25zb2xlLnByb2ZpbGUvcHJvZmlsZUVuZCkgYXV0b21hdGljYWxseSBzdGFydHMg
aW5zdHJ1bWVudHMgc2V0IHZpYSBUaW1lbGluZS5zZXRJbnN0cnVtZW50cy4KLQotCi09PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lLnNldEluc3RydW1lbnRzLnByb2dyYW1tYXRpYy1jYXB0
dXJlCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1
cmUKLVBBU1M6IFNob3VsZCBub3QgYmUgYW4gZXJyb3Igc2V0dGluZyB2YWxpZCBpbnN0cnVtZW50
cy4KLVBBU1M6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFydGVkCi1QQVNTOiBTY3Jp
cHRQcm9maWxlci5zdGFydFRyYWNraW5nCi1QQVNTOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZAotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogTXVsdGlwbGVJbnN0cnVtZW50c1By
b2dyYW1tYXRpY0NhcHR1cmUKLVBBU1M6IFNob3VsZCBub3QgYmUgYW4gZXJyb3Igc2V0dGluZyB2
YWxpZCBpbnN0cnVtZW50cy4KLVBBU1M6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdGFy
dGVkCi1QQVNTOiBTY3JpcHRQcm9maWxlci5zdGFydFRyYWNraW5nCi1QQVNTOiBIZWFwLnRyYWNr
aW5nU3RhcnQKLVBBU1M6IFRpbWVsaW5lLnByb2dyYW1tYXRpY0NhcHR1cmVTdG9wcGVkCi0KLS0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBOb0luc3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZUFnYWlu
Ci1QQVNTOiBTaG91bGQgbm90IGJlIGFuIGVycm9yIHNldHRpbmcgdmFsaWQgaW5zdHJ1bWVudHMu
Ci1QQVNTOiBUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZAotUEFTUzogU2NyaXB0
UHJvZmlsZXIuc3RhcnRUcmFja2luZwotUEFTUzogVGltZWxpbmUucHJvZ3JhbW1hdGljQ2FwdHVy
ZVN0b3BwZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Nl
dEluc3RydW1lbnRzLXByb2dyYW1tYXRpYy1jYXB0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3JhbW1hdGljLWNhcHR1cmUuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTgxZGFlNDgyNzgyNmE3MDg0NDRhMDJkNjZj
NjEwYzQwNjhkOGI4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvc2V0SW5zdHJ1bWVudHMtcHJvZ3Jh
bW1hdGljLWNhcHR1cmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gdHJpZ2dlclByb2dyYW1tYXRpY0NhcHR1cmUobWVzc2FnZSkgewotICAgIGNv
bnNvbGUucHJvZmlsZSgpOwotICAgIGNvbnNvbGUubG9nKGBJbnNpZGUgJHttZXNzYWdlfSBwcm9m
aWxlYCk7Ci0gICAgY29uc29sZS5wcm9maWxlRW5kKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIGxldCBzdWl0ZSA9IFByb3RvY29sVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGlu
ZS5zZXRJbnN0cnVtZW50cy5wcm9ncmFtbWF0aWMtY2FwdHVyZSIpOwotCi0gICAgbGV0IGhlYXBF
eHBlY3RlZCA9IGZhbHNlOwotICAgIGxldCBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCA9IG51
bGw7Ci0KLSAgICBJbnNwZWN0b3JQcm90b2NvbC5ldmVudEhhbmRsZXJbIlRpbWVsaW5lLnByb2dy
YW1tYXRpY0NhcHR1cmVTdGFydGVkIl0gPSAoKSA9PiB7Ci0gICAgICAgIFByb3RvY29sVGVzdC5w
YXNzKCJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0dXJlU3RhcnRlZCIpOwotICAgIH07Ci0gICAg
SW5zcGVjdG9yUHJvdG9jb2wuZXZlbnRIYW5kbGVyWyJUaW1lbGluZS5wcm9ncmFtbWF0aWNDYXB0
dXJlU3RvcHBlZCJdID0gKCkgPT4gewotICAgICAgICBQcm90b2NvbFRlc3QucGFzcygiVGltZWxp
bmUucHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQiKTsKLSAgICAgICAgcHJvZ3JhbW1hdGljQ2Fw
dHVyZVN0b3BwZWQoKTsKLSAgICB9OwotCi0gICAgSW5zcGVjdG9yUHJvdG9jb2wuZXZlbnRIYW5k
bGVyWyJTY3JpcHRQcm9maWxlci50cmFja2luZ1N0YXJ0Il0gPSAoKSA9PiB7Ci0gICAgICAgIFBy
b3RvY29sVGVzdC5wYXNzKCJTY3JpcHRQcm9maWxlci5zdGFydFRyYWNraW5nIik7Ci0gICAgfTsK
LQotICAgIEluc3BlY3RvclByb3RvY29sLmV2ZW50SGFuZGxlclsiSGVhcC50cmFja2luZ1N0YXJ0
Il0gPSAoKSA9PiB7Ci0gICAgICAgIGlmIChoZWFwRXhwZWN0ZWQpCi0gICAgICAgICAgICBQcm90
b2NvbFRlc3QucGFzcygiSGVhcC50cmFja2luZ1N0YXJ0Iik7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIFByb3RvY29sVGVzdC5mYWlsKCJVbmV4cGVjdGVkIEhlYXAudHJhY2tpbmdTdGFydCIp
OwotICAgIH07Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJOb0lu
c3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZSIsCi0gICAgICAgIHRlc3Q6IChyZXNvbHZlLCBy
ZWplY3QpID0+IHsKLSAgICAgICAgICAgIGhlYXBFeHBlY3RlZCA9IGZhbHNlOwotICAgICAgICAg
ICAgcHJvZ3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQgPSByZXNvbHZlOwotCi0gICAgICAgICAgICBJ
bnNwZWN0b3JQcm90b2NvbC5zZW5kQ29tbWFuZCgiVGltZWxpbmUuc2V0SW5zdHJ1bWVudHMiLCB7
aW5zdHJ1bWVudHM6IFtdfSwgKG1lc3NhZ2VPYmplY3QpID0+IHsKLSAgICAgICAgICAgICAgICBQ
cm90b2NvbFRlc3QuZXhwZWN0VGhhdCghbWVzc2FnZU9iamVjdC5lcnJvciwgIlNob3VsZCBub3Qg
YmUgYW4gZXJyb3Igc2V0dGluZyB2YWxpZCBpbnN0cnVtZW50cy4iKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgUHJvdG9jb2xUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0cmlnZ2VyUHJvZ3Jh
bW1hdGljQ2FwdHVyZSgnTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1cmUnKSIpOwotICAg
ICAgICB9Ci0gICAgfSk7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6
ICJNdWx0aXBsZUluc3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZSIsCi0gICAgICAgIHRlc3Q6
IChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAgICAgIGhlYXBFeHBlY3RlZCA9IHRydWU7
Ci0gICAgICAgICAgICBwcm9ncmFtbWF0aWNDYXB0dXJlU3RvcHBlZCA9IHJlc29sdmU7Ci0KLSAg
ICAgICAgICAgIEluc3BlY3RvclByb3RvY29sLnNlbmRDb21tYW5kKCJUaW1lbGluZS5zZXRJbnN0
cnVtZW50cyIsIHtpbnN0cnVtZW50czogWyJTY3JpcHRQcm9maWxlciIsICJIZWFwIl19LCAobWVz
c2FnZU9iamVjdCkgPT4gewotICAgICAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RUaGF0
KCFtZXNzYWdlT2JqZWN0LmVycm9yLCAiU2hvdWxkIG5vdCBiZSBhbiBlcnJvciBzZXR0aW5nIHZh
bGlkIGluc3RydW1lbnRzLiIpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBQcm90b2Nv
bFRlc3QuZXZhbHVhdGVJblBhZ2UoInRyaWdnZXJQcm9ncmFtbWF0aWNDYXB0dXJlKCdNdWx0aXBs
ZUluc3RydW1lbnRzUHJvZ3JhbW1hdGljQ2FwdHVyZScpIik7Ci0gICAgICAgIH0KLSAgICB9KTsK
LQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIk5vSW5zdHJ1bWVudHNQ
cm9ncmFtbWF0aWNDYXB0dXJlQWdhaW4iLAotICAgICAgICB0ZXN0OiAocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7Ci0gICAgICAgICAgICBoZWFwRXhwZWN0ZWQgPSB0cnVlOwotICAgICAgICAgICAgcHJv
Z3JhbW1hdGljQ2FwdHVyZVN0b3BwZWQgPSByZXNvbHZlOwotCi0gICAgICAgICAgICBJbnNwZWN0
b3JQcm90b2NvbC5zZW5kQ29tbWFuZCgiVGltZWxpbmUuc2V0SW5zdHJ1bWVudHMiLCB7aW5zdHJ1
bWVudHM6IFtdfSwgKG1lc3NhZ2VPYmplY3QpID0+IHsKLSAgICAgICAgICAgICAgICBQcm90b2Nv
bFRlc3QuZXhwZWN0VGhhdCghbWVzc2FnZU9iamVjdC5lcnJvciwgIlNob3VsZCBub3QgYmUgYW4g
ZXJyb3Igc2V0dGluZyB2YWxpZCBpbnN0cnVtZW50cy4iKTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgUHJvdG9jb2xUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0cmlnZ2VyUHJvZ3JhbW1hdGlj
Q2FwdHVyZSgnTm9JbnN0cnVtZW50c1Byb2dyYW1tYXRpY0NhcHR1cmVBZ2FpbicpIik7Ci0gICAg
ICAgIH0KLSAgICB9KTsKLQotICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwotfQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBw
cm9ncmFtbWF0aWMgY2FwdHVyZSAoY29uc29sZS5wcm9maWxlL3Byb2ZpbGVFbmQpIGF1dG9tYXRp
Y2FsbHkgc3RhcnRzIGluc3RydW1lbnRzIHNldCB2aWEgVGltZWxpbmUuc2V0SW5zdHJ1bWVudHMu
PC9wPgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>