tasmota-webserial-esptool 6.5.3 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/README.md +4 -3
  3. package/READ_FLASH_FEATURE.md +130 -0
  4. package/css/light.css +11 -0
  5. package/css/style.css +213 -45
  6. package/dist/const.d.ts +42 -3
  7. package/dist/const.js +102 -4
  8. package/dist/esp_loader.d.ts +27 -3
  9. package/dist/esp_loader.js +376 -17
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +1 -2
  12. package/dist/partition.d.ts +26 -0
  13. package/dist/partition.js +129 -0
  14. package/dist/stubs/esp32.json +4 -4
  15. package/dist/stubs/esp32c2.json +4 -4
  16. package/dist/stubs/esp32c3.json +4 -4
  17. package/dist/stubs/esp32c5.json +4 -4
  18. package/dist/stubs/esp32c6.json +4 -4
  19. package/dist/stubs/esp32c61.json +4 -4
  20. package/dist/stubs/esp32h2.json +4 -4
  21. package/dist/stubs/esp32p4.json +4 -4
  22. package/dist/stubs/esp32p4r3.json +4 -4
  23. package/dist/stubs/esp32s2.json +4 -4
  24. package/dist/stubs/esp32s3.json +4 -4
  25. package/dist/stubs/esp8266.json +3 -3
  26. package/dist/stubs/index.d.ts +1 -1
  27. package/dist/stubs/index.js +7 -1
  28. package/dist/web/esp32-CijhsJH1.js +1 -0
  29. package/dist/web/esp32c2-C17SM4gO.js +1 -0
  30. package/dist/web/esp32c3-DxRGijbg.js +1 -0
  31. package/dist/web/esp32c5-3mDOIGa4.js +1 -0
  32. package/dist/web/esp32c6-h6U0SQTm.js +1 -0
  33. package/dist/web/esp32c61-BKtexhPZ.js +1 -0
  34. package/dist/web/esp32h2-RtuWSEmP.js +1 -0
  35. package/dist/web/esp32p4-5nkIjxqJ.js +1 -0
  36. package/dist/web/esp32p4r3-CpHBYEwI.js +1 -0
  37. package/dist/web/esp32s2-IiDBtXxo.js +1 -0
  38. package/dist/web/esp32s3-6yv5yxum.js +1 -0
  39. package/dist/web/esp8266-CUwxJpGa.js +1 -0
  40. package/dist/web/index.js +1 -1
  41. package/index.html +158 -34
  42. package/js/modules/esp32-CijhsJH1.js +1 -0
  43. package/js/modules/esp32c2-C17SM4gO.js +1 -0
  44. package/js/modules/esp32c3-DxRGijbg.js +1 -0
  45. package/js/modules/esp32c5-3mDOIGa4.js +1 -0
  46. package/js/modules/esp32c6-h6U0SQTm.js +1 -0
  47. package/js/modules/esp32c61-BKtexhPZ.js +1 -0
  48. package/js/modules/esp32h2-RtuWSEmP.js +1 -0
  49. package/js/modules/esp32p4-5nkIjxqJ.js +1 -0
  50. package/js/modules/esp32p4r3-CpHBYEwI.js +1 -0
  51. package/js/modules/esp32s2-IiDBtXxo.js +1 -0
  52. package/js/modules/esp32s3-6yv5yxum.js +1 -0
  53. package/js/modules/esp8266-CUwxJpGa.js +1 -0
  54. package/js/modules/esptool.js +1 -1
  55. package/js/script.js +456 -11
  56. package/package.json +6 -6
  57. package/src/const.ts +109 -5
  58. package/src/esp_loader.ts +491 -18
  59. package/src/index.ts +3 -1
  60. package/src/partition.ts +155 -0
  61. package/src/stubs/README.md +1 -1
  62. package/src/stubs/esp32.json +4 -4
  63. package/src/stubs/esp32c2.json +4 -4
  64. package/src/stubs/esp32c3.json +4 -4
  65. package/src/stubs/esp32c5.json +4 -4
  66. package/src/stubs/esp32c6.json +4 -4
  67. package/src/stubs/esp32c61.json +4 -4
  68. package/src/stubs/esp32h2.json +4 -4
  69. package/src/stubs/esp32p4.json +4 -4
  70. package/src/stubs/esp32p4r3.json +4 -4
  71. package/src/stubs/esp32s2.json +4 -4
  72. package/src/stubs/esp32s3.json +4 -4
  73. package/src/stubs/esp8266.json +3 -3
  74. package/src/stubs/index.ts +14 -2
  75. package/BUGFIX_GET_SECURITY_INFO.md +0 -126
  76. package/IMPLEMENTATION_SUMMARY.md +0 -232
  77. package/SECURITY_INFO_EXPLANATION.md +0 -145
  78. package/dist/web/esp32-BNIFdu1P.js +0 -1
  79. package/dist/web/esp32c2-BqxquOKw.js +0 -1
  80. package/dist/web/esp32c3-BOOqe8me.js +0 -1
  81. package/dist/web/esp32c5-mcj52-K1.js +0 -1
  82. package/dist/web/esp32c6-Cg5qYgg7.js +0 -1
  83. package/dist/web/esp32c61-CzCdsydk.js +0 -1
  84. package/dist/web/esp32h2-DZa_lpff.js +0 -1
  85. package/dist/web/esp32p4-DyGqUAeZ.js +0 -1
  86. package/dist/web/esp32p4r3-Cle9QJmZ.js +0 -1
  87. package/dist/web/esp32s2-Bk4mqADi.js +0 -1
  88. package/dist/web/esp32s3-Df3OUCOC.js +0 -1
  89. package/dist/web/esp8266-CQFcqJ_a.js +0 -1
  90. package/js/modules/esp32-BNIFdu1P.js +0 -1
  91. package/js/modules/esp32c2-BqxquOKw.js +0 -1
  92. package/js/modules/esp32c3-BOOqe8me.js +0 -1
  93. package/js/modules/esp32c5-mcj52-K1.js +0 -1
  94. package/js/modules/esp32c6-Cg5qYgg7.js +0 -1
  95. package/js/modules/esp32c61-CzCdsydk.js +0 -1
  96. package/js/modules/esp32h2-DZa_lpff.js +0 -1
  97. package/js/modules/esp32p4-DyGqUAeZ.js +0 -1
  98. package/js/modules/esp32p4r3-Cle9QJmZ.js +0 -1
  99. package/js/modules/esp32s2-Bk4mqADi.js +0 -1
  100. package/js/modules/esp32s3-Df3OUCOC.js +0 -1
  101. package/js/modules/esp8266-CQFcqJ_a.js +0 -1
