<?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>109256</bug_id>
          
          <creation_ts>2013-02-07 21:38:45 -0800</creation_ts>
          <short_desc>Web Inspector: Replace workspace with project in UISourceCode constructor.</short_desc>
          <delta_ts>2013-02-08 04:44:11 -0800</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 (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>828179</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-07 21:38:45 -0800</bug_when>
    <thetext>Every UISourceCode operation is delegated to project anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828185</commentid>
    <comment_count>1</comment_count>
      <attachid>187236</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-07 21:44:17 -0800</bug_when>
    <thetext>Created attachment 187236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828433</commentid>
    <comment_count>2</comment_count>
      <attachid>187236</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-08 04:44:08 -0800</bug_when>
    <thetext>Comment on attachment 187236
Patch

Clearing flags on attachment: 187236

Committed r142259: &lt;http://trac.webkit.org/changeset/142259&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828434</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-08 04:44:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187236</attachid>
            <date>2013-02-07 21:44:17 -0800</date>
            <delta_ts>2013-02-08 04:44:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109256-20130208094051.patch</filename>
            <type>text/plain</type>
            <size>35146</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFjNTcwNGVkNWU2Yjk3
NGJkZWEzMzRhMzZmODExZGQzZTdmNGNjOC4uMDUyMDVkYWM0NzE2N2UzMjYzY2Y2ZmMwOTZiZjI0
YWVlNmNkMjVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTA3ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlcGxhY2Ugd29ya3NwYWNlIHdpdGggcHJvamVjdCBpbiBVSVNvdXJjZUNvZGUgY29uc3Ry
dWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDkyNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXBsYWNlZCB3b3Jrc3BhY2Ugd2l0aCBwcm9qZWN0IGluIFVJU291cmNlQ29kZSBjb25zdHJ1Y3Rv
ciBzaW5jZSBldmVyeSBVSVNvdXJjZUNvZGUKKyAgICAgICAgb3BlcmF0aW9uIGlzIGRlbGVnYXRl
ZCB0byBwcm9qZWN0IGFueXdheS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVUlT
b3VyY2VDb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZS5wcm9qZWN0KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLnJlcXVlc3RPcmln
aW5hbENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5
cGUuX2NvbW1pdENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5w
cm90b3R5cGUuc2VhcmNoSW5Db250ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1dvcmtzcGFjZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlwZS5f
ZmlsZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlwZS5yZXF1
ZXN0RmlsZUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90eXBl
LnNldEZpbGVDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlw
ZS5zZWFyY2hJbkZpbGVDb250ZW50KToKKwogMjAxMy0wMi0wNyAgSGFueWVlIEtpbSAgPGNob2Nv
QGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIE5hbWVkRmxvd0NvbGxlY3Rpb24gc2hvdWxkIGJl
IGEgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKaW5kZXggNGViZDViNzZmMmUzZDg1Yjc2
ZGJmZGNjN2YxOWFkMGE2ZDhjNzEyZS4uNGFiOTk3NTZjYTQ0YzVkZTFmMmMxNWY0YzBkODYzNjJh
OTY4ZjdkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVNvdXJjZUNvZGUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVNvdXJjZUNvZGUuanMKQEAgLTMzLDE1ICszMywxNSBAQAogICogQGNvbnN0cnVjdG9yCiAgKiBA
ZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0KICAqIEBpbXBsZW1lbnRzIHtXZWJJbnNwZWN0
b3IuQ29udGVudFByb3ZpZGVyfQotICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuV29ya3NwYWNlfSB3
b3Jrc3BhY2UKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlByb2plY3R9IHByb2plY3QKICAqIEBw
YXJhbSB7c3RyaW5nfSB1cmkKICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlJlc291cmNlVHlwZX0gY29udGVudFR5cGUKICAqIEBwYXJhbSB7Ym9vbGVhbn0g
aXNFZGl0YWJsZQogICovCi1XZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24od29y
a3NwYWNlLCB1cmksIG9yaWdpblVSTCwgdXJsLCBjb250ZW50VHlwZSwgaXNFZGl0YWJsZSkKK1dl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUgPSBmdW5jdGlvbihwcm9qZWN0LCB1cmksIG9yaWdpblVS
TCwgdXJsLCBjb250ZW50VHlwZSwgaXNFZGl0YWJsZSkKIHsKLSAgICB0aGlzLl93b3Jrc3BhY2Ug
PSB3b3Jrc3BhY2U7CisgICAgdGhpcy5fcHJvamVjdCA9IHByb2plY3Q7CiAgICAgdGhpcy5fdXJp
ID0gdXJpOwogICAgIHRoaXMuX29yaWdpblVSTCA9IG9yaWdpblVSTDsKICAgICB0aGlzLl91cmwg
PSB1cmw7CkBAIC0xNzgsNyArMTc4LDcgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90
b3R5cGUgPSB7CiAgICAgICovCiAgICAgcHJvamVjdDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0Rm9yVUlTb3VyY2VDb2RlKHRoaXMpOwor
ICAgICAgICByZXR1cm4gdGhpcy5fcHJvamVjdDsKICAgICB9LAogCiAgICAgLyoqCkBAIC0xOTIs
NyArMTkyLDcgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIH0KICAgICAgICAgdGhpcy5fcmVxdWVzdENvbnRlbnRDYWxsYmFja3MucHVzaChjYWxsYmFj
ayk7CiAgICAgICAgIGlmICh0aGlzLl9yZXF1ZXN0Q29udGVudENhbGxiYWNrcy5sZW5ndGggPT09
IDEpCi0gICAgICAgICAgICB0aGlzLl93b3Jrc3BhY2UucmVxdWVzdEZpbGVDb250ZW50KHRoaXMs
IHRoaXMuX2ZpcmVDb250ZW50QXZhaWxhYmxlLmJpbmQodGhpcykpOworICAgICAgICAgICAgdGhp
cy5fcHJvamVjdC5yZXF1ZXN0RmlsZUNvbnRlbnQodGhpcywgdGhpcy5fZmlyZUNvbnRlbnRBdmFp
bGFibGUuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMjAwLDcgKzIwMCw3IEBA
IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlID0gewogICAgICAqLwogICAgIHJl
cXVlc3RPcmlnaW5hbENvbnRlbnQ6IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAg
dGhpcy5fd29ya3NwYWNlLnJlcXVlc3RGaWxlQ29udGVudCh0aGlzLCBjYWxsYmFjayk7CisgICAg
ICAgIHRoaXMuX3Byb2plY3QucmVxdWVzdEZpbGVDb250ZW50KHRoaXMsIGNhbGxiYWNrKTsKICAg
ICB9LAogCiAgICAgLyoqCkBAIC0yMjEsMTIgKzIyMSwxMSBAQCBXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIG9sZFdvcmtpbmdDb3B5ID0gdGhpcy5f
d29ya2luZ0NvcHk7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl93b3JraW5nQ29weTsKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5F
dmVudHMuV29ya2luZ0NvcHlDb21taXR0ZWQsIHtvbGRXb3JraW5nQ29weTogb2xkV29ya2luZ0Nv
cHksIHdvcmtpbmdDb3B5OiB0aGlzLndvcmtpbmdDb3B5KCl9KTsKLSAgICAgICAgdGhpcy5fd29y
a3NwYWNlLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuV29ya3NwYWNlLkV2
ZW50cy5VSVNvdXJjZUNvZGVDb250ZW50Q29tbWl0dGVkLCB7IHVpU291cmNlQ29kZTogdGhpcywg
Y29udGVudDogdGhpcy5fY29udGVudCB9KTsKICAgICAgICAgaWYgKHRoaXMuX3VybCAmJiBXZWJJ
bnNwZWN0b3IuZmlsZU1hbmFnZXIuaXNVUkxTYXZlZCh0aGlzLl91cmwpKSB7CiAgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZSh0aGlzLl91cmwsIHRoaXMuX2NvbnRlbnQs
IGZhbHNlKTsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5jbG9zZSh0aGlz
Ll91cmwpOwogICAgICAgICB9Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZS5zZXRGaWxlQ29udGVu
dCh0aGlzLCB0aGlzLl9jb250ZW50LCBmdW5jdGlvbigpIHsgfSk7CisgICAgICAgIHRoaXMuX3By
b2plY3Quc2V0RmlsZUNvbnRlbnQodGhpcywgdGhpcy5fY29udGVudCwgZnVuY3Rpb24oKSB7IH0p
OwogICAgIH0sCiAKICAgICAvKioKQEAgLTQyMyw3ICs0MjIsNyBAQCBXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZS5zZWFyY2hJbkZpbGVDb250ZW50KHRoaXMsIHF1ZXJ5
LCBjYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBjYWxsYmFjayk7CisgICAgICAgIHRoaXMuX3Byb2pl
Y3Quc2VhcmNoSW5GaWxlQ29udGVudCh0aGlzLCBxdWVyeSwgY2FzZVNlbnNpdGl2ZSwgaXNSZWdl
eCwgY2FsbGJhY2spOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3BhY2UuanMKaW5kZXggOGRlNDAwMTI3MTc5NDg1ZmYzYjg4
MjA3YmY1ZTQ1YjJhNTYwMGM3NC4uZjE1NTIyYjNmMDU2MGYyYzgxMDcwNTZhOTQwNTYxNjZkZmJm
N2Q4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jr
c3BhY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3Bh
Y2UuanMKQEAgLTE2Myw3ICsxNjMsNyBAQCBXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KLSAgICAgICAgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUodGhpcy5fd29ya3NwYWNlLCBmaWxlRGVzY3JpcHRvci51cmksIGZpbGVEZXNjcmlw
dG9yLm9yaWdpblVSTCwgZmlsZURlc2NyaXB0b3IudXJsLCBmaWxlRGVzY3JpcHRvci5jb250ZW50
VHlwZSwgZmlsZURlc2NyaXB0b3IuaXNFZGl0YWJsZSk7CisgICAgICAgIHVpU291cmNlQ29kZSA9
IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHRoaXMsIGZpbGVEZXNjcmlwdG9yLnVyaSwg
ZmlsZURlc2NyaXB0b3Iub3JpZ2luVVJMLCBmaWxlRGVzY3JpcHRvci51cmwsIGZpbGVEZXNjcmlw
dG9yLmNvbnRlbnRUeXBlLCBmaWxlRGVzY3JpcHRvci5pc0VkaXRhYmxlKTsKICAgICAgICAgdWlT
b3VyY2VDb2RlLmlzQ29udGVudFNjcmlwdCA9IGZpbGVEZXNjcmlwdG9yLmlzQ29udGVudFNjcmlw
dDsKICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2Rlc0ZvclVSSVt1aVNvdXJjZUNvZGUudXJpKCld
ID0gdWlTb3VyY2VDb2RlOwogICAgICAgICB0aGlzLl93b3Jrc3BhY2UuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3Vy
Y2VDb2RlQWRkZWQsIHVpU291cmNlQ29kZSk7CkBAIC0yMTcsMzQgKzIxNywzNSBAQCBXZWJJbnNw
ZWN0b3IuUHJvamVjdC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBw
YXJhbSB7c3RyaW5nfSB1cmkKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNv
ZGV9IHVpU291cmNlQ29kZQogICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZyxib29sZWFu
LHN0cmluZyl9IGNhbGxiYWNrCiAgICAgICovCi0gICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5j
dGlvbih1cmksIGNhbGxiYWNrKQorICAgIHJlcXVlc3RGaWxlQ29udGVudDogZnVuY3Rpb24odWlT
b3VyY2VDb2RlLCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZVByb3Zp
ZGVyLnJlcXVlc3RGaWxlQ29udGVudCh1cmksIGNhbGxiYWNrKTsKKyAgICAgICAgdGhpcy5fd29y
a3NwYWNlUHJvdmlkZXIucmVxdWVzdEZpbGVDb250ZW50KHVpU291cmNlQ29kZS51cmkoKSwgY2Fs
bGJhY2spOwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJpCisg
ICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKICAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3Q29udGVudAogICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24o
P3N0cmluZyl9IGNhbGxiYWNrCiAgICAgICovCi0gICAgc2V0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9u
KHVyaSwgbmV3Q29udGVudCwgY2FsbGJhY2spCisgICAgc2V0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9u
KHVpU291cmNlQ29kZSwgbmV3Q29udGVudCwgY2FsbGJhY2spCiAgICAgewotICAgICAgICB0aGlz
Ll93b3Jrc3BhY2VQcm92aWRlci5zZXRGaWxlQ29udGVudCh1cmksIG5ld0NvbnRlbnQsIGNhbGxi
YWNrKTsKKyAgICAgICAgdGhpcy5fd29ya3NwYWNlUHJvdmlkZXIuc2V0RmlsZUNvbnRlbnQodWlT
b3VyY2VDb2RlLnVyaSgpLCBuZXdDb250ZW50LCBjYWxsYmFjayk7CisgICAgICAgIHRoaXMuX3dv
cmtzcGFjZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFjZS5F
dmVudHMuVUlTb3VyY2VDb2RlQ29udGVudENvbW1pdHRlZCwgeyB1aVNvdXJjZUNvZGU6IHVpU291
cmNlQ29kZSwgY29udGVudDogbmV3Q29udGVudCB9KTsKICAgICB9LAogCiAgICAgLyoqCi0gICAg
ICogQHBhcmFtIHtzdHJpbmd9IHVyaQorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZX0gdWlTb3VyY2VDb2RlCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CiAgICAg
ICogQHBhcmFtIHtib29sZWFufSBjYXNlU2Vuc2l0aXZlCiAgICAgICogQHBhcmFtIHtib29sZWFu
fSBpc1JlZ2V4CiAgICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJheS48V2ViSW5zcGVjdG9yLkNv
bnRlbnRQcm92aWRlci5TZWFyY2hNYXRjaD4pfSBjYWxsYmFjawogICAgICAqLwotICAgIHNlYXJj
aEluRmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVyaSwgcXVlcnksIGNhc2VTZW5zaXRpdmUsIGlzUmVn
ZXgsIGNhbGxiYWNrKQorICAgIHNlYXJjaEluRmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVpU291cmNl
Q29kZSwgcXVlcnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQogICAgIHsKLSAg
ICAgICAgdGhpcy5fd29ya3NwYWNlUHJvdmlkZXIuc2VhcmNoSW5GaWxlQ29udGVudCh1cmksIHF1
ZXJ5LCBjYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBjYWxsYmFjayk7CisgICAgICAgIHRoaXMuX3dv
cmtzcGFjZVByb3ZpZGVyLnNlYXJjaEluRmlsZUNvbnRlbnQodWlTb3VyY2VDb2RlLnVyaSgpLCBx
dWVyeSwgY2FzZVNlbnNpdGl2ZSwgaXNSZWdleCwgY2FsbGJhY2spOwogICAgIH0sCiAKICAgICBk
aXNwb3NlOiBmdW5jdGlvbigpCkBAIC0zNjgsNDAgKzM2OSw2IEBAIFdlYkluc3BlY3Rvci5Xb3Jr
c3BhY2UucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gbnVsbDsKICAgICB9LAogCi0gICAg
LyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNv
ZGUKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcsYm9vbGVhbixzdHJpbmcpfSBjYWxs
YmFjawotICAgICAqLwotICAgIHJlcXVlc3RGaWxlQ29udGVudDogZnVuY3Rpb24odWlTb3VyY2VD
b2RlLCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHZhciBwcm9qZWN0ID0gdGhpcy5wcm9qZWN0
Rm9yVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7Ci0gICAgICAgIHByb2plY3QucmVxdWVzdEZp
bGVDb250ZW50KHVpU291cmNlQ29kZS51cmkoKSwgY2FsbGJhY2spOwotICAgIH0sCi0KLSAgICAv
KioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29k
ZQotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdDb250ZW50Ci0gICAgICogQHBhcmFtIHtmdW5j
dGlvbig/c3RyaW5nKX0gY2FsbGJhY2sKLSAgICAgKi8KLSAgICBzZXRGaWxlQ29udGVudDogZnVu
Y3Rpb24odWlTb3VyY2VDb2RlLCBuZXdDb250ZW50LCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAg
IHZhciBwcm9qZWN0ID0gdGhpcy5wcm9qZWN0Rm9yVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7
Ci0gICAgICAgIHByb2plY3Quc2V0RmlsZUNvbnRlbnQodWlTb3VyY2VDb2RlLnVyaSgpLCBuZXdD
b250ZW50LCBjYWxsYmFjayk7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCi0gICAgICogQHBhcmFtIHtzdHJp
bmd9IHF1ZXJ5Ci0gICAgICogQHBhcmFtIHtib29sZWFufSBjYXNlU2Vuc2l0aXZlCi0gICAgICog
QHBhcmFtIHtib29sZWFufSBpc1JlZ2V4Ci0gICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJheS48
V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5TZWFyY2hNYXRjaD4pfSBjYWxsYmFjawotICAg
ICAqLwotICAgIHNlYXJjaEluRmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgcXVl
cnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgdmFy
IHByb2plY3QgPSB0aGlzLnByb2plY3RGb3JVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKLSAg
ICAgICAgcHJvamVjdC5zZWFyY2hJbkZpbGVDb250ZW50KHVpU291cmNlQ29kZS51cmkoKSwgcXVl
cnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKTsKLSAgICB9LAotCiAgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQogfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTdhNzY1
OTg1MDJlMGEyY2JkMDE5MGQzYjM3OTA1YzdlMzVhMWNjYy4uNTUxNDgxMGYyZDhmZjhkYTQ5Y2M3
ZDUzN2VjNzliMzYwMjBhMzdiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTA3ICBW
c2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJlcGxhY2Ugd29ya3NwYWNlIHdpdGggcHJvamVjdCBpbiBVSVNvdXJjZUNvZGUgY29u
c3RydWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDkyNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRtbDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFyY2guaHRtbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1maWxlLXNlbGVjdG9yLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1zb3J0aW5nLmh0bWw6CisgICAgICAgICog
aW5zcGVjdG9yL2RlYnVnZ2VyL3VpLXNvdXJjZS1jb2RlLWRpc3BsYXktbmFtZS5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci91aS1zb3VyY2UtY29kZS5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci91aXNvdXJjZWNvZGUtcmV2aXNpb25zLmh0bWw6CisKIDIwMTMtMDItMDcgIE1h
dHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nLiBSZWJhc2VsaW5lIGJpZGktaWdub3JlZC1mb3ItZmlyc3QtY2hpbGQtaW5s
aW5lLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9icmVh
a3BvaW50LW1hbmFnZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2JyZWFrcG9pbnQtbWFuYWdlci1leHBlY3RlZC50eHQKaW5kZXggNGRiNTE1MTRhY2ZkMmU5
ZTUzYTFiNGM1NTk2ZDlmM2UwMGM0NmMwMy4uMzkyOTJiNzAyODA0MWZiNTlhNWRiN2ZlYjU4NWIw
OGJiYTRjZjRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2Jy
ZWFrcG9pbnQtbWFuYWdlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBA
IFRlc3RzIEJyZWFrcG9pbnRNYW5hZ2VyIGNsYXNzLgogUnVubmluZzogdGVzdFNldEJyZWFrcG9p
bnQKICAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCiAgIER1bXBpbmcgU3RvcmFnZQotICBB
ZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzKQorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCiAg
IFNldHRpbmcgYnJlYWtwb2ludCBhdCBhLmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CiAg
ICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MzA6KQogICAgIGJyZWFrcG9pbnRB
ZGRlZChhLmpzLCAzMCwgLCB0cnVlKQpAQCAtMTksNyArMTksNyBAQCBSdW5uaW5nOiB0ZXN0U2V0
QnJlYWtwb2ludAogUnVubmluZzogdGVzdFNldERpc2FibGVkQnJlYWtwb2ludAogICBDcmVhdGVk
IGJyZWFrcG9pbnRzIG1hbmFnZXIKICAgRHVtcGluZyBTdG9yYWdlCi0gIEFkZGluZyBVSVNvdXJj
ZUNvZGU6IGEuanMpCisgIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKICAgU2V0dGluZyBicmVh
a3BvaW50IGF0IGEuanM6MzAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246CiAgICAgYnJlYWtwb2lu
dEFkZGVkKGEuanMsIDMwLCAsIGZhbHNlKQogICBEdW1waW5nIFN0b3JhZ2UKQEAgLTM5LDcgKzM5
LDcgQEAgUnVubmluZzogdGVzdFNldERpc2FibGVkQnJlYWtwb2ludAogUnVubmluZzogdGVzdFNl
dENvbmRpdGlvbmFsQnJlYWtwb2ludAogICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKICAg
RHVtcGluZyBTdG9yYWdlCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMpCisgIEFkZGluZyBV
SVNvdXJjZUNvZGU6IGEuanMKICAgU2V0dGluZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxl
ZDp0cnVlIGNvbmRpdGlvbjpjb25kaXRpb24KICAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9p
bnQoYS5qczozMDpjb25kaXRpb24pCiAgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDMwLCBjb25k
aXRpb24sIHRydWUpCkBAIC02Niw3ICs2Niw3IEBAIFJ1bm5pbmc6IHRlc3RSZXN0b3JlQnJlYWtw
b2ludHMKICAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgogICAg
IGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246CiAgICAgYi5qczozIGVuYWJsZWQ6dHJ1
ZSBjb25kaXRpb246Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMpCisgIEFkZGluZyBVSVNv
dXJjZUNvZGU6IGEuanMKICAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpm
b28gPT0gYmFyKQogICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1
ZSkKICAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEwCkBAIC04NywxMiArODcsMTIgQEAgUnVu
bmluZzogdGVzdFJlc3RvcmVCcmVha3BvaW50c1R3aWNlCiAgICAgYS5qczoxMCBlbmFibGVkOnRy
dWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKICAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0
aW9uOgogICAgIGIuanM6MyBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBBZGRpbmcgVUlTb3Vy
Y2VDb2RlOiBhLmpzKQorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCiAgICAgZGVidWdnZXJN
b2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKICAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCiAgICAgTG9jYXRpb24gY3JlYXRlZDogYS5q
czoxMAogICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCBmYWxzZSkKLSAgQWRkaW5nIFVJ
U291cmNlQ29kZTogYS5qcykKKyAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwogICBEdW1waW5n
IFN0b3JhZ2UKICAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgog
ICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246CkBAIC0xMTAsMTIgKzExMCwxMSBA
QCBSdW5uaW5nOiB0ZXN0UmVzdG9yZUJyZWFrcG9pbnRzQWZ0ZXJUZW1wb3JhcnlVSVNvdXJjZUNv
ZGVSZW1vdmVkCiAgICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRpdGlvbjoKICAgICBiLmpz
OjMgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKICAgQWRkaW5nIHRlbXBvcmFyeSBVSVNvdXJjZUNv
ZGU6IGEuanMpCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMpCisgIEFkZGluZyBVSVNvdXJj
ZUNvZGU6IGEuanMKICAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28g
PT0gYmFyKQogICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkK
ICAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEwCiAgICAgYnJlYWtwb2ludEFkZGVkKGEuanMs
IDIwLCAsIGZhbHNlKQotICBSZW1vdmluZyB0ZW1wb3JhcnkgVUlTb3VyY2VDb2RlOiBhLmpzKQog
ICBEdW1waW5nIFN0b3JhZ2UKICAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9v
ID09IGJhcgogICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246CkBAIC0xMzIsNyAr
MTMxLDcgQEAgUnVubmluZzogdGVzdFJlbW92ZUJyZWFrcG9pbnRzCiAgICAgYS5qczoxMCBlbmFi
bGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKICAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2Ug
Y29uZGl0aW9uOgogICAgIGIuanM6MyBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBBZGRpbmcg
VUlTb3VyY2VDb2RlOiBhLmpzKQorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCiAgICAgZGVi
dWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKICAgICBicmVha3Bv
aW50QWRkZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCiAgICAgTG9jYXRpb24gY3JlYXRl
ZDogYS5qczoxMApAQCAtMTU4LDcgKzE1Nyw3IEBAIFJ1bm5pbmc6IHRlc3RSZW1vdmVCcmVha3Bv
aW50cwogUnVubmluZzogdGVzdFNldEJyZWFrcG9pbnRUaGF0U2hpZnRzCiAgIENyZWF0ZWQgYnJl
YWtwb2ludHMgbWFuYWdlcgogICBEdW1waW5nIFN0b3JhZ2UKLSAgQWRkaW5nIFVJU291cmNlQ29k
ZTogYS5qcykKKyAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwogICBTZXR0aW5nIGJyZWFrcG9p
bnQgYXQgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CiAgICAgZGVidWdnZXJNb2Rl
bC5zZXRCcmVha3BvaW50KGEuanM6MTAxNTopCiAgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEw
MjUsICwgdHJ1ZSkKQEAgLTE3Myw3ICsxNzIsNyBAQCBSdW5uaW5nOiB0ZXN0U2V0QnJlYWtwb2lu
dFRoYXRTaGlmdHMKIFJ1bm5pbmc6IHRlc3RTZXRCcmVha3BvaW50VGhhdFNoaWZ0c1R3aWNlCiAg
IENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgogICBEdW1waW5nIFN0b3JhZ2UKLSAgQWRkaW5n
IFVJU291cmNlQ29kZTogYS5qcykKKyAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwogICBTZXR0
aW5nIGJyZWFrcG9pbnQgYXQgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246CiAgICAg
ZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTAxNTopCiAgICAgYnJlYWtwb2ludEFk
ZGVkKGEuanMsIDEwMjUsICwgdHJ1ZSkKQEAgLTE4OSw3ICsxODgsNyBAQCBSdW5uaW5nOiB0ZXN0
U2V0QnJlYWtwb2ludFRoYXRTaGlmdHNUd2ljZQogUnVubmluZzogdGVzdFNldEJyZWFrcG9pbnRP
dXRzaWRlU2NyaXB0CiAgIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgogICBEdW1waW5nIFN0
b3JhZ2UKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcykKKyAgQWRkaW5nIFVJU291cmNlQ29k
ZTogYS5qcwogICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjI1MDA6KQogICAg
IGJyZWFrcG9pbnRBZGRlZChhLmpzLCAyNTAwLCAsIHRydWUpCiAgIER1bXBpbmcgU3RvcmFnZQpA
QCAtMjA0LDcgKzIwMyw3IEBAIFJ1bm5pbmc6IHRlc3ROYXZpZ2F0aW9uCiAgICAgYS5qczoxMCBl
bmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKICAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFs
c2UgY29uZGl0aW9uOgogICAgIGIuanM6MyBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBBZGRp
bmcgVUlTb3VyY2VDb2RlOiBhLmpzKQorICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCiAgICAg
ZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9vID09IGJhcikKICAgICBicmVh
a3BvaW50QWRkZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCiAgICAgTG9jYXRpb24gY3Jl
YXRlZDogYS5qczoxMApAQCAtMjE2LDcgKzIxNSw3IEBAIFJ1bm5pbmc6IHRlc3ROYXZpZ2F0aW9u
CiAgICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTApCiAgICAgTG9jYXRpb24gZGlzcG9zZWQ6
IGEuanM6MTAKICAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAyMCkKLSAgQWRkaW5nIFVJU291
cmNlQ29kZTogYi5qcykKKyAgQWRkaW5nIFVJU291cmNlQ29kZTogYi5qcwogICAgIGRlYnVnZ2Vy
TW9kZWwuc2V0QnJlYWtwb2ludChiLmpzOjM6KQogICAgIGJyZWFrcG9pbnRBZGRlZChiLmpzLCAz
LCAsIHRydWUpCiAgICAgTG9jYXRpb24gY3JlYXRlZDogYi5qczozCkBAIC0yMjcsNyArMjI2LDcg
QEAgUnVubmluZzogdGVzdE5hdmlnYXRpb24KICAgICBicmVha3BvaW50UmVtb3ZlZChiLmpzLCAz
KQogICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBiLmpzOjMKICAgUmVzb2x2aW5nIHByb3Zpc2lvbmFs
IGJyZWFrcG9pbnQuCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMpCisgIEFkZGluZyBVSVNv
dXJjZUNvZGU6IGEuanMKICAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczox
MCkKICAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQog
ICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKQEAgLTI0OSw3
ICsyNDgsNyBAQCBSdW5uaW5nOiB0ZXN0U291cmNlTWFwcGluZwogICBEdW1waW5nIFN0b3JhZ2UK
ICAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Zm9vID09IGJhcgogICAgIGEuanM6
MjAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcykK
KyAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwogICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtw
b2ludChhLmpzOjEwOmZvbyA9PSBiYXIpCiAgICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBm
b28gPT0gYmFyLCB0cnVlKQogICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKQEAgLTI4Myw3
ICsyODIsNyBAQCBSdW5uaW5nOiB0ZXN0UHJvdmlzaW9uYWxCcmVha3BvaW50c1Jlc29sdmUKICAg
Q3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCiAgIER1bXBpbmcgU3RvcmFnZQogICAgIGEuanM6
MTAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjpmb28gPT0gYmFyCi0gIEFkZGluZyBVSVNvdXJjZUNv
ZGU6IGEuanMpCisgIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKICAgICBkZWJ1Z2dlck1vZGVs
LnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQogICAgIGJyZWFrcG9pbnRBZGRlZChh
LmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKICAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvYnJlYWtwb2ludC1t
YW5hZ2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvYnJlYWtwb2ludC1t
YW5hZ2VyLmh0bWwKaW5kZXggM2UzMjVhOGRhMDc5MDM2MDk5MmVhZGU5NWJjNzNjNzc1OTRlNGY5
Yi4uYzQzYTVlZmY3MmFlNDQyYTE4OTMwY2YyOWQ1OTE0NmQ3ZWNhZDUxYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRt
bApAQCAtMTYsNiArMTYsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICB1aUxvY2F0aW9u
VG9SYXdMb2NhdGlvbjogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKQogICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoIXVpU291cmNlQ29kZXNbdWlTb3VyY2VDb2RlLnVybF0pCisg
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgICByZXR1cm4gbmV3IFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkxvY2F0aW9uKHVpU291cmNlQ29kZS51cmwsIGxpbmVOdW1i
ZXIsIDApOwogICAgICAgICB9CiAgICAgfTsKQEAgLTExMCw2MiArMTEyLDE4IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgIH0KICAgICBEZWJ1Z2dlck1vZGVsTW9jay5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CiAKLSAgICBmdW5jdGlvbiBXb3Jrc3Bh
Y2VNb2NrKCkKLSAgICB7Ci0gICAgfQotCi0gICAgdmFyIHRlbXBvcmFyeVVJU291cmNlQ29kZXMg
PSB7fTsKLSAgICBXb3Jrc3BhY2VNb2NrLnByb3RvdHlwZSA9IHsKLSAgICAgICAgX2FkZFVJU291
cmNlQ29kZTogZnVuY3Rpb24odXJsKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgdWlTb3Vy
Y2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUodGhpcywgdXJsLCB1cmwsIHVy
bCwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0LCBmYWxzZSk7Ci0gICAgICAgICAg
ICB1aVNvdXJjZUNvZGVzW3VybF0gPSB1aVNvdXJjZUNvZGU7Ci0gICAgICAgICAgICB0aGlzLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIu
RXZlbnRzLlVJU291cmNlQ29kZUFkZGVkLCB1aVNvdXJjZUNvZGUpOwotICAgICAgICAgICAgdWlT
b3VyY2VDb2RlLnNldFNvdXJjZU1hcHBpbmcoZGVmYXVsdE1hcHBpbmcpOwotICAgICAgICAgICAg
cmV0dXJuIHVpU291cmNlQ29kZTsKLSAgICAgICAgfSwKLQotICAgICAgICBfYWRkVGVtcG9yYXJ5
VUlTb3VyY2VDb2RlOiBmdW5jdGlvbih1cmwpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB1
aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSh0aGlzLCAidGVtcG9y
YXJ5OiIgKyB1cmwsIHVybCwgdXJsLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQs
IGZhbHNlKTsKLSAgICAgICAgICAgIHVpU291cmNlQ29kZXNbdXJsXSA9IHVpU291cmNlQ29kZTsK
LSAgICAgICAgICAgIHRlbXBvcmFyeVVJU291cmNlQ29kZXNbdXJsXSA9IHVpU291cmNlQ29kZTsK
LSAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVGVtcG9yYXJ5VUlTb3VyY2VDb2RlQWRkZWQsIHVp
U291cmNlQ29kZSk7Ci0gICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291cmNlTWFwcGluZyhk
ZWZhdWx0TWFwcGluZyk7Ci0gICAgICAgICAgICByZXR1cm4gdWlTb3VyY2VDb2RlOwotICAgICAg
ICB9LAotCi0gICAgICAgIF9yZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVy
bCkKLSAgICAgICAgewotICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5UZW1wb3JhcnlVSVNvdXJj
ZUNvZGVSZW1vdmVkLCB0ZW1wb3JhcnlVSVNvdXJjZUNvZGVzW3VybF0pOwotICAgICAgICAgICAg
ZGVsZXRlIHRlbXBvcmFyeVVJU291cmNlQ29kZXNbdXJsXTsKLSAgICAgICAgICAgIGRlbGV0ZSB1
aVNvdXJjZUNvZGVzW3VybF07Ci0gICAgICAgIH0sCi0KLSAgICAgICAgdWlTb3VyY2VDb2Rlczog
ZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh1
aVNvdXJjZUNvZGVzKTsKLSAgICAgICAgfSwKLQotICAgICAgICByZXNldDogZnVuY3Rpb24oKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBSZXNldHRp
bmcgd29ya3NwYWNlLiIpOwotICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwotICAgICAgICAg
ICAgdmFyIG1vY2tQcm9qZWN0ID0ge307Ci0gICAgICAgICAgICBtb2NrUHJvamVjdC51aVNvdXJj
ZUNvZGVzID0gZnVuY3Rpb24oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVy
biBzZWxmLnVpU291cmNlQ29kZXMoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UuRXZlbnRzLlBy
b2plY3RXaWxsUmVzZXQsIG1vY2tQcm9qZWN0KTsKLSAgICAgICAgfQotICAgIH0KLSAgICBXb3Jr
c3BhY2VNb2NrLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3Rv
dHlwZTsKLQogICAgIHZhciBkdW1teVNldHRpbmcgPSB7CiAgICAgICAgIGdldDogZnVuY3Rpb24o
KSB7IHJldHVybiBbXTsgfSwKICAgICAgICAgc2V0OiBmdW5jdGlvbihicmVha3BvaW50cykgeyB9
CiAgICAgfTsKIAorICAgIGZ1bmN0aW9uIHJlc2V0V29ya3NwYWNlKGJyZWFrcG9pbnRNYW5hZ2Vy
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgUmVzZXR0aW5nIHdv
cmtzcGFjZS4iKTsKKyAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX25ldHdvcmtXb3Jrc3BhY2VQ
cm92aWRlci5yZXNldCgpOworICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJXb3Jr
c3BhY2VQcm92aWRlci5yZXNldCgpOworICAgIH0KKwogICAgIGZ1bmN0aW9uIGJyZWFrcG9pbnRB
ZGRlZChldmVudCkKICAgICB7CiAgICAgICAgIHZhciBicmVha3BvaW50ID0gZXZlbnQuZGF0YS5i
cmVha3BvaW50OwpAQCAtMTkxLDIxICsxNDksMjYgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgZnVu
Y3Rpb24gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCB1cmwpCiAgICAgewogICAg
ICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5fYWRkU2NyaXB0KHVybCwgdXJs
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgQWRkaW5nIFVJU291cmNlQ29k
ZTogIiArIHVybCArICIpIik7Ci0gICAgICAgIHJldHVybiBicmVha3BvaW50TWFuYWdlci5fd29y
a3NwYWNlLl9hZGRVSVNvdXJjZUNvZGUodXJsKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAgQWRkaW5nIFVJU291cmNlQ29kZTogIiArIHVybCk7CisgICAgICAgIHZhciBjb250
ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsICIiLCAidGV4dC9qYXZhc2NyaXB0Iik7Cisg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBicmVha3BvaW50TWFuYWdlci5fbmV0d29ya1dvcmtz
cGFjZVByb3ZpZGVyLmFkZEZpbGVGb3JVUkwodXJsLCBjb250ZW50UHJvdmlkZXIsIHRydWUpOwor
ICAgICAgICB1aVNvdXJjZUNvZGVzW3VybF0gPSB1aVNvdXJjZUNvZGU7CisgICAgICAgIHVpU291
cmNlQ29kZS5zZXRTb3VyY2VNYXBwaW5nKGRlZmF1bHRNYXBwaW5nKTsKKyAgICAgICAgcmV0dXJu
IHVpU291cmNlQ29kZTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBhZGRUZW1wb3JhcnlVSVNvdXJj
ZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsIHVybCkKICAgICB7CisKICAgICAgICAgYnJlYWtwb2lu
dE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwuX2FkZFNjcmlwdCh1cmwsIHVybCk7CiAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIEFkZGluZyB0ZW1wb3JhcnkgVUlTb3VyY2VDb2RlOiAi
ICsgdXJsICsgIikiKTsKLSAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnRNYW5hZ2VyLl93b3Jrc3Bh
Y2UuX2FkZFRlbXBvcmFyeVVJU291cmNlQ29kZSh1cmwpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHJlbW92ZVRlbXBvcmFyeVVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgdXJsKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgUmVtb3ZpbmcgdGVtcG9yYXJ5
IFVJU291cmNlQ29kZTogIiArIHVybCArICIpIik7Ci0gICAgICAgIGJyZWFrcG9pbnRNYW5hZ2Vy
Ll93b3Jrc3BhY2UuX3JlbW92ZVRlbXBvcmFyeVVJU291cmNlQ29kZSh1cmwpOworICAgICAgICB2
YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlk
ZXIoV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0LCAiIiwgInRleHQvamF2YXNjcmlw
dCIpOworICAgICAgICB2YXIgdXJpID0gImRlYnVnZ2VyOiIgKyBXZWJJbnNwZWN0b3IuU2ltcGxl
V29ya3NwYWNlUHJvdmlkZXIudXJpRm9yVVJMKHVybCk7CisgICAgICAgIHZhciB1bmlxdWVVUkkg
PSBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlci51bmlxdWVVUkko
dXJpKTsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1
Z2dlcldvcmtzcGFjZVByb3ZpZGVyLmFkZEZpbGUodW5pcXVlVVJJLCB1cmwsIGNvbnRlbnRQcm92
aWRlciwgZmFsc2UpOworICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291cmNlTWFwcGluZyhkZWZh
dWx0TWFwcGluZyk7CisgICAgICAgIHVpU291cmNlQ29kZXNbdXJsXSA9IHVpU291cmNlQ29kZTsK
KyAgICAgICAgcmV0dXJuIHVpU291cmNlQ29kZTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBjcmVh
dGVCcmVha3BvaW50KHVpU291cmNlQ29kZUlkLCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJs
ZWQpCkBAIC0yMjgsOCArMTkxLDE0IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIHZhciBz
b3VyY2VNYXBwaW5nID0gc291cmNlTWFwcGluZyB8fCBkZWZhdWx0TWFwcGluZzsKICAgICAgICAg
dmFyIGRlYnVnZ2VyTW9kZWwgPSBuZXcgRGVidWdnZXJNb2RlbE1vY2soc291cmNlTWFwcGluZyk7
Ci0gICAgICAgIHZhciB3b3Jrc3BhY2VNb2NrID0gbmV3IFdvcmtzcGFjZU1vY2soKTsKLSAgICAg
ICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFu
YWdlcihzZXR0aW5nLCBkZWJ1Z2dlck1vZGVsLCB3b3Jrc3BhY2VNb2NrKTsKKyAgICAgICAgdmFy
IHdvcmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7CisgICAgICAgIHZhciBi
cmVha3BvaW50TWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIoc2V0
dGluZywgZGVidWdnZXJNb2RlbCwgd29ya3NwYWNlKTsKKworICAgICAgICBicmVha3BvaW50TWFu
YWdlci5fbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TaW1wbGVX
b3Jrc3BhY2VQcm92aWRlcih3b3Jrc3BhY2UpOworICAgICAgICB3b3Jrc3BhY2UuYWRkUHJvamVj
dCgibmV0d29yayIsIGJyZWFrcG9pbnRNYW5hZ2VyLl9uZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIp
OworICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlciA9
IG5ldyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIod29ya3NwYWNlKTsKKyAg
ICAgICAgd29ya3NwYWNlLmFkZFByb2plY3QoImRlYnVnZ2VyIiwgYnJlYWtwb2ludE1hbmFnZXIu
X2RlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIpOworCiAgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5C
cmVha3BvaW50QWRkZWQsIGJyZWFrcG9pbnRBZGRlZCk7CiAgICAgICAgIGJyZWFrcG9pbnRNYW5h
Z2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50
cy5CcmVha3BvaW50UmVtb3ZlZCwgYnJlYWtwb2ludFJlbW92ZWQpOwogICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIiKTsKQEAgLTMx
Nyw3ICsyODYsNiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHZhciBicmVha3BvaW50
TWFuYWdlciA9IGNyZWF0ZUJyZWFrcG9pbnRNYW5hZ2VyKHNlcmlhbGl6ZWRCcmVha3BvaW50cyk7
CiAgICAgICAgICAgICBhZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIs
ICJhLmpzIik7CiAgICAgICAgICAgICBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIs
ICJhLmpzIik7Ci0gICAgICAgICAgICByZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGUoYnJlYWtw
b2ludE1hbmFnZXIsICJhLmpzIik7CiAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2Vy
KGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKICAgICAgICAgfSwKIApAQCAtMzY1LDEyICszMzMs
MTIgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJcbiAgTmF2aWdhdGluZyB0byBCLiIpOwogICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFn
ZXIuX2RlYnVnZ2VyTW9kZWwucmVzZXQoKTsKLSAgICAgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2Vy
Ll93b3Jrc3BhY2UucmVzZXQoKTsKKyAgICAgICAgICAgIHJlc2V0V29ya3NwYWNlKGJyZWFrcG9p
bnRNYW5hZ2VyKTsKICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVCID0gYWRkVUlTb3VyY2VD
b2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYi5qcyIpOwogCiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiXG4gIE5hdmlnYXRpbmcgYmFjayB0byBBLiIpOwogICAgICAgICAgICAg
YnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwucmVzZXQoKTsKLSAgICAgICAgICAgIGJy
ZWFrcG9pbnRNYW5hZ2VyLl93b3Jrc3BhY2UucmVzZXQoKTsKKyAgICAgICAgICAgIHJlc2V0V29y
a3NwYWNlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgIFJlc29sdmluZyBwcm92aXNpb25hbCBicmVha3BvaW50LiIpOwogICAgICAgICAg
ICAgdmFyIGV2ZW50RGF0YSA9IHsgYnJlYWtwb2ludElkOiAiYS5qczoxMCIsIGxvY2F0aW9uOiB7
IHNjcmlwdElkOiAiYS5qcyIsIGxpbmVOdW1iZXI6IDExLCBjb2x1bW5OdW1iZXI6IDUgfX07CiAg
ICAgICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRS
ZXNvbHZlZCwgZXZlbnREYXRhKTsKQEAgLTQwNCw3ICszNzIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IGNyZWF0ZUJyZWFrcG9pbnRNYW5h
Z2VyKHNlcmlhbGl6ZWRCcmVha3BvaW50cyk7CiAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2Rl
ID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwogICAgICAgICAg
ICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVnZ2VyTW9kZWwucmVzZXQoKTsKLSAgICAgICAgICAg
IGJyZWFrcG9pbnRNYW5hZ2VyLl93b3Jrc3BhY2UucmVzZXQoKTsKKyAgICAgICAgICAgIHJlc2V0
V29ya3NwYWNlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIgIFJlc29sdmluZyBwcm92aXNpb25hbCBicmVha3BvaW50LiIpOwogICAgICAg
ICAgICAgdmFyIGV2ZW50RGF0YSA9IHsgYnJlYWtwb2ludElkOiAiYS5qczoxMCIsIGxvY2F0aW9u
OiB7IHNjcmlwdElkOiAiYS5qcyIsIGxpbmVOdW1iZXI6IDExLCBjb2x1bW5OdW1iZXI6IDUgfX07
CiAgICAgICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFrcG9p
bnRSZXNvbHZlZCwgZXZlbnREYXRhKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwKaW5kZXggZjhiMGM2
ZWM5MjBmYzAyYjc1NmEzYTdiZWI1MjlkZDJiMDc1ZmM0Ny4uYWJkMTZjZDQxODExYTlmOTQ5ZGZk
MzliYmE3YWNlYTgxMjQ2ZjYwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgdmFyIHRlc3QgPSBmdW5jdGlvbigpCiAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNv
dXJjZShmcmFtZSkKICAgICB7CiAgICAgICAgIHNjcmlwdFNvdXJjZSA9IGZyYW1lLl91aVNvdXJj
ZUNvZGU7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihzY3JpcHRTb3VyY2UuX3dv
cmtzcGFjZSwgInJlcXVlc3RGaWxlQ29udGVudCIsIHJlcXVlc3RDb250ZW50U25pZmZlcik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihzY3JpcHRTb3VyY2UuX3Byb2plY3QsICJy
ZXF1ZXN0RmlsZUNvbnRlbnQiLCByZXF1ZXN0Q29udGVudFNuaWZmZXIpOwogICAgICAgICBzY3Jp
cHRTb3VyY2Uuc2VhcmNoSW5Db250ZW50KCJtYWdpYy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVt
cDEpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L3NjcmlwdHMtZmlsZS1zZWxlY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdHMtZmlsZS1zZWxlY3Rvci5odG1sCmluZGV4IGExZmM2MzY2ZDhjOWM1ZGIzOGQz
YTE1MzQxM2M0MjgwMjNlN2RjNzIuLjE3YjVlMjRkZTA5OWU0M2E5Y2FhMzJhODk4NzI1NzM1ZTUx
ZWMxNjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRz
LWZpbGUtc2VsZWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
c2NyaXB0cy1maWxlLXNlbGVjdG9yLmh0bWwKQEAgLTIxLDExICsyMSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgIHZhciB1aVNvdXJjZUNvZGVzID0gW107CiAgICAgZnVuY3Rpb24gYWRkVUlTb3Vy
Y2VDb2RlKHVybCwgaXNDb250ZW50U2NyaXB0KQogICAgIHsKLSAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKFdlYkluc3BlY3Rvci53b3Jrc3Bh
Y2UsIHVybCwgdXJsLCB1cmwsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgbnVs
bCk7Ci0gICAgICAgIHVpU291cmNlQ29kZS5wcm9qZWN0ID0gZnVuY3Rpb24oKQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gbmV3IE1vY2tQcm9qZWN0KCk7Ci0gICAgICAgIH0KKyAgICAg
ICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKG5ldyBN
b2NrUHJvamVjdCgpLCB1cmwsIHVybCwgdXJsLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5T
Y3JpcHQsIG51bGwpOwogICAgICAgICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0ID0gaXND
b250ZW50U2NyaXB0OwogICAgICAgICBuYXZpZ2F0b3IuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNl
Q29kZSk7CiAgICAgICAgIHVpU291cmNlQ29kZXMucHVzaCh1aVNvdXJjZUNvZGUpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKaW5kZXgg
M2VjYjE0NzQxZGU2ZjZjMzJjNGU1NzdiY2EzMzA3NjdhY2U3ZGI0Mi4uODNjZDEyY2YwNzlmNjM4
NjFmMTdjNWM0OTAwOGI4ZGM3NTYzMGJiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCkBAIC0yMSwxMSArMjEsMTEgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgewogICAgICAgICB2YXIgd29ya3NwYWNlID0gbmV3IFdlYkluc3BlY3Rv
ci5Xb3Jrc3BhY2UoKTsKICAgICAgICAgdmFyIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IG5l
dyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIod29ya3NwYWNlKTsKLSAgICAg
ICAgd29ya3NwYWNlLmFkZFByb2plY3QoV2ViSW5zcGVjdG9yLnByb2plY3ROYW1lcy5OZXR3b3Jr
LCBuZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIpOworICAgICAgICB2YXIgcHJvamVjdCA9IHdvcmtz
cGFjZS5hZGRQcm9qZWN0KFdlYkluc3BlY3Rvci5wcm9qZWN0TmFtZXMuTmV0d29yaywgbmV0d29y
a1dvcmtzcGFjZVByb3ZpZGVyKTsKIAogICAgICAgICB3b3Jrc3BhY2UuZGVidWdnZXJXb3Jrc3Bh
Y2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIod29y
a3NwYWNlKTsKICAgICAgICAgd29ya3NwYWNlLmFkZFByb2plY3QoV2ViSW5zcGVjdG9yLnByb2pl
Y3ROYW1lcy5EZWJ1Z2dlciwgd29ya3NwYWNlLmRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIpOwot
ICAgICAgICB3b3Jrc3BhY2UucmVxdWVzdEZpbGVDb250ZW50ID0gZnVuY3Rpb24odWlTb3VyY2VD
b2RlLCBjYWxsYmFjaykKKyAgICAgICAgcHJvamVjdC5yZXF1ZXN0RmlsZUNvbnRlbnQgPSBmdW5j
dGlvbih1aVNvdXJjZUNvZGUsIGNhbGxiYWNrKQogICAgICAgICB7CiAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiU291cmNlIHJlcXVlc3RlZCBmb3IgIiArIHVpU291cmNlQ29k
ZS5vcmlnaW5VUkwoKSk7CiAgICAgICAgICAgICBjYWxsYmFjaygiIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1zb3J0aW5nLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1zb3J0aW5nLmh0bWwKaW5kZXggNTFh
MzkzNzlkMmFjNWYwODVmZjY5YTUwY2QzNTk2MjUwOGE1MWExNS4uOWY4YWFjY2ZjYzNiMTk2Mjhj
NWY3YjgxNmVhMTg4MmQxZjIyODg0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL3NjcmlwdHMtc29ydGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9zY3JpcHRzLXNvcnRpbmcuaHRtbApAQCAtMjEsMTEgKzIxLDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgdmFyIHVpU291cmNlQ29kZXMgPSBbXTsKICAgICBmdW5jdGlvbiBhZGRV
SVNvdXJjZUNvZGUodXJsLCBpc0NvbnRlbnRTY3JpcHQpCiAgICAgewotICAgICAgICB2YXIgdWlT
b3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoV2ViSW5zcGVjdG9yLndv
cmtzcGFjZSwgdXJsLCB1cmwsIHVybCwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0
LCBudWxsKTsKLSAgICAgICAgdWlTb3VyY2VDb2RlLnByb2plY3QgPSBmdW5jdGlvbigpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgTW9ja1Byb2plY3QoKTsKLSAgICAgICAgfQor
ICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUo
bmV3IE1vY2tQcm9qZWN0KCksIHVybCwgdXJsLCB1cmwsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5
cGVzLlNjcmlwdCwgbnVsbCk7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQg
PSBpc0NvbnRlbnRTY3JpcHQ7CiAgICAgICAgIG5hdmlnYXRvci5hZGRVSVNvdXJjZUNvZGUodWlT
b3VyY2VDb2RlKTsKICAgICAgICAgdWlTb3VyY2VDb2Rlcy5wdXNoKHVpU291cmNlQ29kZSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvdWktc291cmNlLWNvZGUt
ZGlzcGxheS1uYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvdWktc291
cmNlLWNvZGUtZGlzcGxheS1uYW1lLmh0bWwKaW5kZXggMjkyNDE3NzZlNzhmNjdkOGE3YjkwY2M4
MTg2M2E1ZGIyYTQ4YTAxYS4uNWM5MDZkODRjMTU2MzdhODA1YjAxODc2OTliYzNiMTQxZGVjZjFh
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3VpLXNvdXJjZS1j
b2RlLWRpc3BsYXktbmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci91aS1zb3VyY2UtY29kZS1kaXNwbGF5LW5hbWUuaHRtbApAQCAtNyw3ICs3LDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOwogICAgIGZ1
bmN0aW9uIGR1bXBVSVNvdXJjZUNvZGVEaXNwbGF5TmFtZSh1cmwpCiAgICAgewotICAgICAgICB2
YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoV2ViSW5zcGVj
dG9yLndvcmtzcGFjZSwgdXJsLCB1cmwsIHVybCwgbnVsbCk7CisgICAgICAgIHZhciB1aVNvdXJj
ZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShudWxsLCB1cmwsIHVybCwgdXJs
LCBudWxsKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29kZSBk
aXNwbGF5IG5hbWUgZm9yIHVybCBcIiIgKyB1cmwgKyAiXCIgaXMgXCIiICsgV2ViSW5zcGVjdG9y
LlRhYmJlZEVkaXRvckNvbnRhaW5lci5wcm90b3R5cGUuX3RpdGxlRm9yRmlsZSh1aVNvdXJjZUNv
ZGUpICsgIlwiLiIpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL3VpLXNvdXJjZS1jb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvdWktc291cmNlLWNvZGUuaHRtbAppbmRleCAwOGZiNjg1ODVhYWE0YjFmNWUwYTQ5ZWQ1
OGIyNGYwMTgxOGM4NDJmLi4zMTkxNzQxMTQyNmFiOTFjNzI2OTU5NTBhMzBiMDgxMWEzMjVkNWIz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvdWktc291cmNlLWNv
ZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvdWktc291cmNlLWNv
ZGUuaHRtbApAQCAtNiwxNSArNiwxNyBAQAogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKKyAgICB2YXIg
TW9ja1Byb2plY3QgPSBmdW5jdGlvbigpIHt9CisgICAgTW9ja1Byb2plY3QucHJvdG90eXBlLnJl
cXVlc3RGaWxlQ29udGVudCA9IGZ1bmN0aW9uKHVyaSwgY2FsbGJhY2spCisgICAgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29udGVudCBpcyByZXF1ZXN0ZWQgZnJvbSBTb3Vy
Y2VDb2RlUHJvdmlkZXIuIik7CisgICAgICAgIHNldFRpbWVvdXQoY2FsbGJhY2suYmluZChudWxs
LCAidmFyIHggPSAwOyIsIGZhbHNlLCAidGV4dC9qYXZhc2NyaXB0IiksIDApOworICAgIH0KKwog
ICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKICAgICAgICAgZnVuY3Rpb24gdGVzdFVJ
U291cmNlQ29kZShuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2Rl
ID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoV2ViSW5zcGVjdG9yLndvcmtzcGFjZSwg
InVyaSIsICJvcmlnaW5VUkwiLCAidXJsIiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2Ny
aXB0LCB0cnVlKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci53b3Jrc3BhY2UucmVxdWVzdEZp
bGVDb250ZW50ID0gZnVuY3Rpb24ocGF0aCwgY2FsbGJhY2spCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNvbnRlbnQgaXMgcmVxdWVzdGVk
IGZyb20gU291cmNlQ29kZVByb3ZpZGVyLiIpOwotICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
Y2FsbGJhY2suYmluZChudWxsLCAidmFyIHggPSAwOyIsIGZhbHNlLCAidGV4dC9qYXZhc2NyaXB0
IiksIDApOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5l
dyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKG5ldyBNb2NrUHJvamVjdCgpLCAidXJpIiwgIm9y
aWdpblVSTCIsICJ1cmwiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsIHRydWUp
OwogICAgICAgICAgICAgZnVuY3Rpb24gZGlkUmVxdWVzdENvbnRlbnQoY2FsbE51bWJlciwgY29u
dGVudCwgY29udGVudEVuY29kZWQsIG1pbWVUeXBlKQogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDYWxsYmFjayAiICsgY2FsbE51bWJlciAr
ICIgaXMgaW52b2tlZC4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91aXNv
dXJjZWNvZGUtcmV2aXNpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdWlzb3VyY2Vj
b2RlLXJldmlzaW9ucy5odG1sCmluZGV4IGIwODNiZmE3ODAwYjdkMzk2MWI5NDQ5OTViMDJjYjg2
MGY4N2JjZWUuLjUzMDZiYjgyYTA2Yjg4Y2EyZmFlODk5YzVmNTM0OWRlYzYwNmE1NjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91aXNvdXJjZWNvZGUtcmV2aXNpb25zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vpc291cmNlY29kZS1yZXZpc2lvbnMuaHRtbApA
QCAtNiwyMCArNiwyMSBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBXZWJJbnNwZWN0b3Iuc2hv
d1BhbmVsKCJzY3JpcHRzIik7CiAKLSAgICBmdW5jdGlvbiBjcmVhdGVNb2NrV29ya3NwYWNlKCkK
KyAgICBmdW5jdGlvbiBjcmVhdGVNb2NrUHJvamVjdCgpCiAgICAgewogICAgICAgICB2YXIgd29y
a3NwYWNlID0gbmV3IFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UoKTsKICAgICAgICAgdmFyIG5ldHdv
cmtXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJv
dmlkZXIod29ya3NwYWNlKTsKKyAgICAgICAgdmFyIHByb2plY3QgPSBuZXcgV2ViSW5zcGVjdG9y
LlByb2plY3Qod29ya3NwYWNlLCAibmV0d29yayIsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7
CiAgICAgICAgIHdvcmtzcGFjZS5hZGRQcm9qZWN0KFdlYkluc3BlY3Rvci5wcm9qZWN0TmFtZXMu
TmV0d29yaywgbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKLSAgICAgICAgd29ya3NwYWNlLnJl
cXVlc3RGaWxlQ29udGVudCA9IGZ1bmN0aW9uKHVyaSwgY2FsbGJhY2spCisgICAgICAgIHByb2pl
Y3QucmVxdWVzdEZpbGVDb250ZW50ID0gZnVuY3Rpb24odXJpLCBjYWxsYmFjaykKICAgICAgICAg
ewogICAgICAgICAgICAgY2FsbGJhY2soIjxzY3JpcHQgY29udGVudD4iLCBmYWxzZSwgInRleHQv
amF2YXNjcmlwdCIpOwogICAgICAgICB9Ci0gICAgICAgIHdvcmtzcGFjZS5zZXRGaWxlQ29udGVu
dCA9IGZ1bmN0aW9uKHVyaSwgbmV3Q29udGVudCwgY2FsbGJhY2spCisgICAgICAgIHByb2plY3Qu
c2V0RmlsZUNvbnRlbnQgPSBmdW5jdGlvbih1cmksIG5ld0NvbnRlbnQsIGNhbGxiYWNrKQogICAg
ICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gd29ya3NwYWNlOworICAgICAgICBy
ZXR1cm4gcHJvamVjdDsKICAgICB9CiAgCiAgICAgZnVuY3Rpb24gZHVtcFVJU291cmNlQ29kZVdp
dGhSZXZpc2lvbnModWlTb3VyY2VDb2RlKQpAQCAtMzksNyArNDAsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCiAgICAgICAgIGZ1bmN0aW9uIHRl
c3RBZGRSZXZpc2lvbnNSZXZlcnRUb09yaWdpbmFsKG5leHQpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShjcmVh
dGVNb2NrV29ya3NwYWNlKCksICJ1cmkiLCAib3JpZ2luVVJMIiwgInVybCIsIFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVR5cGVzLlNjcmlwdCk7CisgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0g
bmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoY3JlYXRlTW9ja1Byb2plY3QoKSwgInVyaSIs
ICJvcmlnaW5VUkwiLCAidXJsIiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KTsK
ICAgICAgICAgICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSgiY29udGVudDEiKTsKICAg
ICAgICAgICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weSgiY29udGVudDIiKTsKICAgICAg
ICAgICAgIHVpU291cmNlQ29kZS5jb21taXRXb3JraW5nQ29weShmdW5jdGlvbigpIHsgfSk7CkBA
IC02MCw3ICs2MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RB
ZGRSZXZpc2lvbnNSZXZlcnRBbmRDbGVhckhpc3RvcnkobmV4dCkKICAgICAgICAgewotICAgICAg
ICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKGNy
ZWF0ZU1vY2tXb3Jrc3BhY2UoKSwgInVyaTIiLCAib3JpZ2luVVJMMiIsICJ1cmwyIiwgV2ViSW5z
cGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShjcmVhdGVNb2NrUHJvamVjdCgpLCAi
dXJpMiIsICJvcmlnaW5VUkwyIiwgInVybDIiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5T
Y3JpcHQpOwogCiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoImNvbnRl
bnQxIik7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoImNvbnRlbnQy
Iik7CkBAIC04Niw3ICs4Nyw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9u
IHRlc3RBZGRSZXZpc2lvbnNSZXZlcnRUb1ByZXZpb3VzKG5leHQpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShj
cmVhdGVNb2NrV29ya3NwYWNlKCksICJ1cmkzIiwgIm9yaWdpblVSTDMiLCAidXJsMyIsIFdlYklu
c3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCk7CisgICAgICAgICAgICB2YXIgdWlTb3VyY2VD
b2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoY3JlYXRlTW9ja1Byb2plY3QoKSwg
InVyaTMiLCAib3JpZ2luVVJMMyIsICJ1cmwzIiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMu
U2NyaXB0KTsKIAogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCJjb250
ZW50MSIpOwogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KCJjb250ZW50
MiIpOwpAQCAtMTA4LDcgKzEwOSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0
aW9uIHRlc3RSZXF1ZXN0Q29udGVudEFkZFJldmlzaW9uc1JldmVydFRvT3JpZ2luYWwobmV4dCkK
ICAgICAgICAgewotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlKGNyZWF0ZU1vY2tXb3Jrc3BhY2UoKSwgInVyaTQiLCAib3JpZ2luVVJM
NCIsICJ1cmw0IiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KTsKKyAgICAgICAg
ICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShjcmVh
dGVNb2NrUHJvamVjdCgpLCAidXJpNCIsICJvcmlnaW5VUkw0IiwgInVybDQiLCBXZWJJbnNwZWN0
b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQpOwogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnJlcXVl
c3RDb250ZW50KGNvbnRlbnRSZWNlaXZlZCk7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbnRl
bnRSZWNlaXZlZCgpCkBAIC0xMzYsNyArMTM3LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAg
ICAgZnVuY3Rpb24gdGVzdFJlcXVlc3RDb250ZW50QWRkUmV2aXNpb25zUmV2ZXJ0QW5kQ2xlYXJI
aXN0b3J5KG5leHQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBu
ZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZShjcmVhdGVNb2NrV29ya3NwYWNlKCksICJ1cmk1
IiwgIm9yaWdpblVSTDUiLCAidXJsNSIsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlw
dCk7CisgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUoY3JlYXRlTW9ja1Byb2plY3QoKSwgInVyaTUiLCAib3JpZ2luVVJMNSIsICJ1cmw1
IiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KTsKICAgICAgICAgICAgIHVpU291
cmNlQ29kZS5yZXF1ZXN0Q29udGVudChjb250ZW50UmVjZWl2ZWQpOwogCiAgICAgICAgICAgICBm
dW5jdGlvbiBjb250ZW50UmVjZWl2ZWQoKQpAQCAtMTY4LDcgKzE2OSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZXF1ZXN0Q29udGVudEFkZFJldmlzaW9uc1Jl
dmVydFRvUHJldmlvdXMobmV4dCkKICAgICAgICAgewotICAgICAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKGNyZWF0ZU1vY2tXb3Jrc3BhY2Uo
KSwgInVyaTYiLCAib3JpZ2luVVJMNiIsICJ1cmw2IiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlw
ZXMuU2NyaXB0KTsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZShjcmVhdGVNb2NrUHJvamVjdCgpLCAidXJpNiIsICJvcmlnaW5VUkw2
IiwgInVybDYiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQpOwogICAgICAgICAg
ICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGNvbnRlbnRSZWNlaXZlZCk7CiAKICAgICAg
ICAgICAgIGZ1bmN0aW9uIGNvbnRlbnRSZWNlaXZlZCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>