<?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>220762</bug_id>
          
          <creation_ts>2021-01-19 22:38:28 -0800</creation_ts>
          <short_desc>BuildbotTriggerable should not update build requests from another triggerable.</short_desc>
          <delta_ts>2021-01-20 00:32:04 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dewei_zhu</reporter>
          <assigned_to>dewei_zhu</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1720811</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2021-01-19 22:38:28 -0800</bug_when>
    <thetext>BuildbotTriggerable should not update build requests from another triggerable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720814</commentid>
    <comment_count>1</comment_count>
      <attachid>417943</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-01-19 23:10:41 -0800</bug_when>
    <thetext>Created attachment 417943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720815</commentid>
    <comment_count>2</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2021-01-19 23:13:30 -0800</bug_when>
    <thetext>rdar://73166544
rdar://72347539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720817</commentid>
    <comment_count>3</comment_count>
      <attachid>417943</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-01-19 23:20:57 -0800</bug_when>
    <thetext>Comment on attachment 417943
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=417943&amp;action=review

&gt; Websites/perf.webkit.org/public/api/build-requests.php:53
&gt; +        $update_fields = array();

This should be either fields_to_update or updated_fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720818</commentid>
    <comment_count>4</comment_count>
      <attachid>417945</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-01-19 23:33:34 -0800</bug_when>
    <thetext>Created attachment 417945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720819</commentid>
    <comment_count>5</comment_count>
      <attachid>417946</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-01-19 23:39:45 -0800</bug_when>
    <thetext>Created attachment 417946
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720824</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-20 00:32:01 -0800</bug_when>
    <thetext>Committed r271639: &lt;https://trac.webkit.org/changeset/271639&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417946.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417943</attachid>
            <date>2021-01-19 23:10:41 -0800</date>
            <delta_ts>2021-01-19 23:33:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220762-20210119231040.patch</filename>
            <type>text/plain</type>
            <size>21700</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjM3CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA3MDZiMDg0ZjQxMWNjMjZlYjIzZTM3NmYyMWJhZjk1ZmJkMGI2M2FiLi5iNjdkY2UwZDg5
