<?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>222487</bug_id>
          
          <creation_ts>2021-02-26 12:19:01 -0800</creation_ts>
          <short_desc>[webkitcorepy] Move credential access from webkitscmpy</short_desc>
          <delta_ts>2021-02-26 13:36:31 -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>Tools / Tests</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 name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1733918</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-02-26 12:19:01 -0800</bug_when>
    <thetext>I found myself duplicating the logic in GitHub.credentials(), clearly this logic should be generalized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733919</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-26 12:19:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74801487&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733924</commentid>
    <comment_count>2</comment_count>
      <attachid>421693</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-02-26 12:21:43 -0800</bug_when>
    <thetext>Created attachment 421693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733943</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-02-26 12:44:44 -0800</bug_when>
    <thetext>rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733954</commentid>
    <comment_count>4</comment_count>
      <attachid>421702</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-02-26 13:11:46 -0800</bug_when>
    <thetext>Created attachment 421702
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733963</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-26 13:36:30 -0800</bug_when>
    <thetext>Committed r273585: &lt;https://commits.webkit.org/r273585&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421702.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421693</attachid>
            <date>2021-02-26 12:21:43 -0800</date>
            <delta_ts>2021-02-26 13:11:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222487-20210226122142.patch</filename>
            <type>text/plain</type>
            <size>13306</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MzU3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTAyLTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0Y29yZXB5XSBNb3ZlIGNyZWRlbnRpYWwgYWNjZXNzIGZyb20g
