<?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>158315</bug_id>
          
          <creation_ts>2016-06-02 13:44:04 -0700</creation_ts>
          <short_desc>Web Inspector: Modernize some function expressions that bind(this) to arrow functions</short_desc>
          <delta_ts>2016-06-02 15:10:37 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198664</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-06-02 13:44:04 -0700</bug_when>
    <thetext>* SUMMARY
Modernize some function expressions that bind(this) to arrow functions

The common pattern:

    setTimeout(function() {
        ...
    }.bind(this), delay);

Can use arrow functions:

    setTimeout(() =&gt; {
        ...
    }, delay);

Switching from bind to arrow functions has multiples benefits:

  - it is faster (microbenchmarks)
  - it uses less memory (~252bytes -&gt; 128bytes)
  - the code reads better in most cases

Things to be careful of:

  - if the inner function uses `arguments`, then converting to an arrow function won&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198665</commentid>
    <comment_count>1</comment_count>
      <attachid>280361</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-06-02 13:45:57 -0700</bug_when>
    <thetext>Created attachment 280361
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198675</commentid>
    <comment_count>2</comment_count>
      <attachid>280361</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-06-02 14:05:48 -0700</bug_when>
    <thetext>Comment on attachment 280361
[PATCH] Proposed Fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198703</commentid>
    <comment_count>3</comment_count>
      <attachid>280361</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-02 15:10:34 -0700</bug_when>
    <thetext>Comment on attachment 280361
[PATCH] Proposed Fix

Clearing flags on attachment: 280361

Committed r201620: &lt;http://trac.webkit.org/changeset/201620&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198704</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-02 15:10:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280361</attachid>
            <date>2016-06-02 13:45:57 -0700</date>
            <delta_ts>2016-06-02 15:10:34 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>arrow-functions.patch</filename>
            <type>text/plain</type>
            <size>33599</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGM2Yzg3ZGYuLmNiZWFmM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDE2LTA2LTAyICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTW9kZXJu