@@ -0,0 +1 @@
1
+ var A=1341197214,B="QRG3Jw1QIsQmwkrAEUcGxrcE9U/Yyz6JM4TnAJOEBAAcQJGLmeeyQCJEkkQCSUEBgoADJQkAnEATdfUPgpfNtwERt6cMUE7Gg6mHAErINwn1TybKUsQGziLMk4THAT6KEwkJAIBAE3T0PxnIAyUKAIMnCQB9FBN19Q+Cl2X43bfyQGJEt6cMUCOoNwHSREJJskkiSgVhgoCTBwAMkEEqh2MY9QCFRwXGI6AFAHlVgoCFRmMH1gAJRWMNpgB9VYKAQgWTB7ANQYVjE/cCiUecwfW3EwbADWMVxwCUwT6FgoCTB9AN4xz3/JTBEwWwDYKAtzX2T0ERk4WFvwbGcT9jTQUEtzf2T5OHB7cDpwcIg9ZHCBOGFgAjkscINpcjAKcAA9dHCJFnk4cHBGMa9wI3t/VPEwcHt6FnupcDpgcIt/b1T5OGBrtjH+YAI6bHCCOg1wgjkgcIIaD5V+MK9fyyQEEBgoAjptcII6DnCN23N9cIUBMHRwUcQ52L9f83xwhQEwdHBRxDnYv1/4KAQREGxvk/N9cIULcGAAgjJgcCkwfHAhTDFEP9/ohDskATRfX/BYlBAYKAQREGxsk/fd231whQNwcAQJjDmEN9/7JAQQGCgHlxKoNCXjcFwE+DTkEDgy9FAQVFRsJCwAbWCU92yCrGcsS+iDqItocyh6FGLoaahWOZ7wGXAND/54CgEbJQRWGCgJcA0P/ngCDGzb95cSLUJtJK0FLMBtZOzqqELokyhEFKlwDP/+eAQO5jSoAAslAiVJJUAlnySWJKRWGCgKKJY1OKAMFJk5c5AD7AyogmhgLCAUiBRyFHkwYAArFFEUWFNzMENEFOmc6Uwbd5cSLUJtJK0FLMVsoG1k7OqoQuiTKEEwoAApcAz//ngADohUpjS4AAslAiVJJUAlnySWJK0kpFYYKA/T2iiWNUigCTCQACyocmhoFIE5g5AAFHkwYAAslFEUVWwgLA3T2XAM//54Cg406ZzpQzBDRBVb8BESLMN4T1TxMEBAZKyAMpBAEGzibKYwoJCEk1WcW9R4FEY9YnAQRE/YyTtBQAYT25NbcH9U+Dx0cAwceXAM//54DA3kk1EESFRz7CAsAyBjcHAAGBSAFIgUeNxGNe5gABR+FGkwWADRVFpT2XAM//54DA20FHJaABR5MGAAKTBcAN3bdjWeYCAUfhRpMFAAIVRYE9lwDP/+eAQNkFRxxImY8cyBxEupccxPJAYkTSREJJBWGCgAFHkwYAApMFEALBvxxENwcAAbqGsgeZwLcGgAB9F/mPN9cIUFzDFMMcQ/3/zdxBvwERBs4izCbK8VdjkvUENwT1T7cE9E8TBAQAA6VE/ZcAz//ngMBOY0egAPJAYkTSRAVhgoADpUT9BUZsAJcAz//ngCBNHEADRcEAgpf5t/1X4531/HAAiUUCxpcAz//ngEBOMke3B/VPk4cHABnnlEcFRmOUxgAjhtcAmMd9twERBs4ZOzcF9E9sADEVlwDP/+eAoNKqhwVFneeyR5P3ByA+xj07t9cIUJhHtwZAADcF9E9Vj5jHskUxFZcAz//ngADQMzWgAPJABWGCgEERt4f1TwbGk4cHBgVHI4DnABPXxQCYxwVnfRfMw8jH+Y06laqVsYENZ4zLI6oHADM2wAC6lyOGx7ClPxnBEwVQDLJAQQGCgB1xosw3hPVPpsrOxi7Ohs7KyNLE1sLawF7eYtxm2mrYbtaqiRMEBAaXAM//54AgwfJFRERj85UAroRjiwQaAylEACaZE1nJABxIY1XwABxEY1/5Brkxfd23B/VPg8dHAAMpRABjjgcWs+ckAb2LxeuXAM//54CgvLfHCFAjogc0lwDP/+eAIL8milHlN8sIULfLCFA3zAhQt8wIUJMN8AMTCws0k4sLMBMMjDSTjMw0hUoTdfkDEe0TDQAEY+9NAf1HM7NHARMdQwBBDTmgJTulv5N3+QFBTeXXk1ddQCMg+wBqhs6FXpWXAM//54CgySMgLAEjoFwB0T63xghQYWeBR5OGhjUJRhMHB2qMQmOOxQBjmucAlwDP/+eAgLKTB0AMXMhxoIUH1bfjhuf+Ps6XAM//54DgrzfHCFDyRyMoVzWTBoc1YWcNRhMHB2qMQmOGxQDjgef8hQfVv+ON5/qXAM//54DgrA3tExg9AIFHSoZWwgLAgUh9GAFHkwYAAslFEUWVNrfHCFAjqlc1MwqqQeqZapnjHgrwlwDP/+eAQKkqzpcAz//ngKCpckUl+VxA9kBGSaaXXMBcRLZJJkqFj1zEZkTWRJZKBkvyW2Jc0lxCXbJdJWEXA8//ZwBjpiaGzoVKhZcAz//ngMCkwbf2QGZE1kRGSbZJJkqWSgZL8ltiXNJcQl2yXSVhgoABESLMN4T1TxMEBAaNZ6KXg8fHsAbOJspKyE7GUsRWwlrAmctiRPJA0kRCSbJJIkqSSgJLBWF1u0REY/OVAK6EpcADKUQAKoommRNZyQAcSGNV8AAcRGNf+QQtPH3dtwf1T4PHRwCDKkQA2cOT+foPEwkAEDMJOUGXAM//54CAmmP8JAMmhtKFVoX1PJcAz//ngECZXECml1zAXESFj1zE8kBiRNJEQkmySSJKkkoCSwVhgoCRNmG/k4kJ8EqG0oVWhaaZyTST2YkAAUszBVkBswUqAWNlOwEzhiRBfbcTBgAQBQtNNBMJCRATe/sP+b8mhtKFVoWXAM//54BglhN19Q9J2ZMHQAxcyGm3QREGxpcAz//ngMCKA0WFAbJAaRUTNRUAQQGCgEERBsaXAM//54AAiQNFhQGyQG0VEzUVAEEBgoBBESLENwT1TxMEBAC3B/RPEEgDpUf9kwVEAQbGlwDP/+eAQAiyQCMoBAAiREEBgoBBEQbGRT8BybcH9U+ThwcAnEuRw3U/STcRwRlFskBBARfzzv9nAIN+QREixAbGJsIqhEk3HcW3B/VPk4cHAJhLkwYXAJTLupcjiocAEwQE9AHEEwcX/CnjIkSyQJJEQQGFvyKFl/DO/+eAgHg1Nw3FtwT1T5OEBACD10QFhQfCB8GDI5r0BJO39wOBxxMEBPQB5L03I5oEBLJAIkSSREEBgoBBEQbGEwcADGMa5QATBbANnT8TBcANskBBAbW3EwewDeMb5f6NNxMF0A31t0ERIsQmwgbGKoSzBLUAYxeUALJAIkSSREEBgoADRQQABQRNP+23dXEixSbDzt7S3NbaBsdKwRMBAYATAQGAqoQ3CvVPKAguhIVqlwDP/+eAgMYTCgoAkwkBBxXkKAAsCJcAz//ngKDFKADBRVE/AUWFYhaRukAqRJpECkn2WWZa1lpJYYKAIolj84oABWmDR0oASobOhSaFkc/v8L+ESobOhSgIlwDP/+eAIMHKlDMEJEFlt5fwzv/ngKB2E3X1D3ndEwUwBm23EwUADHm1NXEizU7HUsVaweLcBs8my0rJVsPe3hMBAYATAQGAgBiqiS6KMos2jCMqBPj1MznBNwUCAJcAz//ngEC6twf0TwOlR/2XAM//54BA64VnY+5nESgItwr1T5cAz//ngMC4AUmTigoAgytE+WNleQ1j6ksFyaBhM5MHAAIZwbcHAgA+hZcAz//ngGC1ybezBCpBY3ObANqEg8dKACaGooVOhYXL7/BP95E/poUihVk1sTcmhqKFKAiXAM//54Ags6aZJpljfkkBswd5QePhh/0BqJfwzv/ngABoE3X1D2nVIywE+IFE+VujCQT4EwUxAJfwzv/ngKBWdfkDRTT5LADv8C/ZkxcFAWPCBwKTt0QAkc+FZ5OHBweml4qXk4cHgJOHB4Ajiqf4hQR9v+MedfuRR+OL9PIoACwIlwDP/+eAQKttPcFFKAD1M009+TENzbcH9E8DpUf9lwDP/+eA4Nk3BQIAlwDP/+eAoKeFYhaR+kBqRNpESkm6SSpKmkoKS/ZbZlwNYYKAnTmTBwACGcG3BwIAPoX5t7dXQUl1cZOH94QBRQbHIsUmw0rBzt7S3Nba2tje1uLU5tLq0O7OPtaX8M7/54DgTx05BcU3R9hQt2cRUBMHF6qYzyOgBwAjrAcAmNPUTzcGBADRjtTPI6AHArcH9U83N/ZPk4cHABMHB8AhoCOgBwCRB+Pt5/79M5FFaBAFM90zt7f1T5OHB7ehar6aI6D6CLcJ9U+3B/FPk4kJAJOHBw8joPkA+T5jDQUYNwT0TwMlRP0ThokAiUWXAM//54Dgy7dXDlCTh8cVmEO3BiAAhUVVj5jDt2cNUBMHEAIjqucWRUWXAM//54CAk7cVwE8BRpOFBZhFRZcAz//ngICUNwUCAJcAz//ngECUAyVE/bcF8U+ThWU9lwDP/+eAgMUDJUT9lwDP/+eAwMMDJUT9lwDP/+eAQMK3BwBQmEcTZxcAmMe3Bw5QiF+BRTeK9U9xiWEVEzUVAJfwzv/ngEBP4Uc+wJMIwQMBSIFHAUeBRgFGkwXwCRFFAsLv8M/Lg0fhA0FmhWYTh3f+k7eXAxM3dwGTtxcA2Y8jgvkAEwcAEJMH9v+3BQAEAUW3CxFQEwoKBg1rl/DO/+eAgEGhC1Kbg6fKCGOEBw6DpMoIhUcjpgoIIwrxAoPHFAAJRyMb4QKjCvECAtxNR2OO5xBRR2OM5xApR2Oe5wCDxzQAA8ckAKIH2Y8RR2OV5wCcRJxDPtyZOaFFSBhhNoPGNACDxyQAogbdjpFnwQdj8tcOEwWwDeE0EwXADck0EwXgDnU8JTFBtx00KcG3Zw1QEwcQArjPhUVFRZfwzv/ngIB8twXxTwFGk4UFAEVFl/DO/+eAgH23Jw1QEUeYyzcFAgCX8M7/54DAfMG1twXxTwFGk4UFBBVFl/DO/+eA4Hq3pwxQ2EcTBQACE2cXENjHyb+Dx8kA44gH8DcFAgAjhgkAl/DO/+eAgHgJZRMFBXGX8M7/54BgHZcAz//ngKC2g6cLADcFAIDtmyOg+wCXAM//54DAqpcAz//ngACvAUWX8M7/54AgIH29yUcjG/ECGbeDxxQAUUdjZ/cCBUdjZvcAAUkTBPAPVaT5F5P39w9JR+No9/43N/ZPigcTB0fAupecQ4KHE4cHAxN39w8RRuNp5vyTh/cCk/f3Dw1HY2/3BDc39k+KBxMHB8W6l5xDgoeTB0ACY5L2GALcHUQBRb06AUXVOt001TShRUgYfRQRPHX0AUkBRBWsiepwGIFFAUWX8M7/54BAGAHFBUQBSTGs0UVoGP0yAUTVvwVE5fqX8M7/54BgHTM0oADNt6FH4572/AOphADARLNniQDSB/H37/DPzXnxIpkFTBnEMwaJQJMXBgHBg7nnQWyFTEF9Y2yMCAVMUcSDx0kAMwaJQPHLMs7v8M+gl/DO/+eAoBZyRmLCAsCBSAFIgUcBR5MGAAKTBRACFUXv8E+gEwQEgBMEBIDJt4PHSQCdyzLO7/AvnZfwzv/ngAATckZiwgLAgUgBSIFHAUeTBgACkwUQAhVF7/CvnBMEBIATBASAvbcTVcYAl/DO/+eAIBNt1RMEUAMzNIAAIb+Dx0kAMwaJQIXLMs7v8M+Xl/DO/+eAoA1yRmbCAsCBSAFIgUcBR5MGAAKTBcANFUXv8E+XapQNvxNVBgGX8M7/54BgDmXZEwRgA0W/E1XGAJfwzv/ngOAMMdVxv6FH44/26AFJEwQADPGgwUfNv8FHBUTjkvbqzESIRO/wn4tNvZP3tv9BR+Oe5/yYSJFnY+znJNFHiETMSAFGY5P2AJBM7/BPvSqEhb2T97b/QUfjmuf6nEgRZ2No9yLYRIhEzEgziecC0UcBRmOT9gCQTO/wb7q3h/VPk4cHBg1nI6wHALqXKoQjpCexPbW3h/VPk4cHBgPHBwBjBwcYmETBFhMEAAxjE9cAwEuBRxMG8A5jxdcGg8dUAAPHRAABSaIH2Y8Dx2QAQgddj4PHdADiB9mPYx/2GhN19A/v8I/6E3X5D+/wD/rv8B+J4xMEvoPHFABJR2Np9xoJR+N797z1F5P39w89R+Nl97w3N/ZPigcTBwfGupecQ4KHM4f0AANHhwGFBzmOabe3h/VPk4cHBgPHBwBty9hHYx8HFMBLI4AHAJ274UdjkPYC3EyYTNRIkEjMRIhEl/DO/+eAYPgqiTM0oACNvwFJBUS1t5FHBUTjlPbUtxYOUPhe5Xf9FwVmfY9Rj4hE+N63Fg5Qk4YGCJhCgUV9j1GPmMK3Fg5Qk4ZGCJhCfY9Rj5jCtxYOULhe+Y/Rj7zel/DO/+eAYPoRs5P39gDjkAfkE9xGABOEhAABSf1c43WJzUhEl/DO/+eAYN0cRFhAEEB9j2OHlwEUQpPH9//1j12PGMIFCUEE2b+RR/27wUcFROOY9sqcRNhII675BCOs6QRtsQOniQUThgb/EecBzgFJEwRgDG21g6fJBWPmxwaNiuOWBtyDpskFgUWBR2PrxwDjiwXEnY4+lyOu2QQjrOkEmbGzhfQAiE2zBfcAkQeIwYVF6b+hRwVE45T2xAOkyQUZwBMEgAwjrgkEI6wJBBm7AUkTBCAMobUTBBAMibUBSRMEgAwtvQFJEwSQDA29EwcgDWOM5wYTB0AN45/noIPFNACDxyQAE4WEAaIF3Y3BFe/wb5kRtAOpxACARO/wD8zjHAWeCWUTBQVxl/DO/+eA4My3pwxQ3Es3BwABQReT1UcBkgf5j72J3Y2zhSUDAUWz1YUCl/DO/+eAQM4TBYA+l/DO/+eAgMlFutRIkEjMRIhE7/Av5U2yg8U0AIPHJAAThYQBogXdjcEV7/Cvsmmyg8c0AAPHJACiB9mPE40H/4MnygCB55M3XQCdy7c99k83ifVPtwz1T+EEBUSTjQ3AEwkJBhOMDAZjBw0AgyfKAJnDY0yAAGNVBAiTB3AMGaCTB5AMIyr6AAW6AyiLsIOnDQBq2DM4DQEGCLMH+UAFCD7eQs7v4J/qA6cNAHJIN4X1T6aFfBjihhAYEwWFB5fwzv/ngGDJwlcDJ4uwg6UNADMN/UAdj76U8lcjJOuwKoS+lSOgvQDhd7OFhUGul5HDJf0ThQwG7/DvpSOgjQGtt+McBIqDJ8oA44gHipMHgAyVv5xE45IHiu/wD7sJZRMFBXGX8M7/54Bgt5fwzv/ngGC8b/B/iMBE4wAEiO/wz7gTBYA+l/DO/+eAQLUClG/wv4a6QCpEmkQKSfZZZlrWWkZbtlsmXJZcBl32TUlhgoA=",E=1341194240,w="YAD1T64Q8U8YEfFPtBHxT5AS8U/4EvFPphLxTwgP8U9MEvFPjBLxT9AR8U+4DvFP+BHxT7gO8U+KEPFP1hDxTxgR8U+0EfFPnBDxTzAP8U9kD/FPmBDxT/YU8U8YEfFPvBPxT7YU8U9cDfFP2hTxT1wN8U9cDfFPXA3xT1wN8U9cDfFPXA3xT1wN8U9cDfFPWhPxT1wN8U/UE/FPthTxTw==",g=1341533184,c=1341456384,M={entry:A,text:B,text_start:E,data:w,data_start:g,bss_start:c};export{c as bss_start,w as data,g as data_start,M as default,A as entry,B as text,E as text_start};
@@ -0,0 +1 @@
1
+ var A=1341459344,w="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",B=1341456384,E="YAD2T8oQ9U80EfVP0BH1T6wS9U8UE/VPwhL1TwQP9U9oEvVPqBL1T+wR9U+0DvVPFBL1T7QO9U+mEPVP8hD1TzQR9U/QEfVPuBD1TywP9U9gD/VPtBD1TxIV9U80EfVP2BP1T9IU9U9YDfVP9hT1T1gN9U9YDfVPWA31T1gN9U9YDfVPWA31T1gN9U9YDfVPdhP1T1gN9U/wE/VP0hT1Tw==",T=1341598720,Q=1341521920,c={entry:A,text:w,text_start:B,data:E,data_start:T,bss_start:Q};export{Q as bss_start,E as data,T as data_start,c as default,A as entry,w as text,B as text_start};
@@ -0,0 +1 @@
1
+ var A=1073907884,g="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",C=1073905664,I="WAD9P+aLAkB7jAJAGpECQBuNAkCejAJAG40CQHSNAkB3jgJA7Y4CQJKOAkBxiwJAI44CQGyOAkCSjQJADo8CQLqNAkAOjwJAcowCQNSMAkAbjQJAdI0CQISMAkCyiwJA6I8CQNWQAkCKigJA+ZACQIqKAkCKigJAiooCQIqKAkCKigJAiooCQIqKAkCKigJAb48CQIqKAkAEkAJA1ZACQA==",B=1073622016,E=1073545216,Q={entry:A,text:g,text_start:C,data:I,data_start:B,bss_start:E};export{E as bss_start,I as data,B as data_start,Q as default,A as entry,g as text,C as text_start};
@@ -0,0 +1 @@
1
+ var A=1077382292,g="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",C=1077379072,B="XADKP2KQN0A3kTdAz5U3QNeRN0BakTdA15E3QDCSN0A3kzdArZM3QFKTN0DtjzdA35I3QCyTN0BOkjdAzpM3QHaSN0DOkzdALpE3QJCRN0DXkTdAMJI3QECRN0AukDdAqJQ3QJaVN0AGjzdAtZU3QAaPN0AGjzdABo83QAaPN0AGjzdABo83QAaPN0AGjzdAL5Q3QAaPN0DElDdAlpU3QAQInwAAAAAAAAAYAQQIBQAAAAAAAAAIAQQIBgAAAAAAAAAAAQQIIQAAAAAAIAAAEQQI3AAAAAAAIAAAEQQIDAAAAAAAIAAAAQQIEgAAAAAAIAAAESAoDAAQAQAA",I=1070279680,Q=1070202880,E={entry:A,text:g,text_start:C,data:B,data_start:I,bss_start:Q};export{Q as bss_start,B as data,I as data_start,E as default,A as entry,g as text,C as text_start};
@@ -0,0 +1 @@
1
+ var A=1074843652,I="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",E=1074843648,g="CIH+PwUFBAACAwcAAwMLAOzXEEAj2BBAUdgQQO7YEECd5xBAUtkQQKjZEED02RBAnecQQLraEEA32xBA+NsQQJ3nEECd5xBAkNwQQJ3nEEBt3xBANOAQQG/gEECd5xBAnecQQAvhEECd5xBA8+EQQJniEEDY4xBAl+QQQGjlEECd5xBAnecQQJ3nEECd5xBAluYQQJ3nEECM5xBAyN0QQMHYEEDa5RBA4doQQDPaEECd5xBAIOcQQGfnEECd5xBAnecQQJ3nEECd5xBAnecQQJ3nEECd5xBAnecQQFraEECX2hBA8uUQQAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAANAAAADwAAABEAAAATAAAAFwAAABsAAAAfAAAAIwAAACsAAAAzAAAAOwAAAEMAAABTAAAAYwAAAHMAAACDAAAAowAAAMMAAADjAAAAAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AAQEAAAEAAAAEAAAA",B=1073720492,C=1073643776,Q={entry:A,text:I,text_start:E,data:g,data_start:B,bss_start:C};export{C as bss_start,g as data,B as data_start,Q as default,A as entry,I as text,E as text_start};
@@ -1 +1 @@
1
- const t=t=>{let e=[];for(let a=0;a<t.length;a++){let s=t.charCodeAt(a);s<=255&&e.push(s)}return e},e=t=>"["+t.map(t=>a(t)).join(", ")+"]",a=(t,e=2)=>{let a=t.toString(16).toUpperCase();return a.startsWith("-")?"-0x"+a.substring(1).padStart(e,"0"):"0x"+a.padStart(e,"0")},s=t=>new Promise(e=>setTimeout(e,t)),i={18:"256KB",19:"512KB",20:"1MB",21:"2MB",22:"4MB",23:"8MB",24:"16MB",25:"32MB",26:"64MB"},r=115200,n=1343410176,h=t(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),l=33382,o=50,_=12882,d=12883,f=12994,u=12995,c=12997,g=12998,p=207969,m=12914,w=12928,y={5:{name:"ESP32-C3",family:u},9:{name:"ESP32-S3",family:d},12:{name:"ESP32-C2",family:f},13:{name:"ESP32-C6",family:g},16:{name:"ESP32-H2",family:m},18:{name:"ESP32-P4",family:w},20:{name:"ESP32-C61",family:p},23:{name:"ESP32-C5",family:c}},b={4293968129:{name:"ESP8266",family:l},15736195:{name:"ESP32",family:o},1990:{name:"ESP32-S2",family:_},9:{name:"ESP32-S3",family:d},203546735:{name:"ESP32-C2",family:f},1867591791:{name:"ESP32-C2",family:f},2084675695:{name:"ESP32-C2",family:f},456216687:{name:"ESP32-C3",family:u},1130455151:{name:"ESP32-C3",family:u},1216438383:{name:"ESP32-C3",family:u},1763790959:{name:"ESP32-C3",family:u},285294703:{name:"ESP32-C5",family:c},1607549039:{name:"ESP32-C5",family:c},1548751960:{name:"ESP32-C5",family:c},1675706479:{name:"ESP32-C5",family:c},752910447:{name:"ESP32-C6",family:g},606167151:{name:"ESP32-C61",family:p},871374959:{name:"ESP32-C61",family:p},1333878895:{name:"ESP32-C61",family:p},1913741423:{name:"ESP32-C61",family:p},2548236392:{name:"ESP32-H2",family:m},3619110528:{name:"ESP32-H2",family:m},0:{name:"ESP32-P4",family:w},117676761:{name:"ESP32-P4",family:w},182303440:{name:"ESP32-P4",family:w}},v=3e3,S=6e5,k=(t,e)=>{let a=Math.floor(t*(e/486));return a<v?v:a},z=t=>{switch(t){case o:return{regBase:1072963584,baseFuse:1073061888,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case _:return{regBase:1061167104,baseFuse:1061265408,macFuse:1061265476,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612856,flashOffs:4096};case d:return{regBase:1610620928,usrOffs:24,baseFuse:1610641408,macFuse:1610641476,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612864,flashOffs:0};case l:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case f:case u:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case c:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:8192};case g:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case p:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case m:return{regBase:1610625024,baseFuse:1610719232,macFuse:1610719300,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case w:return{regBase:1342754816,baseFuse:n,macFuse:1343410244,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1343004812,flashOffs:8192};default:return{regBase:-1,baseFuse:-1,macFuse:-1,usrOffs:-1,usr1Offs:-1,usr2Offs:-1,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:-1,uartDateReg:-1,flashOffs:-1}}};class R extends Error{constructor(t){super(t),this.name="SlipReadError"}}const F=async(e,a)=>{let s;return e==o?s=await import("./esp32-BNIFdu1P.js"):e==_?s=await import("./esp32s2-Bk4mqADi.js"):e==d?s=await import("./esp32s3-Df3OUCOC.js"):e==l?s=await import("./esp8266-CQFcqJ_a.js"):e==f?s=await import("./esp32c2-BqxquOKw.js"):e==u?s=await import("./esp32c3-BOOqe8me.js"):e==c?s=await import("./esp32c5-mcj52-K1.js"):e==g?s=await import("./esp32c6-Cg5qYgg7.js"):e==p?s=await import("./esp32c61-CzCdsydk.js"):e==m?s=await import("./esp32h2-DZa_lpff.js"):e==w&&(s=null!=a&&a>=300?await import("./esp32p4r3-Cle9QJmZ.js"):await import("./esp32p4-DyGqUAeZ.js")),{...s,text:t(atob(s.text)),data:t(atob(s.data))}};function E(t){let e=t.length;for(;--e>=0;)t[e]=0}const U=256,D=286,I=30,O=15,x=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),A=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),C=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),T=new Array(576);E(T);const P=new Array(60);E(P);const L=new Array(512);E(L);const Z=new Array(256);E(Z);const $=new Array(29);E($);const N=new Array(I);function M(t,e,a,s,i){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=s,this.max_length=i,this.has_stree=t&&t.length}let H,V,j;function W(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}E(N);const K=t=>t<256?L[t]:L[256+(t>>>7)],Y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},G=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,Y(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},q=(t,e,a)=>{G(t,a[2*e],a[2*e+1])},X=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},Q=(t,e,a)=>{const s=new Array(16);let i,r,n=0;for(i=1;i<=O;i++)n=n+a[i-1]<<1,s[i]=n;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=X(s[e]++,e))}},J=t=>{let e;for(e=0;e<D;e++)t.dyn_ltree[2*e]=0;for(e=0;e<I;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},tt=t=>{t.bi_valid>8?Y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},et=(t,e,a,s)=>{const i=2*e,r=2*a;return t[i]<t[r]||t[i]===t[r]&&s[e]<=s[a]},at=(t,e,a)=>{const s=t.heap[a];let i=a<<1;for(;i<=t.heap_len&&(i<t.heap_len&&et(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!et(e,s,t.heap[i],t.depth));)t.heap[a]=t.heap[i],a=i,i<<=1;t.heap[a]=s},st=(t,e,a)=>{let s,i,r,n,h=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+h++],s+=(255&t.pending_buf[t.sym_buf+h++])<<8,i=t.pending_buf[t.sym_buf+h++],0===s?q(t,i,e):(r=Z[i],q(t,r+U+1,e),n=x[r],0!==n&&(i-=$[r],G(t,i,n)),s--,r=K(s),q(t,r,a),n=A[r],0!==n&&(s-=N[r],G(t,s,n)))}while(h<t.sym_next);q(t,256,e)},it=(t,e)=>{const a=e.dyn_tree,s=e.stat_desc.static_tree,i=e.stat_desc.has_stree,r=e.stat_desc.elems;let n,h,l,o=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<r;n++)0!==a[2*n]?(t.heap[++t.heap_len]=o=n,t.depth[n]=0):a[2*n+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=o<2?++o:0,a[2*l]=1,t.depth[l]=0,t.opt_len--,i&&(t.static_len-=s[2*l+1]);for(e.max_code=o,n=t.heap_len>>1;n>=1;n--)at(t,a,n);l=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],at(t,a,1),h=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=h,a[2*l]=a[2*n]+a[2*h],t.depth[l]=(t.depth[n]>=t.depth[h]?t.depth[n]:t.depth[h])+1,a[2*n+1]=a[2*h+1]=l,t.heap[1]=l++,at(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,s=e.max_code,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.extra_bits,h=e.stat_desc.extra_base,l=e.stat_desc.max_length;let o,_,d,f,u,c,g=0;for(f=0;f<=O;f++)t.bl_count[f]=0;for(a[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)_=t.heap[o],f=a[2*a[2*_+1]+1]+1,f>l&&(f=l,g++),a[2*_+1]=f,_>s||(t.bl_count[f]++,u=0,_>=h&&(u=n[_-h]),c=a[2*_],t.opt_len+=c*(f+u),r&&(t.static_len+=c*(i[2*_+1]+u)));if(0!==g){do{for(f=l-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(f=l;0!==f;f--)for(_=t.bl_count[f];0!==_;)d=t.heap[--o],d>s||(a[2*d+1]!==f&&(t.opt_len+=(f-a[2*d+1])*a[2*d],a[2*d+1]=f),_--)}})(t,e),Q(a,o,t.bl_count)},rt=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),e[2*(a+1)+1]=65535,s=0;s<=a;s++)i=n,n=e[2*(s+1)+1],++h<l&&i===n||(h<o?t.bl_tree[2*i]+=h:0!==i?(i!==r&&t.bl_tree[2*i]++,t.bl_tree[32]++):h<=10?t.bl_tree[34]++:t.bl_tree[36]++,h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4))},nt=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),s=0;s<=a;s++)if(i=n,n=e[2*(s+1)+1],!(++h<l&&i===n)){if(h<o)do{q(t,i,t.bl_tree)}while(0!==--h);else 0!==i?(i!==r&&(q(t,i,t.bl_tree),h--),q(t,16,t.bl_tree),G(t,h-3,2)):h<=10?(q(t,17,t.bl_tree),G(t,h-3,3)):(q(t,18,t.bl_tree),G(t,h-11,7));h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4)}};let ht=!1;const lt=(t,e,a,s)=>{G(t,0+(s?1:0),3),tt(t),Y(t,a),Y(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var ot=(t,e,a,s)=>{let i,r,n=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<U;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),it(t,t.l_desc),it(t,t.d_desc),n=(t=>{let e;for(rt(t,t.dyn_ltree,t.l_desc.max_code),rt(t,t.dyn_dtree,t.d_desc.max_code),it(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*B[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=i&&(i=r)):i=r=a+5,a+4<=i&&-1!==e?lt(t,e,a,s):4===t.strategy||r===i?(G(t,2+(s?1:0),3),st(t,T,P)):(G(t,4+(s?1:0),3),((t,e,a,s)=>{let i;for(G(t,e-257,5),G(t,a-1,5),G(t,s-4,4),i=0;i<s;i++)G(t,t.bl_tree[2*B[i]+1],3);nt(t,t.dyn_ltree,e-1),nt(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),st(t,t.dyn_ltree,t.dyn_dtree)),J(t),s&&tt(t)},_t={_tr_init:t=>{ht||((()=>{let t,e,a,s,i;const r=new Array(16);for(a=0,s=0;s<28;s++)for($[s]=a,t=0;t<1<<x[s];t++)Z[a++]=s;for(Z[a-1]=s,i=0,s=0;s<16;s++)for(N[s]=i,t=0;t<1<<A[s];t++)L[i++]=s;for(i>>=7;s<I;s++)for(N[s]=i<<7,t=0;t<1<<A[s]-7;t++)L[256+i++]=s;for(e=0;e<=O;e++)r[e]=0;for(t=0;t<=143;)T[2*t+1]=8,t++,r[8]++;for(;t<=255;)T[2*t+1]=9,t++,r[9]++;for(;t<=279;)T[2*t+1]=7,t++,r[7]++;for(;t<=287;)T[2*t+1]=8,t++,r[8]++;for(Q(T,287,r),t=0;t<I;t++)P[2*t+1]=5,P[2*t]=X(t,5);H=new M(T,x,257,D,O),V=new M(P,A,0,I,O),j=new M(new Array(0),C,0,19,7)})(),ht=!0),t.l_desc=new W(t.dyn_ltree,H),t.d_desc=new W(t.dyn_dtree,V),t.bl_desc=new W(t.bl_tree,j),t.bi_buf=0,t.bi_valid=0,J(t)},_tr_stored_block:lt,_tr_flush_block:ot,_tr_tally:(t,e,a)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(Z[a]+U+1)]++,t.dyn_dtree[2*K(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{G(t,2,3),q(t,256,T),(t=>{16===t.bi_valid?(Y(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var dt=(t,e,a,s)=>{let i=65535&t,r=t>>>16&65535,n=0;for(;0!==a;){n=a>2e3?2e3:a,a-=n;do{i=i+e[s++]|0,r=r+i|0}while(--n);i%=65521,r%=65521}return i|r<<16};const ft=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var s=0;s<8;s++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var ut=(t,e,a,s)=>{const i=ft,r=s+a;t^=-1;for(let a=s;a<r;a++)t=t>>>8^i[255&(t^e[a])];return-1^t},ct={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},gt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:pt,_tr_stored_block:mt,_tr_flush_block:wt,_tr_tally:yt,_tr_align:bt}=_t,{Z_NO_FLUSH:vt,Z_PARTIAL_FLUSH:St,Z_FULL_FLUSH:kt,Z_FINISH:zt,Z_BLOCK:Rt,Z_OK:Ft,Z_STREAM_END:Et,Z_STREAM_ERROR:Ut,Z_DATA_ERROR:Dt,Z_BUF_ERROR:It,Z_DEFAULT_COMPRESSION:Ot,Z_FILTERED:xt,Z_HUFFMAN_ONLY:At,Z_RLE:Ct,Z_FIXED:Bt,Z_DEFAULT_STRATEGY:Tt,Z_UNKNOWN:Pt,Z_DEFLATED:Lt}=gt,Zt=258,$t=262,Nt=42,Mt=113,Ht=666,Vt=(t,e)=>(t.msg=ct[e],e),jt=t=>2*t-(t>4?9:0),Wt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Kt=t=>{let e,a,s,i=t.w_size;e=t.hash_size,s=e;do{a=t.head[--s],t.head[s]=a>=i?a-i:0}while(--e);e=i,s=e;do{a=t.prev[--s],t.prev[s]=a>=i?a-i:0}while(--e)};let Yt=(t,e,a)=>(e<<t.hash_shift^a)&t.hash_mask;const Gt=t=>{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},qt=(t,e)=>{wt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Gt(t.strm)},Xt=(t,e)=>{t.pending_buf[t.pending++]=e},Qt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Jt=(t,e,a,s)=>{let i=t.avail_in;return i>s&&(i=s),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),a),1===t.state.wrap?t.adler=dt(t.adler,e,i,a):2===t.state.wrap&&(t.adler=ut(t.adler,e,i,a)),t.next_in+=i,t.total_in+=i,i)},te=(t,e)=>{let a,s,i=t.max_chain_length,r=t.strstart,n=t.prev_length,h=t.nice_match;const l=t.strstart>t.w_size-$t?t.strstart-(t.w_size-$t):0,o=t.window,_=t.w_mask,d=t.prev,f=t.strstart+Zt;let u=o[r+n-1],c=o[r+n];t.prev_length>=t.good_match&&(i>>=2),h>t.lookahead&&(h=t.lookahead);do{if(a=e,o[a+n]===c&&o[a+n-1]===u&&o[a]===o[r]&&o[++a]===o[r+1]){r+=2,a++;do{}while(o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&r<f);if(s=Zt-(f-r),r=f-Zt,s>n){if(t.match_start=e,n=s,s>=h)break;u=o[r+n-1],c=o[r+n]}}}while((e=d[e&_])>l&&0!==--i);return n<=t.lookahead?n:t.lookahead},ee=t=>{const e=t.w_size;let a,s,i;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-$t)&&(t.window.set(t.window.subarray(e,e+e-s),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Kt(t),s+=e),0===t.strm.avail_in)break;if(a=Jt(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=a,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Yt(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Yt(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<$t&&0!==t.strm.avail_in)},ae=(t,e)=>{let a,s,i,r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,n=0,h=t.strm.avail_in;do{if(a=65535,i=t.bi_valid+42>>3,t.strm.avail_out<i)break;if(i=t.strm.avail_out-i,s=t.strstart-t.block_start,a>s+t.strm.avail_in&&(a=s+t.strm.avail_in),a>i&&(a=i),a<r&&(0===a&&e!==zt||e===vt||a!==s+t.strm.avail_in))break;n=e===zt&&a===s+t.strm.avail_in?1:0,mt(t,0,0,n),t.pending_buf[t.pending-4]=a,t.pending_buf[t.pending-3]=a>>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,Gt(t.strm),s&&(s>a&&(s=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+s),t.strm.next_out),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s,t.block_start+=s,a-=s),a&&(Jt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===n);return h-=t.strm.avail_in,h&&(h>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=h&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-h,t.strm.next_in),t.strstart),t.strstart+=h,t.insert+=h>t.w_size-t.insert?t.w_size-t.insert:h),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),n?4:e!==vt&&e!==zt&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(i=t.window_size-t.strstart,t.strm.avail_in>i&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(Jt(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water<t.strstart&&(t.high_water=t.strstart),i=t.bi_valid+42>>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,r=i>t.w_size?t.w_size:i,s=t.strstart-t.block_start,(s>=r||(s||e===zt)&&e!==vt&&0===t.strm.avail_in&&s<=i)&&(a=s>i?i:s,n=e===zt&&0===t.strm.avail_in&&a===s?1:0,mt(t,t.block_start,a,n),t.block_start+=a,Gt(t.strm)),n?3:1)},se=(t,e)=>{let a,s;for(;;){if(t.lookahead<$t){if(ee(t),t.lookahead<$t&&e===vt)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-$t&&(t.match_length=te(t,a)),t.match_length>=3)if(s=yt(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+1]);else s=yt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(qt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2},ie=(t,e)=>{let a,s,i;for(;;){if(t.lookahead<$t){if(ee(t),t.lookahead<$t&&e===vt)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-$t&&(t.match_length=te(t,a),t.match_length<=5&&(t.strategy===xt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,s=yt(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=Yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!==--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,s&&(qt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=yt(t,0,t.window[t.strstart-1]),s&&qt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(s=yt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2};function re(t,e,a,s,i){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=s,this.func=i}const ne=[new re(0,0,0,0,ae),new re(4,4,8,4,se),new re(4,5,16,8,se),new re(4,6,32,32,se),new re(4,4,16,16,ie),new re(8,16,32,32,ie),new re(8,16,128,128,ie),new re(8,32,128,256,ie),new re(32,128,258,1024,ie),new re(32,258,258,4096,ie)];function he(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Lt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Wt(this.dyn_ltree),Wt(this.dyn_dtree),Wt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Wt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Wt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const le=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Nt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Mt&&e.status!==Ht?1:0},oe=t=>{if(le(t))return Vt(t,Ut);t.total_in=t.total_out=0,t.data_type=Pt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?Nt:Mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,pt(e),Ft},_e=t=>{const e=oe(t);var a;return e===Ft&&((a=t.state).window_size=2*a.w_size,Wt(a.head),a.max_lazy_match=ne[a.level].max_lazy,a.good_match=ne[a.level].good_length,a.nice_match=ne[a.level].nice_length,a.max_chain_length=ne[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},de=(t,e,a,s,i,r)=>{if(!t)return Ut;let n=1;if(e===Ot&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),i<1||i>9||a!==Lt||s<8||s>15||e<0||e>9||r<0||r>Bt||8===s&&1!==n)return Vt(t,Ut);8===s&&(s=9);const h=new he;return t.state=h,h.strm=t,h.status=Nt,h.wrap=n,h.gzhead=null,h.w_bits=s,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=i+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new Uint8Array(2*h.w_size),h.head=new Uint16Array(h.hash_size),h.prev=new Uint16Array(h.w_size),h.lit_bufsize=1<<i+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new Uint8Array(h.pending_buf_size),h.sym_buf=h.lit_bufsize,h.sym_end=3*(h.lit_bufsize-1),h.level=e,h.strategy=r,h.method=a,_e(t)};var fe={deflateInit:(t,e)=>de(t,e,Lt,15,8,Tt),deflateInit2:de,deflateReset:_e,deflateResetKeep:oe,deflateSetHeader:(t,e)=>le(t)||2!==t.state.wrap?Ut:(t.state.gzhead=e,Ft),deflate:(t,e)=>{if(le(t)||e>Rt||e<0)return t?Vt(t,Ut):Ut;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===Ht&&e!==zt)return Vt(t,0===t.avail_out?It:Ut);const s=a.last_flush;if(a.last_flush=e,0!==a.pending){if(Gt(t),0===t.avail_out)return a.last_flush=-1,Ft}else if(0===t.avail_in&&jt(e)<=jt(s)&&e!==zt)return Vt(t,It);if(a.status===Ht&&0!==t.avail_in)return Vt(t,It);if(a.status===Nt&&0===a.wrap&&(a.status=Mt),a.status===Nt){let e=Lt+(a.w_bits-8<<4)<<8,s=-1;if(s=a.strategy>=At||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=s<<6,0!==a.strstart&&(e|=32),e+=31-e%31,Qt(a,e),0!==a.strstart&&(Qt(a,t.adler>>>16),Qt(a,65535&t.adler)),t.adler=1,a.status=Mt,Gt(t),0!==a.pending)return a.last_flush=-1,Ft}if(57===a.status)if(t.adler=0,Xt(a,31),Xt(a,139),Xt(a,8),a.gzhead)Xt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),Xt(a,255&a.gzhead.time),Xt(a,a.gzhead.time>>8&255),Xt(a,a.gzhead.time>>16&255),Xt(a,a.gzhead.time>>24&255),Xt(a,9===a.level?2:a.strategy>=At||a.level<2?4:0),Xt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(Xt(a,255&a.gzhead.extra.length),Xt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=ut(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(Xt(a,0),Xt(a,0),Xt(a,0),Xt(a,0),Xt(a,0),Xt(a,9===a.level?2:a.strategy>=At||a.level<2?4:0),Xt(a,3),a.status=Mt,Gt(t),0!==a.pending)return a.last_flush=-1,Ft;if(69===a.status){if(a.gzhead.extra){let e=a.pending,s=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+s>a.pending_buf_size;){let i=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=ut(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=i,Gt(t),0!==a.pending)return a.last_flush=-1,Ft;e=0,s-=i}let i=new Uint8Array(a.gzhead.extra);a.pending_buf.set(i.subarray(a.gzindex,a.gzindex+s),a.pending),a.pending+=s,a.gzhead.hcrc&&a.pending>e&&(t.adler=ut(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s)),Gt(t),0!==a.pending)return a.last_flush=-1,Ft;s=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,Xt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s)),Gt(t),0!==a.pending)return a.last_flush=-1,Ft;s=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,Xt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=ut(t.adler,a.pending_buf,a.pending-s,s))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(Gt(t),0!==a.pending))return a.last_flush=-1,Ft;Xt(a,255&t.adler),Xt(a,t.adler>>8&255),t.adler=0}if(a.status=Mt,Gt(t),0!==a.pending)return a.last_flush=-1,Ft}if(0!==t.avail_in||0!==a.lookahead||e!==vt&&a.status!==Ht){let s=0===a.level?ae(a,e):a.strategy===At?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(ee(t),0===t.lookahead)){if(e===vt)return 1;break}if(t.match_length=0,a=yt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(qt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===Ct?((t,e)=>{let a,s,i,r;const n=t.window;for(;;){if(t.lookahead<=Zt){if(ee(t),t.lookahead<=Zt&&e===vt)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,s=n[i],s===n[++i]&&s===n[++i]&&s===n[++i])){r=t.strstart+Zt;do{}while(s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&i<r);t.match_length=Zt-(r-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=yt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=yt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(qt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zt?(qt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qt(t,!1),0===t.strm.avail_out)?1:2})(a,e):ne[a.level].func(a,e);if(3!==s&&4!==s||(a.status=Ht),1===s||3===s)return 0===t.avail_out&&(a.last_flush=-1),Ft;if(2===s&&(e===St?bt(a):e!==Rt&&(mt(a,0,0,!1),e===kt&&(Wt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),Gt(t),0===t.avail_out))return a.last_flush=-1,Ft}return e!==zt?Ft:a.wrap<=0?Et:(2===a.wrap?(Xt(a,255&t.adler),Xt(a,t.adler>>8&255),Xt(a,t.adler>>16&255),Xt(a,t.adler>>24&255),Xt(a,255&t.total_in),Xt(a,t.total_in>>8&255),Xt(a,t.total_in>>16&255),Xt(a,t.total_in>>24&255)):(Qt(a,t.adler>>>16),Qt(a,65535&t.adler)),Gt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Ft:Et)},deflateEnd:t=>{if(le(t))return Ut;const e=t.state.status;return t.state=null,e===Mt?Vt(t,Dt):Ft},deflateSetDictionary:(t,e)=>{let a=e.length;if(le(t))return Ut;const s=t.state,i=s.wrap;if(2===i||1===i&&s.status!==Nt||s.lookahead)return Ut;if(1===i&&(t.adler=dt(t.adler,e,a,0)),s.wrap=0,a>=s.w_size){0===i&&(Wt(s.head),s.strstart=0,s.block_start=0,s.insert=0);let t=new Uint8Array(s.w_size);t.set(e.subarray(a-s.w_size,a),0),e=t,a=s.w_size}const r=t.avail_in,n=t.next_in,h=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,ee(s);s.lookahead>=3;){let t=s.strstart,e=s.lookahead-2;do{s.ins_h=Yt(s,s.ins_h,s.window[t+3-1]),s.prev[t&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=t,t++}while(--e);s.strstart=t,s.lookahead=2,ee(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,t.next_in=n,t.input=h,t.avail_in=r,s.wrap=i,Ft},deflateInfo:"pako deflate (from Nodeca project)"};const ue=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var ce=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)ue(a,e)&&(t[e]=a[e])}}return t},ge=t=>{let e=0;for(let a=0,s=t.length;a<s;a++)e+=t[a].length;const a=new Uint8Array(e);for(let e=0,s=0,i=t.length;e<i;e++){let i=t[e];a.set(i,s),s+=i.length}return a};let pe=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){pe=!1}const me=new Uint8Array(256);for(let t=0;t<256;t++)me[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;me[254]=me[254]=1;var we=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,s,i,r,n=t.length,h=0;for(i=0;i<n;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),h+=a<128?1:a<2048?2:a<65536?3:4;for(e=new Uint8Array(h),r=0,i=0;r<h;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),a<128?e[r++]=a:a<2048?(e[r++]=192|a>>>6,e[r++]=128|63&a):a<65536?(e[r++]=224|a>>>12,e[r++]=128|a>>>6&63,e[r++]=128|63&a):(e[r++]=240|a>>>18,e[r++]=128|a>>>12&63,e[r++]=128|a>>>6&63,e[r++]=128|63&a);return e};var ye=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const be=Object.prototype.toString,{Z_NO_FLUSH:ve,Z_SYNC_FLUSH:Se,Z_FULL_FLUSH:ke,Z_FINISH:ze,Z_OK:Re,Z_STREAM_END:Fe,Z_DEFAULT_COMPRESSION:Ee,Z_DEFAULT_STRATEGY:Ue,Z_DEFLATED:De}=gt;function Ie(t){this.options=ce({level:Ee,method:De,chunkSize:16384,windowBits:15,memLevel:8,strategy:Ue},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new ye,this.strm.avail_out=0;let a=fe.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Re)throw new Error(ct[a]);if(e.header&&fe.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?we(e.dictionary):"[object ArrayBuffer]"===be.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=fe.deflateSetDictionary(this.strm,t),a!==Re)throw new Error(ct[a]);this._dict_set=!0}}Ie.prototype.push=function(t,e){const a=this.strm,s=this.options.chunkSize;let i,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?ze:ve,"string"==typeof t?a.input=we(t):"[object ArrayBuffer]"===be.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(r===Se||r===ke)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(i=fe.deflate(a,r),i===Fe)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),i=fe.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Re;if(0!==a.avail_out){if(r>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Ie.prototype.onData=function(t){this.chunks.push(t)},Ie.prototype.onEnd=function(t){t===Re&&(this.result=ge(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Oe={deflate:function(t,e){const a=new Ie(e);if(a.push(t,!0),a.err)throw a.msg||ct[a.err];return a.result}};const{deflate:xe}=Oe;var Ae=xe;const Ce={b:{u:DataView.prototype.getInt8,p:DataView.prototype.setInt8,bytes:1},B:{u:DataView.prototype.getUint8,p:DataView.prototype.setUint8,bytes:1},h:{u:DataView.prototype.getInt16,p:DataView.prototype.setInt16,bytes:2},H:{u:DataView.prototype.getUint16,p:DataView.prototype.setUint16,bytes:2},i:{u:DataView.prototype.getInt32,p:DataView.prototype.setInt32,bytes:4},I:{u:DataView.prototype.getUint32,p:DataView.prototype.setUint32,bytes:4},q:{u:DataView.prototype.getInt64,p:DataView.prototype.setInt64,bytes:8},Q:{u:DataView.prototype.getUint64,p:DataView.prototype.setUint64,bytes:8}},Be=(t,...e)=>{let a=0;if(t.replace(/[<>]/,"").length!=e.length)throw"Pack format to Argument count mismatch";let s=[],i=!0;for(let s=0;s<t.length;s++)"<"==t[s]?i=!0:">"==t[s]?i=!1:(r(t[s],e[a]),a++);function r(t,e){if(!(t in Ce))throw"Unhandled character '"+t+"' in pack format";let a=Ce[t].bytes,r=new DataView(new ArrayBuffer(a));Ce[t].p.bind(r)(0,e,i);for(let t=0;t<a;t++)s.push(r.getUint8(t))}return s},Te=(t,e)=>{let a=0,s=[],i=!0;for(let e of t)"<"==e?i=!0:">"==e?i=!1:r(e);function r(t){if(!(t in Ce))throw"Unhandled character '"+t+"' in unpack format";let r=Ce[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[a+t]);let h=Ce[t].u.bind(n);s.push(h(0,i)),a+=r}return s};class Pe extends EventTarget{constructor(t,e,a){super(),this.port=t,this.logger=e,this._parent=a,this.chipName=null,this.chipRevision=null,this.chipVariant=null,this._efuses=new Array(4).fill(0),this._flashsize=4194304,this.debug=!1,this.IS_STUB=!1,this.connected=!0,this.flashSize=null,this.state_DTR=!1}get _inputBuffer(){return this._parent?this._parent._inputBuffer:this.__inputBuffer}async initialize(){await this.hardReset(!0),this._parent||(this.__inputBuffer=[],this.readLoop()),await this.sync(),await this.detectChip();let t=z(this.getChipFamily()).macFuse;for(let e=0;e<4;e++)this._efuses[e]=await this.readRegister(t+4*e);this.logger.log(`Chip type ${this.chipName}`)}async detectChip(){try{const t=(await this.getSecurityInfo()).chipId,e=y[t];if(e)return this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===w&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),void this.logger.debug(`Detected chip via IMAGE_CHIP_ID: ${t} (${this.chipName})`);this.logger.debug(`Unknown IMAGE_CHIP_ID: ${t}, falling back to magic value detection`)}catch(t){this.logger.debug(`GET_SECURITY_INFO failed, using magic value detection: ${t}`),this._inputBuffer.length=0,await s(100);try{await this.sync()}catch(t){this.logger.debug(`Re-sync after GET_SECURITY_INFO failure: ${t}`)}}let t=await this.readRegister(1073745920),e=b[t>>>0];if(void 0===e)throw new Error(`Unknown Chip: Hex: ${a(t>>>0,8).toLowerCase()} Number: ${t}`);this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===w&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),this.logger.debug(`Detected chip via magic value: ${a(t>>>0,8)} (${this.chipName})`)}async getChipRevision(){if(this.chipFamily!==w)return 0;const t=await this.readRegister(1343410252);return 100*((t>>23&1)<<2|t>>4&3)+(15&t)}async getSecurityInfo(){const[t,e]=await this.checkCommand(20,[],0);if(0===e.length)throw new Error("GET_SECURITY_INFO not supported or returned empty response");if(e.length<12)throw new Error(`Invalid security info response length: ${e.length} (expected at least 12 bytes)`);return{flags:Te("<I",e.slice(0,4))[0],flashCryptCnt:e[4],keyPurposes:Array.from(e.slice(5,12)),chipId:e.length>=16?Te("<I",e.slice(12,16))[0]:0,apiVersion:e.length>=20?Te("<I",e.slice(16,20))[0]:0}}async readLoop(){this.debug&&this.logger.debug("Starting read loop"),this._reader=this.port.readable.getReader();try{for(;;){const{value:t,done:e}=await this._reader.read();if(e){this._reader.releaseLock();break}t&&0!==t.length&&this._inputBuffer.push(...Array.from(t))}}catch(t){console.error("Read loop got disconnected")}this.connected=!1,this.dispatchEvent(new Event("disconnect")),this.logger.debug("Finished read loop")}sleep(t=100){return new Promise(e=>setTimeout(e,t))}async setRTS(t){await this.port.setSignals({requestToSend:t}),await this.setDTR(this.state_DTR)}async setDTR(t){this.state_DTR=t,await this.port.setSignals({dataTerminalReady:t})}async hardReset(t=!1){this.logger.log("Try hard reset."),t?4097===this.port.getInfo().usbProductId?(await this.setDTR(!1),await this.setRTS(!1),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(100),await this.setRTS(!0),await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!1),await this.setRTS(!1)):(await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(50),await this.setDTR(!1)):(await this.setRTS(!0),await this.sleep(100),await this.setRTS(!1)),await new Promise(t=>setTimeout(t,1e3))}macAddr(){let t,e=new Array(6).fill(0),a=this._efuses[0],s=this._efuses[1],i=this._efuses[2],r=this._efuses[3];if(this.chipFamily==l){if(0!=r)t=[r>>16&255,r>>8&255,255&r];else if(s>>16&255){if(1!=(s>>16&255))throw new Error("Couldnt determine OUI");t=[172,208,116]}else t=[24,254,52];e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=s>>8&255,e[4]=255&s,e[5]=a>>24&255}else if(this.chipFamily==o)e[0]=i>>8&255,e[1]=255&i,e[2]=s>>24&255,e[3]=s>>16&255,e[4]=s>>8&255,e[5]=255&s;else{if(this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=p&&this.chipFamily!=m&&this.chipFamily!=w)throw new Error("Unknown chip family");e[0]=s>>8&255,e[1]=255&s,e[2]=a>>24&255,e[3]=a>>16&255,e[4]=a>>8&255,e[5]=255&a}return e}async readRegister(t){this.debug&&this.logger.debug("Reading from Register "+a(t,8));let e=Be("<I",t);await this.sendCommand(10,e);let[s,i]=await this.getResponse(10);return s}async checkCommand(t,e,s=0,i=3e3){i=Math.min(i,12e5),await this.sendCommand(t,e,s);let[r,n]=await this.getResponse(t,i);if(null===n)throw new Error("Didn't get enough status bytes");let h=0;if(this.IS_STUB||this.chipFamily==l?h=2:[o,_,d,f,u,c,g,p,m,w].includes(this.chipFamily)||20===t?h=4:[2,4].includes(n.length)&&(h=n.length),n.length<h)throw new Error("Didn't get enough status bytes");let y=n.slice(-h,n.length);if(n=n.slice(0,-h),this.debug&&(this.logger.debug("status",y),this.logger.debug("value",r),this.logger.debug("data",n)),1==y[0])throw 5==y[1]?new Error("Invalid (unsupported) command "+a(t)):new Error("Command failure error code "+a(y[1]));return[r,n]}async sendCommand(t,e,a=0){let s=(t=>{let e=[192];for(let a of t)219==a?e=e.concat([219,221]):192==a?e=e.concat([219,220]):e.push(a);return e.push(192),e})([...Be("<BBHI",0,t,e.length,a),...e]);this.debug&&this.logger.debug(`Writing ${s.length} byte${1==s.length?"":"s"}:`,s),await this.writeToStream(s)}async readPacket(t){let i=null,r=!1,n=[];for(;;){let h=Date.now();for(n=[];Date.now()-h<t;){if(this._inputBuffer.length>0){n.push(this._inputBuffer.shift());break}await s(10)}if(0==n.length){throw new R("Timed out waiting for packet "+(null===i?"header":"content"))}this.debug&&this.logger.debug("Read "+n.length+" bytes: "+e(n));for(let t of n)if(null===i){if(192!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+e(n)),this.logger.debug("Remaining data in serial buffer: "+e(this._inputBuffer))),new R("Invalid head of packet ("+a(t)+")");i=[]}else if(r)if(r=!1,220==t)i.push(192);else{if(221!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+e(n)),this.logger.debug("Remaining data in serial buffer: "+e(this._inputBuffer))),new R("Invalid SLIP escape (0xdb, "+a(t)+")");i.push(219)}else if(219==t)r=!0;else{if(192==t)return this.debug&&this.logger.debug("Received full packet: "+e(i)),i;i.push(t)}}throw new R("Invalid state")}async getResponse(t,e=3e3){for(let s=0;s<100;s++){const s=await this.readPacket(e);if(s.length<8)continue;const[i,r,n,h]=Te("<BBHI",s.slice(0,8));if(1!=i)continue;const l=s.slice(8);if(null==t||r==t)return[h,l];if(0!=l[0]&&5==l[1])throw this._inputBuffer.length=0,new Error(`Invalid (unsupported) command ${a(t)}`)}throw"Response doesn't match request"}checksum(t,e=239){for(let a of t)e^=a;return e}async setBaudrate(t){if(this.chipFamily==l)throw new Error("Changing baud rate is not supported on the ESP8266");this.logger.log("Attempting to change baud rate to "+t+"...");try{let e=Be("<II",t,this.IS_STUB?r:0);await this.checkCommand(15,e)}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: No response from set baud rate command.`)}this._parent?await this._parent.reconfigurePort(t):await this.reconfigurePort(t),this.logger.log(`Changed baud rate to ${t}`)}async reconfigurePort(t){var e;try{await(null===(e=this._reader)||void 0===e?void 0:e.cancel()),await this.port.close(),await this.port.open({baudRate:t}),this.readLoop()}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: ${e}`)}}async sync(){for(let t=0;t<5;t++){if(this._inputBuffer.length=0,await this._sync())return await s(100),!0;await s(100)}throw new Error("Couldn't sync to ESP. Try resetting.")}async _sync(){await this.sendCommand(8,h);for(let t=0;t<8;t++)try{let[t,e]=await this.getResponse(8,100);if(e.length>1&&0==e[0]&&0==e[1])return!0}catch(t){}return!1}getFlashWriteSize(){return this.IS_STUB?16384:1024}async flashData(t,e,s=0,i=!1){if(t.byteLength>=8){var r=Array.from(new Uint8Array(t,0,4));let e=r[0],s=r[2],i=r[3];this.logger.log(`Image header, Magic=${a(e)}, FlashMode=${a(s)}, FlashSizeFreq=${a(i)}`)}let n,h=t.byteLength,l=0,o=v;i?(n=Ae(new Uint8Array(t),{level:9}).buffer,l=n.byteLength,this.logger.log(`Writing data with filesize: ${h}. Compressed Size: ${l}`),o=await this.flashDeflBegin(h,l,s)):(this.logger.log(`Writing data with filesize: ${h}`),n=t,await this.flashBegin(h,s));let _=[],d=0,f=0,u=0,c=Date.now(),g=this.getFlashWriteSize(),p=i?l:h;for(;p-u>0;)this.debug&&this.logger.log(`Writing at ${a(s+d*g,8)} `),p-u>=g?_=Array.from(new Uint8Array(n,u,g)):(_=Array.from(new Uint8Array(n,u,p-u)),i||(_=_.concat(new Array(g-_.length).fill(255)))),i?await this.flashDeflBlock(_,d,o):await this.flashBlock(_,d),d+=1,f+=i?Math.round(_.length*h/l):_.length,u+=g,e(Math.min(f,h),h);this.logger.log("Took "+(Date.now()-c)+"ms to write "+p+" bytes"),this.IS_STUB&&(await this.flashBegin(0,0),i?await this.flashDeflFinish():await this.flashFinish())}async flashBlock(t,e,a=3e3){await this.checkCommand(3,Be("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashDeflBlock(t,e,a=3e3){await this.checkCommand(17,Be("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashBegin(t=0,e=0,s=!1){let i,r,n=this.getFlashWriteSize();!this.IS_STUB&&[o,_,d,f,u,c,g,p,m,w].includes(this.chipFamily)&&await this.checkCommand(13,new Array(8).fill(0));let h,y=Math.floor((t+n-1)/n);i=this.chipFamily==l?this.getEraseSize(e,t):t,h=this.IS_STUB?v:k(3e4,t);let b=Date.now();return r=Be("<IIII",i,y,n,e),this.chipFamily!=o&&this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=p&&this.chipFamily!=m&&this.chipFamily!=w||(r=r.concat(Be("<I",s?1:0))),this.logger.log("Erase size "+i+", blocks "+y+", block size "+a(n,4)+", offset "+a(e,4)+", encrypted "+(s?"yes":"no")),await this.checkCommand(2,r,0,h),0==t||this.IS_STUB||this.logger.log("Took "+(Date.now()-b)+"ms to erase "+y+" bytes"),y}async flashDeflBegin(t=0,e=0,a=0,s=!1){let i,r=this.getFlashWriteSize(),n=Math.floor((e+r-1)/r),h=Math.floor((t+r-1)/r),l=0,o=0;return this.IS_STUB?(l=t,o=k(3e4,l)):(l=h*r,o=v),i=Be("<IIII",l,n,r,a),await this.checkCommand(16,i,0,o),o}async flashFinish(){let t=Be("<I",1);await this.checkCommand(4,t)}async flashDeflFinish(){let t=Be("<I",1);await this.checkCommand(18,t)}getBootloaderOffset(){return z(this.getChipFamily()).flashOffs}async flashId(){return await this.runSpiFlashCommand(159,[],24)}getChipFamily(){return this._parent?this._parent.chipFamily:this.chipFamily}async writeRegister(t,e,a=4294967295,s=0,i=0){let r=Be("<IIII",t,e,a,s);i>0&&r.concat(Be("<IIII",z(this.getChipFamily()).uartDateReg,0,0,i)),await this.checkCommand(9,r)}async setDataLengths(t,e,a){if(-1!=t.mosiDlenOffs){let s=t.regBase+t.mosiDlenOffs,i=t.regBase+t.misoDlenOffs;e>0&&await this.writeRegister(s,e-1),a>0&&await this.writeRegister(i,a-1)}else{let s=t.regBase+t.usr1Offs,i=(0==a?0:a-1)<<8|(0==e?0:e-1)<<17;await this.writeRegister(s,i)}}async waitDone(t,e){for(let a=0;a<10;a++){if(0==(await this.readRegister(t)&e))return}throw Error("SPI command did not complete in time")}async runSpiFlashCommand(t,e,s=0){let i=z(this.getChipFamily()),r=i.regBase,n=r,h=r+i.usrOffs,l=r+i.usr2Offs,o=r+i.w0Offs,_=1<<18;if(s>32)throw new Error("Reading more than 32 bits back from a SPI flash operation is unsupported");if(e.length>64)throw new Error("Writing more than 64 bytes of data with one SPI command is unsupported");let d=8*e.length,f=await this.readRegister(h),u=await this.readRegister(l),c=1<<31;if(s>0&&(c|=268435456),d>0&&(c|=134217728),await this.setDataLengths(i,d,s),await this.writeRegister(h,c),await this.writeRegister(l,7<<28|t),0==d)await this.writeRegister(o,0);else{e.concat(new Array(e.length%4).fill(0));let t=Te("I".repeat(Math.floor(e.length/4)),e),s=o;this.logger.debug(`Words Length: ${t.length}`);for(const e of t)this.logger.debug(`Writing word ${a(e)} to register offset ${a(s)}`),await this.writeRegister(s,e),s+=4}await this.writeRegister(n,_),await this.waitDone(n,_);let g=await this.readRegister(o);return await this.writeRegister(h,f),await this.writeRegister(l,u),g}async detectFlashSize(){this.logger.log("Detecting Flash Size");let t=await this.flashId(),e=255&t,s=t>>16&255;this.logger.log(`FlashId: ${a(t)}`),this.logger.log(`Flash Manufacturer: ${e.toString(16)}`),this.logger.log(`Flash Device: ${(t>>8&255).toString(16)}${s.toString(16)}`),this.flashSize=i[s],this.logger.log(`Auto-detected Flash size: ${this.flashSize}`)}getEraseSize(t,e){let a=4096,s=Math.floor((e+a-1)/a),i=16-Math.floor(t/a)%16;return s<i&&(i=s),s<2*i?Math.floor((s+1)/2*a):(s-i)*a}async memBegin(t,e,a,s){return await this.checkCommand(5,Be("<IIII",t,e,a,s))}async memBlock(t,e){return await this.checkCommand(7,Be("<IIII",t.length,e,0,0).concat(t),this.checksum(t))}async memFinish(t=0){let e=this.IS_STUB?v:500,a=Be("<II",0==t?1:0,t);return await this.checkCommand(6,a,0,e)}async runStub(){const t=await F(this.chipFamily,this.chipRevision);let e,a=2048;this.logger.log("Uploading stub...");for(let e of["text","data"])if(Object.keys(t).includes(e)){let s=t[e+"_start"],i=t[e].length,r=Math.floor((i+a-1)/a);await this.memBegin(i,r,a,s);for(let s of Array(r).keys()){let r=s*a,n=r+a;n>i&&(n=i),await this.memBlock(t[e].slice(r,n),s)}}this.logger.log("Running stub..."),await this.memFinish(t.entry);const s=await this.readPacket(500);if(e=String.fromCharCode(...s),"OHAI"!=e)throw new Error("Failed to start stub. Unexpected response: "+e);this.logger.log("Stub is now running...");const i=new Le(this.port,this.logger,this);return await i.detectFlashSize(),i}async writeToStream(t){const e=this.port.writable.getWriter();await e.write(new Uint8Array(t));try{e.releaseLock()}catch(t){console.error("Ignoring release lock error",t)}}async disconnect(){this._parent?await this._parent.disconnect():(await this.port.writable.getWriter().close(),await new Promise(t=>{this._reader||t(void 0),this.addEventListener("disconnect",t,{once:!0}),this._reader.cancel()}),this.connected=!1)}}class Le extends Pe{constructor(){super(...arguments),this.IS_STUB=!0}async memBegin(t,e,s,i){let r=await F(this.chipFamily,this.chipRevision),n=i,h=i+t;console.log(n,h),console.log(r.data_start,r.data.length,r.text_start,r.text.length);for(let[t,e]of[[r.data_start,r.data_start+r.data.length],[r.text_start,r.text_start+r.text.length]])if(n<e&&h>t)throw new Error("Software loader is resident at "+a(t,8)+"-"+a(e,8)+". Can't load binary at overlapping address range "+a(n,8)+"-"+a(h,8)+". Try changing the binary loading address.")}async eraseFlash(){await this.checkCommand(208,[],0,S)}}const Ze=async t=>{const e=await navigator.serial.requestPort();return t.log("Connecting..."),await e.open({baudRate:r}),t.log("Connected successfully."),new Pe(e,t)};export{o as CHIP_FAMILY_ESP32,f as CHIP_FAMILY_ESP32C2,u as CHIP_FAMILY_ESP32C3,c as CHIP_FAMILY_ESP32C5,g as CHIP_FAMILY_ESP32C6,p as CHIP_FAMILY_ESP32C61,m as CHIP_FAMILY_ESP32H2,w as CHIP_FAMILY_ESP32P4,_ as CHIP_FAMILY_ESP32S2,d as CHIP_FAMILY_ESP32S3,l as CHIP_FAMILY_ESP8266,Pe as ESPLoader,Ze as connect};
1
+ const t=t=>{let e=[192];for(let a of t)219==a?e=e.concat([219,221]):192==a?e=e.concat([219,220]):e.push(a);return e.push(192),e},e=t=>{let e=[];for(let a=0;a<t.length;a++){let s=t.charCodeAt(a);s<=255&&e.push(s)}return e},a=t=>"["+t.map(t=>s(t)).join(", ")+"]",s=(t,e=2)=>{let a=t.toString(16).toUpperCase();return a.startsWith("-")?"-0x"+a.substring(1).padStart(e,"0"):"0x"+a.padStart(e,"0")},i=t=>new Promise(e=>setTimeout(e,t)),r={18:"256KB",19:"512KB",20:"1MB",21:"2MB",22:"4MB",23:"8MB",24:"16MB",25:"32MB",26:"64MB",27:"128MB",28:"256MB",32:"64MB",33:"128MB",34:"256MB",50:"256KB",51:"512KB",52:"1MB",53:"2MB",54:"4MB",55:"8MB",56:"16MB",57:"32MB",58:"64MB"},n=115200,h=1343410176,l=e(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),o=33382,d=50,f=12882,_=12883,u=12994,c=12995,g=12997,m=12998,p=207969,w=12914,y=12916,b=12917,S=12928,v=12849,R={5:{name:"ESP32-C3",family:c},9:{name:"ESP32-S3",family:_},12:{name:"ESP32-C2",family:u},13:{name:"ESP32-C6",family:m},16:{name:"ESP32-H2",family:w},18:{name:"ESP32-P4",family:S},20:{name:"ESP32-C61",family:p},23:{name:"ESP32-C5",family:g},25:{name:"ESP32-H21",family:b},28:{name:"ESP32-H4",family:y},32:{name:"ESP32-S31",family:v}},B={4293968129:{name:"ESP8266",family:o},15736195:{name:"ESP32",family:d},1990:{name:"ESP32-S2",family:f},9:{name:"ESP32-S3",family:_},203546735:{name:"ESP32-C2",family:u},1867591791:{name:"ESP32-C2",family:u},2084675695:{name:"ESP32-C2",family:u},456216687:{name:"ESP32-C3",family:c},1130455151:{name:"ESP32-C3",family:c},1216438383:{name:"ESP32-C3",family:c},1763790959:{name:"ESP32-C3",family:c},285294703:{name:"ESP32-C5",family:g},1607549039:{name:"ESP32-C5",family:g},1548751960:{name:"ESP32-C5",family:g},1675706479:{name:"ESP32-C5",family:g},752910447:{name:"ESP32-C6",family:m},606167151:{name:"ESP32-C61",family:p},871374959:{name:"ESP32-C61",family:p},1333878895:{name:"ESP32-C61",family:p},1913741423:{name:"ESP32-C61",family:p},2548236392:{name:"ESP32-H2",family:w},3619110528:{name:"ESP32-H2",family:w},0:{name:"ESP32-P4",family:S},117676761:{name:"ESP32-P4",family:S},182303440:{name:"ESP32-P4",family:S}},k=3e3,F=15e4,x=100,z=(t,e)=>{let a=Math.floor(t*(e/486));return a<k?k:a},O=t=>{switch(t){case d:return{regBase:1072963584,baseFuse:1073061888,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case f:return{regBase:1061167104,baseFuse:1061265408,macFuse:1061265476,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612856,flashOffs:4096};case _:return{regBase:1610620928,usrOffs:24,baseFuse:1610641408,macFuse:1610641476,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612864,flashOffs:0};case o:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case u:case c:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case g:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:8192};case m:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case p:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case w:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case y:return{regBase:1611239424,baseFuse:1611339776,macFuse:1611339844,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610686588,flashOffs:8192};case b:return{regBase:1610625024,baseFuse:1611350016,macFuse:1611350084,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case S:return{regBase:1342754816,baseFuse:h,macFuse:1343410244,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1343004812,flashOffs:8192};case v:return{regBase:542113792,baseFuse:544296960,macFuse:544297028,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:540582028,flashOffs:8192};default:return{regBase:-1,baseFuse:-1,macFuse:-1,usrOffs:-1,usr1Offs:-1,usr2Offs:-1,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:-1,uartDateReg:-1,flashOffs:-1}}};class U extends Error{constructor(t){super(t),this.name="SlipReadError"}}const E=async(t,a)=>{let s;return t==y||t==b||t==v?null:(t==d?s=await import("./esp32-CijhsJH1.js"):t==f?s=await import("./esp32s2-IiDBtXxo.js"):t==_?s=await import("./esp32s3-6yv5yxum.js"):t==o?s=await import("./esp8266-CUwxJpGa.js"):t==u?s=await import("./esp32c2-C17SM4gO.js"):t==c?s=await import("./esp32c3-DxRGijbg.js"):t==g?s=await import("./esp32c5-3mDOIGa4.js"):t==m?s=await import("./esp32c6-h6U0SQTm.js"):t==p?s=await import("./esp32c61-BKtexhPZ.js"):t==w?s=await import("./esp32h2-RtuWSEmP.js"):t==S&&(s=null!=a&&a>=300?await import("./esp32p4r3-CpHBYEwI.js"):await import("./esp32p4-5nkIjxqJ.js")),{...s,text:e(atob(s.text)),data:e(atob(s.data))})};function I(t){let e=t.length;for(;--e>=0;)t[e]=0}const D=256,A=286,C=30,P=15,T=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),$=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),L=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),N=new Array(576);I(N);const Z=new Array(60);I(Z);const H=new Array(512);I(H);const V=new Array(256);I(V);const j=new Array(29);I(j);const W=new Array(C);function K(t,e,a,s,i){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=s,this.max_length=i,this.has_stree=t&&t.length}let Y,G,q;function X(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}I(W);const Q=t=>t<256?H[t]:H[256+(t>>>7)],J=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},tt=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,J(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},et=(t,e,a)=>{tt(t,a[2*e],a[2*e+1])},at=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},st=(t,e,a)=>{const s=new Array(16);let i,r,n=0;for(i=1;i<=P;i++)n=n+a[i-1]<<1,s[i]=n;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=at(s[e]++,e))}},it=t=>{let e;for(e=0;e<A;e++)t.dyn_ltree[2*e]=0;for(e=0;e<C;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},rt=t=>{t.bi_valid>8?J(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},nt=(t,e,a,s)=>{const i=2*e,r=2*a;return t[i]<t[r]||t[i]===t[r]&&s[e]<=s[a]},ht=(t,e,a)=>{const s=t.heap[a];let i=a<<1;for(;i<=t.heap_len&&(i<t.heap_len&&nt(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!nt(e,s,t.heap[i],t.depth));)t.heap[a]=t.heap[i],a=i,i<<=1;t.heap[a]=s},lt=(t,e,a)=>{let s,i,r,n,h=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+h++],s+=(255&t.pending_buf[t.sym_buf+h++])<<8,i=t.pending_buf[t.sym_buf+h++],0===s?et(t,i,e):(r=V[i],et(t,r+D+1,e),n=T[r],0!==n&&(i-=j[r],tt(t,i,n)),s--,r=Q(s),et(t,r,a),n=$[r],0!==n&&(s-=W[r],tt(t,s,n)))}while(h<t.sym_next);et(t,256,e)},ot=(t,e)=>{const a=e.dyn_tree,s=e.stat_desc.static_tree,i=e.stat_desc.has_stree,r=e.stat_desc.elems;let n,h,l,o=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<r;n++)0!==a[2*n]?(t.heap[++t.heap_len]=o=n,t.depth[n]=0):a[2*n+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=o<2?++o:0,a[2*l]=1,t.depth[l]=0,t.opt_len--,i&&(t.static_len-=s[2*l+1]);for(e.max_code=o,n=t.heap_len>>1;n>=1;n--)ht(t,a,n);l=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],ht(t,a,1),h=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=h,a[2*l]=a[2*n]+a[2*h],t.depth[l]=(t.depth[n]>=t.depth[h]?t.depth[n]:t.depth[h])+1,a[2*n+1]=a[2*h+1]=l,t.heap[1]=l++,ht(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,s=e.max_code,i=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.extra_bits,h=e.stat_desc.extra_base,l=e.stat_desc.max_length;let o,d,f,_,u,c,g=0;for(_=0;_<=P;_++)t.bl_count[_]=0;for(a[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)d=t.heap[o],_=a[2*a[2*d+1]+1]+1,_>l&&(_=l,g++),a[2*d+1]=_,d>s||(t.bl_count[_]++,u=0,d>=h&&(u=n[d-h]),c=a[2*d],t.opt_len+=c*(_+u),r&&(t.static_len+=c*(i[2*d+1]+u)));if(0!==g){do{for(_=l-1;0===t.bl_count[_];)_--;t.bl_count[_]--,t.bl_count[_+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(_=l;0!==_;_--)for(d=t.bl_count[_];0!==d;)f=t.heap[--o],f>s||(a[2*f+1]!==_&&(t.opt_len+=(_-a[2*f+1])*a[2*f],a[2*f+1]=_),d--)}})(t,e),st(a,o,t.bl_count)},dt=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),e[2*(a+1)+1]=65535,s=0;s<=a;s++)i=n,n=e[2*(s+1)+1],++h<l&&i===n||(h<o?t.bl_tree[2*i]+=h:0!==i?(i!==r&&t.bl_tree[2*i]++,t.bl_tree[32]++):h<=10?t.bl_tree[34]++:t.bl_tree[36]++,h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4))},ft=(t,e,a)=>{let s,i,r=-1,n=e[1],h=0,l=7,o=4;for(0===n&&(l=138,o=3),s=0;s<=a;s++)if(i=n,n=e[2*(s+1)+1],!(++h<l&&i===n)){if(h<o)do{et(t,i,t.bl_tree)}while(0!==--h);else 0!==i?(i!==r&&(et(t,i,t.bl_tree),h--),et(t,16,t.bl_tree),tt(t,h-3,2)):h<=10?(et(t,17,t.bl_tree),tt(t,h-3,3)):(et(t,18,t.bl_tree),tt(t,h-11,7));h=0,r=i,0===n?(l=138,o=3):i===n?(l=6,o=3):(l=7,o=4)}};let _t=!1;const ut=(t,e,a,s)=>{tt(t,0+(s?1:0),3),rt(t),J(t,a),J(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var ct=(t,e,a,s)=>{let i,r,n=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<D;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),ot(t,t.l_desc),ot(t,t.d_desc),n=(t=>{let e;for(dt(t,t.dyn_ltree,t.l_desc.max_code),dt(t,t.dyn_dtree,t.d_desc.max_code),ot(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*M[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=i&&(i=r)):i=r=a+5,a+4<=i&&-1!==e?ut(t,e,a,s):4===t.strategy||r===i?(tt(t,2+(s?1:0),3),lt(t,N,Z)):(tt(t,4+(s?1:0),3),((t,e,a,s)=>{let i;for(tt(t,e-257,5),tt(t,a-1,5),tt(t,s-4,4),i=0;i<s;i++)tt(t,t.bl_tree[2*M[i]+1],3);ft(t,t.dyn_ltree,e-1),ft(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),lt(t,t.dyn_ltree,t.dyn_dtree)),it(t),s&&rt(t)},gt={_tr_init:t=>{_t||((()=>{let t,e,a,s,i;const r=new Array(16);for(a=0,s=0;s<28;s++)for(j[s]=a,t=0;t<1<<T[s];t++)V[a++]=s;for(V[a-1]=s,i=0,s=0;s<16;s++)for(W[s]=i,t=0;t<1<<$[s];t++)H[i++]=s;for(i>>=7;s<C;s++)for(W[s]=i<<7,t=0;t<1<<$[s]-7;t++)H[256+i++]=s;for(e=0;e<=P;e++)r[e]=0;for(t=0;t<=143;)N[2*t+1]=8,t++,r[8]++;for(;t<=255;)N[2*t+1]=9,t++,r[9]++;for(;t<=279;)N[2*t+1]=7,t++,r[7]++;for(;t<=287;)N[2*t+1]=8,t++,r[8]++;for(st(N,287,r),t=0;t<C;t++)Z[2*t+1]=5,Z[2*t]=at(t,5);Y=new K(N,T,257,A,P),G=new K(Z,$,0,C,P),q=new K(new Array(0),L,0,19,7)})(),_t=!0),t.l_desc=new X(t.dyn_ltree,Y),t.d_desc=new X(t.dyn_dtree,G),t.bl_desc=new X(t.bl_tree,q),t.bi_buf=0,t.bi_valid=0,it(t)},_tr_stored_block:ut,_tr_flush_block:ct,_tr_tally:(t,e,a)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(V[a]+D+1)]++,t.dyn_dtree[2*Q(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{tt(t,2,3),et(t,256,N),(t=>{16===t.bi_valid?(J(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var mt=(t,e,a,s)=>{let i=65535&t,r=t>>>16&65535,n=0;for(;0!==a;){n=a>2e3?2e3:a,a-=n;do{i=i+e[s++]|0,r=r+i|0}while(--n);i%=65521,r%=65521}return i|r<<16};const pt=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var s=0;s<8;s++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var wt=(t,e,a,s)=>{const i=pt,r=s+a;t^=-1;for(let a=s;a<r;a++)t=t>>>8^i[255&(t^e[a])];return-1^t},yt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},bt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:St,_tr_stored_block:vt,_tr_flush_block:Rt,_tr_tally:Bt,_tr_align:kt}=gt,{Z_NO_FLUSH:Ft,Z_PARTIAL_FLUSH:xt,Z_FULL_FLUSH:zt,Z_FINISH:Ot,Z_BLOCK:Ut,Z_OK:Et,Z_STREAM_END:It,Z_STREAM_ERROR:Dt,Z_DATA_ERROR:At,Z_BUF_ERROR:Ct,Z_DEFAULT_COMPRESSION:Pt,Z_FILTERED:Tt,Z_HUFFMAN_ONLY:$t,Z_RLE:Lt,Z_FIXED:Mt,Z_DEFAULT_STRATEGY:Nt,Z_UNKNOWN:Zt,Z_DEFLATED:Ht}=bt,Vt=258,jt=262,Wt=42,Kt=113,Yt=666,Gt=(t,e)=>(t.msg=yt[e],e),qt=t=>2*t-(t>4?9:0),Xt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Qt=t=>{let e,a,s,i=t.w_size;e=t.hash_size,s=e;do{a=t.head[--s],t.head[s]=a>=i?a-i:0}while(--e);e=i,s=e;do{a=t.prev[--s],t.prev[s]=a>=i?a-i:0}while(--e)};let Jt=(t,e,a)=>(e<<t.hash_shift^a)&t.hash_mask;const te=t=>{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},ee=(t,e)=>{Rt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,te(t.strm)},ae=(t,e)=>{t.pending_buf[t.pending++]=e},se=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},ie=(t,e,a,s)=>{let i=t.avail_in;return i>s&&(i=s),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),a),1===t.state.wrap?t.adler=mt(t.adler,e,i,a):2===t.state.wrap&&(t.adler=wt(t.adler,e,i,a)),t.next_in+=i,t.total_in+=i,i)},re=(t,e)=>{let a,s,i=t.max_chain_length,r=t.strstart,n=t.prev_length,h=t.nice_match;const l=t.strstart>t.w_size-jt?t.strstart-(t.w_size-jt):0,o=t.window,d=t.w_mask,f=t.prev,_=t.strstart+Vt;let u=o[r+n-1],c=o[r+n];t.prev_length>=t.good_match&&(i>>=2),h>t.lookahead&&(h=t.lookahead);do{if(a=e,o[a+n]===c&&o[a+n-1]===u&&o[a]===o[r]&&o[++a]===o[r+1]){r+=2,a++;do{}while(o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&o[++r]===o[++a]&&r<_);if(s=Vt-(_-r),r=_-Vt,s>n){if(t.match_start=e,n=s,s>=h)break;u=o[r+n-1],c=o[r+n]}}}while((e=f[e&d])>l&&0!==--i);return n<=t.lookahead?n:t.lookahead},ne=t=>{const e=t.w_size;let a,s,i;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-jt)&&(t.window.set(t.window.subarray(e,e+e-s),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Qt(t),s+=e),0===t.strm.avail_in)break;if(a=ie(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=a,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Jt(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Jt(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<jt&&0!==t.strm.avail_in)},he=(t,e)=>{let a,s,i,r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,n=0,h=t.strm.avail_in;do{if(a=65535,i=t.bi_valid+42>>3,t.strm.avail_out<i)break;if(i=t.strm.avail_out-i,s=t.strstart-t.block_start,a>s+t.strm.avail_in&&(a=s+t.strm.avail_in),a>i&&(a=i),a<r&&(0===a&&e!==Ot||e===Ft||a!==s+t.strm.avail_in))break;n=e===Ot&&a===s+t.strm.avail_in?1:0,vt(t,0,0,n),t.pending_buf[t.pending-4]=a,t.pending_buf[t.pending-3]=a>>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,te(t.strm),s&&(s>a&&(s=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+s),t.strm.next_out),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s,t.block_start+=s,a-=s),a&&(ie(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===n);return h-=t.strm.avail_in,h&&(h>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=h&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-h,t.strm.next_in),t.strstart),t.strstart+=h,t.insert+=h>t.w_size-t.insert?t.w_size-t.insert:h),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),n?4:e!==Ft&&e!==Ot&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(i=t.window_size-t.strstart,t.strm.avail_in>i&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(ie(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water<t.strstart&&(t.high_water=t.strstart),i=t.bi_valid+42>>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,r=i>t.w_size?t.w_size:i,s=t.strstart-t.block_start,(s>=r||(s||e===Ot)&&e!==Ft&&0===t.strm.avail_in&&s<=i)&&(a=s>i?i:s,n=e===Ot&&0===t.strm.avail_in&&a===s?1:0,vt(t,t.block_start,a,n),t.block_start+=a,te(t.strm)),n?3:1)},le=(t,e)=>{let a,s;for(;;){if(t.lookahead<jt){if(ne(t),t.lookahead<jt&&e===Ft)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-jt&&(t.match_length=re(t,a)),t.match_length>=3)if(s=Bt(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+1]);else s=Bt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(ee(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2},oe=(t,e)=>{let a,s,i;for(;;){if(t.lookahead<jt){if(ne(t),t.lookahead<jt&&e===Ft)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-jt&&(t.match_length=re(t,a),t.match_length<=5&&(t.strategy===Tt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,s=Bt(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=Jt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!==--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,s&&(ee(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=Bt(t,0,t.window[t.strstart-1]),s&&ee(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(s=Bt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2};function de(t,e,a,s,i){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=s,this.func=i}const fe=[new de(0,0,0,0,he),new de(4,4,8,4,le),new de(4,5,16,8,le),new de(4,6,32,32,le),new de(4,4,16,16,oe),new de(8,16,32,32,oe),new de(8,16,128,128,oe),new de(8,32,128,256,oe),new de(32,128,258,1024,oe),new de(32,258,258,4096,oe)];function _e(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ht,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Xt(this.dyn_ltree),Xt(this.dyn_dtree),Xt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Xt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Xt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const ue=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Wt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Kt&&e.status!==Yt?1:0},ce=t=>{if(ue(t))return Gt(t,Dt);t.total_in=t.total_out=0,t.data_type=Zt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?Wt:Kt,t.adler=2===e.wrap?0:1,e.last_flush=-2,St(e),Et},ge=t=>{const e=ce(t);var a;return e===Et&&((a=t.state).window_size=2*a.w_size,Xt(a.head),a.max_lazy_match=fe[a.level].max_lazy,a.good_match=fe[a.level].good_length,a.nice_match=fe[a.level].nice_length,a.max_chain_length=fe[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},me=(t,e,a,s,i,r)=>{if(!t)return Dt;let n=1;if(e===Pt&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),i<1||i>9||a!==Ht||s<8||s>15||e<0||e>9||r<0||r>Mt||8===s&&1!==n)return Gt(t,Dt);8===s&&(s=9);const h=new _e;return t.state=h,h.strm=t,h.status=Wt,h.wrap=n,h.gzhead=null,h.w_bits=s,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=i+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new Uint8Array(2*h.w_size),h.head=new Uint16Array(h.hash_size),h.prev=new Uint16Array(h.w_size),h.lit_bufsize=1<<i+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new Uint8Array(h.pending_buf_size),h.sym_buf=h.lit_bufsize,h.sym_end=3*(h.lit_bufsize-1),h.level=e,h.strategy=r,h.method=a,ge(t)};var pe={deflateInit:(t,e)=>me(t,e,Ht,15,8,Nt),deflateInit2:me,deflateReset:ge,deflateResetKeep:ce,deflateSetHeader:(t,e)=>ue(t)||2!==t.state.wrap?Dt:(t.state.gzhead=e,Et),deflate:(t,e)=>{if(ue(t)||e>Ut||e<0)return t?Gt(t,Dt):Dt;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===Yt&&e!==Ot)return Gt(t,0===t.avail_out?Ct:Dt);const s=a.last_flush;if(a.last_flush=e,0!==a.pending){if(te(t),0===t.avail_out)return a.last_flush=-1,Et}else if(0===t.avail_in&&qt(e)<=qt(s)&&e!==Ot)return Gt(t,Ct);if(a.status===Yt&&0!==t.avail_in)return Gt(t,Ct);if(a.status===Wt&&0===a.wrap&&(a.status=Kt),a.status===Wt){let e=Ht+(a.w_bits-8<<4)<<8,s=-1;if(s=a.strategy>=$t||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=s<<6,0!==a.strstart&&(e|=32),e+=31-e%31,se(a,e),0!==a.strstart&&(se(a,t.adler>>>16),se(a,65535&t.adler)),t.adler=1,a.status=Kt,te(t),0!==a.pending)return a.last_flush=-1,Et}if(57===a.status)if(t.adler=0,ae(a,31),ae(a,139),ae(a,8),a.gzhead)ae(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),ae(a,255&a.gzhead.time),ae(a,a.gzhead.time>>8&255),ae(a,a.gzhead.time>>16&255),ae(a,a.gzhead.time>>24&255),ae(a,9===a.level?2:a.strategy>=$t||a.level<2?4:0),ae(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(ae(a,255&a.gzhead.extra.length),ae(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=wt(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(ae(a,0),ae(a,0),ae(a,0),ae(a,0),ae(a,0),ae(a,9===a.level?2:a.strategy>=$t||a.level<2?4:0),ae(a,3),a.status=Kt,te(t),0!==a.pending)return a.last_flush=-1,Et;if(69===a.status){if(a.gzhead.extra){let e=a.pending,s=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+s>a.pending_buf_size;){let i=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=wt(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=i,te(t),0!==a.pending)return a.last_flush=-1,Et;e=0,s-=i}let i=new Uint8Array(a.gzhead.extra);a.pending_buf.set(i.subarray(a.gzindex,a.gzindex+s),a.pending),a.pending+=s,a.gzhead.hcrc&&a.pending>e&&(t.adler=wt(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s)),te(t),0!==a.pending)return a.last_flush=-1,Et;s=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,ae(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,s=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s)),te(t),0!==a.pending)return a.last_flush=-1,Et;s=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,ae(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=wt(t.adler,a.pending_buf,a.pending-s,s))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(te(t),0!==a.pending))return a.last_flush=-1,Et;ae(a,255&t.adler),ae(a,t.adler>>8&255),t.adler=0}if(a.status=Kt,te(t),0!==a.pending)return a.last_flush=-1,Et}if(0!==t.avail_in||0!==a.lookahead||e!==Ft&&a.status!==Yt){let s=0===a.level?he(a,e):a.strategy===$t?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(ne(t),0===t.lookahead)){if(e===Ft)return 1;break}if(t.match_length=0,a=Bt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(ee(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===Lt?((t,e)=>{let a,s,i,r;const n=t.window;for(;;){if(t.lookahead<=Vt){if(ne(t),t.lookahead<=Vt&&e===Ft)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,s=n[i],s===n[++i]&&s===n[++i]&&s===n[++i])){r=t.strstart+Vt;do{}while(s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&s===n[++i]&&i<r);t.match_length=Vt-(r-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=Bt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Bt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(ee(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Ot?(ee(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ee(t,!1),0===t.strm.avail_out)?1:2})(a,e):fe[a.level].func(a,e);if(3!==s&&4!==s||(a.status=Yt),1===s||3===s)return 0===t.avail_out&&(a.last_flush=-1),Et;if(2===s&&(e===xt?kt(a):e!==Ut&&(vt(a,0,0,!1),e===zt&&(Xt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),te(t),0===t.avail_out))return a.last_flush=-1,Et}return e!==Ot?Et:a.wrap<=0?It:(2===a.wrap?(ae(a,255&t.adler),ae(a,t.adler>>8&255),ae(a,t.adler>>16&255),ae(a,t.adler>>24&255),ae(a,255&t.total_in),ae(a,t.total_in>>8&255),ae(a,t.total_in>>16&255),ae(a,t.total_in>>24&255)):(se(a,t.adler>>>16),se(a,65535&t.adler)),te(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Et:It)},deflateEnd:t=>{if(ue(t))return Dt;const e=t.state.status;return t.state=null,e===Kt?Gt(t,At):Et},deflateSetDictionary:(t,e)=>{let a=e.length;if(ue(t))return Dt;const s=t.state,i=s.wrap;if(2===i||1===i&&s.status!==Wt||s.lookahead)return Dt;if(1===i&&(t.adler=mt(t.adler,e,a,0)),s.wrap=0,a>=s.w_size){0===i&&(Xt(s.head),s.strstart=0,s.block_start=0,s.insert=0);let t=new Uint8Array(s.w_size);t.set(e.subarray(a-s.w_size,a),0),e=t,a=s.w_size}const r=t.avail_in,n=t.next_in,h=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,ne(s);s.lookahead>=3;){let t=s.strstart,e=s.lookahead-2;do{s.ins_h=Jt(s,s.ins_h,s.window[t+3-1]),s.prev[t&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=t,t++}while(--e);s.strstart=t,s.lookahead=2,ne(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,t.next_in=n,t.input=h,t.avail_in=r,s.wrap=i,Et},deflateInfo:"pako deflate (from Nodeca project)"};const we=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var ye=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)we(a,e)&&(t[e]=a[e])}}return t},be=t=>{let e=0;for(let a=0,s=t.length;a<s;a++)e+=t[a].length;const a=new Uint8Array(e);for(let e=0,s=0,i=t.length;e<i;e++){let i=t[e];a.set(i,s),s+=i.length}return a};let Se=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Se=!1}const ve=new Uint8Array(256);for(let t=0;t<256;t++)ve[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;ve[254]=ve[254]=1;var Re=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,s,i,r,n=t.length,h=0;for(i=0;i<n;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),h+=a<128?1:a<2048?2:a<65536?3:4;for(e=new Uint8Array(h),r=0,i=0;r<h;i++)a=t.charCodeAt(i),55296==(64512&a)&&i+1<n&&(s=t.charCodeAt(i+1),56320==(64512&s)&&(a=65536+(a-55296<<10)+(s-56320),i++)),a<128?e[r++]=a:a<2048?(e[r++]=192|a>>>6,e[r++]=128|63&a):a<65536?(e[r++]=224|a>>>12,e[r++]=128|a>>>6&63,e[r++]=128|63&a):(e[r++]=240|a>>>18,e[r++]=128|a>>>12&63,e[r++]=128|a>>>6&63,e[r++]=128|63&a);return e};var Be=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const ke=Object.prototype.toString,{Z_NO_FLUSH:Fe,Z_SYNC_FLUSH:xe,Z_FULL_FLUSH:ze,Z_FINISH:Oe,Z_OK:Ue,Z_STREAM_END:Ee,Z_DEFAULT_COMPRESSION:Ie,Z_DEFAULT_STRATEGY:De,Z_DEFLATED:Ae}=bt;function Ce(t){this.options=ye({level:Ie,method:Ae,chunkSize:16384,windowBits:15,memLevel:8,strategy:De},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Be,this.strm.avail_out=0;let a=pe.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Ue)throw new Error(yt[a]);if(e.header&&pe.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Re(e.dictionary):"[object ArrayBuffer]"===ke.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=pe.deflateSetDictionary(this.strm,t),a!==Ue)throw new Error(yt[a]);this._dict_set=!0}}Ce.prototype.push=function(t,e){const a=this.strm,s=this.options.chunkSize;let i,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Oe:Fe,"string"==typeof t?a.input=Re(t):"[object ArrayBuffer]"===ke.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(r===xe||r===ze)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(i=pe.deflate(a,r),i===Ee)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),i=pe.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Ue;if(0!==a.avail_out){if(r>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Ce.prototype.onData=function(t){this.chunks.push(t)},Ce.prototype.onEnd=function(t){t===Ue&&(this.result=be(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Pe={deflate:function(t,e){const a=new Ce(e);if(a.push(t,!0),a.err)throw a.msg||yt[a.err];return a.result}};const{deflate:Te}=Pe;var $e=Te;const Le={b:{u:DataView.prototype.getInt8,p:DataView.prototype.setInt8,bytes:1},B:{u:DataView.prototype.getUint8,p:DataView.prototype.setUint8,bytes:1},h:{u:DataView.prototype.getInt16,p:DataView.prototype.setInt16,bytes:2},H:{u:DataView.prototype.getUint16,p:DataView.prototype.setUint16,bytes:2},i:{u:DataView.prototype.getInt32,p:DataView.prototype.setInt32,bytes:4},I:{u:DataView.prototype.getUint32,p:DataView.prototype.setUint32,bytes:4},q:{u:DataView.prototype.getInt64,p:DataView.prototype.setInt64,bytes:8},Q:{u:DataView.prototype.getUint64,p:DataView.prototype.setUint64,bytes:8}},Me=(t,...e)=>{let a=0;if(t.replace(/[<>]/,"").length!=e.length)throw"Pack format to Argument count mismatch";let s=[],i=!0;for(let s=0;s<t.length;s++)"<"==t[s]?i=!0:">"==t[s]?i=!1:(r(t[s],e[a]),a++);function r(t,e){if(!(t in Le))throw"Unhandled character '"+t+"' in pack format";let a=Le[t].bytes,r=new DataView(new ArrayBuffer(a));Le[t].p.bind(r)(0,e,i);for(let t=0;t<a;t++)s.push(r.getUint8(t))}return s},Ne=(t,e)=>{let a=0,s=[],i=!0;for(let e of t)"<"==e?i=!0:">"==e?i=!1:r(e);function r(t){if(!(t in Le))throw"Unhandled character '"+t+"' in unpack format";let r=Le[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[a+t]);let h=Le[t].u.bind(n);s.push(h(0,i)),a+=r}return s};class Ze extends EventTarget{constructor(t,e,a){super(),this.port=t,this.logger=e,this._parent=a,this.chipName=null,this.chipRevision=null,this.chipVariant=null,this._efuses=new Array(4).fill(0),this._flashsize=4194304,this.debug=!1,this.IS_STUB=!1,this.connected=!0,this.flashSize=null,this._currentBaudRate=n,this.state_DTR=!1}get _inputBuffer(){return this._parent?this._parent._inputBuffer:this.__inputBuffer}get _totalBytesRead(){return this._parent?this._parent._totalBytesRead:this.__totalBytesRead||0}set _totalBytesRead(t){this._parent?this._parent._totalBytesRead=t:this.__totalBytesRead=t}detectUSBSerialChip(t,e){const a={6790:{29987:{name:"CH340",maxBaudrate:460800},21972:{name:"CH9102",maxBaudrate:6e6}},4292:{6e4:{name:"CP2102(n)",maxBaudrate:3e6},60016:{name:"CP2105",maxBaudrate:2e6},60017:{name:"CP2108",maxBaudrate:2e6}},1027:{24577:{name:"FT232R",maxBaudrate:3e6},24592:{name:"FT2232",maxBaudrate:3e6},24593:{name:"FT4232",maxBaudrate:3e6},24596:{name:"FT232H",maxBaudrate:12e6},24597:{name:"FT230X",maxBaudrate:3e6}},12346:{4097:{name:"ESP32 Native USB",maxBaudrate:2e6},4098:{name:"ESP32 Native USB",maxBaudrate:2e6},16386:{name:"ESP32 Native USB",maxBaudrate:2e6},4096:{name:"ESP32 Native USB",maxBaudrate:2e6}}}[t];return a&&a[e]?a[e]:{name:`Unknown (VID: 0x${t.toString(16)}, PID: 0x${e.toString(16)})`}}async initialize(){if(await this.hardReset(!0),!this._parent){this.__inputBuffer=[],this.__totalBytesRead=0;const t=this.port.getInfo();if(t.usbVendorId&&t.usbProductId){const e=this.detectUSBSerialChip(t.usbVendorId,t.usbProductId);this.logger.log(`USB-Serial: ${e.name} (VID: 0x${t.usbVendorId.toString(16)}, PID: 0x${t.usbProductId.toString(16)})`),e.maxBaudrate&&(this._maxUSBSerialBaudrate=e.maxBaudrate,this.logger.log(`Max baudrate: ${e.maxBaudrate}`))}this.readLoop()}await this.flushSerialBuffers(),await this.sync(),await this.detectChip();let t=O(this.getChipFamily()),e=t.macFuse;for(let t=0;t<4;t++)this._efuses[t]=await this.readRegister(e+4*t);this.logger.log(`Chip type ${this.chipName}`),this.logger.debug(`Bootloader flash offset: 0x${t.flashOffs.toString(16)}`)}async detectChip(){try{const t=(await this.getSecurityInfo()).chipId,e=R[t];if(e)return this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===S&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),void this.logger.debug(`Detected chip via IMAGE_CHIP_ID: ${t} (${this.chipName})`);this.logger.debug(`Unknown IMAGE_CHIP_ID: ${t}, falling back to magic value detection`)}catch(t){this.logger.debug(`GET_SECURITY_INFO failed, using magic value detection: ${t}`),this._inputBuffer.length=0,await i(x);try{await this.sync()}catch(t){this.logger.debug(`Re-sync after GET_SECURITY_INFO failure: ${t}`)}}let t=await this.readRegister(1073745920),e=B[t>>>0];if(void 0===e)throw new Error(`Unknown Chip: Hex: ${s(t>>>0,8).toLowerCase()} Number: ${t}`);this.chipName=e.name,this.chipFamily=e.family,this.chipFamily===S&&(this.chipRevision=await this.getChipRevision(),this.logger.debug(`ESP32-P4 revision: ${this.chipRevision}`),this.chipRevision>=300?this.chipVariant="rev300":this.chipVariant="rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),this.logger.debug(`Detected chip via magic value: ${s(t>>>0,8)} (${this.chipName})`)}async getChipRevision(){if(this.chipFamily!==S)return 0;const t=await this.readRegister(1343410252);return 100*((t>>23&1)<<2|t>>4&3)+(15&t)}async getSecurityInfo(){const[t,e]=await this.checkCommand(20,[],0);if(0===e.length)throw new Error("GET_SECURITY_INFO not supported or returned empty response");if(e.length<12)throw new Error(`Invalid security info response length: ${e.length} (expected at least 12 bytes)`);return{flags:Ne("<I",e.slice(0,4))[0],flashCryptCnt:e[4],keyPurposes:Array.from(e.slice(5,12)),chipId:e.length>=16?Ne("<I",e.slice(12,16))[0]:0,apiVersion:e.length>=20?Ne("<I",e.slice(16,20))[0]:0}}async readLoop(){this.debug&&this.logger.debug("Starting read loop"),this._reader=this.port.readable.getReader();try{for(;;){const{value:t,done:e}=await this._reader.read();if(e){this._reader.releaseLock();break}if(!t||0===t.length)continue;const a=Array.from(t);Array.prototype.push.apply(this._inputBuffer,a),this._totalBytesRead+=t.length}}catch(t){console.error("Read loop got disconnected")}this.connected=!1,this.dispatchEvent(new Event("disconnect")),this.logger.debug("Finished read loop")}sleep(t=100){return new Promise(e=>setTimeout(e,t))}async setRTS(t){await this.port.setSignals({requestToSend:t}),await this.setDTR(this.state_DTR)}async setDTR(t){this.state_DTR=t,await this.port.setSignals({dataTerminalReady:t})}async hardReset(t=!1){t?4097===this.port.getInfo().usbProductId?(await this.setDTR(!1),await this.setRTS(!1),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(100),await this.setRTS(!0),await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!1),await this.setRTS(!1),this.logger.log("USB MCU reset.")):(await this.setDTR(!1),await this.setRTS(!0),await this.sleep(100),await this.setDTR(!0),await this.setRTS(!1),await this.sleep(50),await this.setDTR(!1),this.logger.log("DTR/RTS USB serial chip reset.")):(await this.setRTS(!0),await this.sleep(100),await this.setRTS(!1),this.logger.log("Hard reset.")),await new Promise(t=>setTimeout(t,1e3))}macAddr(){let t,e=new Array(6).fill(0),a=this._efuses[0],s=this._efuses[1],i=this._efuses[2],r=this._efuses[3];if(this.chipFamily==o){if(0!=r)t=[r>>16&255,r>>8&255,255&r];else if(s>>16&255){if(1!=(s>>16&255))throw new Error("Couldnt determine OUI");t=[172,208,116]}else t=[24,254,52];e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=s>>8&255,e[4]=255&s,e[5]=a>>24&255}else if(this.chipFamily==d)e[0]=i>>8&255,e[1]=255&i,e[2]=s>>24&255,e[3]=s>>16&255,e[4]=s>>8&255,e[5]=255&s;else{if(this.chipFamily!=f&&this.chipFamily!=_&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=m&&this.chipFamily!=p&&this.chipFamily!=w&&this.chipFamily!=y&&this.chipFamily!=b&&this.chipFamily!=S&&this.chipFamily!=v)throw new Error("Unknown chip family");e[0]=s>>8&255,e[1]=255&s,e[2]=a>>24&255,e[3]=a>>16&255,e[4]=a>>8&255,e[5]=255&a}return e}async readRegister(t){this.debug&&this.logger.debug("Reading from Register "+s(t,8));let e=Me("<I",t);await this.sendCommand(10,e);let[a,i]=await this.getResponse(10);return a}async checkCommand(t,e,a=0,i=3e3){i=Math.min(i,3e5),await this.sendCommand(t,e,a);let[r,n]=await this.getResponse(t,i);if(null===n)throw new Error("Didn't get enough status bytes");let h=0;if(this.IS_STUB||this.chipFamily==o?h=2:[d,f,_,u,c,g,m,p,w,y,b,S,v].includes(this.chipFamily)||20===t?h=4:[2,4].includes(n.length)&&(h=n.length),n.length<h)throw new Error("Didn't get enough status bytes");let l=n.slice(-h,n.length);if(n=n.slice(0,-h),this.debug&&(this.logger.debug("status",l),this.logger.debug("value",r),this.logger.debug("data",n)),1==l[0])throw 5==l[1]?new Error("Invalid (unsupported) command "+s(t)):new Error("Command failure error code "+s(l[1]));return[r,n]}async sendCommand(e,a,s=0){let i=t([...Me("<BBHI",0,e,a.length,s),...a]);this.debug&&this.logger.debug(`Writing ${i.length} byte${1==i.length?"":"s"}:`,i),await this.writeToStream(i)}async readPacket(t){let e=null,r=!1,n=[];for(;;){let h=Date.now();for(n=[];Date.now()-h<t;){if(this._inputBuffer.length>0){n.push(this._inputBuffer.shift());break}await i(1)}if(0==n.length){throw new U("Timed out waiting for packet "+(null===e?"header":"content"))}this.debug&&this.logger.debug("Read "+n.length+" bytes: "+a(n));for(let t of n)if(null===e){if(192!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+a(n)),this.logger.debug("Remaining data in serial buffer: "+a(this._inputBuffer))),new U("Invalid head of packet ("+s(t)+")");e=[]}else if(r)if(r=!1,220==t)e.push(192);else{if(221!=t)throw this.debug&&(this.logger.debug("Read invalid data: "+a(n)),this.logger.debug("Remaining data in serial buffer: "+a(this._inputBuffer))),new U("Invalid SLIP escape (0xdb, "+s(t)+")");e.push(219)}else if(219==t)r=!0;else{if(192==t)return this.debug&&this.logger.debug("Received full packet: "+a(e)),e;e.push(t)}}throw new U("Invalid state")}async getResponse(t,e=3e3){for(let a=0;a<100;a++){const a=await this.readPacket(e);if(a.length<8)continue;const[i,r,n,h]=Ne("<BBHI",a.slice(0,8));if(1!=i)continue;const l=a.slice(8);if(null==t||r==t)return[h,l];if(0!=l[0]&&5==l[1])throw this._inputBuffer.length=0,new Error(`Invalid (unsupported) command ${s(t)}`)}throw"Response doesn't match request"}checksum(t,e=239){for(let a of t)e^=a;return e}async setBaudrate(t){if(this.chipFamily==o)throw new Error("Changing baud rate is not supported on the ESP8266");try{let e=Me("<II",t,this.IS_STUB?n:0);await this.checkCommand(15,e)}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: No response from set baud rate command.`)}this._parent?await this._parent.reconfigurePort(t):await this.reconfigurePort(t),this._parent?this._parent._currentBaudRate=t:this._currentBaudRate=t;const e=this._parent?this._parent._maxUSBSerialBaudrate:this._maxUSBSerialBaudrate;e&&t>e&&(this.logger.log(`⚠️ WARNING: Baudrate ${t} exceeds USB-Serial chip limit (${e})!`),this.logger.log("⚠️ This may cause data corruption or connection failures!")),this.logger.log(`Changed baud rate to ${t}`)}async reconfigurePort(t){var e;try{await(null===(e=this._reader)||void 0===e?void 0:e.cancel()),await this.port.close(),await this.port.open({baudRate:t}),await this.flushSerialBuffers(),this.readLoop()}catch(e){throw console.error(e),new Error(`Unable to change the baud rate to ${t}: ${e}`)}}async sync(){for(let t=0;t<5;t++){if(this._inputBuffer.length=0,await this._sync())return await i(x),!0;await i(x)}throw new Error("Couldn't sync to ESP. Try resetting.")}async _sync(){await this.sendCommand(8,l);for(let t=0;t<8;t++)try{let[t,e]=await this.getResponse(8,x);if(e.length>1&&0==e[0]&&0==e[1])return!0}catch(t){}return!1}getFlashWriteSize(){return this.IS_STUB?16384:1024}async flashData(t,e,a=0,i=!1){if(t.byteLength>=8){var r=Array.from(new Uint8Array(t,0,4));let e=r[0],a=r[2],i=r[3];this.logger.log(`Image header, Magic=${s(e)}, FlashMode=${s(a)}, FlashSizeFreq=${s(i)}`)}let n,h=t.byteLength,l=0,o=k;i?(n=$e(new Uint8Array(t),{level:9}).buffer,l=n.byteLength,this.logger.log(`Writing data with filesize: ${h}. Compressed Size: ${l}`),o=await this.flashDeflBegin(h,l,a)):(this.logger.log(`Writing data with filesize: ${h}`),n=t,await this.flashBegin(h,a));let d=[],f=0,_=0,u=0,c=Date.now(),g=this.getFlashWriteSize(),m=i?l:h;for(;m-u>0;)this.debug&&this.logger.log(`Writing at ${s(a+f*g,8)} `),m-u>=g?d=Array.from(new Uint8Array(n,u,g)):(d=Array.from(new Uint8Array(n,u,m-u)),i||(d=d.concat(new Array(g-d.length).fill(255)))),i?await this.flashDeflBlock(d,f,o):await this.flashBlock(d,f),f+=1,_+=i?Math.round(d.length*h/l):d.length,u+=g,e(Math.min(_,h),h);this.logger.log("Took "+(Date.now()-c)+"ms to write "+m+" bytes"),this.IS_STUB&&(await this.flashBegin(0,0),i?await this.flashDeflFinish():await this.flashFinish())}async flashBlock(t,e,a=3e3){await this.checkCommand(3,Me("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashDeflBlock(t,e,a=3e3){await this.checkCommand(17,Me("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashBegin(t=0,e=0,a=!1){let i,r;await this.flushSerialBuffers();let n=this.getFlashWriteSize();!this.IS_STUB&&[d,f,_,u,c,g,m,p,w,y,b,S,v].includes(this.chipFamily)&&await this.checkCommand(13,new Array(8).fill(0));let h,l=Math.floor((t+n-1)/n);i=this.chipFamily==o?this.getEraseSize(e,t):t,h=this.IS_STUB?k:z(3e4,t);let R=Date.now();return r=Me("<IIII",i,l,n,e),this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=_&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=m&&this.chipFamily!=p&&this.chipFamily!=w&&this.chipFamily!=y&&this.chipFamily!=b&&this.chipFamily!=S&&this.chipFamily!=v||(r=r.concat(Me("<I",a?1:0))),this.logger.log("Erase size "+i+", blocks "+l+", block size "+s(n,4)+", offset "+s(e,4)+", encrypted "+(a?"yes":"no")),await this.checkCommand(2,r,0,h),0==t||this.IS_STUB||this.logger.log("Took "+(Date.now()-R)+"ms to erase "+l+" bytes"),l}async flashDeflBegin(t=0,e=0,a=0,s=!1){let i,r=this.getFlashWriteSize(),n=Math.floor((e+r-1)/r),h=Math.floor((t+r-1)/r),l=0,o=0;return this.IS_STUB?(l=t,o=z(3e4,l)):(l=h*r,o=k),i=Me("<IIII",l,n,r,a),await this.checkCommand(16,i,0,o),o}async flashFinish(){let t=Me("<I",1);await this.checkCommand(4,t)}async flashDeflFinish(){let t=Me("<I",1);await this.checkCommand(18,t)}getBootloaderOffset(){return O(this.getChipFamily()).flashOffs}async flashId(){return await this.runSpiFlashCommand(159,[],24)}getChipFamily(){return this._parent?this._parent.chipFamily:this.chipFamily}async writeRegister(t,e,a=4294967295,s=0,i=0){let r=Me("<IIII",t,e,a,s);i>0&&r.concat(Me("<IIII",O(this.getChipFamily()).uartDateReg,0,0,i)),await this.checkCommand(9,r)}async setDataLengths(t,e,a){if(-1!=t.mosiDlenOffs){let s=t.regBase+t.mosiDlenOffs,i=t.regBase+t.misoDlenOffs;e>0&&await this.writeRegister(s,e-1),a>0&&await this.writeRegister(i,a-1)}else{let s=t.regBase+t.usr1Offs,i=(0==a?0:a-1)<<8|(0==e?0:e-1)<<17;await this.writeRegister(s,i)}}async waitDone(t,e){for(let a=0;a<10;a++){if(0==(await this.readRegister(t)&e))return}throw Error("SPI command did not complete in time")}async runSpiFlashCommand(t,e,a=0){let i=O(this.getChipFamily()),r=i.regBase,n=r,h=r+i.usrOffs,l=r+i.usr2Offs,o=r+i.w0Offs,d=1<<18;if(a>32)throw new Error("Reading more than 32 bits back from a SPI flash operation is unsupported");if(e.length>64)throw new Error("Writing more than 64 bytes of data with one SPI command is unsupported");let f=8*e.length,_=await this.readRegister(h),u=await this.readRegister(l),c=1<<31;if(a>0&&(c|=268435456),f>0&&(c|=134217728),await this.setDataLengths(i,f,a),await this.writeRegister(h,c),await this.writeRegister(l,7<<28|t),0==f)await this.writeRegister(o,0);else{e.concat(new Array(e.length%4).fill(0));let t=Ne("I".repeat(Math.floor(e.length/4)),e),a=o;this.logger.debug(`Words Length: ${t.length}`);for(const e of t)this.logger.debug(`Writing word ${s(e)} to register offset ${s(a)}`),await this.writeRegister(a,e),a+=4}await this.writeRegister(n,d),await this.waitDone(n,d);let g=await this.readRegister(o);return await this.writeRegister(h,_),await this.writeRegister(l,u),g}async detectFlashSize(){this.logger.log("Detecting Flash Size");let t=await this.flashId(),e=255&t,a=t>>16&255;this.logger.log(`FlashId: ${s(t)}`),this.logger.log(`Flash Manufacturer: ${e.toString(16)}`),this.logger.log(`Flash Device: ${(t>>8&255).toString(16)}${a.toString(16)}`),this.flashSize=r[a],this.logger.log(`Auto-detected Flash size: ${this.flashSize}`)}getEraseSize(t,e){let a=4096,s=Math.floor((e+a-1)/a),i=16-Math.floor(t/a)%16;return s<i&&(i=s),s<2*i?Math.floor((s+1)/2*a):(s-i)*a}async memBegin(t,e,a,s){return await this.checkCommand(5,Me("<IIII",t,e,a,s))}async memBlock(t,e){return await this.checkCommand(7,Me("<IIII",t.length,e,0,0).concat(t),this.checksum(t))}async memFinish(t=0){let e=this.IS_STUB?k:500,a=Me("<II",0==t?1:0,t);return await this.checkCommand(6,a,0,e)}async runStub(t=!1){const e=await E(this.chipFamily,this.chipRevision);if(null===e)return this.logger.log(`Stub flasher is not yet supported on ${this.chipName}, using ROM loader`),this;let a,s=2048;this.logger.log("Uploading stub...");for(let t of["text","data"])if(Object.keys(e).includes(t)){let a=e[t+"_start"],i=e[t].length,r=Math.floor((i+s-1)/s);await this.memBegin(i,r,s,a);for(let a of Array(r).keys()){let r=a*s,n=r+s;n>i&&(n=i),await this.memBlock(e[t].slice(r,n),a)}}await this.memFinish(e.entry);const i=await this.readPacket(500);if(a=String.fromCharCode(...i),"OHAI"!=a)throw new Error("Failed to start stub. Unexpected response: "+a);this.logger.log("Stub is now running...");const r=new He(this.port,this.logger,this);return t||await r.detectFlashSize(),r}async writeToStream(t){const e=this.port.writable.getWriter();await e.write(new Uint8Array(t));try{e.releaseLock()}catch(t){console.error("Ignoring release lock error",t)}}async disconnect(){this._parent?await this._parent.disconnect():(await this.port.writable.getWriter().close(),await new Promise(t=>{this._reader||t(void 0),this.addEventListener("disconnect",t,{once:!0}),this._reader.cancel()}),this.connected=!1)}async reconnect(){if(this._parent)return void await this._parent.reconnect();if(this.logger.log("Reconnecting serial port..."),this.connected=!1,this.__inputBuffer=[],this._reader){try{await this._reader.cancel()}catch(t){this.logger.debug(`Reader cancel error: ${t}`)}this._reader=void 0}await i(x);try{await this.port.close(),this.logger.log("Port closed")}catch(t){this.logger.debug(`Port close error: ${t}`)}await i(x),this.logger.debug("Opening port...");try{await this.port.open({baudRate:n}),this.connected=!0}catch(t){throw new Error(`Failed to open port: ${t}`)}if(await i(x),!this.port.readable||!this.port.writable)throw new Error(`Port streams not available after open (readable: ${!!this.port.readable}, writable: ${!!this.port.writable})`);const t=this.chipFamily,e=this.chipName,a=this.chipRevision,s=this.chipVariant,r=this.flashSize;if(await this.hardReset(!0),this._parent||(this.__inputBuffer=[],this.__totalBytesRead=0,this.readLoop()),await this.flushSerialBuffers(),await this.sync(),this.chipFamily=t,this.chipName=e,this.chipRevision=a,this.chipVariant=s,this.flashSize=r,this.logger.debug(`Reconnect complete (chip: ${this.chipName})`),!this.port.writable||!this.port.readable)throw new Error("Port not ready after reconnect");const h=await this.runStub(!0);if(this.logger.debug("Stub loaded"),this._currentBaudRate!==n&&(await h.setBaudrate(this._currentBaudRate),await i(x),!this.port.writable||!this.port.readable))throw new Error(`Port not ready after baudrate change (readable: ${!!this.port.readable}, writable: ${!!this.port.writable})`);this.IS_STUB&&Object.assign(this,h),this.logger.debug("Reconnection successful")}async flushSerialBuffers(){this._parent||(this.__inputBuffer=[]),await i(x),this._parent||(this.__inputBuffer=[]),await i(200),this._parent||(this.__inputBuffer=[]),this.logger.debug("Serial buffers flushed")}async readFlash(e,a,s){if(!this.IS_STUB)throw new Error("Reading flash is only supported in stub mode. Please run runStub() first.");if(this._totalBytesRead>=4194304){this.logger.log("Reconnecting before new read...");try{await this.reconnect()}catch(t){throw new Error(`Reconnect failed: ${t}`)}}await this.flushSerialBuffers(),this.logger.log(`Reading ${a} bytes from flash at address 0x${e.toString(16)}...`);let i=new Uint8Array(0),r=e,n=a;for(;n>0;){if(i.length>0&&i.length%4194304==0){this.logger.debug(`Read ${i.length} bytes. Reconnecting to clear buffers...`);try{await this.reconnect()}catch(t){throw new Error(`Reconnect failed during read: ${t}`)}}const e=Math.min(65536,n);let h=!1,l=0;const o=3;for(;!h&&l<=o;)try{this.logger.debug(`Reading chunk at 0x${r.toString(16)}, size: 0x${e.toString(16)}`);let a=Me("<IIII",r,e,4096,1024);const[s,n]=await this.checkCommand(210,a);if(0!=s)throw new Error("Failed to read memory: "+s);let l=new Uint8Array(0);for(;l.length<e;){let a;try{a=await this.readPacket(100)}catch(t){if(t instanceof U&&(this.logger.debug(`SLIP read error at ${l.length} bytes: ${t.message}`),l.length>=e))break;throw t}if(a&&a.length>0){const e=new Uint8Array(a),s=new Uint8Array(l.length+e.length);s.set(l),s.set(e,l.length),l=s;const i=Me("<I",l.length),r=t(i);await this.writeToStream(r)}}const o=new Uint8Array(i.length+l.length);o.set(i),o.set(l,i.length),i=o,h=!0}catch(t){if(l++,!(t instanceof U&&t.message.includes("Timed out")))throw t;if(!(l<=o))throw new Error(`Failed to read chunk at 0x${r.toString(16)} after ${o} retries: ${t}`);this.logger.log(`⚠️ Timeout error at 0x${r.toString(16)}. Reconnecting and retrying (attempt ${l}/${o})...`);try{await this.reconnect()}catch(t){throw new Error(`Reconnect failed: ${t}`)}}s&&s(new Uint8Array(e),i.length,a),r+=e,n-=e,this.logger.debug(`Total progress: 0x${i.length.toString(16)}/0x${a.toString(16)} bytes`)}return this.logger.debug(`Successfully read ${i.length} bytes from flash`),i}}class He extends Ze{constructor(){super(...arguments),this.IS_STUB=!0}async memBegin(t,e,a,i){let r=await E(this.chipFamily,this.chipRevision);if(null===r)return;let n=i,h=i+t;console.log(n,h),console.log(r.data_start,r.data.length,r.text_start,r.text.length);for(let[t,e]of[[r.data_start,r.data_start+r.data.length],[r.text_start,r.text_start+r.text.length]])if(n<e&&h>t)throw new Error("Software loader is resident at "+s(t,8)+"-"+s(e,8)+". Can't load binary at overlapping address range "+s(n,8)+"-"+s(h,8)+". Try changing the binary loading address.")}async eraseFlash(){await this.checkCommand(208,[],0,F)}}const Ve=async t=>{const e=await navigator.serial.requestPort();return await e.open({baudRate:n}),t.log("Connected successfully."),new Ze(e,t)};export{d as CHIP_FAMILY_ESP32,u as CHIP_FAMILY_ESP32C2,c as CHIP_FAMILY_ESP32C3,g as CHIP_FAMILY_ESP32C5,m as CHIP_FAMILY_ESP32C6,p as CHIP_FAMILY_ESP32C61,w as CHIP_FAMILY_ESP32H2,b as CHIP_FAMILY_ESP32H21,y as CHIP_FAMILY_ESP32H4,S as CHIP_FAMILY_ESP32P4,f as CHIP_FAMILY_ESP32S2,_ as CHIP_FAMILY_ESP32S3,v as CHIP_FAMILY_ESP32S31,o as CHIP_FAMILY_ESP8266,Ze as ESPLoader,Ve as connect};