d2Via2l0c2NtcHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMjQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQ4MDE0ODc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRjb3JlcHkvc2V0dXAucHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAgICAgKiBTY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5OiBCdW1wIHZl
cnNpb24sIG1vdmUga2V5cmluZyBsaWJyYXJpZXMuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9jcmVkZW50aWFscy5weTogQWRkLgorICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5OiBCdW1wIHZlcnNpb24u
CisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19p
bml0X18ucHk6IEJ1bXAgdmVyc2lvbiwgbW92ZSBrZXlyaW5nIGxpYnJhcmllcy4KKyAgICAgICAg
KiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1
Yi5weToKKyAgICAgICAgKEdpdEh1Yi5jcmVkZW50aWFscyk6IFVzZSB3ZWJraXRjb3JlcHkgY3Jl
ZGVudGlhbHMuCisKIDIwMjEtMDItMjYgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSBvbGQgYnVpbGRib3QgdmVyc2lvbiBmcm9tIHdlYmtpdHB5
IGF1dG9pbnN0YWxsZXIKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS9zZXR1cC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRj
b3JlcHkvc2V0dXAucHkJKHJldmlzaW9uIDI3MzU2NykKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdGNvcmVweS9zZXR1cC5weQkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QCBkZWYgcmVhZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9J3dlYmtpdGNvcmVweScsCi0gICAg
dmVyc2lvbj0nMC41LjInLAorICAgIHZlcnNpb249JzAuNS4zJywKICAgICBkZXNjcmlwdGlvbj0n
TGlicmFyeSBjb250YWluaW5nIHZhcmlvdXMgUHl0aG9uIHN1cHBvcnQgY2xhc3NlcyBhbmQgZnVu
Y3Rpb25zLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFzc2lmaWVy
cz1bCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29y
ZXB5L19faW5pdF9fLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkJKHJldmlzaW9uIDI3MzU2NykKKysr
IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0
X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDkgQEAgZnJvbSB3ZWJraXRjb3JlcHku
dGltZW91dCBpbXBvcnQgVGltZW91dAogZnJvbSB3ZWJraXRjb3JlcHkuc3VicHJvY2Vzc191dGls
cyBpbXBvcnQgVGltZW91dEV4cGlyZWQsIENvbXBsZXRlZFByb2Nlc3MsIHJ1bgogZnJvbSB3ZWJr
aXRjb3JlcHkub3V0cHV0X2NhcHR1cmUgaW1wb3J0IExvZ2dlckNhcHR1cmUsIE91dHB1dENhcHR1
cmUsIE91dHB1dER1cGxpY2F0ZQogZnJvbSB3ZWJraXRjb3JlcHkudGFza19wb29sIGltcG9ydCBU
YXNrUG9vbAorZnJvbSB3ZWJraXRjb3JlcHkuY3JlZGVudGlhbHMgaW1wb3J0IGNyZWRlbnRpYWxz
CiAKLXZlcnNpb24gPSBWZXJzaW9uKDAsIDUsIDIpCit2ZXJzaW9uID0gVmVyc2lvbigwLCA1LCAz
KQogCiBmcm9tIHdlYmtpdGNvcmVweS5hdXRvaW5zdGFsbCBpbXBvcnQgUGFja2FnZSwgQXV0b0lu
c3RhbGwKIGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCk6CkBAIC00OCw4ICs0OSwxMCBAQCBl
bHNlOgogCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdjZXJ0aWZpJywgVmVyc2lvbigy
MDIwLCA2LCAyMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2hhcmRldCcsIFZl
cnNpb24oMywgMCwgNCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZW50cnlwb2lu
dHMnLCBWZXJzaW9uKDAsIDMsIDApKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Z1
bmNzaWdzJywgVmVyc2lvbigxLCAwLCAyKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdpZG5hJywgVmVyc2lvbigyLCAxMCkpKQorQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgn
a2V5cmluZycsIFZlcnNpb24oNywgMywgMSkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgncGFja2FnaW5nJywgVmVyc2lvbigyMCwgNCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgncHlwYXJzaW5nJywgVmVyc2lvbigyLCA0LCA3KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3Rl
cihQYWNrYWdlKCdyZXF1ZXN0cycsIFZlcnNpb24oMiwgMjQpKSkKQEAgLTYwLDQgKzYzLDggQEAg
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndGJsaWInLCBWZQogQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgndXJsbGliMycsIFZlcnNpb24oMSwgMjUsIDEwKSkpCiBBdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCd3aGVlbCcsIFZlcnNpb24oMCwgMzUsIDEpKSkKIAorIyBUaGlz
IGlzIG5lZWRlZCBmb3IgcHl0aG9uLWtleXJpbmcuCitpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4
JzoKKyAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzZWNyZXRzdG9yYWdlJywgVmVy
c2lvbigyLCAzLCAxKSkpCisKIG5hbWUgPSAnd2Via2l0Y29yZXB5JwpJbmRleDogVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9jcmVkZW50aWFscy5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0
Y29yZXB5L2NyZWRlbnRpYWxzLnB5CShub25leGlzdGVudCkKKysrIFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvY3JlZGVudGlhbHMucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw5NiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorIyBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworaW1wb3J0IG9zCitpbXBvcnQgZ2V0cGFzcworaW1wb3J0IHN5cworCitmcm9tIHN1YnBy
b2Nlc3MgaW1wb3J0IENhbGxlZFByb2Nlc3NFcnJvcgorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0
IE91dHB1dENhcHR1cmUKKworX2NhY2hlID0gZGljdCgpCisKKworZGVmIGNyZWRlbnRpYWxzKHVy
bCwgcmVxdWlyZWQ9VHJ1ZSwgbmFtZT1Ob25lLCBwcm9tcHQ9Tm9uZSwga2V5X25hbWU9J3Bhc3N3
b3JkJyk6CisgICAgZ2xvYmFsIF9jYWNoZQorCisgICAgbmFtZSA9IG5hbWUgb3IgdXJsLnNwbGl0
KCcvJylbMl0ucmVwbGFjZSgnLicsICdfJykKKyAgICBpZiBfY2FjaGUuZ2V0KG5hbWUpOgorICAg
ICAgICByZXR1cm4gX2NhY2hlLmdldChuYW1lKQorCisgICAgdXNlcm5hbWUgPSBvcy5lbnZpcm9u
LmdldCgne31fVVNFUk5BTUUnLmZvcm1hdChuYW1lLnVwcGVyKCkpKQorICAgIGtleSA9IG9zLmVu
dmlyb24uZ2V0KCd7fV97fScuZm9ybWF0KG5hbWUudXBwZXIoKSwgbmFtZS51cHBlcigpKSkKKwor
ICAgIGlmIHVzZXJuYW1lIGFuZCBrZXk6CisgICAgICAgIF9jYWNoZVtuYW1lXSA9ICh1c2VybmFt
ZSwga2V5KQorICAgICAgICByZXR1cm4gdXNlcm5hbWUsIGtleQorCisgICAgd2l0aCBPdXRwdXRD
YXB0dXJlKCk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCBrZXlyaW5nCisgICAg
ICAgIGV4Y2VwdCAoQ2FsbGVkUHJvY2Vzc0Vycm9yLCBJbXBvcnRFcnJvcik6CisgICAgICAgICAg
ICBrZXlyaW5nID0gTm9uZQorCisgICAgdXNlcm5hbWVfcHJvbXB0ZWQgPSBGYWxzZQorICAgIGtl
eV9wcm9tcHRlZCA9IEZhbHNlCisgICAgaWYgbm90IHVzZXJuYW1lOgorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBpZiBrZXlyaW5nOgorICAgICAgICAgICAgICAgIHVzZXJuYW1lID0ga2V5cmlu
Zy5nZXRfcGFzc3dvcmQodXJsLCAndXNlcm5hbWUnKQorICAgICAgICBleGNlcHQgUnVudGltZUVy
cm9yOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGlmIG5vdCB1c2VybmFtZSBhbmQgcmVx
dWlyZWQ6CisgICAgICAgICAgICBpZiBub3Qgc3lzLnN0ZGVyci5pc2F0dHkoKSBvciBub3Qgc3lz
LnN0ZGluLmlzYXR0eSgpOgorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ05vIHR0eSB0
byBwcm9tcHQgdXNlciBmb3IgdXNlcm5hbWUnKQorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0
ZSgiQXV0aGVudGljYXRpb24gcmVxdWlyZWQgdG8gdXNlIHt9XG4iLmZvcm1hdChwcm9tcHQgb3Ig
bmFtZSkpCisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdVc2VybmFtZTogJykKKyAgICAg
ICAgICAgIHVzZXJuYW1lID0gKGlucHV0IGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxz
ZSByYXdfaW5wdXQpKCkKKyAgICAgICAgICAgIHVzZXJuYW1lX3Byb21wdGVkID0gVHJ1ZQorCisg
ICAgaWYgbm90IGtleSBhbmQgcmVxdWlyZWQ6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGlm
IGtleXJpbmc6CisgICAgICAgICAgICAgICAga2V5ID0ga2V5cmluZy5nZXRfcGFzc3dvcmQodXJs
LCB1c2VybmFtZSkKKyAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKyAgICAgICAgICAgIHBh
c3MKKworICAgICAgICBpZiBub3Qga2V5OgorICAgICAgICAgICAgaWYgbm90IHN5cy5zdGRlcnIu
aXNhdHR5KCkgb3Igbm90IHN5cy5zdGRpbi5pc2F0dHkoKToKKyAgICAgICAgICAgICAgICByYWlz
ZSBPU0Vycm9yKCdObyB0dHkgdG8gcHJvbXB0IHVzZXIgZm9yIHVzZXJuYW1lJykKKyAgICAgICAg
ICAgIGtleSA9IGdldHBhc3MuZ2V0cGFzcygne306ICcuZm9ybWF0KGtleV9uYW1lLmNhcGl0YWxp
emUoKSkpCisgICAgICAgICAgICBrZXlfcHJvbXB0ZWQgPSBUcnVlCisKKyAgICBpZiB1c2VybmFt
ZSBhbmQga2V5OgorICAgICAgICBfY2FjaGVbbmFtZV0gPSAodXNlcm5hbWUsIGtleSkKKworICAg
IGlmIGtleXJpbmcgYW5kICh1c2VybmFtZV9wcm9tcHRlZCBvciBrZXlfcHJvbXB0ZWQpOgorICAg
ICAgICBzeXMuc3RkZXJyLndyaXRlKCdTdG9yZSB1c2VybmFtZSBhbmQge30gaW4gc3lzdGVtIGtl
eXJpbmcgZm9yIHt9PyAoWS9OKTogJy5mb3JtYXQoa2V5X25hbWUsIHVybCkpCisgICAgICAgIHJl
c3BvbnNlID0gKGlucHV0IGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSByYXdfaW5w
dXQpKCkKKyAgICAgICAgaWYgcmVzcG9uc2UubG93ZXIoKSBpbiBbJ3knLCAneWVzJywgJ29rJ106
CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdTdG9yaW5nIGNyZWRlbnRpYWxzLi4uXG4n
KQorICAgICAgICAgICAga2V5cmluZy5zZXRfcGFzc3dvcmQodXJsLCAndXNlcm5hbWUnLCB1c2Vy
bmFtZSkKKyAgICAgICAgICAgIGtleXJpbmcuc2V0X3Bhc3N3b3JkKHVybCwgdXNlcm5hbWUsIGtl
eSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0NyZWRlbnRp
YWxzIGNhY2hlZCBpbiBwcm9jZXNzLlxuJykKKworICAgIHJldHVybiB1c2VybmFtZSwga2V5Cklu
ZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQkocmV2
aXNpb24gMjczNTY3KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0
dXAucHkJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAgZGVmIHJlYWRtZSgpOgogCiBz
ZXR1cCgKICAgICBuYW1lPSd3ZWJraXRzY21weScsCi0gICAgdmVyc2lvbj0nMC4xMS4xJywKKyAg
ICB2ZXJzaW9uPScwLjExLjInLAogICAgIGRlc2NyaXB0aW9uPSdMaWJyYXJ5IGRlc2lnbmVkIHRv
IGludGVyYWN0IHdpdGggZ2l0IGFuZCBzdm4gcmVwb3NpdG9yaWVzLicsCiAgICAgbG9uZ19kZXNj
cmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFzc2lmaWVycz1bCkluZGV4OiBUb29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2lu
aXRfXy5weQkocmV2aXNpb24gMjczNTY3KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDE5
ICs0NiwxMyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICJQbGVhc2UgaW5zdGFsbCB3
ZWJraXRjb3JlcHkgd2l0aCBgcGlwIGluc3RhbGwgd2Via2l0Y29yZXB5IC0tZXh0cmEtaW5kZXgt
dXJsIDxwYWNrYWdlIGluZGV4IFVSTD5gIgogICAgICkKIAotdmVyc2lvbiA9IFZlcnNpb24oMCwg
MTEsIDEpCit2ZXJzaW9uID0gVmVyc2lvbigwLCAxMSwgMikKIAotQXV0b0luc3RhbGwucmVnaXN0
ZXIoUGFja2FnZSgnZW50cnlwb2ludHMnLCBWZXJzaW9uKDAsIDMsIDApKSkKIEF1dG9JbnN0YWxs
LnJlZ2lzdGVyKFBhY2thZ2UoJ2Zhc3RlbmVycycsIFZlcnNpb24oMCwgMTUsIDApKSkKLUF1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2tleXJpbmcnLCBWZXJzaW9uKDcsIDMsIDEpKSkKIEF1
dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21vbm90b25pYycsIFZlcnNpb24oMSwgNSkpKQog
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnd2hpY2hjcmFmdCcsIFZlcnNpb24oMCwgNiwg
MSkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgneG1sdG9kaWN0JywgVmVyc2lvbigw
LCAxMSwgMCkpKQogCi0jIFRoaXMgaXMgbmVlZGVkIGZvciBweXRob24ta2V5cmluZy4KLWlmIHN5
cy5wbGF0Zm9ybSA9PSAnbGludXgnOgotICAgIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2Uo
J3NlY3JldHN0b3JhZ2UnLCBWZXJzaW9uKDIsIDMsIDEpKSkKLQogZnJvbSB3ZWJraXRzY21weS5j
b250cmlidXRvciBpbXBvcnQgQ29udHJpYnV0b3IKIGZyb20gd2Via2l0c2NtcHkuY29tbWl0IGlt
cG9ydCBDb21taXQKIGZyb20gd2Via2l0c2NtcHkuc2NtX2Jhc2UgaW1wb3J0IFNjbUJhc2UKSW5k
ZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90
ZS9naXRfaHViLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHViLnB5CShyZXZpc2lvbiAyNzM1NjcpCisr
KyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUv
Z2l0X2h1Yi5weQkod29ya2luZyBjb3B5KQpAQCAtMjEsOCArMjEsNiBAQAogIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogCiBpbXBvcnQgY2FsZW5kYXIKLWltcG9ydCBnZXRwYXNzCi1pbXBvcnQgb3MKIGltcG9ydCBy
ZQogaW1wb3J0IHJlcXVlc3RzCiBpbXBvcnQgc2l4CkBAIC0zMCw5ICsyOCw4IEBAIGltcG9ydCBz
eXMKIAogZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKIGZyb20gcmVxdWVzdHMuYXV0aCBp
bXBvcnQgSFRUUEJhc2ljQXV0aAotZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBDYWxsZWRQcm9jZXNz
RXJyb3IKLWZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBPdXRwdXRDYXB0dXJlLCBkZWNvcmF0b3Jz
Ci1mcm9tIHdlYmtpdHNjbXB5IGltcG9ydCBDb21taXQsIENvbnRyaWJ1dG9yCitmcm9tIHdlYmtp
dGNvcmVweSBpbXBvcnQgY3JlZGVudGlhbHMsIGRlY29yYXRvcnMKK2Zyb20gd2Via2l0c2NtcHkg
aW1wb3J0IENvbW1pdAogZnJvbSB3ZWJraXRzY21weS5yZW1vdGUuc2NtIGltcG9ydCBTY20KIGZy
b20geG1sLmRvbSBpbXBvcnQgbWluaWRvbQogCkBAIC02MSw2NyArNTgsMTMgQEAgY2xhc3MgR2l0
SHViKFNjbSk6CiAgICAgICAgIHN1cGVyKEdpdEh1Yiwgc2VsZikuX19pbml0X18odXJsLCBkZXZf
YnJhbmNoZXM9ZGV2X2JyYW5jaGVzLCBwcm9kX2JyYW5jaGVzPXByb2RfYnJhbmNoZXMsIGNvbnRy
aWJ1dG9ycz1jb250cmlidXRvcnMpCiAKICAgICBkZWYgY3JlZGVudGlhbHMoc2VsZiwgcmVxdWly
ZWQ9VHJ1ZSk6Ci0gICAgICAgIGlmIHNlbGYuX2NhY2hlZF9jcmVkZW50aWFsczoKLSAgICAgICAg
ICAgIHJldHVybiBzZWxmLl9jYWNoZWRfY3JlZGVudGlhbHMKLQotICAgICAgICBwcmVmaXggPSBz
ZWxmLnVybC5zcGxpdCgnLycpWzJdLnJlcGxhY2UoJy4nLCAnXycpLnVwcGVyKCkKLSAgICAgICAg
dXNlcm5hbWUgPSBvcy5lbnZpcm9uLmdldCgne31fVVNFUk5BTUUnLmZvcm1hdChwcmVmaXgpKQot
ICAgICAgICBhY2Nlc3NfdG9rZW4gPSBvcy5lbnZpcm9uLmdldCgne31fQUNDRVNTX1RPS0VOJy5m
b3JtYXQocHJlZml4KSkKLSAgICAgICAgaWYgdXNlcm5hbWUgYW5kIGFjY2Vzc190b2tlbjoKLSAg
ICAgICAgICAgIHNlbGYuX2NhY2hlZF9jcmVkZW50aWFscyA9ICh1c2VybmFtZSwgYWNjZXNzX3Rv
a2VuKQotICAgICAgICAgICAgcmV0dXJuIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4KLQotICAgICAg
ICB3aXRoIE91dHB1dENhcHR1cmUoKToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAg
ICBpbXBvcnQga2V5cmluZwotICAgICAgICAgICAgZXhjZXB0IChDYWxsZWRQcm9jZXNzRXJyb3Is
IEltcG9ydEVycm9yKToKLSAgICAgICAgICAgICAgICBrZXlyaW5nID0gTm9uZQotCi0gICAgICAg
IHVzZXJuYW1lX3Byb21wdGVkID0gRmFsc2UKLSAgICAgICAgcGFzc3dvcmRfcHJvbXB0ZWQgPSBG
YWxzZQotICAgICAgICBpZiBub3QgdXNlcm5hbWU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICAgICAgaWYga2V5cmluZzoKLSAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUgPSBrZXly
aW5nLmdldF9wYXNzd29yZChzZWxmLmFwaV91cmwsICd1c2VybmFtZScpCi0gICAgICAgICAgICBl
eGNlcHQgUnVudGltZUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLQotICAgICAgICAgICAg
aWYgbm90IHVzZXJuYW1lIGFuZCByZXF1aXJlZDoKLSAgICAgICAgICAgICAgICBpZiBub3Qgc3lz
LnN0ZGVyci5pc2F0dHkoKSBvciBub3Qgc3lzLnN0ZGluLmlzYXR0eSgpOgotICAgICAgICAgICAg
ICAgICAgICByYWlzZSBPU0Vycm9yKCdObyB0dHkgdG8gcHJvbXB0IHVzZXIgZm9yIHVzZXJuYW1l
JykKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJBdXRoZW50aWNhdGlvbiByZXF1
aXJlZCB0byB1c2UgR2l0SHViJ3MgQVBJXG4iKQotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIu
d3JpdGUoIlBsZWFzZSBnZW5lcmF0ZSBhICdQZXJzb25hbCBhY2Nlc3MgdG9rZW4nIHZpYSAnRGV2
ZWxvcGVyIHNldHRpbmdzJyBmb3IgeW91ciB1c2VyXG4iKQotICAgICAgICAgICAgICAgIHN5cy5z
dGRlcnIud3JpdGUoJ1VzZXJuYW1lOiAnKQotICAgICAgICAgICAgICAgIHVzZXJuYW1lID0gKGlu
cHV0IGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSByYXdfaW5wdXQpKCkKLSAgICAg
ICAgICAgICAgICB1c2VybmFtZV9wcm9tcHRlZCA9IFRydWUKLQotICAgICAgICBpZiBub3QgYWNj
ZXNzX3Rva2VuIGFuZCByZXF1aXJlZDoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAg
ICBpZiBrZXlyaW5nOgotICAgICAgICAgICAgICAgICAgICBhY2Nlc3NfdG9rZW4gPSBrZXlyaW5n
LmdldF9wYXNzd29yZChzZWxmLmFwaV91cmwsIHVzZXJuYW1lKQotICAgICAgICAgICAgZXhjZXB0
IFJ1bnRpbWVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgICAgIGlmIG5v
dCBhY2Nlc3NfdG9rZW46Ci0gICAgICAgICAgICAgICAgaWYgbm90IHN5cy5zdGRlcnIuaXNhdHR5
KCkgb3Igbm90IHN5cy5zdGRpbi5pc2F0dHkoKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
T1NFcnJvcignTm8gdHR5IHRvIHByb21wdCB1c2VyIGZvciB1c2VybmFtZScpCi0gICAgICAgICAg
ICAgICAgYWNjZXNzX3Rva2VuID0gZ2V0cGFzcy5nZXRwYXNzKCdBUEkga2V5OiAnKQotICAgICAg
ICAgICAgICAgIHBhc3N3b3JkX3Byb21wdGVkID0gVHJ1ZQotCi0gICAgICAgIGlmIHVzZXJuYW1l
IGFuZCBhY2Nlc3NfdG9rZW46Ci0gICAgICAgICAgICBzZWxmLl9jYWNoZWRfY3JlZGVudGlhbHMg
PSAodXNlcm5hbWUsIGFjY2Vzc190b2tlbikKLQotICAgICAgICBpZiBrZXlyaW5nIGFuZCAodXNl
cm5hbWVfcHJvbXB0ZWQgb3IgcGFzc3dvcmRfcHJvbXB0ZWQpOgotICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZSgnU3RvcmUgdXNlcm5hbWUgYW5kIGFjY2VzcyB0b2tlbiBpbiBzeXN0ZW0ga2V5
cmluZyBmb3Ige30/IChZL04pOiAnLmZvcm1hdChzZWxmLmFwaV91cmwpKQotICAgICAgICAgICAg
cmVzcG9uc2UgPSAoaW5wdXQgaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKSBlbHNlIHJhd19p
bnB1dCkoKQotICAgICAgICAgICAgaWYgcmVzcG9uc2UubG93ZXIoKSBpbiBbJ3knLCAneWVzJywg
J29rJ106Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnU3RvcmluZyBjcmVkZW50
aWFscy4uLlxuJykKLSAgICAgICAgICAgICAgICBrZXlyaW5nLnNldF9wYXNzd29yZChzZWxmLmFw
aV91cmwsICd1c2VybmFtZScsIHVzZXJuYW1lKQotICAgICAgICAgICAgICAgIGtleXJpbmcuc2V0
X3Bhc3N3b3JkKHNlbGYuYXBpX3VybCwgdXNlcm5hbWUsIGFjY2Vzc190b2tlbikKLSAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnQ3JlZGVudGlhbHMg
Y2FjaGVkIGluIHByb2Nlc3MuXG4nKQotCi0gICAgICAgIHJldHVybiB1c2VybmFtZSwgYWNjZXNz
X3Rva2VuCisgICAgICAgIHJldHVybiBjcmVkZW50aWFscygKKyAgICAgICAgICAgIHVybD1zZWxm
LmFwaV91cmwsCisgICAgICAgICAgICByZXF1aXJlZD1yZXF1aXJlZCwKKyAgICAgICAgICAgIG5h
bWU9c2VsZi51cmwuc3BsaXQoJy8nKVsyXS5yZXBsYWNlKCcuJywgJ18nKS51cHBlcigpLAorICAg
ICAgICAgICAgcHJvbXB0PSJHaXRIdWIncyBBUElcblBsZWFzZSBnZW5lcmF0ZSBhICdQZXJzb25h
bCBhY2Nlc3MgdG9rZW4nIHZpYSAnRGV2ZWxvcGVyIHNldHRpbmdzJyBmb3IgeW91ciB1c2VyIiwK
KyAgICAgICAgICAgIGtleV9uYW1lPSd0b2tlbicsCisgICAgICAgICkKIAogICAgIEBwcm9wZXJ0
eQogICAgIGRlZiBpc19naXQoc2VsZik6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421702</attachid>
            <date>2021-02-26 13:11:46 -0800</date>
            <delta_ts>2021-02-26 13:36:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-222487-20210226131145.patch</filename>
            <type>text/plain</type>
            <size>13301</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MzU4NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTAyLTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0Y29yZXB5XSBNb3ZlIGNyZWRlbnRpYWwgYWNjZXNzIGZyb20g
