{\rtf1\ansi\ansicpg936\cocoartf2821 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;} {\colortbl;\red255\green255\blue255;\red255\green255\blue255;\red0\green0\blue0;} {\*\expandedcolortbl;;\cssrgb\c100000\c100000\c100000;\cssrgb\c0\c0\c0;} \paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 \deftab720 \pard\pardeftab720\partightenfactor0 \f0\fs24 \cf0 \cb2 \expnd0\expndtw0\kerning0 \outl0\strokewidth0 \strokec3 [Info - 16:19:17.813] Resolving ssh remote authority 'connect.nma1.seetacloud.com' (Unparsed 'ssh-remote+7b22686f73744e616d65223a22636f6e6e6563742e6e6d61312e7365657461636c6f75642e636f6d227d') (attempt #1)\cb1 \ \cb2 [Info - 16:19:17.848] SSH askpass server listening on /var/folders/1l/kz32gtjj50zgzc2sgcyhnp_h0000gp/T/cursor-ssh-THx0dc/socket.sock\cb1 \ \cb2 [Trace - 16:19:17.848] hostname: connect.nma1.seetacloud.com, remote platform map: \{\}\cb1 \ \cb2 [Info - 16:19:19.685] Selected platform linux for remote host connect.nma1.seetacloud.com\cb1 \ \cb2 [Trace - 16:19:19.685] hostname: connect.nma1.seetacloud.com, remote server install map: \{\}\cb1 \ \cb2 [Info - 16:19:19.686] Using askpass script: /Users/liwenjie/.cursor/extensions/anysphere.remote-ssh-1.0.4/dist/scripts/launchSSHAskpass.sh with javascript file /Users/liwenjie/.cursor/extensions/anysphere.remote-ssh-1.0.4/dist/scripts/sshAskClient.js. Askpass handle: /var/folders/1l/kz32gtjj50zgzc2sgcyhnp_h0000gp/T/cursor-ssh-THx0dc/socket.sock\cb1 \ \cb2 [Trace - 16:19:19.691] Launching SSH server with command: ssh -v -T -D 63873 connect.nma1.seetacloud.com bash --login -c 'echo "ClRNUF9ESVI9IiR7WERHX1JVTlRJTUVfRElSOi0iL3RtcCJ9IgpTRVJWRVJfQ09NTUlUPSI1M2I5OWNlNjA4Y2JhMzUxMjdhZTNhMDUwYzE3MzhhOTU5NzUwODYwIgpTRVJWRVJfTElORT0icHJvZHVjdGlvbiIKU0VSVkVSX0RBVEFfRElSPSIkSE9NRS8uY3Vyc29yLXNlcnZlciIKU0VSVkVSX0RJUj0iJFNFUlZFUl9EQVRBX0RJUi9iaW4vNTNiOTljZTYwOGNiYTM1MTI3YWUzYTA1MGMxNzM4YTk1OTc1MDg2MCIKU0VSVkVSX05PREVfRVhFQ1VUQUJMRT0iJFNFUlZFUl9ESVIvbm9kZSIKQ09ERV9TRVJWRVJfU0NSSVBUPSIkU0VSVkVSX0RJUi9iaW4vY3Vyc29yLXNlcnZlciIKQ09ERV9TRVJWRVJfTE9HRklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQuY29kZS5sb2ciCkNPREVfU0VSVkVSX1RPS0VORklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQuY29kZS50b2tlbiIKQ09ERV9TRVJWRVJfUElERklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQuY29kZS5waWQiCkNPREVfU0VSVkVSX1BST0NFU1NfQUxMX1ZFUlNJT05TX0dSRVBfUEFUVEVSTj0iJFNFUlZFUl9EQVRBX0RJUi9iaW4vLiovb3V0L3NlcnZlci1tYWluLmpzIgpDT0RFX0xJU1RFTklOR19PTj0KTVVMVElQTEVYX1NFUlZFUl9TQ1JJUFQ9IiRTRVJWRVJfREFUQV9ESVIvYmluL211bHRpcGxleC1zZXJ2ZXIvNTMzMzU1MTYwZjIwZTQ1ODkwM2U4NGM1MDUwNDg3MzQ3YjM1ZWU1MGMxNmYwMTBiMjM1YWU4NTE5MGNiZGJmMC5qcyIKTVVMVElQTEVYX1NFUlZFUl9MT0dGSUxFPSIkU0VSVkVSX0RBVEFfRElSLy4kU0VSVkVSX0NPTU1JVC5tdWx0aXBsZXgubG9nIgpNVUxUSVBMRVhfU0VSVkVSX1RPS0VORklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQubXVsdGlwbGV4LnRva2VuIgpNVUxUSVBMRVhfU0VSVkVSX1BST0NFU1NfQUxMX1ZFUlNJT05TX0dSRVBfUEFUVEVSTj0iJFNFUlZFUl9EQVRBX0RJUi9iaW4vbXVsdGlwbGV4LXNlcnZlci8uKi5qcyIKTVVMVElQTEVYX0xJU1RFTklOR19PTj0KU0VSVkVSX0FSQ0g9ClNFUlZFUl9DT05ORUNUSU9OX1RPS0VOPQpTRVJWRVJfRE9XTkxPQURfVVJMPQojIFRoaXMgaXMgYSBtYWdpYyB2YXJpYWJsZQpleHBvcnQgVlNDT0RFX0FHRU5UX0ZPTERFUj0iJFNFUlZFUl9EQVRBX0RJUiIKT1NfUkVMRUFTRV9JRD0KQVJDSD0KUExBVEZPUk09CnByaW50X2luc3RhbGxfcmVzdWx0c19hbmRfZXhpdCgpIHsKICAgIGVjaG8gIjRlMDViNWU3OTVmZTQyN2RkMjM5ZmNjZDogc3RhcnQiCiAgICBlY2hvICJleGl0Q29kZT09JDE9PSIKICAgIGVjaG8gIm5vZGVFeGVjdXRhYmxlPT0kU0VSVkVSX05PREVfRVhFQ1VUQUJMRT09IgogICAgZWNobyAibXVsdGlwbGV4TGlzdGVuaW5nT249PSRNVUxUSVBMRVhfTElTVEVOSU5HX09OPT0iCiAgICBlY2hvICJtdWx0aXBsZXhDb25uZWN0aW9uVG9rZW49PSRNVUxUSVBMRVhfU0VSVkVSX0NPTk5FQ1RJT05fVE9LRU49PSIKICAgIGVjaG8gImNvZGVMaXN0ZW5pbmdPbj09JENPREVfTElTVEVOSU5HX09OPT0iCiAgICBlY2hvICJlcnJvck1lc3NhZ2U9PSQyPT0iCiAgICBlY2hvICJpc0ZhdGFsRXJyb3I9PSQzPT0iCiAgICBlY2hvICJjb2RlQ29ubmVjdGlvblRva2VuPT0kQ09ERV9TRVJWRVJfQ09OTkVDVElPTl9UT0tFTj09IgogICAgZWNobyAiU1NIX0FVVEhfU09DSz09JFNTSF9BVVRIX1NPQ0s9PSIKICAgIGVjaG8gIjRlMDViNWU3OTVmZTQyN2RkMjM5ZmNjZDogZW5kIgogICAgZXhpdCAkMQp9CgpwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX3dhaXQoKSB7CiAgICBpZiBbWyAtZiAkQ09ERV9TRVJWRVJfUElERklMRSBdXTsgdGhlbgogICAgICAgIENPREVfU0VSVkVSX1BJRD0iJChjYXQgJENPREVfU0VSVkVSX1BJREZJTEUpIgogICAgZWxzZQogICAgICAgIHByaW50X2luc3RhbGxfcmVzdWx0c19hbmRfZXhpdCAxICJDb2RlIHNlcnZlciBQSUQgZmlsZSBub3QgZm91bmQiICJmYWxzZSIKICAgIGZpCiAgICBlY2hvICI0ZTA1YjVlNzk1ZmU0MjdkZDIzOWZjY2Q6IHN0YXJ0IgogICAgZWNobyAiZXhpdENvZGU9PTA9PSIKICAgIGVjaG8gIm5vZGVFeGVjdXRhYmxlPT0kU0VSVkVSX05PREVfRVhFQ1VUQUJMRT09IgogICAgZWNobyAiZXJyb3JNZXNzYWdlPT09PSIKICAgIGVjaG8gImlzRmF0YWxFcnJvcj09ZmFsc2U9PSIKICAgIGVjaG8gIm11bHRpcGxleExpc3RlbmluZ09uPT0kTVVMVElQTEVYX0xJU1RFTklOR19PTj09IgogICAgZWNobyAibXVsdGlwbGV4Q29ubmVjdGlvblRva2VuPT0kTVVMVElQTEVYX1NFUlZFUl9DT05ORUNUSU9OX1RPS0VOPT0iCiAgICBlY2hvICJjb2RlTGlzdGVuaW5nT249PSRDT0RFX0xJU1RFTklOR19PTj09IgogICAgZWNobyAiY29kZUNvbm5lY3Rpb25Ub2tlbj09JENPREVfU0VSVkVSX0NPTk5FQ1RJT05fVE9LRU49PSIKICAgIGVjaG8gIlNTSF9BVVRIX1NPQ0s9PSRTU0hfQVVUSF9TT0NLPT0iCiAgICBlY2hvICI0ZTA1YjVlNzk1ZmU0MjdkZDIzOWZjY2Q6IGVuZCIKICAgIHVubG9jawogICAgdHJhcCAtIEVYSVQKICAgIHdoaWxlIHBzIC1vIHBpZCB8IGdyZXAgLXcgJENPREVfU0VSVkVSX1BJRCA+L2Rldi9udWxsIDI+JjEKICAgIGRvCiAgICAgICAgc2xlZXAgMTAKICAgIGRvbmUKICAgIGVjaG8gIkNvZGUgc2VydmVyIGlzIGV4aXRpbmcgYXMgdGhlIHByb2Nlc3MgJENPREVfU0VSVkVSX1BJRCBkaWVkIgogICAgZXhpdCAwCn0KCmdldF9sb2NrZmlsZSgpIHsKICAgICMgU3RvcmluZyB0aGUgbG9ja2ZpbGUgaW4gVE1QX0RJUiB0byBhdm9pZCBpc3N1ZXMgd2l0aCBub25sb2NhbCBmaWxlIHN5c3RlbXMKICAgIGVjaG8gIiRUTVBfRElSL2N1cnNvci1yZW1vdGUtbG9jay4kKGVjaG8gJFNFUlZFUl9EQVRBX0RJUiB8IHNoYXN1bSAtYSAyNTYgfCBjdXQgLWQnICcgLWYxKSIKfQppZiBbWyAiZmFsc2UiID09ICJ0cnVlIiBdXTsgdGhlbgogICAgZWNobyAiS2lsbGluZyBhbGwgcnVubmluZyBDdXJzb3Igc2VydmVycyIKICAgIENPREVfU0VSVkVSX1JVTk5JTkdfUFJPQ0VTUz0iJChwcyAtbyBwaWQsYXJncyAtQSB8IGdyZXAgJENPREVfU0VSVkVSX1BST0NFU1NfQUxMX1ZFUlNJT05TX0dSRVBfUEFUVEVSTiB8IGdyZXAgLXYgZ3JlcCB8fCB0cnVlKSIKICAgIGlmIFtbIC16ICIkQ09ERV9TRVJWRVJfUlVOTklOR19QUk9DRVNTIiBdXTsgdGhlbgogICAgICAgIGVjaG8gIk5vIHJ1bm5pbmcgY29kZSBzZXJ2ZXJzIGZvdW5kIgogICAgZmkKICAgIGVjaG8gIktpbGxpbmcgcnVubmluZyBjb2RlIHNlcnZlcnM6ICRDT0RFX1NFUlZFUl9SVU5OSU5HX1BST0NFU1MiCiAgICBlY2hvICIkQ09ERV9TRVJWRVJfUlVOTklOR19QUk9DRVNTIiB8IHdoaWxlIHJlYWQgLXIgbGluZTsgZG8KICAgICAgICBwaWQ9JChlY2hvICIkbGluZSIgfCBhd2sgJ3twcmludCAkMX0nKQogICAgICAgIGlmIFtbIC1uICIkcGlkIiBdXTsgdGhlbgogICAgICAgICAgICBlY2hvICJLaWxsaW5nIHNlcnZlciBwcm9jZXNzIHdpdGggUElEOiAkcGlkIgogICAgICAgICAgICBraWxsIC05ICIkcGlkIgogICAgICAgIGZpCiAgICBkb25lCiAgICBDT0RFX1NFUlZFUl9SVU5OSU5HX1BST0NFU1M9IiIKICAgIGVjaG8gIktpbGxpbmcgYWxsIHJ1bm5pbmcgbXVsdGlwbGV4IHNlcnZlcnMiCiAgICBNVUxUSVBMRVhfU0VSVkVSX1JVTk5JTkdfUFJPQ0VTUz0iJChwcyAtbyBwaWQsYXJncyAtQSB8IGdyZXAgJE1VTFRJUExFWF9TRVJWRVJfUFJPQ0VTU19BTExfVkVSU0lPTlNfR1JFUF9QQVRURVJOIHwgZ3JlcCAtdiBncmVwIHx8IHRydWUpIgogICAgaWYgW1sgLXogIiRNVUxUSVBMRVhfU0VSVkVSX1JVTk5JTkdfUFJPQ0VTUyIgXV07IHRoZW4KICAgICAgICBlY2hvICJObyBydW5uaW5nIG11bHRpcGxleCBzZXJ2ZXJzIGZvdW5kIgogICAgZmkKICAgIGVjaG8gIktpbGxpbmcgcnVubmluZyBtdWx0aXBsZXggc2VydmVyczogJE1VTFRJUExFWF9TRVJWRVJfUlVOTklOR19QUk9DRVNTIgogICAgZWNobyAiJE1VTFRJUExFWF9TRVJWRVJfUlVOTklOR19QUk9DRVNTIiB8IHdoaWxlIHJlYWQgLXIgbGluZTsgZG8KICAgICAgICBwaWQ9JChlY2hvICIkbGluZSIgfCBhd2sgJ3twcmludCAkMX0nKQogICAgICAgIGlmIFtbIC1uICIkcGlkIiBdXTsgdGhlbgogICAgICAgICAgICBlY2hvICJLaWxsaW5nIHNlcnZlciBwcm9jZXNzIHdpdGggUElEOiAkcGlkIgogICAgICAgICAgICBraWxsIC05ICIkcGlkIgogICAgICAgIGZpCiAgICBkb25lCiAgICBNVUxUSVBMRVhfU0VSVkVSX1JVTk5JTkdfUFJPQ0VTUz0iIgpmaQoKaWYgW1sgJ2ZhbHNlJyA9PSAidHJ1ZSIgXV07IHRoZW4KICAgIGVjaG8gIlJlbW92aW5nIGFsbCBleGlzdGluZyBDdXJzb3IgaW5zdGFsbGF0aW9ucyIKICAgIHJtIC1yZnYgIiRTRVJWRVJfREFUQV9ESVIvYmluIiAkU0VSVkVSX0RBVEFfRElSLy4qLmNvZGUubG9nICRTRVJWRVJfREFUQV9ESVIvLiouY29kZS5waWQgJFNFUlZFUl9EQVRBX0RJUi8uKi5jb2RlLnRva2VuICRTRVJWRVJfREFUQV9ESVIvLioubXVsdGlwbGV4LnRva2VuICRTRVJWRVJfREFUQV9ESVIvLioubXVsdGlwbGV4LnRva2VuICRTRVJWRVJfREFUQV9ESVIvLioucGlkICRTRVJWRVJfREFUQV9ESVIvLioudG9rZW4gJFNFUlZFUl9EQVRBX0RJUi8uKi5sb2cgJChnZXRfbG9ja2ZpbGUpCmZpCgp1bmxvY2soKSB7CiAgICBsb2NrZmlsZT0kKGdldF9sb2NrZmlsZSkKICAgIGVjaG8gIlVubG9ja2luZyAkbG9ja2ZpbGUiCiAgICBybSAtZiAiJGxvY2tmaWxlIgogICAgcm0gLWYgIiRsb2NrZmlsZS50YXJnZXQiCn0KCmxvY2soKSB7CiAgICBsb2NrZmlsZT0kKGdldF9sb2NrZmlsZSkKICAgIGVjaG8gIkxvY2tpbmcgJGxvY2tmaWxlIgogICAgbG9ja0FjcXVpcmVkPTAKICAgIGZvciBpIGluIHsxLi4zMH07IGRvCiAgICAgICAgdG91Y2ggIiRsb2NrZmlsZS50YXJnZXQiCiAgICAgICAgbG4gIiRsb2NrZmlsZS50YXJnZXQiICIkbG9ja2ZpbGUiCiAgICAgICAgaWYgWyAkPyAtZXEgMCBdOyB0aGVuCiAgICAgICAgICAgIGxvY2tBY3F1aXJlZD0xCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZmkKICAgICAgICBlY2hvICJJbnN0YWxsIGluIHByb2dyZXNzLCBzbGVlcGluZyBmb3IgYSBiaXQuLi4iCiAgICAgICAgc2xlZXAgMQogICAgZG9uZQogICAgaWYgWyAkbG9ja0FjcXVpcmVkIC1lcSAwIF07IHRoZW4KICAgICAgICBwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX2V4aXQgMSAiQ291bGQgbm90IGFjcXVpcmUgbG9jayBhZnRlciBtdWx0aXBsZSBhdHRlbXB0cyIKICAgIGZpCiAgICB0cmFwIHVubG9jayBFWElUCn0KCktFUk5FTD0iJCh1bmFtZSAtcykiCmNhc2UgJEtFUk5FTCBpbgogICAgRGFyd2luKQogICAgICAgIFBMQVRGT1JNPSJkYXJ3aW4iCiAgICAgICAgOzsKICAgIExpbnV4KQogICAgICAgIFBMQVRGT1JNPSJsaW51eCIKICAgICAgICA7OwogICAgKikKICAgICAgICBwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX2V4aXQgMSAiUGxhdGZvcm0gbm90IHN1cHBvcnRlZDogJEtFUk5FTCIgInRydWUiCiAgICAgICAgOzsKZXNhYwoKQVJDSD0iJCh1bmFtZSAtbSkiCmNhc2UgJEFSQ0ggaW4KICAgIHg4Nl82NCB8IGFtZDY0KQogICAgICAgIFNFUlZFUl9BUkNIPSJ4NjQiCiAgICAgICAgOzsKICAgIGFybTY0IHwgYWFyY2g2NCkKICAgICAgICBTRVJWRVJfQVJDSD0iYXJtNjQiCiAgICAgICAgOzsKICAgICopCiAgICAgICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIkFyY2hpdGVjdHVyZSBub3Qgc3VwcG9ydGVkOiAkQVJDSCIgInRydWUiCiAgICAgICAgOzsKZXNhYwoKT1NfUkVMRUFTRV9JRD0iJChncmVwIC1pICdeSUQ9JyAvZXRjL29zLXJlbGVhc2UgMj4vZGV2L251bGwgfCBzZWQgJ3MvXklEPS8vZ2knIHwgc2VkICdzLyIvL2cnKSIKaWYgW1sgLXogJE9TX1JFTEVBU0VfSUQgXV07IHRoZW4KICAgIE9TX1JFTEVBU0VfSUQ9IiQoZ3JlcCAtaSAnXklEPScgL3Vzci9saWIvb3MtcmVsZWFzZSAyPi9kZXYvbnVsbCB8IHNlZCAncy9eSUQ9Ly9naScgfCBzZWQgJ3MvIi8vZycpIgogICAgaWYgW1sgLXogJE9TX1JFTEVBU0VfSUQgXV07IHRoZW4KICAgICAgICBPU19SRUxFQVNFX0lEPSJ1bmtub3duIgogICAgZmkKZmkKCiMgQ3JlYXRlIGluc3RhbGxhdGlvbiBmb2xkZXIKbWtkaXIgLXAgJFNFUlZFUl9ESVIKaWYgKCggJD8gPiAwICkpOyB0aGVuCiAgICBwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX2V4aXQgMSAiRXJyb3IgY3JlYXRpbmcgc2VydmVyIGluc3RhbGwgZGlyZWN0b3J5ICRTRVJWRVJfRElSIgpmaQoKIyBhZGp1c3QgcGxhdGZvcm0gZm9yIGFscGluZSAobXVzbC1saWJjIGJhc2VkIGJpbmFyeSkgZG93bmxvYWQsIGlmIG5lZWRlZAppZiBbWyAkT1NfUkVMRUFTRV9JRCA9IGFscGluZSBdXTsgdGhlbgogICAgUExBVEZPUk09JE9TX1JFTEVBU0VfSUQKZmkKU0VSVkVSX0RPV05MT0FEX1VSTD0iJChlY2hvICJodHRwczovL2N1cnNvci5ibG9iLmNvcmUud2luZG93cy5uZXQvcmVtb3RlLXJlbGVhc2VzL1wke2NvbW1pdH0vdnNjb2RlLXJlaC1cJHtwbGF0Zm9ybX0tXCR7YXJjaH0udGFyLmd6IiB8IHNlZCAicy9cJHtsaW5lfS8kU0VSVkVSX0xJTkUvZyIgIHwgc2VkICJzL1wke2NvbW1pdH0vJFNFUlZFUl9DT01NSVQvZyIgfCBzZWQgInMvXCR7cGxhdGZvcm19LyRQTEFURk9STS9nIiB8IHNlZCAicy9cJHthcmNofS8kU0VSVkVSX0FSQ0gvZyIpIgpsb2NrCiMgQ2hlY2sgaWYgc2VydmVyIHNjcmlwdCBpcyBhbHJlYWR5IGluc3RhbGxlZAppZiBbWyAhIC1mICRDT0RFX1NFUlZFUl9TQ1JJUFQgXV07IHRoZW4KICAgIHB1c2hkICRTRVJWRVJfRElSID4gL2Rldi9udWxsCiAgICBSQU5ET01fRklMRU5BTUU9ImN1cnNvci1zZXJ2ZXItYjZlOTVhZjItMTAwZS00ZDI3LWE1NWYtMjU4OGQ0MWMwNjY3LnRhci5neiIKICAgIGlmIFtbICEgLXogJCh3aGljaCB3Z2V0KSBdXTsgdGhlbgogICAgICAgIGVjaG8gIkRvd25sb2FkaW5nIHNlcnZlciB2aWEgd2dldCBmcm9tICRTRVJWRVJfRE9XTkxPQURfVVJMIHRvICRSQU5ET01fRklMRU5BTUUiCiAgICAgICAgd2dldCAtLXRyaWVzPTMgLS10aW1lb3V0PTEwIC0tY29udGludWUgLS1uby12ZXJib3NlIC1PICRSQU5ET01fRklMRU5BTUUgJFNFUlZFUl9ET1dOTE9BRF9VUkwKICAgIGVsaWYgW1sgISAteiAkKHdoaWNoIGN1cmwpIF1dOyB0aGVuCiAgICAgICAgZWNobyAiRG93bmxvYWRpbmcgc2VydmVyIHZpYSBjdXJsIGZyb20gJFNFUlZFUl9ET1dOTE9BRF9VUkwgdG8gJFJBTkRPTV9GSUxFTkFNRSIKICAgICAgICBjdXJsIC0tcmV0cnkgMyAtLWZhaWwgLS1jb25uZWN0LXRpbWVvdXQgMTAgLS1sb2NhdGlvbiAtLXNob3ctZXJyb3IgLS1zaWxlbnQgLS1vdXRwdXQgJFJBTkRPTV9GSUxFTkFNRSAkU0VSVkVSX0RPV05MT0FEX1VSTAogICAgZWxzZQogICAgICAgIHByaW50X2luc3RhbGxfcmVzdWx0c19hbmRfZXhpdCAxICJFcnJvciBubyB0b29sIHRvIGRvd25sb2FkIHNlcnZlciBiaW5hcnkuIFBsZWFzZSBpbnN0YWxsIHdnZXQgb3IgY3VybCIgInRydWUiCiAgICBmaQogICAgaWYgKCggJD8gPiAwICkpOyB0aGVuCiAgICAgICAgaWYgW1sgIiRPU19SRUxFQVNFX0lEIiA9PSAnYWxwaW5lJyAmJiAnZmFsc2UnID0gJ3RydWUnIF1dOyB0aGVuCiAgICAgICAgICAgICMgT25seSBzaG93aW5nIHRoaXMgZXJyb3IgaWYgdGhlIGRvd25sb2FkIGFjdHVhbGx5IGZhaWxzLCBhbmQgd2Uga25vdyB0aGF0IHRoZSB2ZXJzaW9uIGlzIHByZS1BbHBpbmUKICAgICAgICAgICAgIyBEb24ndCB3YW50IHRoZSBkb3dubG9hZCB0byBmYWlsIGlmIGl0IGFjdHVhbGx5IHdvdWxkIGhhdmUgd29ya2VkIQogICAgICAgICAgICBwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX2V4aXQgMSAiUGxlYXNlIHVwZGF0ZSBDdXJzb3IgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIHRvIGNvbm5lY3QgdG8gQWxwaW5lLWJhc2VkIHJlbW90ZSBzZXJ2ZXJzIiAidHJ1ZSIKICAgICAgICBmaQogICAgICAgIHByaW50X2luc3RhbGxfcmVzdWx0c19hbmRfZXhpdCAxICJFcnJvciBkb3dubG9hZGluZyBzZXJ2ZXIgZnJvbSAkU0VSVkVSX0RPV05MT0FEX1VSTCIgImZhbHNlIgogICAgZmkKICAgIHRhciAteGYgJFJBTkRPTV9GSUxFTkFNRSAtLXN0cmlwLWNvbXBvbmVudHMgMQogICAgaWYgKCggJD8gPiAwICkpOyB0aGVuCiAgICAgICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIlRhciBmYWlsZWQgdG8gZXh0cmFjdCBzZXJ2ZXIgY29udGVudHMgZnJvbSAkUkFORE9NX0ZJTEVOQU1FIiAiZmFsc2UiCiAgICBmaQogICAgaWYgW1sgISAtZiAkQ09ERV9TRVJWRVJfU0NSSVBUIF1dOyB0aGVuCiAgICAgICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIkZhaWxlZCB0byBleHRyYWN0IGNvZGUgc2VydmVyIHNjcmlwdDogJENPREVfU0VSVkVSX1NDUklQVCIgImZhbHNlIgogICAgZmkKICAgIHJtIC1mICRSQU5ET01fRklMRU5BTUUKICAgIHBvcGQgPiAvZGV2L251bGwKZWxzZQogICAgZWNobyAiU2VydmVyIHNjcmlwdCBhbHJlYWR5IGluc3RhbGxlZCBpbiAkQ09ERV9TRVJWRVJfU0NSSVBUIgpmaQplY2hvICJDaGVja2luZyBub2RlIGV4ZWN1dGFibGUiCmlmICEgJFNFUlZFUl9OT0RFX0VYRUNVVEFCTEUgLS12ZXJzaW9uOyB0aGVuCiAgICBlY2hvICJOb2RlIGV4ZWN1dGFibGUgYXQgJFNFUlZFUl9OT0RFX0VYRUNVVEFCTEUgaXMgbm90IHdvcmtpbmcsIGNoZWNraW5nIHN5c3RlbSBub2RlIgogICAgU1lTVEVNX05PREU9JCh3aGljaCBub2RlKQogICAgaWYgW1sgLW4gIiRTWVNURU1fTk9ERSIgXV07IHRoZW4KICAgICAgICBlY2hvICJTeXN0ZW0gbm9kZSB2ZXJzaW9uOiAkKCRTWVNURU1fTk9ERSAtLXZlcnNpb24pIgogICAgICAgICRTWVNURU1fTk9ERSAtZSAicHJvY2Vzcy5leGl0KHBhcnNlSW50KHByb2Nlc3MudmVyc2lvbi5zbGljZSgxKSkgPj0gMjAgPyAwIDogMSkiCiAgICAgICAgaWYgW1sgJD8gLWVxIDAgXV07IHRoZW4KICAgICAgICAgICAgZWNobyAiU3lzdGVtIG5vZGUgdmVyc2lvbiBpcyAyMCBvciBoaWdoZXIsIGNyZWF0aW5nIHN5bWxpbmsiCiAgICAgICAgICAgIGxuIC1zZiAkU1lTVEVNX05PREUgJFNFUlZFUl9OT0RFX0VYRUNVVEFCTEUKICAgICAgICAgICAgZWNobyAiQ3JlYXRlZCBzeW1saW5rIGZyb20gJFNFUlZFUl9OT0RFX0VYRUNVVEFCTEUgdG8gJFNZU1RFTV9OT0RFIgogICAgICAgIGVsc2UKICAgICAgICAgICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIlRoZSBidW5kbGVkIE5vZGVKUyBmYWlsZWQgdG8gcnVuLCBhbmQgc3lzdGVtIG5vZGUgaXMgdG9vIG9sZC4gUGxlYXNlIG1hbnVhbGx5IGluc3RhbGwgTm9kZUpTIDIwIG9yIGhpZ2hlciBvbiB5b3VyIHJlbW90ZSBzeXN0ZW0iICJ0cnVlIgogICAgICAgIGZpCiAgICBlbHNlCiAgICAgICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIlRoZSBidW5kbGVkIE5vZGVKUyBmYWlsZWQgdG8gcnVuLCBhbmQgbm8gc3lzdGVtIE5vZGVKUyBleGVjdXRhYmxlIHdhcyBmb3VuZC4gUGxlYXNlIG1hbnVhbGx5IGluc3RhbGwgTm9kZUpTIDIwIG9yIGhpZ2hlciBvbiB5b3VyIHJlbW90ZSBzeXN0ZW0iICJ0cnVlIgogICAgZmkKZmkKCiMgQ2xlYW4gdXAgc3RhbGUgYnVpbGRzCk9MRF9DT01NSVRTPSQobHMgLTEgLXQgIiRTRVJWRVJfREFUQV9ESVIvYmluIiB8IHRhaWwgLW4gKzYpCmZvciBPTERfQ09NTUlUIGluICRPTERfQ09NTUlUUzsgZG8KICAgIElTX1JVTk5JTkc9YHBzIGF4IHwgZ3JlcCAkT0xEX0NPTU1JVCB8IGdyZXAgLXYgZ3JlcCB8IHdjIC1sIHwgdHIgLWQgJ1s6c3BhY2U6XSdgCiAgICBpZiBbWyAkSVNfUlVOTklORyAtZXEgMCBdXTsgdGhlbgogICAgICAgIGVjaG8gIkNsZWFuaW5nIHVwIHN0YWxlIGJ1aWxkICRPTERfQ09NTUlUIgogICAgICAgIGlmIFtbICIkT0xEX0NPTU1JVCIgIT0gIiRTRVJWRVJfQ09NTUlUIiBdXTsgdGhlbgogICAgICAgICAgICBybSAtcmYgIiRTRVJWRVJfREFUQV9ESVIvYmluLyRPTERfQ09NTUlUIiAiJFNFUlZFUl9EQVRBX0RJUi8uJE9MRF9DT01NSVQuKiIKICAgICAgICBmaQogICAgZWxzZQogICAgICAgIGVjaG8gIkJ1aWxkICRPTERfQ09NTUlUIGlzIHN0aWxsIHJ1bm5pbmcsIHNraXBwaW5nIgogICAgZmkKZG9uZQoKIyBUcnkgdG8gZmluZCBpZiBzZXJ2ZXIgaXMgYWxyZWFkeSBydW5uaW5nCmVjaG8gIkNoZWNraW5nIGZvciBydW5uaW5nIG11bHRpcGxleCBzZXJ2ZXI6ICRNVUxUSVBMRVhfU0VSVkVSX1NDUklQVCIKTVVMVElQTEVYX1NFUlZFUl9SVU5OSU5HX1BST0NFU1M9IiQocHMgLW8gcGlkLGFyZ3MgLUEgfCBncmVwICRNVUxUSVBMRVhfU0VSVkVSX1NDUklQVCB8IGdyZXAgLXYgZ3JlcCkiCmVjaG8gIlJ1bm5pbmcgbXVsdGlwbGV4IHNlcnZlcjogJE1VTFRJUExFWF9TRVJWRVJfUlVOTklOR19QUk9DRVNTIgoKaWYgW1sgLXogJE1VTFRJUExFWF9TRVJWRVJfUlVOTklOR19QUk9DRVNTIHx8ICEgLWYgJE1VTFRJUExFWF9TRVJWRVJfTE9HRklMRSB8fCAhIC1mICRNVUxUSVBMRVhfU0VSVkVSX1RPS0VORklMRSBdXTsgdGhlbgogICAgaWYgW1sgLWYgJE1VTFRJUExFWF9TRVJWRVJfTE9HRklMRSBdXTsgdGhlbgogICAgICAgIHJtICRNVUxUSVBMRVhfU0VSVkVSX0xPR0ZJTEUKICAgIGZpCiAgICBpZiBbWyAtZiAkTVVMVElQTEVYX1NFUlZFUl9UT0tFTkZJTEUgXV07IHRoZW4KICAgICAgICBybSAkTVVMVElQTEVYX1NFUlZFUl9UT0tFTkZJTEUKICAgIGZpCgogICAgdG91Y2ggJE1VTFRJUExFWF9TRVJWRVJfVE9LRU5GSUxFCiAgICBjaG1vZCA2MDAgJE1VTFRJUExFWF9TRVJWRVJfVE9LRU5GSUxFCiAgICBNVUxUSVBMRVhfU0VSVkVSX0NPTk5FQ1RJT05fVE9LRU49IjUxOTM0YzRlLWEyN2YtNGNkZC1iM2MwLTMzYWU4YWUxYzFlYyIKICAgIGVjaG8gJE1VTFRJUExFWF9TRVJWRVJfQ09OTkVDVElPTl9UT0tFTiA+ICRNVUxUSVBMRVhfU0VSVkVSX1RPS0VORklMRQoKICAgICMgVGhpcyBpcyBzdXBlciBjb3VudGVyaW50dWl0aXZlLCBidXQgd2UgVU5TRVQgdGhlIFNTSF9BVVRIX1NPQ0sgYmVmb3JlIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIsIGJlY2F1c2Ugd2UgbWFudWFsbHkgaW5qZWN0IGl0IGludG8gdGhlIGV4dGVuc2lvbiBob3N0IGxhdGVyLgogICAgIyBUaGlzIGlzIHRvIHByZXZlbnQgdXMgZnJvbSBiZWluZyB1c2VkIGFjcm9zcyBBTEwgY29ubmVjdGlvbnMgYnkgZGVmYXVsdAoKICAgICMgQmFja2luZyBpdCB1cCwgTk9UIGV4cG9ydGluZyBpdAogICAgaWYgW1sgLW4gIiRTU0hfQVVUSF9TT0NLIiBdXTsgdGhlbgogICAgICAgIE9SSUdJTkFMX1NTSF9BVVRIX1NPQ0s9JFNTSF9BVVRIX1NPQ0sKICAgICAgICB1bnNldCBTU0hfQVVUSF9TT0NLCiAgICBmaQoKICAgIGVjaG8gIkNyZWF0aW5nIGRpcmVjdG9yeSBmb3IgbXVsdGlwbGV4IHNlcnZlcjogJChkaXJuYW1lICRNVUxUSVBMRVhfU0VSVkVSX1NDUklQVCkiCiAgICBta2RpciAtcCAkKGRpcm5hbWUgIiRNVUxUSVBMRVhfU0VSVkVSX1NDUklQVCIpCiAgICBlY2hvICJXcml0aW5nIG11bHRpcGxleCBzZXJ2ZXIgc2NyaXB0IHRvICRNVUxUSVBMRVhfU0VSVkVSX1NDUklQVCIKICAgIGVjaG8gJyJ1c2Ugc3RyaWN0Ijt2YXIgX19hc3NpZ249dGhpcyYmdGhpcy5fX2Fzc2lnbnx8ZnVuY3Rpb24oKXtyZXR1cm4gX19hc3NpZ249T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciByLG89MSx0PWFyZ3VtZW50cy5sZW5ndGg7bzx0O28rKylmb3IodmFyIG4gaW4gcj1hcmd1bWVudHNbb10pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbikmJihlW25dPXJbbl0pO3JldHVybiBlfSxfX2Fzc2lnbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbmV0XzE9cmVxdWlyZSgibmV0IiksY2hpbGRfcHJvY2Vzc18xPXJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKSxjcnlwdG9fMT1yZXF1aXJlKCJjcnlwdG8iKSx0b2tlbj1wcm9jZXNzLmFyZ3ZbMl07dG9rZW58fChjb25zb2xlLmVycm9yKCJUb2tlbiBtdXN0IGJlIHByb3ZpZGVkIGFzIHRoZSBmaXJzdCBhcmd1bWVudCIpLHByb2Nlc3MuZXhpdCgxKSk7dmFyIGluYWN0aXZpdHlUaW1lcixzZXJ2ZXI9KDAsbmV0XzEuY3JlYXRlU2VydmVyKSh7a2VlcEFsaXZlOiEwfSwoZnVuY3Rpb24oZSl7Y29uc29sZS5sb2coIlNlcnZlciByZWNlaXZlZCBjb25uZWN0aW9uIikscmVzZXRJbmFjdGl2aXR5VGltZXIoKTt2YXIgcixvLHQ9QnVmZmVyLmFsbG9jKDApO2Uub24oImNsb3NlIiwoZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiW3JlbW90ZVNlcnZlcl1bIi5jb25jYXQobywiXSBTb2NrZXQgY2xvc2VkOyBraWxsaW5nIGNoaWxkIHByb2Nlc3MiKSksciYmci5waWQmJiFyLmtpbGxlZCYmKChudWxsPT1yP3ZvaWQgMDpyLmtpbGwoKSl8fGNvbnNvbGUuZXJyb3IoIltyZW1vdGVTZXJ2ZXJdWyIuY29uY2F0KG8sIl0gRmFpbGVkIHRvIGtpbGwgY2hpbGQgcHJvY2VzcyIpKSl9KSksZS5vbigiZGF0YSIsKGZ1bmN0aW9uKG4pe3ZhciBpLHMsYztpZih0PUJ1ZmZlci5jb25jYXQoW3Qsbl0pLHZvaWQgMD09PXIpe3ZhciBhPXQuaW5kZXhPZihCdWZmZXIuZnJvbSgiXG4iKSk7aWYoLTE9PT1hKXJldHVybjt2YXIgZD10LnN1YmFycmF5KDAsYSkudG9TdHJpbmcoKTt0PXQuc3ViYXJyYXkoYSsxKTt2YXIgbD12b2lkIDA7dHJ5e2w9SlNPTi5wYXJzZShkKX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRXJyb3IgcGFyc2luZyBKU09OIGNvbW1hbmQ6IixyKSx2b2lkIGUuZGVzdHJveSgpfWlmKGwudG9rZW4hPT10b2tlbilyZXR1cm4gY29uc29sZS5lcnJvcigiSW52YWxpZCB0b2tlbjoiLGwudG9rZW4pLGUud3JpdGUoSlNPTi5zdHJpbmdpZnkoe3R5cGU6ImV4aXQiLGNvZGU6NDAxfSkrIlxuIiksdm9pZCBlLmVuZCgpO289bnVsbCE9PShpPWwuaWQpJiZ2b2lkIDAhPT1pP2k6KDAsY3J5cHRvXzEucmFuZG9tVVVJRCkoKSxjb25zb2xlLmxvZygiW2NvbW1hbmRdWyIuY29uY2F0KG8sIl0gRXhlY3V0aW5nIGNvbW1hbmQ6ICIpLmNvbmNhdChsLmNvbW1hbmQsIiAiKS5jb25jYXQoKG51bGwhPT0ocz1sLmFyZ3MpJiZ2b2lkIDAhPT1zP3M6W10pLmpvaW4oIiAiKSkpLChyPSgwLGNoaWxkX3Byb2Nlc3NfMS5zcGF3bikobC5jb21tYW5kLG51bGwhPT0oYz1sLmFyZ3MpJiZ2b2lkIDAhPT1jP2M6W10se2VudjpfX2Fzc2lnbihfX2Fzc2lnbih7fSxwcm9jZXNzLmVudiksbC5lbnYpLGN3ZDpsLmN3ZCxzaGVsbDohMSxzdGRpbzoicGlwZSJ9KSkuc3Rkb3V0Lm9uKCJkYXRhIiwoZnVuY3Rpb24ocil7dmFyIG89e3R5cGU6InN0ZG91dCIsZGF0YTpyLnRvU3RyaW5nKCJiYXNlNjQiKX07ZS53cml0ZShKU09OLnN0cmluZ2lmeShvKSsiXG4iKX0pKSxyLnN0ZG91dC5vbigiZW5kIiwoZnVuY3Rpb24oKXtlLndyaXRlKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJzdGRvdXQtZW5kIn0pKyJcbiIpfSkpLHIuc3RkZXJyLm9uKCJkYXRhIiwoZnVuY3Rpb24ocil7dmFyIG89e3R5cGU6InN0ZGVyciIsZGF0YTpyLnRvU3RyaW5nKCJiYXNlNjQiKX07ZS53cml0ZShKU09OLnN0cmluZ2lmeShvKSsiXG4iKX0pKSxyLnN0ZGVyci5vbigiZW5kIiwoZnVuY3Rpb24oKXtlLndyaXRlKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJzdGRlcnItZW5kIn0pKyJcbiIpfSkpO3ZhciB1PSExO3Iub24oImVycm9yIiwoZnVuY3Rpb24ocil7dT9jb25zb2xlLmxvZygiW2NvbW1hbmRdWyIuY29uY2F0KG8sIl0gUHJvY2VzcyBleGl0ZWQgd2l0aCBlcnJvciBidXQgd2UgYWxyZWFkeSBzZW50IGFuIGV4aXQgbWVzc2FnZSIpLHIpOih1PSEwLGNvbnNvbGUuZXJyb3IoIltjb21tYW5kXVsiLmNvbmNhdChvLCJdIFByb2Nlc3MgZXJyb3IiKSxyKSxlLndyaXRlKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJleGl0Iixjb2RlOjF9KSsiXG4iKSxlLmVuZCgpKX0pKSxyLm9uKCJleGl0IiwoZnVuY3Rpb24ocil7aWYodSljb25zb2xlLmxvZygiW2NvbW1hbmRdWyIuY29uY2F0KG8sIl0gUHJvY2VzcyBleGl0ZWQgd2l0aCBjb2RlICIpLmNvbmNhdChyLCIgYnV0IHdlIGFscmVhZHkgc2VudCBhbiBleGl0IG1lc3NhZ2UiKSk7ZWxzZXt1PSEwLGNvbnNvbGUubG9nKCJbY29tbWFuZF1bIi5jb25jYXQobywiXSBQcm9jZXNzIGV4aXRlZCB3aXRoIGNvZGUgIikuY29uY2F0KHIsIi4gU2VuZGluZyBleGl0IG1lc3NhZ2UiKSk7dmFyIHQ9e3R5cGU6ImV4aXQiLGNvZGU6bnVsbCE9PXI/cjowfTtlLndyaXRlKEpTT04uc3RyaW5naWZ5KHQpKyJcbiIpLGUuZW5kKCl9fSkpfXZhciB2PXQuaW5kZXhPZigwKTtpZigtMSE9PXYpe3ZhciBmPXQuc3ViYXJyYXkoMCx2KTt0cnl7dmFyIGc9QnVmZmVyLmZyb20oZi50b1N0cmluZygidXRmLTgiKSwiYmFzZTY0Iik7ci5zdGRpbi53cml0ZShnKX1jYXRjaChvKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRXJyb3IgZGVjb2RpbmcgYmFzZTY0IGRhdGE6IixvKSxlLmRlc3Ryb3koKSx2b2lkIHIua2lsbCgiU0lHS0lMTCIpfXJldHVybiByLnN0ZGluLmVuZCgpLHZvaWQodD1CdWZmZXIuYWxsb2MoMCkpfXZhciBtPTQqTWF0aC5mbG9vcih0Lmxlbmd0aC80KTtpZigwIT09bSl7dmFyIHk9dC5zdWJhcnJheSgwLG0pO3Q9dC5zdWJhcnJheShtKTt0cnl7Zz1CdWZmZXIuZnJvbSh5LnRvU3RyaW5nKCJ1dGYtOCIpLCJiYXNlNjQiKSxyLnN0ZGluLndyaXRlKGcpfWNhdGNoKG8pe3JldHVybiBjb25zb2xlLmVycm9yKCJFcnJvciBkZWNvZGluZyBiYXNlNjQgZGF0YToiLG8pLHIua2lsbCgiU0lHS0lMTCIpLHZvaWQgZS5kZXN0cm95KCl9fX0pKSxlLm9uKCJlcnJvciIsKGZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoIltyZW1vdGVTZXJ2ZXJdWyIuY29uY2F0KG8sIl0gU29ja2V0IGVycm9yOiIpLGUpLHImJnIua2lsbCgiU0lHS0lMTCIpfSkpLGUuc2V0VGltZW91dCgzZTUsKGZ1bmN0aW9uKCl7Y29uc29sZS5sb2coIltyZW1vdGVTZXJ2ZXJdWyIuY29uY2F0KG8sIl0gTm8gZGF0YSByZWNlaXZlZCBmb3IgNSBtaW51dGVzLCBzaHV0dGluZyBkb3duLi4uIikpLGUuZGVzdHJveSgpfSkpfSkpO2Z1bmN0aW9uIHJlc2V0SW5hY3Rpdml0eVRpbWVyKCl7aW5hY3Rpdml0eVRpbWVyJiZjbGVhclRpbWVvdXQoaW5hY3Rpdml0eVRpbWVyKSxpbmFjdGl2aXR5VGltZXI9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJObyBjb25uZWN0aW9ucyByZWNlaXZlZCBmb3IgNSBtaW51dGVzLCBzaHV0dGluZyBkb3duLi4uIikscHJvY2Vzcy5leGl0KDApfSksM2U1KX1yZXNldEluYWN0aXZpdHlUaW1lcigpLHNlcnZlci5saXN0ZW4oe2hvc3Q6IjEyNy4wLjAuMSIscG9ydDowfSwoZnVuY3Rpb24oKXt2YXIgZT1zZXJ2ZXIuYWRkcmVzcygpO251bGw9PT1lJiYoY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGdldCBzZXJ2ZXIgYWRkcmVzcyIpLHByb2Nlc3MuZXhpdCgxKSksInN0cmluZyI9PXR5cGVvZiBlJiYoY29uc29sZS5lcnJvcigiSW52YWxpZCBhZGRyZXNzOiAiLmNvbmNhdChlKSkscHJvY2Vzcy5leGl0KDEpKSxjb25zb2xlLmxvZygiU2VydmVyIGxpc3RlbmluZyBvbiAiLmNvbmNhdChlLnBvcnQpKX0pKSxwcm9jZXNzLm9uKCJTSUdJTlQiLChmdW5jdGlvbigpe3NlcnZlci5jbG9zZSgoZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiU2VydmVyIGNsb3NlZCIpLHByb2Nlc3MuZXhpdCgwKX0pKX0pKTsnID4gIiRNVUxUSVBMRVhfU0VSVkVSX1NDUklQVCIKCiAgICBlY2hvICJTdGFydGluZyBtdWx0aXBsZXggc2VydmVyOiAkU0VSVkVSX05PREVfRVhFQ1VUQUJMRSAkTVVMVElQTEVYX1NFUlZFUl9TQ1JJUFQgJE1VTFRJUExFWF9TRVJWRVJfQ09OTkVDVElPTl9UT0tFTiIKICAgICRTRVJWRVJfTk9ERV9FWEVDVVRBQkxFICIkTVVMVElQTEVYX1NFUlZFUl9TQ1JJUFQiICIkTVVMVElQTEVYX1NFUlZFUl9DT05ORUNUSU9OX1RPS0VOIiAgJj4gJE1VTFRJUExFWF9TRVJWRVJfTE9HRklMRSAmCgogICAgIyBSZXN0b3JpbmcgdGhlIG9yaWdpbmFsIFNTSF9BVVRIX1NPQ0sKICAgIGlmIFtbIC1uICIkT1JJR0lOQUxfU1NIX0FVVEhfU09DSyIgXV07IHRoZW4KICAgICAgICBleHBvcnQgU1NIX0FVVEhfU09DSz0kT1JJR0lOQUxfU1NIX0FVVEhfU09DSwogICAgICAgIHVuc2V0IE9SSUdJTkFMX1NTSF9BVVRIX1NPQ0sKICAgIGZpCmVsc2UKICAgIGVjaG8gIk11bHRpcGxleCBzZXJ2ZXIgc2NyaXB0IGlzIGFscmVhZHkgcnVubmluZyAkTVVMVElQTEVYX1NFUlZFUl9TQ1JJUFQuIFJ1bm5pbmcgcHJvY2Vzc2VzIGFyZSAkTVVMVElQTEVYX1NFUlZFUl9SVU5OSU5HX1BST0NFU1MiCmZpCgplY2hvICJSZWFkaW5nIG11bHRpcGxleCBzZXJ2ZXIgdG9rZW4gZmlsZSAkTVVMVElQTEVYX1NFUlZFUl9UT0tFTkZJTEUiCgppZiBbWyAtZiAkTVVMVElQTEVYX1NFUlZFUl9UT0tFTkZJTEUgXV07IHRoZW4KICAgIGVjaG8gIk11bHRpcGxleCBzZXJ2ZXIgdG9rZW4gZmlsZSBmb3VuZCIKICAgIE1VTFRJUExFWF9TRVJWRVJfQ09OTkVDVElPTl9UT0tFTj0iJChjYXQgJE1VTFRJUExFWF9TRVJWRVJfVE9LRU5GSUxFKSIKZWxzZQogICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIk11bHRpcGxleCBzZXJ2ZXIgdG9rZW4gZmlsZSBub3QgZm91bmQ6ICRNVUxUSVBMRVhfU0VSVkVSX1RPS0VORklMRSIKZmkKCmVjaG8gIlJlYWRpbmcgbXVsdGlwbGV4IHNlcnZlciBsb2cgZmlsZSAkTVVMVElQTEVYX1NFUlZFUl9MT0dGSUxFIgoKZm9yIGkgaW4gezEuLjIwfTsgZG8KICAgIGlmIFtbIC1mICRNVUxUSVBMRVhfU0VSVkVSX0xPR0ZJTEUgXV07IHRoZW4KICAgICAgICBNVUxUSVBMRVhfTElTVEVOSU5HX09OPSIkKGNhdCAkTVVMVElQTEVYX1NFUlZFUl9MT0dGSUxFIHwgZ3JlcCAtRSAnU2VydmVyIGxpc3RlbmluZyBvbiAuKycgfCBzZWQgJ3MvU2VydmVyIGxpc3RlbmluZyBvbiAvLycpIgogICAgICAgIGlmIFtbIC1uICIkTVVMVElQTEVYX0xJU1RFTklOR19PTiIgXV07IHRoZW4KICAgICAgICAgICAgYnJlYWsKICAgICAgICBmaQogICAgZmkKICAgIHNsZWVwIDAuNQpkb25lCgppZiBbWyAteiAiJE1VTFRJUExFWF9MSVNURU5JTkdfT04iIF1dOyB0aGVuCiAgICBlY2hvICJFcnJvciBtdWx0aXBsZXggc2VydmVyIGRpZCBub3Qgc3RhcnQgc3VjY2Vzc2Z1bGx5IgogICAgIyBSZWFkaW5nIHRoZSBsb2dmaWxlLCB0byBoZWxwIHdpdGggZGVidWdnaW5nCiAgICBjYXQgJE1VTFRJUExFWF9TRVJWRVJfTE9HRklMRSB8fCB0cnVlCiAgICBwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX2V4aXQgMSAiTXVsdGlwbGV4IHNlcnZlciBkaWQgbm90IHN0YXJ0IHN1Y2Nlc3NmdWxseSIKZmkKCgplY2hvICJDaGVja2luZyBmb3IgY29kZSBzZXJ2ZXJzIgppZiBbWyAtZiAkQ09ERV9TRVJWRVJfUElERklMRSBdXTsgdGhlbgogICAgQ09ERV9TRVJWRVJfUElEPSIkKGNhdCAkQ09ERV9TRVJWRVJfUElERklMRSkiCiAgICBDT0RFX1NFUlZFUl9SVU5OSU5HX1BST0NFU1M9IiQocHMgLW8gcGlkLGFyZ3MgfCBncmVwIC13ICRDT0RFX1NFUlZFUl9QSUQgfCBncmVwICRDT0RFX1NFUlZFUl9TQ1JJUFQpIgplbHNlCiAgICBDT0RFX1NFUlZFUl9SVU5OSU5HX1BST0NFU1M9IiQocHMgLW8gcGlkLGFyZ3MgLUEgfCBncmVwICRDT0RFX1NFUlZFUl9TQ1JJUFQgfCBncmVwIC12IGdyZXApIgpmaQoKIyBNYWtpbmcgc3VyZSB0aGUgdG9rZW4gZmlsZSBhbmQgbG9nIGZpbGVzIGV4aXN0czsgb3RoZXJ3aXNlIHdlIG5lZWQgdG8gc3RhcnQgYSBuZXcgc2VydmVyCmlmIFtbIC16ICRDT0RFX1NFUlZFUl9SVU5OSU5HX1BST0NFU1MgfHwgISAtZiAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFIHx8ICEgLWYgJENPREVfU0VSVkVSX0xPR0ZJTEUgXV07IHRoZW4KICAgIGVjaG8gIkNvZGUgc2VydmVyIHNjcmlwdCBpcyBub3QgcnVubmluZyIKICAgIGlmIFtbIC1mICRDT0RFX1NFUlZFUl9MT0dGSUxFIF1dOyB0aGVuCiAgICAgICAgcm0gJENPREVfU0VSVkVSX0xPR0ZJTEUKICAgIGZpCiAgICBpZiBbWyAtZiAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFIF1dOyB0aGVuCiAgICAgICAgcm0gJENPREVfU0VSVkVSX1RPS0VORklMRQogICAgZmkKCiAgICB0b3VjaCAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFCiAgICBjaG1vZCA2MDAgJENPREVfU0VSVkVSX1RPS0VORklMRQogICAgQ09ERV9TRVJWRVJfQ09OTkVDVElPTl9UT0tFTj0iNDZiYmJkYTYtMWE3Ni00N2RlLWFlNWEtYjljMmQyZWVmMDViIgogICAgZWNobyAkQ09ERV9TRVJWRVJfQ09OTkVDVElPTl9UT0tFTiA+ICRDT0RFX1NFUlZFUl9UT0tFTkZJTEUKCiAgICAjIFRoaXMgaXMgc3VwZXIgY291bnRlcmludHVpdGl2ZSwgYnV0IHdlIFVOU0VUIHRoZSBTU0hfQVVUSF9TT0NLIGJlZm9yZSBzdGFydGluZyB0aGUgc2VydmVyLCBiZWNhdXNlIHdlIG1hbnVhbGx5IGluamVjdCBpdCBpbnRvIHRoZSBleHRlbnNpb24gaG9zdCBsYXRlci4KICAgICMgVGhpcyBpcyB0byBwcmV2ZW50IHVzIGZyb20gYmVpbmcgdXNlZCBhY3Jvc3MgQUxMIGNvbm5lY3Rpb25zIGJ5IGRlZmF1bHQKCiAgICAjIEJhY2tpbmcgaXQgdXAsIE5PVCBleHBvcnRpbmcgaXQKICAgIGlmIFtbIC1uICIkU1NIX0FVVEhfU09DSyIgXV07IHRoZW4KICAgICAgICBPUklHSU5BTF9TU0hfQVVUSF9TT0NLPSRTU0hfQVVUSF9TT0NLCiAgICAgICAgdW5zZXQgU1NIX0FVVEhfU09DSwogICAgZmkKCiAgICBlY2hvICJTdGFydGluZyBjb2RlIHNlcnZlciBzY3JpcHQgJENPREVfU0VSVkVSX1NDUklQVCAtLXN0YXJ0LXNlcnZlciAtLWhvc3Q9MTI3LjAuMC4xIC0tcG9ydCAwICAtLWNvbm5lY3Rpb24tdG9rZW4tZmlsZSAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFIC0tdGVsZW1ldHJ5LWxldmVsIG9mZiAtLWVuYWJsZS1yZW1vdGUtYXV0by1zaHV0ZG93biAtLWFjY2VwdC1zZXJ2ZXItbGljZW5zZS10ZXJtcyAmPiAkQ09ERV9TRVJWRVJfTE9HRklMRSAmIgoKICAgICRDT0RFX1NFUlZFUl9TQ1JJUFQgLS1zdGFydC1zZXJ2ZXIgLS1ob3N0PTEyNy4wLjAuMSAtLXBvcnQgMCAgLS1jb25uZWN0aW9uLXRva2VuLWZpbGUgJENPREVfU0VSVkVSX1RPS0VORklMRSAtLXRlbGVtZXRyeS1sZXZlbCBvZmYgLS1lbmFibGUtcmVtb3RlLWF1dG8tc2h1dGRvd24gLS1hY2NlcHQtc2VydmVyLWxpY2Vuc2UtdGVybXMgJj4gJENPREVfU0VSVkVSX0xPR0ZJTEUgJgogICAgZWNobyAkISA+ICRDT0RFX1NFUlZFUl9QSURGSUxFCgogICAgIyBSZXN0b3JpbmcgdGhlIG9yaWdpbmFsIFNTSF9BVVRIX1NPQ0sKICAgIGlmIFtbIC1uICIkT1JJR0lOQUxfU1NIX0FVVEhfU09DSyIgXV07IHRoZW4KICAgICAgICBleHBvcnQgU1NIX0FVVEhfU09DSz0kT1JJR0lOQUxfU1NIX0FVVEhfU09DSwogICAgICAgIHVuc2V0IE9SSUdJTkFMX1NTSF9BVVRIX1NPQ0sKICAgIGZpCmVsc2UKICAgIGVjaG8gIkNvZGUgc2VydmVyIHNjcmlwdCBpcyBhbHJlYWR5IHJ1bm5pbmcgJENPREVfU0VSVkVSX1NDUklQVC4gUnVubmluZyBwcm9jZXNzZXMgYXJlICRDT0RFX1NFUlZFUl9SVU5OSU5HX1BST0NFU1MiCmZpCgppZiBbWyAtZiAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFIF1dOyB0aGVuCiAgICBDT0RFX1NFUlZFUl9DT05ORUNUSU9OX1RPS0VOPSIkKGNhdCAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFKSIKZWxzZQogICAgcHJpbnRfaW5zdGFsbF9yZXN1bHRzX2FuZF9leGl0IDEgIkNvZGUgc2VydmVyIHRva2VuIGZpbGUgbm90IGZvdW5kOiAkQ09ERV9TRVJWRVJfVE9LRU5GSUxFIgpmaQoKZm9yIGkgaW4gezEuLjIwfTsgZG8KICAgIGlmIFtbIC1mICRDT0RFX1NFUlZFUl9MT0dGSUxFIF1dOyB0aGVuCiAgICAgICAgQ09ERV9MSVNURU5JTkdfT049IiQoY2F0ICRDT0RFX1NFUlZFUl9MT0dGSUxFIHwgZ3JlcCAtRSAnRXh0ZW5zaW9uIGhvc3QgYWdlbnQgbGlzdGVuaW5nIG9uIC4rJyB8IHNlZCAncy9FeHRlbnNpb24gaG9zdCBhZ2VudCBsaXN0ZW5pbmcgb24gLy8nKSIKICAgICAgICBpZiBbWyAtbiAiJENPREVfTElTVEVOSU5HX09OIiBdXTsgdGhlbgogICAgICAgICAgICBicmVhawogICAgICAgIGZpCiAgICBmaQogICAgc2xlZXAgMC41CmRvbmUKCmlmIFtbIC16ICIkQ09ERV9MSVNURU5JTkdfT04iIF1dOyB0aGVuCiAgICBlY2hvICJFcnJvciBjb2RlIHNlcnZlciBkaWQgbm90IHN0YXJ0IHN1Y2Nlc3NmdWxseSIKICAgICMgUmVhZGluZyB0aGUgbG9nZmlsZSwgdG8gaGVscCB3aXRoIGRlYnVnZ2luZwogICAgY2F0ICRDT0RFX1NFUlZFUl9MT0dGSUxFIHx8IHRydWUKICAgIExPR0ZJTEVfQ09OVEVOVFM9JChjYXQgJENPREVfU0VSVkVSX0xPR0ZJTEUgfHwgZWNobyAiIikKICAgIHByaW50X2luc3RhbGxfcmVzdWx0c19hbmRfZXhpdCAxICJDb2RlIHNlcnZlciBkaWQgbm90IHN0YXJ0IHN1Y2Nlc3NmdWxseSIgImZhbHNlIgpmaQpwcmludF9pbnN0YWxsX3Jlc3VsdHNfYW5kX3dhaXQ=" | (base64 -d 2>/dev/null || base64 -D) | bash --login'\cb1 \ \cb2 [Info - 16:19:19.693] Started installation script. Waiting for it to finish...\cb1 \ \cb2 [Info - 16:19:19.693] Waiting for server to install via process(44363)...\cb1 \ \cb2 [Trace - 16:19:19.701] (ssh_tunnel) stderr: OpenSSH_9.8p1, LibreSSL 3.3.6\cb1 \ \ \cb2 [Trace - 16:19:19.701] (ssh_tunnel) stderr: debug1: Reading configuration data /Users/liwenjie/.ssh/config\cb1 \ \cb2 debug1: /Users/liwenjie/.ssh/config line 1: Applying options for connect.nma1.seetacloud.com\cb1 \ \ \cb2 [Trace - 16:19:19.701] (ssh_tunnel) stderr: debug1: Reading configuration data /etc/ssh/ssh_config\cb1 \ \ \cb2 [Trace - 16:19:19.702] (ssh_tunnel) stderr: debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files\cb1 \ \cb2 debug1: /etc/ssh/ssh_config line 54: Applying options for *\cb1 \ \ \cb2 [Trace - 16:19:19.703] (ssh_tunnel) stderr: debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling\cb1 \ \cb2 debug1: Connecting to connect.nma1.seetacloud.com port 14059.\cb1 \ \ \cb2 [Trace - 16:19:19.835] (ssh_tunnel) stderr: debug1: Connection established.\cb1 \ \ \cb2 [Trace - 16:19:19.836] (ssh_tunnel) stderr: debug1: identity file /Users/liwenjie/.ssh/id_rsa type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_rsa-cert type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ecdsa type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ecdsa-cert type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ecdsa_sk type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ecdsa_sk-cert type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ed25519 type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ed25519-cert type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ed25519_sk type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_ed25519_sk-cert type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_xmss type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_xmss-cert type -1\cb1 \ \ \cb2 [Trace - 16:19:19.839] (ssh_tunnel) stderr: debug1: identity file /Users/liwenjie/.ssh/id_dsa type -1\cb1 \ \cb2 debug1: identity file /Users/liwenjie/.ssh/id_dsa-cert type -1\cb1 \ \cb2 debug1: Local version string SSH-2.0-OpenSSH_9.8\cb1 \ \ \cb2 [Trace - 16:19:20.43] (ssh_tunnel) stderr: debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3ubuntu0.6\cb1 \ \cb2 debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3ubuntu0.6 pat OpenSSH* compat 0x04000000\cb1 \ \cb2 debug1: Authenticating to connect.nma1.seetacloud.com:14059 as 'root'\cb1 \ \ \cb2 [Trace - 16:19:20.44] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen /Users/liwenjie/.ssh/known_hosts2: No such file or directory\cb1 \ \cb2 debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory\cb1 \ \cb2 debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory\cb1 \ \ \cb2 [Trace - 16:19:20.45] (ssh_tunnel) stderr: debug1: SSH2_MSG_KEXINIT sent\cb1 \ \cb2 debug1: SSH2_MSG_KEXINIT received\cb1 \ \cb2 debug1: kex: algorithm: sntrup761x25519-sha512@openssh.com\cb1 \ \cb2 debug1: kex: host key algorithm: ssh-ed25519\cb1 \ \cb2 debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: compression: none\cb1 \ \cb2 debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: compression: none\cb1 \ \ \cb2 [Trace - 16:19:20.62] (ssh_tunnel) stderr: debug1: expecting SSH2_MSG_KEX_ECDH_REPLY\cb1 \ \ \cb2 [Trace - 16:19:20.258] (ssh_tunnel) stderr: debug1: SSH2_MSG_KEX_ECDH_REPLY received\cb1 \ \cb2 debug1: Server host key: ssh-ed25519 SHA256:y2DhrdHAWfTCoY9uLz0ve3EzTKYtWNBBWm80QUTOkXg\cb1 \ \ \cb2 [Trace - 16:19:20.261] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen /Users/liwenjie/.ssh/known_hosts2: No such file or directory\cb1 \ \cb2 debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory\cb1 \ \cb2 debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory\cb1 \ \cb2 debug1: Host '[connect.nma1.seetacloud.com]:14059' is known and matches the ED25519 host key.\cb1 \ \cb2 debug1: Found key in /Users/liwenjie/.ssh/known_hosts:1\cb1 \ \ \cb2 [Trace - 16:19:20.279] (ssh_tunnel) stderr: debug1: ssh_packet_send2_wrapped: resetting send seqnr 3\cb1 \ \cb2 debug1: rekey out after 134217728 blocks\cb1 \ \cb2 debug1: SSH2_MSG_NEWKEYS sent\cb1 \ \cb2 debug1: expecting SSH2_MSG_NEWKEYS\cb1 \ \ \cb2 [Trace - 16:19:20.279] (ssh_tunnel) stderr: debug1: ssh_packet_read_poll2: resetting read seqnr 3\cb1 \ \cb2 debug1: SSH2_MSG_NEWKEYS received\cb1 \ \cb2 debug1: rekey in after 134217728 blocks\cb1 \ \cb2 debug1: SSH2_MSG_EXT_INFO received\cb1 \ \cb2 debug1: kex_ext_info_client_parse: server-sig-algs=\cb1 \ \cb2 debug1: kex_ext_info_check_ver: publickey-hostbound@openssh.com=<0>\cb1 \ \ \cb2 [Trace - 16:19:20.479] (ssh_tunnel) stderr: debug1: SSH2_MSG_SERVICE_ACCEPT received\cb1 \ \ \cb2 [Trace - 16:19:20.588] (ssh_tunnel) stderr: debug1: Authentications that can continue: publickey,password\cb1 \ \cb2 debug1: Next authentication method: publickey\cb1 \ \ \cb2 [Trace - 16:19:20.591] (ssh_tunnel) stderr: debug1: get_agent_identities: bound agent to hostkey\cb1 \ \cb2 debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities\cb1 \ \ \cb2 [Trace - 16:19:20.592] (ssh_tunnel) stderr: debug1: Will attempt key: /Users/liwenjie/.ssh/id_rsa \cb1 \ \cb2 debug1: Will attempt key: /Users/liwenjie/.ssh/id_ecdsa \cb1 \ \cb2 debug1: Will attempt key: /Users/liwenjie/.ssh/id_ecdsa_sk \cb1 \ \cb2 debug1: Will attempt key: /Users/liwenjie/.ssh/id_ed25519 \cb1 \ \cb2 debug1: Will attempt key: /Users/liwenjie/.ssh/id_ed25519_sk \cb1 \ \cb2 debug1: Will attempt key: /Users/liwenjie/.ssh/id_xmss \cb1 \ \cb2 debug1: Will attempt key: /Users/liwenjie/.ssh/id_dsa \cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_rsa\cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_ecdsa\cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_ecdsa_sk\cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_ed25519\cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_ed25519_sk\cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_xmss\cb1 \ \cb2 debug1: Trying private key: /Users/liwenjie/.ssh/id_dsa\cb1 \ \cb2 debug1: Next authentication method: password\cb1 \ \cb2 debug1: read_passphrase: requested to askpass\cb1 \ \ \cb2 [Info - 16:19:20.942] Askpass server received request: POST /\cb1 \ \cb2 [Info - 16:19:20.942] Askpass server received request body: \{"request":"root@connect.nma1.seetacloud.com's password: "\}\cb1 \ \cb2 [Info - 16:19:20.942] Received SSH askpass request: root@connect.nma1.seetacloud.com's password: \cb1 \ \cb2 [Trace - 16:19:23.841] (ssh_tunnel) stderr: Authenticated to connect.nma1.seetacloud.com ([36.137.211.85]:14059) using "password".\cb1 \ \cb2 debug1: Local connections to LOCALHOST:63873 forwarded to remote address socks:0\cb1 \ \ \cb2 [Trace - 16:19:23.842] (ssh_tunnel) stderr: debug1: Local forwarding listening on ::1 port 63873.\cb1 \ \ \cb2 [Trace - 16:19:23.842] (ssh_tunnel) stderr: debug1: channel 0: new port-listener [port listener] (inactive timeout: 0)\cb1 \ \cb2 debug1: Local forwarding listening on 127.0.0.1 port 63873.\cb1 \ \ \cb2 [Trace - 16:19:23.842] (ssh_tunnel) stderr: debug1: channel 1: new port-listener [port listener] (inactive timeout: 0)\cb1 \ \cb2 debug1: channel 2: new session [client-session] (inactive timeout: 0)\cb1 \ \cb2 debug1: Requesting no-more-sessions@openssh.com\cb1 \ \ \cb2 [Trace - 16:19:23.843] (ssh_tunnel) stderr: debug1: Entering interactive session.\cb1 \ \cb2 debug1: pledge: filesystem\cb1 \ \ \cb2 [Trace - 16:19:23.847] (ssh_tunnel) stderr: debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0\cb1 \ \ \cb2 [Trace - 16:19:23.848] (ssh_tunnel) stderr: debug1: client_input_hostkeys: searching /Users/liwenjie/.ssh/known_hosts for [connect.nma1.seetacloud.com]:14059 / (none)\cb1 \ \ \cb2 [Trace - 16:19:23.851] (ssh_tunnel) stderr: debug1: client_input_hostkeys: searching /Users/liwenjie/.ssh/known_hosts2 for [connect.nma1.seetacloud.com]:14059 / (none)\cb1 \ \cb2 debug1: client_input_hostkeys: hostkeys file /Users/liwenjie/.ssh/known_hosts2 does not exist\cb1 \ \cb2 debug1: client_input_hostkeys: no new or deprecated keys from server\cb1 \ \ \cb2 [Trace - 16:19:23.945] (ssh_tunnel) stderr: debug1: Sending environment.\cb1 \ \cb2 debug1: Sending command: bash --login -c 'echo "ClRNUF9ESVI9IiR7WERHX1JVTlRJTUVfRElSOi0iL3RtcCJ9IgpTRVJWRVJfQ09NTUlUPSI1M2I5OWNlNjA4Y2JhMzUxMjdhZTNhMDUwYzE3MzhhOTU5NzUwODYwIgpTRVJWRVJfTElORT0icHJvZHVjdGlvbiIKU0VSVkVSX0RBVEFfRElSPSIkSE9NRS8uY3Vyc29yLXNlcnZlciIKU0VSVkVSX0RJUj0iJFNFUlZFUl9EQVRBX0RJUi9iaW4vNTNiOTljZTYwOGNiYTM1MTI3YWUzYTA1MGMxNzM4YTk1OTc1MDg2MCIKU0VSVkVSX05PREVfRVhFQ1VUQUJMRT0iJFNFUlZFUl9ESVIvbm9kZSIKQ09ERV9TRVJWRVJfU0NSSVBUPSIkU0VSVkVSX0RJUi9iaW4vY3Vyc29yLXNlcnZlciIKQ09ERV9TRVJWRVJfTE9HRklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQuY29kZS5sb2ciCkNPREVfU0VSVkVSX1RPS0VORklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQuY29kZS50b2tlbiIKQ09ERV9TRVJWRVJfUElERklMRT0iJFNFUlZFUl9EQVRBX0RJUi8uJFNFUlZFUl9DT01NSVQuY29kZS5waWQiCkNPREVfU0VSVkVSX1BST0NFU1NfQUxMX1ZFUlNJT05TX0dSRVBfUEFUVEVSTj0iJFNFUlZFUl9EQVRBX0RJUi9iaW4vLiovb3V0L3NlcnZlci1tYWluLmpzIgpDT0RFX0xJU1RFTklOR19PTj0KTVVMVElQTEVYX1NFUlZFUl9TQ1JJUFQ9I\cb1 \ \ \cb2 [Trace - 16:19:23.945] (ssh_tunnel) stderr: debug1: pledge: network\cb1 \ \ \cb2 [Trace - 16:19:24.183] (ssh_tunnel) stdout: Locking /tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549\cb1 \ \cb2 Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:24.184] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:25.180] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:25.180] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:26.282] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:26.282] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:27.183] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:27.183] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:28.253] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:28.253] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:29.187] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:29.188] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:30.276] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:30.276] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:31.197] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:31.197] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:32.192] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:32.193] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:33.245] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:33.246] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:34.195] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:34.196] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:35.196] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:35.197] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:36.200] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:36.200] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:37.200] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:37.200] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:38.289] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:38.292] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:39.203] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:39.203] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:40.204] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:40.204] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:41.211] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:41.211] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:42.207] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:42.208] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:43.308] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:43.310] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:44.210] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:44.210] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:45.212] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:45.213] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:46.214] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:46.215] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:47.215] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:47.216] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:48.322] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:48.323] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:49.219] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:49.220] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:50.243] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:50.243] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:51.268] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:51.268] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:52.224] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:52.225] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:53.316] (ssh_tunnel) stdout: Install in progress, sleeping for a bit...\cb1 \ \ \cb2 [Trace - 16:19:53.317] (ssh_tunnel) stderr: ln: failed to create hard link '/tmp/cursor-remote-lock.02f8004e40c905d5d56514de1f758ee5407c992587af6d2e6f984a24ef7da549': File exists\cb1 \ \ \cb2 [Trace - 16:19:54.238] (ssh_tunnel) stderr: debug1: client_input_channel_req: channel 2 rtype exit-status reply 0\cb1 \ \cb2 debug1: client_input_channel_req: channel 2 rtype eow@openssh.com reply 0\cb1 \ \ \cb2 [Trace - 16:19:54.241] (ssh_tunnel) stdout: 4e05b5e795fe427dd239fccd: start\cb1 \ \cb2 exitCode==1==\cb1 \ \cb2 nodeExecutable==/root/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/node==\cb1 \ \cb2 multiplexListeningOn====\cb1 \ \cb2 multiplexConnectionToken====\cb1 \ \cb2 codeListeningOn====\cb1 \ \cb2 errorMessage==Could not acquire lock after multiple attempts==\cb1 \ \cb2 isFatalError====\cb1 \ \cb2 codeConnectionToken====\cb1 \ \cb2 SSH_AUTH_SOCK====\cb1 \ \cb2 4e05b5e795fe427dd239fccd: end\cb1 \ \ \cb2 [Trace - 16:19:54.242] Server install command exit code: \cb1 \ \cb2 1\cb1 \ \cb2 [Error - 16:19:54.242] Error installing server:\cb1 \ \cb2 Error: Couldn't install Cursor Server, install script returned non-zero exit status: Could not acquire lock after multiple attempts\cb1 \ \cb2 at Ir (/Users/liwenjie/.cursor/extensions/anysphere.remote-ssh-1.0.4/dist/main.js:1:219190)\cb1 \ \cb2 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\cb1 \ \cb2 at async /Users/liwenjie/.cursor/extensions/anysphere.remote-ssh-1.0.4/dist/main.js:1:269648\cb1 \ \cb2 [Error - 16:19:54.244] Error resolving SSH authority\cb1 \ \cb2 Error: Couldn't install Cursor Server, install script returned non-zero exit status: Could not acquire lock after multiple attempts\cb1 \ \cb2 at Ir (/Users/liwenjie/.cursor/extensions/anysphere.remote-ssh-1.0.4/dist/main.js:1:219190)\cb1 \ \cb2 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\cb1 \ \cb2 at async /Users/liwenjie/.cursor/extensions/anysphere.remote-ssh-1.0.4/dist/main.js:1:269648\cb1 \ \cb2 [Trace - 16:19:54.245] (ssh_tunnel) stderr: debug1: channel 2: free: client-session, nchannels 3\cb1 \ \cb2 debug1: channel 0: free: port listener, nchannels 2\cb1 \ \cb2 debug1: channel 1: free: port listener, nchannels 1\cb1 \ \cb2 Transferred: sent 30352, received 11024 bytes, in 30.4 seconds\cb1 \ \cb2 Bytes per second: sent 998.5, received 362.7\cb1 \ \cb2 debug1: Exit status 1\cb1 \ \ \cb2 [Trace - 16:19:54.245] (ssh_tunnel): exit: code=1 signal=null\cb1 \ \cb2 [Trace - 16:19:59.113] remote platform updated for host connect.nma1.seetacloud.com\cb1 \ }