tasmota-webserial-esptool 6.3.2 → 6.3.4
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.
- package/dist/const.d.ts +14 -2
- package/dist/const.js +31 -1
- package/dist/esp_loader.js +5 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/stubs/esp32.json +3 -3
- package/dist/stubs/esp32c2.json +3 -3
- package/dist/stubs/esp32c3.json +3 -3
- package/dist/stubs/esp32c5.json +8 -0
- package/dist/stubs/esp32c6.json +3 -3
- package/dist/stubs/esp32h2.json +3 -3
- package/dist/stubs/esp32p4.json +4 -4
- package/dist/stubs/esp32s2.json +3 -3
- package/dist/stubs/esp32s3.json +3 -3
- package/dist/stubs/index.js +4 -1
- package/dist/web/esp32-BNIFdu1P.js +1 -0
- package/dist/web/esp32c2-BqxquOKw.js +1 -0
- package/dist/web/esp32c3-BOOqe8me.js +1 -0
- package/dist/web/esp32c5-C8uE-s4t.js +1 -0
- package/dist/web/esp32c6-Cg5qYgg7.js +1 -0
- package/dist/web/esp32h2-DZa_lpff.js +1 -0
- package/dist/web/esp32p4-DyGqUAeZ.js +1 -0
- package/dist/web/esp32s2-Bk4mqADi.js +1 -0
- package/dist/web/esp32s3-Df3OUCOC.js +1 -0
- package/dist/web/index.js +1 -1
- package/js/modules/esp32-BNIFdu1P.js +1 -0
- package/js/modules/esp32c2-BqxquOKw.js +1 -0
- package/js/modules/esp32c3-BOOqe8me.js +1 -0
- package/js/modules/esp32c5-C8uE-s4t.js +1 -0
- package/js/modules/esp32c6-Cg5qYgg7.js +1 -0
- package/js/modules/esp32h2-DZa_lpff.js +1 -0
- package/js/modules/esp32p4-DyGqUAeZ.js +1 -0
- package/js/modules/esp32s2-Bk4mqADi.js +1 -0
- package/js/modules/esp32s3-Df3OUCOC.js +1 -0
- package/js/modules/esptool.js +1 -1
- package/package.json +1 -1
- package/src/const.ts +33 -1
- package/src/esp_loader.ts +5 -0
- package/src/index.ts +1 -0
- package/src/stubs/esp32.json +3 -3
- package/src/stubs/esp32c2.json +3 -3
- package/src/stubs/esp32c3.json +3 -3
- package/src/stubs/esp32c5.json +3 -3
- package/src/stubs/esp32c6.json +3 -3
- package/src/stubs/esp32c61.json +3 -3
- package/src/stubs/esp32h2.json +3 -3
- package/src/stubs/esp32p4.json +4 -4
- package/src/stubs/esp32s2.json +3 -3
- package/src/stubs/esp32s3.json +3 -3
- package/src/stubs/index.ts +3 -0
- package/dist/web/esp32-BLbsWvxO.js +0 -1
- package/dist/web/esp32c2-wLQhZItC.js +0 -1
- package/dist/web/esp32c3-DmSvHQKL.js +0 -1
- package/dist/web/esp32c6-ZuxjUVr4.js +0 -1
- package/dist/web/esp32h2-CZ4EIL3w.js +0 -1
- package/dist/web/esp32p4-BfUR2V9c.js +0 -1
- package/dist/web/esp32s2-CrsP1231.js +0 -1
- package/dist/web/esp32s3-DAXmGLiC.js +0 -1
- package/js/modules/esp32-BLbsWvxO.js +0 -1
- package/js/modules/esp32c2-wLQhZItC.js +0 -1
- package/js/modules/esp32c3-DmSvHQKL.js +0 -1
- package/js/modules/esp32c6-ZuxjUVr4.js +0 -1
- package/js/modules/esp32h2-CZ4EIL3w.js +0 -1
- package/js/modules/esp32p4-BfUR2V9c.js +0 -1
- package/js/modules/esp32s2-CrsP1231.js +0 -1
- package/js/modules/esp32s3-DAXmGLiC.js +0 -1
package/js/modules/esptool.js
CHANGED
|
@@ -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=t(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),h=33382,l=50,o=12882,_=12883,d=12994,f=12995,u=12998,c=12914,g=12928,w={4293968129:{name:"ESP8266",family:h},15736195:{name:"ESP32",family:l},1990:{name:"ESP32-S2",family:o},9:{name:"ESP32-S3",family:_},1867591791:{name:"ESP32-C2",family:d},2084675695:{name:"ESP32-C2",family:d},203546735:{name:"ESP32-C2",family:d},1763790959:{name:"ESP32-C3",family:f},456216687:{name:"ESP32-C3",family:f},1216438383:{name:"ESP32-C3",family:f},1130455151:{name:"ESP32-C3",family:f},3619110528:{name:"ESP32-H2",family:c},752910447:{name:"ESP32-C6",family:u},182303440:{name:"ESP32-P4",family:g},117676761:{name:"ESP32-P4",family:g},0:{name:"ESP32-P4",family:g}},p=3e3,m=6e5,y=(t,e)=>{let a=Math.floor(t*(e/486));return a<p?p:a},b=t=>{switch(t){case l:return{regBase:1072963584,baseFuse:1073061888,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case o: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 h:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case d:case f:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case u:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case c:return{regBase:1610620928,baseFuse:1610719232,macFuse:1610719300,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case g:return{regBase:1342754816,baseFuse:1343410176,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 v extends Error{constructor(t){super(t),this.name="SlipReadError"}}const k=async e=>{let a;return e==l?a=await import("./esp32-BLbsWvxO.js"):e==o?a=await import("./esp32s2-CrsP1231.js"):e==_?a=await import("./esp32s3-DAXmGLiC.js"):e==h?a=await import("./esp8266-CQFcqJ_a.js"):e==d?a=await import("./esp32c2-wLQhZItC.js"):e==f?a=await import("./esp32c3-DmSvHQKL.js"):e==u?a=await import("./esp32c6-ZuxjUVr4.js"):e==c?a=await import("./esp32h2-CZ4EIL3w.js"):e==g&&(a=await import("./esp32p4-BfUR2V9c.js")),{...a,text:t(atob(a.text)),data:t(atob(a.data))}};function z(t){let e=t.length;for(;--e>=0;)t[e]=0}const S=256,U=286,x=30,F=15,D=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]),R=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]),O=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),I=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),E=new Array(576);z(E);const A=new Array(60);z(A);const B=new Array(512);z(B);const T=new Array(256);z(T);const C=new Array(29);z(C);const L=new Array(x);function Z(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 P,M,N;function $(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}z(L);const H=t=>t<256?B[t]:B[256+(t>>>7)],j=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},V=(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)},W=(t,e,a)=>{V(t,a[2*e],a[2*e+1])},K=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},Y=(t,e,a)=>{const s=new Array(16);let i,r,n=0;for(i=1;i<=F;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]=K(s[e]++,e))}},q=t=>{let e;for(e=0;e<U;e++)t.dyn_ltree[2*e]=0;for(e=0;e<x;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},G=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},X=(t,e,a,s)=>{const i=2*e,r=2*a;return t[i]<t[r]||t[i]===t[r]&&s[e]<=s[a]},Q=(t,e,a)=>{const s=t.heap[a];let i=a<<1;for(;i<=t.heap_len&&(i<t.heap_len&&X(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!X(e,s,t.heap[i],t.depth));)t.heap[a]=t.heap[i],a=i,i<<=1;t.heap[a]=s},J=(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?W(t,i,e):(r=T[i],W(t,r+S+1,e),n=D[r],0!==n&&(i-=C[r],V(t,i,n)),s--,r=H(s),W(t,r,a),n=R[r],0!==n&&(s-=L[r],V(t,s,n)))}while(h<t.sym_next);W(t,256,e)},tt=(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--)Q(t,a,n);l=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Q(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++,Q(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<=F;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),Y(a,o,t.bl_count)},et=(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))},at=(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{W(t,i,t.bl_tree)}while(0!=--h);else 0!==i?(i!==r&&(W(t,i,t.bl_tree),h--),W(t,16,t.bl_tree),V(t,h-3,2)):h<=10?(W(t,17,t.bl_tree),V(t,h-3,3)):(W(t,18,t.bl_tree),V(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 st=!1;const it=(t,e,a,s)=>{V(t,0+(s?1:0),3),G(t),j(t,a),j(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var rt=(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<S;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),tt(t,t.l_desc),tt(t,t.d_desc),n=(t=>{let e;for(et(t,t.dyn_ltree,t.l_desc.max_code),et(t,t.dyn_dtree,t.d_desc.max_code),tt(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*I[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?it(t,e,a,s):4===t.strategy||r===i?(V(t,2+(s?1:0),3),J(t,E,A)):(V(t,4+(s?1:0),3),((t,e,a,s)=>{let i;for(V(t,e-257,5),V(t,a-1,5),V(t,s-4,4),i=0;i<s;i++)V(t,t.bl_tree[2*I[i]+1],3);at(t,t.dyn_ltree,e-1),at(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),J(t,t.dyn_ltree,t.dyn_dtree)),q(t),s&&G(t)},nt={_tr_init:t=>{st||((()=>{let t,e,a,s,i;const r=new Array(16);for(a=0,s=0;s<28;s++)for(C[s]=a,t=0;t<1<<D[s];t++)T[a++]=s;for(T[a-1]=s,i=0,s=0;s<16;s++)for(L[s]=i,t=0;t<1<<R[s];t++)B[i++]=s;for(i>>=7;s<x;s++)for(L[s]=i<<7,t=0;t<1<<R[s]-7;t++)B[256+i++]=s;for(e=0;e<=F;e++)r[e]=0;for(t=0;t<=143;)E[2*t+1]=8,t++,r[8]++;for(;t<=255;)E[2*t+1]=9,t++,r[9]++;for(;t<=279;)E[2*t+1]=7,t++,r[7]++;for(;t<=287;)E[2*t+1]=8,t++,r[8]++;for(Y(E,287,r),t=0;t<x;t++)A[2*t+1]=5,A[2*t]=K(t,5);P=new Z(E,D,257,U,F),M=new Z(A,R,0,x,F),N=new Z(new Array(0),O,0,19,7)})(),st=!0),t.l_desc=new $(t.dyn_ltree,P),t.d_desc=new $(t.dyn_dtree,M),t.bl_desc=new $(t.bl_tree,N),t.bi_buf=0,t.bi_valid=0,q(t)},_tr_stored_block:it,_tr_flush_block:rt,_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*(T[a]+S+1)]++,t.dyn_dtree[2*H(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{V(t,2,3),W(t,256,E),(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 ht=(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 lt=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 ot=(t,e,a,s)=>{const i=lt,r=s+a;t^=-1;for(let a=s;a<r;a++)t=t>>>8^i[255&(t^e[a])];return~t},_t={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"},dt={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:ft,_tr_stored_block:ut,_tr_flush_block:ct,_tr_tally:gt,_tr_align:wt}=nt,{Z_NO_FLUSH:pt,Z_PARTIAL_FLUSH:mt,Z_FULL_FLUSH:yt,Z_FINISH:bt,Z_BLOCK:vt,Z_OK:kt,Z_STREAM_END:zt,Z_STREAM_ERROR:St,Z_DATA_ERROR:Ut,Z_BUF_ERROR:xt,Z_DEFAULT_COMPRESSION:Ft,Z_FILTERED:Dt,Z_HUFFMAN_ONLY:Rt,Z_RLE:Ot,Z_FIXED:It,Z_DEFAULT_STRATEGY:Et,Z_UNKNOWN:At,Z_DEFLATED:Bt}=dt,Tt=258,Ct=262,Lt=42,Zt=113,Pt=666,Mt=(t,e)=>(t.msg=_t[e],e),Nt=t=>2*t-(t>4?9:0),$t=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Ht=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 Vt=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))},Wt=(t,e)=>{ct(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Vt(t.strm)},Kt=(t,e)=>{t.pending_buf[t.pending++]=e},Yt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},qt=(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=ht(t.adler,e,i,a):2===t.state.wrap&&(t.adler=ot(t.adler,e,i,a)),t.next_in+=i,t.total_in+=i,i)},Gt=(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-Ct?t.strstart-(t.w_size-Ct):0,o=t.window,_=t.w_mask,d=t.prev,f=t.strstart+Tt;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=Tt-(f-r),r=f-Tt,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},Xt=t=>{const e=t.w_size;let a,s,i;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Ct)&&(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),Ht(t),s+=e),0===t.strm.avail_in)break;if(a=qt(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<Ct&&0!==t.strm.avail_in)},Qt=(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!==bt||e===pt||a!==s+t.strm.avail_in))break;n=e===bt&&a===s+t.strm.avail_in?1:0,ut(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,Vt(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&&(qt(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!==pt&&e!==bt&&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&&(qt(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===bt)&&e!==pt&&0===t.strm.avail_in&&s<=i)&&(a=s>i?i:s,n=e===bt&&0===t.strm.avail_in&&a===s?1:0,ut(t,t.block_start,a,n),t.block_start+=a,Vt(t.strm)),n?3:1)},Jt=(t,e)=>{let a,s;for(;;){if(t.lookahead<Ct){if(Xt(t),t.lookahead<Ct&&e===pt)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-Ct&&(t.match_length=Gt(t,a)),t.match_length>=3)if(s=gt(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=gt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(Wt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===bt?(Wt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Wt(t,!1),0===t.strm.avail_out)?1:2},te=(t,e)=>{let a,s,i;for(;;){if(t.lookahead<Ct){if(Xt(t),t.lookahead<Ct&&e===pt)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-Ct&&(t.match_length=Gt(t,a),t.match_length<=5&&(t.strategy===Dt||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=gt(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&&(Wt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=gt(t,0,t.window[t.strstart-1]),s&&Wt(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=gt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===bt?(Wt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Wt(t,!1),0===t.strm.avail_out)?1:2};function ee(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 ae=[new ee(0,0,0,0,Qt),new ee(4,4,8,4,Jt),new ee(4,5,16,8,Jt),new ee(4,6,32,32,Jt),new ee(4,4,16,16,te),new ee(8,16,32,32,te),new ee(8,16,128,128,te),new ee(8,32,128,256,te),new ee(32,128,258,1024,te),new ee(32,258,258,4096,te)];function se(){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=Bt,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),$t(this.dyn_ltree),$t(this.dyn_dtree),$t(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),$t(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),$t(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 ie=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Lt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Zt&&e.status!==Pt?1:0},re=t=>{if(ie(t))return Mt(t,St);t.total_in=t.total_out=0,t.data_type=At;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?Lt:Zt,t.adler=2===e.wrap?0:1,e.last_flush=-2,ft(e),kt},ne=t=>{const e=re(t);var a;return e===kt&&((a=t.state).window_size=2*a.w_size,$t(a.head),a.max_lazy_match=ae[a.level].max_lazy,a.good_match=ae[a.level].good_length,a.nice_match=ae[a.level].nice_length,a.max_chain_length=ae[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},he=(t,e,a,s,i,r)=>{if(!t)return St;let n=1;if(e===Ft&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),i<1||i>9||a!==Bt||s<8||s>15||e<0||e>9||r<0||r>It||8===s&&1!==n)return Mt(t,St);8===s&&(s=9);const h=new se;return t.state=h,h.strm=t,h.status=Lt,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,ne(t)};var le={deflateInit:(t,e)=>he(t,e,Bt,15,8,Et),deflateInit2:he,deflateReset:ne,deflateResetKeep:re,deflateSetHeader:(t,e)=>ie(t)||2!==t.state.wrap?St:(t.state.gzhead=e,kt),deflate:(t,e)=>{if(ie(t)||e>vt||e<0)return t?Mt(t,St):St;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===Pt&&e!==bt)return Mt(t,0===t.avail_out?xt:St);const s=a.last_flush;if(a.last_flush=e,0!==a.pending){if(Vt(t),0===t.avail_out)return a.last_flush=-1,kt}else if(0===t.avail_in&&Nt(e)<=Nt(s)&&e!==bt)return Mt(t,xt);if(a.status===Pt&&0!==t.avail_in)return Mt(t,xt);if(a.status===Lt&&0===a.wrap&&(a.status=Zt),a.status===Lt){let e=Bt+(a.w_bits-8<<4)<<8,s=-1;if(s=a.strategy>=Rt||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,Yt(a,e),0!==a.strstart&&(Yt(a,t.adler>>>16),Yt(a,65535&t.adler)),t.adler=1,a.status=Zt,Vt(t),0!==a.pending)return a.last_flush=-1,kt}if(57===a.status)if(t.adler=0,Kt(a,31),Kt(a,139),Kt(a,8),a.gzhead)Kt(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)),Kt(a,255&a.gzhead.time),Kt(a,a.gzhead.time>>8&255),Kt(a,a.gzhead.time>>16&255),Kt(a,a.gzhead.time>>24&255),Kt(a,9===a.level?2:a.strategy>=Rt||a.level<2?4:0),Kt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(Kt(a,255&a.gzhead.extra.length),Kt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=ot(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(Kt(a,0),Kt(a,0),Kt(a,0),Kt(a,0),Kt(a,0),Kt(a,9===a.level?2:a.strategy>=Rt||a.level<2?4:0),Kt(a,3),a.status=Zt,Vt(t),0!==a.pending)return a.last_flush=-1,kt;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=ot(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=i,Vt(t),0!==a.pending)return a.last_flush=-1,kt;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=ot(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=ot(t.adler,a.pending_buf,a.pending-s,s)),Vt(t),0!==a.pending)return a.last_flush=-1,kt;s=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,Kt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=ot(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=ot(t.adler,a.pending_buf,a.pending-s,s)),Vt(t),0!==a.pending)return a.last_flush=-1,kt;s=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,Kt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=ot(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&&(Vt(t),0!==a.pending))return a.last_flush=-1,kt;Kt(a,255&t.adler),Kt(a,t.adler>>8&255),t.adler=0}if(a.status=Zt,Vt(t),0!==a.pending)return a.last_flush=-1,kt}if(0!==t.avail_in||0!==a.lookahead||e!==pt&&a.status!==Pt){let s=0===a.level?Qt(a,e):a.strategy===Rt?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(Xt(t),0===t.lookahead)){if(e===pt)return 1;break}if(t.match_length=0,a=gt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(Wt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===bt?(Wt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Wt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===Ot?((t,e)=>{let a,s,i,r;const n=t.window;for(;;){if(t.lookahead<=Tt){if(Xt(t),t.lookahead<=Tt&&e===pt)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+Tt;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=Tt-(r-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=gt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=gt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(Wt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===bt?(Wt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Wt(t,!1),0===t.strm.avail_out)?1:2})(a,e):ae[a.level].func(a,e);if(3!==s&&4!==s||(a.status=Pt),1===s||3===s)return 0===t.avail_out&&(a.last_flush=-1),kt;if(2===s&&(e===mt?wt(a):e!==vt&&(ut(a,0,0,!1),e===yt&&($t(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),Vt(t),0===t.avail_out))return a.last_flush=-1,kt}return e!==bt?kt:a.wrap<=0?zt:(2===a.wrap?(Kt(a,255&t.adler),Kt(a,t.adler>>8&255),Kt(a,t.adler>>16&255),Kt(a,t.adler>>24&255),Kt(a,255&t.total_in),Kt(a,t.total_in>>8&255),Kt(a,t.total_in>>16&255),Kt(a,t.total_in>>24&255)):(Yt(a,t.adler>>>16),Yt(a,65535&t.adler)),Vt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?kt:zt)},deflateEnd:t=>{if(ie(t))return St;const e=t.state.status;return t.state=null,e===Zt?Mt(t,Ut):kt},deflateSetDictionary:(t,e)=>{let a=e.length;if(ie(t))return St;const s=t.state,i=s.wrap;if(2===i||1===i&&s.status!==Lt||s.lookahead)return St;if(1===i&&(t.adler=ht(t.adler,e,a,0)),s.wrap=0,a>=s.w_size){0===i&&($t(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,Xt(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,Xt(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,kt},deflateInfo:"pako deflate (from Nodeca project)"};const oe=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var _e=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)oe(a,e)&&(t[e]=a[e])}}return t},de=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 fe=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){fe=!1}const ue=new Uint8Array(256);for(let t=0;t<256;t++)ue[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;ue[254]=ue[254]=1;var ce=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 ge=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 we=Object.prototype.toString,{Z_NO_FLUSH:pe,Z_SYNC_FLUSH:me,Z_FULL_FLUSH:ye,Z_FINISH:be,Z_OK:ve,Z_STREAM_END:ke,Z_DEFAULT_COMPRESSION:ze,Z_DEFAULT_STRATEGY:Se,Z_DEFLATED:Ue}=dt;function xe(t){this.options=_e({level:ze,method:Ue,chunkSize:16384,windowBits:15,memLevel:8,strategy:Se},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 ge,this.strm.avail_out=0;let a=le.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==ve)throw new Error(_t[a]);if(e.header&&le.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?ce(e.dictionary):"[object ArrayBuffer]"===we.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=le.deflateSetDictionary(this.strm,t),a!==ve)throw new Error(_t[a]);this._dict_set=!0}}xe.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?be:pe,"string"==typeof t?a.input=ce(t):"[object ArrayBuffer]"===we.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===me||r===ye)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(i=le.deflate(a,r),i===ke)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),i=le.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===ve;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},xe.prototype.onData=function(t){this.chunks.push(t)},xe.prototype.onEnd=function(t){t===ve&&(this.result=de(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Fe={deflate:function(t,e){const a=new xe(e);if(a.push(t,!0),a.err)throw a.msg||_t[a.err];return a.result}};const{deflate:De}=Fe;var Re=De;const Oe={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}},Ie=(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 Oe))throw"Unhandled character '"+t+"' in pack format";let a=Oe[t].bytes,r=new DataView(new ArrayBuffer(a));Oe[t].p.bind(r)(0,e,i);for(let t=0;t<a;t++)s.push(r.getUint8(t))}return s},Ee=(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 Oe))throw"Unhandled character '"+t+"' in unpack format";let r=Oe[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[a+t]);let h=Oe[t].u.bind(n);s.push(h(0,i)),a+=r}return s};class Ae extends EventTarget{constructor(t,e,a){super(),this.port=t,this.logger=e,this._parent=a,this.chipName=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();let t=await this.readRegister(1073745920),e=w[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;let s=b(this.getChipFamily()).macFuse;for(let t=0;t<4;t++)this._efuses[t]=await this.readRegister(s+4*t);this.logger.log(`Chip type ${this.chipName}`)}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==h){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==l)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!=o&&this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g)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=Ie("<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 w=0;if(this.IS_STUB||this.chipFamily==h?w=2:[l,o,_,d,f,u,c,g].includes(this.chipFamily)?w=4:[2,4].includes(n.length)&&(w=n.length),n.length<w)throw new Error("Didn't get enough status bytes");let p=n.slice(-w,n.length);if(n=n.slice(0,-w),this.debug&&(this.logger.debug("status",p),this.logger.debug("value",r),this.logger.debug("data",n)),1==p[0])throw 5==p[1]?new Error("Invalid (unsupported) command "+a(t)):new Error("Command failure error code "+a(p[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})([...Ie("<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 v("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 v("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 v("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 v("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]=Ee("<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==h)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=Ie("<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)}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(),this.logger.log(`Changed baud rate to ${t}`)}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,n);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=p;i?(n=Re(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(),w=i?l:h;for(;w-u>0;)this.debug&&this.logger.log(`Writing at ${a(s+d*g,8)} `),w-u>=g?_=Array.from(new Uint8Array(n,u,g)):(_=Array.from(new Uint8Array(n,u,w-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 "+w+" 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,Ie("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashDeflBlock(t,e,a=3e3){await this.checkCommand(17,Ie("<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&&[l,o,_,d,f,u,c,g].includes(this.chipFamily)&&await this.checkCommand(13,new Array(8).fill(0));let w,m=Math.floor((t+n-1)/n);i=this.chipFamily==h?this.getEraseSize(e,t):t,w=this.IS_STUB?p:y(3e4,t);let b=Date.now();return r=Ie("<IIII",i,m,n,e),this.chipFamily!=l&&this.chipFamily!=o&&this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g||(r=r.concat(Ie("<I",s?1:0))),this.logger.log("Erase size "+i+", blocks "+m+", block size "+a(n,4)+", offset "+a(e,4)+", encrypted "+(s?"yes":"no")),await this.checkCommand(2,r,0,w),0==t||this.IS_STUB||this.logger.log("Took "+(Date.now()-b)+"ms to erase "+m+" bytes"),m}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=y(3e4,l)):(l=h*r,o=p),i=Ie("<IIII",l,n,r,a),await this.checkCommand(16,i,0,o),o}async flashFinish(){let t=Ie("<I",1);await this.checkCommand(4,t)}async flashDeflFinish(){let t=Ie("<I",1);await this.checkCommand(18,t)}getBootloaderOffset(){return b(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=Ie("<IIII",t,e,a,s);i>0&&r.concat(Ie("<IIII",b(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(!(await this.readRegister(t)&e))return}throw Error("SPI command did not complete in time")}async runSpiFlashCommand(t,e,s=0){let i=b(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=Ee("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,Ie("<IIII",t,e,a,s))}async memBlock(t,e){return await this.checkCommand(7,Ie("<IIII",t.length,e,0,0).concat(t),this.checksum(t))}async memFinish(t=0){let e=this.IS_STUB?p:500,a=Ie("<II",0==t?1:0,t);return await this.checkCommand(6,a,0,e)}async runStub(){const t=await k(this.chipFamily);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 Be(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 Be extends Ae{constructor(){super(...arguments),this.IS_STUB=!0}async memBegin(t,e,s,i){let r=await k(this.chipFamily),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,m)}}const Te=async t=>{const e=await navigator.serial.requestPort();return t.log("Connecting..."),await e.open({baudRate:r}),t.log("Connected successfully."),new Ae(e,t)};export{l as CHIP_FAMILY_ESP32,d as CHIP_FAMILY_ESP32C2,f as CHIP_FAMILY_ESP32C3,u as CHIP_FAMILY_ESP32C6,c as CHIP_FAMILY_ESP32H2,g as CHIP_FAMILY_ESP32P4,o as CHIP_FAMILY_ESP32S2,_ as CHIP_FAMILY_ESP32S3,h as CHIP_FAMILY_ESP8266,Ae as ESPLoader,Te as connect};
|
|
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=t(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),h=33382,l=50,o=12882,_=12883,d=12994,f=12995,u=12997,c=12998,g=12914,w=12928,p={4293968129:{name:"ESP8266",family:h},15736195:{name:"ESP32",family:l},1990:{name:"ESP32-S2",family:o},9:{name:"ESP32-S3",family:_},1867591791:{name:"ESP32-C2",family:d},2084675695:{name:"ESP32-C2",family:d},203546735:{name:"ESP32-C2",family:d},1763790959:{name:"ESP32-C3",family:f},456216687:{name:"ESP32-C3",family:f},1216438383:{name:"ESP32-C3",family:f},1130455151:{name:"ESP32-C3",family:f},1607549039:{name:"ESP32-C5",family:u},285294703:{name:"ESP32-C5",family:u},1675706479:{name:"ESP32-C5",family:u},1548751960:{name:"ESP32-C5",family:u},3619110528:{name:"ESP32-H2",family:g},752910447:{name:"ESP32-C6",family:c},182303440:{name:"ESP32-P4",family:w},117676761:{name:"ESP32-P4",family:w},0:{name:"ESP32-P4",family:w}},m=3e3,y=6e5,b=(t,e)=>{let a=Math.floor(t*(e/486));return a<m?m:a},v=t=>{switch(t){case l:return{regBase:1072963584,baseFuse:1073061888,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case o: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 h:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case d:case f:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case u:return{regBase:1610625024,baseFuse:1611352064,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:8192};case c:return{regBase:1610625024,baseFuse:1611335680,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case g: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:1343410176,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 k extends Error{constructor(t){super(t),this.name="SlipReadError"}}const z=async e=>{let a;return e==l?a=await import("./esp32-BNIFdu1P.js"):e==o?a=await import("./esp32s2-Bk4mqADi.js"):e==_?a=await import("./esp32s3-Df3OUCOC.js"):e==h?a=await import("./esp8266-CQFcqJ_a.js"):e==d?a=await import("./esp32c2-BqxquOKw.js"):e==f?a=await import("./esp32c3-BOOqe8me.js"):e==u?a=await import("./esp32c5-C8uE-s4t.js"):e==c?a=await import("./esp32c6-Cg5qYgg7.js"):e==g?a=await import("./esp32h2-DZa_lpff.js"):e==w&&(a=await import("./esp32p4-DyGqUAeZ.js")),{...a,text:t(atob(a.text)),data:t(atob(a.data))}};function S(t){let e=t.length;for(;--e>=0;)t[e]=0}const U=256,F=286,D=30,x=15,R=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]),O=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]),I=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),E=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),A=new Array(576);S(A);const B=new Array(60);S(B);const T=new Array(512);S(T);const C=new Array(256);S(C);const L=new Array(29);S(L);const P=new Array(D);function Z(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 M,N,$;function H(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}S(P);const j=t=>t<256?T[t]:T[256+(t>>>7)],V=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},W=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,V(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)},K=(t,e,a)=>{W(t,a[2*e],a[2*e+1])},Y=(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<=x;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]=Y(s[e]++,e))}},G=t=>{let e;for(e=0;e<F;e++)t.dyn_ltree[2*e]=0;for(e=0;e<D;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},X=t=>{t.bi_valid>8?V(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Q=(t,e,a,s)=>{const i=2*e,r=2*a;return t[i]<t[r]||t[i]===t[r]&&s[e]<=s[a]},J=(t,e,a)=>{const s=t.heap[a];let i=a<<1;for(;i<=t.heap_len&&(i<t.heap_len&&Q(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!Q(e,s,t.heap[i],t.depth));)t.heap[a]=t.heap[i],a=i,i<<=1;t.heap[a]=s},tt=(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?K(t,i,e):(r=C[i],K(t,r+U+1,e),n=R[r],0!==n&&(i-=L[r],W(t,i,n)),s--,r=j(s),K(t,r,a),n=O[r],0!==n&&(s-=P[r],W(t,s,n)))}while(h<t.sym_next);K(t,256,e)},et=(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--)J(t,a,n);l=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],J(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++,J(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<=x;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)},at=(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))},st=(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{K(t,i,t.bl_tree)}while(0!==--h);else 0!==i?(i!==r&&(K(t,i,t.bl_tree),h--),K(t,16,t.bl_tree),W(t,h-3,2)):h<=10?(K(t,17,t.bl_tree),W(t,h-3,3)):(K(t,18,t.bl_tree),W(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 it=!1;const rt=(t,e,a,s)=>{W(t,0+(s?1:0),3),X(t),V(t,a),V(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var nt=(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)),et(t,t.l_desc),et(t,t.d_desc),n=(t=>{let e;for(at(t,t.dyn_ltree,t.l_desc.max_code),at(t,t.dyn_dtree,t.d_desc.max_code),et(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*E[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?rt(t,e,a,s):4===t.strategy||r===i?(W(t,2+(s?1:0),3),tt(t,A,B)):(W(t,4+(s?1:0),3),((t,e,a,s)=>{let i;for(W(t,e-257,5),W(t,a-1,5),W(t,s-4,4),i=0;i<s;i++)W(t,t.bl_tree[2*E[i]+1],3);st(t,t.dyn_ltree,e-1),st(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),tt(t,t.dyn_ltree,t.dyn_dtree)),G(t),s&&X(t)},ht={_tr_init:t=>{it||((()=>{let t,e,a,s,i;const r=new Array(16);for(a=0,s=0;s<28;s++)for(L[s]=a,t=0;t<1<<R[s];t++)C[a++]=s;for(C[a-1]=s,i=0,s=0;s<16;s++)for(P[s]=i,t=0;t<1<<O[s];t++)T[i++]=s;for(i>>=7;s<D;s++)for(P[s]=i<<7,t=0;t<1<<O[s]-7;t++)T[256+i++]=s;for(e=0;e<=x;e++)r[e]=0;for(t=0;t<=143;)A[2*t+1]=8,t++,r[8]++;for(;t<=255;)A[2*t+1]=9,t++,r[9]++;for(;t<=279;)A[2*t+1]=7,t++,r[7]++;for(;t<=287;)A[2*t+1]=8,t++,r[8]++;for(q(A,287,r),t=0;t<D;t++)B[2*t+1]=5,B[2*t]=Y(t,5);M=new Z(A,R,257,F,x),N=new Z(B,O,0,D,x),$=new Z(new Array(0),I,0,19,7)})(),it=!0),t.l_desc=new H(t.dyn_ltree,M),t.d_desc=new H(t.dyn_dtree,N),t.bl_desc=new H(t.bl_tree,$),t.bi_buf=0,t.bi_valid=0,G(t)},_tr_stored_block:rt,_tr_flush_block:nt,_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*(C[a]+U+1)]++,t.dyn_dtree[2*j(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{W(t,2,3),K(t,256,A),(t=>{16===t.bi_valid?(V(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 lt=(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 ot=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 _t=(t,e,a,s)=>{const i=ot,r=s+a;t^=-1;for(let a=s;a<r;a++)t=t>>>8^i[255&(t^e[a])];return-1^t},dt={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"},ft={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:ut,_tr_stored_block:ct,_tr_flush_block:gt,_tr_tally:wt,_tr_align:pt}=ht,{Z_NO_FLUSH:mt,Z_PARTIAL_FLUSH:yt,Z_FULL_FLUSH:bt,Z_FINISH:vt,Z_BLOCK:kt,Z_OK:zt,Z_STREAM_END:St,Z_STREAM_ERROR:Ut,Z_DATA_ERROR:Ft,Z_BUF_ERROR:Dt,Z_DEFAULT_COMPRESSION:xt,Z_FILTERED:Rt,Z_HUFFMAN_ONLY:Ot,Z_RLE:It,Z_FIXED:Et,Z_DEFAULT_STRATEGY:At,Z_UNKNOWN:Bt,Z_DEFLATED:Tt}=ft,Ct=258,Lt=262,Pt=42,Zt=113,Mt=666,Nt=(t,e)=>(t.msg=dt[e],e),$t=t=>2*t-(t>4?9:0),Ht=t=>{let e=t.length;for(;--e>=0;)t[e]=0},jt=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 Vt=(t,e,a)=>(e<<t.hash_shift^a)&t.hash_mask;const Wt=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))},Kt=(t,e)=>{gt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Wt(t.strm)},Yt=(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},Gt=(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=lt(t.adler,e,i,a):2===t.state.wrap&&(t.adler=_t(t.adler,e,i,a)),t.next_in+=i,t.total_in+=i,i)},Xt=(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-Lt?t.strstart-(t.w_size-Lt):0,o=t.window,_=t.w_mask,d=t.prev,f=t.strstart+Ct;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=Ct-(f-r),r=f-Ct,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},Qt=t=>{const e=t.w_size;let a,s,i;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Lt)&&(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),jt(t),s+=e),0===t.strm.avail_in)break;if(a=Gt(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=Vt(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Vt(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<Lt&&0!==t.strm.avail_in)},Jt=(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!==vt||e===mt||a!==s+t.strm.avail_in))break;n=e===vt&&a===s+t.strm.avail_in?1:0,ct(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,Wt(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&&(Gt(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!==mt&&e!==vt&&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&&(Gt(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===vt)&&e!==mt&&0===t.strm.avail_in&&s<=i)&&(a=s>i?i:s,n=e===vt&&0===t.strm.avail_in&&a===s?1:0,ct(t,t.block_start,a,n),t.block_start+=a,Wt(t.strm)),n?3:1)},te=(t,e)=>{let a,s;for(;;){if(t.lookahead<Lt){if(Qt(t),t.lookahead<Lt&&e===mt)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Vt(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-Lt&&(t.match_length=Xt(t,a)),t.match_length>=3)if(s=wt(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=Vt(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=Vt(t,t.ins_h,t.window[t.strstart+1]);else s=wt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(Kt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===vt?(Kt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kt(t,!1),0===t.strm.avail_out)?1:2},ee=(t,e)=>{let a,s,i;for(;;){if(t.lookahead<Lt){if(Qt(t),t.lookahead<Lt&&e===mt)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=Vt(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-Lt&&(t.match_length=Xt(t,a),t.match_length<=5&&(t.strategy===Rt||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=wt(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=Vt(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&&(Kt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=wt(t,0,t.window[t.strstart-1]),s&&Kt(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=wt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===vt?(Kt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kt(t,!1),0===t.strm.avail_out)?1:2};function ae(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 se=[new ae(0,0,0,0,Jt),new ae(4,4,8,4,te),new ae(4,5,16,8,te),new ae(4,6,32,32,te),new ae(4,4,16,16,ee),new ae(8,16,32,32,ee),new ae(8,16,128,128,ee),new ae(8,32,128,256,ee),new ae(32,128,258,1024,ee),new ae(32,258,258,4096,ee)];function ie(){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=Tt,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),Ht(this.dyn_ltree),Ht(this.dyn_dtree),Ht(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),Ht(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Ht(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 re=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Pt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Zt&&e.status!==Mt?1:0},ne=t=>{if(re(t))return Nt(t,Ut);t.total_in=t.total_out=0,t.data_type=Bt;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?Pt:Zt,t.adler=2===e.wrap?0:1,e.last_flush=-2,ut(e),zt},he=t=>{const e=ne(t);var a;return e===zt&&((a=t.state).window_size=2*a.w_size,Ht(a.head),a.max_lazy_match=se[a.level].max_lazy,a.good_match=se[a.level].good_length,a.nice_match=se[a.level].nice_length,a.max_chain_length=se[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},le=(t,e,a,s,i,r)=>{if(!t)return Ut;let n=1;if(e===xt&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),i<1||i>9||a!==Tt||s<8||s>15||e<0||e>9||r<0||r>Et||8===s&&1!==n)return Nt(t,Ut);8===s&&(s=9);const h=new ie;return t.state=h,h.strm=t,h.status=Pt,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,he(t)};var oe={deflateInit:(t,e)=>le(t,e,Tt,15,8,At),deflateInit2:le,deflateReset:he,deflateResetKeep:ne,deflateSetHeader:(t,e)=>re(t)||2!==t.state.wrap?Ut:(t.state.gzhead=e,zt),deflate:(t,e)=>{if(re(t)||e>kt||e<0)return t?Nt(t,Ut):Ut;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===Mt&&e!==vt)return Nt(t,0===t.avail_out?Dt:Ut);const s=a.last_flush;if(a.last_flush=e,0!==a.pending){if(Wt(t),0===t.avail_out)return a.last_flush=-1,zt}else if(0===t.avail_in&&$t(e)<=$t(s)&&e!==vt)return Nt(t,Dt);if(a.status===Mt&&0!==t.avail_in)return Nt(t,Dt);if(a.status===Pt&&0===a.wrap&&(a.status=Zt),a.status===Pt){let e=Tt+(a.w_bits-8<<4)<<8,s=-1;if(s=a.strategy>=Ot||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=Zt,Wt(t),0!==a.pending)return a.last_flush=-1,zt}if(57===a.status)if(t.adler=0,Yt(a,31),Yt(a,139),Yt(a,8),a.gzhead)Yt(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)),Yt(a,255&a.gzhead.time),Yt(a,a.gzhead.time>>8&255),Yt(a,a.gzhead.time>>16&255),Yt(a,a.gzhead.time>>24&255),Yt(a,9===a.level?2:a.strategy>=Ot||a.level<2?4:0),Yt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(Yt(a,255&a.gzhead.extra.length),Yt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=_t(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(Yt(a,0),Yt(a,0),Yt(a,0),Yt(a,0),Yt(a,0),Yt(a,9===a.level?2:a.strategy>=Ot||a.level<2?4:0),Yt(a,3),a.status=Zt,Wt(t),0!==a.pending)return a.last_flush=-1,zt;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=_t(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=i,Wt(t),0!==a.pending)return a.last_flush=-1,zt;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=_t(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=_t(t.adler,a.pending_buf,a.pending-s,s)),Wt(t),0!==a.pending)return a.last_flush=-1,zt;s=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,Yt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=_t(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=_t(t.adler,a.pending_buf,a.pending-s,s)),Wt(t),0!==a.pending)return a.last_flush=-1,zt;s=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,Yt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>s&&(t.adler=_t(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&&(Wt(t),0!==a.pending))return a.last_flush=-1,zt;Yt(a,255&t.adler),Yt(a,t.adler>>8&255),t.adler=0}if(a.status=Zt,Wt(t),0!==a.pending)return a.last_flush=-1,zt}if(0!==t.avail_in||0!==a.lookahead||e!==mt&&a.status!==Mt){let s=0===a.level?Jt(a,e):a.strategy===Ot?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(Qt(t),0===t.lookahead)){if(e===mt)return 1;break}if(t.match_length=0,a=wt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(Kt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===vt?(Kt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===It?((t,e)=>{let a,s,i,r;const n=t.window;for(;;){if(t.lookahead<=Ct){if(Qt(t),t.lookahead<=Ct&&e===mt)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+Ct;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=Ct-(r-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=wt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=wt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(Kt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===vt?(Kt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kt(t,!1),0===t.strm.avail_out)?1:2})(a,e):se[a.level].func(a,e);if(3!==s&&4!==s||(a.status=Mt),1===s||3===s)return 0===t.avail_out&&(a.last_flush=-1),zt;if(2===s&&(e===yt?pt(a):e!==kt&&(ct(a,0,0,!1),e===bt&&(Ht(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),Wt(t),0===t.avail_out))return a.last_flush=-1,zt}return e!==vt?zt:a.wrap<=0?St:(2===a.wrap?(Yt(a,255&t.adler),Yt(a,t.adler>>8&255),Yt(a,t.adler>>16&255),Yt(a,t.adler>>24&255),Yt(a,255&t.total_in),Yt(a,t.total_in>>8&255),Yt(a,t.total_in>>16&255),Yt(a,t.total_in>>24&255)):(qt(a,t.adler>>>16),qt(a,65535&t.adler)),Wt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?zt:St)},deflateEnd:t=>{if(re(t))return Ut;const e=t.state.status;return t.state=null,e===Zt?Nt(t,Ft):zt},deflateSetDictionary:(t,e)=>{let a=e.length;if(re(t))return Ut;const s=t.state,i=s.wrap;if(2===i||1===i&&s.status!==Pt||s.lookahead)return Ut;if(1===i&&(t.adler=lt(t.adler,e,a,0)),s.wrap=0,a>=s.w_size){0===i&&(Ht(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,Qt(s);s.lookahead>=3;){let t=s.strstart,e=s.lookahead-2;do{s.ins_h=Vt(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,Qt(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,zt},deflateInfo:"pako deflate (from Nodeca project)"};const _e=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var de=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)_e(a,e)&&(t[e]=a[e])}}return t},fe=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 ue=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){ue=!1}const ce=new Uint8Array(256);for(let t=0;t<256;t++)ce[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;ce[254]=ce[254]=1;var ge=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 we=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 pe=Object.prototype.toString,{Z_NO_FLUSH:me,Z_SYNC_FLUSH:ye,Z_FULL_FLUSH:be,Z_FINISH:ve,Z_OK:ke,Z_STREAM_END:ze,Z_DEFAULT_COMPRESSION:Se,Z_DEFAULT_STRATEGY:Ue,Z_DEFLATED:Fe}=ft;function De(t){this.options=de({level:Se,method:Fe,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 we,this.strm.avail_out=0;let a=oe.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==ke)throw new Error(dt[a]);if(e.header&&oe.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?ge(e.dictionary):"[object ArrayBuffer]"===pe.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=oe.deflateSetDictionary(this.strm,t),a!==ke)throw new Error(dt[a]);this._dict_set=!0}}De.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?ve:me,"string"==typeof t?a.input=ge(t):"[object ArrayBuffer]"===pe.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===ye||r===be)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(i=oe.deflate(a,r),i===ze)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),i=oe.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===ke;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},De.prototype.onData=function(t){this.chunks.push(t)},De.prototype.onEnd=function(t){t===ke&&(this.result=fe(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var xe={deflate:function(t,e){const a=new De(e);if(a.push(t,!0),a.err)throw a.msg||dt[a.err];return a.result}};const{deflate:Re}=xe;var Oe=Re;const Ie={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}},Ee=(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 Ie))throw"Unhandled character '"+t+"' in pack format";let a=Ie[t].bytes,r=new DataView(new ArrayBuffer(a));Ie[t].p.bind(r)(0,e,i);for(let t=0;t<a;t++)s.push(r.getUint8(t))}return s},Ae=(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 Ie))throw"Unhandled character '"+t+"' in unpack format";let r=Ie[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[a+t]);let h=Ie[t].u.bind(n);s.push(h(0,i)),a+=r}return s};class Be extends EventTarget{constructor(t,e,a){super(),this.port=t,this.logger=e,this._parent=a,this.chipName=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();let t=await this.readRegister(1073745920),e=p[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;let s=v(this.getChipFamily()).macFuse;for(let t=0;t<4;t++)this._efuses[t]=await this.readRegister(s+4*t);this.logger.log(`Chip type ${this.chipName}`)}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==h){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==l)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!=o&&this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&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=Ee("<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 p=0;if(this.IS_STUB||this.chipFamily==h?p=2:[l,o,_,d,f,u,c,g,w].includes(this.chipFamily)?p=4:[2,4].includes(n.length)&&(p=n.length),n.length<p)throw new Error("Didn't get enough status bytes");let m=n.slice(-p,n.length);if(n=n.slice(0,-p),this.debug&&(this.logger.debug("status",m),this.logger.debug("value",r),this.logger.debug("data",n)),1==m[0])throw 5==m[1]?new Error("Invalid (unsupported) command "+a(t)):new Error("Command failure error code "+a(m[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})([...Ee("<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 k("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 k("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 k("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 k("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]=Ae("<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==h)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=Ee("<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)}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(),this.logger.log(`Changed baud rate to ${t}`)}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,n);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=m;i?(n=Oe(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(),w=i?l:h;for(;w-u>0;)this.debug&&this.logger.log(`Writing at ${a(s+d*g,8)} `),w-u>=g?_=Array.from(new Uint8Array(n,u,g)):(_=Array.from(new Uint8Array(n,u,w-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 "+w+" 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,Ee("<IIII",t.length,e,0,0).concat(t),this.checksum(t),a)}async flashDeflBlock(t,e,a=3e3){await this.checkCommand(17,Ee("<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&&[l,o,_,d,f,u,c,g,w].includes(this.chipFamily)&&await this.checkCommand(13,new Array(8).fill(0));let p,y=Math.floor((t+n-1)/n);i=this.chipFamily==h?this.getEraseSize(e,t):t,p=this.IS_STUB?m:b(3e4,t);let v=Date.now();return r=Ee("<IIII",i,y,n,e),this.chipFamily!=l&&this.chipFamily!=o&&this.chipFamily!=_&&this.chipFamily!=d&&this.chipFamily!=f&&this.chipFamily!=u&&this.chipFamily!=c&&this.chipFamily!=g&&this.chipFamily!=w||(r=r.concat(Ee("<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,p),0==t||this.IS_STUB||this.logger.log("Took "+(Date.now()-v)+"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=b(3e4,l)):(l=h*r,o=m),i=Ee("<IIII",l,n,r,a),await this.checkCommand(16,i,0,o),o}async flashFinish(){let t=Ee("<I",1);await this.checkCommand(4,t)}async flashDeflFinish(){let t=Ee("<I",1);await this.checkCommand(18,t)}getBootloaderOffset(){return v(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=Ee("<IIII",t,e,a,s);i>0&&r.concat(Ee("<IIII",v(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=v(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=Ae("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,Ee("<IIII",t,e,a,s))}async memBlock(t,e){return await this.checkCommand(7,Ee("<IIII",t.length,e,0,0).concat(t),this.checksum(t))}async memFinish(t=0){let e=this.IS_STUB?m:500,a=Ee("<II",0==t?1:0,t);return await this.checkCommand(6,a,0,e)}async runStub(){const t=await z(this.chipFamily);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 Te(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 Te extends Be{constructor(){super(...arguments),this.IS_STUB=!0}async memBegin(t,e,s,i){let r=await z(this.chipFamily),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,y)}}const Ce=async t=>{const e=await navigator.serial.requestPort();return t.log("Connecting..."),await e.open({baudRate:r}),t.log("Connected successfully."),new Be(e,t)};export{l as CHIP_FAMILY_ESP32,d as CHIP_FAMILY_ESP32C2,f as CHIP_FAMILY_ESP32C3,u as CHIP_FAMILY_ESP32C5,c as CHIP_FAMILY_ESP32C6,g as CHIP_FAMILY_ESP32H2,w as CHIP_FAMILY_ESP32P4,o as CHIP_FAMILY_ESP32S2,_ as CHIP_FAMILY_ESP32S3,h as CHIP_FAMILY_ESP8266,Be as ESPLoader,Ce as connect};
|
package/package.json
CHANGED
package/src/const.ts
CHANGED
|
@@ -126,6 +126,18 @@ export const ESP32C3_SPI_W0_OFFS = 0x58;
|
|
|
126
126
|
export const ESP32C3_UART_DATE_REG_ADDR = 0x6000007c;
|
|
127
127
|
export const ESP32C3_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
128
128
|
|
|
129
|
+
export const ESP32C5_SPI_REG_BASE = 0x60003000;
|
|
130
|
+
export const ESP32C5_BASEFUSEADDR = 0x600b4800;
|
|
131
|
+
export const ESP32C5_MACFUSEADDR = 0x600b4800 + 0x044;
|
|
132
|
+
export const ESP32C5_SPI_USR_OFFS = 0x18;
|
|
133
|
+
export const ESP32C5_SPI_USR1_OFFS = 0x1c;
|
|
134
|
+
export const ESP32C5_SPI_USR2_OFFS = 0x20;
|
|
135
|
+
export const ESP32C5_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
136
|
+
export const ESP32C5_SPI_MISO_DLEN_OFFS = 0x28;
|
|
137
|
+
export const ESP32C5_SPI_W0_OFFS = 0x58;
|
|
138
|
+
export const ESP32C5_UART_DATE_REG_ADDR = 0x6000007c;
|
|
139
|
+
export const ESP32C5_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
140
|
+
|
|
129
141
|
export const ESP32C6_SPI_REG_BASE = 0x60003000;
|
|
130
142
|
export const ESP32C6_BASEFUSEADDR = 0x600b0800;
|
|
131
143
|
export const ESP32C6_MACFUSEADDR = 0x600b0800 + 0x044;
|
|
@@ -138,7 +150,7 @@ export const ESP32C6_SPI_W0_OFFS = 0x58;
|
|
|
138
150
|
export const ESP32C6_UART_DATE_REG_ADDR = 0x6000007c;
|
|
139
151
|
export const ESP32C6_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
140
152
|
|
|
141
|
-
export const ESP32H2_SPI_REG_BASE =
|
|
153
|
+
export const ESP32H2_SPI_REG_BASE = 0x60003000;
|
|
142
154
|
export const ESP32H2_BASEFUSEADDR = 0x6001a000;
|
|
143
155
|
export const ESP32H2_MACFUSEADDR = 0x6001a000 + 0x044;
|
|
144
156
|
export const ESP32H2_SPI_USR_OFFS = 0x18;
|
|
@@ -187,6 +199,7 @@ export const CHIP_FAMILY_ESP32S2 = 0x3252;
|
|
|
187
199
|
export const CHIP_FAMILY_ESP32S3 = 0x3253;
|
|
188
200
|
export const CHIP_FAMILY_ESP32C2 = 0x32c2;
|
|
189
201
|
export const CHIP_FAMILY_ESP32C3 = 0x32c3;
|
|
202
|
+
export const CHIP_FAMILY_ESP32C5 = 0x32c5;
|
|
190
203
|
export const CHIP_FAMILY_ESP32C6 = 0x32c6;
|
|
191
204
|
export const CHIP_FAMILY_ESP32H2 = 0x3272;
|
|
192
205
|
export const CHIP_FAMILY_ESP32P4 = 0x3280;
|
|
@@ -197,6 +210,7 @@ export type ChipFamily =
|
|
|
197
210
|
| typeof CHIP_FAMILY_ESP32S3
|
|
198
211
|
| typeof CHIP_FAMILY_ESP32C2
|
|
199
212
|
| typeof CHIP_FAMILY_ESP32C3
|
|
213
|
+
| typeof CHIP_FAMILY_ESP32C5
|
|
200
214
|
| typeof CHIP_FAMILY_ESP32C6
|
|
201
215
|
| typeof CHIP_FAMILY_ESP32H2
|
|
202
216
|
| typeof CHIP_FAMILY_ESP32P4;
|
|
@@ -220,6 +234,10 @@ export const CHIP_DETECT_MAGIC_VALUES: ChipInfo = {
|
|
|
220
234
|
0x1b31506f: { name: "ESP32-C3", family: CHIP_FAMILY_ESP32C3 },
|
|
221
235
|
0x4881606f: { name: "ESP32-C3", family: CHIP_FAMILY_ESP32C3 },
|
|
222
236
|
0x4361606f: { name: "ESP32-C3", family: CHIP_FAMILY_ESP32C3 },
|
|
237
|
+
0x5fd1406f: { name: "ESP32-C5", family: CHIP_FAMILY_ESP32C5 },
|
|
238
|
+
0x1101406F: { name: "ESP32-C5", family: CHIP_FAMILY_ESP32C5 },
|
|
239
|
+
0x63E1406F: { name: "ESP32-C5", family: CHIP_FAMILY_ESP32C5 },
|
|
240
|
+
0x5C501458: { name: "ESP32-C5", family: CHIP_FAMILY_ESP32C5 },
|
|
223
241
|
0xd7b73e80: { name: "ESP32-H2", family: CHIP_FAMILY_ESP32H2 },
|
|
224
242
|
0x2ce0806f: { name: "ESP32-C6", family: CHIP_FAMILY_ESP32C6 },
|
|
225
243
|
0x0addbad0: { name: "ESP32-P4", family: CHIP_FAMILY_ESP32P4 },
|
|
@@ -363,6 +381,20 @@ export const getSpiFlashAddresses = (
|
|
|
363
381
|
uartDateReg: ESP32C3_UART_DATE_REG_ADDR,
|
|
364
382
|
flashOffs: ESP32C3_BOOTLOADER_FLASH_OFFSET,
|
|
365
383
|
};
|
|
384
|
+
case CHIP_FAMILY_ESP32C5:
|
|
385
|
+
return {
|
|
386
|
+
regBase: ESP32C5_SPI_REG_BASE,
|
|
387
|
+
baseFuse: ESP32C5_BASEFUSEADDR,
|
|
388
|
+
macFuse: ESP32C5_MACFUSEADDR,
|
|
389
|
+
usrOffs: ESP32C5_SPI_USR_OFFS,
|
|
390
|
+
usr1Offs: ESP32C5_SPI_USR1_OFFS,
|
|
391
|
+
usr2Offs: ESP32C5_SPI_USR2_OFFS,
|
|
392
|
+
mosiDlenOffs: ESP32C5_SPI_MOSI_DLEN_OFFS,
|
|
393
|
+
misoDlenOffs: ESP32C5_SPI_MISO_DLEN_OFFS,
|
|
394
|
+
w0Offs: ESP32C5_SPI_W0_OFFS,
|
|
395
|
+
uartDateReg: ESP32C5_UART_DATE_REG_ADDR,
|
|
396
|
+
flashOffs: ESP32C5_BOOTLOADER_FLASH_OFFSET,
|
|
397
|
+
};
|
|
366
398
|
case CHIP_FAMILY_ESP32C6:
|
|
367
399
|
return {
|
|
368
400
|
regBase: ESP32C6_SPI_REG_BASE,
|
package/src/esp_loader.ts
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
CHIP_FAMILY_ESP32S3,
|
|
5
5
|
CHIP_FAMILY_ESP32C2,
|
|
6
6
|
CHIP_FAMILY_ESP32C3,
|
|
7
|
+
CHIP_FAMILY_ESP32C5,
|
|
7
8
|
CHIP_FAMILY_ESP32C6,
|
|
8
9
|
CHIP_FAMILY_ESP32H2,
|
|
9
10
|
CHIP_FAMILY_ESP32P4,
|
|
@@ -248,6 +249,7 @@ export class ESPLoader extends EventTarget {
|
|
|
248
249
|
this.chipFamily == CHIP_FAMILY_ESP32S3 ||
|
|
249
250
|
this.chipFamily == CHIP_FAMILY_ESP32C2 ||
|
|
250
251
|
this.chipFamily == CHIP_FAMILY_ESP32C3 ||
|
|
252
|
+
this.chipFamily == CHIP_FAMILY_ESP32C5 ||
|
|
251
253
|
this.chipFamily == CHIP_FAMILY_ESP32C6 ||
|
|
252
254
|
this.chipFamily == CHIP_FAMILY_ESP32H2 ||
|
|
253
255
|
this.chipFamily == CHIP_FAMILY_ESP32P4
|
|
@@ -305,6 +307,7 @@ export class ESPLoader extends EventTarget {
|
|
|
305
307
|
CHIP_FAMILY_ESP32S3,
|
|
306
308
|
CHIP_FAMILY_ESP32C2,
|
|
307
309
|
CHIP_FAMILY_ESP32C3,
|
|
310
|
+
CHIP_FAMILY_ESP32C5,
|
|
308
311
|
CHIP_FAMILY_ESP32C6,
|
|
309
312
|
CHIP_FAMILY_ESP32H2,
|
|
310
313
|
CHIP_FAMILY_ESP32P4,
|
|
@@ -740,6 +743,7 @@ export class ESPLoader extends EventTarget {
|
|
|
740
743
|
CHIP_FAMILY_ESP32S3,
|
|
741
744
|
CHIP_FAMILY_ESP32C2,
|
|
742
745
|
CHIP_FAMILY_ESP32C3,
|
|
746
|
+
CHIP_FAMILY_ESP32C5,
|
|
743
747
|
CHIP_FAMILY_ESP32C6,
|
|
744
748
|
CHIP_FAMILY_ESP32H2,
|
|
745
749
|
CHIP_FAMILY_ESP32P4,
|
|
@@ -769,6 +773,7 @@ export class ESPLoader extends EventTarget {
|
|
|
769
773
|
this.chipFamily == CHIP_FAMILY_ESP32S3 ||
|
|
770
774
|
this.chipFamily == CHIP_FAMILY_ESP32C2 ||
|
|
771
775
|
this.chipFamily == CHIP_FAMILY_ESP32C3 ||
|
|
776
|
+
this.chipFamily == CHIP_FAMILY_ESP32C5 ||
|
|
772
777
|
this.chipFamily == CHIP_FAMILY_ESP32C6 ||
|
|
773
778
|
this.chipFamily == CHIP_FAMILY_ESP32H2 ||
|
|
774
779
|
this.chipFamily == CHIP_FAMILY_ESP32P4
|
package/src/index.ts
CHANGED
package/src/stubs/esp32.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"entry":
|
|
3
|
-
"text": "CAD0PxwA9D8AAPQ/
|
|
2
|
+
"entry": 1074521568,
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1074520064,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "DMD8P93nC0Bz6AtAK+0LQPXoC0CW6AtA9egLQE7pC0BT6gtAyeoLQG7qC0CJ5wtA/+kLQEjqC0Bs6QtA6uoLQJTpC0Dq6gtAaugLQLvoC0D16AtATukLQHzoC0Cc6wtA7+wLQKrmC0AP7QtAquYLQKrmC0Cq5gtAquYLQKrmC0Cq5gtAquYLQKrmC0BL6wtAquYLQB7sC0Dv7AtA",
|
|
6
6
|
"data_start": 1073605544,
|
|
7
7
|
"bss_start": 1073528832
|
|
8
8
|
}
|
package/src/stubs/esp32c2.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"entry":
|
|
3
|
-
"text": "ARG3BwBgTsaDqYcASsg3Sco/
|
|
2
|
+
"entry": 1077413160,
|
|
3
|
+
"text": "ARG3BwBgTsaDqYcASsg3Sco/JspSxAbOIsyThMcBPooTCQkAgEATdPQ/GcgDJQoAgycJAH0UE3X1D4KXZfjdt/JAYkS3BwBgI6g3AdJEQkmySSJKBWGCgJMHAAyQQSqHYxj1AIVHBcYjoAUAeVWCgIVGYwfWAAlFYw2mAH1VgoBCBZMHsA1BhWMT9wKJR5zB9bcTBsANYxXHAJTBPoWCgJMH0A3jHPf8lMETBbANgoC3dcs/QRGThQW6BsZxP2NNBQS3d8s/k4eHsQOnBwiD1kcIE4YWACOSxwg2lyMApwAD10cIkWeThwcEYxr3Ajf3yj8TB4exoWe6lwOmBwi3Nss/k4aGtWMf5gAjpscII6DXCCOSBwghoPlX4wr1/LJAQQGCgCOm1wgjoOcI3bc3JwBgEwdHBRxDnYv1/zc3AGATB0cFHEOdi/X/goBBEQbG+T83JwBgtwYACCMmBwKTB8cCFMMUQ/3+iEOyQBNF9f8FiUEBgoBBEQbGyT993bcnAGA3BwBAmMOYQ33/skBBAYKAQREmwrfEyj+ThMQASsADqQQBBsYixGMJCQRFNzHFvUcBRGPWJwGARH2MEzQUAF0/tTeYRLcHAAE+hpMWxwAZwDcGgAD9F/WPtyYAYNzCkMKcQv3/kwf0/8WbwQczCflAPpcjqCQBmMSyQCJEkkQCSUEBgoBBEQbGEwcADGMQ5QITBbANlwDI/+eAIOQTBcANskBBARcDyP9nACPjEwewDeMY5f6XAMj/54Ag4hMF0A3Ft0ERIsQmwgbGKoSzBLUAYxeUALJAIkSSREEBgoADRQQABQRFN+23EwUADBcDyP9nAKPedXEixSbD0twGx0rBzt4TAQGAEwEBgKqEKAguhAVqlzDI/+eAAJUV5CAAooUoCJcwyP/ngICUIoXBRVE/AUWFYhaRukAqRJpECkn2WWZaSWGCgCKJY3OKAAVpSoaMGCaFlwDI/+eAYOYTdfUPAe1KhowYKAiXMMj/54Dgj8qUMwQkQVW3EwUwBl2/NXEizU7HUsVWw97eBs8my0rJWsETAQGAEwEBgKqJEwUAAi6Ksoq2iwLClwDI/+eAoEyFZ4AYY+5XDSgIlzDI/+eAgIoBSQMrRPljYmkLY2FLA3GoGT+mhSKF7TU5NyaGooUoCJcwyP/ngECIppkmmWN1SQOzB2lBY/F3A7MEKkFj85oA1oQmhqKFToWXAMj/54AA2xN19Q9V3SMsBPiBRHlbowkE+BMFMQCXAMj/54Bgy3X5A0U0+SwAeTmTFwUBY8IHApO3RACRz4Vnk4cHB6aXipeThweAk4cHgCOKp/iFBMG34x9l+5FH44709CAAooUoCJcgyP/ngIB/vTUihcFFiTWdNRMFAAKXAMj/54DgPoViFpH6QGpE2kRKSbpJKkqaSgpL9lsNYYKAAREGzv05NwXOP2wAURWXAMj/54Bg06qHBUWd57JHk/cHID7GHTO3JwBgmEe3BkAANwXOP1WPmMeyRVEVlwDI/+eAwNAzNaAA8kAFYYKAQRG3x8o/BsaTh8cABUcjgOcAE9fFAJjHBWd9F8zDyMf5jTqVqpWxgYzLI6oHAFE3GcETBVAMskBBAYKAAREizDfEyj8TBMQAJspERAbOSshOxmPzlQCuhLHAAylEAKqJJpkTWckAHEhjVfAAHERjXvkChTF93UhAJobOhZcAyP/ngCDEE3X1DwHFkwdADFzIXECml1zAXESFj1zE8kBiRNJEQkmySQVhgoC9MW2/t1dBSRlxk4f3hAFFPs6G3qLcptrK2M7W0tTW0trQ3s7izObK6sjuxpcAyP/ngIC2t0fKPzd3yz+ThwcAEweHumPs5xL9OZFFaAjJOd05t/fKP5OHh7Ghab6ZI6D5CDdJyj+3BzhAtwU4QAFGk4cHC5OFBQATCQkAFUUjIPkAlwDI/+eAoCS3BwBg2EcTBQACt8TKPxNnFxDYx5cAyP/ngGAjt0cAYIhfgUWThMQAcYlhFRM1FQCXAMj/54CguUFmkwf2/xMHABCFZrcFAAEBRbd6yz8NapcAyP/ngOC0k4qKwCaag6fJCPXfA6vJCIVHI6YJCCMC8QKDRxsACUcjE+ECowLxAgLUTUdji+cGUUdjiecGKUdjn+cAg0c7AANHKwCiB9mPEUdjlucAgyeLAJxDPtQ5MaFFSBDNNoNHOwADRysAogfZjxFnQQdjfvcCEwWwDZcAyP/ngMCdEwXADZcAyP/ngACdEwXgDpcAyP/ngECc+Ta9tyOgBwCRB8m1yUcjE/ECfbcDRxsA0UZj5+YChUZj5uYAgUsTBPAPGaR5FxN39w/JRuPo5v63dss/CgeThsa6NpcYQwKHkwYHA5P29g8RRuNp1vwTB/cCE3f3D41GY+LmBrd2yz8KB5OGhr82lxhDAocTB0ACY5rnDgLUHUQBRZcAyP/ngKCTAUX5PIE2PT6hRUgQfRQBPn3wgUsBREGqietwEIFFAUWXAMj/54CglgHFBUSBS6Wq0UVoEO00AUTVvwVE5fuXAMj/54DAmjM0oADNtyFH457n/IMriwADJMsAs+eLANIH6fdVMaKbcfEZxDOFi0CTFwUBwYOB60FsY2GMAhXoMzSAAG23MYGXAMj/54BAmBXtEwQEgBMEBIDBvzOFi0BBgZcAyP/ngOCWBeUzBIRB6bczhYtAMYGXAMj/54BAlQHtEwQEgBMEBIBVvxMEUANFvxMEYANttxMEcANVtyFH44rn8oFLEwQADH2oQUfNv0FHBUTjnefygyXLAAMliwCJPJm3QUcFROOT5/IDJwsBkWdj4uckgyVLAQMliwAlOSW3QUcFROOU5/CDJwsBEWdjY/ciAyfLAIMlSwEDJYsAM4TnAgk5t8fKP5OHxwANZyOsBwC6lyOkh7D9tTfHyj8TB8cAg0YHAGOGBhiDJosAwRcTBAAMY5P2AEBLAUeTBvAOY073BINHWwADR0sAgUuiB9mPA0drAEIHXY+DR3sA4gfZj2Od9hoTdfQPHToT9fsPBTpJOuMZBNKDRxsASUdjavcaCUfjcffS9ReT9/cPPUfja/fQigfWl5xDgoczBusAA0aGAQUHsY5hv7fHyj+Th8cAA8cHAHXP2EdjFAcWwEsjgAcAJbVhR2OW5wKDJ8sBAyeLAYMmSwEDJgsBgyXLAAMliwCXAMj/54AggKqLMzSgAJW/gUsFRL23EUcFROOX5963lgBguELld/0XBWZ9j1GPAyWLALjCt5YAYLhGgUV9j1GPuMa3lgBg+EJ9j1GP+MK3lgBg2F75j9GP3N6X8Mf/54BAfUW7E/f3AOMbB+QT3EcAEwSLAIFL/Vzj+4vXSESX8Mf/54DAZxhEVEAQQPmOYweXARxCE0f3/32P2Y4UwoULQQTZvxFHEb1BRwVE457n1IMniwADJ0sBIyT5ACMi6QCJuwMnSQAThgf/EecBzoFLEwRgDH21gyaJAGPmxgaNi+OfB9yDJokAgUWBR2PrxwDjjwXOnY4+lyMk2QAjIukA/bGzBfsAiE2zBfcAkQeIwYVF6b8hRwVE45jnzgMkiQAZwBMEgAwjJAkAIyIJADWzgUsTBCAMsbUTBBAMmbWBSxMEgAw9vYFLEwSQDB29EwcgDWOD5wwTB0AN45TntgNEOwCDRysAIgRdjJfwx//ngEBlg6vEAEEUY3N0AaKL44ILtMBAYQtelDGAnEhjVfAAnERjWfQK7/DP5nXdyEBehtqFl/DH/+eAQGEBxZMHQAzcyNxA3pfcwNxEs4d3QdzEl/DH/+eAIGDtvAllEwUFcYMrywADJIsAl/DH/+eAIFK3BwBg2Eu3BgABwRaTV0cBEgd1j72L2Y+zh3cDAUWz1YcCl/DH/+eAwFITBYA+l/DH/+eAwE51tIMmSwEDJgsBgyXLAAMliwDv8O/4WbyDRTsAg0crABMFiwGiBd2NwRU1MkG07/BP4Im3A0Q7AINHKwAiBF2M3ERBFIHnkzdUAI3Lt33LPzfMyj83Tco/YQuFS5ONjboTDMwAkwzNAAnE3ESZw2NLcAFj0wsIkwdwDBmgkweQDNzILbQDKIqwA6cNACLQMzgEAQYIswfsQAUIOsY+1kLE7/Av2TJHIkg3xco/2oV8EOaGEBATBUUCl/DH/+eAQE2CVwMnirCDpQ0AHYwdjz6bslcjJOqwqou+lSOgvQCzhZVBAcXhd66XwfMTBc0A7/CfhiOgnQGNv+OaC5rcROOHB5qTB4AMrb+DJ4sA45AHmgFFl/DH/+eA4D8JZRMFBXGX8Mf/54BAPJfwx//ngABAtboDJMsA4wsElgFFl/DH/+eAQD0TBYA+l/DH/+eAwDkClKm69lBmVNZURlm2WSZalloGW/ZLZkzWTEZNtk0JYYKAAAA=",
|
|
4
4
|
"text_start": 1077411840,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "DEDKPygIOECACDhAEAk4QPIJOEBeCjhADAo4QBAHOECuCThA7gk4QCwJOEDABjhAYAk4QMAGOEACCDhARgg4QIAIOEAQCThAFAg4QD4HOEByBzhAEAg4QLQMOECACDhAeAs4QGgMOEAMBjhAkgw4QAwGOEAMBjhADAY4QAwGOEAMBjhADAY4QAwGOEAMBjhAFAs4QAwGOECUCzhAaAw4QA==",
|
|
6
6
|
"data_start": 1070295976,
|
|
7
7
|
"bss_start": 1070219264
|
|
8
8
|
}
|
package/src/stubs/esp32c3.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"entry":
|
|
3
|
-
"text": "
|
|
2
|
+
"entry": 1077413408,
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1077411840,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "GEDIP+gJOEBECjhA1Ao4QLYLOEAiDDhA0As4QLwIOEByCzhAsgs4QPAKOEBsCDhAJAs4QGwIOEDCCThACAo4QEQKOEDUCjhA1Ak4QOQIOEAwCThA0Ak4QHYOOEBECjhAPA04QC4OOECsBzhAVg44QKwHOECsBzhArAc4QKwHOECsBzhArAc4QKwHOECsBzhA2Aw4QKwHOEBaDThALg44QA==",
|
|
6
6
|
"data_start": 1070164916,
|
|
7
7
|
"bss_start": 1070088192
|
|
8
8
|
}
|
package/src/stubs/esp32c5.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"entry":
|
|
3
|
-
"text": "
|
|
2
|
+
"entry": 1082131984,
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1082130432,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "FACEQJAJgEDsCYBAfAqAQF4LgEDKC4BAeAuAQH4IgEAaC4BAWguAQJgKgEAuCIBAzAqAQC4IgEBqCYBAsAmAQOwJgEB8CoBAfAmAQKYIgEDaCIBAeAmAQB4OgEDsCYBA5AyAQNYNgEBuB4BA/g2AQG4HgEBuB4BAbgeAQG4HgEBuB4BAbgeAQG4HgEBuB4BAgAyAQG4HgEACDYBA1g2AQA==",
|
|
6
6
|
"data_start": 1082469296,
|
|
7
7
|
"bss_start": 1082392576
|
|
8
8
|
}
|
package/src/stubs/esp32c6.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"entry":
|
|
3
|
-
"text": "
|
|
2
|
+
"entry": 1082131984,
|
|
3
|
+
"text": "QRG39wBgIsQmwkrAEUcGxrcEhEDYyz6JM4TnAJOEBAAcQJGLmeeyQCJEkkQCSUEBgoADJQkAnEATdfUPgpfNtwERtwcAYE7Gg6mHAErINwmEQCbKUsQGziLMk4THAT6KEwkJAIBAE3T0DxnIAyUKAIMnCQB9FBN19Q+Cl2X43bfyQGJEtwcAYCOoNwHSREJJskkiSgVhgoCTBwAMkEEqh2MY9QCFRwXGI6AFAHlVgoCFRmMH1gAJRWMNpgB9VYKAQgWTB7ANQYVjE/cCiUecwfW3EwbADWMVxwCUwT6FgoCTB9AN4xz3/JTBEwWwDYKAtzWFQEERk4WFugbGcT9jTQUEtzeFQJOHB7IDpwcIg9ZHCBOGFgAjkscINpcjAKcAA9dHCJFnk4cHBGMa9wI3t4RAEwcHsqFnupcDpgcIt/aEQJOGBrZjH+YAI6bHCCOg1wgjkgcIIaD5V+MK9fyyQEEBgoAjptcII6DnCN23NzcAYBMHRwUcQ52L9f83JwBgEwdHBRxDnYv1/4KAQREGxvk/NzcAYLcGAAgjJgcCkwfHAhTDFEP9/ohDskATRfX/BYlBAYKAQREGxsk/fd23NwBgNwcAQJjDmEN9/7JAQQGCgEERJsK3hIRAk4REAUrAA6kEAQbGIsRjCQkERTcxxb1HAURj1icBgER9jBM0FABdP7U3mES3BwABPoaTFscAGcA3BoAA/Rf1j7c2AGDcwpDCnEL9/5MH9P/Fm8EHMwn5QD6XI6gkAZjEskAiRJJEAklBAYKAAREGzhU3NwXOP2wAURWXAID/54AA86qHBUWd57JHk/cHID7GsTe3NwBgmEe3BkAANwXOP1WPmMeyRVEVlwCA/+eAYPAzNaAA8kAFYYKAQRG3h4RABsaTh0cBBUcjgOcAE9fFAJjHBWd9F8zDyMf5jTqVqpWxgYzLI6oHAFE3GcETBVAMskBBAYKAAREizDeEhEATBEQBJspERAbOSshOxmPzlQCuhLHAAylEAKqJJpkTWckAHEhjVfAAHERjXvkCWTV93UhAJobOhZcAgP/ngMDjE3X1DwHFkwdADFzIXECml1zAXESFj1zE8kBiRNJEQkmySQVhgoBRPW2/QREGxpcAgP/ngODWA0WFAbJAdRUTNRUAQQGCgEERBsbFNw3FtweEQJOHBwDUQ5nON2cJYBMHBxEcQzcG/f99FvGPNwYDAPGO1Y8cw7JAQQGCgEERBsZtNxHBDUWyQEEBFwOA/2cAI81BEQbGJsIixKqElwCA/+eAgMpZNw3FNwSEQBMEBACDV4QAhQfCB8GDIxT0AJO39wOBx5OHBPSB500/IxQEALJAIkSSREEBgoBBEQbGEwcADGMa5QATBbANZTcTBcANskBBAXm/EwewDeMb5f5RPxMF0A31t0ERIsQmwgbGKoSzBLUAYxeUALJAIkSSREEBgoADRQQABQRNP+23dXEixSbD0twGx0rBzt4TAQGAEwEBgKqEKAguhAVqlwCA/+eAoC4N5CgALAiXAID/54BALigAwUVNNwFFhWIWkbpAKkSaRApJ9llmWklhgoAiiWNzigAFaUqGjBgmhZcAgP/ngODKE3X1DwHtSoaMGCgIlwCA/+eAoCnKlDMEJEFdtxMFMAZdvxMFAAzpvTVxIs1Ox1LFVsPe3gbPJstKyVrBEwEBgBMBAYCqiS6Ksoq2iwLCqTWAGLcHAgAZ4ZMHAAI+hZcAgP/ngIAjhWdj4lcPKAiXAID/54BAIwFJAytE+WNiaQtjYUsDcahxP6aFIoXlNVE/JoaihSgIlwCA/+eAACGmmSaZY3VJA7MHaUFj8XcDswQqQWPzmgDWhCaGooVOhZcAgP/ngIC+E3X1D1XdIywE+IFEeVujCQT4EwUxAJcAgP/ngKCtdfkDRTT5LAAJNpMXBQFjwgcCk7dEAJHPhWeThwcHppeKl5OHB4CThweAI4qn+IUEwbfjH2X7kUfjjvT0KAAsCJcAgP/ngGAY3T3BRSgAiTX9NY0zkwcAAhnBtwcCAD6FlwCA/+eAYBWFYhaR+kBqRNpESkm6SSpKmkoKS/ZbDWGCgLdXQUkZcZOH94QBRYbeotym2srYztbS1NbS2tDezuLM5srqyO7GPs6XAID/54DAqAkzDcE3ZwlgEwcHERxDtwaEQCOi9gC3Bv3//Rb1j8Fm1Y8cw/k5Bc23JwtgN0fYUJOHh8ETBxeqmMO3JgtgI6AGwCOgBwCThwbCmMMTh8bBFEM3BgQA0Y4UwyOgBwC3B4RANzeFQJOHBwATBwe7IaAjoAcAkQfj7ef+CT2RRWgIuTspNbe3hECThweyoWm+mSOg+Qg3CYRAtweAQBMJCQCThwcPIyD5AKk5YwQFELcHAWBFRSOgpwyFRZcAgP/ngOABtwWAQAFGk4UFAEVFlwCA/+eA4AK39wBgEUeYyzcFAgCXAID/54AgArcXCWCIX4FFt4SEQHGJYRUTNRUAlwCA/+eA4KlBZpMH9v8TBwAQhWa3BQABAUWThEQBtzqFQA1qlwCA/+eA4J+TigrBJpqDp8kI9d8Dq8kIhUcjpgkIIwLxAoNHGwAJRyMT4QKjAvECAtRNR2OB5whRR2OP5wYpR2Of5wCDRzsAA0crAKIH2Y8RR2OW5wCDJ4sAnEM+1DEzoUVIEKE5g0c7AANHKwCiB9mPEWdBB2N09wQTBbAN6TYTBcAN0TYTBeAOfT75OUG3twWAQAFGk4UFBBVFlwCA/+eA4PO3BwBg2EcTBQACE2cXENjHMbfJRyMT8QJNtwNHGwDRRmPn5gKFRmPm5gCBSxME8A8RpHkXE3f3D8lG4+jm/rc2hUAKB5OGRrs2lxhDAoeTBgcDk/b2DxFG42nW/BMH9wITd/cPjUZj7+YEtzaFQAoHk4YGwDaXGEMChxMHQAJjl+cOAtQdRAFFMT4BRYU2JTkdOaFFSBB9FEE2dfSBSwFEUaqJ63AQgUUBRZcAgP/ngMCAAcUFRIFLtarRRWgQqT4BRNW/BUTl+5cAgP/ngGCFMzSgAM23IUfjnuf8gyuLAAMkywCz54sA0gfp95E6optx8RnEM4WLQJMXBQHBg4HrQWxjYYwCFegzNIAAbbcxgZcAgP/ngOCCFe0TBASAEwQEgMG/M4WLQEGBlwCA/+eAgIEF5TMEhEHptzOFi0AxgZfwf//ngOB/Ae0TBASAEwQEgFW/EwRQA0W/EwRgA223EwRwA1W3IUfjiufygUsTBAAMyaBBR82/QUcFROOd5/KDJcsAAyWLAF08mbdBRwVE45Pn8gMnCwGRZ2Pk5ySDJUsBAyWLAO/wn44dt0FHBUTjk+fwgycLARFnY2T3IgMnywCDJUsBAyWLADOE5wLv8B+Mt4eEQJOHRwENZyOsBwC6lyOkh7DttTeHhEATB0cBg0YHAGOGBhiDJosAwRcTBAAMY5P2AEBLAUeTBvAOY073BINHWwADR0sAgUuiB9mPA0drAEIHXY+DR3sA4gfZj2Od9hoTdfQPVToT9fsPfTJZNOMUBNKDRxsASUdjavcaCUfjfPfQ9ReT9/cPPUfjZvfQigfWl5xDgoczBusAA0aGAQUHsY5hv7eHhECTh0cBA8cHAHXP2EdjFAcWwEsjgAcAFbVhR2OW5wKDJ8sBAyeLAYMmSwEDJgsBgyXLAAMliwCX8H//54CAaqqLMzSgAJW/gUsFRL23EUcFROOV5963lgBguF7ld/0XBWZ9j1GPAyWLALjet5YAYLhWgUV9j1GPuNa3lgBg+F59j1GP+N63lgBg+FL5j9GP/NKX8H//54CgbHWzE/f3AOMZB+QT3EcAEwSLAIFL/Vzj+YvXSESX8H//54CgUBhEVEAQQPmOYweXARxCE0f3/32P2Y4UwoULQQTZvxFHAb1BRwVE45zn1IMniwADJ0sBIyj5ACMm6QC5swMnyQAThgf/EecBzoFLEwRgDH21gyYJAWPmxgaNi+OdB9yDJgkBgUWBR2PrxwDjjQXOnY4+lyMo2QAjJukA7bGzBfsAiE2zBfcAkQeIwYVF6b8hRwVE45bnzgMkCQEZwBMEgAwjKAkAIyYJACWzgUsTBCAMsbUTBBAMmbWBSxMEgAw9vYFLEwSQDB29EwcgDWOD5wwTB0AN45/ntANEOwCDRysAIgRdjJfwf//ngKBPg6vEAEEUY3N0AaKL440LssBAYQtelDGAnEhjVfAAnERjWvQK7/Dv03XdyEBehtqFl/B//+eAoEsBxZMHQAzcyNxA3pfcwNxEs4d3QdzEl/B//+eAgErFvAllEwUFcYMrywADJIsAl/B//+eAADu3BwBg2Eu3BgABwRaTV0cBEgd1j72L2Y+zh3cDAUWz1YcCl/B//+eAIDwTBYA+l/B//+eAoDdNtIMmSwEDJgsBgyXLAAMliwDv8C//cbSDRTsAg0crABMFiwGiBd2NwRXv8I/dlbzv8E/NgbcDRDsAg0crACIEXYzcREEUgeeTN1QAjcu3PYVAN4yEQDcNhEBhC4VLk40NuxMMTAGTDE0BCcTcRJnDY0twAWPTCwiTB3AMGaCTB5AM3Mg5vAMoirADpw0AItAzOAQBBgizB+xABQg6xj7WQsTv8C/GMkciSDeFhEDahXwQ5oYQEBMFxQKX8H//54AAN4JXAyeKsIOlDQAdjB2PPpuyVyMk6rCqi76VI6C9AOF3s4WVQa6XkcNB8RMFTQHv8C/RI6CdAY2/45QLmtxE44EHmpMHgAytv4MniwDjmgeY7/BP2wllEwUFcZfwf//ngGAl7/DP1pfwf//ngKApjboDJMsA4wYElu/wz9gTBYA+l/B//+eAACPv8G/UApSJuu/w79P2UGZU1lRGWbZZJlqWWgZb9ktmTNZMRk22TQlhgoAAAA==",
|
|
4
4
|
"text_start": 1082130432,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "FACEQJIJgEDuCYBAfgqAQGALgEDMC4BAeguAQIAIgEAcC4BAXAuAQJoKgEAwCIBAzgqAQDAIgEBsCYBAsgmAQO4JgEB+CoBAfgmAQKgIgEDcCIBAegmAQCAOgEDuCYBA5gyAQNgNgEBwB4BAAA6AQHAHgEBwB4BAcAeAQHAHgEBwB4BAcAeAQHAHgEBwB4BAggyAQHAHgEAEDYBA2A2AQA==",
|
|
6
6
|
"data_start": 1082469296,
|
|
7
7
|
"bss_start": 1082392576
|
|
8
8
|
}
|