<?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>102476</bug_id>
          
          <creation_ts>2012-11-16 03:49:23 -0800</creation_ts>
          <short_desc>Web Inspector: Rollout 134404 134548 134552 Temporarily rolling out to ease merging.</short_desc>
          <delta_ts>2012-11-21 23:43:42 -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>WONTFIX</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>
          <dependson>103028</dependson>
          <blocked>101026</blocked>
    
    <blocked>101301</blocked>
    
    <blocked>102175</blocked>
          <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>769085</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-11-16 03:49:23 -0800</bug_when>
    <thetext>Patch to follow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769095</commentid>
    <comment_count>1</comment_count>
      <attachid>174640</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-11-16 03:54:48 -0800</bug_when>
    <thetext>Created attachment 174640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769097</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-11-16 04:01:06 -0800</bug_when>
    <thetext>Committed r134927: &lt;http://trac.webkit.org/changeset/134927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773628</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-21 23:40:01 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 103028</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174640</attachid>
            <date>2012-11-16 03:54:48 -0800</date>
            <delta_ts>2012-11-16 03:58:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102476-20121116155242.patch</filename>
            <type>text/plain</type>
            <size>57514</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVkNzk5MWFhMmU1ODQ4
OTljNTgxNmE3NGViNGNiZTc0MDY5Y2ZmOS4uYzY1MjZhNDJjMGRkNzEwNDg1ZGZkMjBkOGM1ODg5
Njg5YTlmMzI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTExLTE2ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJvbGxvdXQgMTM0NDA0IDEzNDU0OCAxMzQ1NTIgVGVtcG9yYXJpbHkgcm9sbGluZyBvdXQg
dG8gZWFzZSBtZXJnaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyNDc2CisKKyAgICAgICAgVW5yZXZpZXdlZCByb2xsaW5nIG91dC4KKworICAg
ICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5OgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLnJlZ2lzdGVyU2hvcnRjdXRzKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fcmVnaXN0ZXJTaG9ydGN1dHMpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1BhbmVsLnByb3RvdHlwZS5fcmVnaXN0ZXJTaG9ydGN1dHMpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbERlc2NyaXB0b3IuanM6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxvZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Hb1RvTGluZURpYWxvZy5pbnN0YWxsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0tleWJvYXJkU2hvcnRjdXQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5fa2V5TmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUucmVnaXN0ZXJTaG9ydGN1dCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlLnVucmVnaXN0ZXJTaG9ydGN1
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWxEZXNjcmlwdG9yLnByb3RvdHlwZS5wYW5l
bCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlLl9jcmVhdGVEZWJ1Z1Rvb2xiYXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2NyZWF0ZUJ1dHRvbkFuZFJlZ2lzdGVy
U2hvcnRjdXRzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbERl
c2NyaXB0b3IuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TaG9ydGN1dHNTY3Jl
ZW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2NyZWVuKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TaG9ydGN1dHNTZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
aG9ydGN1dHNTZWN0aW9uLnByb3RvdHlwZS5fcmVuZGVyS2V5KToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZS5yZWdpc3RlclNob3J0Y3V0cyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLl9yZWdpc3RlclNob3J0Y3V0cyk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsRGVzY3JpcHRvci5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5fcGFuZWxE
ZXNjcmlwdG9ycyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuX3JlZ2lzdGVyU2hvcnRjdXRzKToK
KwogMjAxMi0xMS0xNiAgSGVsZGVyIENvcnJlaWEgIDxoZWxkZXIuY29ycmVpYUBub2tpYS5jb20+
CiAKICAgICAgICAgW0Nvb3JkR2Z4XSBGb2xsb3cgY29kaW5nIHN0eWxlIG9uIGV4cGxpY2l0IGNv
bnN0cnVjdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzCmluZGV4IGEyZDZjNzM4YWUzYTJkMTMzZTg3MWE1NTY1N2VlODYyZTJlMTgyNzQu
LjczMzI0NThhYWExZDM1YTFlYjRiMjE0ZjcwYjllYzdhNWM4ZmU0NGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTIyMSwxMCAr
MjIxLDggQEAgbG9jYWxpemVkU3RyaW5nc1siSGlkZSBjb25zb2xlLiJdID0gIkhpZGUgY29uc29s
ZS4iOwogbG9jYWxpemVkU3RyaW5nc1siSGlkZSB0aGUgcmVjb3JkcyB0aGF0IGFyZSBzaG9ydGVy
IHRoYW4gJXMiXSA9ICJIaWRlIHRoZSBQcmVjb3JkcyB0aGF0IGFyZSBzaG9ydGVyIHRoYW4gJXMi
OwogbG9jYWxpemVkU3RyaW5nc1siSW1hZ2UiXSA9ICJJbWFnZSI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJJbWFnZXMiXSA9ICJJbWFnZXMiOwotbG9jYWxpemVkU3RyaW5nc1siSW5jcmVtZW50IGJ5ICVm
Il0gPSAiSW5jcmVtZW50IGJ5ICVmIjsKLWxvY2FsaXplZFN0cmluZ3NbIkRlY3JlbWVudCBieSAl
ZiJdID0gIkRlY3JlbWVudCBieSAlZiI7Ci1sb2NhbGl6ZWRTdHJpbmdzWyJJbmNyZW1lbnQgdmFs
dWUiXSA9ICJJbmNyZW1lbnQgdmFsdWUiOwotbG9jYWxpemVkU3RyaW5nc1siRGVjcmVtZW50IHZh
bHVlIl0gPSAiRGVjcmVtZW50IHZhbHVlIjsKK2xvY2FsaXplZFN0cmluZ3NbIkluY3JlbWVudC9k
ZWNyZW1lbnQgYnkgJWYiXSA9ICJJbmNyZW1lbnQvZGVjcmVtZW50IGJ5ICVmIjsKK2xvY2FsaXpl
ZFN0cmluZ3NbIkluY3JlbWVudC9kZWNyZW1lbnQgdmFsdWUiXSA9ICJJbmNyZW1lbnQvZGVjcmVt
ZW50IHZhbHVlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkluaGVyaXRlZCBmcm9tIl0gPSAiSW5oZXJp
dGVkIGZyb20iOwogbG9jYWxpemVkU3RyaW5nc1siSW5pdGlhdG9yIl0gPSAiSW5pdGlhdG9yIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRlZCJdID0gIkluc3Bl
Y3RlZCB3b3JrZXIgdGVybWluYXRlZCI7CkBAIC0yNTcsNyArMjU1LDcgQEAgbG9jYWxpemVkU3Ry
aW5nc1siTmV4dC9wcmV2aW91cyBjYWxsIGZyYW1lIl0gPSAiTmV4dC9wcmV2aW91cyBjYWxsIGZy
YW1lIjsKIGxvY2FsaXplZFN0cmluZ3NbIk5leHQvcHJldmlvdXMgY29tbWFuZCJdID0gIk5leHQv
cHJldmlvdXMgY29tbWFuZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJOZXh0L3ByZXZpb3VzIGxpbmUi
XSA9ICJOZXh0L3ByZXZpb3VzIGxpbmUiOwogbG9jYWxpemVkU3RyaW5nc1siTmV4dC9wcmV2aW91
cyBwcm9wZXJ0eSJdID0gIk5leHQvcHJldmlvdXMgcHJvcGVydHkiOwotbG9jYWxpemVkU3RyaW5n
c1siQXV0b2NvbXBsZXRlIGNvbW1vbiBwcmVmaXgiXSA9ICJBdXRvY29tcGxldGUgY29tbW9uIHBy
ZWZpeCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJOZXh0L3ByZXZpb3VzIHN1Z2dlc3Rpb24iXSA9ICJO
ZXh0L3ByZXZpb3VzIHN1Z2dlc3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siTm8gQXBwbGljYXRp
b24gQ2FjaGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlLiJdID0gIk5vIEFwcGxpY2F0aW9uIENhY2hl
IGluZm9ybWF0aW9uIGF2YWlsYWJsZS4iOwogbG9jYWxpemVkU3RyaW5nc1siTm8gQnJlYWtwb2lu
dHMiXSA9ICJObyBCcmVha3BvaW50cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJObyBDU1MgTmFtZWQg
Rmxvd3MiXSA9ICJObyBDU1MgTmFtZWQgRmxvd3MiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDczNjZh
ZTkyOGI3M2UyMjk2ZTdmNTRlMzg1MzExNGJlMmMxYWQzMjYuLmU2OTc3YmI5OTQ2ODM3ODQ5MGM2
MTM2Mjk0YmQwMmUyZTNiYjNhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTY0ODEsNyArNjQ4MSw2
IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5qcycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1hbmFnZXIuanMnLAotICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbERlc2NyaXB0b3IuanMnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvVG9vbGJhci5qcycsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC90cmVlb3V0bGluZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA4MmU1NmRkMTY1NWRkZWI1N2ZiZjNiOWUyYzAw
NjI4MTEyZGJhZTIyLi5lNWM4MTVlYjY3NGRkMmNmYTI1ZWI3ODIxYTgxOGY3ZTA3ZDg5NDRjIDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzY3
NzcsMTAgKzc2Nzc3LDYgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcVGltZWxpbmVQYW5lbERlc2NyaXB0
b3IuanMiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMiCiAJ
CQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Y29tcGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1m
cm9udC1lbmQucHkKaW5kZXggYWY1MzE5YjAwNzJhZDZiYjUzZDc5YTFkZDY0ODIxNmRlNmRkYzc2
MC4uNmVhZGE0NzFkODVlOGE1YzYzZWUzMGYzNWUyYjYwYWM4ODIxMGJmZCAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQpAQCAtMjcxLDcgKzI3MSw2
IEBAIG1vZHVsZXMgPSBbCiAgICAgICAgICAgICAiVGltZWxpbmVNb2RlbC5qcyIsCiAgICAgICAg
ICAgICAiVGltZWxpbmVPdmVydmlld1BhbmUuanMiLAogICAgICAgICAgICAgIlRpbWVsaW5lUGFu
ZWwuanMiLAotICAgICAgICAgICAgIlRpbWVsaW5lUGFuZWxEZXNjcmlwdG9yLmpzIiwKICAgICAg
ICAgICAgICJUaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzIiwKICAgICAgICAgICAgICJUaW1l
bGluZUZyYW1lQ29udHJvbGxlci5qcyIKICAgICAgICAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxl
ci5qcwppbmRleCAzZjRmOGRmZDQwODhhYzhiMmUyOTM5Mjk4ZDc4YTEzYjQ1OTAwZDg2Li45ZGZh
NzhjZDVmNjgwZjMyNWIwZDZiMDUxYTI1MzFlMzM3ODExNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5qcwpAQCAtMzksOSArMzksNiBAQCBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hD
b250cm9sbGVyID0gZnVuY3Rpb24oKQogICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2Rl
bC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5
cGVzLkZyYW1lTmF2aWdhdGVkLCB0aGlzLl9mcmFtZU5hdmlnYXRlZCwgdGhpcyk7CiB9CiAKLS8q
KgotICogQHJldHVybiB7IVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LkRlc2NyaXB0b3J9
Ci0gKi8KIFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuY3JlYXRlU2hvcnRj
dXQgPSBmdW5jdGlvbigpCiB7CiAgICAgaWYgKFdlYkluc3BlY3Rvci5pc01hYygpKQpAQCAtNTIs
NyArNDksNyBAQCBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmNyZWF0ZVNo
b3J0Y3V0ID0gZnVuY3Rpb24oKQogCiBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9s
bGVyLnByb3RvdHlwZSA9IHsKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9
IGV2ZW50CisgICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQKICAgICAgKiBAcmV0dXJuIHtib29s
ZWFufQogICAgICAqLwogICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJh
clBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1Np
ZGViYXJQYW5lLmpzCmluZGV4IDI3YWQyMjMxY2FkNmMwNDhjODE3MDZmZDM1YWY2ZmE5NTM5MTE4
NmYuLmMwNjVjOTA2NzY5MTA5OGJlYTljZGUyNjljMGYxMzc1M2M1MzgwY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRl
YmFyUGFuZS5qcwpAQCAtMTE1LDEzICsxMTUsMTcgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1Np
ZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNv
cHlUZXh0KHRleHQpOwogICAgIH0sCiAKLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9u
KCFBcnJheS48IVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LkRlc2NyaXB0b3I+LCBmdW5j
dGlvbihLZXlib2FyZEV2ZW50KSl9IHJlZ2lzdGVyU2hvcnRjdXREZWxlZ2F0ZQotICAgICAqLwot
ICAgIHJlZ2lzdGVyU2hvcnRjdXRzOiBmdW5jdGlvbihyZWdpc3RlclNob3J0Y3V0RGVsZWdhdGUp
CisgICAgcmVnaXN0ZXJTaG9ydGN1dHM6IGZ1bmN0aW9uKHNlY3Rpb24sIHJlZ2lzdGVyU2hvcnRj
dXREZWxlZ2F0ZSkKICAgICB7Ci0gICAgICAgIHJlZ2lzdGVyU2hvcnRjdXREZWxlZ2F0ZShXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuTmV4dENhbGxGcmFt
ZSwgdGhpcy5fc2VsZWN0TmV4dENhbGxGcmFtZU9uU3RhY2suYmluZCh0aGlzKSk7Ci0gICAgICAg
IHJlZ2lzdGVyU2hvcnRjdXREZWxlZ2F0ZShXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3Jp
cHRvci5TaG9ydGN1dEtleXMuUHJldkNhbGxGcmFtZSwgdGhpcy5fc2VsZWN0UHJldmlvdXNDYWxs
RnJhbWVPblN0YWNrLmJpbmQodGhpcykpOworICAgICAgICB2YXIgbmV4dENhbGxGcmFtZSA9IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0LktleXMuUGVyaW9kLAorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmwpOworICAgICAgICByZWdpc3RlclNob3J0Y3V0
RGVsZWdhdGUobmV4dENhbGxGcmFtZS5rZXksIHRoaXMuX3NlbGVjdE5leHRDYWxsRnJhbWVPblN0
YWNrLmJpbmQodGhpcykpOworCisgICAgICAgIHZhciBwcmV2Q2FsbEZyYW1lID0gV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuS2V5cy5Db21tYSwKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lk1vZGlmaWVycy5DdHJsKTsKKyAgICAgICAgcmVnaXN0ZXJTaG9ydGN1dERlbGVnYXRl
KHByZXZDYWxsRnJhbWUua2V5LCB0aGlzLl9zZWxlY3RQcmV2aW91c0NhbGxGcmFtZU9uU3RhY2su
YmluZCh0aGlzKSk7CisKKyAgICAgICAgc2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhbIG5leHRDYWxs
RnJhbWUubmFtZSwgcHJldkNhbGxGcmFtZS5uYW1lIF0sIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
TmV4dC9wcmV2aW91cyBjYWxsIGZyYW1lIikpOwogICAgIH0sCiAKICAgICBzZXRTdGF0dXM6IGZ1
bmN0aW9uKHN0YXR1cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVWaWV3LmpzCmluZGV4IGRjZjVmN2FmYTdhOWEzODNmNDEzNWU4ZjhiNTkzMWJkNmIw
MWIxNGYuLjllYTViY2E2MTBjMGY4MzVlZDZjOTEyNDA3ZmIyZDM0ZjJiYTRhMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAt
NDc2LDM2ICs0NzYsMzcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5fc2hvcnRjdXRzID0ge307CiAKICAgICAgICAgdmFyIHNob3J0Y3V0ID0g
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQ7Ci0gICAgICAgIHZhciBzZWN0aW9uID0gV2Vi
SW5zcGVjdG9yLnNob3J0Y3V0c1NjcmVlbi5zZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Q29uc29sZSIpKTsKIAotICAgICAgICB2YXIgc2hvcnRjdXRMID0gc2hvcnRjdXQubWFrZURlc2Ny
aXB0b3IoImwiLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybCk7
Ci0gICAgICAgIHRoaXMuX3Nob3J0Y3V0c1tzaG9ydGN1dEwua2V5XSA9IHRoaXMuX3JlcXVlc3RD
bGVhck1lc3NhZ2VzLmJpbmQodGhpcyk7Ci0gICAgICAgIHZhciBrZXlzID0gW3Nob3J0Y3V0TF07
CiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuaXNNYWMoKSkgewogICAgICAgICAgICAgdmFyIHNo
b3J0Y3V0SyA9IHNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJrIiwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXJzLk1ldGEpOwogICAgICAgICAgICAgdGhpcy5fc2hvcnRjdXRz
W3Nob3J0Y3V0Sy5rZXldID0gdGhpcy5fcmVxdWVzdENsZWFyTWVzc2FnZXMuYmluZCh0aGlzKTsK
LSAgICAgICAgICAgIGtleXMudW5zaGlmdChzaG9ydGN1dEspOwogICAgICAgICB9Ci0gICAgICAg
IHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhrZXlzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNs
ZWFyIGNvbnNvbGUiKSk7CiAKLSAgICAgICAgc2VjdGlvbi5hZGRLZXkoc2hvcnRjdXQubWFrZURl
c2NyaXB0b3Ioc2hvcnRjdXQuS2V5cy5UYWIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkF1dG9j
b21wbGV0ZSBjb21tb24gcHJlZml4IikpOwotICAgICAgICBzZWN0aW9uLmFkZEtleShzaG9ydGN1
dC5tYWtlRGVzY3JpcHRvcihzaG9ydGN1dC5LZXlzLlJpZ2h0KSwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJBY2NlcHQgc3VnZ2VzdGlvbiIpKTsKKyAgICAgICAgdmFyIHNob3J0Y3V0TCA9IHNob3J0
Y3V0Lm1ha2VEZXNjcmlwdG9yKCJsIiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXJzLkN0cmwpOworICAgICAgICB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXRMLmtleV0gPSB0
aGlzLl9yZXF1ZXN0Q2xlYXJNZXNzYWdlcy5iaW5kKHRoaXMpOworCisgICAgICAgIHZhciBzZWN0
aW9uID0gV2ViSW5zcGVjdG9yLnNob3J0Y3V0c1NjcmVlbi5zZWN0aW9uKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQ29uc29sZSIpKTsKKyAgICAgICAgdmFyIGtleXMgPSBXZWJJbnNwZWN0b3IuaXNN
YWMoKSA/IFsgc2hvcnRjdXRLLm5hbWUsIHNob3J0Y3V0TC5uYW1lIF0gOiBbIHNob3J0Y3V0TC5u
YW1lIF07CisgICAgICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhrZXlzLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkNsZWFyIGNvbnNvbGUiKSk7CiAKICAgICAgICAga2V5cyA9IFsKLSAgICAg
ICAgICAgIHNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKHNob3J0Y3V0LktleXMuRG93biksCi0gICAg
ICAgICAgICBzaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihzaG9ydGN1dC5LZXlzLlVwKQorICAgICAg
ICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZyhzaG9ydGN1dC5LZXlzLlRhYiksCisgICAg
ICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuVGFiLCBzaG9y
dGN1dC5Nb2RpZmllcnMuU2hpZnQpCisgICAgICAgIF07CisgICAgICAgIHNlY3Rpb24uYWRkUmVs
YXRlZEtleXMoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOZXh0L3ByZXZpb3VzIHN1Z2dl
c3Rpb24iKSk7CisgICAgICAgIHNlY3Rpb24uYWRkS2V5KHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJp
bmcoc2hvcnRjdXQuS2V5cy5SaWdodCksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWNjZXB0IHN1
Z2dlc3Rpb24iKSk7CisgICAgICAgIGtleXMgPSBbCisgICAgICAgICAgICBzaG9ydGN1dC5zaG9y
dGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuRG93biksCisgICAgICAgICAgICBzaG9ydGN1dC5z
aG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuVXApCiAgICAgICAgIF07CiAgICAgICAgIHNl
Y3Rpb24uYWRkUmVsYXRlZEtleXMoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOZXh0L3By
ZXZpb3VzIGxpbmUiKSk7Ci0KLSAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5pc01hYygpKSB7Ci0g
ICAgICAgICAgICBrZXlzID0gWwotICAgICAgICAgICAgICAgIHNob3J0Y3V0Lm1ha2VEZXNjcmlw
dG9yKCJOIiwgc2hvcnRjdXQuTW9kaWZpZXJzLkFsdCksCi0gICAgICAgICAgICAgICAgc2hvcnRj
dXQubWFrZURlc2NyaXB0b3IoIlAiLCBzaG9ydGN1dC5Nb2RpZmllcnMuQWx0KQotICAgICAgICAg
ICAgXTsKKyAgICAgICAga2V5cyA9IFsKKyAgICAgICAgICAgIHNob3J0Y3V0LnNob3J0Y3V0VG9T
dHJpbmcoIk4iLCBzaG9ydGN1dC5Nb2RpZmllcnMuQWx0KSwKKyAgICAgICAgICAgIHNob3J0Y3V0
LnNob3J0Y3V0VG9TdHJpbmcoIlAiLCBzaG9ydGN1dC5Nb2RpZmllcnMuQWx0KQorICAgICAgICBd
OworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmlzTWFjKCkpCiAgICAgICAgICAgICBzZWN0aW9u
LmFkZFJlbGF0ZWRLZXlzKGtleXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmV4dC9wcmV2aW91
cyBjb21tYW5kIikpOwotICAgICAgICB9Ci0KLSAgICAgICAgc2VjdGlvbi5hZGRLZXkoc2hvcnRj
dXQubWFrZURlc2NyaXB0b3Ioc2hvcnRjdXQuS2V5cy5FbnRlciksIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiRXhlY3V0ZSBjb21tYW5kIikpOworICAgICAgICBzZWN0aW9uLmFkZEtleShzaG9ydGN1
dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuRW50ZXIpLCBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkV4ZWN1dGUgY29tbWFuZCIpKTsKICAgICB9LAogCiAgICAgX3JlcXVlc3RDbGVhck1l
c3NhZ2VzOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggODAzMzI5OWNkMGEzNjI5NDBmZDk5ZjE5NTIy
NDA5YWVhODY4YWNjMi4uMWI4NjUxMGEwN2Q2NmFjNmFhMjk4NDg0NTg2YTYxNzI1NGFmNjVjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1Bh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQ
YW5lbC5qcwpAQCAtOTgsNiArOTgsOCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbCA9IGZ1
bmN0aW9uKCkKICAgICAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzW3BhbmVdLm9uYXR0YWNoKCk7
CiAgICAgfQogCisgICAgdGhpcy5fcmVnaXN0ZXJTaG9ydGN1dHMoKTsKKwogICAgIHRoaXMuX3Bv
cG92ZXJIZWxwZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlBvcG92ZXJIZWxwZXIodGhpcy5lbGVtZW50
LCB0aGlzLl9nZXRQb3BvdmVyQW5jaG9yLmJpbmQodGhpcyksIHRoaXMuX3Nob3dQb3BvdmVyLmJp
bmQodGhpcykpOwogICAgIHRoaXMuX3BvcG92ZXJIZWxwZXIuc2V0VGltZW91dCgwKTsKIApAQCAt
MTAwMyw2ICsxMDA1LDI3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9
IHsKICAgICAgICAgZXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5uZWVkc1VwZGF0ZSA9IGZhbHNl
OwogICAgIH0sCiAKKyAgICBfcmVnaXN0ZXJTaG9ydGN1dHM6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHZhciBzaG9ydGN1dCA9IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0OworICAg
ICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5zaG9ydGN1dHNTY3JlZW4uc2VjdGlvbihX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVsZW1lbnRzIFBhbmVsIikpOworICAgICAgICB2YXIga2V5
cyA9IFsKKyAgICAgICAgICAgIHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoc2hvcnRjdXQuS2V5
cy5VcCksCisgICAgICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0Lktl
eXMuRG93bikKKyAgICAgICAgXTsKKyAgICAgICAgc2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhrZXlz
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5hdmlnYXRlIGVsZW1lbnRzIikpOworCisgICAgICAg
IGtleXMgPSBbCisgICAgICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0
LktleXMuUmlnaHQpLAorICAgICAgICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZyhzaG9y
dGN1dC5LZXlzLkxlZnQpCisgICAgICAgIF07CisgICAgICAgIHNlY3Rpb24uYWRkUmVsYXRlZEtl
eXMoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFeHBhbmQvY29sbGFwc2UiKSk7CisgICAg
ICAgIHNlY3Rpb24uYWRkS2V5KHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoc2hvcnRjdXQuS2V5
cy5FbnRlciksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRWRpdCBhdHRyaWJ1dGUiKSk7CisgICAg
ICAgIHNlY3Rpb24uYWRkS2V5KHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoc2hvcnRjdXQuS2V5
cy5GMiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiVG9nZ2xlIGVkaXQgYXMgSFRNTCIpKTsKKwor
ICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5zdHlsZXMucmVnaXN0ZXJTaG9ydGN1dHMoKTsKKyAg
ICB9LAorCiAgICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAg
ICAgaWYgKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LmV2ZW50SGFzQ3RybE9yTWV0YShl
dmVudCkgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJVKzAw
NUEiKSB7IC8vIFoga2V5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWxEZXNjcmlwdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsRGVzY3JpcHRvci5qcwppbmRleCAwMjY3ZjQ1YjRh
ZTJhMmUwMGUyNjhiZDQwOWFjMmRmMzEwNTMyN2M1Li44ZjcxYWFlMDhkNWFjM2IwZWQ2MzE4YmYz
YTc2YmJkYTdlOTA0MjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWxEZXNjcmlwdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbERlc2NyaXB0b3IuanMKQEAgLTUyLDEwNCAr
NTIsNSBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbERlc2NyaXB0b3IucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLnBhbmVsKCkuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKGV2ZW50LCBjb250
ZXh0TWVudSwgdGFyZ2V0KTsKICAgICB9LAogCi0gICAgcmVnaXN0ZXJTaG9ydGN1dHM6IGZ1bmN0
aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBlbGVtZW50c1NlY3Rpb24gPSBXZWJJbnNwZWN0b3Iu
c2hvcnRjdXRzU2NyZWVuLnNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbGVtZW50cyBQ
YW5lbCIpKTsKLQotICAgICAgICB2YXIgbmF2aWdhdGUgPSBXZWJJbnNwZWN0b3IuRWxlbWVudHNQ
YW5lbERlc2NyaXB0b3IuU2hvcnRjdXRLZXlzLk5hdmlnYXRlVXAuY29uY2F0KFdlYkluc3BlY3Rv
ci5FbGVtZW50c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuTmF2aWdhdGVEb3duKTsKLSAg
ICAgICAgZWxlbWVudHNTZWN0aW9uLmFkZFJlbGF0ZWRLZXlzKG5hdmlnYXRlLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIk5hdmlnYXRlIGVsZW1lbnRzIikpOwotCi0gICAgICAgIHZhciBleHBhbmRD
b2xsYXBzZSA9IFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtl
eXMuRXhwYW5kLmNvbmNhdChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbERlc2NyaXB0b3IuU2hv
cnRjdXRLZXlzLkNvbGxhcHNlKTsKLSAgICAgICAgZWxlbWVudHNTZWN0aW9uLmFkZFJlbGF0ZWRL
ZXlzKGV4cGFuZENvbGxhcHNlLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV4cGFuZC9jb2xsYXBz
ZSIpKTsKLQotICAgICAgICBlbGVtZW50c1NlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbERlc2NyaXB0b3IuU2hvcnRjdXRLZXlzLkVkaXRBdHRyaWJ1dGUs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRWRpdCBhdHRyaWJ1dGUiKSk7Ci0gICAgICAgIGVsZW1l
bnRzU2VjdGlvbi5hZGRBbHRlcm5hdGVLZXlzKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVz
Y3JpcHRvci5TaG9ydGN1dEtleXMuVG9nZ2xlRWRpdEFzSFRNTCwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJUb2dnbGUgZWRpdCBhcyBIVE1MIikpOwotCi0gICAgICAgIHZhciBzdHlsZXNQYW5lU2Vj
dGlvbiA9IFdlYkluc3BlY3Rvci5zaG9ydGN1dHNTY3JlZW4uc2VjdGlvbihXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlN0eWxlcyBQYW5lIikpOwotCi0gICAgICAgIHZhciBuZXh0UHJldmlvdXNQcm9w
ZXJ0eSA9IFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMu
TmV4dFByb3BlcnR5LmNvbmNhdChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbERlc2NyaXB0b3Iu
U2hvcnRjdXRLZXlzLlByZXZpb3VzUHJvcGVydHkpOwotICAgICAgICBzdHlsZXNQYW5lU2VjdGlv
bi5hZGRSZWxhdGVkS2V5cyhuZXh0UHJldmlvdXNQcm9wZXJ0eSwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJOZXh0L3ByZXZpb3VzIHByb3BlcnR5IikpOwotCi0gICAgICAgIHN0eWxlc1BhbmVTZWN0
aW9uLmFkZFJlbGF0ZWRLZXlzKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVzY3JpcHRvci5T
aG9ydGN1dEtleXMuSW5jcmVtZW50VmFsdWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW5jcmVt
ZW50IHZhbHVlIikpOwotICAgICAgICBzdHlsZXNQYW5lU2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhX
ZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbERlc2NyaXB0b3IuU2hvcnRjdXRLZXlzLkRlY3JlbWVu
dFZhbHVlLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRlY3JlbWVudCB2YWx1ZSIpKTsKLQotICAg
ICAgICBzdHlsZXNQYW5lU2VjdGlvbi5hZGRBbHRlcm5hdGVLZXlzKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuSW5jcmVtZW50QnkxMCwgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJJbmNyZW1lbnQgYnkgJWYiLCAxMCkpOwotICAgICAgICBzdHlsZXNQYW5l
U2VjdGlvbi5hZGRBbHRlcm5hdGVLZXlzKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVzY3Jp
cHRvci5TaG9ydGN1dEtleXMuRGVjcmVtZW50QnkxMCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJE
ZWNyZW1lbnQgYnkgJWYiLCAxMCkpOwotCi0gICAgICAgIHN0eWxlc1BhbmVTZWN0aW9uLmFkZEFs
dGVybmF0ZUtleXMoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0
S2V5cy5JbmNyZW1lbnRCeTEwMCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbmNyZW1lbnQgYnkg
JWYiLCAxMDApKTsKLSAgICAgICAgc3R5bGVzUGFuZVNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhX
ZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbERlc2NyaXB0b3IuU2hvcnRjdXRLZXlzLkRlY3JlbWVu
dEJ5MTAwLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRlY3JlbWVudCBieSAlZiIsIDEwMCkpOwot
Ci0gICAgICAgIHN0eWxlc1BhbmVTZWN0aW9uLmFkZEFsdGVybmF0ZUtleXMoV2ViSW5zcGVjdG9y
LkVsZW1lbnRzUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5cy5JbmNyZW1lbnRCeTAxLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkluY3JlbWVudCBieSAlZiIsIDAuMSkpOwotICAgICAgICBzdHls
ZXNQYW5lU2VjdGlvbi5hZGRBbHRlcm5hdGVLZXlzKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
RGVzY3JpcHRvci5TaG9ydGN1dEtleXMuRGVjcmVtZW50QnkwMSwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJEZWNyZW1lbnQgYnkgJWYiLCAwLjEpKTsKLSAgICB9LAotCiAgICAgX19wcm90b19fOiBX
ZWJJbnNwZWN0b3IuUGFuZWxEZXNjcmlwdG9yLnByb3RvdHlwZQogfQotCi1XZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbERlc2NyaXB0b3IuU2hvcnRjdXRLZXlzID0gewotICAgIE5hdmlnYXRlVXA6
IFsKLSAgICAgICAgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3Io
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5VcCkKLSAgICBdLAotCi0gICAgTmF2
aWdhdGVEb3duOiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VE
ZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRG93bikKLSAgICBd
LAotCi0gICAgRXhwYW5kOiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lm1ha2VEZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuUmlnaHQp
Ci0gICAgXSwKLQotICAgIENvbGxhcHNlOiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lktl
eXMuTGVmdCkKLSAgICBdLAotCi0gICAgRWRpdEF0dHJpYnV0ZTogWwotICAgICAgICBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5LZXlzLkVudGVyKQotICAgIF0sCi0KLSAgICBUb2dnbGVFZGl0QXNIVE1MOiBb
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRjIpCi0gICAgXSwKLQotICAgIE5leHRQ
cm9wZXJ0eTogWwotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVz
Y3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlzLlRhYikKLSAgICBdLAot
Ci0gICAgUHJldmlvdXNQcm9wZXJ0eTogWwotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlz
LlRhYiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0KQotICAg
IF0sCi0KLSAgICBJbmNyZW1lbnRWYWx1ZTogWwotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5L
ZXlzLlVwKQotICAgIF0sCi0KLSAgICBEZWNyZW1lbnRWYWx1ZTogWwotICAgICAgICBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5LZXlzLkRvd24pCi0gICAgXSwKLQotICAgIEluY3JlbWVudEJ5MTA6IFsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5QYWdlVXApLAotICAgICAgICBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5LZXlzLlVwLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMu
U2hpZnQpCi0gICAgXSwKLQotICAgIERlY3JlbWVudEJ5MTA6IFsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuS2V5cy5QYWdlRG93biksCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMu
RG93biwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0KQotICAg
IF0sCi0KLSAgICBJbmNyZW1lbnRCeTEwMDogWwotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5L
ZXlzLlBhZ2VVcCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0
KQotICAgIF0sCi0KLSAgICBEZWNyZW1lbnRCeTEwMDogWwotICAgICAgICBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXlzLlBhZ2VEb3duLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmll
cnMuU2hpZnQpCi0gICAgXSwKLQotICAgIEluY3JlbWVudEJ5MDE6IFsKLSAgICAgICAgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuS2V5cy5QYWdlVXAsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVycy5BbHQpCi0gICAgXSwKLQotICAgIERlY3JlbWVudEJ5MDE6IFsKLSAgICAgICAgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuS2V5cy5QYWdlRG93biwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXJzLkFsdCkKLSAgICBdCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxvZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVEaWFsb2cuanMKaW5kZXggNTc2Mzk0ZWIwZDE5YWEy
YThlODdhYzEyMTY0YzNmNzcwNGUwYjFiYy4uYWM0MWI3YWQ5OGY5M2VmMjA5YjFhODU4Y2IzMzll
NWMxNjY5ZmZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Hb1RvTGluZURpYWxvZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0dvVG9MaW5lRGlhbG9nLmpzCkBAIC02NSw3ICs2NSw3IEBAIFdlYkluc3BlY3Rvci5Hb1Rv
TGluZURpYWxvZy5pbnN0YWxsID0gZnVuY3Rpb24ocGFuZWwsIHZpZXdHZXR0ZXIpCiAgICAgfQog
CiAgICAgdmFyIGdvVG9MaW5lU2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuR29Ub0xpbmVEaWFsb2cu
Y3JlYXRlU2hvcnRjdXQoKTsKLSAgICBwYW5lbC5yZWdpc3RlclNob3J0Y3V0cyhbZ29Ub0xpbmVT
aG9ydGN1dF0sIHNob3dHb1RvTGluZURpYWxvZyk7CisgICAgcGFuZWwucmVnaXN0ZXJTaG9ydGN1
dChnb1RvTGluZVNob3J0Y3V0LmtleSwgc2hvd0dvVG9MaW5lRGlhbG9nKTsKIH0KIAogV2ViSW5z
cGVjdG9yLkdvVG9MaW5lRGlhbG9nLl9zaG93ID0gZnVuY3Rpb24oc291cmNlVmlldykKQEAgLTc1
LDkgKzc1LDYgQEAgV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlhbG9nLl9zaG93ID0gZnVuY3Rpb24o
c291cmNlVmlldykKICAgICBXZWJJbnNwZWN0b3IuRGlhbG9nLnNob3coc291cmNlVmlldy5lbGVt
ZW50LCBuZXcgV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlhbG9nKHNvdXJjZVZpZXcpKTsKIH0KIAot
LyoqCi0gKiBAcmV0dXJuIHshV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuRGVzY3JpcHRv
cn0KLSAqLwogV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlhbG9nLmNyZWF0ZVNob3J0Y3V0ID0gZnVu
Y3Rpb24oKQogewogICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9LZXlib2FyZFNob3J0Y3V0
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9LZXlib2FyZFNob3J0Y3V0
LmpzCmluZGV4IDliOGQ4NjhmN2E2OTg4NzllOGVjZWJjNWM3MGJiZjVjYzExYmJiMzYuLjRjNDJk
OTJhMWNmM2I4NzI5ZjE4YjU2ZDBjYzlhNGI0MTgzNDllZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvS2V5Ym9hcmRTaG9ydGN1dC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0tleWJvYXJkU2hvcnRjdXQuanMKQEAgLTUx
LDEwICs1MSw2IEBAIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycyA9IHsK
ICAgICB9CiB9OwogCi0vKiogQHR5cGVkZWYge3tjb2RlOiBudW1iZXIsIG5hbWU6IChzdHJpbmd8
T2JqZWN0LjxzdHJpbmcsIHN0cmluZz4pfX0gKi8KLVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0LktleTsKLQotLyoqIEB0eXBlIHshT2JqZWN0LjxzdHJpbmcsICFXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5LZXk+fSAqLwogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5
cyA9IHsKICAgICBCYWNrc3BhY2U6IHsgY29kZTogOCwgbmFtZTogIlx1MjFhNCIgfSwKICAgICBU
YWI6IHsgY29kZTogOSwgbmFtZTogeyBtYWM6ICJcdTIxZTUiLCBvdGhlcjogIjxUYWI+IiB9IH0s
CkBAIC05NiwxMCArOTIsOCBAQCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlzID0g
ewogLyoqCiAgKiBDcmVhdGVzIGEgbnVtYmVyIGVuY29kaW5nIGtleUNvZGUgaW4gdGhlIGxvd2Vy
IDggYml0cyBhbmQgbW9kaWZpZXJzIG1hc2sgaW4gdGhlIGhpZ2hlciA4IGJpdHMuCiAgKiBJdCBp
cyB1c2VmdWwgZm9yIG1hdGNoaW5nIHByZXNzZWQga2V5cy4KLSAqCi0gKiBAcGFyYW0ge251bWJl
cnxzdHJpbmd9IGtleUNvZGUgVGhlIENvZGUgb2YgdGhlIGtleSwgb3IgYSBjaGFyYWN0ZXIgImEt
eiIgd2hpY2ggaXMgY29udmVydGVkIHRvIGEga2V5Q29kZSB2YWx1ZS4KKyAqIGtleUNvZGUgaXMg
dGhlIENvZGUgb2YgdGhlIGtleSwgb3IgYSBjaGFyYWN0ZXIgImEteiIgd2hpY2ggaXMgY29udmVy
dGVkIHRvIGEga2V5Q29kZSB2YWx1ZS4KICAqIEBwYXJhbSB7bnVtYmVyPX0gbW9kaWZpZXJzIE9w
dGlvbmFsIGxpc3Qgb2YgbW9kaWZpZXJzIHBhc3NlZCBhcyBhZGRpdGlvbmFsIHBhcmFtZXJ0ZXJz
LgotICogQHJldHVybiB7bnVtYmVyfQogICovCiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5tYWtlS2V5ID0gZnVuY3Rpb24oa2V5Q29kZSwgbW9kaWZpZXJzKQogewpAQCAtMTA5LDEwICsx
MDMsNiBAQCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlS2V5ID0gZnVuY3Rpb24o
a2V5Q29kZSwgbW9kaWZpZXJzKQogICAgIHJldHVybiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5fbWFrZUtleUZyb21Db2RlQW5kTW9kaWZpZXJzKGtleUNvZGUsIG1vZGlmaWVycyk7CiB9
CiAKLS8qKgotICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBrZXlib2FyZEV2ZW50Ci0gKiBAcmV0
dXJuIHtudW1iZXJ9Ci0gKi8KIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VLZXlG
cm9tRXZlbnQgPSBmdW5jdGlvbihrZXlib2FyZEV2ZW50KQogewogICAgIHZhciBtb2RpZmllcnMg
PSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuTm9uZTsKQEAgLTEyNywy
MSArMTE3LDEzIEBAIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VLZXlGcm9tRXZl
bnQgPSBmdW5jdGlvbihrZXlib2FyZEV2ZW50KQogICAgIHJldHVybiBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5fbWFrZUtleUZyb21Db2RlQW5kTW9kaWZpZXJzKGtleWJvYXJkRXZlbnQu
a2V5Q29kZSwgbW9kaWZpZXJzKTsKIH0KIAotLyoqCi0gKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9
IGV2ZW50Ci0gKi8KIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LmV2ZW50SGFzQ3RybE9y
TWV0YSA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIHJldHVybiBXZWJJbnNwZWN0b3IuaXNNYWMo
KSA/IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgOiBldmVudC5jdHJsS2V5ICYmICFl
dmVudC5tZXRhS2V5OwogfQogCi0vKiogQHR5cGVkZWYge3trZXk6IG51bWJlciwgbmFtZTogc3Ry
aW5nfX0gKi8KLVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LkRlc2NyaXB0b3I7Ci0KIC8q
KgotICogQHBhcmFtIHtzdHJpbmd8V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5fSBr
ZXkKICAqIEBwYXJhbSB7bnVtYmVyPX0gbW9kaWZpZXJzCi0gKiBAcmV0dXJuIHtXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5EZXNjcmlwdG9yfQogICovCiBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvciA9IGZ1bmN0aW9uKGtleSwgbW9kaWZpZXJzKQogewpA
QCAtMTUyLDQyICsxMzQsMjcgQEAgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURl
c2NyaXB0b3IgPSBmdW5jdGlvbihrZXksIG1vZGlmaWVycykKIH0KIAogLyoqCi0gKiBAcGFyYW0g
e3N0cmluZ3xXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXl9IGtleQogICogQHBhcmFt
IHtudW1iZXI9fSBtb2RpZmllcnMKLSAqIEByZXR1cm4ge3N0cmluZ30KICAqLwogV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZyA9IGZ1bmN0aW9uKGtleSwgbW9k
aWZpZXJzKQogewogICAgIHJldHVybiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5fbW9k
aWZpZXJzVG9TdHJpbmcobW9kaWZpZXJzKSArIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Ll9rZXlOYW1lKGtleSk7CiB9CiAKLS8qKgotICogQHBhcmFtIHtzdHJpbmd8V2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuS2V5fSBrZXkKLSAqIEByZXR1cm4ge3N0cmluZ30KLSAqLwogV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuX2tleU5hbWUgPSBmdW5jdGlvbihrZXkpCiB7CiAg
ICAgaWYgKHR5cGVvZiBrZXkgPT09ICJzdHJpbmciKQogICAgICAgICByZXR1cm4ga2V5LnRvVXBw
ZXJDYXNlKCk7CiAgICAgaWYgKHR5cGVvZiBrZXkubmFtZSA9PT0gInN0cmluZyIpCiAgICAgICAg
IHJldHVybiBrZXkubmFtZTsKLSAgICByZXR1cm4ga2V5Lm5hbWVbV2ViSW5zcGVjdG9yLnBsYXRm
b3JtKCldIHx8IGtleS5uYW1lLm90aGVyIHx8ICcnOworICAgIHJldHVybiBrZXkubmFtZVtXZWJJ
bnNwZWN0b3IucGxhdGZvcm0oKV0gfHwga2V5Lm5hbWUub3RoZXI7CiB9CiAKLS8qKgotICogQHBh
cmFtIHtudW1iZXJ9IGtleUNvZGUKLSAqIEBwYXJhbSB7P251bWJlcn0gbW9kaWZpZXJzCi0gKiBA
cmV0dXJuIHtudW1iZXJ9Ci0gKi8KIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Ll9tYWtl
S2V5RnJvbUNvZGVBbmRNb2RpZmllcnMgPSBmdW5jdGlvbihrZXlDb2RlLCBtb2RpZmllcnMpCiB7
CiAgICAgcmV0dXJuIChrZXlDb2RlICYgMjU1KSB8IChtb2RpZmllcnMgPDwgOCk7CiB9OwogCi0v
KioKLSAqIEBwYXJhbSB7bnVtYmVyfHVuZGVmaW5lZH0gbW9kaWZpZXJzCi0gKiBAcmV0dXJuIHtz
dHJpbmd9Ci0gKi8KIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Ll9tb2RpZmllcnNUb1N0
cmluZyA9IGZ1bmN0aW9uKG1vZGlmaWVycykKIHsKICAgICBjb25zdCBjbWRLZXkgPSAiXHUyMzE4
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCmluZGV4IDI0
OGRiOTk1M2I1OGRmYjMwNTZmMTU4NjA1ODliZDU2OGQ0ZjFlNjYuLmQ1MzdjNGU4YjdhZGUyYjNh
NDNjMGI3Y2Y4MDFkNGYwMmRkZThjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9QYW5lbC5qcwpAQCAtMjI5LDkgKzIyOSw2IEBAIFdlYkluc3BlY3Rvci5QYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBbXTsKICAgICB9LAogCi0gICAgLyoqCi0gICAg
ICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudAotICAgICAqLwogICAgIGhhbmRsZVNob3J0
Y3V0OiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZhciBzaG9ydGN1dEtleSA9IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VLZXlGcm9tRXZlbnQoZXZlbnQpOwpAQCAt
MjQyLDE0ICsyMzksMTQgQEAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgfQogICAgIH0sCiAKLSAgICAvKioKLSAgICAgKiBAcGFyYW0geyFBcnJheS48IVdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0LkRlc2NyaXB0b3I+fSBrZXlzCi0gICAgICogQHBhcmFtIHtm
dW5jdGlvbihLZXlib2FyZEV2ZW50KX0gaGFuZGxlcgotICAgICAqLwotICAgIHJlZ2lzdGVyU2hv
cnRjdXRzOiBmdW5jdGlvbihrZXlzLCBoYW5kbGVyKQorICAgIHJlZ2lzdGVyU2hvcnRjdXQ6IGZ1
bmN0aW9uKGtleSwgaGFuZGxlcikKICAgICB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
a2V5cy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIHRoaXMuX3Nob3J0Y3V0c1trZXlzW2ldLmtl
eV0gPSBoYW5kbGVyOworICAgICAgICB0aGlzLl9zaG9ydGN1dHNba2V5XSA9IGhhbmRsZXI7Cisg
ICAgfSwKKworICAgIHVucmVnaXN0ZXJTaG9ydGN1dDogZnVuY3Rpb24oa2V5KQorICAgIHsKKyAg
ICAgICAgZGVsZXRlIHRoaXMuX3Nob3J0Y3V0c1trZXldOwogICAgIH0sCiAKICAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQpAQCAtMzE2LDcgKzMxMyw1IEBAIFdlYklu
c3BlY3Rvci5QYW5lbERlc2NyaXB0b3IucHJvdG90eXBlID0gewogICAgICAgICAgICAgaW1wb3J0
U2NyaXB0KHRoaXMuX3NjcmlwdE5hbWUpOwogICAgICAgICB0aGlzLl9wYW5lbCA9IG5ldyBXZWJJ
bnNwZWN0b3JbdGhpcy5fY2xhc3NOYW1lXTsKICAgICAgICAgcmV0dXJuIHRoaXMuX3BhbmVsOwot
ICAgIH0sCi0KLSAgICByZWdpc3RlclNob3J0Y3V0czogZnVuY3Rpb24oKSB7fQorICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1Bh
bmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwu
anMKaW5kZXggZjYzMWI1OTU4MDdmNDkyM2M2ZjhkNjg4ZTg2M2MyMzA3OTI2MTBiZi4uODUxMjcz
YmRlZWVmODBmMDgxN2M5MTg5NmM1NDg2MzJmNWQwOWVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTY1LDcgKzY1LDcg
QEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKHdvcmtzcGFjZUZvclRlc3Qp
CiAgICAgV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlhbG9nLmluc3RhbGwodGhpcywgdmlld0dldHRl
ci5iaW5kKHRoaXMpKTsKIAogICAgIHZhciBoZWxwU2VjdGlvbiA9IFdlYkluc3BlY3Rvci5zaG9y
dGN1dHNTY3JlZW4uc2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNvdXJjZXMgUGFuZWwi
KSk7Ci0gICAgdGhpcy5kZWJ1Z1Rvb2xiYXIgPSB0aGlzLl9jcmVhdGVEZWJ1Z1Rvb2xiYXIoKTsK
KyAgICB0aGlzLmRlYnVnVG9vbGJhciA9IHRoaXMuX2NyZWF0ZURlYnVnVG9vbGJhcihoZWxwU2Vj
dGlvbik7CiAKICAgICBjb25zdCBpbml0aWFsRGVidWdTaWRlYmFyV2lkdGggPSAyMjU7CiAgICAg
Y29uc3QgbWluaW11bURlYnVnU2lkZWJhcldpZHRoUGVyY2VudCA9IDUwOwpAQCAtMTM3LDEwICsx
MzcsMTggQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKHdvcmtzcGFjZUZv
clRlc3QpCiAgICAgdGhpcy5zaWRlYmFyUGFuZXMuc2NvcGVjaGFpbi5leHBhbmRlZCA9IHRydWU7
CiAgICAgdGhpcy5zaWRlYmFyUGFuZXMuanNCcmVha3BvaW50cy5leHBhbmRlZCA9IHRydWU7CiAK
LSAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2sucmVnaXN0ZXJTaG9ydGN1dHModGhpcy5y
ZWdpc3RlclNob3J0Y3V0cy5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLnJlZ2lzdGVyU2hvcnRjdXRz
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5cy5FdmFsdWF0
ZVNlbGVjdGlvbkluQ29uc29sZSwgdGhpcy5fZXZhbHVhdGVTZWxlY3Rpb25JbkNvbnNvbGUuYmlu
ZCh0aGlzKSk7Ci0gICAgdGhpcy5yZWdpc3RlclNob3J0Y3V0cyhXZWJJbnNwZWN0b3IuU2NyaXB0
c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuR29Ub01lbWJlciwgdGhpcy5fc2hvd091dGxp
bmVEaWFsb2cuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5yZWdpc3RlclNob3J0Y3V0cyhXZWJJbnNw
ZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuVG9nZ2xlQnJlYWtwb2lu
dCwgdGhpcy5fdG9nZ2xlQnJlYWtwb2ludC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLnNpZGViYXJQ
YW5lcy5jYWxsc3RhY2sucmVnaXN0ZXJTaG9ydGN1dHMoaGVscFNlY3Rpb24sIHRoaXMucmVnaXN0
ZXJTaG9ydGN1dC5iaW5kKHRoaXMpKTsKKyAgICB2YXIgZXZhbHVhdGVJbkNvbnNvbGVTaG9ydGN1
dCA9IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJlIiwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0IHwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmwpOworICAgIGhlbHBTZWN0aW9uLmFkZEtl
eShldmFsdWF0ZUluQ29uc29sZVNob3J0Y3V0Lm5hbWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
RXZhbHVhdGUgc2VsZWN0aW9uIGluIGNvbnNvbGUiKSk7CisgICAgdGhpcy5yZWdpc3RlclNob3J0
Y3V0KGV2YWx1YXRlSW5Db25zb2xlU2hvcnRjdXQua2V5LCB0aGlzLl9ldmFsdWF0ZVNlbGVjdGlv
bkluQ29uc29sZS5iaW5kKHRoaXMpKTsKKworICAgIHZhciBvdXRsaW5lU2hvcnRjdXQgPSBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcigibyIsIFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsT3JNZXRhIHwgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0KTsKKyAgICBoZWxwU2VjdGlvbi5hZGRLZXko
b3V0bGluZVNob3J0Y3V0Lm5hbWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiR28gdG8gbWVtYmVy
IikpOworICAgIHRoaXMucmVnaXN0ZXJTaG9ydGN1dChvdXRsaW5lU2hvcnRjdXQua2V5LCB0aGlz
Ll9zaG93T3V0bGluZURpYWxvZy5iaW5kKHRoaXMpKTsKKworICAgIHZhciBjcmVhdGVCcmVha3Bv
aW50U2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRv
cigiYiIsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsT3JNZXRh
KTsKKyAgICBoZWxwU2VjdGlvbi5hZGRLZXkoY3JlYXRlQnJlYWtwb2ludFNob3J0Y3V0Lm5hbWUs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVG9nZ2xlIGJyZWFrcG9pbnQiKSk7CisgICAgdGhpcy5y
ZWdpc3RlclNob3J0Y3V0KGNyZWF0ZUJyZWFrcG9pbnRTaG9ydGN1dC5rZXksIHRoaXMuX3RvZ2ds
ZUJyZWFrcG9pbnQuYmluZCh0aGlzKSk7CiAKICAgICB2YXIgcGFuZWxFbmFibGVySGVhZGluZyA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiWW91IG5lZWQgdG8gZW5hYmxlIGRlYnVnZ2luZyBiZWZv
cmUgeW91IGNhbiB1c2UgdGhlIFNjcmlwdHMgcGFuZWwuIik7CiAgICAgdmFyIHBhbmVsRW5hYmxl
ckRpc2NsYWltZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVuYWJsaW5nIGRlYnVnZ2luZyB3
aWxsIG1ha2Ugc2NyaXB0cyBydW4gc2xvd2VyLiIpOwpAQCAtNzQ2LDM2ICs3NTQsNDggQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuZXZhbHVhdGVJbkNvbnNvbGUoc2VsZWN0aW9uLnRvU3RyaW5nKCkpOwogICAgIH0sCiAK
LSAgICBfY3JlYXRlRGVidWdUb29sYmFyOiBmdW5jdGlvbigpCisgICAgX2NyZWF0ZURlYnVnVG9v
bGJhcjogZnVuY3Rpb24oc2VjdGlvbikKICAgICB7CiAgICAgICAgIHZhciBkZWJ1Z1Rvb2xiYXIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgZGVidWdUb29sYmFyLmNs
YXNzTmFtZSA9ICJzdGF0dXMtYmFyIjsKICAgICAgICAgZGVidWdUb29sYmFyLmlkID0gInNjcmlw
dHMtZGVidWctdG9vbGJhciI7CiAKLSAgICAgICAgdmFyIHRpdGxlLCBoYW5kbGVyOworICAgICAg
ICB2YXIgdGl0bGUsIGhhbmRsZXIsIHNob3J0Y3V0czsKICAgICAgICAgdmFyIHBsYXRmb3JtU3Bl
Y2lmaWNNb2RpZmllciA9IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5D
dHJsT3JNZXRhOwogCiAgICAgICAgIC8vIENvbnRpbnVlLgogICAgICAgICBoYW5kbGVyID0gdGhp
cy5fdG9nZ2xlUGF1c2UuYmluZCh0aGlzKTsKLSAgICAgICAgdGhpcy5wYXVzZUJ1dHRvbiA9IHRo
aXMuX2NyZWF0ZUJ1dHRvbkFuZFJlZ2lzdGVyU2hvcnRjdXRzKCJzY3JpcHRzLXBhdXNlIiwgIiIs
IGhhbmRsZXIsIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5
cy5QYXVzZUNvbnRpbnVlKTsKKyAgICAgICAgc2hvcnRjdXRzID0gW107CisgICAgICAgIHNob3J0
Y3V0cy5wdXNoKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRjgpKTsKKyAgICAgICAgc2hvcnRjdXRz
LnB1c2goV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5TbGFzaCwgcGxhdGZvcm1TcGVjaWZpY01vZGlm
aWVyKSk7CisgICAgICAgIHRoaXMucGF1c2VCdXR0b24gPSB0aGlzLl9jcmVhdGVCdXR0b25BbmRS
ZWdpc3RlclNob3J0Y3V0cyhzZWN0aW9uLCAic2NyaXB0cy1wYXVzZSIsICIiLCBoYW5kbGVyLCBz
aG9ydGN1dHMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGF1c2UvQ29udGludWUiKSk7CiAgICAg
ICAgIGRlYnVnVG9vbGJhci5hcHBlbmRDaGlsZCh0aGlzLnBhdXNlQnV0dG9uKTsKIAogICAgICAg
ICAvLyBTdGVwIG92ZXIuCiAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
dGVwIG92ZXIgbmV4dCBmdW5jdGlvbiBjYWxsICglcykuIik7CiAgICAgICAgIGhhbmRsZXIgPSB0
aGlzLl9zdGVwT3ZlckNsaWNrZWQuYmluZCh0aGlzKTsKLSAgICAgICAgdGhpcy5zdGVwT3ZlckJ1
dHRvbiA9IHRoaXMuX2NyZWF0ZUJ1dHRvbkFuZFJlZ2lzdGVyU2hvcnRjdXRzKCJzY3JpcHRzLXN0
ZXAtb3ZlciIsIHRpdGxlLCBoYW5kbGVyLCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3Jp
cHRvci5TaG9ydGN1dEtleXMuU3RlcE92ZXIpOworICAgICAgICBzaG9ydGN1dHMgPSBbXTsKKyAg
ICAgICAgc2hvcnRjdXRzLnB1c2goV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURl
c2NyaXB0b3IoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5GMTApKTsKKyAgICAg
ICAgc2hvcnRjdXRzLnB1c2goV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2Ny
aXB0b3IoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5TaW5nbGVRdW90ZSwgcGxh
dGZvcm1TcGVjaWZpY01vZGlmaWVyKSk7CisgICAgICAgIHRoaXMuc3RlcE92ZXJCdXR0b24gPSB0
aGlzLl9jcmVhdGVCdXR0b25BbmRSZWdpc3RlclNob3J0Y3V0cyhzZWN0aW9uLCAic2NyaXB0cy1z
dGVwLW92ZXIiLCB0aXRsZSwgaGFuZGxlciwgc2hvcnRjdXRzLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlN0ZXAgb3ZlciIpKTsKICAgICAgICAgZGVidWdUb29sYmFyLmFwcGVuZENoaWxkKHRoaXMu
c3RlcE92ZXJCdXR0b24pOwogCiAgICAgICAgIC8vIFN0ZXAgaW50by4KICAgICAgICAgdGl0bGUg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0ZXAgaW50byBuZXh0IGZ1bmN0aW9uIGNhbGwgKCVz
KS4iKTsKICAgICAgICAgaGFuZGxlciA9IHRoaXMuX3N0ZXBJbnRvQ2xpY2tlZC5iaW5kKHRoaXMp
OwotICAgICAgICB0aGlzLnN0ZXBJbnRvQnV0dG9uID0gdGhpcy5fY3JlYXRlQnV0dG9uQW5kUmVn
aXN0ZXJTaG9ydGN1dHMoInNjcmlwdHMtc3RlcC1pbnRvIiwgdGl0bGUsIGhhbmRsZXIsIFdlYklu
c3BlY3Rvci5TY3JpcHRzUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5cy5TdGVwSW50byk7Cisg
ICAgICAgIHNob3J0Y3V0cyA9IFtdOworICAgICAgICBzaG9ydGN1dHMucHVzaChXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5LZXlzLkYxMSkpOworICAgICAgICBzaG9ydGN1dHMucHVzaChXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXlzLlNlbWljb2xvbiwgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyKSk7CisgICAgICAg
IHRoaXMuc3RlcEludG9CdXR0b24gPSB0aGlzLl9jcmVhdGVCdXR0b25BbmRSZWdpc3RlclNob3J0
Y3V0cyhzZWN0aW9uLCAic2NyaXB0cy1zdGVwLWludG8iLCB0aXRsZSwgaGFuZGxlciwgc2hvcnRj
dXRzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0ZXAgaW50byIpKTsKICAgICAgICAgZGVidWdU
b29sYmFyLmFwcGVuZENoaWxkKHRoaXMuc3RlcEludG9CdXR0b24pOwogCiAgICAgICAgIC8vIFN0
ZXAgb3V0LgogICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3RlcCBvdXQg
b2YgY3VycmVudCBmdW5jdGlvbiAoJXMpLiIpOwogICAgICAgICBoYW5kbGVyID0gdGhpcy5fc3Rl
cE91dENsaWNrZWQuYmluZCh0aGlzKTsKLSAgICAgICAgdGhpcy5zdGVwT3V0QnV0dG9uID0gdGhp
cy5fY3JlYXRlQnV0dG9uQW5kUmVnaXN0ZXJTaG9ydGN1dHMoInNjcmlwdHMtc3RlcC1vdXQiLCB0
aXRsZSwgaGFuZGxlciwgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbERlc2NyaXB0b3IuU2hvcnRj
dXRLZXlzLlN0ZXBPdXQpOworICAgICAgICBzaG9ydGN1dHMgPSBbXTsKKyAgICAgICAgc2hvcnRj
dXRzLnB1c2goV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5GMTEsIFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCkpOworICAgICAgICBzaG9ydGN1dHMucHVzaChXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5LZXlzLlNlbWljb2xvbiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXJzLlNoaWZ0IHwgcGxhdGZvcm1TcGVjaWZpY01vZGlmaWVyKSk7CisgICAgICAg
IHRoaXMuc3RlcE91dEJ1dHRvbiA9IHRoaXMuX2NyZWF0ZUJ1dHRvbkFuZFJlZ2lzdGVyU2hvcnRj
dXRzKHNlY3Rpb24sICJzY3JpcHRzLXN0ZXAtb3V0IiwgdGl0bGUsIGhhbmRsZXIsIHNob3J0Y3V0
cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdGVwIG91dCIpKTsKICAgICAgICAgZGVidWdUb29s
YmFyLmFwcGVuZENoaWxkKHRoaXMuc3RlcE91dEJ1dHRvbik7CiAKICAgICAgICAgdGhpcy5fdG9n
Z2xlQnJlYWtwb2ludHNCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRlYWN0aXZhdGUgYnJlYWtwb2ludHMuIiksICJ0b2dnbGUt
YnJlYWtwb2ludHMiKTsKQEAgLTgwMCwxMyArODIwLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBidXR0b24udGl0bGUgPSBidXR0b25UaXRs
ZTsKICAgICB9LAogCi0gICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGJ1dHRvbklkCi0g
ICAgICogQHBhcmFtIHtzdHJpbmd9IGJ1dHRvblRpdGxlCi0gICAgICogQHBhcmFtIHtmdW5jdGlv
bihFdmVudCl9IGhhbmRsZXIKLSAgICAgKiBAcGFyYW0geyFBcnJheS48IVdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0LkRlc2NyaXB0b3I+fSBzaG9ydGN1dHMKLSAgICAgKi8KLSAgICBfY3Jl
YXRlQnV0dG9uQW5kUmVnaXN0ZXJTaG9ydGN1dHM6IGZ1bmN0aW9uKGJ1dHRvbklkLCBidXR0b25U
aXRsZSwgaGFuZGxlciwgc2hvcnRjdXRzKQorICAgIF9jcmVhdGVCdXR0b25BbmRSZWdpc3RlclNo
b3J0Y3V0czogZnVuY3Rpb24oc2VjdGlvbiwgYnV0dG9uSWQsIGJ1dHRvblRpdGxlLCBoYW5kbGVy
LCBzaG9ydGN1dHMsIHNob3J0Y3V0RGVzY3JpcHRpb24pCiAgICAgewogICAgICAgICB2YXIgYnV0
dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CiAgICAgICAgIGJ1dHRvbi5j
bGFzc05hbWUgPSAic3RhdHVzLWJhci1pdGVtIjsKQEAgLTgxNyw3ICs4MzEsMTIgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGJ1dHRvbi5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSk7CiAgICAgICAgIGJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGhhbmRsZXIsIGZhbHNlKTsKIAotICAgICAgICB0aGlzLnJl
Z2lzdGVyU2hvcnRjdXRzKHNob3J0Y3V0cywgaGFuZGxlcik7CisgICAgICAgIHZhciBzaG9ydGN1
dE5hbWVzID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2hvcnRjdXRzLmxlbmd0
aDsgKytpKSB7CisgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyU2hvcnRjdXQoc2hvcnRjdXRzW2ld
LmtleSwgaGFuZGxlcik7CisgICAgICAgICAgICBzaG9ydGN1dE5hbWVzLnB1c2goc2hvcnRjdXRz
W2ldLm5hbWUpOworICAgICAgICB9CisgICAgICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhz
aG9ydGN1dE5hbWVzLCBzaG9ydGN1dERlc2NyaXB0aW9uKTsKIAogICAgICAgICByZXR1cm4gYnV0
dG9uOwogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdHNQYW5lbERlc2NyaXB0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNQYW5lbERlc2NyaXB0b3IuanMKaW5kZXggNWU2NTQyZDcxMzhhMzVk
MzBhNTlmN2ExOTY1NGQ3MWU0ZWQ0NDcyYy4uOGYzODdmNjViNmVmMTgwM2Y2YWQ5ZGJiOTEwMmJh
NWFhN2NkYjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzUGFuZWxEZXNjcmlwdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5qcwpAQCAtNTUsNjQgKzU1LDUgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbERlc2NyaXB0b3IucHJvdG90eXBlID0gewogICAgICAg
ICB0aGlzLnBhbmVsKCkuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKGV2ZW50LCBjb250ZXh0TWVudSwg
dGFyZ2V0KTsKICAgICB9LAogCi0gICAgcmVnaXN0ZXJTaG9ydGN1dHM6IGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIHZhciBzZWN0aW9uID0gV2ViSW5zcGVjdG9yLnNob3J0Y3V0c1NjcmVlbi5z
ZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU291cmNlcyBQYW5lbCIpKTsKLQotICAgICAg
ICBzZWN0aW9uLmFkZEFsdGVybmF0ZUtleXMoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbERlc2Ny
aXB0b3IuU2hvcnRjdXRLZXlzLlBhdXNlQ29udGludWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
UGF1c2UvQ29udGludWUiKSk7Ci0gICAgICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuU3RlcE92ZXIsIFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiU3RlcCBvdmVyIikpOwotICAgICAgICBzZWN0aW9uLmFkZEFs
dGVybmF0ZUtleXMoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbERlc2NyaXB0b3IuU2hvcnRjdXRL
ZXlzLlN0ZXBJbnRvLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0ZXAgaW50byIpKTsKLSAgICAg
ICAgc2VjdGlvbi5hZGRBbHRlcm5hdGVLZXlzKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWxEZXNj
cmlwdG9yLlNob3J0Y3V0S2V5cy5TdGVwT3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0ZXAg
b3V0IikpOwotCi0gICAgICAgIHZhciBuZXh0QW5kUHJldkZyYW1lS2V5cyA9IFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5cy5OZXh0Q2FsbEZyYW1lLmNvbmNh
dChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuUHJldkNh
bGxGcmFtZSk7Ci0gICAgICAgIHNlY3Rpb24uYWRkUmVsYXRlZEtleXMobmV4dEFuZFByZXZGcmFt
ZUtleXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmV4dC9wcmV2aW91cyBjYWxsIGZyYW1lIikp
OwotCi0gICAgICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhXZWJJbnNwZWN0b3IuU2NyaXB0
c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuRXZhbHVhdGVTZWxlY3Rpb25JbkNvbnNvbGUs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRXZhbHVhdGUgc2VsZWN0aW9uIGluIGNvbnNvbGUiKSk7
Ci0gICAgICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhXZWJJbnNwZWN0b3IuU2NyaXB0c1Bh
bmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuR29Ub01lbWJlciwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJHbyB0byBtZW1iZXIiKSk7Ci0gICAgICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhX
ZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuVG9nZ2xlQnJl
YWtwb2ludCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb2dnbGUgYnJlYWtwb2ludCIpKTsKLSAg
ICB9LAotCiAgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUGFuZWxEZXNjcmlwdG9yLnByb3Rv
dHlwZQogfQotCi1XZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtl
eXMgPSB7Ci0gICAgUGF1c2VDb250aW51ZTogWwotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5L
ZXlzLkY4KSwKLSAgICAgICAgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2Ny
aXB0b3IoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5TbGFzaCwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpCi0gICAgXSwKLQotICAg
IFN0ZXBPdmVyOiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VE
ZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRjEwKSwKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5TaW5nbGVRdW90ZSwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpCi0gICAgXSwKLQotICAgIFN0ZXBJbnRv
OiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9y
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRjExKSwKLSAgICAgICAgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuS2V5cy5TZW1pY29sb24sIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVycy5DdHJsT3JNZXRhKQotICAgIF0sCi0KLSAgICBTdGVwT3V0OiBbCi0gICAgICAg
IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0LktleXMuRjExLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllcnMuU2hpZnQpLAotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlzLlNlbWlj
b2xvbiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0IHwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpCi0gICAgXSwK
LQotICAgIEV2YWx1YXRlU2VsZWN0aW9uSW5Db25zb2xlOiBbCi0gICAgICAgIFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJlIiwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0IHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXJzLkN0cmwpCi0gICAgXSwKLQotICAgIEdvVG9NZW1iZXI6IFsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoIm8iLCBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSB8IFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCkKLSAgICBdLAotCi0gICAgVG9nZ2xl
QnJlYWtwb2ludDogWwotICAgICAgICBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtl
RGVzY3JpcHRvcigiYiIsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5D
dHJsT3JNZXRhKQotICAgIF0sCi0KLSAgICBOZXh0Q2FsbEZyYW1lOiBbCi0gICAgICAgIFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0LktleXMuUGVyaW9kLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllcnMuQ3RybCkKLSAgICBdLAotCi0gICAgUHJldkNhbGxGcmFtZTogWwotICAgICAgICBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcihXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5LZXlzLkNvbW1hLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllcnMuQ3RybCkKLSAgICBdCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TaG9ydGN1dHNTY3JlZW4uanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Nob3J0Y3V0c1NjcmVlbi5qcwppbmRleCBhMTM2YzMwN2I0YjQx
MzYzOTc3ZjBjNjQyMjFiOWU0N2EzOTM5NjkwLi45YzA4YmY5ZTQzMmEyYmQ1NjAyNzZjM2VmOTg2
MGU3NDBjMzZkYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Nob3J0Y3V0c1NjcmVlbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Nob3J0Y3V0c1NjcmVlbi5qcwpAQCAtMzMsMTQgKzMzLDEwIEBACiAgKi8KIFdlYklu
c3BlY3Rvci5TaG9ydGN1dHNTY3JlZW4gPSBmdW5jdGlvbigpCiB7Ci0gICAgdGhpcy5fc2VjdGlv
bnMgPSAvKiogQHR5cGUge09iamVjdC48c3RyaW5nLCAhV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1Nl
Y3Rpb24+fSAqLyAoe30pOworICAgIHRoaXMuX3NlY3Rpb25zID0ge307CiB9CiAKIFdlYkluc3Bl
Y3Rvci5TaG9ydGN1dHNTY3JlZW4ucHJvdG90eXBlID0gewotICAgIC8qKgotICAgICAqIEBwYXJh
bSB7c3RyaW5nfSBuYW1lCi0gICAgICogQHJldHVybiB7IVdlYkluc3BlY3Rvci5TaG9ydGN1dHNT
ZWN0aW9ufQotICAgICAqLwogICAgIHNlY3Rpb246IGZ1bmN0aW9uKG5hbWUpCiAgICAgewogICAg
ICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW25hbWVdOwpAQCAtNDksOSArNDUsNiBA
QCBXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2NyZWVuLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0
dXJuIHNlY3Rpb247CiAgICAgfSwKIAotICAgIC8qKgotICAgICAqIEByZXR1cm4geyFXZWJJbnNw
ZWN0b3IuVmlld30KLSAgICAgKi8KICAgICBjcmVhdGVTaG9ydGN1dHNUYWJWaWV3OiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICB2YXIgb3JkZXJlZFNlY3Rpb25zID0gW107CkBAIC04NCw0OSAr
NzcsMzIgQEAgV2ViSW5zcGVjdG9yLnNob3J0Y3V0c1NjcmVlbiA9IG51bGw7CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCi0gKiBAcGFyYW0ge3N0cmluZ30gbmFtZQogICovCiBXZWJJbnNwZWN0b3Iu
U2hvcnRjdXRzU2VjdGlvbiA9IGZ1bmN0aW9uKG5hbWUpCiB7CiAgICAgdGhpcy5uYW1lID0gbmFt
ZTsKLSAgICB0aGlzLl9saW5lcyA9IC8qKiBAdHlwZSB7IUFycmF5Ljx7a2V5OiAhTm9kZSwgdGV4
dDogc3RyaW5nfT59ICovIChbXSk7CisgICAgdGhpcy5fbGluZXMgPSBbXTsKICAgICB0aGlzLm9y
ZGVyID0gKytXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2VjdGlvbi5fc2VxdWVuY2VOdW1iZXI7CiB9
OwogCiBXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2VjdGlvbi5fc2VxdWVuY2VOdW1iZXIgPSAwOwog
CiBXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2VjdGlvbi5wcm90b3R5cGUgPSB7Ci0gICAgLyoqCi0g
ICAgICogQHBhcmFtIHshV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuRGVzY3JpcHRvcn0g
a2V5Ci0gICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uCi0gICAgICovCiAgICAgYWRk
S2V5OiBmdW5jdGlvbihrZXksIGRlc2NyaXB0aW9uKQogICAgIHsKICAgICAgICAgdGhpcy5fYWRk
TGluZSh0aGlzLl9yZW5kZXJLZXkoa2V5KSwgZGVzY3JpcHRpb24pOwogICAgIH0sCiAKLSAgICAv
KioKLSAgICAgKiBAcGFyYW0geyFBcnJheS48IVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
LkRlc2NyaXB0b3I+fSBrZXlzCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uCi0g
ICAgICovCiAgICAgYWRkUmVsYXRlZEtleXM6IGZ1bmN0aW9uKGtleXMsIGRlc2NyaXB0aW9uKQog
ICAgIHsKICAgICAgICAgdGhpcy5fYWRkTGluZSh0aGlzLl9yZW5kZXJTZXF1ZW5jZShrZXlzLCAi
LyIpLCBkZXNjcmlwdGlvbik7CiAgICAgfSwKIAotICAgIC8qKgotICAgICAqIEBwYXJhbSB7IUFy
cmF5LjwhV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuRGVzY3JpcHRvcj59IGtleXMKLSAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24KLSAgICAgKi8KICAgICBhZGRBbHRlcm5h
dGVLZXlzOiBmdW5jdGlvbihrZXlzLCBkZXNjcmlwdGlvbikKICAgICB7CiAgICAgICAgIHRoaXMu
X2FkZExpbmUodGhpcy5fcmVuZGVyU2VxdWVuY2Uoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJvciIpKSwgZGVzY3JpcHRpb24pOwogICAgIH0sCiAKLSAgICAvKioKLSAgICAgKiBAcGFyYW0g
eyFOb2RlfSBrZXlFbGVtZW50Ci0gICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uCi0g
ICAgICovCiAgICAgX2FkZExpbmU6IGZ1bmN0aW9uKGtleUVsZW1lbnQsIGRlc2NyaXB0aW9uKQog
ICAgIHsKICAgICAgICAgdGhpcy5fbGluZXMucHVzaCh7IGtleToga2V5RWxlbWVudCwgdGV4dDog
ZGVzY3JpcHRpb24gfSkKQEAgLTE1MiwzMyArMTI4LDE4IEBAIFdlYkluc3BlY3Rvci5TaG9ydGN1
dHNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgIH0sCiAKLSAgICAvKioKLSAg
ICAgKiBAcGFyYW0geyFBcnJheS48IVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LkRlc2Ny
aXB0b3I+fSBzZXF1ZW5jZQotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkZWxpbWl0ZXIKLSAgICAg
KiBAcmV0dXJuIHshTm9kZX0KLSAgICAgKi8KICAgICBfcmVuZGVyU2VxdWVuY2U6IGZ1bmN0aW9u
KHNlcXVlbmNlLCBkZWxpbWl0ZXIpCiAgICAgewogICAgICAgICB2YXIgZGVsaW1pdGVyU3BhbiA9
IHRoaXMuX2NyZWF0ZVNwYW4oImhlbHAta2V5LWRlbGltaXRlciIsIGRlbGltaXRlcik7CiAgICAg
ICAgIHJldHVybiB0aGlzLl9qb2luTm9kZXMoc2VxdWVuY2UubWFwKHRoaXMuX3JlbmRlcktleS5i
aW5kKHRoaXMpKSwgZGVsaW1pdGVyU3Bhbik7CiAgICAgfSwKIAotICAgIC8qKgotICAgICAqIEBw
YXJhbSB7IVdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LkRlc2NyaXB0b3J9IGtleQotICAg
ICAqIEByZXR1cm4geyFOb2RlfQotICAgICAqLwogICAgIF9yZW5kZXJLZXk6IGZ1bmN0aW9uKGtl
eSkKICAgICB7Ci0gICAgICAgIHZhciBrZXlOYW1lID0ga2V5Lm5hbWU7CiAgICAgICAgIHZhciBw
bHVzID0gdGhpcy5fY3JlYXRlU3BhbigiaGVscC1jb21iaW5lLWtleXMiLCAiKyIpOwotICAgICAg
ICByZXR1cm4gdGhpcy5fam9pbk5vZGVzKGtleU5hbWUuc3BsaXQoIiArICIpLm1hcCh0aGlzLl9j
cmVhdGVTcGFuLmJpbmQodGhpcywgImhlbHAta2V5IG1vbm9zcGFjZSIpKSwgcGx1cyk7CisgICAg
ICAgIHJldHVybiB0aGlzLl9qb2luTm9kZXMoa2V5LnNwbGl0KCIgKyAiKS5tYXAodGhpcy5fY3Jl
YXRlU3Bhbi5iaW5kKHRoaXMsICJoZWxwLWtleSBtb25vc3BhY2UiKSksIHBsdXMpOwogICAgIH0s
CiAKLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gY2xhc3NOYW1lCi0gICAgICogQHBh
cmFtIHtzdHJpbmd9IHRleHRDb250ZW50Ci0gICAgICogQHJldHVybiB7IUVsZW1lbnR9Ci0gICAg
ICovCiAgICAgX2NyZWF0ZVNwYW46IGZ1bmN0aW9uKGNsYXNzTmFtZSwgdGV4dENvbnRlbnQpCiAg
ICAgewogICAgICAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsK
QEAgLTE4NywxMSArMTQ4LDYgQEAgV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1NlY3Rpb24ucHJvdG90
eXBlID0gewogICAgICAgICByZXR1cm4gbm9kZTsKICAgICB9LAogCi0gICAgLyoqCi0gICAgICog
QHBhcmFtIHshQXJyYXkuPCFFbGVtZW50Pn0gbm9kZXMKLSAgICAgKiBAcGFyYW0geyFFbGVtZW50
fSBkZWxpbWl0ZXIKLSAgICAgKiBAcmV0dXJuIHshTm9kZX0KLSAgICAgKi8KICAgICBfam9pbk5v
ZGVzOiBmdW5jdGlvbihub2RlcywgZGVsaW1pdGVyKQogICAgIHsKICAgICAgICAgdmFyIHJlc3Vs
dCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4
IGY3MTk2YTFmMjVlZDY0MGZhNmY1ZDYwYzU1ZTY5YzkxYThlNWRmNTAuLjI5YjBlOTI0ZWE3ODU2
ZjRmYWE0OTYyNmEyYWFmNzljNTRiODlkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpAQCAtNjkzLDYgKzY5
Myw0MiBAQCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAg
ICAgICB9CiAgICAgfSwKIAorICAgIHJlZ2lzdGVyU2hvcnRjdXRzOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5zaG9ydGN1dHNTY3JlZW4uc2Vj
dGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0eWxlcyBQYW5lIikpOworICAgICAgICB2YXIg
c2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dDsKKyAgICAgICAgdmFyIGtl
eXMgPSBbCisgICAgICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0Lktl
eXMuVGFiKSwKKyAgICAgICAgICAgIHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoc2hvcnRjdXQu
S2V5cy5UYWIsIHNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCkKKyAgICAgICAgXTsKKyAgICAgICAg
c2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhrZXlzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5leHQv
cHJldmlvdXMgcHJvcGVydHkiKSk7CisgICAgICAgIGtleXMgPSBbCisgICAgICAgICAgICBzaG9y
dGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuVXApLAorICAgICAgICAgICAgc2hv
cnRjdXQuc2hvcnRjdXRUb1N0cmluZyhzaG9ydGN1dC5LZXlzLkRvd24pCisgICAgICAgIF07Cisg
ICAgICAgIHNlY3Rpb24uYWRkUmVsYXRlZEtleXMoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIikpOworICAgICAgICBrZXlzID0gWworICAgICAg
ICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZyhzaG9ydGN1dC5LZXlzLlVwLCBzaG9ydGN1
dC5Nb2RpZmllcnMuU2hpZnQpLAorICAgICAgICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmlu
ZyhzaG9ydGN1dC5LZXlzLkRvd24sIHNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCkKKyAgICAgICAg
XTsKKyAgICAgICAgc2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhrZXlzLCBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkluY3JlbWVudC9kZWNyZW1lbnQgYnkgJWYiLCAxMCkpOworICAgICAgICBrZXlzID0g
WworICAgICAgICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZyhzaG9ydGN1dC5LZXlzLlBh
Z2VVcCksCisgICAgICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0Lktl
eXMuUGFnZURvd24pCisgICAgICAgIF07CisgICAgICAgIHNlY3Rpb24uYWRkUmVsYXRlZEtleXMo
a2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbmNyZW1lbnQvZGVjcmVtZW50IGJ5ICVmIiwg
MTApKTsKKyAgICAgICAga2V5cyA9IFsKKyAgICAgICAgICAgIHNob3J0Y3V0LnNob3J0Y3V0VG9T
dHJpbmcoc2hvcnRjdXQuS2V5cy5QYWdlVXAsIHNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCksCisg
ICAgICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuUGFnZURv
d24sIHNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCkKKyAgICAgICAgXTsKKyAgICAgICAgc2VjdGlv
bi5hZGRSZWxhdGVkS2V5cyhrZXlzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkluY3JlbWVudC9k
ZWNyZW1lbnQgYnkgJWYiLCAxMDApKTsKKyAgICAgICAga2V5cyA9IFsKKyAgICAgICAgICAgIHNo
b3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoc2hvcnRjdXQuS2V5cy5QYWdlVXAsIHNob3J0Y3V0Lk1v
ZGlmaWVycy5BbHQpLAorICAgICAgICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZyhzaG9y
dGN1dC5LZXlzLlBhZ2VEb3duLCBzaG9ydGN1dC5Nb2RpZmllcnMuQWx0KQorICAgICAgICBdOwor
ICAgICAgICBzZWN0aW9uLmFkZFJlbGF0ZWRLZXlzKGtleXMsIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiSW5jcmVtZW50L2RlY3JlbWVudCBieSAlZiIsIDAuMSkpOworICAgIH0sCisKICAgICBfdG9n
Z2xlRWxlbWVudFN0YXRlUGFuZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICBldmVu
dC5jb25zdW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1RpbWVsaW5lUGFuZWwuanMKaW5kZXggNjEwMDE3YzFkNGY3YmFhMjMwODEzMmU0NWU3NTY4N2Vk
OWJhZDVmMS4uNDdmZGIzOWNjZmE5OTkxODQ2NTA0YzMwMmZkZDNkZGZkZGRiZjFjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5q
cwpAQCAtMzExLDEwICszMTEsMjAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90
eXBlID0gewogCiAgICAgX3JlZ2lzdGVyU2hvcnRjdXRzOiBmdW5jdGlvbigpCiAgICAgewotICAg
ICAgICB0aGlzLnJlZ2lzdGVyU2hvcnRjdXRzKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsRGVz
Y3JpcHRvci5TaG9ydGN1dEtleXMuU3RhcnRTdG9wUmVjb3JkaW5nLCB0aGlzLl90b2dnbGVUaW1l
bGluZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIGlmIChJbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY2FuU2F2ZSgpKQotICAgICAgICAgICAgdGhpcy5yZWdpc3RlclNob3J0Y3V0cyhX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbERlc2NyaXB0b3IuU2hvcnRjdXRLZXlzLlNhdmVUb0Zp
bGUsIHRoaXMuX3NhdmVUb0ZpbGUuYmluZCh0aGlzKSk7Ci0gICAgICAgIHRoaXMucmVnaXN0ZXJT
aG9ydGN1dHMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5
cy5Mb2FkRnJvbUZpbGUsIHRoaXMuX2ZpbGVTZWxlY3RvckVsZW1lbnQuY2xpY2suYmluZCh0aGlz
Ll9maWxlU2VsZWN0b3JFbGVtZW50KSk7CisgICAgICAgIHZhciBzaG9ydGN1dCA9IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0OworICAgICAgICB2YXIgbW9kaWZpZXJzID0gc2hvcnRjdXQu
TW9kaWZpZXJzOworICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5zaG9ydGN1dHNT
Y3JlZW4uc2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVsaW5lIFBhbmVsIikpOwor
CisgICAgICAgIHRoaXMuX3Nob3J0Y3V0c1tzaG9ydGN1dC5tYWtlS2V5KCJlIiwgbW9kaWZpZXJz
LkN0cmxPck1ldGEpXSA9IHRoaXMuX3RvZ2dsZVRpbWVsaW5lQnV0dG9uQ2xpY2tlZC5iaW5kKHRo
aXMpOworICAgICAgICBzZWN0aW9uLmFkZEtleShzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKCJl
IiwgbW9kaWZpZXJzLkN0cmxPck1ldGEpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0YXJ0L3N0
b3AgcmVjb3JkaW5nIikpOworCisgICAgICAgIGlmIChJbnNwZWN0b3JGcm9udGVuZEhvc3QuY2Fu
U2F2ZSgpKSB7CisgICAgICAgICAgICB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXQubWFrZUtleSgi
cyIsIG1vZGlmaWVycy5DdHJsT3JNZXRhKV0gPSB0aGlzLl9zYXZlVG9GaWxlLmJpbmQodGhpcyk7
CisgICAgICAgICAgICBzZWN0aW9uLmFkZEtleShzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKCJz
IiwgbW9kaWZpZXJzLkN0cmxPck1ldGEpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNhdmUgdGlt
ZWxpbmUgZGF0YSIpKTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX3Nob3J0Y3V0c1tzaG9y
dGN1dC5tYWtlS2V5KCJvIiwgbW9kaWZpZXJzLkN0cmxPck1ldGEpXSA9IHRoaXMuX2ZpbGVTZWxl
Y3RvckVsZW1lbnQuY2xpY2suYmluZCh0aGlzLl9maWxlU2VsZWN0b3JFbGVtZW50KTsKKyAgICAg
ICAgc2VjdGlvbi5hZGRLZXkoc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZygibyIsIG1vZGlmaWVy
cy5DdHJsT3JNZXRhKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2FkIHRpbWVsaW5lIGRhdGEi
KSk7CiAgICAgfSwKIAogICAgIF9jcmVhdGVGaWxlU2VsZWN0b3I6IGZ1bmN0aW9uKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbERl
c2NyaXB0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UGFuZWxEZXNjcmlwdG9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODM0ZjBk
ZjY4Zjc5YzQ1ODk2NzE5Mzk5ZmNlOTkzYWI5YjA5MWJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVQYW5lbERlc2NyaXB0b3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0gKiBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBH
T09HTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEdPT0dMRSBJTkMuCi0gKiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLS8qKgotICogQGNvbnN0cnVjdG9yCi0gKiBAZXh0ZW5kcyB7
V2ViSW5zcGVjdG9yLlBhbmVsRGVzY3JpcHRvcn0KLSAqLwotV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWxEZXNjcmlwdG9yID0gZnVuY3Rpb24oKQotewotICAgIFdlYkluc3BlY3Rvci5QYW5lbERl
c2NyaXB0b3IuY2FsbCh0aGlzLCAidGltZWxpbmUiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRp
bWVsaW5lIiksICJUaW1lbGluZVBhbmVsIiwgIlRpbWVsaW5lUGFuZWwuanMiKTsKLX0KLQotV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUGFuZWxEZXNjcmlwdG9yLnByb3RvdHlwZSA9IHsKLSAgICByZWdp
c3RlclNob3J0Y3V0czogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIHNlY3Rpb24gPSBX
ZWJJbnNwZWN0b3Iuc2hvcnRjdXRzU2NyZWVuLnNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJUaW1lbGluZSBQYW5lbCIpKTsKLSAgICAgICAgc2VjdGlvbi5hZGRBbHRlcm5hdGVLZXlzKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVBhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtleXMuU3RhcnRTdG9w
UmVjb3JkaW5nLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0YXJ0L3N0b3AgcmVjb3JkaW5nIikp
OwotICAgICAgICBpZiAoSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNhblNhdmUoKSkKLSAgICAgICAg
ICAgIHNlY3Rpb24uYWRkQWx0ZXJuYXRlS2V5cyhXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbERl
c2NyaXB0b3IuU2hvcnRjdXRLZXlzLlNhdmVUb0ZpbGUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2F2ZSB0aW1lbGluZSBkYXRhIikpOwotICAgICAgICBzZWN0aW9uLmFkZEFsdGVybmF0ZUtleXMo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWxEZXNjcmlwdG9yLlNob3J0Y3V0S2V5cy5Mb2FkRnJv
bUZpbGUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9hZCB0aW1lbGluZSBkYXRhIikpOwotICAg
IH0sCi0KLSAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5QYW5lbERlc2NyaXB0b3IucHJvdG90
eXBlCi19Ci0KLVdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsRGVzY3JpcHRvci5TaG9ydGN1dEtl
eXMgPSB7Ci0gICAgU3RhcnRTdG9wUmVjb3JkaW5nOiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJlIiwgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpCi0gICAgXSwKLQotICAgIFNhdmVUb0ZpbGU6
IFsKLSAgICAgICAgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3Io
InMiLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSkK
LSAgICBdLAotCi0gICAgTG9hZEZyb21GaWxlOiBbCi0gICAgICAgIFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJvIiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpCi0gICAgXQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IGZkYTJlZTg0MjQ1Y2IxODNjYzEz
OWM2ODRkZjAwZmNiMzBlYTRjNmYuLmNjZmFiYzNjNzM5YWQ3MWU5MGNkYTU5ZTNhMDJmMjNhMWE5
MmQ0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5x
cmMKQEAgLTIwMyw3ICsyMDMsNiBAQAogICAgIDxmaWxlPlRpbWVsaW5lR3JpZC5qczwvZmlsZT4K
ICAgICA8ZmlsZT5UaW1lbGluZU92ZXJ2aWV3UGFuZS5qczwvZmlsZT4KICAgICA8ZmlsZT5UaW1l
bGluZVBhbmVsLmpzPC9maWxlPgotICAgIDxmaWxlPlRpbWVsaW5lUGFuZWxEZXNjcmlwdG9yLmpz
PC9maWxlPgogICAgIDxmaWxlPlRvb2xiYXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+VG9wRG93blBy
b2ZpbGVEYXRhR3JpZFRyZWUuanM8L2ZpbGU+CiAgICAgPGZpbGU+dHJlZW91dGxpbmUuanM8L2Zp
bGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbAppbmRleCA0MTgxNTZmODBmZmRmMjQ3NDdjZDlkZWM3MzM3NTFhMDBmZTgyOWI4Li4xOWM5
MzM4OWY5MzZlYTJmZWUzZjQ3YmRmOTBhZTAxNDc5NWI1MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTE2OSw3ICsxNjks
NiBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkVs
ZW1lbnRzUGFuZWxEZXNjcmlwdG9yLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJOZXR3b3JrUGFuZWxEZXNjcmlwdG9yLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTY3JpcHRzUGFuZWxEZXNj
cmlwdG9yLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJUaW1lbGluZVBhbmVsRGVzY3JpcHRvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRG9ja0NvbnRyb2xsZXIuanMiPjwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHkgY2xhc3M9InVuZG9ja2VkIiBpZD0iLXdlYmtpdC13ZWItaW5zcGVjdG9y
Ij4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMK
aW5kZXggYzMyNGY5YWI3Yjg5ZTc2ZTA2ZWI2YWQ0NTliMGU2NTM5MjA5NmFlYi4uZDllMTgwMTEw
ZTk1MDcwZThiMTYyNTVmNDEyOGM4ZDQwNDcyYzZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTQxLDcgKzQxLDcgQEAgdmFyIFdl
Ykluc3BlY3RvciA9IHsKICAgICAgICAgdmFyIHJlc291cmNlcyA9IG5ldyBXZWJJbnNwZWN0b3Iu
UGFuZWxEZXNjcmlwdG9yKCJyZXNvdXJjZXMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlc291
cmNlcyIpLCAiUmVzb3VyY2VzUGFuZWwiLCAiUmVzb3VyY2VzUGFuZWwuanMiKTsKICAgICAgICAg
dmFyIG5ldHdvcmsgPSBuZXcgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbERlc2NyaXB0b3IoKTsK
ICAgICAgICAgdmFyIHNjcmlwdHMgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbERlc2Ny
aXB0b3IoKTsKLSAgICAgICAgdmFyIHRpbWVsaW5lID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVBhbmVsRGVzY3JpcHRvcigpOworICAgICAgICB2YXIgdGltZWxpbmUgPSBuZXcgV2ViSW5zcGVj
dG9yLlBhbmVsRGVzY3JpcHRvcigidGltZWxpbmUiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRp
bWVsaW5lIiksICJUaW1lbGluZVBhbmVsIiwgIlRpbWVsaW5lUGFuZWwuanMiKTsKICAgICAgICAg
dmFyIHByb2ZpbGVzID0gbmV3IFdlYkluc3BlY3Rvci5QYW5lbERlc2NyaXB0b3IoInByb2ZpbGVz
IiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQcm9maWxlcyIpLCAiUHJvZmlsZXNQYW5lbCIsICJQ
cm9maWxlc1BhbmVsLmpzIik7CiAgICAgICAgIHZhciBhdWRpdHMgPSBuZXcgV2ViSW5zcGVjdG9y
LlBhbmVsRGVzY3JpcHRvcigiYXVkaXRzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBdWRpdHMi
KSwgIkF1ZGl0c1BhbmVsIiwgIkF1ZGl0c1BhbmVsLmpzIik7CiAgICAgICAgIHZhciBjb25zb2xl
ID0gbmV3IFdlYkluc3BlY3Rvci5QYW5lbERlc2NyaXB0b3IoImNvbnNvbGUiLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkNvbnNvbGUiKSwgIkNvbnNvbGVQYW5lbCIpOwpAQCAtNTUsNiArNTUsNyBA
QCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICAgICAgcGFuZWxEZXNjcmlwdG9ycy5wdXNo
KGNvbnNvbGUpOwogICAgICAgICAgICAgcmV0dXJuIHBhbmVsRGVzY3JpcHRvcnM7CiAgICAgICAg
IH0KKyAgICAgICAgdmFyIGFsbERlc2NyaXB0b3JzID0gW2VsZW1lbnRzLCByZXNvdXJjZXMsIG5l
dHdvcmssIHNjcmlwdHMsIHRpbWVsaW5lLCBwcm9maWxlcywgYXVkaXRzLCBjb25zb2xlXTsKICAg
ICAgICAgdmFyIGhpZGRlblBhbmVscyA9IEluc3BlY3RvckZyb250ZW5kSG9zdC5oaWRkZW5QYW5l
bHMoKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbGxEZXNjcmlwdG9ycy5sZW5ndGg7
ICsraSkgewogICAgICAgICAgICAgaWYgKGhpZGRlblBhbmVscy5pbmRleE9mKGFsbERlc2NyaXB0
b3JzW2ldLm5hbWUoKSkgPT09IC0xKQpAQCAtMzg1LDEwICszODYsNiBAQCBXZWJJbnNwZWN0b3Iu
X2RvTG9hZGVkRG9uZVdpdGhDYXBhYmlsaXRpZXMgPSBmdW5jdGlvbigpCiAgICAgV2ViSW5zcGVj
dG9yLnNob3J0Y3V0c1NjcmVlbi5zZWN0aW9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29uc29s
ZSIpKTsKICAgICBXZWJJbnNwZWN0b3Iuc2hvcnRjdXRzU2NyZWVuLnNlY3Rpb24oV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJFbGVtZW50cyBQYW5lbCIpKTsKIAotICAgIHZhciBwYW5lbERlc2NyaXB0
b3JzID0gdGhpcy5fcGFuZWxEZXNjcmlwdG9ycygpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cGFuZWxEZXNjcmlwdG9ycy5sZW5ndGg7ICsraSkKLSAgICAgICAgcGFuZWxEZXNjcmlwdG9yc1tp
XS5yZWdpc3RlclNob3J0Y3V0cygpOwotCiAgICAgdGhpcy5jb25zb2xlID0gbmV3IFdlYkluc3Bl
Y3Rvci5Db25zb2xlTW9kZWwoKTsKICAgICB0aGlzLmNvbnNvbGUuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuQ29uc29sZU1vZGVsLkV2ZW50cy5Db25zb2xlQ2xlYXJlZCwgdGhpcy5fdXBk
YXRlRXJyb3JBbmRXYXJuaW5nQ291bnRzLCB0aGlzKTsKICAgICB0aGlzLmNvbnNvbGUuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29uc29sZU1vZGVsLkV2ZW50cy5NZXNzYWdlQWRkZWQs
IHRoaXMuX3VwZGF0ZUVycm9yQW5kV2FybmluZ0NvdW50cywgdGhpcyk7CkBAIC00NTAsNiArNDQ3
LDcgQEAgV2ViSW5zcGVjdG9yLl9kb0xvYWRlZERvbmVXaXRoQ2FwYWJpbGl0aWVzID0gZnVuY3Rp
b24oKQogCiAgICAgdGhpcy50b29sYmFyID0gbmV3IFdlYkluc3BlY3Rvci5Ub29sYmFyKCk7CiAg
ICAgV2ViSW5zcGVjdG9yLnN0YXJ0QmF0Y2hVcGRhdGUoKTsKKyAgICB2YXIgcGFuZWxEZXNjcmlw
dG9ycyA9IHRoaXMuX3BhbmVsRGVzY3JpcHRvcnMoKTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHBhbmVsRGVzY3JpcHRvcnMubGVuZ3RoOyArK2kpCiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNw
ZWN0b3JWaWV3LmFkZFBhbmVsKHBhbmVsRGVzY3JpcHRvcnNbaV0pOwogICAgIFdlYkluc3BlY3Rv
ci5lbmRCYXRjaFVwZGF0ZSgpOwpAQCAtNjIwLDQxICs2MTgsMzggQEAgV2ViSW5zcGVjdG9yLl9y
ZWdpc3RlclNob3J0Y3V0cyA9IGZ1bmN0aW9uKCkKICAgICB2YXIgc2hvcnRjdXQgPSBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dDsKICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5z
aG9ydGN1dHNTY3JlZW4uc2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFsbCBQYW5lbHMi
KSk7CiAgICAgdmFyIGtleXMgPSBbCi0gICAgICAgIHNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJd
Iiwgc2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpLAotICAgICAgICBzaG9ydGN1dC5tYWtl
RGVzY3JpcHRvcigiWyIsIHNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsT3JNZXRhKQorICAgICAgICBz
aG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKCJdIiwgc2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1l
dGEpLAorICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKCJbIiwgc2hvcnRjdXQuTW9k
aWZpZXJzLkN0cmxPck1ldGEpCiAgICAgXTsKICAgICBzZWN0aW9uLmFkZFJlbGF0ZWRLZXlzKGtl
eXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiR28gdG8gdGhlIHBhbmVsIHRvIHRoZSBsZWZ0L3Jp
Z2h0IikpOwogCiAgICAgdmFyIGtleXMgPSBbCi0gICAgICAgIHNob3J0Y3V0Lm1ha2VEZXNjcmlw
dG9yKCJbIiwgc2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEgfCBzaG9ydGN1dC5Nb2RpZmll
cnMuQWx0KSwKLSAgICAgICAgc2hvcnRjdXQubWFrZURlc2NyaXB0b3IoIl0iLCBzaG9ydGN1dC5N
b2RpZmllcnMuQ3RybE9yTWV0YSB8IHNob3J0Y3V0Lk1vZGlmaWVycy5BbHQpCisgICAgICAgIHNo
b3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoIlsiLCBzaG9ydGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0
YSB8IHNob3J0Y3V0Lk1vZGlmaWVycy5BbHQpLAorICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRv
U3RyaW5nKCJdIiwgc2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEgfCBzaG9ydGN1dC5Nb2Rp
ZmllcnMuQWx0KQogICAgIF07CiAgICAgc2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhrZXlzLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkdvIGJhY2svZm9yd2FyZCBpbiBwYW5lbCBoaXN0b3J5IikpOwog
Ci0gICAgc2VjdGlvbi5hZGRLZXkoc2hvcnRjdXQubWFrZURlc2NyaXB0b3Ioc2hvcnRjdXQuS2V5
cy5Fc2MpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRvZ2dsZSBjb25zb2xlIikpOwotICAgIHNl
Y3Rpb24uYWRkS2V5KHNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJmIiwgc2hvcnRjdXQuTW9kaWZp
ZXJzLkN0cmxPck1ldGEpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlYXJjaCIpKTsKKyAgICBz
ZWN0aW9uLmFkZEtleShzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuRXNj
KSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb2dnbGUgY29uc29sZSIpKTsKKyAgICBzZWN0aW9u
LmFkZEtleShzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKCJmIiwgc2hvcnRjdXQuTW9kaWZpZXJz
LkN0cmxPck1ldGEpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlYXJjaCIpKTsKIAogICAgIHZh
ciBhZHZhbmNlZFNlYXJjaFNob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5jcmVhdGVTaG9ydGN1dCgpOwotICAgIHNlY3Rpb24uYWRkS2V5KGFkdmFuY2VkU2Vh
cmNoU2hvcnRjdXQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VhcmNoIGFjcm9zcyBhbGwgc291
cmNlcyIpKTsKKyAgICBzZWN0aW9uLmFkZEtleShhZHZhbmNlZFNlYXJjaFNob3J0Y3V0Lm5hbWUs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VhcmNoIGFjcm9zcyBhbGwgc291cmNlcyIpKTsKIAog
ICAgIHZhciBvcGVuUmVzb3VyY2VTaG9ydGN1dCA9IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lm1ha2VEZXNjcmlwdG9yKCJvIiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXJzLkN0cmxPck1ldGEpOwotICAgIHNlY3Rpb24uYWRkS2V5KG9wZW5SZXNvdXJjZVNob3J0
Y3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdvIHRvIHNvdXJjZSIpKTsKKyAgICBzZWN0aW9u
LmFkZEtleShvcGVuUmVzb3VyY2VTaG9ydGN1dC5uYW1lLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkdvIHRvIHNvdXJjZSIpKTsKIAogICAgIGlmIChXZWJJbnNwZWN0b3IuaXNNYWMoKSkgewogICAg
ICAgICBrZXlzID0gWwotICAgICAgICAgICAgc2hvcnRjdXQubWFrZURlc2NyaXB0b3IoImciLCBz
aG9ydGN1dC5Nb2RpZmllcnMuTWV0YSksCi0gICAgICAgICAgICBzaG9ydGN1dC5tYWtlRGVzY3Jp
cHRvcigiZyIsIHNob3J0Y3V0Lk1vZGlmaWVycy5NZXRhIHwgc2hvcnRjdXQuTW9kaWZpZXJzLlNo
aWZ0KQorICAgICAgICAgICAgc2hvcnRjdXQuc2hvcnRjdXRUb1N0cmluZygiZyIsIHNob3J0Y3V0
Lk1vZGlmaWVycy5NZXRhKSwKKyAgICAgICAgICAgIHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmco
ImciLCBzaG9ydGN1dC5Nb2RpZmllcnMuTWV0YSB8IHNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCkK
ICAgICAgICAgXTsKICAgICAgICAgc2VjdGlvbi5hZGRSZWxhdGVkS2V5cyhrZXlzLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkZpbmQgbmV4dC9wcmV2aW91cyIpKTsKICAgICB9CiAKICAgICB2YXIg
Z29Ub1Nob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlhbG9nLmNyZWF0ZVNob3J0Y3V0
KCk7Ci0gICAgc2VjdGlvbi5hZGRLZXkoZ29Ub1Nob3J0Y3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkdvIHRvIGxpbmUiKSk7CisgICAgc2VjdGlvbi5hZGRLZXkoZ29Ub1Nob3J0Y3V0Lm5hbWUs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiR28gdG8gbGluZSIpKTsKIH0KIAotLyoqCi0gKiBAcGFy
YW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50Ci0gKi8KIFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURv
d24gPSBmdW5jdGlvbihldmVudCkKIHsKICAgICBjb25zdCBoZWxwS2V5ID0gV2ViSW5zcGVjdG9y
LmlzTWFjKCkgPyAiVSswMDNGIiA6ICJVKzAwQkYiOyAvLyAiPyIgZm9yIGJvdGggcGxhdGZvcm1z
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>