NjAyMThlZDNmOGM4NjY5MzYxY2QyZjg0MzJiN2ZjIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wMS0xOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBCdWlsZGJvdFRyaWdnZXJhYmxlIHNob3VsZCBub3QgdXBk
YXRlIGJ1aWxkIHJlcXVlc3RzIGZyb20gYW5vdGhlciB0cmlnZ2VyYWJsZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDc2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1aWxkYm90VHJpZ2dlcmFibGUu
X3B1bGxCdWlsZGJvdE9uQWxsU3luY2VycyBhc3N1bWVzICdCdWlsZFJlcXVlc3QuYWxsKCknIHJl
dHVybnMgYWxsIGJ1aWxkIHJlcXVlc3RzIHVuZGVyIGN1cnJlbnQgdHJpZ2dlcmFibGUuCisgICAg
ICAgIEhvd2V2ZXIsIHRoaXMgYXNzdW1wdGlvbiBnb3QgYnJva2VuIHdoZW4gcm9vdCByZXVzZSBj
aGFuZ2Ugd2FzIGludHJvZHVjZWQgYmVjYXVzZSBidWlsZCByZXF1ZXN0cyB1bmRlciBzYW1lIGFu
YWx5c2lzIHRhc2sgYXJlCisgICAgICAgIGZldGNoZWQuIFRodXMsICdCdWlsZFJlcXVlc3QuYWxs
KCknIG1heSBjb250YWluIGJ1aWxkIHJlcXVlc3RzIHRob3NlIGFyZSBub3QgdW5kZXIgY3VycmVu
dCB0cmlnZ2VyYWJsZS4gQW5kIHRob3NlIGJ1aWxkIHJlcXVlc3RzCisgICAgICAgIHdpbGwgYmUg
dXBkYXRlZCB0byAnZmFpbGVkSWZOb3RDb21wbGV0ZWQnLgorICAgICAgICBVcGRhdGUgJ2FwaS9i
dWlsZC1yZXF1ZXN0cycgc28gdGhhdCAndXJsJyBhbmQgJ3N0YXR1c19kZXNjcmlwdGlvbicgZmll
bGRzIGFyZSBub3QgY2xlYXJlZCBpZiB1cGRhdGUgZG9lcyBub3Qgc3BlY2lmeSB0aGVtLgorCisg
ICAgICAgICogcHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHA6IEFkZGVkIGxvZ2ljIHRvIGF2
b2lkIHVwZGF0aW5nICd1cmwnIGFuZCAnc3RhdHVzX2Rlc2NyaXB0aW9uJyBpZiB0aGV5IGFyZSBu
b3Qgc3BlY2lmaWVkLgorICAgICAgICAqIHNlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMt
dGVzdHMuanM6IEFkZGVkIGFuIHVuaXQgdGVzdC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvcmVz
b3VyY2VzL21vY2stZGF0YS5qczoKKyAgICAgICAgKE1vY2tEYXRhLmFzeW5jIHNldCBhZGRNb2Nr
QnVpbGRSZXF1ZXN0c0ZvclR3b1RyaWdnZXJhYmxlc1VuZGVyT25lQW5hbHlzaXNUYXNrKToKKyAg
ICAgICAgKiBzZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dlcmFibGUtdGVzdHMuanM6
IEFkZGVkIGFuIHVuaXQgdGVzdC4KKyAgICAgICAgKiB0b29scy9qcy9idWlsZGJvdC10cmlnZ2Vy
YWJsZS5qczoKKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dlcmFibGUucHJvdG90eXBlLmFzeW5jIHN5
bmNPbmNlKTogRml4ZWQgYSB0eXBvLgorICAgICAgICAoQnVpbGRib3RUcmlnZ2VyYWJsZS5fcHVs
bEJ1aWxkYm90T25BbGxTeW5jZXJzKTogSW5zdGVhZCBvZiBpdGVyYXRpbmcgb3ZlciAnQnVpbGRS
ZXF1ZXN0LmFsbCgpJywgb25seSBzZXQgJ2ZhaWxlZElmTm90Q29tcGxldGVkJworICAgICAgICBm
b3IgYnVpbGQgcmVxdWVzdHMgdGhvc2UgYXJlIHVuZGVyIGN1cnJlbnQgdHJpZ2dlcmFibGUgYW5k
IHNhdGlzZnkgdGhlIGNvbmRpdGlvbi4KKwogMjAyMC0xMi0wOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlf
emh1QGFwcGxlLmNvbT4KIAogICAgICAgICAnQW5hbHlzaXNUYXNrLl9jb21taXRTZXRzSW5TYW1l
UGxhdGZvcm1Hcm91cCcgc2hvdWxkIG5vdCBmZXRjaCBhbiBpbnZhbGlkIHBsYXRmb3JtIGFuZCBt
ZXRyaWMgY29uZmlnIGZvciBhIE1lYXN1cmVtZW50U2V0LgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwIGIvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwCmluZGV4IGY1ZmU4
OWU3NGMwZTI3ZmQ5M2UxYjljZDMwZDI5ZjFiYzk3Zjg4NWYuLjcyOTM1NGJiMzQ2NWIwNDAwYzY1
MDRiNjgxOWVhZTU1ZGQ3ZTI2NTIgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocAorKysgYi9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHAKQEAgLTQ5LDYgKzQ5LDEzIEBAIGZ1
bmN0aW9uIHVwZGF0ZV9idWlsZHMoJGRiLCAkdXBkYXRlcykgewogICAgICAgICAkc3RhdHVzX2Rl
c2NyaXB0aW9uID0gYXJyYXlfZ2V0KCRpbmZvLCAnc3RhdHVzRGVzY3JpcHRpb24nKTsKICAgICAg
ICAgJGJ1aWxkX3JlcXVlc3RfZm9yX3Jvb3RfcmV1c2VfaWQgPSBhcnJheV9nZXQoJGluZm8sICdi
dWlsZFJlcXVlc3RGb3JSb290UmV1c2UnKTsKICAgICAgICAgJHJlcXVlc3Rfcm93ID0gJGRiLT5z
ZWxlY3RfZmlyc3Rfcm93KCdidWlsZF9yZXF1ZXN0cycsICdyZXF1ZXN0JywgYXJyYXkoJ2lkJyA9
PiAkaWQpKTsKKworICAgICAgICAkdXBkYXRlX2ZpZWxkcyA9IGFycmF5KCk7CisgICAgICAgIGlm
IChhcnJheV9rZXlfZXhpc3RzKCd1cmwnLCAkaW5mbykpCisgICAgICAgICAgICAkdXBkYXRlX2Zp
ZWxkc1sndXJsJ10gPSAkdXJsOworICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnc3RhdHVz
RGVzY3JpcHRpb24nLCAkaW5mbykpCisgICAgICAgICAgICAkdXBkYXRlX2ZpZWxkc1snc3RhdHVz
X2Rlc2NyaXB0aW9uJ10gPSAkc3RhdHVzX2Rlc2NyaXB0aW9uOworCiAgICAgICAgIGlmICgkc3Rh
dHVzID09ICdmYWlsZWRJZk5vdENvbXBsZXRlZCcpIHsKICAgICAgICAgICAgIGlmICghJHJlcXVl
c3Rfcm93KSB7CiAgICAgICAgICAgICAgICAgJGRiLT5yb2xsYmFja190cmFuc2FjdGlvbigpOwpA
QCAtNjIsMTMgKzY5LDE1IEBAIGZ1bmN0aW9uIHVwZGF0ZV9idWlsZHMoJGRiLCAkdXBkYXRlcykg
ewogICAgICAgICAgICAgICAgICAgICBXSEVSRSByZXF1ZXN0X2dyb3VwID0gJDEgQU5EIHJlcXVl
c3Rfb3JkZXIgPiAkMicsCiAgICAgICAgICAgICAgICAgICAgIGFycmF5KCRyZXF1ZXN0X3Jvd1sn
cmVxdWVzdF9ncm91cCddLCAkcmVxdWVzdF9yb3dbJ3JlcXVlc3Rfb3JkZXInXSkpOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgJGRiLT51cGRhdGVfcm93KCdidWlsZF9yZXF1ZXN0cycsICdy
ZXF1ZXN0JywgYXJyYXkoJ2lkJyA9PiAkaWQpLCBhcnJheSgnc3RhdHVzJyA9PiAnZmFpbGVkJywg
J3VybCcgPT4gJHVybCwgJ3N0YXR1c19kZXNjcmlwdGlvbicgPT4gJHN0YXR1c19kZXNjcmlwdGlv
bikpOworICAgICAgICAgICAgJHVwZGF0ZV9maWVsZHNbJ3N0YXR1cyddID0gJ2ZhaWxlZCc7Cisg
ICAgICAgICAgICAkZGItPnVwZGF0ZV9yb3coJ2J1aWxkX3JlcXVlc3RzJywgJ3JlcXVlc3QnLCBh
cnJheSgnaWQnID0+ICRpZCksICR1cGRhdGVfZmllbGRzKTsKICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIGlmICghaW5fYXJyYXkoJHN0YXR1cywgYXJyYXkoJ3BlbmRpbmcnLCAnc2NoZWR1
bGVkJywgJ3J1bm5pbmcnLCAnZmFpbGVkJywgJ2NvbXBsZXRlZCcsICdjYW5jZWxlZCcpKSkgewog
ICAgICAgICAgICAgICAgICRkYi0+cm9sbGJhY2tfdHJhbnNhY3Rpb24oKTsKICAgICAgICAgICAg
ICAgICBleGl0X3dpdGhfZXJyb3IoJ1Vua25vd25CdWlsZFJlcXVlc3RTdGF0dXMnLCBhcnJheSgn
YnVpbGRSZXF1ZXN0JyA9PiAkaWQsICdzdGF0dXMnID0+ICRzdGF0dXMpKTsKICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICRkYi0+dXBkYXRlX3JvdygnYnVpbGRfcmVxdWVzdHMnLCAncmVxdWVz
dCcsIGFycmF5KCdpZCcgPT4gJGlkKSwgYXJyYXkoJ3N0YXR1cycgPT4gJHN0YXR1cywgJ3VybCcg
PT4gJHVybCwgJ3N0YXR1c19kZXNjcmlwdGlvbicgPT4gJHN0YXR1c19kZXNjcmlwdGlvbikpOwor
ICAgICAgICAgICAgJHVwZGF0ZV9maWVsZHNbJ3N0YXR1cyddID0gJHN0YXR1czsKKyAgICAgICAg
ICAgICRkYi0+dXBkYXRlX3JvdygnYnVpbGRfcmVxdWVzdHMnLCAncmVxdWVzdCcsIGFycmF5KCdp
ZCcgPT4gJGlkKSwgJHVwZGF0ZV9maWVsZHMpOwogICAgICAgICAgICAgaWYgKCRidWlsZF9yZXF1
ZXN0X2Zvcl9yb290X3JldXNlX2lkKSB7CiAgICAgICAgICAgICAgICAgJGJ1aWxkX3JlcXVlc3Rf
Zm9yX3Jvb3RfcmV1c2VfaWQgPSBpbnR2YWwoJGJ1aWxkX3JlcXVlc3RfZm9yX3Jvb3RfcmV1c2Vf
aWQpOwogICAgICAgICAgICAgICAgICRidWlsZF9yZXF1ZXN0X2Zvcl9yb290X3JldXNlID0gJGRi
LT5zZWxlY3RfZmlyc3Rfcm93KCdidWlsZF9yZXF1ZXN0cycsICdyZXF1ZXN0JywgYXJyYXkoJ2lk
JyA9PiAkYnVpbGRfcmVxdWVzdF9mb3Jfcm9vdF9yZXVzZV9pZCkpOwpkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVz
dHMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1idWlsZC1y
ZXF1ZXN0cy10ZXN0cy5qcwppbmRleCAzMWU3OTRhMTlhZGQzYjliOWI4YzliOWI1N2YxYmM2ZGEx
NjBiNTRlLi4yMTc0ZThhNzQwZjJjYjlkYmM1YTY3YjVlZmZmOTE3ODJlNWQ5NTllIDEwMDY0NAot
LS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1idWlsZC1yZXF1
ZXN0cy10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3Rz
L2FwaS1idWlsZC1yZXF1ZXN0cy10ZXN0cy5qcwpAQCAtMTA0Miw0ICsxMDQyLDIxIEBAIGRlc2Ny
aWJlKCcvYXBpL2J1aWxkLXJlcXVlc3RzJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0pOwogICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCBub3QgdXBkYXRlIHVybCBv
ciBzdGF0dXNfZGVzY3JpcHRpb24gaWYgZWl0aGVyIGlzIG5vdCBzcGVjaWZpZWQgd2hpbGUgdXBk
YXRpbmcgYSBidWlsZCByZXF1ZXN0IHdpdGggImZhaWxlZElmTm90Q29tcGxldGVkIicsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgY29uc3QgdXBkYXRlcyA9IHsnNzAwJzoge3N0YXR1czogJ2ZhaWxl
ZElmTm90Q29tcGxldGVkJ319OworICAgICAgICBjb25zdCB1cmwgPSAnaHR0cDovL2J1aWxkLndl
YmtpdC5vcmcvc29tZUJ1aWxkZXIvYnVpbGRzJzsKKyAgICAgICAgYXdhaXQgTW9ja0RhdGEuYWRk
TW9ja0RhdGEoVGVzdFNlcnZlci5kYXRhYmFzZSgpLCBbJ3J1bm5pbmcnLCAncGVuZGluZycsICdw
ZW5kaW5nJywgJ3BlbmRpbmcnXSk7CisgICAgICAgIGF3YWl0IFRlc3RTZXJ2ZXIuZGF0YWJhc2Uo
KS5xdWVyeShgVVBEQVRFIGJ1aWxkX3JlcXVlc3RzIFNFVCByZXF1ZXN0X3VybCA9ICcke3VybH0n
IFdIRVJFIHJlcXVlc3RfaWQgPSA3MDBgKTsKKyAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2Fp
dCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OV2l0aFN0YXR1cygnL2FwaS9idWlsZC1y
ZXF1ZXN0cy9idWlsZC13ZWJraXQnLCB7CisgICAgICAgICAgICAnc2xhdmVOYW1lJzogJ3N5bmMt
c2xhdmUnLAorICAgICAgICAgICAgJ3NsYXZlUGFzc3dvcmQnOiAncGFzc3dvcmQnLAorICAgICAg
ICAgICAgJ2J1aWxkUmVxdWVzdFVwZGF0ZXMnOiB1cGRhdGVzCisgICAgICAgIH0pOworICAgICAg
ICBhc3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0snKTsKKworICAgICAgICBhc3Nl
cnQuZXF1YWwocmVzcG9uc2VbJ2J1aWxkUmVxdWVzdHMnXS5sZW5ndGgsIDQpOworICAgICAgICBh
c3NlcnQuZGVlcEVxdWFsKHJlc3BvbnNlWydidWlsZFJlcXVlc3RzJ11bMF0uaWQsIDcwMCk7Cisg
ICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVzcG9uc2VbJ2J1aWxkUmVxdWVzdHMnXVswXS51cmws
IHVybCk7CisgICAgfSk7CiB9KTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL21vY2stZGF0YS5qcyBiL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL21vY2stZGF0YS5qcwppbmRleCA0YjQ3ZjIz
MGIzNmVlMjA1MTNhNDRkNWU2M2RkODBhZDMyMzBmYjI5Li5lMTg1ZWQyMzI3ODg4MmY3MzVkM2I3
YzE5ZTE0ZDFlNDVlNGUxNzE4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
c2VydmVyLXRlc3RzL3Jlc291cmNlcy9tb2NrLWRhdGEuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzCkBAIC0xMjgsNiAr
MTI4LDI2IEBAIE1vY2tEYXRhID0gewogICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF9yZXF1
ZXN0cycsIHtpZDogOTAzLCBzdGF0dXM6IHN0YXR1c0xpc3RbN10sIHRyaWdnZXJhYmxlOiAxMDAw
LCByZXBvc2l0b3J5X2dyb3VwOiAyMDAxLCBwbGF0Zm9ybTogNjUsIHRlc3Q6IDIwMCwgZ3JvdXA6
IDcwMSwgb3JkZXI6IDEsIGNvbW1pdF9zZXQ6IDYwMX0pLAogICAgICAgICBdKTsKICAgICB9LAor
ICAgIGFzeW5jIGFkZE1vY2tCdWlsZFJlcXVlc3RzRm9yVHdvVHJpZ2dlcmFibGVzVW5kZXJPbmVB
bmFseXNpc1Rhc2soZGIsIHN0YXR1c0xpc3QpCisgICAgeworICAgICAgICBhd2FpdCBQcm9taXNl
LmFsbChbCisgICAgICAgICAgICB0aGlzLmFkZE1vY2tCdWlsZFJlcXVlc3RzV2l0aFJvb3RzKGRi
LCBzdGF0dXNMaXN0KSwKKyAgICAgICAgICAgIHRoaXMuYWRkQW5vdGhlclRyaWdnZXJhYmxlKGRi
KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldHMnLCB7aWQ6IDcwMH0pLAorICAg
ICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRfc2V0X2l0ZW1zJywge3NldDogNzAwLCBjb21taXQ6
IDg3ODMyfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdF9zZXRfaXRlbXMnLCB7c2V0
OiA3MDAsIGNvbW1pdDogOTMxMTZ9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3Nl
dF9pdGVtcycsIHtzZXQ6IDcwMCwgY29tbWl0OiAxMTc5N30pLAorICAgICAgICAgICAgZGIuaW5z
ZXJ0KCdjb21taXRfc2V0cycsIHtpZDogNzAxfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2Nv
bW1pdF9zZXRfaXRlbXMnLCB7c2V0OiA3MDEsIGNvbW1pdDogODc4MzJ9KSwKKyAgICAgICAgICAg
IGRiLmluc2VydCgnY29tbWl0X3NldF9pdGVtcycsIHtzZXQ6IDcwMSwgY29tbWl0OiA5NjMzNn0p
LAorICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRfc2V0X2l0ZW1zJywge3NldDogNzAxLCBj
b21taXQ6IDExNzk3fSksCisKKyAgICAgICAgICAgIGRiLmluc2VydCgnYW5hbHlzaXNfdGVzdF9n
cm91cHMnLCB7aWQ6IDcwMiwgdGFzazogNjAwLCBuYW1lOiAndGVzdCBtYWNvcyB3ZWJraXQganNj
JywgaW5pdGlhbF9yZXBldGl0aW9uX2NvdW50OiAxLCBuZWVkc19ub3RpZmljYXRpb246IHRydWV9
KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6IDEwMDAsIHN0
YXR1czogJ3J1bm5pbmcnLCB0cmlnZ2VyYWJsZTogMjM0NSwgcmVwb3NpdG9yeV9ncm91cDogNDAw
MiwgcGxhdGZvcm06IDEwMSwgdGVzdDogMjAwLCBncm91cDogNzAyLCBvcmRlcjogMCwgY29tbWl0
X3NldDogNzAwfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3JlcXVlc3RzJywge2lk
OiAxMDAxLCBzdGF0dXM6ICdwZW5kaW5nJywgdHJpZ2dlcmFibGU6IDIzNDUsIHJlcG9zaXRvcnlf
Z3JvdXA6IDQwMDIsIHBsYXRmb3JtOiAxMDEsIHRlc3Q6IDIwMCwgZ3JvdXA6IDcwMiwgb3JkZXI6
IDEsIGNvbW1pdF9zZXQ6IDcwMX0pLAorICAgICAgICBdKQorICAgIH0KKyAgICAsCiAgICAgYWRk
QW5vdGhlclRyaWdnZXJhYmxlKGRiKSB7CiAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCiAg
ICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3RyaWdnZXJhYmxlcycsIHtpZDogMjM0NSwgbmFt
ZTogJ2J1aWxkLXdlYmtpdC1qc2MnfSksCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzIGIv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmln
Z2VyYWJsZS10ZXN0cy5qcwppbmRleCA2YzNlYzJmYzg1NDJlYmM5N2M1NzljOThmMTIwZDA1Njdh
MjU1ZTJmLi4yZTIzYTNkMDBlOTM0Y2VlMWE1MTY5NWI5ZDBjNWY2M2NmZjdlNWE4IDEwMDY0NAot
LS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90
LXRyaWdnZXJhYmxlLXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2
ZXItdGVzdHMvdG9vbHMtYnVpbGRib3QtdHJpZ2dlcmFibGUtdGVzdHMuanMKQEAgLTEzMjEsNiAr
MTMyMSw4MSBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3Quc3RhdHVzVXJsKCksICdodHRw
Oi8vYnVpbGQud2Via2l0Lm9yZy9idWlkcy8xJyk7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
YW5vdGhlckJ1aWxkUmVxdWVzdC5zdGF0dXNVcmwoKSwgJ2h0dHA6Ly9idWlsZC53ZWJraXQub3Jn
LyMvYnVpbGRlcnMvMy9idWlsZHMvMTI0Jyk7CiAgICAgICAgIH0pOworCisgICAgICAgIGl0KCdz
aG91bGQgbm90IHVwZGF0ZSBidWlsZCByZXF1ZXN0cyBmcm9tIGFub3RoZXIgdHJpZ2dlcmFibGUn
LCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJh
c2UoKTsKKyAgICAgICAgICAgIGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tCdWlsZFJlcXVlc3RzRm9y
VHdvVHJpZ2dlcmFibGVzVW5kZXJPbmVBbmFseXNpc1Rhc2soZGIsIFsncnVubmluZycsICdzY2hl
ZHVsZWQnLCAncGVuZGluZycsICdwZW5kaW5nJywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5k
aW5nJywgJ3BlbmRpbmcnXSk7CisgICAgICAgICAgICBhd2FpdCBNYW5pZmVzdC5mZXRjaCgpOwor
ICAgICAgICAgICAgY29uc3QgY29uZmlnID0gTW9ja0RhdGEubW9ja1Rlc3RTeW5jQ29uZmlnV2l0
aFBhdGNoQWNjZXB0aW5nQnVpbGRlcigpOworICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3
IE1vY2tMb2dnZXI7CisgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMt
c2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CisgICAgICAgICAgICBjb25zdCB0cmlnZ2Vy
YWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVB
UEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOworICAgICAgICAgICAgY29u
c3Qgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJp
Z2dlcmFibGUuc3luY09uY2UoKSk7CisgICAgICAgICAgICBhc3NlcnRSZXF1ZXN0QW5kUmVzb2x2
ZShNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLCAnR0VUJywgTW9ja0RhdGEuYnVpbGRib3RCdWls
ZGVyc1VSTCgpLCBNb2NrRGF0YS5tb2NrQnVpbGRib3RCdWlsZGVycygpKTsKKyAgICAgICAgICAg
IE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKKyAgICAgICAgICAgIGF3YWl0IE1vY2tSZW1vdGVBUEku
d2FpdEZvclJlcXVlc3QoKTsKKworICAgICAgICAgICAgbGV0IGJ1aWxkUmVxdWVzdDEwMDAgPSBh
d2FpdCBkYi5zZWxlY3RGaXJzdFJvdygnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6IDEwMDB9KTsKKyAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3QxMDAwLnN0YXR1cywgJ3J1bm5pbmcn
KQorICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDgp
OworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5n
dGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
MF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUgdGVzdGVy
JykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS5yZXNvbHZlKHt9KTsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLm1ldGhv
ZCwgJ0dFVCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbMV0udXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsK
KyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ucmVzb2x2ZSh7J2J1aWxkcyc6
IFtNb2NrRGF0YS5wZW5kaW5nQnVpbGQoe2J1aWxkUmVxdWVzdElkOiA4MDF9KV19KTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLm1ldGhvZCwgJ0dF
VCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0u
dXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lIGJ1aWxkZXIgMicpKTsKKyAgICAg
ICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAg
ICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJ
LndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzLmxlbmd0aCwgMyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1swXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5l
cXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRz
VXJsKCdzb21lIHRlc3RlcicsIDIpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbMF0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChN
b2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRzVXJsKCdz
b21lLWJ1aWxkZXItMScsIDIpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
MV0ucmVzb2x2ZSh7J2J1aWxkcyc6IFtNb2NrRGF0YS5ydW5uaW5nQnVpbGREYXRhKHtidWlsZFJl
cXVlc3RJZDogODAwfSldfSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1syXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChN
b2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRzVXJsKCdz
b21lIGJ1aWxkZXIgMicsIDIpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
Ml0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisgICAg
ICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgMyk7CisgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS5tZXRob2QsICdH
RVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBd
LnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSB0ZXN0ZXInKSk7CisgICAgICAg
ICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLnJlc29sdmUoe30pOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7Cisg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1v
Y2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUtYnVpbGRlci0xJykpOworICAgICAgICAgICAg
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS5yZXNvbHZlKHt9KTsKKyAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLm1ldGhvZCwgJ0dFVCcpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0udXJsLCBNb2NrRGF0
YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lIGJ1aWxkZXIgMicpKTsKKyAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBNb2NrUmVtb3Rl
QVBJLnJlc2V0KCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1
ZXN0KCk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
Lmxlbmd0aCwgMyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0c1swXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzBdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRzVXJsKCdzb21lIHRl
c3RlcicsIDIpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0ucmVzb2x2
ZSh7fSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sx
XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJ
LnJlcXVlc3RzWzFdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRzVXJsKCdzb21lLWJ1aWxkZXIt
MScsIDIpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ucmVzb2x2ZSh7
J2J1aWxkcyc6IFtNb2NrRGF0YS5ydW5uaW5nQnVpbGREYXRhKHtidWlsZFJlcXVlc3RJZDogODAx
fSksIE1vY2tEYXRhLmZpbmlzaGVkQnVpbGREYXRhKHtidWlsZFJlcXVlc3RJZDogODAwfSldfSk7
CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRo
b2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzJdLnVybCwgTW9ja0RhdGEucmVjZW50QnVpbGRzVXJsKCdzb21lIGJ1aWxkZXIgMicsIDIp
KTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0ucmVzb2x2ZSh7fSk7Cisg
ICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisKKyAgICAgICAgICAgIGF3YWl0IHN5
bmNQcm9taXNlOworICAgICAgICAgICAgYXdhaXQgQnVpbGRSZXF1ZXN0LmZldGNoRm9yVHJpZ2dl
cmFibGUoTW9ja0RhdGEubW9ja1Rlc3RTeW5jQ29uZmlnV2l0aFBhdGNoQWNjZXB0aW5nQnVpbGRl
cigpLnRyaWdnZXJhYmxlTmFtZSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoQnVpbGRSZXF1
ZXN0LmFsbCgpLmxlbmd0aCwgMTApOworICAgICAgICAgICAgYnVpbGRSZXF1ZXN0MTAwMCA9IGF3
YWl0IGRiLnNlbGVjdEZpcnN0Um93KCdidWlsZF9yZXF1ZXN0cycsIHtpZDogMTAwMH0pOworICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdDEwMDAuc3RhdHVzLCAncnVubmluZycp
CisgICAgICAgIH0pOwogICAgIH0pOwogCiAgICAgZGVzY3JpYmUoJ3VwZGF0ZVRyaWdnZXJhYmxl
cycsICgpID0+IHsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9q
cy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29s
cy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwppbmRleCA1Mzc2YjljYjUxMzM0Mjc2NTU5NDhm
MmVlNTgyOWM3Y2JjZDk5NzE1Li5mZTVmMGFlMDhiOTBiZGU1YTQ3NjlkZTcyOGQ1MTJlYjhkNGIx
NTljIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvYnVpbGRi
b3QtdHJpZ2dlcmFibGUuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rvb2xzL2pz
L2J1aWxkYm90LXRyaWdnZXJhYmxlLmpzCkBAIC04MywxOSArODMsMTggQEAgY2xhc3MgQnVpbGRi
b3RUcmlnZ2VyYWJsZSB7CiAKICAgICAgICAgY29uc3QgYnVpbGRSZXF1ZXN0cyA9IGF3YWl0IEJ1
aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJhYmxlKHRoaXMuX25hbWUpOwogICAgICAgICBjb25z
dCB2YWxpZFJlcXVlc3RzID0gdGhpcy5fdmFsaWRhdGVSZXF1ZXN0cyhidWlsZFJlcXVlc3RzKTsK
LSAgICAgICAgY29uc3QgYnVpbGRSZXFldXN0c0J5R3JvdXAgPSBCdWlsZGJvdFRyaWdnZXJhYmxl
Ll90ZXN0R3JvdXBNYXBGb3JCdWlsZFJlcXVlc3RzKGJ1aWxkUmVxdWVzdHMpOwotICAgICAgICBs
ZXQgdXBkYXRlcyA9IGF3YWl0IHRoaXMuX3B1bGxCdWlsZGJvdE9uQWxsU3luY2VycyhidWlsZFJl
cWV1c3RzQnlHcm91cCk7CisgICAgICAgIGNvbnN0IGJ1aWxkUmVxdWVzdHNCeUdyb3VwID0gQnVp
bGRib3RUcmlnZ2VyYWJsZS5fdGVzdEdyb3VwTWFwRm9yQnVpbGRSZXF1ZXN0cyhidWlsZFJlcXVl
c3RzKTsKKyAgICAgICAgbGV0IHVwZGF0ZXMgPSBhd2FpdCB0aGlzLl9wdWxsQnVpbGRib3RPbkFs
bFN5bmNlcnMoYnVpbGRSZXF1ZXN0c0J5R3JvdXApOwogICAgICAgICBsZXQgcm9vdFJldXNlVXBk
YXRlcyA9IHt9CiAgICAgICAgIHRoaXMuX2xvZ2dlci5sb2coJ1NjaGVkdWxpbmcgYnVpbGRzJyk7
Ci0gICAgICAgIGNvbnN0IHByb21pc2VMaXN0ID0gW107Ci0gICAgICAgIGNvbnN0IHRlc3RHcm91
cExpc3QgPSBBcnJheS5mcm9tKGJ1aWxkUmVxZXVzdHNCeUdyb3VwLnZhbHVlcygpKS5zb3J0KGZ1
bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmdyb3VwT3JkZXIgLSBiLmdyb3VwT3JkZXI7IH0pOwor
ICAgICAgICBjb25zdCB0ZXN0R3JvdXBMaXN0ID0gQXJyYXkuZnJvbShidWlsZFJlcXVlc3RzQnlH
cm91cC52YWx1ZXMoKSkuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5ncm91cE9yZGVy
IC0gYi5ncm91cE9yZGVyOyB9KTsKIAogICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0ZXN0R3Jv
dXBMaXN0Lm1hcCgoZ3JvdXApID0+IFtncm91cCwgdGhpcy5fbmV4dFJlcXVlc3RJbkdyb3VwKGdy
b3VwLCB1cGRhdGVzKV0pCiAgICAgICAgICAgICAuZmlsdGVyKChbZ3JvdXAsIHJlcXVlc3RdKSA9
PiB2YWxpZFJlcXVlc3RzLmhhcyhyZXF1ZXN0KSkKICAgICAgICAgICAgIC5tYXAoKFtncm91cCwg
cmVxdWVzdF0pID0+IHRoaXMuX3NjaGVkdWxlUmVxdWVzdChncm91cCwgcmVxdWVzdCwgcm9vdFJl
dXNlVXBkYXRlcykpKTsKIAogICAgICAgICAvLyBQdWxsIGFsbCBidWlsZGJvdHMgZm9yIHRoZSBz
ZWNvbmQgdGltZSBzaW5jZSB0aGUgcHJldmlvdXMgc3RlcCBtYXkgaGF2ZSBzY2hlZHVsZWQgbW9y
ZSBidWlsZHMKLSAgICAgICAgdXBkYXRlcyA9IGF3YWl0IHRoaXMuX3B1bGxCdWlsZGJvdE9uQWxs
U3luY2VycyhidWlsZFJlcWV1c3RzQnlHcm91cCk7CisgICAgICAgIHVwZGF0ZXMgPSBhd2FpdCB0
aGlzLl9wdWxsQnVpbGRib3RPbkFsbFN5bmNlcnMoYnVpbGRSZXF1ZXN0c0J5R3JvdXApOwogCiAg
ICAgICAgIC8vIHJvb3RSZXVzZVVwZGF0ZXMgd2lsbCBiZSBvdmVycmlkZGVuIGJ5IHN0YXR1cyBm
ZXRjaGVkIGZyb20gYnVpbGRib3QuCiAgICAgICAgIHVwZGF0ZXMgPSB7CkBAIC0xNjYsNjAgKzE2
NSw2MyBAQCBjbGFzcyBCdWlsZGJvdFRyaWdnZXJhYmxlIHsKICAgICAgICAgcmV0dXJuIHZhbGlk
YXRlZFJlcXVlc3RzOwogICAgIH0KIAotICAgIF9wdWxsQnVpbGRib3RPbkFsbFN5bmNlcnMoYnVp
bGRSZXFldXN0c0J5R3JvdXApCisgICAgYXN5bmMgX3B1bGxCdWlsZGJvdE9uQWxsU3luY2Vycyhi
dWlsZFJlcXVlc3RzQnlHcm91cCkKICAgICB7CiAgICAgICAgIGxldCB1cGRhdGVzID0ge307CiAg
ICAgICAgIGxldCBhc3NvY2lhdGVkUmVxdWVzdHMgPSBuZXcgU2V0OwotICAgICAgICByZXR1cm4g
UHJvbWlzZS5hbGwodGhpcy5fc3luY2Vycy5tYXAoKHN5bmNlcikgPT4gewotICAgICAgICAgICAg
cmV0dXJuIHN5bmNlci5wdWxsQnVpbGRib3QodGhpcy5fbG9va2JhY2tDb3VudCkudGhlbigoZW50
cnlMaXN0KSA9PiB7Ci0gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyeUxp
c3QpIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdCA9IEJ1aWxkUmVxdWVzdC5m
aW5kQnlJZChlbnRyeS5idWlsZFJlcXVlc3RJZCgpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KCFyZXF1ZXN0KQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAg
ICAgICAgICAgICAgY29uc3QgaW5mbyA9IGJ1aWxkUmVxZXVzdHNCeUdyb3VwLmdldChyZXF1ZXN0
LnRlc3RHcm91cElkKCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAoIWluZm8pIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGFzc2VydChyZXF1ZXN0LnRlc3RHcm91cCgpLmhhc0ZpbmlzaGVk
KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5fc3luY2Vycy5tYXAoYXN5bmMg
KHN5bmNlcikgPT4geworICAgICAgICAgICAgY29uc3QgZW50cnlMaXN0ID0gYXdhaXQgc3luY2Vy
LnB1bGxCdWlsZGJvdCh0aGlzLl9sb29rYmFja0NvdW50KTsKKyAgICAgICAgICAgIGZvciAoY29u
c3QgZW50cnkgb2YgZW50cnlMaXN0KSB7CisgICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdCA9
IEJ1aWxkUmVxdWVzdC5maW5kQnlJZChlbnRyeS5idWlsZFJlcXVlc3RJZCgpKTsKKyAgICAgICAg
ICAgICAgICBpZiAoIXJlcXVlc3QpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IGJ1aWxkUmVxdWVzdHNCeUdyb3VwLmdldChyZXF1
ZXN0LnRlc3RHcm91cElkKCkpOworICAgICAgICAgICAgICAgIGlmICghaW5mbykgeworICAgICAg
ICAgICAgICAgICAgICBhc3NlcnQocmVxdWVzdC50ZXN0R3JvdXAoKS5oYXNGaW5pc2hlZCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICAgICAgICAgIGFzc29jaWF0ZWRSZXF1ZXN0cy5hZGQocmVxdWVzdCk7Ci0KLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QuaXNCdWlsZCgpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBhc3NlcnQoIWluZm8uYnVpbGRTeW5jZXIgfHwgaW5mby5idWlsZFN5bmNlciA9PSBz
eW5jZXIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LnNsYXZlTmFtZSgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLmJ1aWxkU2xhdmVOYW1l
IHx8IGluZm8uYnVpbGRTbGF2ZU5hbWUgPT0gZW50cnkuc2xhdmVOYW1lKCkpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluZm8uYnVpbGRTbGF2ZU5hbWUgPSBlbnRyeS5zbGF2ZU5hbWUo
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlu
Zm8uYnVpbGRTeW5jZXIgPSBzeW5jZXI7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQoIWluZm8udGVzdFN5bmNlciB8fCBpbmZvLnRl
c3RTeW5jZXIgPT0gc3luY2VyKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS5z
bGF2ZU5hbWUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50
ZXN0U2xhdmVOYW1lIHx8IGluZm8udGVzdFNsYXZlTmFtZSA9PSBlbnRyeS5zbGF2ZU5hbWUoKSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby50ZXN0U2xhdmVOYW1lID0gZW50cnku
c2xhdmVOYW1lKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpbmZvLnRlc3RTeW5jZXIgPSBzeW5jZXI7Ci0gICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdHMuYWRkKHJlcXVlc3QpOwogCi0gICAg
ICAgICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXR1cyA9IGVudHJ5LmJ1aWxkUmVxdWVzdFN0YXR1
c0lmVXBkYXRlSXNOZWVkZWQocmVxdWVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChuZXdT
dGF0dXMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZ2dlci5sb2coYFVwZGF0
aW5nIHRoZSBzdGF0dXMgb2YgYnVpbGQgcmVxdWVzdCAke3JlcXVlc3QuaWQoKX0gZnJvbSAke3Jl
cXVlc3Quc3RhdHVzKCl9IHRvICR7bmV3U3RhdHVzfWApOwotICAgICAgICAgICAgICAgICAgICAg
ICAgdXBkYXRlc1tlbnRyeS5idWlsZFJlcXVlc3RJZCgpXSA9IHtzdGF0dXM6IG5ld1N0YXR1cywg
dXJsOiBlbnRyeS51cmwoKSwgc3RhdHVzRGVzY3JpcHRpb246IGVudHJ5LnN0YXR1c0Rlc2NyaXB0
aW9uKCl9OwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFyZXF1ZXN0LnN0YXR1c1Vy
bCgpIHx8IHJlcXVlc3Quc3RhdHVzRGVzY3JpcHRpb24oKSAhPSBlbnRyeS5zdGF0dXNEZXNjcmlw
dGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2dnZXIubG9nKGBVcGRh
dGluZyBidWlsZCByZXF1ZXN0ICR7cmVxdWVzdC5pZCgpfSBzdGF0dXMgVVJMIHRvICR7ZW50cnku
dXJsKCl9IGFuZCBzdGF0dXMgZGV0YWlsIGZyb20gJHtyZXF1ZXN0LnN0YXR1c0Rlc2NyaXB0aW9u
KCl9IHRvICR7ZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKX1gKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHVwZGF0ZXNbZW50cnkuYnVpbGRSZXF1ZXN0SWQoKV0gPSB7c3RhdHVzOiByZXF1ZXN0
LnN0YXR1cygpLCB1cmw6IGVudHJ5LnVybCgpLCBzdGF0dXNEZXNjcmlwdGlvbjogZW50cnkuc3Rh
dHVzRGVzY3JpcHRpb24oKX07CisgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QuaXNCdWlsZCgp
KSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby5idWlsZFN5bmNlciB8fCBpbmZv
LmJ1aWxkU3luY2VyID09IHN5bmNlcik7CisgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS5z
bGF2ZU5hbWUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLmJ1aWxk
U2xhdmVOYW1lIHx8IGluZm8uYnVpbGRTbGF2ZU5hbWUgPT0gZW50cnkuc2xhdmVOYW1lKCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5idWlsZFNsYXZlTmFtZSA9IGVudHJ5LnNsYXZl
TmFtZSgpOwogICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGluZm8u
YnVpbGRTeW5jZXIgPSBzeW5jZXI7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLnRlc3RTeW5jZXIgfHwgaW5mby50ZXN0U3luY2VyID09
IHN5bmNlcik7CisgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS5zbGF2ZU5hbWUoKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLnRlc3RTbGF2ZU5hbWUgfHwgaW5m
by50ZXN0U2xhdmVOYW1lID09IGVudHJ5LnNsYXZlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGluZm8udGVzdFNsYXZlTmFtZSA9IGVudHJ5LnNsYXZlTmFtZSgpOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGluZm8udGVzdFN5bmNlciA9IHN5bmNl
cjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0dXMg
PSBlbnRyeS5idWlsZFJlcXVlc3RTdGF0dXNJZlVwZGF0ZUlzTmVlZGVkKHJlcXVlc3QpOworICAg
ICAgICAgICAgICAgIGlmIChuZXdTdGF0dXMpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5f
bG9nZ2VyLmxvZyhgVXBkYXRpbmcgdGhlIHN0YXR1cyBvZiBidWlsZCByZXF1ZXN0ICR7cmVxdWVz
dC5pZCgpfSBmcm9tICR7cmVxdWVzdC5zdGF0dXMoKX0gdG8gJHtuZXdTdGF0dXN9YCk7CisgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZXNbZW50cnkuYnVpbGRSZXF1ZXN0SWQoKV0gPSB7c3RhdHVz
OiBuZXdTdGF0dXMsIHVybDogZW50cnkudXJsKCksIHN0YXR1c0Rlc2NyaXB0aW9uOiBlbnRyeS5z
dGF0dXNEZXNjcmlwdGlvbigpfTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFyZXF1ZXN0
LnN0YXR1c1VybCgpIHx8IHJlcXVlc3Quc3RhdHVzRGVzY3JpcHRpb24oKSAhPSBlbnRyeS5zdGF0
dXNEZXNjcmlwdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZ2dlci5sb2co
YFVwZGF0aW5nIGJ1aWxkIHJlcXVlc3QgJHtyZXF1ZXN0LmlkKCl9IHN0YXR1cyBVUkwgdG8gJHtl
bnRyeS51cmwoKX0gYW5kIHN0YXR1cyBkZXRhaWwgZnJvbSAke3JlcXVlc3Quc3RhdHVzRGVzY3Jp
cHRpb24oKX0gdG8gJHtlbnRyeS5zdGF0dXNEZXNjcmlwdGlvbigpfWApOworICAgICAgICAgICAg
ICAgICAgICB1cGRhdGVzW2VudHJ5LmJ1aWxkUmVxdWVzdElkKCldID0ge3N0YXR1czogcmVxdWVz
dC5zdGF0dXMoKSwgdXJsOiBlbnRyeS51cmwoKSwgc3RhdHVzRGVzY3JpcHRpb246IGVudHJ5LnN0
YXR1c0Rlc2NyaXB0aW9uKCl9OwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9KSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICBmb3IgKGNvbnN0IHJlcXVlc3Qg
b2YgQnVpbGRSZXF1ZXN0LmFsbCgpKSB7CisgICAgICAgICAgICB9CisgICAgICAgIH0pKTsKKwor
ICAgICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGJ1aWxkUmVxdWVzdHNCeUdyb3VwLnZhbHVlcygp
KSB7CisgICAgICAgICAgICBmb3IgKGNvbnN0IHJlcXVlc3Qgb2YgZ3JvdXAucmVxdWVzdHMpIHsK
ICAgICAgICAgICAgICAgICBpZiAocmVxdWVzdC5oYXNTdGFydGVkKCkgJiYgIXJlcXVlc3QuaGFz
RmluaXNoZWQoKSAmJiAhYXNzb2NpYXRlZFJlcXVlc3RzLmhhcyhyZXF1ZXN0KSkgewogICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9sb2dnZXIubG9nKGBVcGRhdGluZyB0aGUgc3RhdHVzIG9mIGJ1
aWxkIHJlcXVlc3QgJHtyZXF1ZXN0LmlkKCl9IGZyb20gJHtyZXF1ZXN0LnN0YXR1cygpfSB0byBm
YWlsZWRJZk5vdENvbXBsZXRlZGApOwogICAgICAgICAgICAgICAgICAgICBhc3NlcnQoIShyZXF1
ZXN0LmlkKCkgaW4gdXBkYXRlcykpOwogICAgICAgICAgICAgICAgICAgICB1cGRhdGVzW3JlcXVl
c3QuaWQoKV0gPSB7c3RhdHVzOiAnZmFpbGVkSWZOb3RDb21wbGV0ZWQnfTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0pLnRoZW4oKCkgPT4gdXBkYXRlcyk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gdXBkYXRlczsKICAgICB9CiAKICAgICBfbmV4dFJl
cXVlc3RJbkdyb3VwKGdyb3VwSW5mbywgcGVuZGluZ1VwZGF0ZXMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417945</attachid>
            <date>2021-01-19 23:33:34 -0800</date>
            <delta_ts>2021-01-19 23:39:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220762-20210119233333.patch</filename>
            <type>text/plain</type>
            <size>21713</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjM3CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA3MDZiMDg0ZjQxMWNjMjZlYjIzZTM3NmYyMWJhZjk1ZmJkMGI2M2FiLi5kMTUzNzdhY2Jm