aXplIHNvbWUgZnVuY3Rpb24gZXhwcmVzc2lvbnMgdGhhdCBiaW5kKHRoaXMpIHRvIGFycm93IGZ1
bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4MzE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q29udmVydCBhIGNvbW1vbiAiZnVuY3Rpb24oeCkgeyAuLi4gfS5iaW5kKHRoaXMpIiBwYXR0ZXJu
IHRvIHVzZSBhcnJvdworICAgICAgICBmdW5jdGlvbnMgIih4KSA9PiB7IC4uLiB9Iiwgd2hpY2gg
bGV4aWNhbGx5IGJpbmRzIGB0aGlzYCwgc2xpZ2h0bHkgZmFzdGVyLAorICAgICAgICBhbmQgdXNl
cyBsZXNzIG1lbW9yeS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLl91cGRhdGVOZXdUYWJCdXR0b25TdGF0ZSk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CcmVha3BvaW50UG9wb3ZlckNvbnRyb2xsZXIu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyLnBy
b3RvdHlwZS5fY3JlYXRlUG9wb3ZlckNvbnRlbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvVHlwZVRva2VuQW5ub3RhdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlR5cGVUb2tlbkFubm90YXRvci5wcm90b3R5cGUuaW5zZXJ0QW5ub3RhdGlvbnMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlR5cGVUb2tlbkFubm90YXRvci5wcm90b3R5cGUuaW5zZXJ0QW5ub3Rh
dGlvbnMuKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJp
bmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVSZWNvcmQucHJvdG90eXBlLl9jYWxjdWxhdGVEdXJhdGlvblJlbWFpbmRl
cik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZCk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2NyaXB0LnByb3RvdHlwZS5yZXF1ZXN0U2NyaXB0U3ludGF4VHJlZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZS5yZXF1ZXN0U2NyaXB0U3ludGF4VHJlZS5tYWtlU3lu
dGF4VHJlZUFuZENhbGxDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9Nb2RlbHMvU291cmNlQ29kZUxvY2F0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNv
dXJjZUNvZGVMb2NhdGlvbi5wcm90b3R5cGUucG9wdWxhdGVMaXZlRGlzcGxheUxvY2F0aW9uU3Ry
aW5nKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9XcmFwcGVkUHJvbWlzZS5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5XcmFwcGVkUHJvbWlzZSk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9CcmVha3BvaW50QWN0aW9uVmlldy5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50QWN0aW9uVmlldy5wcm90b3R5cGUuX3VwZGF0ZUJvZHkpOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUuX2RhdGFVcGRh
dGVkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25U
ZXh0RWRpdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25U
ZXh0RWRpdG9yLnByb3RvdHlwZS5fdXBkYXRlVGV4dE1hcmtlcnMudXBkYXRlKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5wcm90b3R5cGUuX3Vw
ZGF0ZVRleHRNYXJrZXJzKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlZmF1bHRE
YXNoYm9hcmRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlZmF1bHREYXNoYm9hcmRW
aWV3LnByb3RvdHlwZS5fYXBwZW5kRWxlbWVudEZvck5hbWVkSXRlbS5zZXQgaXRlbSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRGVmYXVsdERhc2hib2FyZFZpZXcucHJvdG90eXBlLl9hcHBlbmRF
bGVtZW50Rm9yTmFtZWRJdGVtKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0Vycm9y
T2JqZWN0Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FcnJvck9iamVjdFZpZXcucHJv
dG90eXBlLnVwZGF0ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9HZW5lcmFsVHJl
ZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50LnBy
b3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVt
ZW50LnByb3RvdHlwZS5vbmF0dGFjaC50aGlzLl9ib3VuZENvbnRleHRNZW51RXZlbnRIYW5kbGVy
KTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0lubGluZVN3YXRjaC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmxpbmVTd2F0Y2gucHJvdG90eXBlLl9nZXROZXh0
VmFsaWRIRVhGb3JtYXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLklubGluZVN3YXRjaCk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwu
cHJvdG90eXBlLnJlZnJlc2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheWVyVHJlZURldGFp
bHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9zaG93UG9wb3ZlckZvclNlbGVjdGVkTm9kZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5
cGUuX2NvbnRlbnRGb3JQb3BvdmVyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xv
Z0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxvZ0NvbnRlbnRWaWV3LnBy
b3RvdHlwZS5fbW91c2V1cCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRl
YmFyUGFuZWwucHJvdG90eXBlLl9jaGVja0VsZW1lbnRzRm9yUGVuZGluZ1ZpZXdTdGF0ZUNvb2tp
ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVt
ZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQu
cHJvdG90eXBlLmNyZWF0ZUdldHRlckVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9i
amVjdFRyZWVCYXNlVHJlZUVsZW1lbnQucHJvdG90eXBlLmNyZWF0ZUdldHRlckVsZW1lbnQuKTog
RGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVQcm9wZXJ0
eVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVQcm9wZXJ0
eVRyZWVFbGVtZW50LnByb3RvdHlwZS5fdXBkYXRlRW50cmllcyk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5P
YmplY3RUcmVlVmlldy5wcm90b3R5cGUuX3VwZGF0ZUVudHJpZXMpOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlZnJl
c2hJbWFnZVNpemVTZWN0aW9uKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Njb3Bl
Q2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjb3Bl
Q2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fYWRkV2F0Y2hFeHByZXNzaW9uQnV0
dG9uQ2xpY2tlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRl
YmFyUGFuZWwucHJvdG90eXBlLl9vYmplY3RUcmVlRWxlbWVudEFkZENvbnRleHRNZW51SXRlbXMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5fYWRkV2F0Y2hFeHByZXNzaW9uQnV0dG9uQ2xpY2tlZC50aGlzLl9jb2RlTWlycm9y
LmFkZEtleU1hcCk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJC
YXIuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5
RWRpdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0
b3IucHJvdG90eXBlLl9jaGVja0RlcGVuZGVuY2llcyk6CisKIDIwMTYtMDUtMzEgIE5pa2l0YSBW
YXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
U3RvcmFnZSBEYXRhR3JpZHMgaGF2ZSBhIGhhbGYtcGl4ZWwgdHJhbnNwYXJlbnQvd2hpdGUgYm9y
ZGVyIGJlbG93IHRoZSBoZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCBhMDliNjdmLi5hYzVjY2FjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC01MjIsMTEg
KzUyMiw3IEBAIFdlYkluc3BlY3Rvci5fdXBkYXRlTmV3VGFiQnV0dG9uU3RhdGUgPSBmdW5jdGlv
bihldmVudCkKIHsKICAgICBsZXQgYWxsVGFicyA9IFsuLi50aGlzLl9rbm93blRhYkNsYXNzZXNC
eVR5cGUudmFsdWVzKCldOwogICAgIGxldCBhZGRhYmxlVGFicyA9IGFsbFRhYnMuZmlsdGVyKCh0
YWJDbGFzcykgPT4gIXRhYkNsYXNzLmlzRXBoZW1lcmFsKCkpOwotCi0gICAgLy8gRklYTUU6IFVz
ZSBhcnJvdyBmdW5jdGlvbnMgb25jZSBodHRwOi8vd2Via2l0Lm9yZy9iLzE1MjQ5NyBpcyByZXNv
bHZlZC4KLSAgICBsZXQgY2FuTWFrZU5ld1RhYiA9IGFkZGFibGVUYWJzLnNvbWUoZnVuY3Rpb24o
dGFiQ2xhc3MpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuaXNOZXdUYWJXaXRoVHlwZUFsbG93ZWQo
dGFiQ2xhc3MuVHlwZSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKKyAgICBsZXQgY2FuTWFrZU5ld1Rh
YiA9IGFkZGFibGVUYWJzLnNvbWUoKHRhYkNsYXNzKSA9PiB0aGlzLmlzTmV3VGFiV2l0aFR5cGVB
bGxvd2VkKHRhYkNsYXNzLlR5cGUpKTsKICAgICB0aGlzLnRhYkJhci5uZXdUYWJJdGVtLmRpc2Fi
bGVkID0gIWNhbk1ha2VOZXdUYWI7CiB9OwogCkBAIC0yMzY4LDE5ICsyMzY0LDE5IEBAIFdlYklu
c3BlY3Rvci5hcmNoaXZlTWFpbkZyYW1lID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX2Rvd25sb2Fk
aW5nUGFnZSA9IHRydWU7CiAgICAgdGhpcy5fdXBkYXRlRG93bmxvYWRUb29sYmFyQnV0dG9uKCk7
CiAKLSAgICBQYWdlQWdlbnQuYXJjaGl2ZShmdW5jdGlvbihlcnJvciwgZGF0YSkgeworICAgIFBh
Z2VBZ2VudC5hcmNoaXZlKChlcnJvciwgZGF0YSkgPT4gewogICAgICAgICB0aGlzLl9kb3dubG9h
ZGluZ1BhZ2UgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fdXBkYXRlRG93bmxvYWRUb29sYmFyQnV0
dG9uKCk7CiAKICAgICAgICAgaWYgKGVycm9yKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHZhciBtYWluRnJhbWUgPSBXZWJJbnNwZWN0b3IuZnJhbWVSZXNvdXJjZU1hbmFnZXIubWFp
bkZyYW1lOwotICAgICAgICB2YXIgYXJjaGl2ZU5hbWUgPSBtYWluRnJhbWUubWFpblJlc291cmNl
LnVybENvbXBvbmVudHMuaG9zdCB8fCBtYWluRnJhbWUubWFpblJlc291cmNlLmRpc3BsYXlOYW1l
IHx8ICJBcmNoaXZlIjsKLSAgICAgICAgdmFyIHVybCA9ICJ3ZWItaW5zcGVjdG9yOi8vLyIgKyBl
bmNvZGVVUkkoYXJjaGl2ZU5hbWUpICsgIi53ZWJhcmNoaXZlIjsKKyAgICAgICAgbGV0IG1haW5G
cmFtZSA9IFdlYkluc3BlY3Rvci5mcmFtZVJlc291cmNlTWFuYWdlci5tYWluRnJhbWU7CisgICAg
ICAgIGxldCBhcmNoaXZlTmFtZSA9IG1haW5GcmFtZS5tYWluUmVzb3VyY2UudXJsQ29tcG9uZW50
cy5ob3N0IHx8IG1haW5GcmFtZS5tYWluUmVzb3VyY2UuZGlzcGxheU5hbWUgfHwgIkFyY2hpdmUi
OworICAgICAgICBsZXQgdXJsID0gIndlYi1pbnNwZWN0b3I6Ly8vIiArIGVuY29kZVVSSShhcmNo
aXZlTmFtZSkgKyAiLndlYmFyY2hpdmUiOwogCiAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9z
dC5zYXZlKHVybCwgZGF0YSwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgfS5iaW5kKHRoaXMpKTsKKyAgICB9
KTsKIH07CiAKIFdlYkluc3BlY3Rvci5jYW5BcmNoaXZlTWFpbkZyYW1lID0gZnVuY3Rpb24oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvQnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyLmpz
CmluZGV4IDFmMGNiMGYuLmFkYTUwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0JyZWFrcG9pbnRQb3BvdmVyQ29udHJvbGxlci5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9C
cmVha3BvaW50UG9wb3ZlckNvbnRyb2xsZXIuanMKQEAgLTE2MSwxMCArMTYxLDEwIEBAIFdlYklu
c3BlY3Rvci5CcmVha3BvaW50UG9wb3ZlckNvbnRyb2xsZXIgPSBjbGFzcyBCcmVha3BvaW50UG9w
b3ZlckNvbnRyb2xsZXIgZXh0CiAgICAgICAgIGNvbXBsZXRpb25Db250cm9sbGVyLmFkZEV4dGVu
ZGVkQ29tcGxldGlvblByb3ZpZGVyKCJqYXZhc2NyaXB0IiwgV2ViSW5zcGVjdG9yLmphdmFTY3Jp
cHRSdW50aW1lQ29tcGxldGlvblByb3ZpZGVyKTsKIAogICAgICAgICAvLyBDb2RlTWlycm9yIG5l
ZWRzIGEgcmVmcmVzaCBhZnRlciB0aGUgcG9wb3ZlciBkaXNwbGF5cywgdG8gbGF5b3V0LCBvdGhl
cndpc2UgaXQgZG9lc24ndCBhcHBlYXIuCi0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9u
Q29kZU1pcnJvci5yZWZyZXNoKCk7CiAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb25Db2RlTWly
cm9yLmZvY3VzKCk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSwgMCk7CisgICAgICAgIH0sIDApOwog
CiAgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA3KTogRGVidWdnZXIuc2V0QnJlYWtwb2lu
dCBkaWQgbm90IHN1cHBvcnQgb3B0aW9ucy4KICAgICAgICAgaWYgKERlYnVnZ2VyQWdlbnQuc2V0
QnJlYWtwb2ludC5zdXBwb3J0cygib3B0aW9ucyIpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UeXBlVG9rZW5Bbm5vdGF0b3Iu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UeXBl
VG9rZW5Bbm5vdGF0b3IuanMKaW5kZXggNjY1NjNhZC4uMzA5NjRlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVHlwZVRva2VuQW5u
b3RhdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL1R5cGVUb2tlbkFubm90YXRvci5qcwpAQCAtNDQsMTIgKzQ0LDExIEBAIFdlYkluc3Bl
Y3Rvci5UeXBlVG9rZW5Bbm5vdGF0b3IgPSBjbGFzcyBUeXBlVG9rZW5Bbm5vdGF0b3IgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuCiAgICAgICAgIHZhciBzY3JpcHRTeW50YXhUcmVlID0gdGhpcy5fc2Ny
aXB0LnNjcmlwdFN5bnRheFRyZWU7CiAKICAgICAgICAgaWYgKCFzY3JpcHRTeW50YXhUcmVlKSB7
Ci0gICAgICAgICAgICB0aGlzLl9zY3JpcHQucmVxdWVzdFNjcmlwdFN5bnRheFRyZWUoZnVuY3Rp
b24oc3ludGF4VHJlZSkgeworICAgICAgICAgICAgdGhpcy5fc2NyaXB0LnJlcXVlc3RTY3JpcHRT
eW50YXhUcmVlKChzeW50YXhUcmVlKSA9PiB7CiAgICAgICAgICAgICAgICAgLy8gQWZ0ZXIgcmVx
dWVzdGluZyB0aGUgdHJlZSwgd2Ugc3RpbGwgbWlnaHQgZ2V0IGEgbnVsbCB0cmVlIGZyb20gYSBw
YXJzZSBlcnJvci4KICAgICAgICAgICAgICAgICBpZiAoc3ludGF4VHJlZSkKICAgICAgICAgICAg
ICAgICAgICAgdGhpcy5pbnNlcnRBbm5vdGF0aW9ucygpOwotICAgICAgICAgICAgfS5iaW5kKHRo
aXMpKTsKLQorICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IApAQCAtNjAsMjAgKzU5LDIwIEBAIFdlYkluc3BlY3Rvci5UeXBlVG9rZW5Bbm5vdGF0b3IgPSBj
bGFzcyBUeXBlVG9rZW5Bbm5vdGF0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICAgICAg
dmFyIHN0YXJ0VGltZSA9IERhdGUubm93KCk7CiAgICAgICAgIHZhciBhbGxOb2Rlc0luUmFuZ2Ug
PSBzY3JpcHRTeW50YXhUcmVlLmZpbHRlckJ5UmFuZ2Uoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7
Ci0gICAgICAgIHNjcmlwdFN5bnRheFRyZWUudXBkYXRlVHlwZXMoYWxsTm9kZXNJblJhbmdlLCBm
dW5jdGlvbiBhZnRlclR5cGVVcGRhdGVzKG5vZGVzV2l0aFVwZGF0ZWRUeXBlcykgeworICAgICAg
ICBzY3JpcHRTeW50YXhUcmVlLnVwZGF0ZVR5cGVzKGFsbE5vZGVzSW5SYW5nZSwgKG5vZGVzV2l0
aFVwZGF0ZWRUeXBlcykgPT4gewogICAgICAgICAgICAgLy8gQmVjYXVzZSB0aGlzIGlzIGFuIGFz
eW5jaHJvbm91cyBjYWxsLCB3ZSBjb3VsZCBoYXZlIGJlZW4gZGVhY3RpdmF0ZWQgYmVmb3JlIHRo
ZSBjYWxsYmFjayBmdW5jdGlvbiBpcyBjYWxsZWQuCiAgICAgICAgICAgICBpZiAoIXRoaXMuaXNB
Y3RpdmUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgICAgIG5vZGVzV2l0
aFVwZGF0ZWRUeXBlcy5mb3JFYWNoKHRoaXMuX2luc2VydFR5cGVUb2tlbiwgdGhpcyk7CiAKLSAg
ICAgICAgICAgIHZhciB0b3RhbFRpbWUgPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lOwotICAgICAg
ICAgICAgdmFyIHRpbWVvdXRUaW1lID0gTnVtYmVyLmNvbnN0cmFpbig4ICogdG90YWxUaW1lLCA1
MDAsIDIwMDApOwotICAgICAgICAgICAgdGhpcy5fdGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1l
b3V0KGZ1bmN0aW9uIHRpbWVvdXRVcGRhdGUoKSB7CisgICAgICAgICAgICBsZXQgdG90YWxUaW1l
ID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTsKKyAgICAgICAgICAgIGxldCB0aW1lb3V0VGltZSA9
IE51bWJlci5jb25zdHJhaW4oOCAqIHRvdGFsVGltZSwgNTAwLCAyMDAwKTsKKyAgICAgICAgICAg
IHRoaXMuX3RpbWVvdXRJZGVudGlmaWVyID0gc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAg
ICAgICAgdGhpcy5fdGltZW91dElkZW50aWZpZXIgPSBudWxsOwogICAgICAgICAgICAgICAgIHRo
aXMuaW5zZXJ0QW5ub3RhdGlvbnMoKTsKLSAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgdGltZW91
dFRpbWUpOwotICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAgfSwgdGltZW91dFRp
bWUpOworICAgICAgICB9KTsKICAgICB9CiAKICAgICBjbGVhckFubm90YXRpb25zKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJp
bmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMKaW5kZXggZWZhNjc2
OC4uNzU5OTI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVS
ZWNvcmQuanMKQEAgLTEyNywxMiArMTI3LDEyIEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZCBlCiAK
ICAgICBfY2FsY3VsYXRlRHVyYXRpb25SZW1haW5kZXIoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IE9iamVjdC5rZXlzKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRh
c2tUeXBlKS5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwga2V5KSB7Ci0gICAgICAgICAg
ICB2YXIgdGFza1R5cGUgPSBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29y
ZC5UYXNrVHlwZVtrZXldOworICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoV2ViSW5zcGVjdG9y
LlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFza1R5cGUpLnJlZHVjZSgocHJldmlvdXNW
YWx1ZSwga2V5KSA9PiB7CisgICAgICAgICAgICBsZXQgdGFza1R5cGUgPSBXZWJJbnNwZWN0b3Iu
UmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5UYXNrVHlwZVtrZXldOwogICAgICAgICAgICAg
aWYgKHRhc2tUeXBlID09PSBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29y
ZC5UYXNrVHlwZS5PdGhlcikKICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTsK
ICAgICAgICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlIC0gdGhpcy5kdXJhdGlvbkZvclRhc2so
dGFza1R5cGUpOwotICAgICAgICB9LmJpbmQodGhpcyksIHRoaXMuZHVyYXRpb24pOworICAgICAg
ICB9LCB0aGlzLmR1cmF0aW9uKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMKaW5kZXggNTZkODQ4
ZS4uMDVmMWM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1Jlc291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9SZXNvdXJjZS5qcwpAQCAtNjUwLDEwICs2NTAsMTAgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlID0gY2xhc3MgUmVzb3VyY2UgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuU291cmNl
Q29kZQogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7ZXJyb3I6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQW4gZXJyb3Igb2NjdXJyZWQgdHJ5aW5nIHRvIGxvYWQgdGhlIHJlc291
cmNlLiIpfSk7CiAKICAgICAgICAgaWYgKCF0aGlzLl9maW5pc2hUaGVuUmVxdWVzdENvbnRlbnRQ
cm9taXNlKSB7Ci0gICAgICAgICAgICB0aGlzLl9maW5pc2hUaGVuUmVxdWVzdENvbnRlbnRQcm9t
aXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAg
ICAgdGhpcy5fZmluaXNoVGhlblJlcXVlc3RDb250ZW50UHJvbWlzZSA9IG5ldyBQcm9taXNlKChy
ZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlLkV2ZW50LkxvYWRpbmdEaWRGaW5pc2gsIHJlc29sdmUp
OwogICAgICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVz
b3VyY2UuRXZlbnQuTG9hZGluZ0RpZEZhaWwsIHJlamVjdCk7Ci0gICAgICAgICAgICB9LmJpbmQo
dGhpcykpLnRoZW4oV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90eXBlLnJlcXVlc3RDb250
ZW50LmJpbmQodGhpcykpOworICAgICAgICAgICAgfSkudGhlbihXZWJJbnNwZWN0b3IuU291cmNl
Q29kZS5wcm90b3R5cGUucmVxdWVzdENvbnRlbnQuYmluZCh0aGlzKSk7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm4gdGhpcy5fZmluaXNoVGhlblJlcXVlc3RDb250ZW50UHJvbWlzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3Jp
cHQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0
LmpzCmluZGV4IGE4OWZjNjguLjY3MzMyYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qcwpAQCAtMjE3LDE1ICsyMTcsMTQg
QEAgV2ViSW5zcGVjdG9yLlNjcmlwdCA9IGNsYXNzIFNjcmlwdCBleHRlbmRzIFdlYkluc3BlY3Rv
ci5Tb3VyY2VDb2RlCiAgICAgcmVxdWVzdFNjcmlwdFN5bnRheFRyZWUoY2FsbGJhY2spCiAgICAg
ewogICAgICAgICBpZiAodGhpcy5fc2NyaXB0U3ludGF4VHJlZSkgewotICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsgY2FsbGJhY2sodGhpcy5fc2NyaXB0U3ludGF4VHJlZSk7IH0u
YmluZCh0aGlzKSwgMCk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgY2FsbGJhY2so
dGhpcy5fc2NyaXB0U3ludGF4VHJlZSk7IH0sIDApOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKLSAgICAgICAgdmFyIG1ha2VTeW50YXhUcmVlQW5kQ2FsbENhbGxiYWNrID0gZnVu
Y3Rpb24oY29udGVudCkKLSAgICAgICAgeworICAgICAgICB2YXIgbWFrZVN5bnRheFRyZWVBbmRD
YWxsQ2FsbGJhY2sgPSAoKSA9PiB7CiAgICAgICAgICAgICB0aGlzLl9tYWtlU3ludGF4VHJlZShj
b250ZW50KTsKICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX3NjcmlwdFN5bnRheFRyZWUpOwot
ICAgICAgICB9LmJpbmQodGhpcyk7CisgICAgICAgIH07CiAKICAgICAgICAgdmFyIGNvbnRlbnQg
PSB0aGlzLmNvbnRlbnQ7CiAgICAgICAgIGlmICghY29udGVudCAmJiB0aGlzLl9yZXNvdXJjZSAm
JiB0aGlzLl9yZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3Jp
cHQgJiYgdGhpcy5fcmVzb3VyY2UuZmluaXNoZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZUxvY2F0aW9uLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGVMb2NhdGlv
bi5qcwppbmRleCAwODY3NDE3Li40MDQ4NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZUxvY2F0aW9uLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlTG9jYXRp
b24uanMKQEAgLTI0NCwxMCArMjQ0LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVMb2NhdGlv
biA9IGNsYXNzIFNvdXJjZUNvZGVMb2NhdGlvbiBleHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICAg
ICAgdmFyIGJvdW5kTW91c2VPdmVyT3JNb3ZlID0gbW91c2VPdmVyT3JNb3ZlLmJpbmQodGhpcyk7
CiAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIiwgYm91bmRNb3Vz
ZU92ZXJPck1vdmUpOwogICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92
ZSIsIGJvdW5kTW91c2VPdmVyT3JNb3ZlKTsKLQotICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoIm1vdXNlb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAgIHVwZGF0ZURp
c3BsYXlTdHJpbmcuY2FsbCh0aGlzLCBmYWxzZSk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7Cisg
ICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCAoZXZlbnQpID0+IHsg
dXBkYXRlRGlzcGxheVN0cmluZy5jYWxsKHRoaXMsIGZhbHNlKTsgfSk7CiAgICAgfQogCiAgICAg
Ly8gUHJvdGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvV3JhcHBlZFByb21pc2UuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvV3JhcHBlZFByb21pc2UuanMKaW5kZXggN2ViMmZjYy4uMzlhMTBm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L1dyYXBwZWRQcm9taXNlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9XcmFwcGVkUHJvbWlzZS5qcwpAQCAtMjcsMTMgKzI3LDEzIEBAIFdlYkluc3Bl
Y3Rvci5XcmFwcGVkUHJvbWlzZSA9IGNsYXNzIFdyYXBwZWRQcm9taXNlCiB7CiAgICAgY29uc3Ry
dWN0b3Iod29yaykKICAgICB7Ci0gICAgICAgIHRoaXMuX3Byb21pc2UgPSBuZXcgUHJvbWlzZShm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgdGhpcy5fcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgICAgIHRoaXMuX3Jlc29sdmUg
PSByZXNvbHZlOwogICAgICAgICAgICAgdGhpcy5fcmVqZWN0ID0gcmVqZWN0OwogCiAgICAgICAg
ICAgICBpZiAod29yayAmJiB0eXBlb2Ygd29yayA9PT0gImZ1bmN0aW9uIikKICAgICAgICAgICAg
ICAgICB3b3JrKCk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgIH0pOwogICAgIH0K
IAogICAgIC8vIFB1YmxpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQnJlYWtwb2ludEFjdGlvblZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CcmVha3BvaW50QWN0aW9uVmlldy5qcwppbmRleCA3
YjBmMThkLi5jMmFkYjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9CcmVha3BvaW50QWN0aW9uVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CcmVha3BvaW50QWN0aW9uVmlldy5qcwpAQCAt
MTY3LDExICsxNjcsMTEgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRBY3Rpb25WaWV3ID0gY2xh
c3MgQnJlYWtwb2ludEFjdGlvblZpZXcgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgICAgIGNv
bXBsZXRpb25Db250cm9sbGVyLmFkZEV4dGVuZGVkQ29tcGxldGlvblByb3ZpZGVyKCJqYXZhc2Ny
aXB0IiwgV2ViSW5zcGVjdG9yLmphdmFTY3JpcHRSdW50aW1lQ29tcGxldGlvblByb3ZpZGVyKTsK
IAogICAgICAgICAgICAgLy8gQ29kZU1pcnJvciBuZWVkcyBhIHJlZnJlc2ggYWZ0ZXIgdGhlIHBv
cG92ZXIgZGlzcGxheXMsIHRvIGxheW91dCwgb3RoZXJ3aXNlIGl0IGRvZXNuJ3QgYXBwZWFyLgot
ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNldFRpbWVv
dXQoKCkgPT4gewogICAgICAgICAgICAgICAgIHRoaXMuX2NvZGVNaXJyb3IucmVmcmVzaCgpOwog
ICAgICAgICAgICAgICAgIGlmICghb21pdEZvY3VzKQogICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9jb2RlTWlycm9yLmZvY3VzKCk7Ci0gICAgICAgICAgICB9LmJpbmQodGhpcyksIDApOworICAg
ICAgICAgICAgfSwgMCk7CiAKICAgICAgICAgICAgIGJyZWFrOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CcmVha3BvaW50VHJlZUVsZW1l
bnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CcmVha3Bv
aW50VHJlZUVsZW1lbnQuanMKaW5kZXggYzc5YmU2OS4uYjM2ZjUxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQnJlYWtwb2ludFRyZWVFbGVt
ZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Jy
ZWFrcG9pbnRUcmVlRWxlbWVudC5qcwpAQCAtMjMxLDkgKzIzMSw5IEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5k
cyBXZWJJbnNwCiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFk
ZChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludFRyZWVFbGVtZW50LlByb2JlRGF0YVVwZGF0ZWRTdHls
ZUNsYXNzTmFtZSk7Ci0gICAgICAgIHRoaXMuX3JlbW92ZUljb25BbmltYXRpb25UaW1lb3V0SWRl
bnRpZmllciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHRoaXMuX3JlbW92ZUlj
b25BbmltYXRpb25UaW1lb3V0SWRlbnRpZmllciA9IHNldFRpbWVvdXQoKCkgPT4gewogICAgICAg
ICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV2ViSW5zcGVjdG9yLkJyZWFrcG9p
bnRUcmVlRWxlbWVudC5Qcm9iZURhdGFVcGRhdGVkU3R5bGVDbGFzc05hbWUpOwotICAgICAgICB9
LmJpbmQodGhpcyksIFdlYkluc3BlY3Rvci5CcmVha3BvaW50VHJlZUVsZW1lbnQuUHJvYmVEYXRh
VXBkYXRlZEFuaW1hdGlvbkR1cmF0aW9uKTsKKyAgICAgICAgfSwgV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnRUcmVlRWxlbWVudC5Qcm9iZURhdGFVcGRhdGVkQW5pbWF0aW9uRHVyYXRpb24pOwogICAg
IH0KIAogICAgIF9icmVha3BvaW50TG9jYXRpb25EaWRDaGFuZ2UoZXZlbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xh
cmF0aW9uVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCmluZGV4IDBkMTA1NjIuLjA4
ZWI3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9y
LmpzCkBAIC04MDMsOSArODAzLDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25U
ZXh0RWRpdG9yID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IKIAogICAgICAg
ICAgICAgaWYgKCF0aGlzLl9jb2RlTWlycm9yLmdldE9wdGlvbigicmVhZE9ubHkiKSkgewogICAg
ICAgICAgICAgICAgIC8vIExvb2sgZm9yIGNvbW1lbnRzIHRoYXQgbG9vayBsaWtlIHByb3BlcnRp
ZXMgYW5kIGFkZCBjaGVja2JveGVzIGluIGZyb250IG9mIHRoZW0uCi0gICAgICAgICAgICAgICAg
dGhpcy5fY29kZU1pcnJvci5lYWNoTGluZShmdW5jdGlvbihsaW5lSGFuZGxlcikgeworICAgICAg
ICAgICAgICAgIHRoaXMuX2NvZGVNaXJyb3IuZWFjaExpbmUoKGxpbmVIYW5kbGVyKSA9PiB7CiAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZUNvbW1lbnRlZENoZWNrYm94TWFya2VyKGxp
bmVIYW5kbGVyKTsKLSAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBMb29rIGZvciBzd2F0Y2hh
YmxlIHZhbHVlcyBhbmQgbWFrZSBpbmxpbmUgc3dhdGNoZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWZhdWx0RGFzaGJvYXJkVmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlZmF1bHREYXNo
Ym9hcmRWaWV3LmpzCmluZGV4IDEzYmQ2MDYuLmU3OTE5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlZmF1bHREYXNoYm9hcmRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlZmF1bHRE
YXNoYm9hcmRWaWV3LmpzCkBAIC0xMjIsOSArMTIyLDkgQEAgV2ViSW5zcGVjdG9yLkRlZmF1bHRE
YXNoYm9hcmRWaWV3ID0gY2xhc3MgRGVmYXVsdERhc2hib2FyZFZpZXcgZXh0ZW5kcyBXZWJJbnNw
ZWMKICAgICAgICAgICAgIH0KICAgICAgICAgfSk7CiAKLSAgICAgICAgaXRlbS5jb250YWluZXIu
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihldmVudCkgeworICAgICAgICBpdGVt
LmNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChldmVudCkgPT4gewogICAgICAg
ICAgICAgdGhpcy5faXRlbVdhc0NsaWNrZWQobmFtZSk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7
CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIF9pdGVtV2FzQ2xpY2tlZChuYW1lKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXJyb3JPYmpl
Y3RWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXJy
b3JPYmplY3RWaWV3LmpzCmluZGV4IDBkM2RlMWIuLjZmMzlkYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Vycm9yT2JqZWN0Vmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FcnJvck9iamVj
dFZpZXcuanMKQEAgLTg4LDE0ICs4OCwxNCBAQCBXZWJJbnNwZWN0b3IuRXJyb3JPYmplY3RWaWV3
ID0gY2xhc3MgRXJyb3JPYmplY3RWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAg
ICAgdXBkYXRlKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX29iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3JzQXNPYmplY3QoZnVuY3Rpb24ocHJvcGVydGllcykgeworICAgICAgICB0aGlzLl9v
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc0FzT2JqZWN0KChwcm9wZXJ0aWVzKSA9PiB7
CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChwcm9wZXJ0aWVzICYmIHByb3BlcnRpZXMuc3Rh
Y2sgJiYgcHJvcGVydGllcy5zdGFjay52YWx1ZSk7CiAKICAgICAgICAgICAgIGlmICghdGhpcy5f
aGFzU3RhY2tUcmFjZSkKICAgICAgICAgICAgICAgICB0aGlzLl9idWlsZFN0YWNrVHJhY2UocHJv
cGVydGllcy5zdGFjay52YWx1ZS52YWx1ZSk7CiAKICAgICAgICAgICAgIHRoaXMuX2hhc1N0YWNr
VHJhY2UgPSB0cnVlOwotICAgICAgICB9LmJpbmQodGhpcykpOworICAgICAgICB9KTsKICAgICB9
CiAKICAgICBleHBhbmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvR2VuZXJhbFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFRyZWVFbGVtZW50LmpzCmluZGV4IDlmYWQ0
N2QuLjk4OGNhZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dlbmVyYWxUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9HZW5lcmFsVHJlZUVsZW1lbnQuanMKQEAgLTIxNSw3ICsy
MTUsNyBAQCBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50ID0gY2xhc3MgR2VuZXJhbFRy
ZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICB9CiAKICAgICAgICAgaWYg
KCF0aGlzLl9ib3VuZENvbnRleHRNZW51RXZlbnRIYW5kbGVyICYmIHRoaXMudHJlZU91dGxpbmUu
b25jb250ZXh0bWVudSAmJiB0eXBlb2YgdGhpcy50cmVlT3V0bGluZS5vbmNvbnRleHRtZW51ID09
PSAiZnVuY3Rpb24iKSB7Ci0gICAgICAgICAgICB0aGlzLl9ib3VuZENvbnRleHRNZW51RXZlbnRI
YW5kbGVyID0gZnVuY3Rpb24oZXZlbnQpIHsgdGhpcy50cmVlT3V0bGluZS5vbmNvbnRleHRtZW51
KGV2ZW50LCB0aGlzKTsgfS5iaW5kKHRoaXMpOworICAgICAgICAgICAgdGhpcy5fYm91bmRDb250
ZXh0TWVudUV2ZW50SGFuZGxlciA9IChldmVudCkgPT4geyB0aGlzLnRyZWVPdXRsaW5lLm9uY29u
dGV4dG1lbnUoZXZlbnQsIHRoaXMpOyB9OwogICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1Ob2Rl
LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5fYm91bmRDb250ZXh0TWVudUV2
ZW50SGFuZGxlcik7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9JbmxpbmVTd2F0Y2guanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9JbmxpbmVTd2F0Y2guanMKaW5kZXggMTBl
YWRiYS4uNDRiZmQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvSW5saW5lU3dhdGNoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0lubGluZVN3YXRjaC5qcwpAQCAtMjU0LDEwICsyNTQsNyBAQCBX
ZWJJbnNwZWN0b3IuSW5saW5lU3dhdGNoID0gY2xhc3MgSW5saW5lU3dhdGNoIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamVjdAogICAgICAgICAgICAgfQogICAgICAgICBdOwogCi0gICAgICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUyNDk3PiBBcnJvdyBmdW5jdGlvbnM6ICJ0
aGlzIiBpc24ndCBsZXhpY2FsbHkgYm91bmQKLSAgICAgICAgbGV0IGN1cnJlbnRDb2xvcklzSEVY
ID0gaGV4Rm9ybWF0cy5zb21lKGZ1bmN0aW9uKGluZm8pIHsKLSAgICAgICAgICAgIHJldHVybiBp
bmZvLmZvcm1hdCA9PT0gdGhpcy5fdmFsdWUuZm9ybWF0OwotICAgICAgICB9LmJpbmQodGhpcykp
OworICAgICAgICBsZXQgY3VycmVudENvbG9ySXNIRVggPSBoZXhGb3JtYXRzLnNvbWUoKGluZm8p
ID0+IGluZm8uZm9ybWF0ID09PSB0aGlzLl92YWx1ZS5mb3JtYXQpOwogCiAgICAgICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgaGV4Rm9ybWF0cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYg
KGN1cnJlbnRDb2xvcklzSEVYICYmIHRoaXMuX3ZhbHVlLmZvcm1hdCAhPT0gaGV4Rm9ybWF0c1tp
XS5mb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5q
cwppbmRleCA4NTdlZTg0Li5lMzVkNjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURl
dGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTY3LDEwICs2NywxMCBAQCBXZWJJbnNwZWN0b3IuTGF5
ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyVHJlZURldGFpbHNTaWRlYmFy
UGFuZWwgZQogICAgICAgICBpZiAoIXRoaXMuZG9tTm9kZSkKICAgICAgICAgICAgIHJldHVybjsK
IAotICAgICAgICBXZWJJbnNwZWN0b3IubGF5ZXJUcmVlTWFuYWdlci5sYXllcnNGb3JOb2RlKHRo
aXMuZG9tTm9kZSwgZnVuY3Rpb24obGF5ZXJGb3JOb2RlLCBjaGlsZExheWVycykgeworICAgICAg
ICBXZWJJbnNwZWN0b3IubGF5ZXJUcmVlTWFuYWdlci5sYXllcnNGb3JOb2RlKHRoaXMuZG9tTm9k
ZSwgKGxheWVyRm9yTm9kZSwgY2hpbGRMYXllcnMpID0+IHsKICAgICAgICAgICAgIHRoaXMuX3Vu
ZmlsdGVyZWRDaGlsZExheWVycyA9IGNoaWxkTGF5ZXJzOwogICAgICAgICAgICAgdGhpcy5fdXBk
YXRlRGlzcGxheVdpdGhMYXllcnMobGF5ZXJGb3JOb2RlLCBjaGlsZExheWVycyk7Ci0gICAgICAg
IH0uYmluZCh0aGlzKSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIC8vIERPTURldGFpbHNT
aWRlYmFyUGFuZWwgT3ZlcnJpZGVzCkBAIC0zMTgsMTAgKzMxOCwxMCBAQCBXZWJJbnNwZWN0b3Iu
TGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyVHJlZURldGFpbHNTaWRl
YmFyUGFuZWwgZQogICAgICAgICBpZiAoIWRhdGFHcmlkTm9kZSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICB0aGlzLl9jb250ZW50Rm9yUG9wb3ZlcihkYXRhR3JpZE5vZGUubGF5ZXIs
IGZ1bmN0aW9uKGNvbnRlbnQpIHsKKyAgICAgICAgdGhpcy5fY29udGVudEZvclBvcG92ZXIoZGF0
YUdyaWROb2RlLmxheWVyLCAoY29udGVudCkgPT4gewogICAgICAgICAgICAgaWYgKGRhdGFHcmlk
Tm9kZSA9PT0gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlKQogICAgICAgICAgICAgICAgIHRo
aXMuX3VwZGF0ZVBvcG92ZXJGb3JTZWxlY3RlZE5vZGUoY29udGVudCk7Ci0gICAgICAgIH0uYmlu
ZCh0aGlzKSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIF91cGRhdGVQb3BvdmVyRm9yU2Vs
ZWN0ZWROb2RlKGNvbnRlbnQpCkBAIC0zNTcsNyArMzU3LDcgQEAgV2ViSW5zcGVjdG9yLkxheWVy
VHJlZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBMYXllclRyZWVEZXRhaWxzU2lkZWJhclBh
bmVsIGUKIAogICAgICAgICB2YXIgbGlzdCA9IGNvbnRlbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgidWwiKSk7CiAKLSAgICAgICAgV2ViSW5zcGVjdG9yLmxheWVyVHJlZU1h
bmFnZXIucmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5ZXIobGF5ZXIsIGZ1bmN0aW9uKGNvbXBvc2l0
aW5nUmVhc29ucykgeworICAgICAgICBXZWJJbnNwZWN0b3IubGF5ZXJUcmVlTWFuYWdlci5yZWFz
b25zRm9yQ29tcG9zaXRpbmdMYXllcihsYXllciwgKGNvbXBvc2l0aW5nUmVhc29ucykgPT4gewog
ICAgICAgICAgICAgaWYgKGlzRW1wdHlPYmplY3QoY29tcG9zaXRpbmdSZWFzb25zKSkgewogICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKGNvbnRlbnQpOwogICAgICAgICAgICAgICAgIHJldHVybjsK
QEAgLTM2Niw3ICszNjYsNyBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQ
YW5lbCA9IGNsYXNzIExheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwgZQogICAgICAgICAgICAg
dGhpcy5fcG9wdWxhdGVMaXN0T2ZDb21wb3NpdGluZ1JlYXNvbnMobGlzdCwgY29tcG9zaXRpbmdS
ZWFzb25zKTsKIAogICAgICAgICAgICAgY2FsbGJhY2soY29udGVudCk7Ci0gICAgICAgIH0uYmlu
ZCh0aGlzKSk7CisgICAgICAgIH0pOwogCiAgICAgICAgIHJldHVybiBjb250ZW50OwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xv
Z0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTG9nQ29udGVudFZpZXcuanMKaW5kZXggYTAyYmZiMi4uMGM0OWYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29u
dGVudFZpZXcuanMKQEAgLTQ0NCw3ICs0NDQsNyBAQCBXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZp
ZXcgPSBjbGFzcyBMb2dDb250ZW50VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5Db250ZW50Vgog
ICAgICAgICAgICAgdGhpcy5fY2xlYXJNZXNzYWdlc1NlbGVjdGlvbigpOwogCiAgICAgICAgICAg
ICAvLyBGb2N1cyB0aGUgcHJvbXB0LiBGb2N1c2luZyB0aGUgcHJvbXB0IG5lZWRzIHRvIGhhcHBl
biBhZnRlciB0aGUgY2xpY2sgdG8gd29yay4KLSAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24gKCkgeyB0aGlzLnByb21wdC5mb2N1cygpOyB9LmJpbmQodGhpcyksIDApOworICAgICAgICAg
ICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMucHJvbXB0LmZvY3VzKCk7IH0sIDApOwogICAgICAg
ICB9CiAKICAgICAgICAgZGVsZXRlIHRoaXMuX21vdXNlTW92ZUlzUm93U2VsZWN0aW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdh
dGlvblNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKaW5kZXggNGM0ZTBhOC4uNzkzZWRjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2
aWdhdGlvblNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCkBAIC03ODAsOSArNzgwLDkg
QEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBOYXZpZ2F0aW9u
U2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW4KIAogICAgICAgICAgICAgLy8gRGVsYXkgY2xlYXJp
bmcgdGhlIHJlc3RvcmluZ1N0YXRlIGZsYWcgdW50aWwgdGhlIG5leHQgcnVubG9vcCBzbyBsaXN0
ZW5lcnMKICAgICAgICAgICAgIC8vIGNoZWNraW5nIGZvciBpdCBpbiB0aGlzIHJ1bmxvb3Agc3Rp
bGwga25vdyBzdGF0ZSB3YXMgYmVpbmcgcmVzdG9yZWQuCi0gICAgICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAg
ICAgICAgdGhpcy5fcmVzdG9yaW5nU3RhdGUgPSBmYWxzZTsKLSAgICAgICAgICAgIH0uYmluZCh0
aGlzKSk7CisgICAgICAgICAgICB9LCAwKTsKIAogICAgICAgICAgICAgaWYgKHRoaXMuX2ZpbmFs
QXR0ZW1wdFRvUmVzdG9yZVZpZXdTdGF0ZVRpbWVvdXQpIHsKICAgICAgICAgICAgICAgICBjbGVh
clRpbWVvdXQodGhpcy5fZmluYWxBdHRlbXB0VG9SZXN0b3JlVmlld1N0YXRlVGltZW91dCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmpl
Y3RUcmVlQmFzZVRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvT2JqZWN0VHJlZUJhc2VUcmVlRWxlbWVudC5qcwppbmRleCA3YmVkMWIyLi4x
YjcyMWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQuanMKQEAg
LTEyNCwxNyArMTI0LDE3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50
ID0gY2xhc3MgT2JqZWN0VHJlZUJhc2VUcmVlRWxlbWVudCBleHRlbmRzCiAgICAgICAgIH0KIAog
ICAgICAgICBnZXR0ZXJFbGVtZW50LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZv
a2UgZ2V0dGVyIik7Ci0gICAgICAgIGdldHRlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBmdW5jdGlvbihldmVudCkgeworICAgICAgICBnZXR0ZXJFbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgKGV2ZW50KSA9PiB7CiAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFn
YXRpb24oKTsKICAgICAgICAgICAgIHZhciBsYXN0Tm9uUHJvdG90eXBlT2JqZWN0ID0gdGhpcy5f
cHJvcGVydHlQYXRoLmxhc3ROb25Qcm90b3R5cGVPYmplY3Q7CiAgICAgICAgICAgICB2YXIgZ2V0
dGVyT2JqZWN0ID0gdGhpcy5fcHJvcGVydHkuZ2V0OwotICAgICAgICAgICAgbGFzdE5vblByb3Rv
dHlwZU9iamVjdC5pbnZva2VHZXR0ZXIoZ2V0dGVyT2JqZWN0LCBmdW5jdGlvbihlcnJvciwgcmVz
dWx0LCB3YXNUaHJvd24pIHsKKyAgICAgICAgICAgIGxhc3ROb25Qcm90b3R5cGVPYmplY3QuaW52
b2tlR2V0dGVyKGdldHRlck9iamVjdCwgKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikgPT4gewog
ICAgICAgICAgICAgICAgIHRoaXMuX2dldHRlckhhZEVycm9yID0gISEoZXJyb3IgfHwgd2FzVGhy
b3duKTsKICAgICAgICAgICAgICAgICB0aGlzLl9nZXR0ZXJWYWx1ZSA9IHJlc3VsdDsKICAgICAg
ICAgICAgICAgICBpZiAodGhpcy5pbnZva2VkR2V0dGVyICYmIHR5cGVvZiB0aGlzLmludm9rZWRH
ZXR0ZXIgPT09ICJmdW5jdGlvbiIpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlZEdl
dHRlcigpOwotICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTsKLSAgICAgICAgfS5iaW5kKHRoaXMp
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gZ2V0dGVy
RWxlbWVudDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlUHJvcGVydHlUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVQcm9wZXJ0eVRyZWVF
bGVtZW50LmpzCmluZGV4IGM0OTJlZTYuLjU4ZWQ0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVQcm9wZXJ0eVRyZWVFbGVt
ZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09i
amVjdFRyZWVQcm9wZXJ0eVRyZWVFbGVtZW50LmpzCkBAIC0zNDQsMTAgKzM0NCwxMCBAQCBXZWJJ
bnNwZWN0b3IuT2JqZWN0VHJlZVByb3BlcnR5VHJlZUVsZW1lbnQgPSBjbGFzcyBPYmplY3RUcmVl
UHJvcGVydHlUcmVlRWxlbWVudAogCiAgICAgICAgIC8vIFNob3cgdGhlIHByb3RvdHlwZSBzbyB1
c2VycyBjYW4gc2VlIHRoZSBBUEkuCiAgICAgICAgIHZhciByZXNvbHZlZFZhbHVlID0gdGhpcy5y
ZXNvbHZlZFZhbHVlKCk7Ci0gICAgICAgIHJlc29sdmVkVmFsdWUuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKCJfX3Byb3RvX18iLCBmdW5jdGlvbihwcm9wZXJ0eURlc2NyaXB0b3IpIHsKKyAgICAg
ICAgcmVzb2x2ZWRWYWx1ZS5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoIl9fcHJvdG9fXyIsIChw
cm9wZXJ0eURlc2NyaXB0b3IpID0+IHsKICAgICAgICAgICAgIGlmIChwcm9wZXJ0eURlc2NyaXB0
b3IpCiAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChuZXcgV2ViSW5zcGVjdG9yLk9i
amVjdFRyZWVQcm9wZXJ0eVRyZWVFbGVtZW50KHByb3BlcnR5RGVzY3JpcHRvciwgcHJvcGVydHlQ
YXRoLCBtb2RlKSk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgIH0pOwogICAgIH0K
IAogICAgIF91cGRhdGVQcm9wZXJ0aWVzKHByb3BlcnRpZXMsIHByb3BlcnR5UGF0aCwgbW9kZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09i
amVjdFRyZWVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvT2JqZWN0VHJlZVZpZXcuanMKaW5kZXggYjE2YmJiOC4uNjM5Y2NmNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0VHJlZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0
VHJlZVZpZXcuanMKQEAgLTI3OSwxMCArMjc5LDEwIEBAIFdlYkluc3BlY3Rvci5PYmplY3RUcmVl
VmlldyA9IGNsYXNzIE9iamVjdFRyZWVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAog
ICAgICAgICB9CiAKICAgICAgICAgLy8gU2hvdyB0aGUgcHJvdG90eXBlIHNvIHVzZXJzIGNhbiBz
ZWUgdGhlIEFQSS4KLSAgICAgICAgdGhpcy5fb2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cigiX19wcm90b19fIiwgZnVuY3Rpb24ocHJvcGVydHlEZXNjcmlwdG9yKSB7CisgICAgICAgIHRo
aXMuX29iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoIl9fcHJvdG9fXyIsIChwcm9wZXJ0
eURlc2NyaXB0b3IpID0+IHsKICAgICAgICAgICAgIGlmIChwcm9wZXJ0eURlc2NyaXB0b3IpCiAg
ICAgICAgICAgICAgICAgdGhpcy5fb3V0bGluZS5hcHBlbmRDaGlsZChuZXcgV2ViSW5zcGVjdG9y
Lk9iamVjdFRyZWVQcm9wZXJ0eVRyZWVFbGVtZW50KHByb3BlcnR5RGVzY3JpcHRvciwgcHJvcGVy
dHlQYXRoLCB0aGlzLl9tb2RlKSk7Ci0gICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgIH0p
OwogICAgIH0KIAogICAgIF91cGRhdGVQcm9wZXJ0aWVzKHByb3BlcnRpZXMsIHByb3BlcnR5UGF0
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCA5
Y2UyNTFkLi43Yzc4YjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJh
clBhbmVsLmpzCkBAIC00MTUsMTAgKzQxNSwxMCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRh
aWxzU2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAog
ICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX2ltYWdl
U2l6ZVNlY3Rpb24uZWxlbWVudCwgdGhpcy5fbG9jYXRpb25TZWN0aW9uLmVsZW1lbnQpOwogCiAg
ICAgICAgIC8vIEdldCB0aGUgbWV0cmljcyBmb3IgdGhpcyByZXNvdXJjZSBhbmQgZmlsbCBpbiB0
aGUgbWV0cmljcyByb3dzIHdpdGggdGhhdCBpbmZvcm1hdGlvbi4KLSAgICAgICAgcmVzb3VyY2Uu
Z2V0SW1hZ2VTaXplKGZ1bmN0aW9uKHNpemUpIHsKKyAgICAgICAgcmVzb3VyY2UuZ2V0SW1hZ2VT
aXplKChzaXplKSA9PiB7CiAgICAgICAgICAgICB0aGlzLl9pbWFnZVdpZHRoUm93LnZhbHVlID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZHB4IikuZm9ybWF0KHNpemUud2lkdGgpOwogICAgICAg
ICAgICAgdGhpcy5faW1hZ2VIZWlnaHRSb3cudmFsdWUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVkcHgiKS5mb3JtYXQoc2l6ZS5oZWlnaHQpOwotICAgICAgICB9LmJpbmQodGhpcykpOworICAg
ICAgICB9KTsKICAgICB9CiAKICAgICBfZ29Ub1JlcXVlc3REYXRhQ2xpY2tlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWlu
RGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Njb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDZlMmEzZDAu
LjNiMDZmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1Njb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBh
bmVsLmpzCkBAIC00MTYsNyArNDE2LDcgQEAgV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5EZXRhaWxz
U2lkZWJhclBhbmVsID0gY2xhc3MgU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwKICAgICAg
ICAgdGhpcy5fcG9wb3ZlckNvbW1pdHRlZCA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMuX2NvZGVN
aXJyb3IuYWRkS2V5TWFwKHsKLSAgICAgICAgICAgICJFbnRlciI6IGZ1bmN0aW9uKCkgeyB0aGlz
Ll9wb3BvdmVyQ29tbWl0dGVkID0gdHJ1ZTsgcG9wb3Zlci5kaXNtaXNzKCk7IH0uYmluZCh0aGlz
KSwKKyAgICAgICAgICAgICJFbnRlciI6ICgpID0+IHsgdGhpcy5fcG9wb3ZlckNvbW1pdHRlZCA9
IHRydWU7IHBvcG92ZXIuZGlzbWlzcygpOyB9LAogICAgICAgICB9KTsKIAogICAgICAgICBsZXQg
Y29tcGxldGlvbkNvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JDb21wbGV0
aW9uQ29udHJvbGxlcih0aGlzLl9jb2RlTWlycm9yKTsKQEAgLTQ0MCwxMSArNDQwLDExIEBAIFdl
Ykluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIFNjb3BlQ2hh
aW5EZXRhaWxzU2lkZWJhclBhbmVsCiAgICAgICAgIHByZXNlbnRQb3BvdmVyT3ZlclRhcmdldEVs
ZW1lbnQoKTsKIAogICAgICAgICAvLyBDb2RlTWlycm9yIG5lZWRzIGEgcmVmcmVzaCBhZnRlciB0
aGUgcG9wb3ZlciBkaXNwbGF5cywgdG8gbGF5b3V0LCBvdGhlcndpc2UgaXQgZG9lc24ndCBhcHBl
YXIuCi0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHNldFRpbWVvdXQo
KCkgPT4gewogICAgICAgICAgICAgdGhpcy5fY29kZU1pcnJvci5yZWZyZXNoKCk7CiAgICAgICAg
ICAgICB0aGlzLl9jb2RlTWlycm9yLmZvY3VzKCk7CiAgICAgICAgICAgICBwb3BvdmVyLnVwZGF0
ZSgpOwotICAgICAgICB9LmJpbmQodGhpcyksIDApOworICAgICAgICB9LCAwKTsKICAgICB9CiAK
ICAgICB3aWxsRGlzbWlzc1BvcG92ZXIocG9wb3ZlcikKQEAgLTQ5MiwxMCArNDkyLDEwIEBAIFdl
Ykluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIFNjb3BlQ2hh
aW5EZXRhaWxzU2lkZWJhclBhbmVsCiAgICAgICAgIGlmIChvYmplY3RUcmVlRWxlbWVudC5wYXJl
bnQgIT09IG9iamVjdFRyZWVFbGVtZW50LnRyZWVPdXRsaW5lKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJSZW1vdmUgV2F0Y2ggRXhwcmVzc2lvbiIpLCBmdW5jdGlvbigpIHsKKyAgICAgICAgY29udGV4
dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlbW92ZSBXYXRjaCBFeHBy
ZXNzaW9uIiksICgpID0+IHsKICAgICAgICAgICAgIGxldCBleHByZXNzaW9uID0gb2JqZWN0VHJl
ZUVsZW1lbnQucHJvcGVydHkubmFtZTsKICAgICAgICAgICAgIHRoaXMuX3JlbW92ZVdhdGNoRXhw
cmVzc2lvbihleHByZXNzaW9uKTsKLSAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICAgICAgfSk7
CiAgICAgfQogCiAgICAgX3Byb3BlcnR5UGF0aElkZW50aWZpZXJGb3JUcmVlRWxlbWVudChpZGVu
dGlmaWVyLCBvYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQmFyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQmFyLmpzCmluZGV4IDVkYjJlODUuLjI5
MzljNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RhYkJhci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UYWJCYXIuanMKQEAgLTk2LDkgKzk2LDkgQEAgV2ViSW5zcGVjdG9yLlRhYkJhciA9IGNs
YXNzIFRhYkJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICAgICAgaWYgKHRoaXMu
X3RhYkFuaW1hdGVkQ2xvc2VkU2luY2VNb3VzZUVudGVyKSB7CiAgICAgICAgICAgICAvLyBEZWxh
eSBhZGRpbmcgdGhlIG5ldyB0YWIgdW50aWwgd2UgY2FuIGV4cGFuZCB0aGUgdGFicyBhZnRlciBh
IGNsb3NlZCB0YWIuCi0gICAgICAgICAgICB0aGlzLl9maW5pc2hFeHBhbmRpbmdUYWJzQWZ0ZXJD
bG9zZSgpLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0aGlzLl9maW5pc2hFeHBhbmRp
bmdUYWJzQWZ0ZXJDbG9zZSgpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIHRoaXMuaW5z
ZXJ0VGFiQmFySXRlbSh0YWJCYXJJdGVtLCBpbmRleCwgZG9Ob3RBbmltYXRlKTsKLSAgICAgICAg
ICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5qcwpp
bmRleCA5ZjIyMzRkLi4yYzYzOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlUHJvcGVy
dHlFZGl0b3IuanMKQEAgLTUzOCwxMCArNTM4LDkgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxl
UHJvcGVydHlFZGl0b3IgPSBjbGFzcyBWaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yIGV4dGVuZHMK
IAogICAgICAgICBsZXQgdGl0bGUgPSAiIjsKIAotICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzE1MjQ5Nz4gQXJyb3cgZnVuY3Rpb25zOiAidGhpcyIgaXNuJ3QgbGV4aWNh
bGx5IGJvdW5kCi0gICAgICAgIGxldCBkZXBlbmRlbmNpZXMgPSB0aGlzLl9zdHlsZS5ub2RlU3R5
bGVzLmNvbXB1dGVkU3R5bGUucHJvcGVydGllcy5maWx0ZXIoZnVuY3Rpb24ocHJvcGVydHkpIHsK
KyAgICAgICAgbGV0IGRlcGVuZGVuY2llcyA9IHRoaXMuX3N0eWxlLm5vZGVTdHlsZXMuY29tcHV0
ZWRTdHlsZS5wcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHkpID0+IHsKICAgICAgICAgICAgIHJl
dHVybiB0aGlzLl9kZXBlbmRlbmNpZXMuaGFzKHByb3BlcnR5Lm5hbWUpIHx8IHRoaXMuX2RlcGVu
ZGVuY2llcy5oYXMocHJvcGVydHkuY2Fub25pY2FsTmFtZSk7Ci0gICAgICAgIH0uYmluZCh0aGlz
KSk7CisgICAgICAgIH0pOwogCiAgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIGRlcGVuZGVu
Y2llcykgewogICAgICAgICAgICAgbGV0IGRlcGVuZGVuY3lWYWx1ZXMgPSB0aGlzLl9kZXBlbmRl
bmNpZXMuZ2V0KHByb3BlcnR5Lm5hbWUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>