d2Via2l0c2NtcHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMjQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQ4MDE0ODc+CisKKyAgICAgICAg
UnViYmVyLXN0YW1wZWQgYnkgQWFrYXNoIEphaW4uCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRjb3JlcHkvc2V0dXAucHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAgICAgKiBTY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5OiBCdW1w
IHZlcnNpb24sIG1vdmUga2V5cmluZyBsaWJyYXJpZXMuCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9jcmVkZW50aWFscy5weTogQWRkLgorICAg
ICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5OiBCdW1wIHZlcnNp
b24uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
X19pbml0X18ucHk6IEJ1bXAgdmVyc2lvbiwgbW92ZSBrZXlyaW5nIGxpYnJhcmllcy4KKyAgICAg
ICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0
X2h1Yi5weToKKyAgICAgICAgKEdpdEh1Yi5jcmVkZW50aWFscyk6IFVzZSB3ZWJraXRjb3JlcHkg
Y3JlZGVudGlhbHMuCisKIDIwMjEtMDItMjYgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBw
bGUuY29tPgogCiAgICAgICAgIFtyZXN1bHRzZGJweV0gVXNlIHdlYmtpdGNvcmVweSByZXF1ZXN0
cyBtb2NraW5nCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0
dXAucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5
L3NldHVwLnB5CShyZXZpc2lvbiAyNzM1ODQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvc2V0dXAucHkJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgZGVm
IHJlYWRtZSgpOgogCiBzZXR1cCgKICAgICBuYW1lPSd3ZWJraXRjb3JlcHknLAotICAgIHZlcnNp
b249JzAuNS4zJywKKyAgICB2ZXJzaW9uPScwLjUuNCcsCiAgICAgZGVzY3JpcHRpb249J0xpYnJh
cnkgY29udGFpbmluZyB2YXJpb3VzIFB5dGhvbiBzdXBwb3J0IGNsYXNzZXMgYW5kIGZ1bmN0aW9u
cy4nLAogICAgIGxvbmdfZGVzY3JpcHRpb249cmVhZG1lKCksCiAgICAgY2xhc3NpZmllcnM9WwpJ
bmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9f
X2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRj
b3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CShyZXZpc2lvbiAyNzM1ODQpCisrKyBUb29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw5IEBAIGZyb20gd2Via2l0Y29yZXB5LnRpbWVv
dXQgaW1wb3J0IFRpbWVvdXQKIGZyb20gd2Via2l0Y29yZXB5LnN1YnByb2Nlc3NfdXRpbHMgaW1w
b3J0IFRpbWVvdXRFeHBpcmVkLCBDb21wbGV0ZWRQcm9jZXNzLCBydW4KIGZyb20gd2Via2l0Y29y
ZXB5Lm91dHB1dF9jYXB0dXJlIGltcG9ydCBMb2dnZXJDYXB0dXJlLCBPdXRwdXRDYXB0dXJlLCBP
dXRwdXREdXBsaWNhdGUKIGZyb20gd2Via2l0Y29yZXB5LnRhc2tfcG9vbCBpbXBvcnQgVGFza1Bv
b2wKK2Zyb20gd2Via2l0Y29yZXB5LmNyZWRlbnRpYWxzIGltcG9ydCBjcmVkZW50aWFscwogCi12
ZXJzaW9uID0gVmVyc2lvbigwLCA1LCAzKQordmVyc2lvbiA9IFZlcnNpb24oMCwgNSwgNCkKIAog
ZnJvbSB3ZWJraXRjb3JlcHkuYXV0b2luc3RhbGwgaW1wb3J0IFBhY2thZ2UsIEF1dG9JbnN0YWxs
CiBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApOgpAQCAtNDgsOCArNDksMTAgQEAgZWxzZToK
IAogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnY2VydGlmaScsIFZlcnNpb24oMjAyMCwg
NiwgMjApKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2NoYXJkZXQnLCBWZXJzaW9u
KDMsIDAsIDQpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2VudHJ5cG9pbnRzJywg
VmVyc2lvbigwLCAzLCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmdW5jc2ln
cycsIFZlcnNpb24oMSwgMCwgMikpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnaWRu
YScsIFZlcnNpb24oMiwgMTApKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2tleXJp
bmcnLCBWZXJzaW9uKDcsIDMsIDEpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3Bh
Y2thZ2luZycsIFZlcnNpb24oMjAsIDQpKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2Uo
J3B5cGFyc2luZycsIFZlcnNpb24oMiwgNCwgNykpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFj
a2FnZSgncmVxdWVzdHMnLCBWZXJzaW9uKDIsIDI0KSkpCkBAIC02MCw0ICs2Myw4IEBAIEF1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3RibGliJywgVmUKIEF1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3VybGxpYjMnLCBWZXJzaW9uKDEsIDI1LCAxMCkpKQogQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnd2hlZWwnLCBWZXJzaW9uKDAsIDM1LCAxKSkpCiAKKyMgVGhpcyBpcyBu
ZWVkZWQgZm9yIHB5dGhvbi1rZXlyaW5nLgoraWYgc3lzLnBsYXRmb3JtID09ICdsaW51eCc6Cisg
ICAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2VjcmV0c3RvcmFnZScsIFZlcnNpb24o
MiwgMywgMSkpKQorCiBuYW1lID0gJ3dlYmtpdGNvcmVweScKSW5kZXg6IFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvY3JlZGVudGlhbHMucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVw
eS9jcmVkZW50aWFscy5weQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L2NyZWRlbnRpYWxzLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsOTYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0Ogor
IyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKKyMgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBvcworaW1wb3J0IGdldHBhc3MKK2ltcG9ydCBzeXMKKworZnJvbSBzdWJwcm9jZXNz
IGltcG9ydCBDYWxsZWRQcm9jZXNzRXJyb3IKK2Zyb20gd2Via2l0Y29yZXB5IGltcG9ydCBPdXRw
dXRDYXB0dXJlCisKK19jYWNoZSA9IGRpY3QoKQorCisKK2RlZiBjcmVkZW50aWFscyh1cmwsIHJl
cXVpcmVkPVRydWUsIG5hbWU9Tm9uZSwgcHJvbXB0PU5vbmUsIGtleV9uYW1lPSdwYXNzd29yZCcp
OgorICAgIGdsb2JhbCBfY2FjaGUKKworICAgIG5hbWUgPSBuYW1lIG9yIHVybC5zcGxpdCgnLycp
WzJdLnJlcGxhY2UoJy4nLCAnXycpCisgICAgaWYgX2NhY2hlLmdldChuYW1lKToKKyAgICAgICAg
cmV0dXJuIF9jYWNoZS5nZXQobmFtZSkKKworICAgIHVzZXJuYW1lID0gb3MuZW52aXJvbi5nZXQo
J3t9X1VTRVJOQU1FJy5mb3JtYXQobmFtZS51cHBlcigpKSkKKyAgICBrZXkgPSBvcy5lbnZpcm9u
LmdldCgne31fe30nLmZvcm1hdChuYW1lLnVwcGVyKCksIG5hbWUudXBwZXIoKSkpCisKKyAgICBp
ZiB1c2VybmFtZSBhbmQga2V5OgorICAgICAgICBfY2FjaGVbbmFtZV0gPSAodXNlcm5hbWUsIGtl
eSkKKyAgICAgICAgcmV0dXJuIHVzZXJuYW1lLCBrZXkKKworICAgIHdpdGggT3V0cHV0Q2FwdHVy
ZSgpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpbXBvcnQga2V5cmluZworICAgICAgICBl
eGNlcHQgKENhbGxlZFByb2Nlc3NFcnJvciwgSW1wb3J0RXJyb3IpOgorICAgICAgICAgICAga2V5
cmluZyA9IE5vbmUKKworICAgIHVzZXJuYW1lX3Byb21wdGVkID0gRmFsc2UKKyAgICBrZXlfcHJv
bXB0ZWQgPSBGYWxzZQorICAgIGlmIG5vdCB1c2VybmFtZToKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgaWYga2V5cmluZzoKKyAgICAgICAgICAgICAgICB1c2VybmFtZSA9IGtleXJpbmcuZ2V0
X3Bhc3N3b3JkKHVybCwgJ3VzZXJuYW1lJykKKyAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoK
KyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBpZiBub3QgdXNlcm5hbWUgYW5kIHJlcXVpcmVk
OgorICAgICAgICAgICAgaWYgbm90IHN5cy5zdGRlcnIuaXNhdHR5KCkgb3Igbm90IHN5cy5zdGRp
bi5pc2F0dHkoKToKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCdObyB0dHkgdG8gcHJv
bXB0IHVzZXIgZm9yIHVzZXJuYW1lJykKKyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkF1
dGhlbnRpY2F0aW9uIHJlcXVpcmVkIHRvIHVzZSB7fVxuIi5mb3JtYXQocHJvbXB0IG9yIG5hbWUp
KQorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnVXNlcm5hbWU6ICcpCisgICAgICAgICAg
ICB1c2VybmFtZSA9IChpbnB1dCBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApIGVsc2UgcmF3
X2lucHV0KSgpCisgICAgICAgICAgICB1c2VybmFtZV9wcm9tcHRlZCA9IFRydWUKKworICAgIGlm
IG5vdCBrZXkgYW5kIHJlcXVpcmVkOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBrZXly
aW5nOgorICAgICAgICAgICAgICAgIGtleSA9IGtleXJpbmcuZ2V0X3Bhc3N3b3JkKHVybCwgdXNl
cm5hbWUpCisgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisgICAgICAgICAgICBwYXNzCisK
KyAgICAgICAgaWYgbm90IGtleToKKyAgICAgICAgICAgIGlmIG5vdCBzeXMuc3RkZXJyLmlzYXR0
eSgpIG9yIG5vdCBzeXMuc3RkaW4uaXNhdHR5KCk6CisgICAgICAgICAgICAgICAgcmFpc2UgT1NF
cnJvcignTm8gdHR5IHRvIHByb21wdCB1c2VyIGZvciB1c2VybmFtZScpCisgICAgICAgICAgICBr
ZXkgPSBnZXRwYXNzLmdldHBhc3MoJ3t9OiAnLmZvcm1hdChrZXlfbmFtZS5jYXBpdGFsaXplKCkp
KQorICAgICAgICAgICAga2V5X3Byb21wdGVkID0gVHJ1ZQorCisgICAgaWYgdXNlcm5hbWUgYW5k
IGtleToKKyAgICAgICAgX2NhY2hlW25hbWVdID0gKHVzZXJuYW1lLCBrZXkpCisKKyAgICBpZiBr
ZXlyaW5nIGFuZCAodXNlcm5hbWVfcHJvbXB0ZWQgb3Iga2V5X3Byb21wdGVkKToKKyAgICAgICAg
c3lzLnN0ZGVyci53cml0ZSgnU3RvcmUgdXNlcm5hbWUgYW5kIHt9IGluIHN5c3RlbSBrZXlyaW5n
IGZvciB7fT8gKFkvTik6ICcuZm9ybWF0KGtleV9uYW1lLCB1cmwpKQorICAgICAgICByZXNwb25z
ZSA9IChpbnB1dCBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApIGVsc2UgcmF3X2lucHV0KSgp
CisgICAgICAgIGlmIHJlc3BvbnNlLmxvd2VyKCkgaW4gWyd5JywgJ3llcycsICdvayddOgorICAg
ICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnU3RvcmluZyBjcmVkZW50aWFscy4uLlxuJykKKyAg
ICAgICAgICAgIGtleXJpbmcuc2V0X3Bhc3N3b3JkKHVybCwgJ3VzZXJuYW1lJywgdXNlcm5hbWUp
CisgICAgICAgICAgICBrZXlyaW5nLnNldF9wYXNzd29yZCh1cmwsIHVzZXJuYW1lLCBrZXkpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdDcmVkZW50aWFscyBj
YWNoZWQgaW4gcHJvY2Vzcy5cbicpCisKKyAgICByZXR1cm4gdXNlcm5hbWUsIGtleQpJbmRleDog
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkJKHJldmlzaW9u
IDI3MzU4NCkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBAIGRlZiByZWFkbWUoKToKIAogc2V0dXAo
CiAgICAgbmFtZT0nd2Via2l0c2NtcHknLAotICAgIHZlcnNpb249JzAuMTEuMScsCisgICAgdmVy
c2lvbj0nMC4xMS4yJywKICAgICBkZXNjcmlwdGlvbj0nTGlicmFyeSBkZXNpZ25lZCB0byBpbnRl
cmFjdCB3aXRoIGdpdCBhbmQgc3ZuIHJlcG9zaXRvcmllcy4nLAogICAgIGxvbmdfZGVzY3JpcHRp
b249cmVhZG1lKCksCiAgICAgY2xhc3NpZmllcnM9WwpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18u
cHkJKHJldmlzaW9uIDI3MzU4NCkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOSArNDYs
MTMgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICAiUGxlYXNlIGluc3RhbGwgd2Via2l0
Y29yZXB5IHdpdGggYHBpcCBpbnN0YWxsIHdlYmtpdGNvcmVweSAtLWV4dHJhLWluZGV4LXVybCA8
cGFja2FnZSBpbmRleCBVUkw+YCIKICAgICApCiAKLXZlcnNpb24gPSBWZXJzaW9uKDAsIDExLCAx
KQordmVyc2lvbiA9IFZlcnNpb24oMCwgMTEsIDIpCiAKLUF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBh
Y2thZ2UoJ2VudHJ5cG9pbnRzJywgVmVyc2lvbigwLCAzLCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdp
c3RlcihQYWNrYWdlKCdmYXN0ZW5lcnMnLCBWZXJzaW9uKDAsIDE1LCAwKSkpCi1BdXRvSW5zdGFs
bC5yZWdpc3RlcihQYWNrYWdlKCdrZXlyaW5nJywgVmVyc2lvbig3LCAzLCAxKSkpCiBBdXRvSW5z
dGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb25vdG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkKIEF1dG9J
bnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3htbHRvZGljdCcsIFZlcnNpb24oMCwgMTEs
IDApKSkKIAotIyBUaGlzIGlzIG5lZWRlZCBmb3IgcHl0aG9uLWtleXJpbmcuCi1pZiBzeXMucGxh
dGZvcm0gPT0gJ2xpbnV4JzoKLSAgICBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzZWNy
ZXRzdG9yYWdlJywgVmVyc2lvbigyLCAzLCAxKSkpCi0KIGZyb20gd2Via2l0c2NtcHkuY29udHJp
YnV0b3IgaW1wb3J0IENvbnRyaWJ1dG9yCiBmcm9tIHdlYmtpdHNjbXB5LmNvbW1pdCBpbXBvcnQg
Q29tbWl0CiBmcm9tIHdlYmtpdHNjbXB5LnNjbV9iYXNlIGltcG9ydCBTY21CYXNlCkluZGV4OiBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0
X2h1Yi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weQkocmV2aXNpb24gMjczNTg0KQorKysgVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2dpdF9o
dWIucHkJKHdvcmtpbmcgY29weSkKQEAgLTIxLDggKzIxLDYgQEAKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAog
aW1wb3J0IGNhbGVuZGFyCi1pbXBvcnQgZ2V0cGFzcwotaW1wb3J0IG9zCiBpbXBvcnQgcmUKIGlt
cG9ydCByZXF1ZXN0cwogaW1wb3J0IHNpeApAQCAtMzAsOSArMjgsOCBAQCBpbXBvcnQgc3lzCiAK
IGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCiBmcm9tIHJlcXVlc3RzLmF1dGggaW1wb3J0
IEhUVFBCYXNpY0F1dGgKLWZyb20gc3VicHJvY2VzcyBpbXBvcnQgQ2FsbGVkUHJvY2Vzc0Vycm9y
Ci1mcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2FwdHVyZSwgZGVjb3JhdG9ycwotZnJv
bSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCBDb250cmlidXRvcgorZnJvbSB3ZWJraXRjb3Jl
cHkgaW1wb3J0IGNyZWRlbnRpYWxzLCBkZWNvcmF0b3JzCitmcm9tIHdlYmtpdHNjbXB5IGltcG9y
dCBDb21taXQKIGZyb20gd2Via2l0c2NtcHkucmVtb3RlLnNjbSBpbXBvcnQgU2NtCiBmcm9tIHht
bC5kb20gaW1wb3J0IG1pbmlkb20KIApAQCAtNjEsNjcgKzU4LDEzIEBAIGNsYXNzIEdpdEh1YihT
Y20pOgogICAgICAgICBzdXBlcihHaXRIdWIsIHNlbGYpLl9faW5pdF9fKHVybCwgZGV2X2JyYW5j
aGVzPWRldl9icmFuY2hlcywgcHJvZF9icmFuY2hlcz1wcm9kX2JyYW5jaGVzLCBjb250cmlidXRv
cnM9Y29udHJpYnV0b3JzKQogCiAgICAgZGVmIGNyZWRlbnRpYWxzKHNlbGYsIHJlcXVpcmVkPVRy
dWUpOgotICAgICAgICBpZiBzZWxmLl9jYWNoZWRfY3JlZGVudGlhbHM6Ci0gICAgICAgICAgICBy
ZXR1cm4gc2VsZi5fY2FjaGVkX2NyZWRlbnRpYWxzCi0KLSAgICAgICAgcHJlZml4ID0gc2VsZi51
cmwuc3BsaXQoJy8nKVsyXS5yZXBsYWNlKCcuJywgJ18nKS51cHBlcigpCi0gICAgICAgIHVzZXJu
YW1lID0gb3MuZW52aXJvbi5nZXQoJ3t9X1VTRVJOQU1FJy5mb3JtYXQocHJlZml4KSkKLSAgICAg
ICAgYWNjZXNzX3Rva2VuID0gb3MuZW52aXJvbi5nZXQoJ3t9X0FDQ0VTU19UT0tFTicuZm9ybWF0
KHByZWZpeCkpCi0gICAgICAgIGlmIHVzZXJuYW1lIGFuZCBhY2Nlc3NfdG9rZW46Ci0gICAgICAg
ICAgICBzZWxmLl9jYWNoZWRfY3JlZGVudGlhbHMgPSAodXNlcm5hbWUsIGFjY2Vzc190b2tlbikK
LSAgICAgICAgICAgIHJldHVybiB1c2VybmFtZSwgYWNjZXNzX3Rva2VuCi0KLSAgICAgICAgd2l0
aCBPdXRwdXRDYXB0dXJlKCk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaW1w
b3J0IGtleXJpbmcKLSAgICAgICAgICAgIGV4Y2VwdCAoQ2FsbGVkUHJvY2Vzc0Vycm9yLCBJbXBv
cnRFcnJvcik6Ci0gICAgICAgICAgICAgICAga2V5cmluZyA9IE5vbmUKLQotICAgICAgICB1c2Vy
bmFtZV9wcm9tcHRlZCA9IEZhbHNlCi0gICAgICAgIHBhc3N3b3JkX3Byb21wdGVkID0gRmFsc2UK
LSAgICAgICAgaWYgbm90IHVzZXJuYW1lOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAg
ICAgIGlmIGtleXJpbmc6Ci0gICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lID0ga2V5cmluZy5n
ZXRfcGFzc3dvcmQoc2VsZi5hcGlfdXJsLCAndXNlcm5hbWUnKQotICAgICAgICAgICAgZXhjZXB0
IFJ1bnRpbWVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgICAgIGlmIG5v
dCB1c2VybmFtZSBhbmQgcmVxdWlyZWQ6Ci0gICAgICAgICAgICAgICAgaWYgbm90IHN5cy5zdGRl
cnIuaXNhdHR5KCkgb3Igbm90IHN5cy5zdGRpbi5pc2F0dHkoKToKLSAgICAgICAgICAgICAgICAg
ICAgcmFpc2UgT1NFcnJvcignTm8gdHR5IHRvIHByb21wdCB1c2VyIGZvciB1c2VybmFtZScpCi0g
ICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiQXV0aGVudGljYXRpb24gcmVxdWlyZWQg
dG8gdXNlIEdpdEh1YidzIEFQSVxuIikKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KCJQbGVhc2UgZ2VuZXJhdGUgYSAnUGVyc29uYWwgYWNjZXNzIHRva2VuJyB2aWEgJ0RldmVsb3Bl
ciBzZXR0aW5ncycgZm9yIHlvdXIgdXNlclxuIikKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJy
LndyaXRlKCdVc2VybmFtZTogJykKLSAgICAgICAgICAgICAgICB1c2VybmFtZSA9IChpbnB1dCBp
ZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApIGVsc2UgcmF3X2lucHV0KSgpCi0gICAgICAgICAg
ICAgICAgdXNlcm5hbWVfcHJvbXB0ZWQgPSBUcnVlCi0KLSAgICAgICAgaWYgbm90IGFjY2Vzc190
b2tlbiBhbmQgcmVxdWlyZWQ6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaWYg
a2V5cmluZzoKLSAgICAgICAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuID0ga2V5cmluZy5nZXRf
cGFzc3dvcmQoc2VsZi5hcGlfdXJsLCB1c2VybmFtZSkKLSAgICAgICAgICAgIGV4Y2VwdCBSdW50
aW1lRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgICAgICBpZiBub3QgYWNj
ZXNzX3Rva2VuOgotICAgICAgICAgICAgICAgIGlmIG5vdCBzeXMuc3RkZXJyLmlzYXR0eSgpIG9y
IG5vdCBzeXMuc3RkaW4uaXNhdHR5KCk6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJy
b3IoJ05vIHR0eSB0byBwcm9tcHQgdXNlciBmb3IgdXNlcm5hbWUnKQotICAgICAgICAgICAgICAg
IGFjY2Vzc190b2tlbiA9IGdldHBhc3MuZ2V0cGFzcygnQVBJIGtleTogJykKLSAgICAgICAgICAg
ICAgICBwYXNzd29yZF9wcm9tcHRlZCA9IFRydWUKLQotICAgICAgICBpZiB1c2VybmFtZSBhbmQg
YWNjZXNzX3Rva2VuOgotICAgICAgICAgICAgc2VsZi5fY2FjaGVkX2NyZWRlbnRpYWxzID0gKHVz
ZXJuYW1lLCBhY2Nlc3NfdG9rZW4pCi0KLSAgICAgICAgaWYga2V5cmluZyBhbmQgKHVzZXJuYW1l
X3Byb21wdGVkIG9yIHBhc3N3b3JkX3Byb21wdGVkKToKLSAgICAgICAgICAgIHN5cy5zdGRlcnIu
d3JpdGUoJ1N0b3JlIHVzZXJuYW1lIGFuZCBhY2Nlc3MgdG9rZW4gaW4gc3lzdGVtIGtleXJpbmcg
Zm9yIHt9PyAoWS9OKTogJy5mb3JtYXQoc2VsZi5hcGlfdXJsKSkKLSAgICAgICAgICAgIHJlc3Bv
bnNlID0gKGlucHV0IGlmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCkgZWxzZSByYXdfaW5wdXQp
KCkKLSAgICAgICAgICAgIGlmIHJlc3BvbnNlLmxvd2VyKCkgaW4gWyd5JywgJ3llcycsICdvaydd
OgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ1N0b3JpbmcgY3JlZGVudGlhbHMu
Li5cbicpCi0gICAgICAgICAgICAgICAga2V5cmluZy5zZXRfcGFzc3dvcmQoc2VsZi5hcGlfdXJs
LCAndXNlcm5hbWUnLCB1c2VybmFtZSkKLSAgICAgICAgICAgICAgICBrZXlyaW5nLnNldF9wYXNz
d29yZChzZWxmLmFwaV91cmwsIHVzZXJuYW1lLCBhY2Nlc3NfdG9rZW4pCi0gICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0NyZWRlbnRpYWxzIGNhY2hl
ZCBpbiBwcm9jZXNzLlxuJykKLQotICAgICAgICByZXR1cm4gdXNlcm5hbWUsIGFjY2Vzc190b2tl
bgorICAgICAgICByZXR1cm4gY3JlZGVudGlhbHMoCisgICAgICAgICAgICB1cmw9c2VsZi5hcGlf
dXJsLAorICAgICAgICAgICAgcmVxdWlyZWQ9cmVxdWlyZWQsCisgICAgICAgICAgICBuYW1lPXNl
bGYudXJsLnNwbGl0KCcvJylbMl0ucmVwbGFjZSgnLicsICdfJykudXBwZXIoKSwKKyAgICAgICAg
ICAgIHByb21wdD0iR2l0SHViJ3MgQVBJXG5QbGVhc2UgZ2VuZXJhdGUgYSAnUGVyc29uYWwgYWNj
ZXNzIHRva2VuJyB2aWEgJ0RldmVsb3BlciBzZXR0aW5ncycgZm9yIHlvdXIgdXNlciIsCisgICAg
ICAgICAgICBrZXlfbmFtZT0ndG9rZW4nLAorICAgICAgICApCiAKICAgICBAcHJvcGVydHkKICAg
ICBkZWYgaXNfZ2l0KHNlbGYpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>