OGEzODY2YjkzNzAxMWE3Nzk0MzZiNDEwZmI0YjNkIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wMS0xOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBCdWlsZGJvdFRyaWdnZXJhYmxlIHNob3VsZCBub3QgdXBk
YXRlIGJ1aWxkIHJlcXVlc3RzIGZyb20gYW5vdGhlciB0cmlnZ2VyYWJsZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDc2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBCdWlsZGJvdFRyaWdnZXJhYmxlLl9w
dWxsQnVpbGRib3RPbkFsbFN5bmNlcnMgYXNzdW1lcyAnQnVpbGRSZXF1ZXN0LmFsbCgpJyByZXR1
cm5zIGFsbCBidWlsZCByZXF1ZXN0cyB1bmRlciBjdXJyZW50IHRyaWdnZXJhYmxlLgorICAgICAg
ICBIb3dldmVyLCB0aGlzIGFzc3VtcHRpb24gZ290IGJyb2tlbiB3aGVuIHJvb3QgcmV1c2UgY2hh
bmdlIHdhcyBpbnRyb2R1Y2VkIGJlY2F1c2UgYnVpbGQgcmVxdWVzdHMgdW5kZXIgc2FtZSBhbmFs
eXNpcyB0YXNrIGFyZQorICAgICAgICBmZXRjaGVkLiBUaHVzLCAnQnVpbGRSZXF1ZXN0LmFsbCgp
JyBtYXkgY29udGFpbiBidWlsZCByZXF1ZXN0cyB0aG9zZSBhcmUgbm90IHVuZGVyIGN1cnJlbnQg
dHJpZ2dlcmFibGUuIEFuZCB0aG9zZSBidWlsZCByZXF1ZXN0cworICAgICAgICB3aWxsIGJlIHVw
ZGF0ZWQgdG8gJ2ZhaWxlZElmTm90Q29tcGxldGVkJy4KKyAgICAgICAgVXBkYXRlICdhcGkvYnVp
bGQtcmVxdWVzdHMnIHNvIHRoYXQgJ3VybCcgYW5kICdzdGF0dXNfZGVzY3JpcHRpb24nIGZpZWxk
cyBhcmUgbm90IGNsZWFyZWQgaWYgdXBkYXRlIGRvZXMgbm90IHNwZWNpZnkgdGhlbS4KKworICAg
ICAgICAqIHB1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwOiBBZGRlZCBsb2dpYyB0byBhdm9p
ZCB1cGRhdGluZyAndXJsJyBhbmQgJ3N0YXR1c19kZXNjcmlwdGlvbicgaWYgdGhleSBhcmUgbm90
IHNwZWNpZmllZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLWJ1aWxkLXJlcXVlc3RzLXRl
c3RzLmpzOiBBZGRlZCBhbiB1bml0IHRlc3QuCisgICAgICAgICogc2VydmVyLXRlc3RzL3Jlc291
cmNlcy9tb2NrLWRhdGEuanM6CisgICAgICAgIChNb2NrRGF0YS5hc3luYyBzZXQgYWRkTW9ja0J1
aWxkUmVxdWVzdHNGb3JUd29UcmlnZ2VyYWJsZXNVbmRlck9uZUFuYWx5c2lzVGFzayk6CisgICAg
ICAgICogc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzOiBB
ZGRlZCBhbiB1bml0IHRlc3QuCisgICAgICAgICogdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFi
bGUuanM6CisgICAgICAgIChCdWlsZGJvdFRyaWdnZXJhYmxlLnByb3RvdHlwZS5hc3luYyBzeW5j
T25jZSk6IEZpeGVkIGEgdHlwby4KKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dlcmFibGUuX3B1bGxC
dWlsZGJvdE9uQWxsU3luY2Vycyk6IEluc3RlYWQgb2YgaXRlcmF0aW5nIG92ZXIgJ0J1aWxkUmVx
dWVzdC5hbGwoKScsIG9ubHkgc2V0ICdmYWlsZWRJZk5vdENvbXBsZXRlZCcKKyAgICAgICAgZm9y
IGJ1aWxkIHJlcXVlc3RzIHRob3NlIGFyZSB1bmRlciBjdXJyZW50IHRyaWdnZXJhYmxlIGFuZCBz
YXRpc2Z5IHRoZSBjb25kaXRpb24uCisKIDIwMjAtMTItMDkgIERld2VpIFpodSAgPGRld2VpX3po
dUBhcHBsZS5jb20+CiAKICAgICAgICAgJ0FuYWx5c2lzVGFzay5fY29tbWl0U2V0c0luU2FtZVBs
YXRmb3JtR3JvdXAnIHNob3VsZCBub3QgZmV0Y2ggYW4gaW52YWxpZCBwbGF0Zm9ybSBhbmQgbWV0
cmljIGNvbmZpZyBmb3IgYSBNZWFzdXJlbWVudFNldC4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocCBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocAppbmRleCBmNWZlODll
NzRjMGUyN2ZkOTNlMWI5Y2QzMGQyOWYxYmM5N2Y4ODVmLi4wNTgwYmFlN2MwOGM5NmQ0MzZmYzNk
ZTU3M2ZiYzVlNmM0ZmZkNDg4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwCkBAIC00OSw2ICs0OSwxMyBAQCBmdW5j
dGlvbiB1cGRhdGVfYnVpbGRzKCRkYiwgJHVwZGF0ZXMpIHsKICAgICAgICAgJHN0YXR1c19kZXNj
cmlwdGlvbiA9IGFycmF5X2dldCgkaW5mbywgJ3N0YXR1c0Rlc2NyaXB0aW9uJyk7CiAgICAgICAg
ICRidWlsZF9yZXF1ZXN0X2Zvcl9yb290X3JldXNlX2lkID0gYXJyYXlfZ2V0KCRpbmZvLCAnYnVp
bGRSZXF1ZXN0Rm9yUm9vdFJldXNlJyk7CiAgICAgICAgICRyZXF1ZXN0X3JvdyA9ICRkYi0+c2Vs
ZWN0X2ZpcnN0X3JvdygnYnVpbGRfcmVxdWVzdHMnLCAncmVxdWVzdCcsIGFycmF5KCdpZCcgPT4g
JGlkKSk7CisKKyAgICAgICAgJGZpZWxkc190b191cGRhdGUgPSBhcnJheSgpOworICAgICAgICBp
ZiAoYXJyYXlfa2V5X2V4aXN0cygndXJsJywgJGluZm8pKQorICAgICAgICAgICAgJGZpZWxkc190
b191cGRhdGVbJ3VybCddID0gJHVybDsKKyAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ3N0
YXR1c0Rlc2NyaXB0aW9uJywgJGluZm8pKQorICAgICAgICAgICAgJGZpZWxkc190b191cGRhdGVb
J3N0YXR1c19kZXNjcmlwdGlvbiddID0gJHN0YXR1c19kZXNjcmlwdGlvbjsKKwogICAgICAgICBp
ZiAoJHN0YXR1cyA9PSAnZmFpbGVkSWZOb3RDb21wbGV0ZWQnKSB7CiAgICAgICAgICAgICBpZiAo
ISRyZXF1ZXN0X3JvdykgewogICAgICAgICAgICAgICAgICRkYi0+cm9sbGJhY2tfdHJhbnNhY3Rp
b24oKTsKQEAgLTYyLDEzICs2OSwxNSBAQCBmdW5jdGlvbiB1cGRhdGVfYnVpbGRzKCRkYiwgJHVw
ZGF0ZXMpIHsKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcmVxdWVzdF9ncm91cCA9ICQxIEFO
RCByZXF1ZXN0X29yZGVyID4gJDInLAogICAgICAgICAgICAgICAgICAgICBhcnJheSgkcmVxdWVz
dF9yb3dbJ3JlcXVlc3RfZ3JvdXAnXSwgJHJlcXVlc3Rfcm93WydyZXF1ZXN0X29yZGVyJ10pKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICRkYi0+dXBkYXRlX3JvdygnYnVpbGRfcmVxdWVz
dHMnLCAncmVxdWVzdCcsIGFycmF5KCdpZCcgPT4gJGlkKSwgYXJyYXkoJ3N0YXR1cycgPT4gJ2Zh
aWxlZCcsICd1cmwnID0+ICR1cmwsICdzdGF0dXNfZGVzY3JpcHRpb24nID0+ICRzdGF0dXNfZGVz
Y3JpcHRpb24pKTsKKyAgICAgICAgICAgICRmaWVsZHNfdG9fdXBkYXRlWydzdGF0dXMnXSA9ICdm
YWlsZWQnOworICAgICAgICAgICAgJGRiLT51cGRhdGVfcm93KCdidWlsZF9yZXF1ZXN0cycsICdy
ZXF1ZXN0JywgYXJyYXkoJ2lkJyA9PiAkaWQpLCAkZmllbGRzX3RvX3VwZGF0ZSk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoIWluX2FycmF5KCRzdGF0dXMsIGFycmF5KCdwZW5k
aW5nJywgJ3NjaGVkdWxlZCcsICdydW5uaW5nJywgJ2ZhaWxlZCcsICdjb21wbGV0ZWQnLCAnY2Fu
Y2VsZWQnKSkpIHsKICAgICAgICAgICAgICAgICAkZGItPnJvbGxiYWNrX3RyYW5zYWN0aW9uKCk7
CiAgICAgICAgICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdVbmtub3duQnVpbGRSZXF1ZXN0U3Rh
dHVzJywgYXJyYXkoJ2J1aWxkUmVxdWVzdCcgPT4gJGlkLCAnc3RhdHVzJyA9PiAkc3RhdHVzKSk7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAkZGItPnVwZGF0ZV9yb3coJ2J1aWxkX3JlcXVl
c3RzJywgJ3JlcXVlc3QnLCBhcnJheSgnaWQnID0+ICRpZCksIGFycmF5KCdzdGF0dXMnID0+ICRz
dGF0dXMsICd1cmwnID0+ICR1cmwsICdzdGF0dXNfZGVzY3JpcHRpb24nID0+ICRzdGF0dXNfZGVz
Y3JpcHRpb24pKTsKKyAgICAgICAgICAgICRmaWVsZHNfdG9fdXBkYXRlWydzdGF0dXMnXSA9ICRz
dGF0dXM7CisgICAgICAgICAgICAkZGItPnVwZGF0ZV9yb3coJ2J1aWxkX3JlcXVlc3RzJywgJ3Jl
cXVlc3QnLCBhcnJheSgnaWQnID0+ICRpZCksICRmaWVsZHNfdG9fdXBkYXRlKTsKICAgICAgICAg
ICAgIGlmICgkYnVpbGRfcmVxdWVzdF9mb3Jfcm9vdF9yZXVzZV9pZCkgewogICAgICAgICAgICAg
ICAgICRidWlsZF9yZXF1ZXN0X2Zvcl9yb290X3JldXNlX2lkID0gaW50dmFsKCRidWlsZF9yZXF1
ZXN0X2Zvcl9yb290X3JldXNlX2lkKTsKICAgICAgICAgICAgICAgICAkYnVpbGRfcmVxdWVzdF9m
b3Jfcm9vdF9yZXVzZSA9ICRkYi0+c2VsZWN0X2ZpcnN0X3JvdygnYnVpbGRfcmVxdWVzdHMnLCAn
cmVxdWVzdCcsIGFycmF5KCdpZCcgPT4gJGJ1aWxkX3JlcXVlc3RfZm9yX3Jvb3RfcmV1c2VfaWQp
KTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBp
LWJ1aWxkLXJlcXVlc3RzLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZl
ci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKaW5kZXggMzFlNzk0YTE5YWRkM2I5
YjliOGM5YjliNTdmMWJjNmRhMTYwYjU0ZS4uMjE3NGU4YTc0MGYyY2I5ZGJjNWE2N2I1ZWZmZjkx
NzgyZTVkOTU5ZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10
ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3NlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKQEAgLTEwNDIs
NCArMTA0MiwyMSBAQCBkZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0aW9uICgp
IHsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKKworICAgIGl0KCdzaG91
bGQgbm90IHVwZGF0ZSB1cmwgb3Igc3RhdHVzX2Rlc2NyaXB0aW9uIGlmIGVpdGhlciBpcyBub3Qg
c3BlY2lmaWVkIHdoaWxlIHVwZGF0aW5nIGEgYnVpbGQgcmVxdWVzdCB3aXRoICJmYWlsZWRJZk5v
dENvbXBsZXRlZCInLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGNvbnN0IHVwZGF0ZXMgPSB7Jzcw
MCc6IHtzdGF0dXM6ICdmYWlsZWRJZk5vdENvbXBsZXRlZCd9fTsKKyAgICAgICAgY29uc3QgdXJs
ID0gJ2h0dHA6Ly9idWlsZC53ZWJraXQub3JnL3NvbWVCdWlsZGVyL2J1aWxkcyc7CisgICAgICAg
IGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSwgWydydW5u
aW5nJywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJ10pOworICAgICAgICBhd2FpdCBU
ZXN0U2VydmVyLmRhdGFiYXNlKCkucXVlcnkoYFVQREFURSBidWlsZF9yZXF1ZXN0cyBTRVQgcmVx
dWVzdF91cmwgPSAnJHt1cmx9JyBXSEVSRSByZXF1ZXN0X2lkID0gNzAwYCk7CisgICAgICAgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhT
dGF0dXMoJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0JywgeworICAgICAgICAgICAg
J3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKKyAgICAgICAgICAgICdzbGF2ZVBhc3N3b3JkJzog
J3Bhc3N3b3JkJywKKyAgICAgICAgICAgICdidWlsZFJlcXVlc3RVcGRhdGVzJzogdXBkYXRlcwor
ICAgICAgICB9KTsKKyAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09L
Jyk7CisKKyAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydidWlsZFJlcXVlc3RzJ10ubGVu
Z3RoLCA0KTsKKyAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXNwb25zZVsnYnVpbGRSZXF1ZXN0
cyddWzBdLmlkLCA3MDApOworICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlc3BvbnNlWydidWls
ZFJlcXVlc3RzJ11bMF0udXJsLCB1cmwpOworICAgIH0pOwogfSk7CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9tb2NrLWRhdGEuanMg
Yi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9tb2NrLWRh
dGEuanMKaW5kZXggNGI0N2YyMzBiMzZlZTIwNTEzYTQ0ZDVlNjNkZDgwYWQzMjMwZmIyOS4uYWU3
YjQyZWJkMTM5OWM2NzVkZGE0ZjJiZjk2YmJkNjIzZTJlZTgxMSAxMDA2NDQKLS0tIGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzCisr
KyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL21vY2st
ZGF0YS5qcwpAQCAtMTI4LDYgKzEyOCwyNSBAQCBNb2NrRGF0YSA9IHsKICAgICAgICAgICAgIGRi
Lmluc2VydCgnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6IDkwMywgc3RhdHVzOiBzdGF0dXNMaXN0Wzdd
LCB0cmlnZ2VyYWJsZTogMTAwMCwgcmVwb3NpdG9yeV9ncm91cDogMjAwMSwgcGxhdGZvcm06IDY1
LCB0ZXN0OiAyMDAsIGdyb3VwOiA3MDEsIG9yZGVyOiAxLCBjb21taXRfc2V0OiA2MDF9KSwKICAg
ICAgICAgXSk7CiAgICAgfSwKKyAgICBhc3luYyBhZGRNb2NrQnVpbGRSZXF1ZXN0c0ZvclR3b1Ry
aWdnZXJhYmxlc1VuZGVyT25lQW5hbHlzaXNUYXNrKGRiLCBzdGF0dXNMaXN0KQorICAgIHsKKyAg
ICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgICAgICAgdGhpcy5hZGRNb2NrQnVpbGRS
ZXF1ZXN0c1dpdGhSb290cyhkYiwgc3RhdHVzTGlzdCksCisgICAgICAgICAgICB0aGlzLmFkZEFu
b3RoZXJUcmlnZ2VyYWJsZShkYiksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdF9zZXRz
Jywge2lkOiA3MDB9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldF9pdGVtcycs
IHtzZXQ6IDcwMCwgY29tbWl0OiA4NzgzMn0pLAorICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21t
aXRfc2V0X2l0ZW1zJywge3NldDogNzAwLCBjb21taXQ6IDkzMTE2fSksCisgICAgICAgICAgICBk
Yi5pbnNlcnQoJ2NvbW1pdF9zZXRfaXRlbXMnLCB7c2V0OiA3MDAsIGNvbW1pdDogMTE3OTd9KSwK
KyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldHMnLCB7aWQ6IDcwMX0pLAorICAgICAg
ICAgICAgZGIuaW5zZXJ0KCdjb21taXRfc2V0X2l0ZW1zJywge3NldDogNzAxLCBjb21taXQ6IDg3
ODMyfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdF9zZXRfaXRlbXMnLCB7c2V0OiA3
MDEsIGNvbW1pdDogOTYzMzZ9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldF9p
dGVtcycsIHtzZXQ6IDcwMSwgY29tbWl0OiAxMTc5N30pLAorCisgICAgICAgICAgICBkYi5pbnNl
cnQoJ2FuYWx5c2lzX3Rlc3RfZ3JvdXBzJywge2lkOiA3MDIsIHRhc2s6IDYwMCwgbmFtZTogJ3Rl
c3QgbWFjb3Mgd2Via2l0IGpzYycsIGluaXRpYWxfcmVwZXRpdGlvbl9jb3VudDogMSwgbmVlZHNf
bm90aWZpY2F0aW9uOiB0cnVlfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3JlcXVl
c3RzJywge2lkOiAxMDAwLCBzdGF0dXM6ICdydW5uaW5nJywgdHJpZ2dlcmFibGU6IDIzNDUsIHJl
cG9zaXRvcnlfZ3JvdXA6IDQwMDIsIHBsYXRmb3JtOiAxMDEsIHRlc3Q6IDIwMCwgZ3JvdXA6IDcw
Miwgb3JkZXI6IDAsIGNvbW1pdF9zZXQ6IDcwMH0pLAorICAgICAgICAgICAgZGIuaW5zZXJ0KCdi
dWlsZF9yZXF1ZXN0cycsIHtpZDogMTAwMSwgc3RhdHVzOiAncGVuZGluZycsIHRyaWdnZXJhYmxl
OiAyMzQ1LCByZXBvc2l0b3J5X2dyb3VwOiA0MDAyLCBwbGF0Zm9ybTogMTAxLCB0ZXN0OiAyMDAs
IGdyb3VwOiA3MDIsIG9yZGVyOiAxLCBjb21taXRfc2V0OiA3MDF9KSwKKyAgICAgICAgXSkKKyAg
ICB9LAogICAgIGFkZEFub3RoZXJUcmlnZ2VyYWJsZShkYikgewogICAgICAgICByZXR1cm4gUHJv
bWlzZS5hbGwoWwogICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF90cmlnZ2VyYWJsZXMnLCB7
aWQ6IDIzNDUsIG5hbWU6ICdidWlsZC13ZWJraXQtanNjJ30pLApkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJs
ZS10ZXN0cy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9vbHMt
YnVpbGRib3QtdHJpZ2dlcmFibGUtdGVzdHMuanMKaW5kZXggNmMzZWMyZmM4NTQyZWJjOTdjNTc5
Yzk4ZjEyMGQwNTY3YTI1NWUyZi4uMmUyM2EzZDAwZTkzNGNlZTFhNTE2OTViOWQwYzVmNjNjZmY3
ZTVhOCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90
b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpz
CkBAIC0xMzIxLDYgKzEzMjEsODEgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0LnN0YXR1
c1VybCgpLCAnaHR0cDovL2J1aWxkLndlYmtpdC5vcmcvYnVpZHMvMScpOwogICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKGFub3RoZXJCdWlsZFJlcXVlc3Quc3RhdHVzVXJsKCksICdodHRwOi8vYnVp
bGQud2Via2l0Lm9yZy8jL2J1aWxkZXJzLzMvYnVpbGRzLzEyNCcpOwogICAgICAgICB9KTsKKwor
ICAgICAgICBpdCgnc2hvdWxkIG5vdCB1cGRhdGUgYnVpbGQgcmVxdWVzdHMgZnJvbSBhbm90aGVy
IHRyaWdnZXJhYmxlJywgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0
U2VydmVyLmRhdGFiYXNlKCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrRGF0YS5hZGRNb2NrQnVp
bGRSZXF1ZXN0c0ZvclR3b1RyaWdnZXJhYmxlc1VuZGVyT25lQW5hbHlzaXNUYXNrKGRiLCBbJ3J1
bm5pbmcnLCAnc2NoZWR1bGVkJywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJywgJ3Bl
bmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJ10pOworICAgICAgICAgICAgYXdhaXQgTWFuaWZl
c3QuZmV0Y2goKTsKKyAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRhLm1vY2tUZXN0
U3luY0NvbmZpZ1dpdGhQYXRjaEFjY2VwdGluZ0J1aWxkZXIoKTsKKyAgICAgICAgICAgIGNvbnN0
IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOworICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0g
e25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAg
Y29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKKyAg
ICAgICAgICAgIGNvbnN0IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50
aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOworICAgICAgICAgICAgYXNzZXJ0UmVx
dWVzdEFuZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRh
LmJ1aWxkYm90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7
CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisgICAgICAgICAgICBhd2FpdCBN
b2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGxldCBidWlsZFJl
cXVlc3QxMDAwID0gYXdhaXQgZGIuc2VsZWN0Rmlyc3RSb3coJ2J1aWxkX3JlcXVlc3RzJywge2lk
OiAxMDAwfSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0MTAwMC5zdGF0
dXMsICdydW5uaW5nJykKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuYWxs
KCkubGVuZ3RoLCA4KTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0udXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJs
KCdzb21lIHRlc3RlcicpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0u
cmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZS1i
dWlsZGVyLTEnKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnJlc29s
dmUoeydidWlsZHMnOiBbTW9ja0RhdGEucGVuZGluZ0J1aWxkKHtidWlsZFJlcXVlc3RJZDogODAx
fSldfSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sy
XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJ
LnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVy
IDInKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoe30p
OworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworICAgICAgICAgICAgYXdhaXQg
TW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRh
LnJlY2VudEJ1aWxkc1VybCgnc29tZSB0ZXN0ZXInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzBdLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBh
c3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2Vu
dEJ1aWxkc1VybCgnc29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzFdLnJlc29sdmUoeydidWlsZHMnOiBbTW9ja0RhdGEucnVubmluZ0J1aWxk
RGF0YSh7YnVpbGRSZXF1ZXN0SWQ6IDgwMH0pXX0pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBh
c3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS51cmwsIE1vY2tEYXRhLnJlY2Vu
dEJ1aWxkc1VybCgnc29tZSBidWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoe30pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5y
ZXNldCgpOworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgp
OworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5n
dGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
MF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUgdGVzdGVy
JykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS5yZXNvbHZlKHt9KTsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLm1ldGhv
ZCwgJ0dFVCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbMV0udXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsK
KyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ucmVzb2x2ZSh7fSk7CisgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRob2QsICdH
RVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJd
LnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVyIDInKSk7CisgICAg
ICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoe30pOworICAgICAgICAg
ICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQ
SS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90
ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxk
c1VybCgnc29tZSB0ZXN0ZXInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzBdLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgn
c29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
WzFdLnJlc29sdmUoeydidWlsZHMnOiBbTW9ja0RhdGEucnVubmluZ0J1aWxkRGF0YSh7YnVpbGRS
ZXF1ZXN0SWQ6IDgwMX0pLCBNb2NrRGF0YS5maW5pc2hlZEJ1aWxkRGF0YSh7YnVpbGRSZXF1ZXN0
SWQ6IDgwMH0pXX0pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbMl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1syXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29tZSBi
dWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJl
c29sdmUoe30pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworCisgICAgICAg
ICAgICBhd2FpdCBzeW5jUHJvbWlzZTsKKyAgICAgICAgICAgIGF3YWl0IEJ1aWxkUmVxdWVzdC5m
ZXRjaEZvclRyaWdnZXJhYmxlKE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhQYXRjaEFj
Y2VwdGluZ0J1aWxkZXIoKS50cmlnZ2VyYWJsZU5hbWUpOworICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDEwKTsKKyAgICAgICAgICAgIGJ1aWxkUmVx
dWVzdDEwMDAgPSBhd2FpdCBkYi5zZWxlY3RGaXJzdFJvdygnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6
IDEwMDB9KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3QxMDAwLnN0YXR1
cywgJ3J1bm5pbmcnKQorICAgICAgICB9KTsKICAgICB9KTsKIAogICAgIGRlc2NyaWJlKCd1cGRh
dGVUcmlnZ2VyYWJsZXMnLCAoKSA9PiB7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMKaW5kZXggNTM3NmI5Y2I1
MTMzNDI3NjU1OTQ4ZjJlZTU4MjljN2NiY2Q5OTcxNS4uZmU1ZjBhZTA4YjkwYmRlNWE0NzY5ZGU3
MjhkNTEyZWI4ZDRiMTU5YyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rv
b2xzL2pzL2J1aWxkYm90LXRyaWdnZXJhYmxlLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwpAQCAtODMsMTkgKzgzLDE4IEBA
IGNsYXNzIEJ1aWxkYm90VHJpZ2dlcmFibGUgewogCiAgICAgICAgIGNvbnN0IGJ1aWxkUmVxdWVz
dHMgPSBhd2FpdCBCdWlsZFJlcXVlc3QuZmV0Y2hGb3JUcmlnZ2VyYWJsZSh0aGlzLl9uYW1lKTsK
ICAgICAgICAgY29uc3QgdmFsaWRSZXF1ZXN0cyA9IHRoaXMuX3ZhbGlkYXRlUmVxdWVzdHMoYnVp
bGRSZXF1ZXN0cyk7Ci0gICAgICAgIGNvbnN0IGJ1aWxkUmVxZXVzdHNCeUdyb3VwID0gQnVpbGRi
b3RUcmlnZ2VyYWJsZS5fdGVzdEdyb3VwTWFwRm9yQnVpbGRSZXF1ZXN0cyhidWlsZFJlcXVlc3Rz
KTsKLSAgICAgICAgbGV0IHVwZGF0ZXMgPSBhd2FpdCB0aGlzLl9wdWxsQnVpbGRib3RPbkFsbFN5
bmNlcnMoYnVpbGRSZXFldXN0c0J5R3JvdXApOworICAgICAgICBjb25zdCBidWlsZFJlcXVlc3Rz
QnlHcm91cCA9IEJ1aWxkYm90VHJpZ2dlcmFibGUuX3Rlc3RHcm91cE1hcEZvckJ1aWxkUmVxdWVz
dHMoYnVpbGRSZXF1ZXN0cyk7CisgICAgICAgIGxldCB1cGRhdGVzID0gYXdhaXQgdGhpcy5fcHVs
bEJ1aWxkYm90T25BbGxTeW5jZXJzKGJ1aWxkUmVxdWVzdHNCeUdyb3VwKTsKICAgICAgICAgbGV0
IHJvb3RSZXVzZVVwZGF0ZXMgPSB7fQogICAgICAgICB0aGlzLl9sb2dnZXIubG9nKCdTY2hlZHVs
aW5nIGJ1aWxkcycpOwotICAgICAgICBjb25zdCBwcm9taXNlTGlzdCA9IFtdOwotICAgICAgICBj
b25zdCB0ZXN0R3JvdXBMaXN0ID0gQXJyYXkuZnJvbShidWlsZFJlcWV1c3RzQnlHcm91cC52YWx1
ZXMoKSkuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5ncm91cE9yZGVyIC0gYi5ncm91
cE9yZGVyOyB9KTsKKyAgICAgICAgY29uc3QgdGVzdEdyb3VwTGlzdCA9IEFycmF5LmZyb20oYnVp
bGRSZXF1ZXN0c0J5R3JvdXAudmFsdWVzKCkpLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJu
IGEuZ3JvdXBPcmRlciAtIGIuZ3JvdXBPcmRlcjsgfSk7CiAKICAgICAgICAgYXdhaXQgUHJvbWlz
ZS5hbGwodGVzdEdyb3VwTGlzdC5tYXAoKGdyb3VwKSA9PiBbZ3JvdXAsIHRoaXMuX25leHRSZXF1
ZXN0SW5Hcm91cChncm91cCwgdXBkYXRlcyldKQogICAgICAgICAgICAgLmZpbHRlcigoW2dyb3Vw
LCByZXF1ZXN0XSkgPT4gdmFsaWRSZXF1ZXN0cy5oYXMocmVxdWVzdCkpCiAgICAgICAgICAgICAu
bWFwKChbZ3JvdXAsIHJlcXVlc3RdKSA9PiB0aGlzLl9zY2hlZHVsZVJlcXVlc3QoZ3JvdXAsIHJl
cXVlc3QsIHJvb3RSZXVzZVVwZGF0ZXMpKSk7CiAKICAgICAgICAgLy8gUHVsbCBhbGwgYnVpbGRi
b3RzIGZvciB0aGUgc2Vjb25kIHRpbWUgc2luY2UgdGhlIHByZXZpb3VzIHN0ZXAgbWF5IGhhdmUg
c2NoZWR1bGVkIG1vcmUgYnVpbGRzCi0gICAgICAgIHVwZGF0ZXMgPSBhd2FpdCB0aGlzLl9wdWxs
QnVpbGRib3RPbkFsbFN5bmNlcnMoYnVpbGRSZXFldXN0c0J5R3JvdXApOworICAgICAgICB1cGRh
dGVzID0gYXdhaXQgdGhpcy5fcHVsbEJ1aWxkYm90T25BbGxTeW5jZXJzKGJ1aWxkUmVxdWVzdHNC
eUdyb3VwKTsKIAogICAgICAgICAvLyByb290UmV1c2VVcGRhdGVzIHdpbGwgYmUgb3ZlcnJpZGRl
biBieSBzdGF0dXMgZmV0Y2hlZCBmcm9tIGJ1aWxkYm90LgogICAgICAgICB1cGRhdGVzID0gewpA
QCAtMTY2LDYwICsxNjUsNjMgQEAgY2xhc3MgQnVpbGRib3RUcmlnZ2VyYWJsZSB7CiAgICAgICAg
IHJldHVybiB2YWxpZGF0ZWRSZXF1ZXN0czsKICAgICB9CiAKLSAgICBfcHVsbEJ1aWxkYm90T25B
bGxTeW5jZXJzKGJ1aWxkUmVxZXVzdHNCeUdyb3VwKQorICAgIGFzeW5jIF9wdWxsQnVpbGRib3RP
bkFsbFN5bmNlcnMoYnVpbGRSZXF1ZXN0c0J5R3JvdXApCiAgICAgewogICAgICAgICBsZXQgdXBk
YXRlcyA9IHt9OwogICAgICAgICBsZXQgYXNzb2NpYXRlZFJlcXVlc3RzID0gbmV3IFNldDsKLSAg
ICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHRoaXMuX3N5bmNlcnMubWFwKChzeW5jZXIpID0+IHsK
LSAgICAgICAgICAgIHJldHVybiBzeW5jZXIucHVsbEJ1aWxkYm90KHRoaXMuX2xvb2tiYWNrQ291
bnQpLnRoZW4oKGVudHJ5TGlzdCkgPT4gewotICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZW50
cnkgb2YgZW50cnlMaXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBC
dWlsZFJlcXVlc3QuZmluZEJ5SWQoZW50cnkuYnVpbGRSZXF1ZXN0SWQoKSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghcmVxdWVzdCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSBidWlsZFJlcWV1c3RzQnlHcm91
cC5nZXQocmVxdWVzdC50ZXN0R3JvdXBJZCgpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFp
bmZvKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQocmVxdWVzdC50ZXN0R3JvdXAo
KS5oYXNGaW5pc2hlZCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3N5bmNl
cnMubWFwKGFzeW5jIChzeW5jZXIpID0+IHsKKyAgICAgICAgICAgIGNvbnN0IGVudHJ5TGlzdCA9
IGF3YWl0IHN5bmNlci5wdWxsQnVpbGRib3QodGhpcy5fbG9va2JhY2tDb3VudCk7CisgICAgICAg
ICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5TGlzdCkgeworICAgICAgICAgICAgICAgIGNv
bnN0IHJlcXVlc3QgPSBCdWlsZFJlcXVlc3QuZmluZEJ5SWQoZW50cnkuYnVpbGRSZXF1ZXN0SWQo
KSk7CisgICAgICAgICAgICAgICAgaWYgKCFyZXF1ZXN0KQorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSBidWlsZFJlcXVlc3RzQnlH
cm91cC5nZXQocmVxdWVzdC50ZXN0R3JvdXBJZCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoIWlu
Zm8pIHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHJlcXVlc3QudGVzdEdyb3VwKCkuaGFz
RmluaXNoZWQoKSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdHMuYWRkKHJlcXVl
c3QpOwotCi0gICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0LmlzQnVpbGQoKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLmJ1aWxkU3luY2VyIHx8IGluZm8uYnVp
bGRTeW5jZXIgPT0gc3luY2VyKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS5z
bGF2ZU5hbWUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby5i
dWlsZFNsYXZlTmFtZSB8fCBpbmZvLmJ1aWxkU2xhdmVOYW1lID09IGVudHJ5LnNsYXZlTmFtZSgp
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmJ1aWxkU2xhdmVOYW1lID0gZW50
cnkuc2xhdmVOYW1lKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvLmJ1aWxkU3luY2VyID0gc3luY2VyOwotICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLnRlc3RTeW5j
ZXIgfHwgaW5mby50ZXN0U3luY2VyID09IHN5bmNlcik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoZW50cnkuc2xhdmVOYW1lKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
c3NlcnQoIWluZm8udGVzdFNsYXZlTmFtZSB8fCBpbmZvLnRlc3RTbGF2ZU5hbWUgPT0gZW50cnku
c2xhdmVOYW1lKCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8udGVzdFNsYXZl
TmFtZSA9IGVudHJ5LnNsYXZlTmFtZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5mby50ZXN0U3luY2VyID0gc3luY2VyOwotICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYXNzb2NpYXRlZFJlcXVlc3RzLmFkZChyZXF1
ZXN0KTsKIAotICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0dXMgPSBlbnRyeS5idWls
ZFJlcXVlc3RTdGF0dXNJZlVwZGF0ZUlzTmVlZGVkKHJlcXVlc3QpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAobmV3U3RhdHVzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2dn
ZXIubG9nKGBVcGRhdGluZyB0aGUgc3RhdHVzIG9mIGJ1aWxkIHJlcXVlc3QgJHtyZXF1ZXN0Lmlk
KCl9IGZyb20gJHtyZXF1ZXN0LnN0YXR1cygpfSB0byAke25ld1N0YXR1c31gKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZXNbZW50cnkuYnVpbGRSZXF1ZXN0SWQoKV0gPSB7c3RhdHVz
OiBuZXdTdGF0dXMsIHVybDogZW50cnkudXJsKCksIHN0YXR1c0Rlc2NyaXB0aW9uOiBlbnRyeS5z
dGF0dXNEZXNjcmlwdGlvbigpfTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghcmVx
dWVzdC5zdGF0dXNVcmwoKSB8fCByZXF1ZXN0LnN0YXR1c0Rlc2NyaXB0aW9uKCkgIT0gZW50cnku
c3RhdHVzRGVzY3JpcHRpb24oKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9n
Z2VyLmxvZyhgVXBkYXRpbmcgYnVpbGQgcmVxdWVzdCAke3JlcXVlc3QuaWQoKX0gc3RhdHVzIFVS
TCB0byAke2VudHJ5LnVybCgpfSBhbmQgc3RhdHVzIGRldGFpbCBmcm9tICR7cmVxdWVzdC5zdGF0
dXNEZXNjcmlwdGlvbigpfSB0byAke2VudHJ5LnN0YXR1c0Rlc2NyaXB0aW9uKCl9YCk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB1cGRhdGVzW2VudHJ5LmJ1aWxkUmVxdWVzdElkKCldID0ge3N0
YXR1czogcmVxdWVzdC5zdGF0dXMoKSwgdXJsOiBlbnRyeS51cmwoKSwgc3RhdHVzRGVzY3JpcHRp
b246IGVudHJ5LnN0YXR1c0Rlc2NyaXB0aW9uKCl9OworICAgICAgICAgICAgICAgIGlmIChyZXF1
ZXN0LmlzQnVpbGQoKSkgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnQoIWluZm8uYnVpbGRT
eW5jZXIgfHwgaW5mby5idWlsZFN5bmNlciA9PSBzeW5jZXIpOworICAgICAgICAgICAgICAgICAg
ICBpZiAoZW50cnkuc2xhdmVOYW1lKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2Vy
dCghaW5mby5idWlsZFNsYXZlTmFtZSB8fCBpbmZvLmJ1aWxkU2xhdmVOYW1lID09IGVudHJ5LnNs
YXZlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYnVpbGRTbGF2ZU5hbWUg
PSBlbnRyeS5zbGF2ZU5hbWUoKTsKICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICBpbmZvLmJ1aWxkU3luY2VyID0gc3luY2VyOworICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50ZXN0U3luY2VyIHx8IGluZm8u
dGVzdFN5bmNlciA9PSBzeW5jZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkuc2xh
dmVOYW1lKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50ZXN0U2xh
dmVOYW1lIHx8IGluZm8udGVzdFNsYXZlTmFtZSA9PSBlbnRyeS5zbGF2ZU5hbWUoKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpbmZvLnRlc3RTbGF2ZU5hbWUgPSBlbnRyeS5zbGF2ZU5hbWUo
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpbmZvLnRlc3RT
eW5jZXIgPSBzeW5jZXI7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY29u
c3QgbmV3U3RhdHVzID0gZW50cnkuYnVpbGRSZXF1ZXN0U3RhdHVzSWZVcGRhdGVJc05lZWRlZChy
ZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBpZiAobmV3U3RhdHVzKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2xvZ2dlci5sb2coYFVwZGF0aW5nIHRoZSBzdGF0dXMgb2YgYnVpbGQgcmVx
dWVzdCAke3JlcXVlc3QuaWQoKX0gZnJvbSAke3JlcXVlc3Quc3RhdHVzKCl9IHRvICR7bmV3U3Rh
dHVzfWApOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVzW2VudHJ5LmJ1aWxkUmVxdWVzdElk
KCldID0ge3N0YXR1czogbmV3U3RhdHVzLCB1cmw6IGVudHJ5LnVybCgpLCBzdGF0dXNEZXNjcmlw
dGlvbjogZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKX07CisgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICghcmVxdWVzdC5zdGF0dXNVcmwoKSB8fCByZXF1ZXN0LnN0YXR1c0Rlc2NyaXB0aW9uKCkg
IT0gZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9sb2dnZXIubG9nKGBVcGRhdGluZyBidWlsZCByZXF1ZXN0ICR7cmVxdWVzdC5pZCgpfSBzdGF0
dXMgVVJMIHRvICR7ZW50cnkudXJsKCl9IGFuZCBzdGF0dXMgZGV0YWlsIGZyb20gJHtyZXF1ZXN0
LnN0YXR1c0Rlc2NyaXB0aW9uKCl9IHRvICR7ZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKX1gKTsK
KyAgICAgICAgICAgICAgICAgICAgdXBkYXRlc1tlbnRyeS5idWlsZFJlcXVlc3RJZCgpXSA9IHtz
dGF0dXM6IHJlcXVlc3Quc3RhdHVzKCksIHVybDogZW50cnkudXJsKCksIHN0YXR1c0Rlc2NyaXB0
aW9uOiBlbnRyeS5zdGF0dXNEZXNjcmlwdGlvbigpfTsKICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSkpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgZm9yIChj
b25zdCByZXF1ZXN0IG9mIEJ1aWxkUmVxdWVzdC5hbGwoKSkgeworICAgICAgICAgICAgfQorICAg
ICAgICB9KSk7CisKKyAgICAgICAgZm9yIChjb25zdCBncm91cCBvZiBidWlsZFJlcXVlc3RzQnlH
cm91cC52YWx1ZXMoKSkgeworICAgICAgICAgICAgZm9yIChjb25zdCByZXF1ZXN0IG9mIGdyb3Vw
LnJlcXVlc3RzKSB7CiAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QuaGFzU3RhcnRlZCgpICYm
ICFyZXF1ZXN0Lmhhc0ZpbmlzaGVkKCkgJiYgIWFzc29jaWF0ZWRSZXF1ZXN0cy5oYXMocmVxdWVz
dCkpIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmxvZyhgVXBkYXRpbmcgdGhl
IHN0YXR1cyBvZiBidWlsZCByZXF1ZXN0ICR7cmVxdWVzdC5pZCgpfSBmcm9tICR7cmVxdWVzdC5z
dGF0dXMoKX0gdG8gZmFpbGVkSWZOb3RDb21wbGV0ZWRgKTsKICAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0KCEocmVxdWVzdC5pZCgpIGluIHVwZGF0ZXMpKTsKICAgICAgICAgICAgICAgICAgICAg
dXBkYXRlc1tyZXF1ZXN0LmlkKCldID0ge3N0YXR1czogJ2ZhaWxlZElmTm90Q29tcGxldGVkJ307
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9KS50aGVuKCgpID0+
IHVwZGF0ZXMpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHVwZGF0ZXM7CiAgICAgfQog
CiAgICAgX25leHRSZXF1ZXN0SW5Hcm91cChncm91cEluZm8sIHBlbmRpbmdVcGRhdGVzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417946</attachid>
            <date>2021-01-19 23:39:45 -0800</date>
            <delta_ts>2021-01-20 00:32:02 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220762-20210119233945.patch</filename>
            <type>text/plain</type>
            <size>21713</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjM3CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA3MDZiMDg0ZjQxMWNjMjZlYjIzZTM3NmYyMWJhZjk1ZmJkMGI2M2FiLi5kMTUzNzdhY2Jm
OGEzODY2YjkzNzAxMWE3Nzk0MzZiNDEwZmI0YjNkIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wMS0xOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBCdWlsZGJvdFRyaWdnZXJhYmxlIHNob3VsZCBub3QgdXBk
YXRlIGJ1aWxkIHJlcXVlc3RzIGZyb20gYW5vdGhlciB0cmlnZ2VyYWJsZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDc2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBCdWlsZGJvdFRyaWdnZXJhYmxlLl9w
dWxsQnVpbGRib3RPbkFsbFN5bmNlcnMgYXNzdW1lcyAnQnVpbGRSZXF1ZXN0LmFsbCgpJyByZXR1
cm5zIGFsbCBidWlsZCByZXF1ZXN0cyB1bmRlciBjdXJyZW50IHRyaWdnZXJhYmxlLgorICAgICAg
ICBIb3dldmVyLCB0aGlzIGFzc3VtcHRpb24gZ290IGJyb2tlbiB3aGVuIHJvb3QgcmV1c2UgY2hh
bmdlIHdhcyBpbnRyb2R1Y2VkIGJlY2F1c2UgYnVpbGQgcmVxdWVzdHMgdW5kZXIgc2FtZSBhbmFs
eXNpcyB0YXNrIGFyZQorICAgICAgICBmZXRjaGVkLiBUaHVzLCAnQnVpbGRSZXF1ZXN0LmFsbCgp
JyBtYXkgY29udGFpbiBidWlsZCByZXF1ZXN0cyB0aG9zZSBhcmUgbm90IHVuZGVyIGN1cnJlbnQg
dHJpZ2dlcmFibGUuIEFuZCB0aG9zZSBidWlsZCByZXF1ZXN0cworICAgICAgICB3aWxsIGJlIHVw
ZGF0ZWQgdG8gJ2ZhaWxlZElmTm90Q29tcGxldGVkJy4KKyAgICAgICAgVXBkYXRlICdhcGkvYnVp
bGQtcmVxdWVzdHMnIHNvIHRoYXQgJ3VybCcgYW5kICdzdGF0dXNfZGVzY3JpcHRpb24nIGZpZWxk
cyBhcmUgbm90IGNsZWFyZWQgaWYgdXBkYXRlIGRvZXMgbm90IHNwZWNpZnkgdGhlbS4KKworICAg
ICAgICAqIHB1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwOiBBZGRlZCBsb2dpYyB0byBhdm9p
ZCB1cGRhdGluZyAndXJsJyBhbmQgJ3N0YXR1c19kZXNjcmlwdGlvbicgaWYgdGhleSBhcmUgbm90
IHNwZWNpZmllZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLWJ1aWxkLXJlcXVlc3RzLXRl
c3RzLmpzOiBBZGRlZCBhbiB1bml0IHRlc3QuCisgICAgICAgICogc2VydmVyLXRlc3RzL3Jlc291
cmNlcy9tb2NrLWRhdGEuanM6CisgICAgICAgIChNb2NrRGF0YS5hc3luYyBzZXQgYWRkTW9ja0J1
aWxkUmVxdWVzdHNGb3JUd29UcmlnZ2VyYWJsZXNVbmRlck9uZUFuYWx5c2lzVGFzayk6CisgICAg
ICAgICogc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzOiBB
ZGRlZCBhbiB1bml0IHRlc3QuCisgICAgICAgICogdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFi
bGUuanM6CisgICAgICAgIChCdWlsZGJvdFRyaWdnZXJhYmxlLnByb3RvdHlwZS5hc3luYyBzeW5j
T25jZSk6IEZpeGVkIGEgdHlwby4KKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dlcmFibGUuX3B1bGxC
dWlsZGJvdE9uQWxsU3luY2Vycyk6IEluc3RlYWQgb2YgaXRlcmF0aW5nIG92ZXIgJ0J1aWxkUmVx
dWVzdC5hbGwoKScsIG9ubHkgc2V0ICdmYWlsZWRJZk5vdENvbXBsZXRlZCcKKyAgICAgICAgZm9y
IGJ1aWxkIHJlcXVlc3RzIHRob3NlIGFyZSB1bmRlciBjdXJyZW50IHRyaWdnZXJhYmxlIGFuZCBz
YXRpc2Z5IHRoZSBjb25kaXRpb24uCisKIDIwMjAtMTItMDkgIERld2VpIFpodSAgPGRld2VpX3po
dUBhcHBsZS5jb20+CiAKICAgICAgICAgJ0FuYWx5c2lzVGFzay5fY29tbWl0U2V0c0luU2FtZVBs
YXRmb3JtR3JvdXAnIHNob3VsZCBub3QgZmV0Y2ggYW4gaW52YWxpZCBwbGF0Zm9ybSBhbmQgbWV0
cmljIGNvbmZpZyBmb3IgYSBNZWFzdXJlbWVudFNldC4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocCBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2J1aWxkLXJlcXVlc3RzLnBocAppbmRleCBmNWZlODll
NzRjMGUyN2ZkOTNlMWI5Y2QzMGQyOWYxYmM5N2Y4ODVmLi4wNTgwYmFlN2MwOGM5NmQ0MzZmYzNk
ZTU3M2ZiYzVlNmM0ZmZkNDg4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL2FwaS9idWlsZC1yZXF1ZXN0cy5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy9hcGkvYnVpbGQtcmVxdWVzdHMucGhwCkBAIC00OSw2ICs0OSwxMyBAQCBmdW5j
dGlvbiB1cGRhdGVfYnVpbGRzKCRkYiwgJHVwZGF0ZXMpIHsKICAgICAgICAgJHN0YXR1c19kZXNj
cmlwdGlvbiA9IGFycmF5X2dldCgkaW5mbywgJ3N0YXR1c0Rlc2NyaXB0aW9uJyk7CiAgICAgICAg
ICRidWlsZF9yZXF1ZXN0X2Zvcl9yb290X3JldXNlX2lkID0gYXJyYXlfZ2V0KCRpbmZvLCAnYnVp
bGRSZXF1ZXN0Rm9yUm9vdFJldXNlJyk7CiAgICAgICAgICRyZXF1ZXN0X3JvdyA9ICRkYi0+c2Vs
ZWN0X2ZpcnN0X3JvdygnYnVpbGRfcmVxdWVzdHMnLCAncmVxdWVzdCcsIGFycmF5KCdpZCcgPT4g
JGlkKSk7CisKKyAgICAgICAgJGZpZWxkc190b191cGRhdGUgPSBhcnJheSgpOworICAgICAgICBp
ZiAoYXJyYXlfa2V5X2V4aXN0cygndXJsJywgJGluZm8pKQorICAgICAgICAgICAgJGZpZWxkc190
b191cGRhdGVbJ3VybCddID0gJHVybDsKKyAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ3N0
YXR1c0Rlc2NyaXB0aW9uJywgJGluZm8pKQorICAgICAgICAgICAgJGZpZWxkc190b191cGRhdGVb
J3N0YXR1c19kZXNjcmlwdGlvbiddID0gJHN0YXR1c19kZXNjcmlwdGlvbjsKKwogICAgICAgICBp
ZiAoJHN0YXR1cyA9PSAnZmFpbGVkSWZOb3RDb21wbGV0ZWQnKSB7CiAgICAgICAgICAgICBpZiAo
ISRyZXF1ZXN0X3JvdykgewogICAgICAgICAgICAgICAgICRkYi0+cm9sbGJhY2tfdHJhbnNhY3Rp
b24oKTsKQEAgLTYyLDEzICs2OSwxNSBAQCBmdW5jdGlvbiB1cGRhdGVfYnVpbGRzKCRkYiwgJHVw
ZGF0ZXMpIHsKICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcmVxdWVzdF9ncm91cCA9ICQxIEFO
RCByZXF1ZXN0X29yZGVyID4gJDInLAogICAgICAgICAgICAgICAgICAgICBhcnJheSgkcmVxdWVz
dF9yb3dbJ3JlcXVlc3RfZ3JvdXAnXSwgJHJlcXVlc3Rfcm93WydyZXF1ZXN0X29yZGVyJ10pKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICRkYi0+dXBkYXRlX3JvdygnYnVpbGRfcmVxdWVz
dHMnLCAncmVxdWVzdCcsIGFycmF5KCdpZCcgPT4gJGlkKSwgYXJyYXkoJ3N0YXR1cycgPT4gJ2Zh
aWxlZCcsICd1cmwnID0+ICR1cmwsICdzdGF0dXNfZGVzY3JpcHRpb24nID0+ICRzdGF0dXNfZGVz
Y3JpcHRpb24pKTsKKyAgICAgICAgICAgICRmaWVsZHNfdG9fdXBkYXRlWydzdGF0dXMnXSA9ICdm
YWlsZWQnOworICAgICAgICAgICAgJGRiLT51cGRhdGVfcm93KCdidWlsZF9yZXF1ZXN0cycsICdy
ZXF1ZXN0JywgYXJyYXkoJ2lkJyA9PiAkaWQpLCAkZmllbGRzX3RvX3VwZGF0ZSk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoIWluX2FycmF5KCRzdGF0dXMsIGFycmF5KCdwZW5k
aW5nJywgJ3NjaGVkdWxlZCcsICdydW5uaW5nJywgJ2ZhaWxlZCcsICdjb21wbGV0ZWQnLCAnY2Fu
Y2VsZWQnKSkpIHsKICAgICAgICAgICAgICAgICAkZGItPnJvbGxiYWNrX3RyYW5zYWN0aW9uKCk7
CiAgICAgICAgICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdVbmtub3duQnVpbGRSZXF1ZXN0U3Rh
dHVzJywgYXJyYXkoJ2J1aWxkUmVxdWVzdCcgPT4gJGlkLCAnc3RhdHVzJyA9PiAkc3RhdHVzKSk7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAkZGItPnVwZGF0ZV9yb3coJ2J1aWxkX3JlcXVl
c3RzJywgJ3JlcXVlc3QnLCBhcnJheSgnaWQnID0+ICRpZCksIGFycmF5KCdzdGF0dXMnID0+ICRz
dGF0dXMsICd1cmwnID0+ICR1cmwsICdzdGF0dXNfZGVzY3JpcHRpb24nID0+ICRzdGF0dXNfZGVz
Y3JpcHRpb24pKTsKKyAgICAgICAgICAgICRmaWVsZHNfdG9fdXBkYXRlWydzdGF0dXMnXSA9ICRz
dGF0dXM7CisgICAgICAgICAgICAkZGItPnVwZGF0ZV9yb3coJ2J1aWxkX3JlcXVlc3RzJywgJ3Jl
cXVlc3QnLCBhcnJheSgnaWQnID0+ICRpZCksICRmaWVsZHNfdG9fdXBkYXRlKTsKICAgICAgICAg
ICAgIGlmICgkYnVpbGRfcmVxdWVzdF9mb3Jfcm9vdF9yZXVzZV9pZCkgewogICAgICAgICAgICAg
ICAgICRidWlsZF9yZXF1ZXN0X2Zvcl9yb290X3JldXNlX2lkID0gaW50dmFsKCRidWlsZF9yZXF1
ZXN0X2Zvcl9yb290X3JldXNlX2lkKTsKICAgICAgICAgICAgICAgICAkYnVpbGRfcmVxdWVzdF9m
b3Jfcm9vdF9yZXVzZSA9ICRkYi0+c2VsZWN0X2ZpcnN0X3JvdygnYnVpbGRfcmVxdWVzdHMnLCAn
cmVxdWVzdCcsIGFycmF5KCdpZCcgPT4gJGJ1aWxkX3JlcXVlc3RfZm9yX3Jvb3RfcmV1c2VfaWQp
KTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBp
LWJ1aWxkLXJlcXVlc3RzLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZl
ci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKaW5kZXggMzFlNzk0YTE5YWRkM2I5
YjliOGM5YjliNTdmMWJjNmRhMTYwYjU0ZS4uMjE3NGU4YTc0MGYyY2I5ZGJjNWE2N2I1ZWZmZjkx
NzgyZTVkOTU5ZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10
ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3NlcnZlci10ZXN0cy9hcGktYnVpbGQtcmVxdWVzdHMtdGVzdHMuanMKQEAgLTEwNDIs
NCArMTA0MiwyMSBAQCBkZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0aW9uICgp
IHsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKKworICAgIGl0KCdzaG91
bGQgbm90IHVwZGF0ZSB1cmwgb3Igc3RhdHVzX2Rlc2NyaXB0aW9uIGlmIGVpdGhlciBpcyBub3Qg
c3BlY2lmaWVkIHdoaWxlIHVwZGF0aW5nIGEgYnVpbGQgcmVxdWVzdCB3aXRoICJmYWlsZWRJZk5v
dENvbXBsZXRlZCInLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGNvbnN0IHVwZGF0ZXMgPSB7Jzcw
MCc6IHtzdGF0dXM6ICdmYWlsZWRJZk5vdENvbXBsZXRlZCd9fTsKKyAgICAgICAgY29uc3QgdXJs
ID0gJ2h0dHA6Ly9idWlsZC53ZWJraXQub3JnL3NvbWVCdWlsZGVyL2J1aWxkcyc7CisgICAgICAg
IGF3YWl0IE1vY2tEYXRhLmFkZE1vY2tEYXRhKFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSwgWydydW5u
aW5nJywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJ10pOworICAgICAgICBhd2FpdCBU
ZXN0U2VydmVyLmRhdGFiYXNlKCkucXVlcnkoYFVQREFURSBidWlsZF9yZXF1ZXN0cyBTRVQgcmVx
dWVzdF91cmwgPSAnJHt1cmx9JyBXSEVSRSByZXF1ZXN0X2lkID0gNzAwYCk7CisgICAgICAgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTldpdGhT
dGF0dXMoJy9hcGkvYnVpbGQtcmVxdWVzdHMvYnVpbGQtd2Via2l0JywgeworICAgICAgICAgICAg
J3NsYXZlTmFtZSc6ICdzeW5jLXNsYXZlJywKKyAgICAgICAgICAgICdzbGF2ZVBhc3N3b3JkJzog
J3Bhc3N3b3JkJywKKyAgICAgICAgICAgICdidWlsZFJlcXVlc3RVcGRhdGVzJzogdXBkYXRlcwor
ICAgICAgICB9KTsKKyAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09L
Jyk7CisKKyAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydidWlsZFJlcXVlc3RzJ10ubGVu
Z3RoLCA0KTsKKyAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXNwb25zZVsnYnVpbGRSZXF1ZXN0
cyddWzBdLmlkLCA3MDApOworICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlc3BvbnNlWydidWls
ZFJlcXVlc3RzJ11bMF0udXJsLCB1cmwpOworICAgIH0pOwogfSk7CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9tb2NrLWRhdGEuanMg
Yi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Jlc291cmNlcy9tb2NrLWRh
dGEuanMKaW5kZXggNGI0N2YyMzBiMzZlZTIwNTEzYTQ0ZDVlNjNkZDgwYWQzMjMwZmIyOS4uYWU3
YjQyZWJkMTM5OWM2NzVkZGE0ZjJiZjk2YmJkNjIzZTJlZTgxMSAxMDA2NDQKLS0tIGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9yZXNvdXJjZXMvbW9jay1kYXRhLmpzCisr
KyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvcmVzb3VyY2VzL21vY2st
ZGF0YS5qcwpAQCAtMTI4LDYgKzEyOCwyNSBAQCBNb2NrRGF0YSA9IHsKICAgICAgICAgICAgIGRi
Lmluc2VydCgnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6IDkwMywgc3RhdHVzOiBzdGF0dXNMaXN0Wzdd
LCB0cmlnZ2VyYWJsZTogMTAwMCwgcmVwb3NpdG9yeV9ncm91cDogMjAwMSwgcGxhdGZvcm06IDY1
LCB0ZXN0OiAyMDAsIGdyb3VwOiA3MDEsIG9yZGVyOiAxLCBjb21taXRfc2V0OiA2MDF9KSwKICAg
ICAgICAgXSk7CiAgICAgfSwKKyAgICBhc3luYyBhZGRNb2NrQnVpbGRSZXF1ZXN0c0ZvclR3b1Ry
aWdnZXJhYmxlc1VuZGVyT25lQW5hbHlzaXNUYXNrKGRiLCBzdGF0dXNMaXN0KQorICAgIHsKKyAg
ICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgICAgICAgdGhpcy5hZGRNb2NrQnVpbGRS
ZXF1ZXN0c1dpdGhSb290cyhkYiwgc3RhdHVzTGlzdCksCisgICAgICAgICAgICB0aGlzLmFkZEFu
b3RoZXJUcmlnZ2VyYWJsZShkYiksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdF9zZXRz
Jywge2lkOiA3MDB9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldF9pdGVtcycs
IHtzZXQ6IDcwMCwgY29tbWl0OiA4NzgzMn0pLAorICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21t
aXRfc2V0X2l0ZW1zJywge3NldDogNzAwLCBjb21taXQ6IDkzMTE2fSksCisgICAgICAgICAgICBk
Yi5pbnNlcnQoJ2NvbW1pdF9zZXRfaXRlbXMnLCB7c2V0OiA3MDAsIGNvbW1pdDogMTE3OTd9KSwK
KyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldHMnLCB7aWQ6IDcwMX0pLAorICAgICAg
ICAgICAgZGIuaW5zZXJ0KCdjb21taXRfc2V0X2l0ZW1zJywge3NldDogNzAxLCBjb21taXQ6IDg3
ODMyfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2NvbW1pdF9zZXRfaXRlbXMnLCB7c2V0OiA3
MDEsIGNvbW1pdDogOTYzMzZ9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0X3NldF9p
dGVtcycsIHtzZXQ6IDcwMSwgY29tbWl0OiAxMTc5N30pLAorCisgICAgICAgICAgICBkYi5pbnNl
cnQoJ2FuYWx5c2lzX3Rlc3RfZ3JvdXBzJywge2lkOiA3MDIsIHRhc2s6IDYwMCwgbmFtZTogJ3Rl
c3QgbWFjb3Mgd2Via2l0IGpzYycsIGluaXRpYWxfcmVwZXRpdGlvbl9jb3VudDogMSwgbmVlZHNf
bm90aWZpY2F0aW9uOiB0cnVlfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3JlcXVl
c3RzJywge2lkOiAxMDAwLCBzdGF0dXM6ICdydW5uaW5nJywgdHJpZ2dlcmFibGU6IDIzNDUsIHJl
cG9zaXRvcnlfZ3JvdXA6IDQwMDIsIHBsYXRmb3JtOiAxMDEsIHRlc3Q6IDIwMCwgZ3JvdXA6IDcw
Miwgb3JkZXI6IDAsIGNvbW1pdF9zZXQ6IDcwMH0pLAorICAgICAgICAgICAgZGIuaW5zZXJ0KCdi
dWlsZF9yZXF1ZXN0cycsIHtpZDogMTAwMSwgc3RhdHVzOiAncGVuZGluZycsIHRyaWdnZXJhYmxl
OiAyMzQ1LCByZXBvc2l0b3J5X2dyb3VwOiA0MDAyLCBwbGF0Zm9ybTogMTAxLCB0ZXN0OiAyMDAs
IGdyb3VwOiA3MDIsIG9yZGVyOiAxLCBjb21taXRfc2V0OiA3MDF9KSwKKyAgICAgICAgXSkKKyAg
ICB9LAogICAgIGFkZEFub3RoZXJUcmlnZ2VyYWJsZShkYikgewogICAgICAgICByZXR1cm4gUHJv
bWlzZS5hbGwoWwogICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF90cmlnZ2VyYWJsZXMnLCB7
aWQ6IDIzNDUsIG5hbWU6ICdidWlsZC13ZWJraXQtanNjJ30pLApkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJs
ZS10ZXN0cy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9vbHMt
YnVpbGRib3QtdHJpZ2dlcmFibGUtdGVzdHMuanMKaW5kZXggNmMzZWMyZmM4NTQyZWJjOTdjNTc5
Yzk4ZjEyMGQwNTY3YTI1NWUyZi4uMmUyM2EzZDAwZTkzNGNlZTFhNTE2OTViOWQwYzVmNjNjZmY3
ZTVhOCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90
b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpz
CkBAIC0xMzIxLDYgKzEzMjEsODEgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0LnN0YXR1
c1VybCgpLCAnaHR0cDovL2J1aWxkLndlYmtpdC5vcmcvYnVpZHMvMScpOwogICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKGFub3RoZXJCdWlsZFJlcXVlc3Quc3RhdHVzVXJsKCksICdodHRwOi8vYnVp
bGQud2Via2l0Lm9yZy8jL2J1aWxkZXJzLzMvYnVpbGRzLzEyNCcpOwogICAgICAgICB9KTsKKwor
ICAgICAgICBpdCgnc2hvdWxkIG5vdCB1cGRhdGUgYnVpbGQgcmVxdWVzdHMgZnJvbSBhbm90aGVy
IHRyaWdnZXJhYmxlJywgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0
U2VydmVyLmRhdGFiYXNlKCk7CisgICAgICAgICAgICBhd2FpdCBNb2NrRGF0YS5hZGRNb2NrQnVp
bGRSZXF1ZXN0c0ZvclR3b1RyaWdnZXJhYmxlc1VuZGVyT25lQW5hbHlzaXNUYXNrKGRiLCBbJ3J1
bm5pbmcnLCAnc2NoZWR1bGVkJywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJywgJ3Bl
bmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJ10pOworICAgICAgICAgICAgYXdhaXQgTWFuaWZl
c3QuZmV0Y2goKTsKKyAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IE1vY2tEYXRhLm1vY2tUZXN0
U3luY0NvbmZpZ1dpdGhQYXRjaEFjY2VwdGluZ0J1aWxkZXIoKTsKKyAgICAgICAgICAgIGNvbnN0
IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOworICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0g
e25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OworICAgICAgICAgICAg
Y29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKKyAg
ICAgICAgICAgIGNvbnN0IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50
aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOworICAgICAgICAgICAgYXNzZXJ0UmVx
dWVzdEFuZFJlc29sdmUoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSwgJ0dFVCcsIE1vY2tEYXRh
LmJ1aWxkYm90QnVpbGRlcnNVUkwoKSwgTW9ja0RhdGEubW9ja0J1aWxkYm90QnVpbGRlcnMoKSk7
CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisgICAgICAgICAgICBhd2FpdCBN
b2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CisKKyAgICAgICAgICAgIGxldCBidWlsZFJl
cXVlc3QxMDAwID0gYXdhaXQgZGIuc2VsZWN0Rmlyc3RSb3coJ2J1aWxkX3JlcXVlc3RzJywge2lk
OiAxMDAwfSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0MTAwMC5zdGF0
dXMsICdydW5uaW5nJykKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChCdWlsZFJlcXVlc3QuYWxs
KCkubGVuZ3RoLCA4KTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEku
cmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0udXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJs
KCdzb21lIHRlc3RlcicpKTsKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0u
cmVzb2x2ZSh7fSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0c1sxXS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzFdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZS1i
dWlsZGVyLTEnKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLnJlc29s
dmUoeydidWlsZHMnOiBbTW9ja0RhdGEucGVuZGluZ0J1aWxkKHtidWlsZFJlcXVlc3RJZDogODAx
fSldfSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sy
XS5tZXRob2QsICdHRVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJ
LnJlcXVlc3RzWzJdLnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVy
IDInKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoe30p
OworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworICAgICAgICAgICAgYXdhaXQg
TW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRh
LnJlY2VudEJ1aWxkc1VybCgnc29tZSB0ZXN0ZXInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVt
b3RlQVBJLnJlcXVlc3RzWzBdLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBh
c3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2Vu
dEJ1aWxkc1VybCgnc29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzFdLnJlc29sdmUoeydidWlsZHMnOiBbTW9ja0RhdGEucnVubmluZ0J1aWxk
RGF0YSh7YnVpbGRSZXF1ZXN0SWQ6IDgwMH0pXX0pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBh
c3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS51cmwsIE1vY2tEYXRhLnJlY2Vu
dEJ1aWxkc1VybCgnc29tZSBidWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3Rl
QVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoe30pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5y
ZXNldCgpOworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgp
OworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5n
dGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
MF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnBlbmRpbmdCdWlsZHNVcmwoJ3NvbWUgdGVzdGVy
JykpOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS5yZXNvbHZlKHt9KTsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzFdLm1ldGhv
ZCwgJ0dFVCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHNbMV0udXJsLCBNb2NrRGF0YS5wZW5kaW5nQnVpbGRzVXJsKCdzb21lLWJ1aWxkZXItMScpKTsK
KyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVxdWVzdHNbMV0ucmVzb2x2ZSh7fSk7CisgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1syXS5tZXRob2QsICdH
RVQnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJd
LnVybCwgTW9ja0RhdGEucGVuZGluZ0J1aWxkc1VybCgnc29tZSBidWlsZGVyIDInKSk7CisgICAg
ICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJlc29sdmUoe30pOworICAgICAgICAg
ICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworICAgICAgICAgICAgYXdhaXQgTW9ja1JlbW90ZUFQ
SS53YWl0Rm9yUmVxdWVzdCgpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90
ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDMpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHNbMF0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxk
c1VybCgnc29tZSB0ZXN0ZXInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVl
c3RzWzBdLnJlc29sdmUoe30pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVB
UEkucmVxdWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
TW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1sxXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgn
c29tZS1idWlsZGVyLTEnLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
WzFdLnJlc29sdmUoeydidWlsZHMnOiBbTW9ja0RhdGEucnVubmluZ0J1aWxkRGF0YSh7YnVpbGRS
ZXF1ZXN0SWQ6IDgwMX0pLCBNb2NrRGF0YS5maW5pc2hlZEJ1aWxkRGF0YSh7YnVpbGRSZXF1ZXN0
SWQ6IDgwMH0pXX0pOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVx
dWVzdHNbMl0ubWV0aG9kLCAnR0VUJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0c1syXS51cmwsIE1vY2tEYXRhLnJlY2VudEJ1aWxkc1VybCgnc29tZSBi
dWlsZGVyIDInLCAyKSk7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzJdLnJl
c29sdmUoe30pOworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworCisgICAgICAg
ICAgICBhd2FpdCBzeW5jUHJvbWlzZTsKKyAgICAgICAgICAgIGF3YWl0IEJ1aWxkUmVxdWVzdC5m
ZXRjaEZvclRyaWdnZXJhYmxlKE1vY2tEYXRhLm1vY2tUZXN0U3luY0NvbmZpZ1dpdGhQYXRjaEFj
Y2VwdGluZ0J1aWxkZXIoKS50cmlnZ2VyYWJsZU5hbWUpOworICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKEJ1aWxkUmVxdWVzdC5hbGwoKS5sZW5ndGgsIDEwKTsKKyAgICAgICAgICAgIGJ1aWxkUmVx
dWVzdDEwMDAgPSBhd2FpdCBkYi5zZWxlY3RGaXJzdFJvdygnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6
IDEwMDB9KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3QxMDAwLnN0YXR1
cywgJ3J1bm5pbmcnKQorICAgICAgICB9KTsKICAgICB9KTsKIAogICAgIGRlc2NyaWJlKCd1cGRh
dGVUcmlnZ2VyYWJsZXMnLCAoKSA9PiB7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMKaW5kZXggNTM3NmI5Y2I1
MTMzNDI3NjU1OTQ4ZjJlZTU4MjljN2NiY2Q5OTcxNS4uZmU1ZjBhZTA4YjkwYmRlNWE0NzY5ZGU3
MjhkNTEyZWI4ZDRiMTU5YyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rv
b2xzL2pzL2J1aWxkYm90LXRyaWdnZXJhYmxlLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwpAQCAtODMsMTkgKzgzLDE4IEBA
IGNsYXNzIEJ1aWxkYm90VHJpZ2dlcmFibGUgewogCiAgICAgICAgIGNvbnN0IGJ1aWxkUmVxdWVz
dHMgPSBhd2FpdCBCdWlsZFJlcXVlc3QuZmV0Y2hGb3JUcmlnZ2VyYWJsZSh0aGlzLl9uYW1lKTsK
ICAgICAgICAgY29uc3QgdmFsaWRSZXF1ZXN0cyA9IHRoaXMuX3ZhbGlkYXRlUmVxdWVzdHMoYnVp
bGRSZXF1ZXN0cyk7Ci0gICAgICAgIGNvbnN0IGJ1aWxkUmVxZXVzdHNCeUdyb3VwID0gQnVpbGRi
b3RUcmlnZ2VyYWJsZS5fdGVzdEdyb3VwTWFwRm9yQnVpbGRSZXF1ZXN0cyhidWlsZFJlcXVlc3Rz
KTsKLSAgICAgICAgbGV0IHVwZGF0ZXMgPSBhd2FpdCB0aGlzLl9wdWxsQnVpbGRib3RPbkFsbFN5
bmNlcnMoYnVpbGRSZXFldXN0c0J5R3JvdXApOworICAgICAgICBjb25zdCBidWlsZFJlcXVlc3Rz
QnlHcm91cCA9IEJ1aWxkYm90VHJpZ2dlcmFibGUuX3Rlc3RHcm91cE1hcEZvckJ1aWxkUmVxdWVz
dHMoYnVpbGRSZXF1ZXN0cyk7CisgICAgICAgIGxldCB1cGRhdGVzID0gYXdhaXQgdGhpcy5fcHVs
bEJ1aWxkYm90T25BbGxTeW5jZXJzKGJ1aWxkUmVxdWVzdHNCeUdyb3VwKTsKICAgICAgICAgbGV0
IHJvb3RSZXVzZVVwZGF0ZXMgPSB7fQogICAgICAgICB0aGlzLl9sb2dnZXIubG9nKCdTY2hlZHVs
aW5nIGJ1aWxkcycpOwotICAgICAgICBjb25zdCBwcm9taXNlTGlzdCA9IFtdOwotICAgICAgICBj
b25zdCB0ZXN0R3JvdXBMaXN0ID0gQXJyYXkuZnJvbShidWlsZFJlcWV1c3RzQnlHcm91cC52YWx1
ZXMoKSkuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5ncm91cE9yZGVyIC0gYi5ncm91
cE9yZGVyOyB9KTsKKyAgICAgICAgY29uc3QgdGVzdEdyb3VwTGlzdCA9IEFycmF5LmZyb20oYnVp
bGRSZXF1ZXN0c0J5R3JvdXAudmFsdWVzKCkpLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJu
IGEuZ3JvdXBPcmRlciAtIGIuZ3JvdXBPcmRlcjsgfSk7CiAKICAgICAgICAgYXdhaXQgUHJvbWlz
ZS5hbGwodGVzdEdyb3VwTGlzdC5tYXAoKGdyb3VwKSA9PiBbZ3JvdXAsIHRoaXMuX25leHRSZXF1
ZXN0SW5Hcm91cChncm91cCwgdXBkYXRlcyldKQogICAgICAgICAgICAgLmZpbHRlcigoW2dyb3Vw
LCByZXF1ZXN0XSkgPT4gdmFsaWRSZXF1ZXN0cy5oYXMocmVxdWVzdCkpCiAgICAgICAgICAgICAu
bWFwKChbZ3JvdXAsIHJlcXVlc3RdKSA9PiB0aGlzLl9zY2hlZHVsZVJlcXVlc3QoZ3JvdXAsIHJl
cXVlc3QsIHJvb3RSZXVzZVVwZGF0ZXMpKSk7CiAKICAgICAgICAgLy8gUHVsbCBhbGwgYnVpbGRi
b3RzIGZvciB0aGUgc2Vjb25kIHRpbWUgc2luY2UgdGhlIHByZXZpb3VzIHN0ZXAgbWF5IGhhdmUg
c2NoZWR1bGVkIG1vcmUgYnVpbGRzCi0gICAgICAgIHVwZGF0ZXMgPSBhd2FpdCB0aGlzLl9wdWxs
QnVpbGRib3RPbkFsbFN5bmNlcnMoYnVpbGRSZXFldXN0c0J5R3JvdXApOworICAgICAgICB1cGRh
dGVzID0gYXdhaXQgdGhpcy5fcHVsbEJ1aWxkYm90T25BbGxTeW5jZXJzKGJ1aWxkUmVxdWVzdHNC
eUdyb3VwKTsKIAogICAgICAgICAvLyByb290UmV1c2VVcGRhdGVzIHdpbGwgYmUgb3ZlcnJpZGRl
biBieSBzdGF0dXMgZmV0Y2hlZCBmcm9tIGJ1aWxkYm90LgogICAgICAgICB1cGRhdGVzID0gewpA
QCAtMTY2LDYwICsxNjUsNjMgQEAgY2xhc3MgQnVpbGRib3RUcmlnZ2VyYWJsZSB7CiAgICAgICAg
IHJldHVybiB2YWxpZGF0ZWRSZXF1ZXN0czsKICAgICB9CiAKLSAgICBfcHVsbEJ1aWxkYm90T25B
bGxTeW5jZXJzKGJ1aWxkUmVxZXVzdHNCeUdyb3VwKQorICAgIGFzeW5jIF9wdWxsQnVpbGRib3RP
bkFsbFN5bmNlcnMoYnVpbGRSZXF1ZXN0c0J5R3JvdXApCiAgICAgewogICAgICAgICBsZXQgdXBk
YXRlcyA9IHt9OwogICAgICAgICBsZXQgYXNzb2NpYXRlZFJlcXVlc3RzID0gbmV3IFNldDsKLSAg
ICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHRoaXMuX3N5bmNlcnMubWFwKChzeW5jZXIpID0+IHsK
LSAgICAgICAgICAgIHJldHVybiBzeW5jZXIucHVsbEJ1aWxkYm90KHRoaXMuX2xvb2tiYWNrQ291
bnQpLnRoZW4oKGVudHJ5TGlzdCkgPT4gewotICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZW50
cnkgb2YgZW50cnlMaXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBC
dWlsZFJlcXVlc3QuZmluZEJ5SWQoZW50cnkuYnVpbGRSZXF1ZXN0SWQoKSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICghcmVxdWVzdCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSBidWlsZFJlcWV1c3RzQnlHcm91
cC5nZXQocmVxdWVzdC50ZXN0R3JvdXBJZCgpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFp
bmZvKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQocmVxdWVzdC50ZXN0R3JvdXAo
KS5oYXNGaW5pc2hlZCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3N5bmNl
cnMubWFwKGFzeW5jIChzeW5jZXIpID0+IHsKKyAgICAgICAgICAgIGNvbnN0IGVudHJ5TGlzdCA9
IGF3YWl0IHN5bmNlci5wdWxsQnVpbGRib3QodGhpcy5fbG9va2JhY2tDb3VudCk7CisgICAgICAg
ICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5TGlzdCkgeworICAgICAgICAgICAgICAgIGNv
bnN0IHJlcXVlc3QgPSBCdWlsZFJlcXVlc3QuZmluZEJ5SWQoZW50cnkuYnVpbGRSZXF1ZXN0SWQo
KSk7CisgICAgICAgICAgICAgICAgaWYgKCFyZXF1ZXN0KQorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSBidWlsZFJlcXVlc3RzQnlH
cm91cC5nZXQocmVxdWVzdC50ZXN0R3JvdXBJZCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoIWlu
Zm8pIHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHJlcXVlc3QudGVzdEdyb3VwKCkuaGFz
RmluaXNoZWQoKSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBhc3NvY2lhdGVkUmVxdWVzdHMuYWRkKHJlcXVl
c3QpOwotCi0gICAgICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0LmlzQnVpbGQoKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLmJ1aWxkU3luY2VyIHx8IGluZm8uYnVp
bGRTeW5jZXIgPT0gc3luY2VyKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS5z
bGF2ZU5hbWUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby5i
dWlsZFNsYXZlTmFtZSB8fCBpbmZvLmJ1aWxkU2xhdmVOYW1lID09IGVudHJ5LnNsYXZlTmFtZSgp
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmJ1aWxkU2xhdmVOYW1lID0gZW50
cnkuc2xhdmVOYW1lKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvLmJ1aWxkU3luY2VyID0gc3luY2VyOwotICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KCFpbmZvLnRlc3RTeW5j
ZXIgfHwgaW5mby50ZXN0U3luY2VyID09IHN5bmNlcik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoZW50cnkuc2xhdmVOYW1lKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
c3NlcnQoIWluZm8udGVzdFNsYXZlTmFtZSB8fCBpbmZvLnRlc3RTbGF2ZU5hbWUgPT0gZW50cnku
c2xhdmVOYW1lKCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8udGVzdFNsYXZl
TmFtZSA9IGVudHJ5LnNsYXZlTmFtZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgaW5mby50ZXN0U3luY2VyID0gc3luY2VyOwotICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYXNzb2NpYXRlZFJlcXVlc3RzLmFkZChyZXF1
ZXN0KTsKIAotICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0dXMgPSBlbnRyeS5idWls
ZFJlcXVlc3RTdGF0dXNJZlVwZGF0ZUlzTmVlZGVkKHJlcXVlc3QpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAobmV3U3RhdHVzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2dn
ZXIubG9nKGBVcGRhdGluZyB0aGUgc3RhdHVzIG9mIGJ1aWxkIHJlcXVlc3QgJHtyZXF1ZXN0Lmlk
KCl9IGZyb20gJHtyZXF1ZXN0LnN0YXR1cygpfSB0byAke25ld1N0YXR1c31gKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZXNbZW50cnkuYnVpbGRSZXF1ZXN0SWQoKV0gPSB7c3RhdHVz
OiBuZXdTdGF0dXMsIHVybDogZW50cnkudXJsKCksIHN0YXR1c0Rlc2NyaXB0aW9uOiBlbnRyeS5z
dGF0dXNEZXNjcmlwdGlvbigpfTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghcmVx
dWVzdC5zdGF0dXNVcmwoKSB8fCByZXF1ZXN0LnN0YXR1c0Rlc2NyaXB0aW9uKCkgIT0gZW50cnku
c3RhdHVzRGVzY3JpcHRpb24oKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9n
Z2VyLmxvZyhgVXBkYXRpbmcgYnVpbGQgcmVxdWVzdCAke3JlcXVlc3QuaWQoKX0gc3RhdHVzIFVS
TCB0byAke2VudHJ5LnVybCgpfSBhbmQgc3RhdHVzIGRldGFpbCBmcm9tICR7cmVxdWVzdC5zdGF0
dXNEZXNjcmlwdGlvbigpfSB0byAke2VudHJ5LnN0YXR1c0Rlc2NyaXB0aW9uKCl9YCk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB1cGRhdGVzW2VudHJ5LmJ1aWxkUmVxdWVzdElkKCldID0ge3N0
YXR1czogcmVxdWVzdC5zdGF0dXMoKSwgdXJsOiBlbnRyeS51cmwoKSwgc3RhdHVzRGVzY3JpcHRp
b246IGVudHJ5LnN0YXR1c0Rlc2NyaXB0aW9uKCl9OworICAgICAgICAgICAgICAgIGlmIChyZXF1
ZXN0LmlzQnVpbGQoKSkgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnQoIWluZm8uYnVpbGRT
eW5jZXIgfHwgaW5mby5idWlsZFN5bmNlciA9PSBzeW5jZXIpOworICAgICAgICAgICAgICAgICAg
ICBpZiAoZW50cnkuc2xhdmVOYW1lKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2Vy
dCghaW5mby5idWlsZFNsYXZlTmFtZSB8fCBpbmZvLmJ1aWxkU2xhdmVOYW1lID09IGVudHJ5LnNs
YXZlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uYnVpbGRTbGF2ZU5hbWUg
PSBlbnRyeS5zbGF2ZU5hbWUoKTsKICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICBpbmZvLmJ1aWxkU3luY2VyID0gc3luY2VyOworICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50ZXN0U3luY2VyIHx8IGluZm8u
dGVzdFN5bmNlciA9PSBzeW5jZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkuc2xh
dmVOYW1lKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCghaW5mby50ZXN0U2xh
dmVOYW1lIHx8IGluZm8udGVzdFNsYXZlTmFtZSA9PSBlbnRyeS5zbGF2ZU5hbWUoKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpbmZvLnRlc3RTbGF2ZU5hbWUgPSBlbnRyeS5zbGF2ZU5hbWUo
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpbmZvLnRlc3RT
eW5jZXIgPSBzeW5jZXI7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY29u
c3QgbmV3U3RhdHVzID0gZW50cnkuYnVpbGRSZXF1ZXN0U3RhdHVzSWZVcGRhdGVJc05lZWRlZChy
ZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBpZiAobmV3U3RhdHVzKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2xvZ2dlci5sb2coYFVwZGF0aW5nIHRoZSBzdGF0dXMgb2YgYnVpbGQgcmVx
dWVzdCAke3JlcXVlc3QuaWQoKX0gZnJvbSAke3JlcXVlc3Quc3RhdHVzKCl9IHRvICR7bmV3U3Rh
dHVzfWApOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVzW2VudHJ5LmJ1aWxkUmVxdWVzdElk
KCldID0ge3N0YXR1czogbmV3U3RhdHVzLCB1cmw6IGVudHJ5LnVybCgpLCBzdGF0dXNEZXNjcmlw
dGlvbjogZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKX07CisgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICghcmVxdWVzdC5zdGF0dXNVcmwoKSB8fCByZXF1ZXN0LnN0YXR1c0Rlc2NyaXB0aW9uKCkg
IT0gZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKSkgeworICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9sb2dnZXIubG9nKGBVcGRhdGluZyBidWlsZCByZXF1ZXN0ICR7cmVxdWVzdC5pZCgpfSBzdGF0
dXMgVVJMIHRvICR7ZW50cnkudXJsKCl9IGFuZCBzdGF0dXMgZGV0YWlsIGZyb20gJHtyZXF1ZXN0
LnN0YXR1c0Rlc2NyaXB0aW9uKCl9IHRvICR7ZW50cnkuc3RhdHVzRGVzY3JpcHRpb24oKX1gKTsK
KyAgICAgICAgICAgICAgICAgICAgdXBkYXRlc1tlbnRyeS5idWlsZFJlcXVlc3RJZCgpXSA9IHtz
dGF0dXM6IHJlcXVlc3Quc3RhdHVzKCksIHVybDogZW50cnkudXJsKCksIHN0YXR1c0Rlc2NyaXB0
aW9uOiBlbnRyeS5zdGF0dXNEZXNjcmlwdGlvbigpfTsKICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSkpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgZm9yIChj
b25zdCByZXF1ZXN0IG9mIEJ1aWxkUmVxdWVzdC5hbGwoKSkgeworICAgICAgICAgICAgfQorICAg
ICAgICB9KSk7CisKKyAgICAgICAgZm9yIChjb25zdCBncm91cCBvZiBidWlsZFJlcXVlc3RzQnlH
cm91cC52YWx1ZXMoKSkgeworICAgICAgICAgICAgZm9yIChjb25zdCByZXF1ZXN0IG9mIGdyb3Vw
LnJlcXVlc3RzKSB7CiAgICAgICAgICAgICAgICAgaWYgKHJlcXVlc3QuaGFzU3RhcnRlZCgpICYm
ICFyZXF1ZXN0Lmhhc0ZpbmlzaGVkKCkgJiYgIWFzc29jaWF0ZWRSZXF1ZXN0cy5oYXMocmVxdWVz
dCkpIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmxvZyhgVXBkYXRpbmcgdGhl
IHN0YXR1cyBvZiBidWlsZCByZXF1ZXN0ICR7cmVxdWVzdC5pZCgpfSBmcm9tICR7cmVxdWVzdC5z
dGF0dXMoKX0gdG8gZmFpbGVkSWZOb3RDb21wbGV0ZWRgKTsKICAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0KCEocmVxdWVzdC5pZCgpIGluIHVwZGF0ZXMpKTsKICAgICAgICAgICAgICAgICAgICAg
dXBkYXRlc1tyZXF1ZXN0LmlkKCldID0ge3N0YXR1czogJ2ZhaWxlZElmTm90Q29tcGxldGVkJ307
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9KS50aGVuKCgpID0+
IHVwZGF0ZXMpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHVwZGF0ZXM7CiAgICAgfQog
CiAgICAgX25leHRSZXF1ZXN0SW5Hcm91cChncm91cEluZm8sIHBlbmRpbmdVcGRhdGVzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>